1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về các thuật toán truyền thông thời gian thực

20 260 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 295,49 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tìm hiểu về các thuật toán truyền thông thời gian thực

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐÀO TẠO SAU ĐẠI HỌC

BÁO CÁO BÀI TẬP LỚN MÔN:

HỆ THỐNG THỜI GIAN THỰC

Đề tài:

Tìm hiểu về các thuật toán truyền thông thời gian thực

Học viên thực hiện:

Giảng viên hướng dẫn: PGS.TS Đỗ Trọng Tuần

Hà Nội, 05-2018

Trang 2

LỜI NÓI ĐẦU

Ngày nay, với sự phát triển mạnh mẽ của lĩnh vực Công Nghệ Thông Tin và Truyền Thông, hạ tầng mạng viễn thông đã tạo thuận lợi cho các nhà khoa học nghiên cứu và triển khai nhiều ứng dụng truyền thông trên mạng internet cho cộng đồng như Sopcast, Skype, MobileTV, … đặc biệt là hệ thống truyền hình trực tuyến đang ngày càng được ứng dụng phổ biến và đem lại lợi ích to lớn cho xã hội Hệ thống truyền hình trực tuyến được xây dựng dựa trên nền tảng các giao thức truyền thông thời gian thực cho phép dữ liệu như hình ảnh, âm thanh, video và văn bản được truyền trực tuyến giữa người dùng ở các vị trí khác nhau qua mạng internet Với các lợi ích như trên, hệ thống truyền hình trực tuyến đang ngày càng được nghiên cứu và phát triển

Trong nội dung môn học Hệ Thống Thời Gian Thực, em xin chọn đề tài “Tìm hiểu về các giao thức truyền thông thời gian thực” là nội dung báo cáo cho bài tập lớn môn học Báo cáo được chia làm hai chương, chương đầu sẽ giới thiệu một cách tổng quan về hệ thống thời gian thực và chương sau sẽ trình bày về các giao thức truyền thông thời gian thực

Em xin chân thành cảm ơn PGS TS Đỗ Trọng Tuấn đã nhiệt tình trong việc hướng dẫn và giảng dạy để em có thể hoàn thành báo cáo này

Trang 3

Mục Lục

LỜI NÓI ĐẦU 2

Mục Lục 3

Danh Mục Hình Vẽ 4

Chương 1 Tổng Quan Về Hệ Thống Thời Gian Thực 5

1.1 Khái niệm về hệ thống thời gian thực 5

1.1.1 Khái niệm về hệ thống 5

1.1.2 Khái niệm hệ thống thời gian thực 5

1.1.3 Các loại hệ thống thời gian thực 6

1.2 Lập lịch thời gian thực 7

1.3 Kết luận chương 8

Chương 2 Các Giao Thức Truyền Thông Thời Gian Thực 10

2.1 Giao thức Real-time Transport Protocol (RTP) 10

2.1.1 Định nghĩa 10

2.1.2 Hoạt động của giao thức RTP 10

2.1.3 Cấu trúc giao thức RTP 11

2.2 Giao thức Real Time Streaming Protocol (RTSP) 13

2.2.1 Định nghĩa về giao thức RTSP 13

2.2.2 Hoạt động của giao thức RTSP 14

2.2.3 Một số đặc điểm của giao thức RTSP 15

2.2.4 Một số thuật ngữ của giao thức RTSP 16

2.3 Kết luận chương 18

Kết Luận 19

Trang 4

Danh Mục Hình Vẽ

Hình 1-1 Mô tả một hệ thống bất kỳ 5

Hình 1-2 Hard Real-time System 6

Hình 1-3 Soft Real-time System 6

Hình 2-1 Cấu trúc gói tin RTP 11

Hình 2-2 Giao thức trao đổi một phiên media 14

Trang 5

Chương 1 Tổng Quan Về Hệ Thống Thời Gian Thực

Trong chương này, em sẽ trình bày một cách tổng quan về hệ thống thời gian thực Các khái niệm, phân loại và các đặc điểm về hệ thống thời gian thực sẽ được trình bày trong chương này

1.1 Khái niệm về hệ thống thời gian thực.

1.1.1 Khái niệm về hệ thống

