Chương I: Tổng quan về video thời gian thực và vấn đề chống lỗi trong video thời gian thực. Giới thiệu về video thời gian thực, một số phƣơng pháp chống lỗi. Chương II: Phƣơng pháp nén nội khung (intra coding) trong chuẩn H.264 Trình bày về phƣơng pháp intra coding của chuẩn H.264 Chương III: Mã hóa dựa trên đƣờng biên Xây dựng phƣơng pháp nén nội khung bằng cách phân chia frame thành các vùng, và mã hóa đƣờng biên cũng nhƣ giá trị màu đại diện của mỗi vùng.Phƣơng pháp này dựa trên ý tƣởng của phƣơng pháp chain coding đƣợc trình bày ở tài liệu tham khảo [1]. Chương IV: Thực nghiệm Trình bày kết quả thực nghiệm của phƣơng pháp nén đã xây dựng ở chƣơng III.
2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƢƠNG I TỔNG QUAN VỀ VIDEO THỜI GIAN THỰC VẤN ĐỀ CHỐNG LỖI TRONG VIDEO THỜI GIAN THỰC I. TỔNG QUAN VỀ VIDEO THỜI GIAN THỰC 1. Video thời gian thực Video thời gian cho phép tƣờng thuật trực tiếp các sự kiện, hội thoại bằng video, giám sát và điều khiển từ xa qua video. Trong hệ thống video thời gian thực, các máy thu hình tạo ra các đoạn video tại những khoảng thời gian nhỏ phản ánh trực tiếp sự kiện đang diễn ra trƣớc ống kính.
Các đoạn video này đƣợc nén, mã hóa và truyền đi ngay lập tức theo kiểu streaming. Tại nơi nhận, các đoạn video nén đƣợc giải mã và trình chiếu theo đúng thứ tự đƣợc tạo ra của chúng. Độ trễ giữa nơi nhận và nơi gửi là rất thấp. Vì thế, ngƣời dùng theo dõi đƣợc sự kiện gần nhƣ tức thời khi nó diễn ra.
Điều này cho phép cuộc hội thoại video đƣợc liên tục, hội nghị trực tuyến, giám sát từ xa, interactive game… 2. Truyền video thời gian thực theo kiểu streaming [2] Streaming video là phƣơng pháp truyền phát video bằng cách chia nhỏ video thành nhiều phần nhỏ, truyền những phần này một cách liên tục tạo thành một dòng dữ liệu; trong khi bên nhận dữ liệu giải mã những phần dữ liệu video vừa nhận đƣợc rồi hiển thị hoặc tạm lƣu trữ để đợi đến lƣợt đƣợc hiển thị. Nhƣ vậy, việc streaming video có thể đƣợc mô tả bởi 3 bƣớc cơ bản: 1. Chia nhỏ video thành những phần nhỏ 2.
Truyền phát liên tục các phần dữ liệu video 3. Giải mã và hiển thị nội dung phần video nhận đƣợc ở bên nhận trong khi việc phát video vẫn tiếp diễn. Trong video thời gian thực, mỗi đoạn video mà máy quay thu đƣợc tại những thời điểm liên tục đƣợc mã hóa, chia nhỏ thành các phần nhỏ hơn và đƣợc truyền đi theo phƣơng thức mô tả ở trên. 3 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.
Một số ứng dụng video thời gian thực Hội Nghị Truyền Hình (Video conference) Là phƣơng thức liên lạc video thời gian thực cho phép ngƣời dùng ở các điểm khác nhau có thể nói chuyện, nhìn thấy nhau, chia sẻ các dữ liệu, hình ảnh, âm thanh… với nhau. Video conference cho phép tổ chức các cuộc họp trực tuyến, các thành viên tham dự có thể biểu quyết, trao đổi thông tin với nhau. Dữ liệu video và âm thanh đƣợc truyền trực tiếp tại hiện trƣờng phản ánh sự kiện đang diễn ra trong thời gian thực theo cả 2 chiều. Các thành phần của một hệ thống video conference gồm: Camera, microphone; màn hình, thiết bị hiển thị; máy tính; thiết bị điều khiển; bộ mã hóa và giải mã; gate way; Multipoints conference unit…Multipoint conference unit đƣợc sử dụng trong video conference đa điểm, thực hiện việc kết nối giữa các điểm với nhau.
Gọi Điện Thoại Có Hình (Video phone) Là dịch vụ cho phép đàm thoại có hình giữa 2 ngƣời dùng điện thoại. Với video phone, ngƣời dùng có thể nghe và nhìn thấy hình ảnh thật của ngƣời đối thoại. Giám Sát Từ Xa Bằng Video (Remote monitoring video) Cho phép giám sát từ xa thông qua truyền video thời gian thực từ hiện trƣờng về môt trung tâm giám sát, xử lý. Từ trung tâm giám sát, tùy hệ thống, ngƣời dùng có thể gửi đi các lệnh điều khiển từ xa, các phản hồi tới hiện trƣờng.
Truyền hình trực tiếp: Cho phép truyền phát trực tiếp video, âm thanh từ các sự kiện đang diễn ra. Ví dụ nhƣ tƣờng thuật trực tiếp một trận đấu bóng, một buổi biểu diễn… 4. Các giao thức truyền video thời gian thực RTP [3]: Real-time transport protocol có chức năng vận chuyển dữ liệu đầu cuối thời gian thực nhƣ video, âm thanh…RTP cung cấp các dịch vụ nhƣ gán nhãn thời gian cho các gói, đánh số thứ tự các gói, xác định tải trọng…RTP hỗ trợ việc truyền phát 4 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com dữ liệu đến nhiều đích với phân phối dữ liệu theo kiểu multicast. Thông thƣờng, RTP đƣợc sử dụng bên trên giao thức UDP.
Bản thân RTP không bảo đảm phân phát dữ liệu một cách kịp thời tới đích, mà phải dựa trên các dịch vụ của tầng thấp hơn để thực hiện điều này. RTP cũng không cung cấp cơ chế đảm bảo các gói dữ liệu đƣợc truyền theo đúng thứ tự, nhƣng thông tin về số thứ tự của gói cho phép bên thu khôi phục đƣợc đúng thứ tự của các gói. RTP cung cấp các dịch vụ cơ bản nhất cho các ứng dụng truyền video, âm thanh thời gian thực; mỗi ứng dụng cụ thể có thể bổ sung vào RTP những dịch vụ phù hợp với yêu cầu của nó. RTP đƣợc thiết kế độc lập với tầng mạng và giao vận (transport layer) bên dƣới.
RTP hỗ trợ việc sử dụng các mixer và translator. RTCP [3]: Real time control protocol là giao thức hỗ trợ cho giao thức RTP. RTCP làm việc song hành với RTP. Trong khi RTP vận chuyển các gói tin dữ liệu thì RTCP vận chuyển các gói tin điều khiển.
Chức năng chính của RTCP là thu nhận thông tin phản hồi về chất lƣợng dịch vụ RTP.RTCP cũng có chức năng thăm dò các thành viên tham gia vào phiên làm việc. Các gói tin RTCP đƣợc gửi đi một cách định kì từ máy thu, máy phát báo cáo số lƣợng thống kê của ứng dụng nhƣ số gói nhận đƣợc, số gói mất, độ thăng giáng trễ…Dựa vào thông tin này, máy phát có thể điều chỉnh quá trình truyền phát dữ liệu cho phù hợp. RTSP: Real time streaming protocol là giao thức tầng ứng dụng, đƣợc thiết kế để điều khiển việc truyền dữ liệu thời gian thực. Nó độc lập với các giao thức tầng thấp hơn.
RTSP hoạt động giống nhƣ một cơ chế điều khiển mạng từ xa mà không thực sự truyền dữ liệu media. Nó cho phép thiết lập và điều khiển một hay nhiều stream media thời gian thực. Trong RTSP, máy chủ duy trì phiên làm việc đƣợc xác định bởi một định danh. Trong một phiên làm việc, máy khách có thể gửi các gói tin yêu cầu thông qua việc mở và đóng nhiều kết nối truyền thông đáng tin cậy TCP và không đáng tin cậy UDP đến máy chủ.
5 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com RSVP: Resource reservation protocol là giao thức điều khiển mạng, cho phép bên nhận yêu cầu chất lƣợng dịch vụ đầu cuối cho dòng dữ liệu. RSVP không phải là giao thức định tuyến. Chức năng cơ bản của nó là thiết lập và duy trì đƣờng đi, hủy bỏ đƣờng đi và báo lỗi. Khi một nút gửi dữ liệu, nó gửi một bản tin qua các nút trung gian tới máy nhận, mô tả đặc điểm lƣu lƣợng sẽ gửi, đặc điểm của các nút trung gian trên đƣờng truyền.
Căn cứ vào những thông tin này, nút nhận sẽ gửi một bản tin đăng kí tài nguyên. Nếu việc đăng kí thành công, nút gửi bắt đầu gửi dữ liệu đến nút nhận. Mỗi phiên làm việc của RSVP đƣợc xác định bởi bộ tham số nhƣ địa chỉ Ip nguồn, địa chỉ Ip đích, cổng nguồn, cổng đích…Việc đặt trƣớc tài nguyên của RSVP cho phép một cơ chế làm việc gần giống chuyển mạch kênh ngay trên mạng chuyển mạch gói. Một thiết lập RSVP sẽ hết hiệu lực sau một khoảng thời gian nếu nó không đƣợc làm tƣơi một cách định kì.
Mã hóa chống lỗi cho truyền video thời gian thực Các kĩ thuật chống lỗi có thể đƣợc phân ra làm 3 loại sau: Loại 1 gồm các kĩ thuật đƣợc thực hiện tại bộ mã hóa nguồn hoặc bộ mã hóa kênh nhằm tạo ra dòng bít có sức đề kháng tốt với lỗi. Loại 2 gồm các kĩ thuật đƣợc thực hiện tại bộ giải mã nhằm phát hiện lỗi, che giấu những tác động của lỗi. Loại 3 gồm các kĩ thuật đòi hỏi sự tƣơng tác giữa bên giải mã và bên mã hóa. Căn cứ vào những lỗi, trạng thái của bên giải mã, bên mã hóa có thể đƣa ra các hoạt động thích ứng nhằm giảm thiểu tác động của lỗi.
Một số kĩ thuật chống lỗi thực hiện trên bộ mã hóa Sửa Lỗi Trƣớc (FEC) Forward error correction là kĩ thuật thêm vào dữ liệu chính những dữ liệu bổ sung trƣớc khi truyền phát. Khi sự mất mát, hƣ hại dữ liệu xảy ra, thì căn cứ vào các dữ liệu bổ sung này có thể khôi phục lại đƣợc dữ liệu đã mất hoặc hỏng. Việc sử dụng FEC làm tăng dung lƣợng thông tin phải truyền tải. 6 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Scalable video coding: Video đƣợc mã hóa thành các dòng bit khác nhau gọi là các layer.
một base layer cung cấp một chất lƣợng hình ảnh, âm thanh thấp nhƣng vẫn chấp nhận đƣợc. Các enhancement layer có thể đƣợc kết hợp với base layer để cung cấp chất lƣợng tốt hơn, có thể cho phép bổ sung, làm tinh tế chất lƣợng hình ảnh. Các layer có thể đƣợc truyền phát đồng loạt trong môi trƣờng mạng không đồng nhất. Ví dụ, trong việc truyền phát multicast từ server tới các thiết bị cuối, các thiết bị cuối có thể là máy tính, điện thoại di động, ti vi.với các đặc tính, yêu cầu chất lƣợng khác nhau.
Nơi nhận có thể chọn và giải mã một số layer sao cho phù hợp với điều kiện tài nguyên của nó nhƣ khả năng xử lý, năng lƣợng (với thiết bị di động), độ phân giải hiển thị hình ảnh… cũng nhƣ yêu cầu chất lƣợng phù hợp với điều kiện mạng.Nếu chỉ một base layer đến đƣợc nơi nhận, thì video vẫn có thể đƣợc giải mã và hiển thị nhƣng với chất lƣợng không cao, chấp nhận đƣợc. Càng nhiều layer đến đƣợc nơi nhận, thì chất lƣợng video sau khi giải mã càng cao. Có ba loại scalable video coding chủ yếu là: scalability về không gian, scalability về thời gian, scalability về chất lƣợng mà có thể lấy SNR (signal-to-noise ratio) làm đặc trƣng. Scalability về không gian nhằm mã hóa video nguồn thành nhiều layer, các layer có thể tƣơng ứng với các độ phân giải hình ảnh khác nhau.
Scalability về thời gian tạo ra các layer khác nhau về tốc độ frame.