Các chuẩn mạng không dây hiện đại

Một phần của tài liệu Xây dựng ứng dụng truyền video trên thiết bị cầm tay (PDA) qua môi trường mạng không dây (Trang 84)

Ngày nay, công nghệ mạng không dây đã phát triển thành chuẩn 802.1x[4], một số chuẩn WIFI - 802.11 và đặc điểm kỹ thuật của nó nhƣ sau:

Bảng 2: Các chuẩn mạng không dây hiện đại

Chuẩn IEEE Tốc độ Giải tần Chú thích 802.11

1 Mbps

2.4 GHz

Chuẩn đầu tiên năm 1997. Đặc điểm gồm cả lựa chọn giải tần (frequency hopping) và mã hoã tuần tự trực tiếp (direct- sequence modulation)

2 Mbps

802.11a Lên tới

54 Mbps 5 GHz

Chuẩn thứ hai 1999, nhƣng sản phẩm theo chuẩn này không đƣợc đƣa ra cho đến cuối năm 2000.

802.11b 5.5 Mbps 2.4 GHz Chuẩn thứ 3, là chuẩn thiết bị phổ biến nhất hiện nay.

11 Mbps 802.11g Lên tới

54 Mbps 2.4 GHz

Đã đƣợc chuẩn hoá và đang đƣợc sử dụng đồng thời với 802.11b

Trong bảng trên, chuẩn IEEE 802.11b và chuẩn 802.11g đang đƣợc sử dụng phổ biến trong các mạng không dây, các điểm truy nhập không dây thƣờng hỗ trợ cả hai chuẩn này.

Các thiết bị di động nhƣ điện thoại di động, máy tính xách tay và kể cả máy tính để bàn cũng có thể kết nối không dây sử dụng công nghệ bluetooth – IEEE 802.15, công nghệ này rất phổ biến trong các máy điện thoại di động, các thiết bị hỗ trợ kỹ thuật số cá nhân (PDA), nó hỗ trợ kết nối trực tiếp dễ dàng và nhanh chóng giữa các máy điện thoại, tạo ra một mạng đặc biệt (ad hoc) để trao đổi thông tin [5]. Chuẩn Bluetooth chỉ rõ hoạt động với tần số sóng 2.45GHz và hỗ trợ trao đổi dữ liệu lên tới 720kbps

3.4 Xây dựng chương trình thử nghiệm

3.4.1 Yêu cầu chung

Chƣơng trình thử nghiệm đƣợc xây dựng trong phạm vi của luận văn nghiên cứu này phải đáp ứng đƣợc một số các yêu cầu sau:

- Ứng dụng chạy trên hệ điều hành Windows CE dùng cho các thiết bị PDA hoặc máy tính bỏ túi – Pocket PC.

- Cho phép kết nối tối thiểu với một thiết bị cầm tay khác qua kết nối mạng không dây với chuẩn 802.11 b hoặc 802.11g. Cho phép mở rộng thực hiện nhiều điểm kết nối trong hội nghị truyền hình (hƣớng phát triển tiếp theo của luận văn).

- Truyền – nhận video thời gian thực. Video đƣợc nén theo chuẩn nén H.263, H.264 hoặc MPEG-4 và đƣợc truyền trên mạng theo dạng streaming.

- Giao diện đơn gian, dễ sử dụng.

3.4.2 Mô hình kiến trúc của chƣơng trình

Kiến trúc của chƣơng trình thử nghiệm đƣợc thể hiện trong hình sau đây:

PocketVideo

Thƣ viện Open H.323

Thƣ viện PWLib

Hình 3-8: Mô hình kiến trúc chƣơng trình thử nghiệm

Ngôn ngữ thể hiện

Chƣơng trình thử nghiệm đƣợc xây dựng cho thiết bị cầm tay chạy hệ điều hành Windows mobile phiên bản 2002 trở lên với mã nguồn Visual C++, công cụ phát triển Visual C++ Embedded, có nhiệm vụ kết nối với các thiết bị cầm tay khác qua môi trƣờng mạng không dây WLAN để truyền hình ảnh video thời gian thực.

Giao thức chuẩn H.323