Một hệ thống là một ánh xạ một tập các biến đầu vào đến một tập các biến đầu ra Một

hệ thống bất kỳ nếu như không xét đến chi tiết các phần cứng bên trong nó thì có thể được mô hình tổng quát bằng một hộp đen như hình 1-1

Hình 1-1 Mô tả một hệ thống bất kỳ Đáp ứng thời gian của hệ thống là khoảng thời gian để một hệ thống đưa kết quả đầu

ra từ khi các đầu vào được đưa vào hệ thống

Một hệ thống được gọi là hệ thống lỗi nếu như nó không đáp ứng được các yêu cầu đặt

ra cho hệ thống đó

1.1.2 Khái niệm hệ thống thời gian thực

Một hệ thống được gọi là hệ thống thời gian thực (RTS – Realtime Systems) nếu như tính đúng đắn của nó không chỉ phụ thuộc vào kết quả tính toán logic mà còn phụ thuộc vào thời gian mà kết quả này sinh ra Tức là, Hệ thống cần đáp ứng hai điều kiện; một là kết quả đầu ra phải đúng với chức năng của hệ thống; hai là đáp ứng thời gian của hệ thống phải nhỏ hơn một giá trị dealine cho trước

Trang 6

1.1.3 Các loại hệ thống thời gian thực

Các hệ thống thời gian thực thường được chia làm hai loại là hệ thống thời gian thực cứng và hệ thống thời gian thực mềm

Hệ thống thời gian thực cứng (Hard Real-time Systems) là các hệ thống thời gian thực

mà nếu không đáp ứng yêu cầu về deadline, hệ thống sẽ sụp đổ hay gây ra hậu quả khôn lường Hình 1-2 mô tả tính ràng buộc trong hệ thống thời gian thực cứng Nếu hệ thống không hoàn thành tác vụ trước deadline, hệ thống sẽ gây hậu quả nghiêm trọng Một số ví

dụ về hệ thống thời gian thực cứng như là hệ thống làm mát cho nhà máy điện hạt nhân,

hệ thống túi khí an toàn trên oto, hệ thống xạ trị tự động, hệ thống báo cháy tự động …

Hình 1-2 Hard Real-time System

Hình 1-3 Soft Real-time System

Hệ thống thời gian thực mềm (Soft Real-time Systems) là cac hệ thống thời gian thực

mà nếu không đáp ứng yêu cầu về thời gian, hệ thống sẽ bị suy giảm về chất lượng dịch

Trang 7

vụ Hình 1-3 mô tả ràng buộc trong hệ thống thời gian thực mềm Nếu hệ thống không hoàn thành trước deadline, hệ thống chỉ bị suy giảm về chất lượng dịch vụ chứ không đến mức gây ra hậu quả nghiêm trọng như hệ thống thời gian thực cứng Một số ví dụ về hệ thống thời gian thực mềm như hệ thống Video/Audio streaming, hệ thống mạng, hệ thống kiểm soát đóng mở cửa trên oto, hệ thống điều hòa dân dụng …

1.2 Lập lịch thời gian thực

Dịch vụ thời gian thực được gắn với tập các tác vụ thời gian thực Mỗi tác vụ τđược

miêu tả bằng:

Trong đó Si là thời điểm sớm nhất có thể bắt đầu tác vụ τi, Ci là thời gian thực hiện trong trường hợp xấu nhất của τi và D i là thời điểm chết của τi Tập V tác vụ thời gian thực là:

Nếu tác vụ được xuất hiện theo cách tại thời điểm tùy ý, chúng được gọi là không theo chu kì Ở nhiều hệ thống thời gian thực thì thời điểm tác vụ xả ra, khoảng thời gian thực hiện và deadline có thể tiên đoán được Tập tác vụ như vậy gọi là có chu kì Ví dụ, máy tính điều khiển động cơ phải tính được lượng nhiên liệu và suy ra thời gian tối đa động cơ còn vận hành liên tục trước khi nạp nhiên liệu

Miêu tả tập tác vụ thời gian thực có chu kì đơn giản Mỗi tác vụ thực

công việc Yêu cầu thực hiện công việc i một lần trong khoảng Ti giây

việc phía trước phải hoàn thành trước khi phần công việc mới được bắt

