Với nhu cầu tăng cao trong mọi mặt của đời sống, các cuộc gọi điện thoại chỉ có âm thanh đang dần không còn đáp ứng được các yêu cầu của con người nữa, trong khi đó hội nghị truyền hình
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
KHÓA LUẬN TỐT NGHIỆP
ĐỀ XUẤT GIẢI THUẬT NÉN VÀ TRUYỀN VIDEO WEBCAM QUA MẠNG CHO ỨNG
DỤNG HỘI NGHỊ TRUYỀN HÌNH
Giảng viên hướng dẫn: TS VŨ THANH NGUYÊN
Sinh viên thực hiện: ĐỖ DUY PHÚC
MAI HOÀNG HOÀI THƯƠNG Lớp : CNTN02
Khóa : 02
TP.Hồ Chí Minh, tháng 7 năm 2011
Trang 2Trước đây,việc liên lạc của con người đã tiến hóa qua nhiều hình thái khác nhau từ truyền miệng, gửi thư, điện báo, điện thoại,…Và mỗi hình thái mới xuất hiện đánh dấu một nấc thang phát triển, mở rộng hơn hiệu quả liên lạc của con người cả về mặt thời gian lẫn mặt truyền đạt nội dung Nhưng sự xuất hiện của Internet cùng với các công nghệ hiện đại trong tin học đã thật sự đánh dấu sự bước phát triển bùng nổ sang thời đại thông tin của con người Đi kèm với bước phát triển này là rất nhiều hình thức liên lạc và truyền đạt thông tin mới ra đời, làm ảnh hưởng mạnh mẽ đến cách thức mà con người liên lạc với nhau Ví dụ như chúng ta đã thôi thường xuyên đến bưu điện để gửi thư viết tay cho nhau mà chuyển sang gửi email, tin nhắn tức thời để tiết kiệm thời gian hơn; chúng ta có thể chọn lựa hoặc sử dụng điện thoại truyền thống hoặc chuyển sang hình thức điện thoại VoIP qua mạng Internet với chi phí sử dụng được giảm thiểu rõ rệt Và nếu trước đây chỉ vì khoảng cách xa xôi là trở ngại cho mong muốn được gặp mặt trò chuyện của chúng ta với nhau thì với hạ tầng, công nghệ hiện đại ngày nay đã mang lại một giải pháp mới khả thi cho vấn đề này: đó chính là hội nghị truyền hình qua mạng
Hội nghị truyền hình là một cách thức liên lạc hiệu quả, thế nhưng nó hầu như vẫn chưa được sử dụng rộng rãi vì chi phí và yêu cầu về hạ tầng vẫn chưa phù hợp với khả năng của người dùng bình dân Một trong những yêu cầu về hạ tầng trong hội nghị truyền hình là băng thông đường truyền mạng phải lớn vì để có thể truyền được video thời gian thực Đặc biệt là trong một phiên hội nghị thường có nhiều hơn hai bên tham dự, nên sẽ có nhiều nguồn video được gửi lên hệ thống cùng một lúc Do vậy, để góp phần đưa loại hình liên lạc này phù hợp với túi tiền của người bình dân, chúng em chọn đề tài nghiên cứu giải thuật nén và truyền video thu từ webcam qua mạng dùng cho ứng dụng hội nghị truyền hình với mục tiêu hướng tới tìm cách làm giảm yêu cầu về băng thông trong loại phương tiện liên lạc này
Trang 3LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn Khoa Khoa Học Máy Tính, trường Đại Học Công Nghệ Thông Tin – ĐH Quốc Gia Tp.HCM đã tạo điều kiện tốt cho chúng em thực hiện đề tài tốt nghiệp này
Chúng em xin chân thành cảm ơn thầy Vũ Thanh Nguyên – Trưởng Khoa Công Nghệ Phần Mềm đã tận tình hướng dẫn, chỉ bảo và hỗ trợ cho chúng em trong suốt thời gian thực hiện đề tài
Chúng em xin chân thành cảm ơn quý Thầy Cô trong Khoa Khoa Học Máy Tính đã tận tình giảng dạy, trang bị cho chúng em những kiến thức quý báu trong những năm học vừa qua Và chúng em cũng chân thành cảm ơn quý Thầy Cô trong Khoa Công Nghệ Phần Mềm đã nhiệt tình chỉ bảo và hỗ trợ cho nhóm chúng em hoàn thành công việc
Chúng con xin gửi lòng biết ơn sâu sắc đến ba, mẹ và gia đình đã nuôi dưỡng, giáo dục, tạo điều kiện tốt nhất cho chúng con thành người có ích cho xã hội
Chúng mình chân thành cảm ơn đến các anh chị em và bạn bè đã ủng hộ, giúp đỡ và động viên trong những lúc khó khăn cũng như trong suốt thời gian học tập và nghiên cứu
Mặc dù chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép, nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong sự cảm thông
và tận tình chỉ bảo của quý Thầy Cô và các bạn
Nhóm thực hiện
Đỗ Duy Phúc & Mai Hoàng Hoài Thương
Trang 4MỤC LỤC
LỜI MỞ ĐẦU ii
LỜI CẢM ƠN iii
MỤC LỤC iv
DANH MỤC HÌNH vii
DANH MỤC BẢNG viii
THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT ix
HỆN TRẠNG VÀ MỤC TIÊU 1
A Hiện trạng các hệ thống hội nghị truyền hình: 1
B Mục tiêu đề tài: 2
Chương 1: Tổng Quan 3
1.1 Tổng quan về hội nghị truyền hình: 3
1.1.1 Giới thiệu: 3
1.1.2 Lịch sử: 3
1.1.3 Công nghệ: 4
1.1.4 Phân loại: 4
1.1.5 Ứng dụng: 5
1.2 Quá trình xử lý dữ liệu: 5
1.2.1 Sơ lược: 5
1.2.2 Codec - Số hóa tín hiệu và nén dữ liệu: 6
Chương 2: Các Mô Hình Hệ Thống Và Giao Thức Mạng 10
2.1 Các phương tiện truyền gửi: 10
2.2 Chuẩn H.323: 11
2.2.1 Giới thiệu: 11
2.2.2 Các lợi ích cốt lõi của H.323 12
2.3 Giao thức Session Initiation Protocol: 13
2.4 So sánh: 15
2.5 Kiến Trúc H.323: 18
2.5.1 Các thành phần trong hệ thống: 19
2.5.2 Hội nghị đa điểm: 23
Trang 5Chương 3: Dữ Liệu Video 38
3.1 Giới thiệu: 38
3.2 Các đặc tính của video: 38
3.2.1 Số lượng khung hình mỗi giây: 38
3.2.2 Interlaced và progressive video: 38
3.2.3 Độ phân giải hiển thị: 39
3.2.4 Tỉ lệ khung hình: 40
3.2.5 Không gian màu và số bit mỗi pixel: 41
3.2.6 Bit rate: 41
3.3 Nén video: 42
3.3.1 Nhu cầu thực tế của nén dữ liệu ảnh và video: 42
3.3.2 Tính tiện lợi của nén ảnh và video: 42
Chương 4: Xây Dựng Giải Thuật Nén Và Truyền Video Cho Ứng Dụng Hội Nghị Truyền Hình 51
4.1 Ý tưởng của giải thuật 51
4.2 Phương pháp 52
4.2.1 Chuyển ảnh về hệ màu Grayscale 52
4.2.2 Ghi dấu những điểm ảnh thay đổi: 54
4.2.3 Gom nhóm các điểm ảnh thay đổi 56
4.2.4 Nén khu vực ảnh có vật thể chuyển động: 57
4.2.5 Tái tạo khung ảnh 61
4.3 Kiểm tra thực nghiệm: 61
Chương 5: Triển Khai Và Thực Nghiệm Giải Thuật Trên Hệ Thống Hội Nghị Truyền Hình Chuẩn H.323 63
5.1 Hệ thống hội nghị H.323 nguồn mở: 63
5.1.1 Dự án H323plus: 63
5.1.2 Giới thiệu về MyPhone: 64
5.1.3 Giới thiệu về GNU Gatekeeper : 65
5.1.4 Giới thiệu Talkez: 66
5.1.5 Mô hình hệ thống thử nghiệm: 66
5.2 Tạo video codec: 72
Trang 65.2.2 Tạo video codec plugin H323Plus cho giải thuật WVMT: 73
5.3 Thực nghiệm và đánh giá kết quả: 82
5.3.1 Thực nghiệm: 82
5.3.2 Đánh giá: 84
TỔNG KẾT 85
A Kết quả: 85
B Hạn chế: 85
C Hướng phát triển: 85
TÀI LIỆU THAM KHẢO 86
Trang 7Hình 1.1 Quy trình thu và truyền tín hiệu đi 5
Hình 1.2 Quy trình nhận và phát tín hiệu 6
Hình 2.1 Mô hình tổng quan kiến trúc H.323 18
Hình 2.2 Mô hình lý thuyết hoàn chỉnh của ngăn xếp giao thức chứa trong H.323 terminal 19
Hình 2.3 Gateway H.323/PSTN 20
Hình 2.4 Vùng quản lý của Gatekeeper H.323 21
Hình 2.5 Sơ đồ mô hình hội nghị tập trung và phân tán 24
Hình 2.6 Mô hình hội nghị kiểu phân tán và lai 26
Hình 2.7 Cấu trúc gói tin RTP trong gói tin IP 31
Hình 2.8 Bước 1 và 2 quá trình thực hiện cuộc gọi H.323 34
Hình 2.9 Bước 3 quá trình thực hiện cuộc gọi H.323 35
Hình 2.10 Bước 4 quá trình thực hiện cuộc gọi H.323 35
Hình 2.11.Bước 5 và 6 quá trình thực hiện cuộc gọi H.323 35
Hình 2.12 Bước 7 và 8 quá trình thực hiện cuộc gọi H.323 36
Hình 3.1 (a) Một ví dụ cho progressive video (b) Một ví dụ cho interlaced video 39
Hình 3.2.(a) Một tấm ảnh bé trai và bé gái (d)Vị trí hàng 318 và cột 262 trên ảnh (b)và (c) Biểu đồ cường độ màu sắc các pixel hàng 318 và cột 262 [5] 45
Hình 3.3.(a) Khung ảnh thứ 21 và (b) khung ảnh thứ 22 trong “Miss America”[5] 46
Hình 3.4 Các tỉ lệ lấy mẫu chroma subsampling phổ biến 50
Hình 4.1 Ví dụ về ảnh grayscale 54
Hình 4.2 Bản đồ các điểm ảnh thay đổi giữa 2 khung hình 55
Hình 4.3 Các chấm trắng nhiễu đã được làm mờ bằng Erosion 3x3 55
Hình 4.4 Các chấm trắng được gom vào 5 hình chữ nhật 56
Hình 4.5 Vùng ảnh chuyển động: 57
Hình 4.6 Quá trình tái tạo hình ảnh 61
Hình 4.7 Biểu đồ thực nghiệm dung lượng các thuật toán nén 62
Hình 5.1 Mô hình hệ thống thử nghiệm 66
Hình 5.2 Giao diện GkGUI 69
Hình 5.3 Giao diện MyPhone 70
Trang 8Hình 5.6 Giao diện Talkez MCU 72
Hình 5.7 Giao diện Talkez MCU khi thực hiện hội nghị 72
Hình 5.8 Minh họa mô hình cấu trúc WVMT video codec plugin 80
Hình 5.9 Biểu đồ so sánh bit rate của hệ thống 83
Hình 5.10 Chất lượng hình ảnh gốc 83
Hình 5.11 Chất lượng hình ảnh thu từ WVMT codec 84
DANH MỤC BẢNG Bảng 1.1 So sánh các codec audio 8
Bảng 1.2 So sánh các độ phân giải video 9
Bảng 2.1 Bảng so sánh H.323 và SIP 17
Bảng 3.1 Bảng ví dụ hai tập mã nhị phân [5] 47
Bảng 3.2 Bảng liệt kê số lượng bit/pixel của mỗi tỉ lệ chroma subsampling 50
Bảng 4.1 Bảng so sánh hiệu quả nén giữa 2 chuẩn PNG và JPEG 2000 60
Bảng 4.2 Tỷ lệ kích thước ảnh được truyền đi 62
Bảng 4.3 So sánh dung lượng các thuật toán nén 62
Bảng 5.1 Bảng miêu tả struct PluginCodec_Definition 78
Bảng 5.2 Kết quả thực nghiệm 83
Trang 9ADSL Asynchronous Digital Subscriber Lines
GIF Graphics Interchange Format
GNU General Public License
HTTP Hypertext Transfer Protocol
IETF Internet Engineering Task Force
ISDN Integrated Services Digital Network
ITU International Telecommunication Union
JPEG Joint Photographic Experts Group
MC Multipoint Controller
MCU Multipoint Conference Unit
Trang 10MPEG Moving Picture Experts Group
MPL Mozilla Public License
NTSC National Television System Committee
PAL Phase Alternating Line
PNG Portable Network Graphics
POTS Plain Old Telephone Service
PSTN Public Switched Telephone Network
QCIF Quarter Common Interchange Format
RAS Registration Admission Status
RSVP Resource Reservation Protocol
SCTP Stream Control Transmission Protocol
SECAM Séquentiel couleur à mémoire - Sequential Color with Memory SIP Session Initiation Protocol
SMTP Simple Mail Transfer Protocol
SQCIF Sub Quarter Common Interchange Format
TCP Transmission Control Protocol
UDP User Datagram Protocol
URL Uniform Resource Locator
VPN Virtual Private Networks
Trang 11HỆN TRẠNG VÀ MỤC TIÊU
A Hiện trạng các hệ thống hội nghị truyền hình:
Các hệ thống hội nghị truyền hình ngày nay rất đa dạng Chúng có thể là các phần mềm dịch vụ được cung cấp miễn phí trên Internet như Skype, các sản phẩm phần cứng chuyên nghiệp giá thành cao được cung cấp từ các nhà sản xuất tên tuổi như Polycom, hoặc chỉ là các dịch vụ điện thoại thông thường Quy mô hệ thống có thể ở mức nội bộ trên các mạng LAN, hoặc rộng hơn như mạng WAN và Internet
Hội nghị truyền hình đang dần trở thành một nhu cầu phổ biến cho mọi người Với nhu cầu tăng cao trong mọi mặt của đời sống, các cuộc gọi điện thoại chỉ có âm thanh đang dần không còn đáp ứng được các yêu cầu của con người nữa, trong khi đó hội nghị truyền hình mang lại những trãi nghiệm mới đầy hấp dẫn và giàu nội dung trong các cuộc liên lạc Đặc biệt, trong thời đại thông tin ngày nay thì các lợi ích của hội nghị truyền hình lại càng lớn hơn khi giúp chúng tiết kiệm thời gian, và chi phí cho các buổi hội họp
Tuy nhiên hội nghị truyền hình là một trong những hệ thống thông tin liên lạc phức tạp và yêu cầu khắc khe nhất Một hệ thống phải được đảm bảo các điều kiện về các thiết bị thu nhận dữ liệu, sức mạnh xử lý, và đường truyền mạng đủ lớn để chuyển các dữ liệu đa phương tiện thời gian thực nhanh chóng kịp thời đến các đầu nhận ở
xa Vì sự phức tạp và khắc khe trên mà các dịch vụ và sản phẩm hội nghị truyền hình hiện được cung cấp đều chỉ có thể đáp ứng nhu cầu người sử dụng theo những tiêu chí khác nhau Ví dụ như các dịch vụ miễn phí cung cấp cho mọi người trên Internet thường chỉ hỗ trợ được các cuộc gọi video hai người tham gia do giới hạn băng thông của người dùng Internet thường không cao Còn các hệ thống chuyên dụng có thể cho
số người cùng tham gia nhiều hơn, chất lượng hình ảnh tốt hơn nhưng chi phí bỏ ra rất lớn, vì thế chỉ có các tổ chức hoặc doanh nghiệp lớn mới có khả năng tiếp cận các
hệ thống này
Với tiêu chí một hệ thống hội nghị truyền hình đủ tốt, quy mô vừa và nhỏ, và có khả năng cho một nhóm nhỏ người cùng tham gia, hiện ta có một giải pháp sẵn có và chi phí thấp là dựa trên các phần mềm nguồn mở Các hệ thống này tận dụng được các
Trang 12điều kiện sẵn có phổ biến hiện nay như các máy tính cá nhân, các webcam, loa, microphone và đường truyền LAN hoặc Internet Chúng ta chỉ cần lựa chọn các giải pháp phần mềm thích hợp và tùy biến chúng cho phù hợp với nhu cầu sử dụng của chúng ta Tuy nhiên, sử dụng giải pháp phần mềm nguồn mở cũng có những hạn chế
và khó khăn riêng, đó là việc tùy biến các hệ thống nguồn mở là việc không đơn giản, các công nghệ được sử dụng trong chúng cũng thường kém hơn các phần mềm thương mại và nguồn đóng Việc này đòi hỏi đội ngũ phát triên hệ thống cần phải có kiến thức chuyên môn sâu rộng để có thể xây dựng một hệ thống hiệu quả
B Mục tiêu đề tài:
Mục tiêu hướng tới của để tài là xây dựng một hệ thống hội nghị truyền hình nguồn
mở chất lượng tốt với chi phí thấp Để thực hiện mục tiêu này thì cần giải quyết nhiều vấn đề đặt ra, một trong số đó là yêu cầu về băng thông đường truyền cho các
hệ thống hội nghị
Trong một phiên hội nghị, loại dữ liệu thường tiêu tốn băng thông nhiều nhất chính là video Và nguồn thu dữ liệu video được sử dụng trong hội nghị truyền hình phần lớn
là từ các video camera hoặc webcam đặt cố định, vốn có những tính chất riêng biệt
Vì thế, nhóm chúng em đã phát triển theo hướng này, chọn đề tài nghiên cứu và đề xuất một giải thuật nén và truyền hiệu quả cho dữ liệu video thu từ các webcam hoặc video camera nhằm giải quyết vấn đề yêu cầu băng thông Với giải thuật này, một đường truyền Internet ADSL có tốc độ trung bình 256 Kb/s, một webcam thu nhận ảnh, một phần mềm trung gian có cài đặt giải thuật (không đòi hỏi thiết bị chuyên dụng) là đủ để tổ chức một hội nghị trực tuyến đơn giản, thỏa mãn được nhu cầu họp qua mạng của cá nhân, nhóm nhỏ người tham gia
Trang 13
Chương 1: Tổng Quan 1.1 Tổng quan về hội nghị truyền hình:
1.1.1 Giới thiệu:
Hội nghị truyền hình, thuật ngữ tiếng Anh là Video Conference, là một tập các công
nghệ viễn thông tương tác, cho phép hai hoặc nhiều địa điểm tương tác với nhau thông qua sự truyền gửi đồng thời audio và video Hội nghị truyền hình đôi khi chỉ đơn giản như một cuộc nói chuyện trao đổi giữa hai người ở hai văn phòng làm việc riêng (điểm – điểm) hoặc bao gồm nhiều khu vực khác nhau (đa điểm) với nhiều hơn một người trong các phòng lớn ở mỗi khu vực
Hội nghị truyền hình khác với điện thoại có chức năng video ở chỗ nó được thiết kế
để phục vụ cho một cuộc họp hoặc hội nghị hơn là cho mục đích sử dụng cá nhân
và phần mềm hội nghị truyền hình rất đắt
Những năm 1990, ra đời các hệ thống hội nghị truyền hình dựa trên giao thức IP và các thuật toán nén hiệu quả hơn giúp cho các hệ thống hội nghị truyền hình đạt được chất lượng tiêu chuẩn và chi phí giảm thiểu
Bước sang các năm 2000, điện thoại video được phổ biến thông qua các dịch vụ Internet miễn phí như Skype và iChat, góp phần quảng bá hội nghị truyền hình giá rẻ, mặc dù chất lượng thấp, đến hầu hết mọi nơi chỉ với một kết nối Internet
Năm 2005, các hệ thống hội nghị truyền hình độ phân giải cao đầu tiên được giới thiệu tại hội chợ thương mại Interop, Las Vegas bởi LifeSize Communications Và
Trang 14độ phân giải cao đang dần trở thành một tiêu chuẩn nền tảng cho các hệ thống hội nghị truyền hình thương mại hiện đại
1.1.3 Công nghệ:
Công nghệ lõi được sử dụng trong một hệ thống hội nghị truyền hình là công nghệ nén các luồng audio và video số thời gian thực Các phần cứng và phần mềm thực hiện việc nén này được gọi là một codec (coder/decoder)
Các thành phần khác cần thiết cho một hệ thống hội nghị truyền hình bao gồm:
- Đầu vào video: video camera hoặc webcam
- Đầu ra video: màn hình máy tính, tivi hoặc máy chiếu
- Đầu vào audio: microphone, CD/DVD player, cassette player,…
- Đầu ra audio: thường là loa liên kết với thiết bị hiển thị hoặc máy điện thoại
- Đường truyền dữ liệu: mạng điện thoại tính hiệu tuần tự hoặc tín hiệu số,
mạng chuyển gói LAN hoặc Internet,…
- Máy tính: một đơn vị xử lý dữ liệu sẽ liên kết các thành khác lại với nhau,
thực hiện việc nén và giải nén, và khởi tạo và duy trùy các liên kết dữ liệu thông qua mạng
1.1.4 Phân loại:
Cơ bản có hai loại hệ thống hội nghị truyền hình:
a) Các hệ thống chuyên dụng: có tất cả bộ phận cần thiết đóng gói trong một
thiết bị đơn lẻ, thường được gọi là một thiết bị console đi cùng với một video camera chất lượng cao điều khiển từ xa Các microphone đa hướng và màn hình hiển thị hoặc máy chiếu cũng được kết nối vào thiết bị console Có một vài kiểu thiết bị hội nghị truyền hình chuyên dụng:
- Hội nghị truyền hình dành cho nhóm lớn: thường là thiết bị không cơ
động, lớn, đắt đỏ hơn dùng cho các phòng hoặc hội trường lớn
- Hội nghị truyền hình nhóm nhỏ: là các thiết bị không hoặc có thể cơ
động, nhỏ hơn, ít đắt hơn được dùng cho các phòng họp nhỏ
- Hội nghị truyền hình cá nhân: thường là các thiết bị cơ động, dành cho
người dùng đơn lẻ, có camera cố định, microphone và loa tích hợp sẵn
Trang 15b) Các hệ thống Desktop: các phần mềm và phần cứng thêm vào máy tính PC
bình thường, biến chúng thành các thiết bị hội nghị truyền hình Hầu hết hệ thống desktop hoạt động với chuẩn H.323
- Đào tạo từ xa trong giáo dục
- Chuẩn đoán bệnh từ xa trong y tế
- Hoặc hội họp và xử án từ xa
Ngoài ra, đây cũng là một phương tiện liên lạc từ xa hiệu quả cho người bị tật hoặc mất khả năng nghe hoặc nói Vì thông qua hình ảnh video được truyền đi, họ có thể trao đổi với nhau bằng ngôn ngữ dấu hiệu, điều mà trước đây các hình thức liên lạc chỉ có âm thanh không làm được
1.2 Quá trình xử lý dữ liệu:
Một phiên hội nghị truyền hình bao gồm các quá trình truyền gửi audio, video và data (ví dụ như từ các không gian làm việc chung như: bảng trắng - whiteboard, tập tin trình chiếu,…) – gọi chung là đa phương tiện (thuật ngữ tiếng Anh là multimedia) Trong phần này, chúng ta sẽ xem lại quá trình thu bắt dữ liệu, gửi và nhận những luồng dữ liệu đa phương tiện này
1.2.1 Sơ lƣợc:
Hình 1.1 Quy trình thu và truyền tín hiệu đi
Trang 16
Hình 1.2 Quy trình nhận và phát tín hiệu
Các tín hiệu tuần tự (analog) hình ảnh và âm thanh sau khi thu được từ video camera/webcam và microphone phải qua quá trình số hoá trước khi có thể được xử lý trên máy tính Sau khi đã chuyển thành dữ liệu số, chúng được nén lại để giảm lưu lượng thông tin Kế tiếp dữ liệu được phân mảnh thành các đoạn dữ liệu (segment/packet) rồi được truyền đi qua các đường liên kết mạng
Đầu cuối, nơi nhận dữ liệu, sẽ tổng hợp lại các đoạn dữ liệu theo thứ tự, giải nén và chuyển ngược lại thành các tín hiệu tuần tự và cuối cùng là đưa ra các thiết bị hiển thị
và phát thanh
Có nhiều cách để số hoá tín hiệu và nén dữ liệu từ luồng tín hiệu tuần tự do camera
và microphone cung cấp Và cũng có tương ứng nhiều cách để đảo ngược quá trình trên để đưa dữ liệu tính hiệu số đã nén trở lại tín hiệu analogue ban đầu nơi người nhận
1.2.2 Codec - Số hóa tín hiệu và nén dữ liệu:
1.2.2.1 Khái niệm codec:
Một codec là một thiết bị (phần cứng) hoặc chương trình máy tính có khả năng mã
hóa và giải mã một luồng dữ liệu hoặc tín hiệu số Từ “codec” là một từ liên kết của
„compressor-decompressor‟ (bộ nén – bộ giải nén), hoặc thông dụng hơn là decoder‟ (bộ mã hóa – bộ giải mã)
„coder-Một codec không nên bị nhầm lẫn với một định dạng hoặc tiêu chuẩn mã hóa hoặc nén – một định dạng chỉ là một tài liệu chỉ ra một cách để lưu trữ dữ liệu, trong khi một codec là một chương trình (một bản cài đặt) có thể đọc và viết các tập tin theo cách lưu của một định dạng nào đó
Trang 171.2.2.2 Công dụng của codec:
Trong phạm vi ứng dụng cho hội nghị truyền hình, codec thường được dùng cho hai nhiệm vụ chính:
- Chuyển đổi tín hiệu tuần tự thu từ các thiết bị đầu vào sang tín hiệu số và ngược lại Quá trình này được gọi là số hóa (digitisting), được thực hiện bởi các coder-decoder
- Chuyển dữ liệu số ở dạng này sang dạng khác nhằm làm giảm dung lượng cho việc lưu trữ hoặc truyền gửi Quá trình này gọi là nén dữ liệu, và nó liên quan đến các compressor-decompressor
Thuật ngữ codec thường được dùng để chỉ qua lại cả hai khái niệm coder-decoder và compressor-decompressor trong hai quá trình trên
Codec có thể là phần cứng hoặc phần mềm Một thiết bị codec phần cứng thường đóng gói nhiều chức năng khác nhau như bao gồm cả quá trình số hóa, nén dữ liệu, và/hoặc dùng cho cả audio và video Các codec phần mềm thì lại thường phân biệt rõ cho các quá trình khác nhau, ví dụ như G.722 dùng nén audio, H.261 dùng để nén video, Vì vậy các thiết bị codec thường đươc miêu tả đặc tính dính líu đến một vài phần mềm codec riêng biệt
Nhiều hệ thống sử dụng một bộ bắt khung hình (frame grabber) để cung cấp video, từng khung hình một, và xem đây là một chương trình phần mềm codec cho việc số hóa tính hiệu video Audio thì thường được số hóa bằng phần cứng của hệ thống Việc lựa chọn sử dụng loại codec nào là một trong những yếu tố cơ bản để nâng cao chất lượng audio và video của hội nghị
1.2.2.3 Audio Codec:
Hiện nay đang tồn tại một số codec nén và giải nén audio dựa theo chuẩn được đưa ra bởi tổ chức ITU, thường được dùng cho các hệ thống hội nghị truyền hình như: G.711, G.722, G.723.1, G.728, G.729 Sau đây là bảng so sánh một số codec:
Trang 18G.723 MP-MLQ 6,4/5,3 Cao vừa phải Tốt (6,4 K)
Trong hệ thống hội nghị truyền hình, việc nén video là quá trình quan trọng Vì video
là loại dữ liệu tiêu tốn dung lượng nhiều nhất, cho nên các hệ thống hội nghị truyền hình cần phải có các giải pháp nén video thật hiệu quả để làm giảm lượng băng thông cần thiết càng thấp càng tốt
Việc nén video có thể thực hiện bằng nhiều cách tương ứng với nhiều tầng khác nhau, mỗi tầng sau phức tạp hơn nhưng mang lại hiệu quả cao hơn:
Trang 19H.261, H.263 và H.264 là các loại chuẩn codec nén và giải video được đưa ra bởi tổ chức ITU, thường được sử dụng trong các hệ thống hội nghị truyền hình H.263 là chuẩn nén video ra đời sau, có độ phức tạp và hiệu quả gấp đôi H.261 Và tương tự H.264 lại ra đời sau H.263 có độ phức tạp cao hơn và hiệu quả cao hơn Tuy nhiên cần lưu ý rằng chúng chỉ là các tiêu chuẩn quy định cho quá trình xử lý video, khi cài đặt thì mỗi codec cụ thể có thể được xây dựng với các thuật toán khác nhau
Ngoài ra, độ phân giải video (hay kích thước khung hình video) dùng cho hội nghị truyền hình cũng được thiết lập tiêu chuẩn Độ phân giải cơ bản nhất là định dạng CIF cùng với một số độ phân giải khác có liên quan như QCIF (¼ x CIF), 4CIF (4 x CIF),…
Ta có thể so sánh các chuẩn độ phân giải qua bảng dưới đây:
Định dạng Giải nghĩa Độ phân giải (đơn vị
pixel)
Trang 20Chương 2: Các Mô Hình Hệ Thống Và Giao Thức Mạng
Một hệ thống hội nghị truyền hình không chỉ là một chương trình đơn lẻ mà bao gồm nhiều thực thể logic khác nhau có đặc tính nhiệm vụ khác nhau trong hệ thống Các thực thể này liên kết trao đổi thông tin và làm việc với nhau thông qua các đường truyền mạng, và cũng như các ứng dụng mạng khác, công việc này cần được quy định bởi các bộ giao thức H.323 và SIP là hai mô hình được sử dụng nhiều nhất hiện nay cho các hệ thống hội nghị truyền hình
2.1 Các phương tiện truyền gửi:
Các loại phương tiện truyền gửi (transport media) hay được hiểu là các loại mạng lưới làm việc hiện đang được sử dụng phổ biến có thể được chia thành ba nhóm sau:
a Mạng chuyển mạch (circuit-switched network): ISDN (Integrated Services Digital Network), PSTN (Public Switched Telephone Network),…
b Mạng chuyển gói (packet-switched network): LAN, WAN, Internet, ADSL (Asynchronous Digital Subscriber Lines), VPN (Virtual Private Networks),…
c Mạng điện thoại truyền thống POTS (Plain Old Telephone Service) và di động 3G (tương lai là 4G)
Trong đó, ISDN, LAN, WAN, Internet, ADSL và VPN là các loại phương tiện truyền gửi được sử dụng phổ biến cho các hội nghị truyền hình nền desktop Chúng đều có những điểm mạnh và điểm yếu riêng cần phải xem xét trước khi quyết định lựa chọn loại nào để xây dựng hệ thống hội nghị truyền hình Bên cạnh đó với sự sẵn có của Internet ngày nay, các mạng trên nền POTS (Plain Old Telephone Service – mạng dịch vụ điện thoại cũ) hầu như đã bị ngưng sử dụng để làm phương tiện kết nối cho các hệ thống hội thảo truyền hình Tuy nhiên, với sự xuất hiện ngày càng nhiều các điện thoại di động hỗ trợ mạng 3G đã dẫn tới sự ra đời của một chuẩn kế thừa mới từ chuẩn H.324 POTS là 3G-324M cùng với các Gateway thế hệ mới để chuyển dịch
mã sang giao thức mới
Trang 21Ở đây, chúng ta chỉ quan tâm đến mạng chuyển gói, tức là LAN, WAN, Internet, ADSL… vì loại mạng này đang được sử dụng phổ biến nhất ở nước ta cũng như trên thế giới H.323 và SIP là hai bộ chuẩn và giao thức hướng dẫn xây dựng các hệ thống hội nghị truyền hình trên loại mạng này
2.2 Chuẩn H.323:
2.2.1 Giới thiệu:
Chuẩn H.323 cung cấp một cơ sở cho các cuộc liên lạc audio, video, và dữ liệu khác xuyên qua các mạng nền tảng IP, bao gồm cả Internet Bằng cách tuân theo H.323, các sản phẩm và các ứng dụng đa phương tiện từ nhiều nhà sản xuất có thể hoạt động tương tác với nhau, cho phép người dùng liên lạc với nhau mà không có sự lo lắng về tính tương hợp H.323 là chìa khóa cơ bản cho các sản phẩm dựa trên mạng chuyển gói cho các ứng dụng dành cho người tiêu dùng bình thường, doanh nghiệp, giải trí
H.323 là một phần của một chuỗi lớn hơn các tiêu chuẩn liên lạc, thứ cho phép thực hiện hội nghị truyền hình xuyên suốt qua giới hạn của các mạng làm việc khác nhau Được biết đến là H.32X, chuỗi các tiêu chuẩn này bao gồm H.320 và H.324, hai chuẩn giải quyết các cuộc liên lạc tương ứng trên mạng ISDN và PSTN
Trang 222.2.2 Các lợi ích cốt lõi của H.323
2.2.2.1 Các chuẩn codec
H.323 thiết lập các chuẩn nén và giải nén cho các luồng dữ iệu audio và video, đảm bảo rằng các thiết bị từ các nhà cung cấp khác nhau sẽ có sự hỗ trợ chung ở một phạm vi nào đó
2.2.2.2 Sự tương tác hoạt động
H.323 được thiết kế để chạy ở tầng trên cùng của các hạ tầng mạng thông dụng Khi công nghệ về mạng làm việc phát triển, và khi các kỹ thuật quản lý băng thông cải thiện, các giải pháp trên nền tảng H.323 sẽ có khả năng giành lợi thế từ các khả năng nổi trội này
Mặc dù H.323 có thể hỗ trợ các hội nghị gồm ba hoặc nhiều hơn các điểm tham gia
mà không cần một đơn vị điều khiển đa điểm (multipoint control unit – MCU) chuyên biệt Nhưng MCU sẽ cung cấp một kiến trúc mạnh mẽ và linh hoạt hơn để tổ chức các cuộc hội nghị đa điểm.Các khả năng hỗ trợ đa điểm cũng có thể bao gồm vào các thành phần khác trong một hệ thống H.323
2.2.2.5 Quản lý băng thông
Video và audio là loại dữ liệu có cường độ băng thông lớn và có thể làm cản trở việc hoạt động trên mạng H.323 đưa ra cách giải quyết vấn đề này bằng cách cung cấp sự quản lý băng thông Bộ phận quản lý băng thông có thể giới hạn số lượng kết nối đồng thời trong mạng làm việc của chúng hoặc lượng băng thông sẵn sàng cho các ứng dụng H.323 Các giới hạn này đảm bảo rằng sự tắc nghẽn truyền gửi sẽ không xảy ra
Trang 232.2.2.6 Hỗ trợ multicast
H.323 hỗ trợ truyền gửi multicast trong các hội nghị đa điểm Multicast gửi một gói tin đơn đến một mạng con bao gồm nhiều điểm đích trên mạng mà không cần sự lập lại Ngược lại, unicast thực hiện gửi thông qua nhiều kết nối điểm – điểm, trong khi broadcast gửi đến tất cả điểm đến có trên mạng Với unicast và broadcast, mạng làm việc được sử dụng không hiệu quả khi các gói tin được lập lại xuyên suốt mạng Việc truyền gửi multicast sử dụng băng thông hiệu quả hơn khi tất cả các trạm trong một nhóm multicast chỉ truyền đi một luồng dữ liệu đơn duy nhất
2.2.2.7 Sự linh hoạt
Một hội nghị H.323 có thể bao gồm các điểm tham gia với các khả năng khác nhau
Ví dụ, một đầu cuối chỉ có các chức năng audio vó thể tham gia một hội nghị với các đầu cuối có chức năng video và/hoặc data Hơn nữa, một đầu cuối H.323 đa phương tiện có thể chia sẻ phần dữ liệu của một hội nghị truyền hình với một đầu cuối chỉ hộ trợ data T.120, trong khi vẫn chia sẻ tiếng nói, âm thanh và dữ liệu với các đầu cuối khác
2.2.2.8 Hội nghị liên mạng
Nhiều người dùng muốn hội nghị từ mạng LAN của mình đến một địa điểm ở xa Ví
dụ, H.323 thiết lập một phương tiện liên kết các hệ thống destop trên mạng LAN với nhóm các hệ thống trên nền tảng ISDN H.323 sử dụng công nghệ codec thông dụng
từ nhiều chuẩn hội nghị truyền hình khác nhau để làm giảm tối đa trì hoãn do chuyển
mã và để cung cấp hiệu xuất tối ưu
2.3 Giao thức Session Initiation Protocol:
Session Initiation Protocol (SIP) là một giao thức tín hiệu (signaling protocol) định nghĩa bởi Internet Engineering Task Force (IETF), được sử dụng rộng rãi cho việc
điều khiển các phiên liên lạc đa phương tiện như là các cuộc gọi thoại và video trên giao thức IP Giao thức này có thể được dùng để tạo, chỉnh sửa và kết thúc các phiên hai nhóm hoặc nhiều nhóm tham gia, chứa một hoặc vài luồng dữ liệu phương tiện khác nhau Những ví dụ ứng dụng tiện lợi bao gồm hội thảo truyền hình, phân phối
Trang 24luồng đa phương tiện, thông điệp tức thời, thông tin hiện diện (presence information), truyền gửi tập tin, và trò chơi trực tuyến
SIP nguyên bản được thiết kế bởi Henning Schulzrinne và Mark Handley bắt đầu vào năm 1996 Phiên bản chi tiết kỹ thuật mới nhất là RFC 3261 từ IETF Network Working Group thông qua vào năm 2002
Giao thức SIP là một giao thức lớp Ứng dụng (Application Layer) được thiết kế độc lập với lớp vận chuyển (Transport layer) bên dưới ; nó có thể chạy trên Transmission Control Protocol (TCP), User Datagram Protocol (UDP), hoặc Stream Control Transmission Protocol (SCTP) Nó là một giao thức nền văn bản, kết hợp từ nhiều thành phần của Hypertext Transfer Protocol (HTTP) và Simple Mail Transfer Protocol (SMTP)
Tuy được sử dụng cho nhiều ứng dụng khác nhau, nhưng SIP không phải là một giải pháp cho tất cả vấn đề, bởi vì nó không bao giờ được xây dựng theo cách đó Hãy xem hai giả thuyết nền tảng đằng sau thiết kết của SIP :
- Sử dụng lại các giao thức đang tồn tại : SIP được thiết kế đăc biệt để sử dụng lại nhiều giao thức và các khái niệm thiết kế giao thức Ví dụ, SIP đã được mô hình theo HTTP, sử dụng các URL (Uniform Resource Locator) cho định địa chỉ và SDP để truyền đạt thông tin phiên liên lạc
- Tối đa khả năng tương tác : SIP cũng được thiết kế để nó dễ dàng liên kết chặc chẽ các chức năng của nó với các giao thức và ứng dụng đang tồn tại khác, như là e-mail và trình duyệt Web SIP thực hiện điều này bằng cách giới hạn
nó theo một nguyên lý modul – chỉ giống như nhiều giao thức Internet khác, tập trung vào một tập các chức năng cụ thể
Chính sự không cố tự giải quyết tất cả từng công việc đã làm SIP khác biệt với H.323 Về bản chất thì SIP chỉ là một giao thức trung gian có vai trò quan trọng trong
hệ thống liên lạc đa phương tiện Những nhà phát triển ứng dụng theo nền SIP tin tưởng rằng SIP là một giải pháp gọn nhẹ, linh hoạt và tương tác tốt với các giao thức khác; tốt hơn nhiều mô hình cồng kềnh, phức tạp do quan tâm quá nhiều thứ mà H.323 mang lại
Trang 252.4 So sánh:
Để đánh giá một cách khách quan về lợi ích và hạn chế từ hai mô hình H.323 và SIP mang lại, ta xem qua một bảng so sánh hai mô hình trên theo một số yếu tố quan trọng sau:
Lý thuyết
H.323 được thiết kế với một sự thấu hiểu tốt về các yêu cầu cho sự liên lạc trên mạng IP, bao gồm hội nghị audio, video, và data Nó định nghĩa một hệ thống hoàn chỉnh và thống nhất để thực hiện những chức năng này, tận dụng sức mạng của các giao thức IETF và ITU-T
Và kết quả, người dùng có thể mong đợi có căn cứ ở H.323 về sự mạnh mẽ và tính hoạt động tương tác ổn định giống như những mạng điện thoại PSTN ngày nay
SIP được thiết kế để thiết lập một phiên làm việc giữa hai điểm liên lạc, và là một thành phần module, linh hoạt của kiến trúc Internet
Nó có một khái niệm mờ nhạt của
một cuộc gọi ( gọi là session với các luồng phương
phiên-tiện), không có một sự hỗ trợ nào cho việc hội nghị đa phương tiện,
và sự tích hợp vào các chuẩn rời rạc khác phần lớn được giao cho các nhà cung cấp dịch vụ
Và kết quả, SIP hiện giờ đã là một giao thức có 14 năm tuổi với một
số lượng lớn các vấn đề về tính tương tác Khi SIP được triển khai thành công trong một vài môi trường, thì những hệ thống đó chỉ
là những môi trường đóng với sự tương tác duy nhất là với mạng PSTN
Trang 26phức tạp của hệ thống được ràng buộc Không có hệ thống liên lạc nào là đơn giản, nhưng H.323 nỗ lực định nghĩa rõ ràng tập cơ bản các chức năng mà tất cả thiết bị phải hỗ trợ
mở rộng thêm video, chia sẻ ứng dụng, thông điệp tức thời, thông tin hiện diện, v.v… Với mỗi chức năng thêm vào, độ phức tạp tăng thêm mà hầu như không có hướng dẫn chính thức kỹ càng chỉ ra các chức nằng nào mà các thiết bị cho trước phải hỗ trợ Điều này dẫn tới các hệ thống phức tạp hơn với nhiều vấn đề về tương tác hơn SIP được giới thiệu là một giao thức đơn giản, nhưng thực tế thì
nó chỉ có bề ngoài đơn giản
Độ tin cậy
H.323 đã định nghĩa một số đặc điểm để giải quyết các thất bại của các thực thể mạng trung gian, bao
gồm các gatekeeper thay alternate gatekeeper, điểm cuối thay thế-alternate enpoint và các
thế-biện pháp để phục hồi sau kết nối thất bại
SIP không định nghĩa các quy trình quản lý thất bại của thiết bị Nếu một proxy (đơn vị server chuyển tiếp thông tin trung gian của SIP) thất bại, user agent (thực thể phía người dùng của hệ thống) phát hiện việc này thông qua hết hạn thời gian chờ đợi Và user agent phải gửi lại thông điệp mời kết nối tới một proxy khác, làm dẫn tới các trì hoãn khi thiết lập cuộc gọi
Các thông điệp SIP được mã hóa trong định dạng văn bản ASCII, phù hợp cho con người có thể đọc Nhưng hệ quả là các thông điệp sẽ
Trang 27thông tin Các thông điệp được mã hóa và
giải mã hiệu quả bởi các máy tính, với các bộ giải mã có mặt ở khắp nơi
lớn và ít phù hợp với các mạng làm việc, nơi băng thông, sự trì hoãn, và việc xử lý là một mối quan tâm
Thương
lượng khả
năng
Các thực thể H.323 có thể trao đổi các khả năng (các loại codec mã hóa và giải mã hiện có) và thương lượng các kênh nào được mở, bao gồm audio, video và data
Các kênh đơn lẻ có thể được mở
và đóng suốt cuộc gọi mà không làm gián đoạn các kênh khác
Các thực thề SIP chỉ có các cách thức giới hạn để trao đổi về khả năng Phần lớn đều là cách tiếp cận “thử và lỗi” – “trial and error” trong trường hợp bên gọi không
hỗ trợ các phương tiện được đề xuất
Hội nghị
truyền hình
và data
H.323 hỗ trợ đầy đủ hội nghị video
và data Các thủ tục được đưa ra để cung cấp điều khiển hội nghị cũng như sự đồng bộ hóa các luồng audio và video (lip synchronization – đồng bộ hóa môi)
SIP có hỗ trợ giới hạn cho video
và không có hỗ trợ nào cho truyền data trong hội nghị như giao thức T.120 của H.323 SIP không có các giao thức để điều khiển hội nghị và không có kỹ thuật nào để đồng bộ hóa môi Nó không có cách thức chuẩn để phục hồi từ mất mát gói tin trong một luồng video (trong khi H.323 có lệnh
“video fast update” hỗ trợ việc này)
Bảng 2.1 Bảng so sánh H.323 và SIP
Thông qua một số so sánh các yếu tố trên giữa H.323 và SIP, ta có thể kết luận rằng H.323 là một mô hình lớn và cồng kềnh hơn SIP, tuy nhiên H.323 lại có nhiều ưu điểm và độ tin cậy cao hơn để xây dựng các hệ thống liên lạc đa phương tiện như hội
Trang 28nghị truyền hình Vì vậy trong đề tài này, nhóm chúng em đã chọn chuẩn H.323 để đào sâu nghiên cứu và thử nghiệm
2.5 Kiến Trúc H.323:
Một hệ thống H.323 được định nghĩa gồm nhiều thành phần mạng khác nhau làm việc chung để tạo ra nhiều tính năng liên lạc đa phương tiện Những thành phần đó là các Terminal (đầu cuối), Multipoint Control Unit (MCU – đơn vị điều khiển đa điểm), Gateway (cổng liên kết sang hạ tầng loại mạng khác) và Gatekeeper (bộ phận quản lý hệ thống) Tổng hợp lại thì các terminal, MCU và gateway thường được xem như là các endpoint (điểm dừng)
Không phải tất cả các thành phần đều cần phải có, chỉ cần ít nhất hai terminal là có thể tạo một liên lạc giữa hai điểm Trong hầu hết các triển khai H.323, một gatekeeper được triển khai cho yêu cầu đáp ứng việc phân giải địa chỉ
Để tránh nhầm lẫn, thì từ đây trở về sau trong báo cáo này, các thành phần trong hệ thống H.323 được đề cập đến bằng các thuật ngữ tiếng Anh nguyên bản thay vì dùng các cụm từ phiên dịch ra tiếng Việt
Hình 2.1 Mô hình tổng quan kiến trúc H.323
Trang 292.5.1 Các thành phần trong hệ thống:
2.5.1.1 Terminal:
Các terminal trong một mạng H.323 là yếu tố cơ bản nhất trong hệ thống H.323, là các thiết bị mà người dùng sẽ thông thường bắt gặp Chúng thường tồn tại trong dạng một điện thoại IP đơn giản, một máy tính PC được tích hợp khả năng hoặc một hệ thống hội nghị truyền hình chuyên dụng độ nét cao
Về cơ bản, tất cả các đầu cuối H.323 đều phải được hỗ trợ khả năng truyền dữ liệu audio hai chiều, còn video và data là tùy chọn Để thực hiện các chức năng này, trong một terminal của H.323 có một thứ được mô tả là ngăn xếp giao thức (Protocol stack
- như Hình 2.2) Ngăn xếp giao thức bao gồm nhiều giao thức khác nhau được định nghĩa bởi ITU, IETF và các tổ chức khác Mỗi giao thức có nhiệm vụ riêng biệt và được sắp xếp phối hợp với nhau để cung cấp hoàn chỉnh các chức năng cần có của một terminal H.323
Hình 2.2 Mô hình lý thuyết hoàn chỉnh của ngăn xếp giao thức
chứa trong H.323 terminal
Trong đó, một số giao thức quan trọng cần được hỗ trợ như:
- Giao thức H.225 phục vụ trong quá trình thiết lập và hủy bỏ cuộc gọi
Trang 30- Giao thức H.225 RAS (Registration/Admision/Status) thực hiện các chức năng đăng ký, thu nhận, … với gatekeeper
- Giao thức Q.931 là giao thức báo tín hiệu cuộc gọi được kế thừa từ mạng PSTN Việc sử dụng giao thức này giúp việc hoạt động tương tác giữa mạng chuyển gói mà H.323 hỗ trợ với mạng PSTN được dễ dàng hơn
- Giao thức RTP/RTCP để truyền và quản lý các luồng audio, video,…
Một terminal H.323 cũng có thể được trang bị thêm các tính năng như:
- Mã hóa và giải mã các tính hiệu audio, video
- Hỗ trợ giao thức T.120 phục vụ trao đổi thông tin số liệu
- Tương thích với MCU để hỗ trợ các cuộc gọi hay hội nghị đa điểm
2.5.1.2 Gateway:
Gateway là một yếu tố tùy chọn trong một hội nghị H.323 Gateway cung cấp nhiều dịch vụ, nhưng thông dụng nhất là chức năng thông dịch tín hiệu giữa các endpoint H.323 và các terminal thuộc loại hệ thống khác (ví dụ H.320 hay H.324) trong một phiên hội nghị Chức năng này bao gồm thông dịch giữa các định dạng truyền gửi (VD: H.225.0 sang H.221) và giữa các thủ tục liên lạc (VD: H.245 sang H.242) Bên cạnh đó, Gateway còn thông dịch giữa các codec audio và video và thực hiện thiết lập, kết thúc cuộc gọi trên cả phía mạng chuyển gói (LAN, Internet,…) và mạng chuyển mạch (ISDN) Hình 2.3 miêu tả một Gateway H.323/PSTN
Hình 2.3 Gateway H.323/PSTN
Trang 31Nói chung, mục đích của Gateway là phản ánh đặc tính của một endpoint trên mạng chuyển gói sang endpoint trên mạng chuyển mạch và ngược lại Các ứng dụng chính của Gateway giống như sau:
- Thiết lập các liên kết với các đầu cuối trên mạng tuần tự PSTN
- Thiết lập các liên kết với các terminal thuộc hệ thống H.320 trên mạng chuyển mạch nền công nghệ ISDN
- Thiết lập các liên kết với các terminal thuộc hệ thống H.324 trên mạng PSTN Gateway không cần thiết nếu các kết nối đến các mạng loại khác là không cần thiết, bởi vì các endpoint có thể liên lạc trực tiếp với nhau trên cùng mạng
2.5.1.3 Gatekeeper:
Gatekeeper là thành phần quan trọng nhất của một mạng H.323 Nó hoạt động như một điểm trung tâm cho tất cả cuộc gọi trong vùng quản lý của nó và cung cấp các dịch vụ điều khiển cuộc gọi đến các endpoint đã đăng ký với nó
Hình 2.4 Vùng quản lý của Gatekeeper H.323
Gatekeeper thực hiện hai chức năng điều khiển cuộc gọi quan trọng Thứ nhất là phiên dịch địa chỉ từ hình thức (địa chỉ alias) trên mạng của các terminal và gateway sang các địa chỉ IP (còn gọi là địa chỉ giao vận), như đươc dịnh nghĩa trong bản đặc
tả chuẩn RAS Chức năng thứ hai là quản lý băng thông, chức năng này cũng được thiết kế trong RAS Ví dụ, nếu một người quản lý mạng đã chỉ định một ngưỡng giới hạn cho số lượng cuộc hội nghị đồng thời trên mạng của hệ thống, Gatekeeper có thể
từ chối tạo thêm các kết nối một khi đã đạt đến ngưỡng giới hạn Kết quả là giới hạn được tổng cộng băng thông hội nghị đến một phần trong tổng số băng thông hiện có; phần dung lượng còn lại dùng dành cho email, truyền tập tin, và các giao thức khác
Trang 32Một tập hợp tất cả Terminal, Gateway, và Multipoint Control Units được quản lý bởi một Gatekeeper được gọi là một H.323 Zone (vùng H.323-như Hình 2.4)
Một chức năng tùy chọn nhưng giá trị của gatekeeper là định tuyến các cuộc gọi H.323 Bằng cách định tuyến một cuộc gọi thông qua một gatekeeper, nó có thể được điều khiển hiệu quả hơn Các nhà cung cấp dịch vụ cần khả năng này để có thể lập hóa đơn cho các cuộc gọi thông qua mạng của họ Dịch vụ này còn có thể được dùng để định tuyến lại một cuộc gọi sang endpoint khác nếu một endpoint được gọi không hiện diện Bên cạnh đó, một gatekeeper có khả năng định tuyến cuộc gọi có thể giúp cho việc đưa ra các quyết định liên quan đến cân bằng giữa nhiều gateway
Ví dụ, nếu một cuộc gọi đươc định tuyến thông qua một gatekeeper, gatekeeper đó có thể chuyển hướng cuộc gọi đến một trong nhiều gateway dựa trên logic ưu tiên nào
đó
Một gatekeeper không bắt buộc cần có trong một hệ thống H.323 Tuy nhiên, nếu có gatekeeper hiện diện thì các terminal phải sử dụng dịch vụ mà gatekeeper cung cấp Các chức năng cần có của Gatekeeper:
- Phiên dịch địa chỉ: phiên dịch địa chỉ hình thức sang địa chỉ vận chuyển bằng một bảng lưu được cập nhật với các thông điệp đăng ký
- Điều khiển giải thông: sự cho phép truy cập vào hệ thống mạng được thông qua các thông điệp Admission Request, Confirm và Reject (ARQ/ARC/ARJ) (Yêu cầu, xác nhận và từ chối giải thông) Sự truy cập vào hệ thống mạng có thể dựa trên sự cho phép gọi, băng thông, hoặc các tiêu chuẩn khác
- Điều khiển băng thông: hỗ trợ cho các thông điệp Bandwidth Request, Confirm và Reject (BRQ/ BCF/ BRJ) Chức năng này có thể được dựa trên sự quản lý băng thông
Các chức năng tùy chọn của Gatekeeper:
- Tín hiệu điều khiển cuộc gọi: trong hội nghị điểm – điểm, gatekeeper có thể
xử lý các tín hiệu điều khiển cuộc gọi Q.931 Hoặc nó có thể truyền trực tiếp các tín hiệu Q.931 của các endpoint cho nhau
Trang 33- Sự cấp phép gọi: Gatekeeper có thể từ chối một cuộc gọi từ một terminal dựa trên đặc tả Q.931 Nguyên nhân có thể bao gồm sự giới hạn truy cập đến các terminal hoặc gateway cụ thể, hoặc giới hạn trong một khoảng thời gian nào
đó
- Quản lý băng thông: gatekeeper có thể từ chối các cuộc gọi từ một terminal nếu nó xác định rằng lượng băng thông cần cấp không đủ Chức năng nào hoạt động suốt một cuộc gọi hoạt động nếu một terminal yêu cầu thêm băng thông
bổ sung
- Quản lý cuộc gọi: Gatekeeper có thể duy trì một danh sách các cuộc gọi H.323 đang hoạt động để biết được một terminal được gọi có bận hay không hoặc để cung cấp thông tin cho chức năng quản lý băng thông
2.5.1.4 Multipoint Control Unit (MCU)
Multipoint Control Unit (MCU) hỗ trợ hội nghị giữa ba hoặc nhiều hơn endpoint Một MCU bao gồm một Multipoint Controller (MC – bộ điều khiển đa điểm), một bộ phận cần thiết và không có hoặc nhiều Multipoint Processor (MP – bộ xử lý đa điểm) MC quản lý các phiên thương lượng khả năng dựa theo chuẩn H.245 giữa tất
cả terminal để xác định các khả năng chung cho xử lý audio và video MC cũng điều khiển các tài nguyên của hội nghị bằng cách xác định luồng audio hoặc video nào sẽ được multicast, nếu có hỗ trợ multicast
MC không làm việc trực tiếp với bất kỳ luồng phương tiện nào Nó để việc đó cho
MP, bộ phận sẽ trộn, chuyển đổi và xử lý các bit dữ liệu audio, video và/hoặc data Các chức năng của MC và MP có thể tồn tại trong một bộ phận chuyên dụng hoặc một phần trong các bộ phận khác của H.323
2.5.2 Hội nghị đa điểm:
Các khả năng hội nghị đa điểm được thực hiện với nhiều phương thức và hình dạng khác nhau dưới H.323 Bản khuyến nghị sử dụng các khái niệm hội nghị tập trung và phân tán, như miêu tả trong hình dưới
Trang 34Hình 2.5 Sơ đồ mô hình hội nghị tập trung và phân tán
Hội nghị đa điểm tập trung yêu cầu sự tồn tại của một MCU để làm thuận tiện hơn cho một hội nghị đa điểm Tất cả terminal gửi các luồng audio, video, data, và điều khiển đến MCU theo kiểu điểm – điểm MC quản lý tập trung hội nghị sử dụng các chức năng điều khiển H.245, các chức năng này cũng định nghĩa các khả năng cho mỗi terminal MP thì thực hiện các việc trộn (mixing) audio, phân phối data, và chuyển/trộn (switching/ mixing) video thường thực hiện trong các hội nghị đa điểm
và gửi các luồng kết quả cho các terminal tham gia MP cũng có thể cung cấp chức năng chuyển đổi giữa các codec và bit rate (tốc độ bit) và có thể sử dụng multicast để phân phối video đã xử lý Một MCU điển hình hỗ trợ hội nghị đa điểm tập trung bao gồm một MC và một MP xử lý audio, video và/hoặc một MP cho data
Các hội nghị đa điểm phân tán có thể sử dụng công nghệ multicast Các terminal H.323 tham gia multicast audio và video tới các terminal tham gia khác mà không cần gửi dữ liệu đến một MCU Chú ý rằng việc điều khiển dữ liệu của các điểm tham gia vẫn được xử lý bởi MCU, và thông tin của Kênh Đều Khiển H.245 vẫn được truyền theo chế độ điểm – điểm đến một MC
Các terminal bên nhận phải chịu tránh nhiệm xử lý nhiều luồng audio và video truyền đến chúng Các terminal dùng các Kênh Điều Khiển H.245 để thông báo đến một
MC là bao nhiêu luồng audio và video chúng có thể tự giải mã Số lượng khả năng xử
Trang 35lý đồng thời của một terminal không giới hạn số lượng luồng video và audio được multicast trong hội nghị MP cũng có thể cung cấp sự chọn lựa video và việc trộn audio trong trong một hội nghị đa điểm phân tán
Các hội nghị đa điểm lai sử dụng một sự kết hợp các tính năng tập trung và phân tán Các tín hiệu H.245 và cả một luồng audio hoặc video được xử lý thông qua các thông điệp điểm- điểm đến MCU Các tín hiệu còn lại (audio và video) được truyền đến các terminal H.323 thông qua multicast
Một lợi thế của hội nghị tập trung là tất cả H.323 terminal đều hỗ trợ các liên lạc điểm – điểm MCU có thể xuất ra nhiều unicast đến các bên tham gia hội nghị và không có khả năng mạng đặc biết nào cần thiết Một cách thay thế khác là MCU có thể nhận nhiều unicast, trộn audio và chuyển video, và xuất ra một luồng multicast để tiết kiệm băng thông
H.323 cũng hỗ trợ các hội nghị đa điểm pha trộn, mà trong đó một vài terminal thì nằm trong hội nghị tập trung, số còn lại thì nằm trong hội nghị phân tán, và một MCU cung cấp cầu nối giữa hai loại hội nghị Terminal không cần quan tâm bản chất pha trộn của hội nghị, mà chỉ biết loại hình hội nghị mà nó nằm trong đó hoạt động Bằng việc hỗ trợ cả các tiếp cận multicast và unicast, H.323 mở rộng cho cả các công nghệ mạng hiện tại và tương lai Multicast sử dụng hiệu quả băng thông mạng hơn, nhưng lại đưa tải trọng tính toán lớn hơn cho các terminal, chúng phải tự trộn và chuyển tất cả các luồng audio/video chúng nhận được Thêm nữa, multicast cần có sự
hỗ trợ trong các router và switch của mạng làm việc
Một MC có thể được đặt trong một Gatekeeper, Gateway, Terminal, hoặc MCU Hãy xem xét một ví dụ đơn giản nơi mà một hội nghị đa điểm được thiết lập giữa ba người dùng (hình dưới) Một terminal người dùng (client B) thực hiện chức năng
MC Tất cả terminal có thể sử dụng multicast để tham gia vào một hội nghị phân tán Một chức năng MP trên mỗi điểm nút sẽ trộn và trình diễn các tín hiệu audio và video đến người dùng Tiếp cận này làm tối tiểu nhu cầu cho các tài nguyên mạng chuyên biệt Tuy nhiên, mạng làm việc phải được thiết lập để hỗ trợ multicast
Trang 36Hình 2.6 Mô hình hội nghị kiểu phân tán và lai
Một MCU riêng lẻ có thể được dùng để chỉ làm việc với các chức năng audio, data,
và điều khiển Trong cách thiết lập này video có thể vẫn được multicast để bảo tồn băng thông MCU này có thể là một hệ thống chuyên dụng hoặc một terminal với sức mạnh bổ sung
2.5.3 Các giao thức sử dụng trong H.323:
Khuyến nghị H.323 đưa ra một tập các giao thức phục vụ cho quá trình truyền dữ liệu phương tiện thời gian thực trên mạng chuyển gói Các giao thức đã được giới thiệu như là một ngăn xếp giao thức ở Hình 2.2 Phần này, ta sẽ giải thích rõ hơn tác dụng của một số giao thức quan trọng
2.5.3.1 Giao thức H.225 RAS (Registration/Admission/Status):
Các thông điệp H.225 RAS được dùng để trao đổi giữa các endpoint và gatekeeper cho các chức năng như tìm gatekeeper, đăng ký, quản lý băng thông… Kênh này độc lập với kênh báo hiệu cuộc gọi và kênh điều khiển H.245 Thủ tục mở kênh logic H.245 không dùng để thiết lập kênh báo hiệu RAS Trong môi trường mạng không có gatekeeper thì không sử dụng kênh báo hiệu RAS Nếu có gatekeeper thì kênh báo hiệu RAS được mở giữa endpoint và gatekeeper, và kênh này được mở trước khi thiết lập các kênh khác giữa các H.323 endpoint
Kênh báo hiệu RAS H.225.0 là kênh không tin cậy vì vậy chúng được tải đi trong gói tin UDP, mang thông diệp dùng trong quá trình tìm gatekeeper và đăng ký endpoint liên quan đến địa chỉa định danh của endpoint trong địa chỉ chuyển tải kênh báo hiệu
Trang 37cuộc gọi Vì kênh báo hiệu RAS không tin cậy nên chuển H.225.0 đưa ra thời gian timeout và được đếm lại cho mỗi thông điệp khác nhau Một endpoint hay gatekeeper không đáp ứng được yêu cầu trong thời gian timeout thì có thể dùng thông điệp RIP (Request In Progress) để thông báo rằng nó vẫn đang tiếp tục yêu cầu Một endpoint hay gatekeeper nhận RIP sẽ xóa timeout của nó và đếm lại
Các công việc mà kênh báo hiệu RAS đảm nhiệm:
- Tìm gatekeeper: là quá trình điểm cuối tìm một gatekeeper để nó có thể đăng
ký
- Đăng ký: để tham gia vào một vùng do gatekeeper quản lý, các điểm cuối phải đăng ký với gatekeeper và thông báo địa chỉ giao vận và các địa chỉ hình thức của có
- Định vị các enpoint: là tiến trình tìm địa chỉ giao vận cho một endpoint khi biết địa chỉ hình thức của nào (thông qua gatekeeper) Mỗi khi có cuộc gọi, gatekeeper nhận được địa chỉ hình thức của phía được gọi, nó phải thực hiện thủ tục này để xác định được địa chỉ dùng để truyền tin cho bên bị gọi
- Các điều khiển khác: Giao thức RAS còn được dùng trong các cơ chế điều khiển khác như điều khiển thu nhận để hạn chế số endpoint tham gia vào miền, điều khiển giải thông, điều khiển giải phóng khỏi gatekeeper
2.5.3.2 Giao thức báo hiệu cuộc gọi H.225:
Giao thức H.225 dùng để thiết lập liên kết giữa các endpoint H.323, qua liên kết đó các luồng thời gian thực sẽ được truyền đi Báo hiệu cuộc gọi ở mạng H.323 là trao đổi các thông điệp của giao thức 225 qua một kênh báo hiệu tin cậy Do yêu cầu tin cậy của báo hiệu nên các thông báo của H.225 sẽ được truyền đi trong gói tin TCP Kênh báo hiệu cuộc gọi độc lập với kênh RAS và kênh điều khiển H.245 Không dùng thủ tục mở kênh logic H.245 để thiết lập kênh báo hiệu cuộc gọi Kênh báo hiệu cuộc gọi được mở trước khi thiết lập kênh H.245 và các kênh logic giữa các H.323 endpoint Kênh báo hiệu cuộc gọi là một kênh tin cậy, được dùng đề mang thông điệp điều khiển cuộc gọi H.225.0
Trang 38Quá trình báo hiệu cuả cuộc gọi được bắt đầu bởi bản tin SETUP được gửi đi trên kênh báo hiệu tin cậy H.225.0 Theo sau bản tin này sẽ là chuỗi các bản tin phục vụ cho quá trình thiết lập cuộc gọi với trình tự dựa trên khuyến nghị H.225 mà đầu tiên
là bản tin yêu cầu giám sát bắt buộc Yêu cầu này cùng với những thông điệp sau đó liên quan đến quá trình khai báo/ tìm kiếm giữa terminal và gatekeeper nên sẽ được truyền đi trên kênh không tin cậy RAS Quá trình này kết thúc khi terminal nhận được địa chỉ truyền tải an toàn trong thông điệp CONNECT và địa chỉ an toàn này sẽ được dùng để gửi các thông điệp điều khiển H.245
Trong hệ thống không có gatekeeper, kênh báo hiệu cuộc gọi được mở giữa hai endpoint liên quan đến cuộc gọi Thông điệp báo hiệu cuộc gọi được truyền trực tiếp giữa hai endpoint gọi và endpoint bị gọi, sử dụng địa chỉ truyền tải kênh báo hiệu Trong trường hợp này, xem như endpoint gọi đã biết địa chỉ truyền tải kênh báo hiệu cuộc gọi của endpoint bị gọi nên có thể truyền trực tiếp
Trong hệ thống có gatekeeper, kênh báo hiệu cuộc gọi được mở giữa endpoint và gatekeeper, hoặc giữa các endpoint với nhau (do gatekeeper quyết định)
2.5.3.3 Giao thức điều khiển cuộc gọi H.245:
Giao thức điều khiển H.245 đùng để thực hiện việc giám sát các hoạt động của các thực thể H.323 bao gồm: trao đổi khả năng các terminal, đống mở kênh logic, điều khiển luồng, quyết định chủ tớ, và các lệnh, chỉ thị khác
Kênh H.245 được thiết lập giữa hai enpoint, một endpoint với MC, hoặc một endpoint với gatekeeper Các endpoint chỉ thiết lập một kênh H.245 duy nhất cho mỗi cuộc gọi mà nó tham gia Kênh này sử dụng các thông điệp và thủ tục trong chuẩn H.245 Một terminal, MCU, gateway, hoặc gatekeeper có thể hỗ trợ nhiều cuộc gọi, do đó có nhiều kênh điều khiển H.245
Khuyến nghị H.245 chỉ ra một số phương thức độc lập hỗ trợ báo hiệu endpoint – endpoint Một phương thức được chỉ rõ bởi cú pháp, ngữ nghĩa, và một tập các thủ tục của nó để chỉ rõ sự trao đổi thông diệp và sự tương tác với người dùng Các endpoint H.323 sẽ hỗ trợ cú pháp, ngữ nghĩa và các thủ tục sau:
Trang 39- Thương lượng khả năng: trước khi tiến hành cuộc gọi đa phương tiện, mỗi
terminal phải biết được hả năng nhận và giải mã tín hiệu của terminal kia Biết được khả năng nhận của terminal bên nhận, terminal bên gửi sẽ giới hạn nội dung của thông tin mà nó truyền đi Ngược lại, khi terminal bên truyền thông báo khả năng truyền của nó, sẽ cho phép terminal nhận lựa chọn chế độ thu phù hợp Thủ tục này được thực hiện thông qua so sánh các bảng tập hợp khả năng quản lý các luồng dữ liệu đồng thời của mỗi terminal gửi cho nhau, trong quá trình gọi các terminal có thể khai báo lại tập hợp các khả năng của nó bất
kỳ lúc nào Tập hợp các khả năng của mỗi terminal được cung cấp trong thông điệp H.245 TerminalCapabilitySet
- Báo hiệu kênh logic: một kênh logic có thể hiểu là một kết nối được mở để
vận chuyển luồng dữ liệu đa phương tiện, mỗi kênh được dùng cho một chiều của một luồng dữ liệu phương tiện Kênh này có thể là unicast hoặc multicast H.245 cung cấp để đóng mở các các kênh logic Sau khi kênh logic được mở, thì các terminal mới nhận được các luồng đa phương tiện của nhau
- Xác định chủ tớ: thủ tục này nhằm giải quyết vấn đề xung đột giữa hai điểm
cuối đều có khả năng MC khi cùng tham gia vào một cuộc gọi hội nghị, hoặc giữa hai điểm cuối khi muốn mở một kênh thông tin một chiều
Các thông điệp của H.245 bao gồm: Request, Respone, Command, và Indication
4.5.3.4 Giao thức Real-time Transport Protocol:
Real-time Protocol (RTP) là một giao thức chuẩn Internet để truyền các lường thông tin giữa các thành phần tương tác trên mạng RTP cung cấp các dịch vụ về dữ liệu mang tính thời gian thực như video và audio Thông thường các ừng dụng chạy RTP dựa trên UDP để tận dụng khả năng multiplexing và kiểm lỗi RTP hỗ trợ việc truyền
dữ liệu đến nhiều địa chỉ dích bằng cách dùng cơ chế multicast nếu được hỗ trợ bởi
hệ thống mạng
Các dịch vụ cung cấp bởi RTP bao gồm các cơ chế khôi phục thời gian, phát hiện các lỗi, bảo mật và xác định nội dung RTP có thể truyền tải một chiều như dịch vụ video theo yêu cầu cũng như các dịch vụ trao đổi qua lại như điện thoại Internet
Trang 40Hoạt động của RTP được hỗ trợ bởi một thủ tục khác là RTP Control Protocol (RTCP) để nhận các thông tin phản hồi về chất lượng truyền dẫn và các thông tin về thành phần tham dự các phiên hiện thời
Hoạt động của giao thức
RTP không có sẵn các cơ chế để đảm bảo việc truyền theo thời gian hay các kỹ thuật
về QoS (Quality of Service – chất lượng dịch vụ) mà dựa vào các dịch vụ ở lớp dưới
để thực hiện những khả năng này RTP không đảm bảo an toàn hay thứ tự các packet khi nhận, số thứ tự trong gói tin RTP cho phép bên nhận sắp xếp lại các gói tin theo thứ tự khi truyền của bên gửi Ngoài ra, số thứ tự cũng có thể được tận dụng để xác định vị trí thích hợp của một packet, ví dụ trong việc giải mã video, mà không cần phải giải mã các packet theo thứ tự
Các gói tin truyền trên mạng Internet có trễ và jitter không dự đoán trước được Nhưng các ứng dụng đa phương tiện yêu cầu một thời gian thích hợp khi truyền các
dữ liệu và phát lại RTP cung cấp các cơ chế bảo đảm thời gian, số thứ tự và các cơ chế khác liên quan đến thời gian Bằng các cơ chế này RTP cung cấp sự truyền tải dữ liệu thời gian thực giữa các đầu cuối qua mạng
Tem thời gian là thành phần thông tin quan trong nhất trong các ứng dụng thời gian thực Người gửi thiết lập các “tem thời gian” ngay thời điểm octect đầu tiên của gói được lấy mẫu
Tem thời gian tăng dần theo thời gian đối với mọi gói tin Sau khi nhận được gói tin, bên nhận sử dụng các tem thời gian này nhằm khôi phục thời gian gốc để chạy các dữ liệu này với tốc độ thích hợp
Ngoài ra, nó còn được sử dụng để đồng bộ các dòng dữ liệu khác nhau (chẳn hạn đồng bộ giữa hình và tiếng) Tuy nhiên, RTP không thực hiện đồng bộ mà các mức ứng dụng phía trên sẽ thực hiện sự đồng bộ này
Bộ phận nhận dạng tải xác định kiểu định dạng của payload gói tin RTP (payload là phần chứa dữ liệu thật cần gửi của gói tin RTP), cũng như các phương pháp mã hóa
và nén Từ các bộ phận định dạng này, các ứng dụng phía thu biết các phân tích và