Chƣơng trình đƣợc xây dựng trên giao thức chuẩn H.323. Hiện nay, giao thức chuẩn H.323 đã đƣợc một số các tổ chức trên thế giới phát triển một cách hoàn thiện. Một dự án về H.323 mã nguồn mở rất nổi tiếng là OpenH323 (tham khảo tại địa chỉ www.openH323.org), vì vậy luận văn sẽ sử dụng OpenH323 và bộ thƣ viện chuẩn PWLib trong xây dựng chƣơng trình thử nghiệm của mình.

Thƣ viện OpenH323 là thƣ viện tích hợp các thành phần tƣơng tự nhƣ mô hình giao thức chuẩn nhƣ mã hoá âm thanh, video, kiểm tra gateway, thiết lập kết nối thông qua các tín hiệu bắt tay, v.v...

Thƣ viện PWLib viết tắt của Portable Windows Library – cho phép chuyển đổi dễ dàng giữa các nền tảng hệ điều hành. Bao gồm PTCLib, PTLib, PWCLib, PWLib. Trong đó:

- PTCLib: là thƣ viện các thành phần văn bản khả chuyển giữa các nền hệ điều hành;

- PWCLib: là thƣ viện thành phần của windows; - PWLib: thƣ viện các đối tƣợng của windows;

- PTLib: thƣ viện các thành phần dạng văn bản khả chuyển.

Là thƣ viện mã nguồn mở để phát triển các trình ứng dụng sử dụng giao thức H.323 cho kết nối đa phƣơng tiện. Thƣ viện này đƣợc đóng gói các lớp tƣơng ứng nhƣ các thành phần trong mô hình giao thức H.323 đã đề cập ở trên.

Lớp H323Endpoint.

Trong thƣ viện này, đối tƣợng chính kế thừa toàn bộ các thành phần là lớp H323Enpoint đây là lớp cho phép thực hiện khởi tạo cuộc gọi hoặc nhận cuộc gọi. Một trình ứng dụng thông thƣờng sẽ có thể hiện kế thừa lớp này. Thể hiện này sẽ có các tham số H323 khởi tạo ban đầu, trong số các khởi tạo đó thì quan trọng nhất là bảng xác định năng lực mã hoá các kiểu kênh truyền dẫn mà chƣơng trình có thể quản lý.

Hình 3-9: Mô hình kế thừa của lớp H.323

Lớp Kết nối H323

Trình ứng dụng thƣờng khởi tạo một thể hiện của lớp Kết nối H323 mỗi khi thực hiện một cuộc gọi đi hay nhận cuộc gọi đến. Lớp này cung cấp nhiều phƣơng thức

ảo cho phép nạp chồng. Các phƣơng thức ảo này là các hàm “callback” cho phép trình ứng dụng kết xuất thông tin hoặc thay đổi các hoạt động theo nhiều cách khác nhau.

Lớp Kênh H323

Lớp H323Channel cho phép trình ứng dụng có thể tạo ra các kênh truyền logic cho phép mở các kênh truyền dữ liệu âm thanh đã đƣợc mã hoá.

Hình 3- 10: Cây kế thừa của lớp Kênh H323

Lớp H323Codec

Dây là lớp cơ sở cho toàn bộ các bộ mã hoá/giải mã âm thanh hay Video.

Hình 3-11: Cây kế thừa của lớp H323Codec

H323SignalPDU là lớp cơ sở của tất cả các giao thức liên quan đến dữ liệu.

Hình 3-12: Cây kế thừa của lớp H323SignalPDU

3.4.2.2 Thư viện PWLib

PWLib là thƣ viện cho phép trình ứng dụng có thể dễ dàng chuyển đổi từ hệ điều hành Microsoft Windows sang hệ điều hành Unix và ngƣợc lại.

Từ khi xuất hiện các bộ xây dựng giao diện đa hệ điều hành nhƣ KDE và xWindows, và sự phát triển của dự án OpenH323 tập trung vào hệ thống mạng, chuyển đổi đầu vào/đầu ra, đa luồng và đa hệ điều hành. Thƣ viện PWLib đƣợc sử dụng để tạo ra các trình ứng dụng hiệu suất cao và dễ dàng chuyển đổi ở các môi trƣờng mạng khác nhau.