thời điểm bắt đầu của tác vụ mới là điểm chết của tác vụ cũ Do vậy tại

Trang 8

chỉ một tác vụ được thực hiện, ta gán cho tác vụ thực hiện phần công

tập tác vụ rút gọn lại bởi tập thời khoảng và khoảng thời gian thực hiện

n công việc:

Ở đây chỉ quan tâm đến lập lịch các tác vụ theo đó, tác vụ thỏa mãn ràng buộc về deadline Chúng ta cũng chỉ quan tâm lập lịch trên hệ thống đơn xử lý Lịch là phân công CPU cho các tác vụ thời gian thực mà nhiều nhất một tác vụ được phân công tại thời điểm bất kỳ Chính xác hơn, lịch là tập A các khoảng thời gian được miêu tả:

Trong đó si là thời điểm bắt đầu, f i là thời điểm kết thúc và ti là tác vụ được thực hiện trong khoảng thời gian đó Lịch chỉ có giá trị khi thỏa mãn các ràng buộc:

1

2

3 Nếu thì Sk si và fi Dk

Điều kiện 1 đòi hỏi khoảng thời gian thực hiện thực sự là một

hỏi các khoảng thời gian được sắp theo thứ tự Điều kiện 3 đòi hỏi tác

sau thời điểm cho phép và phải hoàn thành trước điểm chết Tập tác vụ

thi nếu mọi tác vụ τk nhận được tối thiết Ck giây CPU thực hiện trong

gọi:

Như vậy, lịch là khả thi nếu mà

Trang 9

Tập tác vụ được gọi là khả thi nếu tồn tại một lập lịch khả thi cho tập

đích của thuật toán lập lịch thời gian thực là tìm lịch khả thi nếu nó tồn

tìm hiểu các thuật toán lập lịch thời gian thực với giả thuyết ràng buộc

đơn giản, chỉ xem xét hệ thống thời gian thực cứng

1.3 Kết luận chương

Trong chương này, em đã trình bày một cách tổng quan nhất về hệ thống thời gian thực Các khái niệm cơ bản như khái niệm về hệ thống, hệ thống thời gian thực và đặc điểm từng loại của hệ thống thời gian thực cũng được trình bày một cách tổng quan Ở chương sau, báo cáo sẽ trình bày về hai giao thức truyền thông thời gian thực được sử dụng rất nhiều hiện nay là RTP và RTSP

Trang 10

Chương 2 Các Giao Thức Truyền Thông Thời Gian Thực

Trong chương này, em sẽ trình bày về các giao thức truyền thông thời gian thực Trong

đó, mục tiêu được đề cập đến là các tính chất và nguyên tắc hoạt động của từng giao thức

2.1 Giao thức Real-time Transport Protocol (RTP)

2.1.1 Định nghĩa

RTP là giao thức thực hiện vạn chuyển các ứng dụng dữ liệu thời gian thực như thoại

và hội nghị truyền hình Các ứng dụng này thường mang các định dạng của âm thanh (PCM, GSM và MP3 và các định dạng độc quyền khác) và định dạng video (MPEG, H.263 và các định dạng video độc quyền khác) RTP được định nghĩa trong RFC 1889, RFC 3550

RTP được sử dụng kết hợp với RTCP (Realtime Transport Control Protocol) Trong khi RTP được dùng để truyền dòng dữ liệu da phương tiện truyền thông (âm thanh và video) thì RTCP được dùng để giám sát QoS và thu thập các thông tin về những người tham gia phiên truyền RTP đang thực hiện

2.1.2 Hoạt động của giao thức RTP

Giao thức RTP chạy trên nền UDP để sử dụng các chức năng ghép kênh và checksum

Cả hai giao thức RTP và UDP tạo nên một phần chức năng của lớp giao vận Tuy nhiên RTP cũng có thể được sử dụng với những giao thức khác của lớp mạng và lớp giao vận bên dưới miễn là các giao thức này cung cấp được các dịch vụ mà RTP đòi hỏi Một điều cần lưu ý là bản thân giao thức RTP không cung cấp một cơ chế nào đảm bảo việc phân phát kịp thời dữ liệu tới các trạm, mà nó dựa trên các dịch vụ của lớp thấp hơn để thực hiện điều này RTP cũng không đảm bảo việc truyền các gói theo đúng thứ tự Tuy nhiên

