Đồ án Nghiên cứu và phát triển hệ thống tạo luồng thời gian thực và giao thức thích ứng cho truyền thông đa phương tiện trong mạng Ad hoc - pdf 14

Download miễn phí Đồ án Nghiên cứu và phát triển hệ thống tạo luồng thời gian thực và giao thức thích ứng cho truyền thông đa phương tiện trong mạng Ad hoc
Lời Nói Đầu Trong những năm gần đây, cùng với sự phát triển mạnh mẽ của khoa học máy tính, đặc biệt là lĩnh vực máy tính nhúng, loài người người đã có những thay đổi to lớn về cách thức cũng như phương tiện giao tiếp. Với những tiến bộ trong truyền thông vô tuyến, kết hợp với sự bùng nổ của các phương tiện nhúng như điện thoại di động, PDA, và máy tính xách tay, thì một lĩnh vực công nghệ đầy tiềm năng đang dần được khai phá đó là “tính toán khắp nơi”(ubiquitous computing). Mạng Ad hoc ra đời như một tất yếu của quá trình phát triển này.
Sau một thời gian làm việc rất cố gắng trên phòng Lab 411 Khoa Điện Tử - Viễn Thông dưới sự hướng dẫn tận tình của thầy giáo TS.Phạm Văn Tiến, cùng với sự hợp tác chặt chẽ của các thành viên trong phòng Lab, nhóm chúng em đã hoàn thành đồ án với đề tài “Nghiên cứu và phát triển hệ thống tạo luồng thời gian thực và giao thức thích ứng cho truyền thông đa phương tiện trong mạng ad hoc”
Với những nỗ lực thực sự, đồ án của chúng em đã có được một số kết quả nhất định, mặc dù vậy do thời gian có hạn chúng em không thể tránh khỏi một số thiếu sót cũng như một số nhiệm vụ chưa hoàn thành được. Vì vậy, nhóm chúng em rất mong những ý kiến đóng góp của các thầy cô giáo và bạn bè.

Tóm Tắt Đồ Án “Nghiên cứu và phát triển hệ thống tạo luồng thời gian thực và giao thức thích ứng cho truyền thông đa phương tiện trong mạng Ad hoc”
Trong khi các mô hình mạng truyền thống sử dụng hạ tầng mạng cố định điều khiển trung tâm vẫn đang thống trị trong lĩnh vực truyền thông thì mạng ad hoc xuất hiện như một giải pháp đầy tiềm năng, với những đặc tính ưu việt về độ linh hoạt, chi phí vận hành, và khả năng thiết lập nhanh chóng. Thực tế, mạng ad hoc không phải quá mới, nhưng việc khai thác nguồn tài nguyên hạn chế của mạng ad-hoc sao cho hiệu quả lại là một thách thức rất lớn đối với giới truyền thông trên thế giới. Nhận thấy được tiềm năng này, nhóm chúng em, dưới sự hướng dẫn của TS. Phạn Văn Tiến đã nghiên cứu đề tài về truyền thông đa phương tiện thích ứng trên mạng ad hoc. Đồ án của chúng em trình bày về các vấn đề liên quan của đề tài nghiên cứu như cấu trúc mạng ad hoc, các giao thức thời gian thực( RTP/RTCP), chuẩn mã hóa H264 cho RTP, giao thức liên tầng thích ứng cross-layer design, phát triển giao diện người dùng. Từ đó xây dựng thành công hệ thống tạo luồng thời gian thực với giao thức truyền thích ứng cho mạng ad hoc.
Cụ thể nội dung đồ án bao gồm 5 chương :
Chương 1 Tổng quan hệ thống
Trình bày tổng quan về mạng ad hoc và hệ thống được xây dựng trong đề tài.
Chương 2 Giao thức thời gian thực và chuẩn mã hoá H.264
Trình bày về các giao thức thời gian thực và chuẩn nén H.264 được sử dụng cho hệ thống.
Chương 3 Mô hình Cross-layer
Trình bày mô hình Cross-layer design được thiết kế và xây dựng cho truyền thông đa phương tiện trên mạng adhoc
Chương 4 Giao diện người dùng (GUI)
Trình bày vấn đề thiết kế và thực thi giao diện người dùng được sử dụng cho truyền thông đa phương tiện trong mạng ad hoc.
Chương 5 Kết quả thu được và hướng nghiên cứu tiếp theo
Trình bày kết quả thực thi của nhóm nghiên cứu và đề ra hướng nghiên cứu cho các vấn đề liên quan trong đồ án.


Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