Các lớp “chứa” chính của thƣ viện gồm mảng, danh sách tuyến tính, danh sách sắp xếp và các từ điển dạng bảng băm..., các lớp này đƣợc chia làm hai nhóm chính các lớp cơ sở và thành phần giao.

Lớp cơ sở bao gồm tất cả các lớp hỗ trợ cho việc kiến tạo nhƣ là lớp container, lớp thread và lớp socket, những lớp này đƣợc sử dụng tuỳ thuộc vào hệ điều hành nền mà chƣơng trình chạy trên nó.

Thành phần giao tiếp thực thi các chức năng độc lập với hệ điều hành và không bắt buộc phải khai báo với các chƣơng trình sử dụng. Một vài hệ điều hành (đặc biệt là Windows), lớp cơ sở và thành phần điều khiển đƣợc chia thành hai thƣ viện kế thừa rời rạc. Các hệ điều hành khác (nhƣ Unix) tổ hợp tất cả mã nguồn vào trong cùng một thƣ viện và dựa vào các liên kết để loại bỏ các mã nguồn không cần thiết.

Các lớp cơ sở.

- Các lớp đối tƣợng cơ bản:

 PObject – Lớp cơ sở cho tất cả các lớp trong PWLib.

 PContainer – lớp cơ sở cho tất cả các lớp có kiểu liệt kê. Về cơ bản, một đối tƣợng container cho phép chứa nhiều đối tƣợng khác. Lớp này hỗ trợ hai vùng, vùng thứ nhất đơn giản chỉ chứa số lƣợng các đối tƣợng đƣợc chứa trong nó, vùng thứ hai hỗ trợ cho các tham chiếu đến các thành phần.

 PAbstractArray – lớp cơ sở cho mảng của các đối tƣợng.  PAbstractList – lớp cơ sở cho danh sách các đối tƣợng.  PAbstractDictionary – lớp cơ sở cho từ điển.

 PString – lớp cơ sở cho các khai báo trừu tƣợng (abstraction) cho kiểu chuỗi.

- Các lớp thiết lập kênh đầu vào/đầu ra.

 PChannel – lớp cơ sở cho tất cả kênh vào ra.

 PIndirectChannel – một kênh cho phép đóng gói các kênh khác.  PConsoleChannel – kênh truy nhập điều khiển hệ thống.

 PPipeChannel – thực thi chƣơng trình và truy nhập đầu vào, đầu ra – tƣơng tự nhƣ lớp Pchannel.

 PSerialChannel – định nghĩa kênh vào ra kết nối với cổng serial – RS-232.

 PFile – truy nhập file trên hệ điều hành máy chủ. Lớp này biểu thị một file trên đĩa.

 PVideoChannel – ghi/đọc dữ liệu từ một thiết bị video. Lớp này cung cấp chủ yếu chức năng phát lại và ghi tín hiệu video trên hệ thống.

 PSoundChannel - đọc/ghi dữ liệu từ thiết bị âm thanh. - Lớp socket.

Hình 3-13: Cây kế thừa lớp PSocket  PSocket – lớp cơ sở cho tất các các socket.

 PIPSocket – lớp cơ sở cho tất các các socket sử dụng giao thức IP.  PUDPSocket – Socket sử dụng giao thức UDP.

 PTCPSocket - socket sử dụng giao thức TCP/IP.  PICMPSocket - socket sử dụng giao thức ICMP.

 PIPXSocket – lớp cơ sở cho socket sử dụng giao thức IPX.  PEthSocket – giao diện socket cho giao diện Ethernet thô. - Lớp tiến trình và luồng.

 PServiceProcess – thực thi một tiền trình nền (trong UNIX) hoặc tiến trình hệ thống (trong Windows).

 PThread – trừu tƣợng một luồng của điều khiển hoặc ngữ cảnh thực thi.

- Một số lớp khác..

 PArgList – hỗ trợ phân tích tập các tham số truyền vào cho chƣơng trình.

 PConfig – cung cấp bộ nhớ thứ cấp cho cấu hình của chƣơng trình sử dụng phƣơng thức tƣơng thích hệ điều hành.

 PTime – lớp trừu tƣợng biểu thị đồng hồ thời gian và ngày tháng.

Các thành phần giao tiếp.