số thứ tự trong header cho phép bên thu điều chỉnh lại thứ tự dòng gói tin của bên phát gửi đến

RTP không chỉ hỗ trợ các dịch vụ phổ biến của hầu hết các ứng dụng truyền thông hội nghị đa phương tiện mà còn có khả năng mở rộng cho phù hợp với dịch vụ mới Khả

Trang 11

năng mở rộng, các mã tương ứng trong trường PT của header với các loại payload trong gói RTP được mô tả trong profile đi kèm

2.1.3 Cấu trúc giao thức RTP

Một gói tin RTP được chia làm hai phần là header cố định và header mở rộng như hình 2-1

Hình 2-4 Cấu trúc gói tin RTP

2.1.3.1 Phần header cố định

Version: 2 bits Trường version để chỉ phiên bản của giao thức Có 3 phiên bản 0,1,2 Phiên bản hiện tại được sử dụng là 2

P (Padding): 1 bit Nếu trường P được thiết lập thì gói tin sẽ có một hoặc nhiều octets P (những octets này không phải một phần của payload) được thêm vào cuối gói tin Octet P cuối cùng chỉ kích thước của tổng octet được thêm vào Mục đích của việc thêm octect P

là để dùng cho thuật toán mã hóa cần kích thước gói cố định hoặc được dùng cho việc cách ly các gói RTP trong trường hợp nhiều gói thông tin được mang trong cùng một đơn

vị dữ liệu của giao thức lớp dưới

X (Extension): 1 bit Nếu trường X được thiết lập thì phần header cố định phải được liên kết với phần header mở rộng

CC (CSRC count): 4 bits Chứa các giá trị của trường CSRC ID trong header cố định

Trang 12

M (Marker): 1 bit Được sử dụng ở lớp ứng dụng để xác định một profile.

PT (Payload type): 7 bits Xác định và nêu ý nghĩa các dạng payload của RTP RTP có thể hỗ trợ đến 27 = 128 loại payload khác nhau Với một luồng âm thanh hay video trường PT được sử dụng để kí hiệu các mã âm thanh hay video Ví dụ: mã PT của một số định dạng âm thanh và video: PCM (0), GSM (3), LPC (7), G.722 (9), MPEG Audio (14), G.728(15), JPEG (26), H.261(31), MPEG1(32), MPEG2 (33) Nếu máy phát quyết định thay đổi mã ở phần giữa của một phiên làm việc, thì máy phátcó thể thông báo cho máy thuvề sự thay đổi trường PT Máy phát có thể thay đổi mã để tăng chất lượng âm thanh hay video hoặc giảm tốc độ luồng RTP

Sequence Number: 16 bits Trường mang số thứ tự của các gói tin RTP Số thứ tự này được tăng lên 1 sau mỗi lần gói tin RTP được máy phát gửi đi và còn được dùng để máy thu phát hiện mất gói và khôi phục lại trình tự chuỗi gói tin Giá trí khởi đầu của trường này là một giá trị ngẫu nhiên Vd: máy phát nhận được luồng gói tin RTP có khoảng trống giữa 2 hai số thứ tự 86, 89 thì máy phát sẽ biết rằng gói tin có số thự tự 87, 88 đã bị mất Timestamp: 32 bits Trường xác định thời điểm lấy mẫu của octets đầu tiên trong gói tin RTP Thời điểm lấy mẫu phải được đo bằng một đồng hồ tăng đều đặn và tuyến tính

về mặt thời gian để cho phép việc đồng bộ và tính toán độ jitter Tần số đồng hồ này là không cố định mà phụ thuộc vào loại định dạng của payload Giá trị khởi đầu trường timestamp cũng được chọn một cách ngẫu nhiên Một vài gói tin RTP có thể mang cùng một giá trị của trường này nếu như chúng được phát đi cùng một lúc về mặt logic (ví dụ như các gói của cùng một khung hình video) Trong trường hợp các gói dữ liệu được phát

ra sau những khoảng thời gian bằng thì giá trị timestamp được tăng một cách đều đặn Ngược lại, trong trường hợp khác giá trị timestamp sẽ tăng không đều đặn

