CHƯƠNG 1: KHÁI QUÁT VỀ TRUYỀN TẢI VIDEO QUA MẠNG INTERNET 1.1 TRUYỀN DÒNG DỮ LIỆU THỜI GIAN THỰC 1.1 KHÁI NIỆM TRUYỀN DÒNG: Khái niệm truyền dòng có thể hiểu là khi nội dung của audio hay video được truyền tới nơi nhận, nơi nhận có thể, thể hiện được ngay trong quá trình truyền mà không cần phải đợi đến khi toàn bộ nội dung video được truyền xong. Cơ chế này hoàn toàn khác với cơ chế download file của các giao thức HTTP hay FTP. Truyền dòng cho phép chúng ta thể hiện các dòng video thời gian thực mà không phụ thuộc vào độ dài của video. Điều này rất có ý nghĩa khi truyền các file video có kích thước lớn hay các dòng video có độ dài không xác định.
Khi đó, các giao thức khác như FTP hay HTTP sẽ không thể sử dụng được. Chúng ta có thể bắt gặp rất nhiều trường hợp sử dụng cơ chế truyền dòng như các chương trình truyền hình trực tiếp, hội thảo qua mạng. Với khả năng truyền tải nội dung video, audio thông qua mạng, chúng ta có một phương pháp giao tiếp và truy nhập thông tin mới. Với góc nhìn bao quát, truyền dòng là một phương pháp truyền thông tin liên tục, trong đó nội dung video được truyền đi theo thời gian thể hiện của nội dung video đó.
Bên nhận khi nhận dòng thông tin nội dung video sẽ có thể thể hiện ngay nội dung của video theo thời gian. Khả năng này rất có ý nghĩa đối với các loại dữ liệu phụ thuộc thời gian như video, audio, bởi vì để đảm bảo chất lượng cảm thụ video thì phải đảm bảo được mối quan hệ về mặt thời gian giữa các khung hình. Để có thể hình dung một cách đơn giản về cơ chế truyền dòng thời gian thực, chúng ta lấy một ví dụ như sau. Giả thiết có hai máy được kết nối với nhau, trong đó một máy đóng vai trò là máy truyền và một máy đóng vai trò là máy nhận.
Bên truyền được trang bị camera để thu hình giảng viên giảng bài và dữ liệu video thu được được truyền tới máy nhận. Bên nhận có nhiệm vụ nhận dòng dữ liệu từ bên truyền gửi tới và thể hiện lên thiết bị ra như TV hay màn hình máy tính. Khi đó với việc sử dụng cơ chế truyền dòng thời gian thực, các hình ảnh của giảng viên mà bên nhận thể hiện sẽ phản ánh một cách tức thời (về mặt lí thuyết) những gì đang xảy ra đối với giảng viên ở bên truyền. Còn với các bài giảng được lưu trữ trước, truyền dòng thời gian thực sẽ đảm -3- bảo việc thể hiện của video tương đương như khi nó được thể hiện trên máy truyền.
Khi đó, môi trường mạng là trong suốt đối với người sử dụng, người sử dụng có cảm giác việc thể hiện đoạn video như là được thực hiện ngay trên máy cục bộ.1 QUÁ TRÌNH TRUYỀN DÒNG: Truyền dòng đối với video hay audio phải trải qua nhiều công đoạn với từng nhiệm vụ riêng để đi đến kết quả cuối cùng là đạt được khả năng thể hiện ngay ở bên nhận. Mã hoá Giải nén video/audio Dùng video/audio Lấy mẫu Khôi phục dữ liệu và đồng bộ Network RTP Packets Hình 1.1: Quá trình truyền dòng video/audio Để có thể tìm hiểu sâu được cơ chế truyền dòng, chúng ta cần đi sâu vào quá trình mà thông tin được truyền đi thông qua môi trường mạng. Bất cứ một nội dung video hay audio nào được truyền đi dưới dạng truyền dòng đều phải trải qua các bước sau: Bước 1 - Mã hoá: Việc mã hoá video, mà cụ thể là nén video là một công đoạn không bắt buộc nhưng rất cần thiết. Với các loại dữ liệu video thô như dữ liệu thu từ camera, thì việc lưu trữ hay truyền video không nén sẽ phải trả giá cao, đôi khi là điều không thể.
Ta lấy ví dụ với một định dạng tiêu biểu thường được sử dụng trong các ứng dụng hội nghị từ xa bằng video là định dạng CIF. CIF sử dụng độ phân giải 352 pixel mỗi dòng và 288 dòng tất cả. Một ảnh không nén cho một frame hình (chế độ 352x288x16bpp) chiếm -4- 202752 byte. Việc ghi video không nén với tốc độ 15 hình một giây sẽ cần xấp xỉ 3 MB một giây và nếu truyền qua mạng thì băng thông cần thiết cho một dòng video không nén là 24 Mbps.
Từ ví dụ trên đây, ta thấy việc nén video gần như là không thể thiếu được nếu các dòng video được truyền trên môi trường mạng tốc độ thấp. Bảng sau cho biết độ nén cần thiết đối với từng môi trường mạng khác nhau: Bảng 1.1: Băng thông mạng và tỉ lệ nén yêu cầu Dạng kết nối Bit Rate Tỉ lệ nén OC3 155 Mbps 1:1 T3 42 Mbps 4:1 Ethernet 10 Mbps 17:1 T1 1.5 Mbps 110:1 ISDN 128 Kbps 1300:1 Modem 56 Kbps 3000:1 Có thể sử dụng nhiều chuẩn nén khác nhau cho việc nén video. Tuỳ theo yêu cầu chất lượng và băng thông, mà ta có thể lựa chọn được phương pháp nén thích hợp. Với việc áp dụng một chuẩn nén cho dữ liệu video, không gian lưu trữ cần thiết cũng như băng thông mạng yêu cầu cho dòng video giảm đột ngột.
Ví dụ như đối với dòng video ở trên, nếu sử dụng chuẩn nén H.263 thì băng thông yêu cầu cho việc truyền dòng video này chỉ vào khoảng 140 Kbps và không gian lưu trữ cần thiết cho một ngày với 24 giờ vào khoảng 1. Hiện phổ biến hai họ chuẩn nén, là họ CCITT với các chuẩn dạng H.36x và họ ISO MPEG với các chuẩn MPEG-1, MPEG-2, MPEG-4, MPEG-7. Sự phát triển của các chuẩn nén có thể tham khảo trong sơ đồ dưới đây.261 - Một kĩ thuật với tốc độ dùng bit nhỏ, được đưa ra vào năm 1984 bởi ITU sử dụng cho các dịch vụ audio-visual. MPEG-1 - Chuẩn ISO, ứng dụng trong ngành cụng nghiệp quảng bá.
MPEG-1 được tạo ra như là một sự sửa đổi của H.261 cho việc chuyển video vào đĩa CD với tốc độ dùng bit thấp. MPEG-2 - Được phát triển cho việc quảng bá video chất lượng cao bằng cách sử dụng tỉ lệ nén thấp.263 - Một sửa đổi phỏng theo MPEG-2 với mục đích thu được độ nén cao trong khi vẫn đảm bảo chất lượng hình ảnh cao.263++ là các phiên bản mở rộng của H. MPEG-4 - Được phát triển song song với H.263 như là một phương pháp thay thế cho MPEG-1 với tốc độ dùng bit thấp.323 - Một hệ thống hoàn hảo cho Hình 1.2: sự phát triển của các chuẩn nén. Bước 2 - Lấy mẫu: Việc lấy mẫu thực chất là việc chia nhỏ nội dung của video hay audio ra thành các khối nhỏ thích hợp để có thể truyền đi trong môi trường mạng.
Đối với các dữ liệu audio, việc lấy mẫu được thực hiện theo thời gian. Tương ứng sau một khoảng thời gian bằng chu kì lấy mẫu phần dữ liệu audio tương ứng trong khoảng thời gian đó sẽ được sử dụng để truyền đi.Với các dữ liệu video, ngoài việc lấy mẫu theo thời gian còn có việc lấy mẫu theo không gian. Việc lấy mẫu theo thời gian tương ứng với thời gian thể hiện của các khung hình và việc lấy mẫu theo không gian sẽ được thực hiện bằng cách chia nhỏ các khung hình thành các phần với kích thước thích hợp đối với việc truyền đi. Khi lấy mẫu, các mẫu phải chứa đựng đầy đủ các thông tin dùng cho việc khôi phục lại dữ liệu video hay audio về cả mặt không gian cũng như thời gian khi bên nhận -6- nhận được các mẫu này.
Với việc sử dụng một giao thức như giao thức truyền thông thời gian thực như RTP, quá trình lấy mẫu sẽ được tiến hành tự động. Bước 3 - Truyền các mẫu qua mạng: Việc truyền các mẫu dữ liệu video có thể được thực hiện một cách trực tiếp thông qua các giao diện của môi trường mạng như Socket hay được thực hiện thông qua một giao thức cấp cao ở tầng ứng dụng như RTP. Thông thường người ta sẽ chọn giải pháp thứ hai, tức là sử dụng một giao thức truyền dòng thời gian thực cho việc truyền các mẫu nếu như giao thức đó được hỗ trợ trên nền phần cứng cũng như phần mềm. Việc sử dụng một giao thức truyền dòng thời gian thực có nhiều ưu điểm.
Ưu điểm thứ nhất là tính hiệu quả, bởi vì các giao thức truyền thông thời gian thực được thiết kế cho việc truyền các loại dữ liệu động, như dữ liệu video chẳng hạn, khi đó tính thời gian thực sẽ được chú trọng hơn là tính chính xác về mặt dữ liệu. Ví dụ như đối với giao thức RTP, giao thức truyền thông lớp dưới thường được sử dụng là UDP (User Datagram Protocol) là giao thức với độ tin cậy thấp nhưng có tốc độ truyền dữ liệu cao hơn các giao thức với độ tin cậy cao như TCP. Ưu điểm thứ hai là các giao thức thời gian thực hỗ trợ mạnh việc đồng bộ các dòng dữ liệu từ các nguồn khác nhau nhưng có quan hệ với nhau về mặt thời gian thực. Ví dụ như đối với việc truyền âm thanh và hình ảnh của cùng một sự vật, khi đó bên nhận khi thể hiện phải đảm bảo yêu cầu là âm thanh phải phù hợp với hình ảnh.
Ngoài ra, các giao thức điều khiển còn cung cấp các dịch vụ cho phép quản lí các thành viên tham gia và điều khiển chất lượng của việc phân phối dữ liệu. Với việc sử dụng một giao thức truyền thông thời gian thực cho việc truyền, khi đó các mẫu sẽ được đóng gói thành các gói tin. Các gói tin sẽ mang đầy đủ các thông tin như nhãn thời gian, số thứ tự của gói tin và các thông tin khác đủ dùng cho việc khôi phục dữ liệu và đồng bộ các dòng khi bên nhận tiến hành nhận và thể hiện nội dung của video hay audio. Thông qua các giao thức lớp dưới, các gói tin sẽ được truyền đi trong môi trường mạng.
Bước 4 - Nhận và khôi phục dữ liệu và đồng bộ các dòng: Đây là quá trình ngược với bước thứ ba, được thực hiện ở bên nhận khi dữ liệu dưới dạng các gói tin được truyền đến. Các gói tin được truyền đến có thể là của nhiều -7- dòng tương ứng với nhiều nguồn dữ liệu khác nhau và cũng có thể thứ tự các gói tin nhận được không giống như khi chúng được gửi đi. Khi đó bên nhận phải căn cứ vào các thông tin được ghi trong từng gói tin để có thể xác định được vị trí về mặt không gian và thời gian của các mẫu dữ liệu mà gói tin mang theo. Việc xác định được vị trí của các mẫu dữ liệu trong gói tin giúp cho việc khôi phục lại nội dung của video hay audio một cách chính xác nhất.