- Các lớp HTTP.

 PHTTP – lớp cơ sở cho giao thức HTTP.

 PHTML – một luồng string định dạng thông tin HTML.  PHTTPForm – cho phép tạo các thẻ form HTTP.

- Các lớp giao thức.

 PInternetProtocol – lớp cơ sở cho tất cả các giao thức internet dựa vào kiểu văn bản.

 PPOP3 – lớp cơ sở cho giao thức POP3.

 PSMTMP – lớp cơ sở cho các lớp giao thức SMTP.  PFTP – lớp cơ sở cho các lớp FTP.

 PTelnetSocket – cho phép thực thi giao thức TELNET.  PSocksProtocol – lớp cơ sở cho giao thức SOCKS .  PSNMP – lớp cơ sở cho thực thi giao thức SNMP.

- Các lớp khác.

 PModem – lớp kế thừa của lớp PserialChannel, lớp này đã đƣợc thay đổi để dành riêng cho các modem tuân theo tập lệnh chuẩn AT.

 PIpAccessControlList – một tập các đầu vào các đặc tả cho phép truy nhập, tập này là danh sách các địa chỉ IP hoặc các mạng.  PRandom – bộ sinh số ngẫu nhiên.

 PCypher – thực thi nhiều đoạn mã hoá dữ liệu nhƣ MD5, SHA ...  PWAVFile – cho phép thao tác với một file wave theo định dạng

AIFF.

 PMemoryFile – cho phép thao tác với một đối tƣợng của lớp kế thừa PFile để lƣu trữ số liệu trong bộ nhớ.

3.4.2 Đánh giá kết quả

- Chƣơng trình PocketVideo đã thực hiện kết nối 02 thiết bị cầm tay PDA sử dụng hệ điều hành Microsoft Windows CE với nhau qua môi trƣờng mạng không dây (kết nối dạng Ad-hoc).

KẾT LUẬN

Những kết quả thu được

Truyền Video trên mạng theo phƣơng pháp Streaming hiện đang đƣợc sử dụng phổ biến nhất trên thế giới. Đặc biệt là các ứng dụng, dịch vụ Video trong các mạng bị hạn chế tốc độ nhƣ mạng không dây và mạng Internet. Với sự phát triển nhanh của công nghệ phần cứng nói chung và sự phát triển của các thiết bị hỗ trợ cầm tay nói riêng (các thiết bị PDA, máy tính bỏ túi Pocket PC hoặc các thiết bị điện thoại di động sử dụng hệ điều hành…) thì nhu cầu sử dụng các dịch vụ giải trí di động ngày càng trở nên cấp thiết hơn bao giờ hết.

Luận văn đã tập trung tìm hiểu và nghiên cứu đƣợc một số vấn đề sau:

- Các phƣơng pháp và chuẩn nén dữ liệu video trong các môi trƣờng đƣờng truyền khác nhau. Trong đó đặc biệt chú ý đến các chuẩn nén Video hiện đại đang đƣợc sử dụng phổ biến trong các ứng dụng hội nghị truyền hình (Video conferencing) nhƣ H.263, H.264 và MPEG-4 cũng nhƣ một số chuẩn nén dữ liệu âm thanh.

- Tìm hiểu công nghệ và các kỹ thuật Streaming Video, đây là công nghệ đóng vai trò quan trọng trong các ứng dụng truyền hình ảnh, âm thanh và video qua các môi trƣờng mạng tốc độ bit thấp.

- Nghiên cứu chuẩn H.323, đây là một chuẩn nền tảng cho việc xây dựng các ứng dụng hội nghị truyền hình, điện thoại video hiện nay. Chuẩn này định nghĩa và mô tả cách thức làm thế nào các thành phần trong một hệ thống có thể trao đổi và tham gia một cách tốt nhất.

- Tìm hiểu công nghệ về mạng không dây, các thiết bị cầm tay hỗ trợ kỹ thuật cá nhân (PDA) làm việc đƣợc trên môi trƣờng mạng không dây. Với định hƣớng tập trung nghiên cứu và làm chủ các công nghệ tiên tiến cho các ứng dụng hội nghị truyền hình, luận văn cũng đã tập trung xây dựng chƣơng trình