SSRC (Synchronization Source Identifier): 32 bits Giá trị của trường SSRC chỉ ra nguồn đồng bộ (nguồn phát gói tin RTP từ micro, camera hay RTP mixer) của gói tin RTP, giá trị này được chọn ngẫu nhiên Trong một phiên kết nối RTP thì có nhiều nguồn đồng độ phát ra nhiều dòng gói tin RTP Máy thu sẽ nhóm các dòng gói tin RTP cùng nguồn để phát lại tín hiệu thời gian thực (real-time)

Trang 13

CSRC (Contributing Source List): từ 0 đến 15 items, 32 bits Trường CSRC xác định các nguồn đóng góp payload cho gói tin (CSRC cho phép xác định tối đa 15 nguồn đóng góp tương ứng vớ 15 items) Giá trị của CSRC được cho bởi trường CC và giá trị này được chèn vào mỗi items bằng các bộ trộn (mixer)

2.1.3.2 Phần header mở rộng

Cơ chế mở rộng của RTP cho phép những ứng dụng riêng lẻ của giao thức RTP thực hiện được với những chức năng mới đòi hỏi những thông tin thêm vào phần header của gói tin Cơ chế này được thiết kế để một vài ứng dụng có thể bỏ qua một số ứng dụng khác lại có thể sử dụng được phần nào đó Nếu như trường X (bit X) trong phần header

cố định được đặt bằng 1 thì theo sau phần header cố định là phần header mở rộng có chiều dài thay đổi 16 bits đầu tiên của trong phần tiêu đề được sử dụng với mục đích riêng cho từng ứng dụng được định nghĩa bởi profile (thường nó được sử dụng để phân biệt các loại tiêu để mở rộng) 16 bits kế tiếp mang giá trị chiều dài của phần header mở rộng tính theo đơn vị là 32 bits (Giá trị này không bao gồm 32 bits đầu tiên của phần header mở rộng)

2.2 Giao thức Real Time Streaming Protocol (RTSP)

2.2.1 Định nghĩa về giao thức RTSP

RTSP là một giao thức điều khiển truyền thông mạng ở tầng ứng dụng được thiết kế sử dụng trong các hệ thống giải trí và truyền thông để điều khiển máy chủ chứa các dữ liệu truyền tin đã phương tiện (streaming media)

Giao thức này được sử dụng để thiết lập và điều khiển các phiên truyền thông giữa các trạm cuối (end to end) Các máy khách của các máy chủ truyền thông ban ra các lệnh kiểu VCR, chẳng hạn như play, pause và seek, để điều khiển thời gian thực của các phương tiện truyền tin trực tuyến từ máy chủ tới máy khách (Video On Demand) hoặc từ máy khách đến máy chủ (Voice Recording)

Trang 14

2.2.2 Hoạt động của giao thức RTSP

Giao thức RTSP độc lập với các giao thức ở tầng thấp hơn, do đó nó có thể được thực hiện trên TCP hoặc UDP hoặc giao thức khác ở tầng giao vận Cú pháp của RTSP gần giống như cú pháp của HTTP/1.1, do đó dễ thực hiện và triển khai Bên cạnh những điểm tương tự, nó có một số điểm khác nhau quan trọng

Thứ nhất, RTSP là giao thức stateful, do đó yêu cầu client duy trì thông tin về phiên streaming qua các request RTSP Thứ hai, cả RTSP client và server đều có thể đưa ra RTSP request Cuối cùng, dữ liệu đa phương tiện được truyền ngoài dải dùng protocol riêng biệt (có thể là giao thức RTP đã nói ở trên)

Hình 2-5 Giao thức trao đổi một phiên media Trong một ứng dụng streaming thông thường, trước hết client nhận file mô tả trình diễn (presentation description file) sử dụng 1 giao thức ngoài (có thể dùng HTTP) File

mô tả trình diễn này mô tả một hoặc nhiều sự trình diễn, mỗi trình diễn bao gồm một hoặc nhiều dòng dữ liệu đa phương tiện được đồng bộ với nhau File mô tả trình diễn cũng chứa các thuộc tính của các dòng dữ liệu như định dạng nén để client lựa chọn và chuẩn bị play media được mô tả như hình 2-2

Ngày đăng: 10/01/2019, 11:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w