Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Công nghệ thông tin Nghiên cứu ứng dụng các hệ mật mã hạng nhẹ trong bảo mật dữ liệu video thời gian...

Tài liệu Nghiên cứu ứng dụng các hệ mật mã hạng nhẹ trong bảo mật dữ liệu video thời gian thực

.PDF
66
222
52

Mô tả:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------- NGUYỄN HOÀNG TIẾN NGHIÊN CỨU ỨNG DỤNG CÁC HỆ MẬT MÃ HẠNG NHẸ TRONG BẢO MẬT DỮ LIỆU VIDEO THỜI GIAN THỰC LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI - 2019 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------- NGUYỄN HOÀNG TIẾN NGHIÊN CỨU ỨNG DỤNG CÁC HỆ MẬT MÃ HẠNG NHẸ TRONG BẢO MẬT DỮ LIỆU VIDEO THỜI GIAN THỰC Chuyên ngành: Hệ thống thông tin Mã số: 8.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC: GS.TS. NGUYỄN BÌNH HÀ NỘI - 2019 i LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được công bố trong bất kỳ công trình nào khác. Hà Nội, tháng năm 2019 Tác giả luận văn Nguyễn Hoàng Tiến ii LỜI CẢM ƠN Tôi xin trân trọng cảm ơn các thầy cô trong Khoa công nghệ thông tin đã tạo điều kiện cho tôi một môi trường học tập tốt, đồng thời truyền đạt cho tôi một vốn kiến thức quý báu, một tư duy khoa học để phục vụ cho quá trình học tập và công tác của tôi. Tôi xin gửi lời cảm ơn đến các bạn trong lớp Cao học Hệ thống thông tin M17CQIS01-B khóa 2017- 2019 đã giúp đỡ tôi trong suốt thời gian học tập vừa qua. Đặc biệt, tôi xin được bày tỏ lòng biết ơn sâu sắc đến người hướng dẫn khoa học của tôi GS.TS. NGUYỄN BÌNH và TS. CAO MINH THẮNG đã tận tình chỉ bảo cho tôi trong suốt quá trình học tập và nghiên cứu, giúp tôi có nhận thức đúng đắn về kiến thức khoa học, tác phong học tập và làm việc, tạo điều kiện thuận lợi để tôi hoàn thành luận văn này. Cuối cùng, tôi xin được gửi lời cảm ơn tới gia đình, đồng nghiệp, người thân đã động viên, giúp đỡ tôi trong quá trình hoàn thành luận văn. Hà Nội, tháng năm 2019 Tác giả luận văn Nguyễn Hoàng Tiến iii MỤC LỤC LỜI CAM ĐOAN ....................................................................................................... i LỜI CẢM ƠN ............................................................................................................ ii MỤC LỤC ................................................................................................................. iii DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT ................................................v DANH MỤC BẢNG BIỂU ...................................................................................... vi DANH MỤC HÌNH VẼ ........................................................................................... vii MỞ ĐẦU .....................................................................................................................1 CHƯƠNG 1 - TỔNG QUAN VỀ BẢO MẬT DỮ LIỆU VIDEO THỜI GIAN THỰC. .........................................................................................................................4 1.1 Quá trình truyền dòng của dữ liệu video thời gian thực ................................4 1.1.1 Tổng quan về video thời gian thực .........................................................4 1.1.2 Quá trình truyền dòng .............................................................................5 1.2 Các giao thức streaming chuyên biệt ...........................................................10 1.2.1 Giao thức RTSP ....................................................................................10 1.2.2 Giao thức RTP ......................................................................................11 1.2.3 Giao thức SIP ........................................................................................13 1.3 Chuẩn nén video H264 ................................................................................13 1.3.1 Tổng quan .............................................................................................13 1.3.2 Cơ chế hoạt động ..................................................................................15 1.4 Giải pháp bảo mật dữ liệu video thời gian thực bằng phương pháp mật mã học 21 1.4.1 Mật mã khóa công khai .........................................................................21 1.4.2 Mật mã khóa bí mật ..............................................................................22 1.4.3 Phân tích lựa chọn phương pháp mã hóa phù hợp................................25 CHƯƠNG 2 - Nghiên cứu đề xuất ứng dụng các hệ mật hạng nhẹ vào dữ liệu video thời gian thực.............................................................................................................26 2.1 Một số hệ mật mã khối hạng nhẹ phổ biến ..................................................26 2.1.1 Phân loại hệ mật mã khối hạng nhẹ ......................................................26 iv 2.1.2 Hệ mật AES ..........................................................................................27 2.1.3 Hệ mật E-RISKE ..................................................................................30 2.2 Phương pháp mã hóa chọn lọc trên H264 ...................................................32 2.2.1 Mã hóa trước khi nén ............................................................................32 2.2.2 Mã hóa trong khi nén ............................................................................33 2.2.3 Mã hóa sau khi nén ...............................................................................34 2.3 Đề xuất phương pháp ứng dụng hệ mật hạng nhẹ để bảo mật dữ liệu video thời gian thực.........................................................................................................35 2.3.1 Đặt vấn đề .............................................................................................35 2.3.2 Thủ tục mã hóa .....................................................................................36 2.3.3 Thủ tục giải mã .....................................................................................37 2.3.4 Phân tích hiệu năng của phương pháp đề xuất .....................................38 CHƯƠNG 3 - CÀI ĐẶT VÀ THỬ NGHIỆM ..........................................................40 3.1 Xây dựng kịch bản thử nghiệm. ..................................................................40 3.2 Xây dựng chương trình ................................................................................42 3.2.1 Xây dựng máy chủ RTSP .....................................................................42 3.2.2 Xây dựng phần mềm nhận dữ liệu ........................................................44 3.3 Thử nghiệm, đánh giá kết quả .....................................................................45 3.3.1 Thử nghiệm ...........................................................................................45 3.3.2 Đánh giá ................................................................................................51 KẾT LUẬN VÀ KIẾN NGHỊ...................................................................................54 DANH MỤC TÀI LIỆU THAM KHẢO ..................................................................55 v DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt AES Advanced Encryption Standard Chuẩn mã hóa nâng cao AVC Advanced Video Coding E-RISKE IP Extended Random Invertible Secret-Key Encryption) Internet Protocol Chuẩn nén video nâng cao Tên thuật toán mã hóa Giao thức internet Ứng dụng xem tivi qua giao IPTV IPTV NAL Network Abtraction Layer Lớp mạng trừu tượng SE Selective Encryption Mã hõa chọn lọc VCL Video Coding Layer Lớp mã hóa video thức mạng vi DANH MỤC BẢNG BIỂU Bảng 1.1. Loại Slice……………………………………………………………… 18 Bảng 1.2. Tiêu đề Macroblock…………………………………………………….. 19 Bảng 2.1. Cấu trúc đại số nền tảng của hệ mật E-RISKE......................................... 30 vii DANH MỤC HÌNH VẼ Hình 1.1. Quá trình truyền đòng video 5 Hình 1.2. Cấu trúc NAL 7 Hình 1.3. Các bước trao đổi trong 1 phiên streaming media 11 Hình 1.4. Bộ mã hóa H264 15 Hình 1.5. Bộ giải mã H264 16 Hình 1.6. Cấu trúc H264 16 Hình 1.7. Minh họa Slice trong 1 khung hình 17 Hình 1.8. Minh họa ví trị Macroblock trong Slice 19 Hình 1.9. Ảnh tham chiếu và bù chuyển động 20 Hình 1.10. Các Profile trong H264 20 Hình 2.1: Sơ đồ tổng quan mã hóa và giải mã 29 Hình 2.2. Phân tích tiêu đề NAL H264 36 Hình 2.3. Sơ đồ xử lý dữ liệu máy chủ 37 Hình 2.4. Sơ đồ xử lý dữ liệu máy khách 38 Hình 3.1. Mô hình thử nghiệm Client – Server 40 Hình 3.2. Sơ đồ cấu trúc máy chủ RTSP 43 Hình 3.3. Sơ đồ hoạt động chương trình máy khách 45 Hình 3.4. Khởi động máy chủ phát dữ liệu 46 Hình 3.5. Khởi động chương trình máy khách thí nghiệm 46 Hình 3.6. Hình ảnh thử nghiệm 1 46 Hình 3.7. Biểu đồ kết quả thử nghiệm 1 47 Hình 3.8. Hình ảnh thử nghiệm 2 47 Hình 3.9. Biểu đồ kết quả thử nghiệm 3 48 Hình 3.10. Hình ảnh thử nghiệm 3 48 Hình 3.11. Biểu đồ kết quả thử nghiệm 2 49 Hình 3.12. Hình ảnh thử nghiệm 3 49 Hình 3.13. Biểu đồ kết quả thử nghiệm 4 50 Hình 3.14. Hình ảnh thử nghiệm 5 50 viii Hình 3.15. Kết quả thí nghiệm 5 51 Hình 3.16. Biểu đồ tổng kết kết quả thí nghiệm 52 1 MỞ ĐẦU Ngày nay với sự phát triển nhanh của công nghệ thông tin và mạng Internet, việc sử dụng các dịch vụ từ dữ liệu video thời gian thực ngày càng trở lên phổ biến, cho phép xem hình ảnh có âm thanh từ xa qua Internet theo thời gian gần như thực. Dữ liệu thời gian thực tồn tại dùng trong rất nhiều ứng dụng cuộc sống, có thể thấy như kênh truyền hình trực tiếp, các kênh livestream, thoại video, đặc biệt nhiều hơn từ các thiết bị IoT như camera giám sát qua mạng (IP camera)… Đối mặt với sự phát triển này, việc xâm phạm dưới các hình thức khác nhau có thể ảnh hưởng nặng nề tới các cá nhân và tổ chức xã hội. Do vậy, nhu cầu an toàn an ninh cho dữ liệu thời gian thực trở nên cấp thiết và đòi hỏi ở các mức độ cao hơn. Tuy nhiên trên thực tế lại hình thành một mâu thuẫn giữa sự phát triển các dịch vụ với việc đảm bảo an toàn thông tin dữ liệu video thời gian thực. Điều này dễ dàng có thể hiểu được vì môi trường truyền dữ liệu là một mạng mở, thiết bị thu phát dữ liệu lại thường là những thiết bị có tài nguyên hạn chế, giá thành thấp hoặc ít quan tâm đến bảo mật. Một trong những giải pháp hiệu quả nhất nhằm bảo đảm an toàn dữ liệu trong mạng này là sử dụng mật mã. Hiện nay đã có một số loại mật mã được áp dụng vào bảo mật dữ liệu video thời gian thực, tuy nhiên chỉ đạt hiệu quả trên những thiết bị có tài nguyên đủ lớn. Với các thiết bị có tài nguyên hạn chế thì các thuật toán mật mã thông thường là quá lớn, quá chậm và quá tốn năng lượng. Vấn đề đặt ra là phải đề xuất được các hệ mật mã có khả năng mã hóa video thời gian thực trên các hệ thống có tài nguyên hạn chế. Trong bối cảnh đó, đề tài “ Nghiên cứu ứng dụng các hệ mật mã hạng nhẹ trong bảo mật dữ liệu video thời gian thực” là một vấn đề nóng thu hút sự quan tâm của cộng đồng công nghệ trong và ngoài nước. Hiện nay, theo các báo cáo khảo sát về các phương thức mã hóa video thời gian thực [1] [2] [3] Về cơ bản, có 3 loại chính của mã hóa video: - Trước khi tạo luồng video (mã hóa dựa trên "pixel"). - Trong khi tạo luồng video (chuyển đổi dựa trên sự kết hợp của mã hóa (coding) và mật mã (encryption)). 2 - Sau khi tạo luồng video (mã hóa cấp độ bit). Trong tất cả các phương pháp này, mã hóa sau khi tạo luồng video cung cấp bảo mật cao hơn và không ảnh hưởng đến hiệu quả nén và chất lượng video. Tuy nhiên, tốc độ mã hóa là rất thấp mặc dù tỷ lệ nén sau khi tạo luồng video là cao nhất. Để sử dụng tốt phương thức này cần có phương pháp hợp lý để thỏa hiệp giữa tốc độ mã hóa và độ an toàn. Theo khảo sát về các phương thức mã hóa video truyền qua mạng [1]. Do kích thước khổng lồ của video kỹ thuật số nói chung chúng truyền qua nén các định dạng như MPEG 1/2/4 [4], H.263 / H.264 / AVC [5] [6]. Các phương pháp mã hóa khác nhau đã được đề xuất: Mã hóa hoàn toàn, mã hóa dựa trên hoán vị, mã hóa chọn lọc, mã hóa cảm tính.Trong các phương pháp này, mã hóa chọn lọc được cho là có tốc độ và độ an toàn ở mức cân bằng nhất. Để tăng cao tốc độ mã hóa và phù hợp trên các thiết bị có tài nguyên hạn chế, hệ mật mã hạng nhẹ được sử dụng để thay thế cho hệ mã hóa thông thường (DES...). Hiện nay, trên thế giới có rất nhiều hệ mật mã hạng nhẹ [10] nhằm hướng tới những yêu cầu cụ thể , như: mã khối DESL và DESXL, mã khối HIGHT, mã khối mCrypton, SEA, TEA, ICEBERG, PRINCE… một số mật mã khối đã đạt chuẩn ISO/IEC 29192-2 (các thuật toán mã hóa sẵn sàng để sử dụng trong các hệ thống thực tế.) như PRESENT, CLEFIA SIMON và SPECK. Đặc biệt có thuật toán ERISKE là mật hệ mật mã hạng nhẹ mới được công bố vào năm 2017 [7]. Tuy nhiên, hiện chưa có đề xuất cụ thể nào về ứng dụng mật mã trong bảo mật dữ liệu video thời gian thực trên các thiết bị có tài nguyên hạn chế và đây cũng chính là vấn đề nghiên cứu chính của đề tài. Với cách đặt vấn đề như trên, mục đích nghiên cứu của luận văn là ứng dụng được hệ mật hạng nhẹ trên thiết bị phát dữ liệu video thời gian thực có tài nguyên hạn chế mà vẫn duy trì chất lượng dịch vụ. Đối tượng nghiên cứu chính của đề tài là phương pháp bảo mật video thời gian thực và một số hệ mật mã khối hạng nhẹ. 3 Phạm vi nghiên cứu của đề tài là tập trung phân tích phương pháp sử dụng mật mã chọn lọc với loại dữ liệu video H264. Phương pháp nghiên cứu chính được sử dụng trong đề tài là nghiên cứu lý thuyết kết hợp với thực nghiệm, so sánh định tính định lượng và phân tích, đánh giá kết quả. Nội dung của đề tài được trình bày theo cấu trúc sau: - Chương 1: Tổng quan về bảo mật dữ liệu video thời gian thực. - Chương 2: Nghiên cứu đề xuất ứng dụng các hệ mật hạng nhẹ vào dữ liệu video thời gian thực - Chương 3: Phân tích đánh giá thử nghiệm. - Kết luận và khuyến nghị: Tổng hợp đánh giá các kết quả đạt được của đề tài đồng thời xác định các hướng nghiên cứu tiếp theo. Kết quả dự kiến của luận văn là nghiên cứu và phân tích một số hệ mật mã hạng nhẹ, đề xuất phương pháp ứng dụng mã hóa chọn lọc hạng nhẹ vào dữ liệu video thời gian thực. Thử nghiệm và đánh giá tốc độ và độ an toàn trong việc ứng dụng hệ mật ERISK trong mã hóa dữ liệu video thời gian thực. 4 CHƯƠNG 1 - TỔNG QUAN VỀ BẢO MẬT DỮ LIỆU VIDEO THỜI GIAN THỰC. Có rất nhiều ứng dụng hiện nay đòi hỏi tính thời gian thực (real time). Trong các dịch vụ truyền hình qua mạng, hội thảo trực tuyến, chat hình, chat tiếng…mỗi ứng dụng có những đặc điểm riêng của nó, tuy nhiên có một số điều chung nhất mà các dịch vụ này đều yêu cầu đó là việc truyền dữ liệu theo dòng (streaming) một cách an toàn. Do vậy trong chương này sẽ tìm hiểu khái niệm truyền dòng, cách thực hoạt động của nó và phương pháp đảm bảo an toàn cho dữ liệu 1.1 Quá trình truyền dòng của dữ liệu video thời gian thực 1.1.1 Tổng quan về video thời gian thực Video là một loại dữ liệu đa phương tiện quan trọng trong các lĩnh vực truyền thông và giải trí. Trong thời kì sơ khai, Video được xử lý và truyền dưới dạng tín hiệu Analog. Nhưng sự phát triển mạnh mẽ của mạch điện tử và máy tính đã thúc đẩy việc số hóa Video và mở ra một cuộc cách mạng về các công nghệ nén và truyền Video. Trong những năm 90, với sự phát triển và phổ biến của Internet, Video được truyền bằng công nghệ chuyển mạch gói. Dù vậy, khi truyền qua mạng Internet, người ta vẫn thường xuyên gặp những yếu tố bất lợi về băng thông, độ trễ và mất gói tin, cùng với đó là vấn đề chia sẻ tài nguyên mạng giữa các luồng và làm thế nào để triển khai hiệu quả các phương thức truyền thông Multicast. Thông thường, người dùng chỉ có thể đọc Video sau khi đã tải toàn bộ Video về đĩa cứng trên máy mình. Thế nhưng, trong bối cảnh các Video đang được cung cấp dưới dạng chất lượng cao thông qua Internet cũng như yêu cầu nhanh chóng, tiện dụng đang được người dùng Internet đặt lên hàng đầu thì phương pháp ấy đã không còn hiệu quả. Từ đây, một bài toán được đặt ra nhằm truyền tải Video đến người dùng một cách nhanh chóng, thuận tiện mà vẫn đảm bảo được chất lượng cần thiết. Ta có khái niệm truyền dòng dữ liệu video thời gian thực (Video Streaming) là “truyền Video một cách liên tục từ một nguồn đến một hay nhiều đích nào thông 5 qua Internet mà vẫn đảm bảo thời gian tương ứng với thời gian thật một cách tương đối”. Video Streaming cho phép việc giải nén kết hợp với hiển thị dữ liệu trong khi vẫn tiếp tục tải phần còn lại của Video về. Đây gọi là kĩ thuật Buffering: Video sẽ được chia ra thành từng gói nhỏ, sau đó liên tục truyền những gói ấy tới người dùng. Người dùng khi nhận được một phần nhỏ của dữ liệu Video sẽ bắt đầu giải nén và hiển thị phần dữ liệu ấy trong khi vẫn tiếp tục tải về các gói dữ liệu tiếp theo để tiếp tục giải nén và hiển thị. Vậy, có thể dễ dàng thấy rằng Video Streaming mang lại sự tiện dụng và nhanh chóng như thế nào. Ứng dụng của Video Streaming rất rộng lớn, trong đó, dễ thấy nhất là trong lĩnh vực truyền thông báo chí trên mạng Internet, nơi các kênh báo hình đang ngày càng được chú trọng phát triển. Một số vị dụ điển hình của như : IPTV, Ipcamera, youtube.... 1.1.2 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. [8] 1.1.2.1 Kiến trúc hệ thống Hình 1.1. Quá trình truyền đòng video 6 Trong đó: - Streaming Server: Là bộ phận đóng vai trò quan trọng trong việc cung cấp các dịch vụ trực tuyến mà cụ thể là Streaming Video. Để cung cấp dịch vụ Streaming Video một cách chất lượng, Streaming Server được yêu cầu phải xử lý dữ liệu Video với sự ràng buộc về thời gian thực, hạn chế độ trễ và hỗ trợ cho người dùng các tương tác trên Video như tạm dừng hay truy xuất đến bất kì thời điểm nào của Video. - Video/Audio Compression: Là bộ phận thực hiện công đoạn nén các dữ liệu Video/Audio trước khi truyền nhằm giúp quá trình truyền đạt hiệu quả tốt nhất về tiết kiệm băng thông. - Application Layer QoS Control: Trong quá trình truyền, sự biến thiên về tài nguyên mạng là không thể tránh khỏi. Cùng với đó, yêu cầu chất lượng Video của mỗi đối tượng người dùng là khác nhau, vì thế nhiều kĩ thuật điều khiển chất lượng tầng ứng dụng đã được đưa ra. Kỹ thuạt này bao gồm điều khiển tắc nghẽn và kiểm soát lỗi nhằm ngăn ngừa việc làm mất gói dữ liệu và giảm độ trễ, mặt khác còn có thể cải thiện chất lượng Video được trình chiếu ở máy người dùng trong điều kiện đường truyền tốt. - Media Synchronization: Là cơ chế đồng bộ cho phép Video và Audio được phát bên phía người nhận có được sự đồng bộ giống như Video và Audio gốc. - Transfer Protocols: Là giao thức được thiết kế và chuẩn hóa cho việc truyền dữ liệu giữa máy tính người dùng và Streaming Server bao gồm các giao thức tầng mạng (IP), giao thức tầng giao vận (UDP/TCP) và giao thức điều khiển phiên Real-time Streaming Protocol (RTSP). - Continous Media Distribution Service: Là dịch vụ được xây dựng trên nền mạng Internet, cho phép việc phân phối Video trên đường truyền đạt được Quality of Service (chất lượng dịch vụ) và hiệu quả cao. 7 1.1.2.2 Cơ chế hoạt động Bước 1 – Nén dữ liệu: Quá trình truyền thông bắt đầu ở lớp mã hóa (video coding), các tín hiệu tương tự hoặc số được nén. Tín hiệu đầu ra của bộ nén là các dòng MPEG cơ bản. Các dòng MPEG cơ bản được định nghĩa là các tín hiệu số liên tục thời gian thực. Có nhiều loại dòng cơ bản. Ví dụ âm thanh được mã hóa sử dụng MPEG được gọi là “dòng cơ bản âm thanh”. Một dòng cơ bản thực ra chỉ là tín hiệu ra thô từ bộ mã hóa. Các dòng dữ liệu được tổ chức thành các khung tại lớp này. Các thông tin chứa trong một dòng cơ bản có thể bao gồm: Loại khung và tốc độ, vị trí của những block dữ liệu trên màn hình, tỉ số cạnh. Điều quan trọng phải chú ý là lớp này được chia thành 2 lớp phụ theo đặc tính của chuẩn H.264/AVC: lớp mã hóa video(VCL) và lớp trừu tượng(NAL). Lớp phụ VCL quan tâm tới việc nén các nội dung video. Tín hiệu đầu ra của lớp này là chuỗi các slice ảnh. Dòng bit ở lớp NAL được tổ chức thành các gói rời rạc được gọi là các khối NAL. Định dạng của các khối NAL được mô tả trong Hình 1.2 Đơn vị header NAL 1bit kiểm tra lỗi 2 bit cờ NAL phân tán hay không Dữ liệu video payload NAL 5 bit định nghĩa kiểu của đơn vị Nal Chứa các section hoặc slice video Hình 1.2. Cấu trúc NAL Việc 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 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 8 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 (Common Intermediate Format). CIF sử dụng độ phân giải 352 pixel mỗi dòng và có 288 dòng tất cả. Một ảnh không nén cho một frame hình (chế độ 352x288x16bpp) chiếm 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 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, 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. 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 băng thông mạng yêu cầu cho dòng video giảm đáng kể. Hiện phổ biến hai họ chuẩn nén, là họ CCITT với các chuẩn dạng H.26x, H. 36x và họ ISO MPEG với các chuẩn MPEG-1, MPEG-2, MPEG-4, MPEG-7. 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 nhận được các mẫu này. Với việc sử dụng một giao thức truyền thông thời gian thực như RTP(Real-time Transport), quá trình lấy mẫu sẽ được tiến hành tự động. 9 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. RTP sử dụng TCP và UDP là 2 giao thức để truyền tải gói tin qua mạng. Trong đó TCP mang đến sự ổn định trong việc truyền dữ liệu, UDP có tốc độ truyền dự liệu tốn hơn nhưng độ ổn định thấp hơn TCP. 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. Ư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. 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 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. Với việc truyền các dòng đơn lẻ không có quan hệ với nhau về mặt thời gian, thì nội dung của audio hay video vừa được khôi phục có thể được sử dụng để trình diễn. Còn trong trường hợp có nhiều dòng khác nhau có quan hệ với nhau về mặt thời gian thực thì cần phải đồng bộ các dòng về mặt thời gian. 10 Việc đồng bộ các dòng chỉ cần thiết khi các dòng có quan hệ với nhau về mặt thời gian, chẳng hạn như việc đồng bộ hình với tiếng khi truyền video, khi đó thời gian thể hiện của các dòng phải được tính toán sao cho phù hợp với nhau. Việc đồng bộ là một công việc phức tạp, thường được thực hiện tự động bởi các giao thức truyền thông thời gian thực như RTP. Khi đó mặc dù thứ tự các gói tin nhận được có thể không giống như thứ tự khi được gửi, thậm chí có một số gói tin bị mất nhưng giao thức vẫn phải đảm bảo tính đồng bộ cho các dòng khi được thể hiện ở nơi nhận. Bước 5 – Giải nén Bước này sẽ tiến hành giải nén dòng video/audio với chuẩn nén được sử dụng khi nén. Dữ liệu sau khi giải nén có thể được thể hiện ra các thiết bị ra hay được ghi ra file. 1.2 Các giao thức streaming chuyên biệt Qua nhiều năm, một số giao thức streaming được xây dựng và phát triển bởi cả các công ty thương mại và cộng đồng Internet. Về phía thương mại, các công ty giải pháp streaming thường phát triển các giao thức streaming của riêng họ để dùng cho các sản phẩm của mình. Ví dụ, Microsoft phát triển dịch vụ Microsoft Media Services (MMS) để dùng trong hệ thống Windows Media. MMS dùng TCP để trao đổi các thông tin điều khiển và truyền dữ liệu đa phương tiện qua cả TCP và UDP. RealNetworks cũng phát triển giao thức RealNetwork Data Transport (RDT) để dùng cho cá giải pháp của họ. Do tính riêng tư, nên các giao thức này sẽ không được bàn thêm trong nội dung này. Bên cạnh đó ,cộng đồng Internet cũng phát triển các chuẩn mở dành cho streaming media. Các chuẩn này bao gồm: Real Time Streaming Protocol (RTSP) được định nghĩa trong chuẩn RFC 2326, RealTime Transport Protocol (RTP) và RTP Control Protocol (RTCP) trở thành chuẩn từ năm 2004. [8] 1.2.1 Giao thức RTSP RTSP (Real Time Streaming Protocol) là một giao thức điều khiển trên mạng được thiết kế để sử dụng giao tiếp giữa máy client và máy streaming server. Giao
- Xem thêm -

Tài liệu liên quan