tỉ lệ mất gói tại tầng trasport ( lossrate ) , sẽ cho ta một bức tranh trung thực về chất lượng đường truyền hiện thời và từ đó sẽ có những điều tốc độ mã hoá của bộ Encoder một cách hợp lí, sao cho thích ứng với chất lượng hiện tại của môt trường truyền dẫn.
Bên cạnh việc điều khiển tốc độ của bộ mã hóa , việc truyền lại gói cũng vô cùng cần thiết để đảm bảo tỉ lệ truyền gói là thành công, đặc biệt là gói NAL chứa dữ liệu của ảnh I, SPS, PPS.
Để đảm bảo việc truyền lại không tiêu tốn nhiều tài nguyên của hệ thống , tầng transport cần biết được giá trị etx , thông qua etx ,chúng ta sẽ biết được sô gói cần truyền lại để đảm bảo truyền gói thành công
Cơ chế giao tiếp
Khi olsrd cập nhập thông số mới về chất lượng đường truyền,tầng routing sẽ gửi một thông báo lến tầng transport, đề thông báo cho tầng transport biết chất lượng của đường truyền đã thay đổi. Khi tầng transport cập nhập thông số được đưa lên từ tầng routing, thông số này được dùng để điều chỉnh tôc độ của bộ mã hóa, và xác định số gói cần truyền lại để đảm bảo tỷ lệ truyền gói là cao nhất
Mô hình giao tiếp liên tầng
Hình 3. 6: Mô hình giao tiêp liên tầng
Giao tiếp liên tầng giữa vlc và olsrd sử dụng cơ chế giao tiếp giữa các tiến trình sử dụng vùng nhớ ngoài ,Nội dung của vùng nhớ ngoài như sau
Olsrd_pid, chỉ số tiến trình của olsrd
Vlc_pid , chỉ số tiến trình của olsrd
Etx_value, giá trị được chuyển từ tầng routing (olsrd) lến tầng trasport
Cơ chế giao tiếp được thực hiện tuần tự qua các bước sau
Olsrd update giá trị trị etx_value lên vùng nhớ chung
Olsrd gửi tín hiệu thông báo lên tầng transport (vlc ), thông qua tín hiệu
Vlc khi nhận được tín hiệu thông báo, sẽ truy cập vùng nhớ chung và lấy về giá trị etx_value
Thiết kế hệ thống
Trong vlc xây dựng một tuyến ( thread ) giao tiếp với olsrd, thông qua vùng nhớ chung, tuyên này chỉ thức dậy khi được đánh thức bởi một tín hiệu đồng bộ tuyên từ hàm signal_catch(), hàm signal_catch(), là hàm được xây dựng để bắt tín hiệu thông báo của olsrd.
Giao tiếp liên tầng Transport - Application điều khiển tốc độ mã hóa
Mục tiêu của thiết kế là điều khiển tốc độ mã hóa theo chất lượng đường truyền, Khi chất lượng kênh truyền tốt tương ứng với tỉ lệ truyền gói thành công cao, ta tăng tốc độ luồng bit đầu ra của bộ mã hóa. Khi chất lượng kênh truyền tồi, tương ứng với tỉ lệ mất gói cao, ta cần giảm tôc độ đầu ra của bộ mã hóa, Tốc độ của luồng bit đầu ra của bộ mã hóa được điều chỉnh thông qua tham số QP hay CRF. Do vậy giá trị QP (hay CRF ) mới sẽ được update thường xuyên theo điều kiện môi trường truyền dẫn, do vậy quá trình truyền video sẽ thích ứng với môi trường truyền dẫn, do vậy cải thiện được chất lượng video bên thu.
Mô hình thiết kế
Hình 3. 7: Mô hình thiết kế
Quá trình điều khiển tốc độ
Cập nhập thông số lossrate, và etx
Tính toán giá trị QP mới , 2 tham số đầu vào của hàm calQPCRF()
Update gia trị QP mới cho bộ Encoder
Yêu cầu hệ thống
Đảm bảo đồng bộ giữa các tiến trình
Quá trình tính toán không diến ra quá lâu
Thiết kế truyền bản tin instance message
Phân tích yêu cầu
Quá trình truyền video và audio sẽ trở nên vô cung khó khăn khi môi trường truyền dẫn xảy ra những đột biến không thể lường trước, do vậy để đảm bảo thông tin liên lạc giữa các hope với nhau, thì giải pháp truyền text là một giải pháp hợp lý.Nội dung text bao giờ cũng có dung lượng nhỏ, và có thể truyền tải tốt trong môi trường có tài nguyên hạn hẹp. quá trình trao đổi thông tin được diễn ra trên giao diện GUI, thân thiện với người sử dụng
Yêu cầu đối với giao diện GUI
cửa sổ hiện thị video
Cửa sổ hiện thị text
Cửa sổ nhập dữ liệu text từ bàn phím
Listbox chứa các địa chỉ IP
Các nút bấm điều khiển truyền text
Hình 3. 8: Yêu cầu với giao diện GUI
Mô hình hệ thống
Hình 3. 9: Mô hình hệ thống
Hình 3. 10: Mô hình truyền text
Hoạt động của giao diện GUI
Dữ liệu text được lấy từ bàn phím,sau đó được lưu trong một mảng ký tự .Dữ liệu text sau đó được truyền đi sang node Receiver khi Button Send được bấm. bên Receiver hiển thị nội dung text lên cửa sổ hiển thị giao diện khi nhận được nội dung text. Và giao diện bên Sender cũng có chức năng tương tự
List box chứa danh sách địa chỉ IP của các node mạng, danh sách này sẽ được update thường xuyên, thông qua danh sách này người sử dụng sẽ biết được node nào đang kết nối trong mạng và node nào đã rời khỏi mạng
Nút bấm điều khiển âm lượng của audio
Thiết kế và thực hiện
Vì qua trình truyền và nhận độc lập với nhau, do vậy tại Sender và Receiver cần tạo 2 tuyến, một tuyến đảm nhận chức năng lấy dữ liệu từ bàn phím hiển thị nên giao diện GUI và truyền đi.Một tuyến khác nhận dữ liệu được gửi trên mạng và hiển thị lên giao diện GUI.
Ta thực hiện thiết kế này như sau:
Tuyến thực hiện giao diện và hiển thị text nhận được từ giao diện GUI
void * doChat(void *data)
{
char msgR[50];
int len, res = 0;
struct sockaddr_in address;
int result;
int client_fd;
///tao Socket
sockfd = socket(PF_INET, SOCK_STREAM, 0);
///dat ten va gan dia chi ket noi cho socket
client_fd = sockfd;
address.sin_family = AF_INET;
address.sin_port = htons(9995);
printf("dia chi cua server:%s\n", psz_Server);
address.sin_addr.s_addr = inet_addr(psz_Server);
memset(&(address.sin_zero), '\0', 8); //zero rest of struct
len = sizeof(struct sockaddr);
thực hiện kết nối
result = connect(sockfd,(struct sockaddr *)&address, len);
nếu kết nối không thành công, thực hiện thông báo lỗi và thoát khỏi chương trình
if(result == -1){
perror(" ket noi khong thanh cong, ChatText \n");
exit(1);
}
Quá trinh nhận gói tin được diễn ra liên tục trong vòng lặp while
while(1){
nhận gói tin
res = recv(sockfd, &msgR, sizeof(msgR), 0);
kiểm tra nhận có thành công không
if(res < 0)
{
perror("recv error");
}
else{
Nếu thành công, hiển thị bản tin instance message lên màn hinh giao diện
XDrawString(display, win_display, gc_display, xd_offset, yd_offset, msgR, strlen(msgR));
yd_offset += 10;
}
}
}
Tuyến thư 2, thực hiện lấy dữ liệu từ bàn phím, hiển thị lên giao diện text, và gửi dữ liệu ra ngoài mạng
void * chatInterface(void)
{
Quá trình diễn ra liên tục trong vòng lặp while
while (1) {
kiểm tra sự kiện trên giao diện:
XNextEvent(display, &report);
Kiểm tra loại sự kiện
switch (report.type) {
case Expose:
if(report.xexpose.window = winButton)
{
Vẽ các thành phần của giao diện , khi Giao diện được hiển thị
XDrawString(display, winButton, gcBt, 5, 20, pz_WinBtName, len);
}
if (report.xexpose.count != 0)
break;
if (window_size == TOO_SMALL)
TooSmall(win, gc, font_info);
else {
}
break;
khi sự kiện là nút bấm Send được gửi, dữ liệu text được gửi đi
case ButtonPress:
kiểm tra đúng là nút Send được bấm
if(report.xbutton.window == winButton)
{
Hiển thị lên màn hình giao diện
XDrawString(display, winDis, gcChild, xd_offset, yd_offset, msa,strlen(msa));
Gửi dữ liệu ra ngoài mạng
int i_byteSent = send(revfd, &msa, sizeof(msa), 0);
}
Trường hợp khi bàn phím được gõ
case KeyPress:
Đọc dữ liệu vào bộ đệm
XLookupString(&report, buffer, i_bufsize, &keysym, NULL);
Nếu ký tự nằm thuộc loại hiển thị được, thêm ký tự vào thông đ...
Music ♫

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