thử nghiệm, truyền hình ảnh video dƣới dạng streaming theo thời gian thực trong môi trƣờng mạng không dây kết nối trực tiếp hai thiết bị theo mô hình ad-hoc.

Những hướng phát triển tiếp theo

Những định hƣớng phát triển tiếp theo của đề tài là:

- Nghiên cứu thêm các công nghệ cần thiết để xây dựng đƣợc ứng dụng hội nghị truyền hình qua môi trƣờng mạng không dây với nhiều điểm cùng tham gia.

- Nghiên cứu và áp dụng một số kỹ thuật làm giảm mức độ mất mát gói tin khi truyền trong môi trƣờng mạng không dây. Nâng cao chất lƣợng video. - Phối hợp cùng với các nhà cung cấp dịch vụ Internet trong nƣớc đầu tƣ xây dựng và cung cấp dịch vụ hội nghị truyền hình qua môi trƣờng WiMax (Công nghệ WiMax hiện đang đƣợc một số nhà cung cấp dịch vụ Internet trong nƣớc triển khai và sớm đi vào sử dụng).

- Xây dựng ứng dụng truyền hình ảnh video giám sát cho các hộ gia đình. Với ứng dụng này, ngƣời dùng có thể quan sát các hình ảnh video từ camera ở nhà mình cho việc bảo đảm an ninh, giám sát trẻ nhỏ...

TÀI LIỆU THAM KHẢO

Tài liệu tiếng Anh

[1] Abdul H.Sadka, University of Survey, Guildford, UK - Compressed Video Communications - John Wiley & Sons, LTD, April 2002

[2] Cunningham, D. & Francis, N. 2001 – An Introduction to Streaming Video

http://www.cultivate-int.org/issue4/video (last access November 16th, 2002)

[3] Douglas Boling - Programming Microsoft Windows CE (second edition) - Microsoft Press. 2001.

[4] Frank Ohrtman, Konrad Roeder - Wi-Fi Handbook: Building 802.11b Wireless Networks - McGraw-Hill 2003

[5] Iain E. G. Richardson, The Robert Gordon Universiry, Aberdeen, UK -

H.264 and MPEG-4 Video Compression: Video Coding for Next Generation Multimedia - John Wiley & Sons, LTD, 2003

[6] ITU-T Recommendation H.261 (1993) – Video codec for audiovisual services at p 64kbit/s

[7] ITU-T Recommendation H.263 (2005) – Video coding for low bit rate communication

[8] M. Alfano 1997, Design and Implementation of a Cooperative Multimedia Environment with QoS Control, Computer Communications, autumn 1997 [9] Network Working Group, RTP: A Transport Protocol for Real-Time

[10]Raymond Westwater Borko Furht, Florida Atlantic University- Real time video compression: Techniques and Algorithms – Kluwer Academic Publishers, 1997

[11]Tsai C., Karunaratne P., Galatsanos N. P., Katsaggelos` A. K, A Compressed Video Enhancement Algorithm

http://citeseer.nj.nec.com/tsai99compressed.html (last access Nov 16th 2002).

Website và Chương trình

[12]An Introduction to Streaming Video,

http://www.ahearnvideo.com/links/StreamingBasics.htm

[13]An Introduction to the ITU-T H.263 video compression standard: concept, features and implementation, http://www.4i2i.com/h263_video_codec.htm [14]Basic Streaming, http://www.ahearnvideo.com/links/StreamingBasics.htm [15]H.263, http://en.wikipedia.org/wiki/H.263

[16]H.264, http://en.wikipedia.org/wiki/H.264 [17]H.323, http://ai3.asti.dost.gov.ph/h.323 [18]http://www.packetizer.com

[19]List of Codecs, http://en.wikipedia.org/wiki/List_of_codecs [20]MPEG-1, http://en.wikipedia.org/wiki/MPEG-1

[21]MPEG-2, http://en.wikipedia.org/wiki/MPEG-2 [22]MPEG-4, http://en.wikipedia.org/wiki/MPEG-4 [23]OpenH323, http://www.OpenH323.org

Một phần của tài liệu Xây dựng ứng dụng truyền video trên thiết bị cầm tay (PDA) qua môi trường mạng không dây (Trang 84)