Các chuẩn nén video giữ vai trò làm giảm bớt số bit khi lƣu trữ và truyền bằng cách loại bỏ lƣợng thông tin dƣ thừa trong từng khung (frame) và dùng kỹ thuật mã hoá để tối thiểu hoá lƣợng thông tin quan trọng cần lƣu giữ. Với một thiết bị lƣu hình kỹ thuật số thông thƣờng, ảnh sau khi đƣợc số hoá sẽ đƣợc nén lại. Quá trình nén sẽ xử lý các dữ liệu trong ảnh để đƣa hình ảnh vào một không gian hẹp hơn nhƣ trong thiết bị nhờ kỹ thuật số hoặc qua đƣờng dây điện thoại ...
Với thị trƣờng lƣu hình kỹ thuật số hiện nay, các chuẩn nén phổ biến là hai chuẩn phổ biến là nhóm gồm các định dạng nén MJPEG , Wavelet và nhóm gồm các định dạng nén nhƣ H.261/ H.263/ H.263+/ H.263++ , MPEG- 1/MPEG-2/ MPEG-4.
2.2.1 Chuẩn nén MJPEG và Wavelet
điều này dẫn tới dƣ thừa thông tin để biểu diễn ảnh. Việc dƣ thừa thông tin dẫn tới việc mã hoá không tối ƣu. Chính vì vậy ta cần tìm cách biểu diễn ảnh với
tƣơng quan nhỏ nhất nhằmgiảm thiếu độ dƣ thừa thông tin ảnh.
Có 2 kiểu dƣ thừa thông tin nhƣ sau :
Dƣ thừa trong miền không gian : là tƣơng quan giữa pixel của ảnh
(các pixel lân cận của ảnh có giá trị gần giống nhau, trừ những pixel ở giáp đƣờng biên ảnh )
Dƣ thừa trong miền tần số : là tƣơng quan giữa những dải màu hoặc
các dải phổ khác nhau.
Điều quan trong của các nghiên cứu về nén ảnh là giảm bớt một số bit để biểu diễn ảnh bằng việc loại bỏ dƣ thừa thông tin trong miền không gian và miền tần số càng nhiều càng tốt. Các chuẩn nén MJPEG và Wavelet đều tuân theo nguyên tắc tìm ra các phần tử dƣ thừa miền không gian (mỗi Frame nén tự động). Trong khi đó, đặc trƣng của các chuẩn nén thuộc nhóm 2 gồm các chuẩn H.261/ H.263/ H.263+/ H.263++ và MPEG-1/ MPEg-2/ MPEG-4 là loại bỏ dƣ thừa ở cả miền không gian và miền tần số của ảnh.
Ở chuẩn nén MJPEG, ảnh đƣợc phân chia thành các khối vuông ảnh, mỗi khối vuông có kích thƣớc 8 x 8 pixel và biểu diễn mức xám của 64 điểm ảnh. Mã hoá biến đổi cosin rời rạc DCT (Discrete Cosin Tranform) trong chuẩn nén này khai thác sự tƣơng đồng giữa các pixel trong mỗi khối, để lấy ra các biểu diễn ảnh với tƣơng quan nhỏ. Chuỗi biểu diễn sẽ bị rút ngắn, tuỳ theo mức nén của hệ thống hiện hành với qui trình rút ngắn chuỗi biểu diễn. Vì vậy, hình ảnh sau khi giải nén thƣờng có nhiều sai lệch so với ảnh gốc.
Ở chuẩn nén Wavelet, thay vì mã hoá theo từng khối 8 x 8, việc thực hiện trên toàn bộ bề mặt ảnh, một loạt các bộ phận lọc ở khâu chuyển đổi sẽ phân tích các dữ kiện về từng điểm ảnh và cho ra một tập các hệ số. Do chuẩn
Wavelet có tác dụng với toàn bộ bề mặt ảnh, nên các sai lệch ở ảnh giải nén sẽ khác với MJPEG. Hiệu ứng ghép mảnh không xảy đến với ảnh đƣợc quan sát, nhƣng độ phân giải hình ảnh giảm cũng nhƣ một vài vết mờ sẽ xuất hiện.
2.2.2 Chuẩn nén MPEG-x và H.26x
MPEG (Moving Picture Experts Group) không phải là một công cụ nén đơn lẻ, mà ƣu điểm của ảnh nén dùng MPEG là ở chỗ MPEG có một tập hợp các công cụ mã hoá chuẩn, chúng có thể kết hợp với nhau một cách linh động để phục vụ cho một loạt các ứng dụng khác nhau. Nguyên lý chung của nén tín hiệu video là loại bỏ sự dƣ thừa về không gian (spatial redundancy) và sự dƣ thừa về thời gian (temporal redundancy). Trong MPEG, việc loại bỏ sự dƣ thừa về thời gian (nén liên ảnh), đƣợc thực hiện trƣớc hết nhờ sử dụng tính chất giữa các ảnh liên tiếp. Chúng ta dùng tính chất này để tạo ra các bức ảnh mới nhờ vào thông tin từ những bức ảnh gửi trƣớc đó. Do vậy ở phía bộ mã hoá ta chỉ cần giữ lại những ảnh có sự thay đổi so với ảnh trƣớc, sau đó ta dùng phƣơng pháp nén về không gian trong những bức ảnh sai khác này.
Tuy nhiên, do sự tƣơng đồng giữa các khung (frame) là rất lớn, nên sự phát hiện ra các sai lệch là rất khó. Do vậy ảnh khôi phục khó đạt đƣợc nhƣ ảnh gốc. Điều này đồng nghĩa với việc chất lƣợng ảnh cũng tƣơng tự nhƣ khi dùng chuẩn Wavelet và MJPEG, nhƣng dung lƣợng kênh truyền và không gian lƣu trữ của các chuẩn nén H.26x và MPEG-x là nhỏ hơn (ví dụ nhƣ không gian lƣu trữ của chuẩn H.263 nhỏ hơn Motion JPEG từ 3 tới 5 lần). Sự khác biệt giữa các chuẩn nén này (nhƣ ở H.26x và MPEG-x) chủ yếu nằm ở khâu tiên đoán các khung (frame) mới và cách thức tính toán sai lệch giữa các frame hiện tại và frame phỏng đoán. Chuẩn nén H.26x (gồm các thế hệ H.261, H.262 và H.263, ...), thƣờng có tốc độ mã hoá tín hiệu thấp hơn MPEG-x (khoảng 1,5
2.2.3 Chuẩn nén MPEG-2
MPEG-2 thƣờng đƣợc sử dụng để mã hóa âm thanh và hình ảnh cho các tín hiệu broadcast bao gồm truyền hình vệ tinh quảng bá trực tiếp và truyền hình cáp. MPEG-2 với một số sửa đổi cũng là khuôn dạng đƣợc sử dụng bởi các phim DVD thƣơng mại tiêu chuẩn. MPEG-2 bao gồm các phần chính sau:
PEG-2 Video part (Part 2): tƣơng tự MPEG-1, nhƣng chỉ hỗ trợ video
xen kẽ (interlaced video, là khuôn dạng đƣợc sử dụng cho các hệ thống truyền hình quảng bá). MPEG-2 video không đƣợc tối ƣu hóa cho các tốc độ bit thấp (nhỏ hơn 1 Mbps), nhƣng lại thực hiện tốt hơn MPEG-1 ở tốc độ 3 Mbps và cao hơn. Tất cả các bộ giải mã tín hiệu video tuân theo chuẩn MPEG-2 hoàn toàn có khả năng phát lại các luồng video MPEG-1. Do có nhiều cải tiến, MPEG-2 video và các hệ thống MPEG-2 đƣợc sử dụng trong hầu hết các hệ thống truyền dẫn HDTV.
PEG-2 Audio part (Part 3): cải tiến chức năng âm thanh của MPEG-1
bằng cách cho phép mã hóa các chƣơng trình âm thanh với nhiều hơn hai kênh. Part 3 cũng cũng tƣơng thích với chuẩn trƣớc, cho phép các bộ giải mã âm thanh MPEG-1 giải mã các thành phần âm thanh nổi (stereo).
MPEG-2 đƣợc dùng để mã hóa hình ảnh động và âm thanh và để tạo ra ba kiểu khung số liệu (intra frame, forward predictive frame và bidirectional pridicted frame) có thể đƣợc sắp xếp theo một trật tự cụ thể gọi là cấu trúc nhóm các hình ảnh (group of pictures, GOP).
2.2.4 Chuẩn nén MPEG – 4
So với các chuẩn nén đã nêu ở trên, chuẩn MPEG-4 là định dạng nén hình ảnh tiên tiến nhất, đáp ứng những đòi hỏi về kỹ thuật cũng nhƣ phù hợp với nhiều loại thị trƣờng.
MPEG-4 thực sự là một dạng nén ảnh mang tính đột phá của công nghệ nén hình hiện nay, thể hiện rõ nét ở những tiêu chuẩn sau:
Áp dụng những tiêu chuẩn có tính mở cao với sự hỗ trợ đắc lực từ ngành công nghiệp an ninh và công nghiệp máy tính.
Hiệu suất lớn
Khả năng truyền theo dòng và mạng lƣới
Tối thiểu hoá dung lƣợng kênh truyền và không gian lƣu trữ trong khi vẫn giữ đƣợc tính trung thực của ảnh.
Chuẩn MPEG-4 cung cấp các phân bộ trong kết cấu logic và năng lực giải mã từng dòng bit riêng rẽ. Một profile (chất lƣợng của video) là một phân bộ xác định trên toàn bit stream (điều chỉnh bit stream và bộ phân giải màu), một level (độ phân giải của video) sẽ xác định một số tiêu chí bắt buộc cho tham số của bức ảnh (kích thƣớc ảnh, số lƣợng bit, ...).
Những chuẩn nén MPEG-4 có profile dạng đơn giản chiếm lĩnh đa phần thị trƣờng. MPEG-4 đã đƣợc phát triển và hoàn thiện trở thành định dạng nén hình tiên tiến, hoàn hảo, với tiêu chí tập trung phát triển những nhân tố giúp tăng cƣờng chất lƣợng hình ảnh, cũng nhƣ phục vụ đắc lực cho các thiết bị giám sát có các frame dạng chữ nhật. Mỗi bit stream hiển thị trong định dạng nén MPEG-4 cung cấp một mô tả mang tính phân tầng về hình ảnh hiển thị. Từng lớp dữ liệu đƣợc đƣa vào luồng bit bởi những mật mã đặc biệt gọi là mật mã khởi nguồn.
Định dạng nén ảnh MPEG-4 hỗ trợ quá trình lƣợng tử hoá, do vậy cũng giúp đáp ứng những đòi hỏi khác nhau về tốc độ bít. Lƣợng tử hoá đã có ở các chuẩn nén nhƣ H.263 và MPEG-1, MPEG-2. Bộ phận mã hoá ở định dạng nén của MPEG-4 cũng tƣơng thích với những bộ mã hóa trong các chuẩn nén trƣớc đây.
2.2.5 Yêu cầu về băng thông của các chuẩn nén
So sánh hoạt động của chuẩn nén khác nhau nhƣ trong bảng dƣới đây:
Độ nét tiêu chuẩn Độ nét cao Ứng dụng
MPEG-1 Lên đến 1,5 Mbps - Video on Internet,MP3
MPEG-2 4 - 5 Mbps 18 - 20 Mbps Digital TV, DVD
MPEG-4 Part 10
2 - 4 Mbps 8 - 10 Mbps Multi video H.264
2.3 Lựa chọn giao thức mạng 2.3.1 Giao thức cho dịch vụ multicast 2.3.1 Giao thức cho dịch vụ multicast
2.3.1.1 Giao thức IGMP (Internet Group Management Protocol) : Giao thức IGMP có ba phiên bản verion 1, verion 2,và verion 3. IGMP phát triển từ IGMPv1 (RFC1112) đến IGMPv2 (RFC2236) và đến phiên bản cuối cùng IGMPv3 (RFC3376). Các thông điệp IGMP đƣợc gửi bên trong gói tin IP với trƣờng protocol number bằng 2, trong đó trƣờng TTL (Time To Live) trị bằng 1. Các gói IGMP chỉ đƣợc truyền trong LAN (Local Area Network) và không đƣợc tiếp tục chuyển sang LAN khác do giá trị TTL của nó.
Hai mục đích quan trọng nhất của IGMP là:
Thông báo cho router multicast rằng có một máy muốn nhận multicast
traffic của một nhóm cụ thể.
Thông báo cho router rằng một có một máy muốn rời một nhóm
multicast (nói cách khác, có một máy không còn quan tâm đến việc nhận multicast traffic nữa). Các router thƣờng dùng IGMP để duy trì thông tin cho từng cổng của router là những nhóm multicast nào router cần phải chuyển và những host nào muốn nhận.
Trƣớc khi một host có thể nhận bất kỳ một multicast traffic nào, một ứng dụng multicast phải đƣợc cài đặt và chạy trên host đó. Sau khi một host tham gia vào một nhóm, phần mềm sẽ tính toán địa chỉ multicast và sau đó card mạng sẽ bắt đầu lắng nghe địa chỉ multicast MAC. Trƣớc khi một host hoặc một ngƣời dùng muốn tham gia vào một nhóm, ngƣời dùng cần phải biết nhóm nào đang tồn tại và làm thế nào để tham gia vào nhóm đó. Đối với các ứng dụng mức doanh nghiệp, ngƣời dùng chỉ cần đơn giản nhấp vào một link trên một trang web hoặc địa chỉ multicast có thể cấu hình trƣớc trên client. Ví dụ, một ngƣời dùng có thể đƣợc yêu cầu để log vào một máy chủ và xác thực bằng tên và ngƣời dùng. Nếu tên ngƣời dùng đƣợc xác thực, ứng dụng multicast sẽ tự động cài trên PC của ngƣời dùng, nghĩa là ngƣời dùng đã tham gia vào nhóm multicast. Khi ngƣời dùng không còn muốn dùng ứng dụng multicast nữa, ngƣời dùng phải rời khỏi nhóm. Ví dụ, ngƣời dùng đơn giản chỉ cần đóng ứng dụng multicast để rời khỏi nhóm. Đối với cơ chế multicast, một ngƣời dùng cần phải tìm ra ứng dụng nào họ muốn chạy, địa chỉ multicast đƣợc dùng bởi ứng dụng.
Để nhận multicast traffic từ một nguồn, cả nguồn và các máy nhận đầu tiên phải gia nhập (join) vào một nhóm multicast. Nhóm này đƣợc xác định thông qua địa chỉ multicast. Một host có thể tham gia vào một nhóm multicast bằng cách gửi các yêu cầu đến router gần nhất. Tác vụ này đƣợc thực hiện thông qua giao thức IGMP. IGMPv1 đƣợc định nghĩa trong RFC1112 và bản cải tiến của nó, IGMPv2 đƣợc định nghĩa trong RFC2236. Khi có vài host muốn tham gia vào nhóm, giao thức PIM sẽ thông báo cho nhau giữa các router và hình thành nên cây multicast giữa các routers. IGMP và ICMP có nhiều điểm tƣơng đồng, cùng chia sẽ một vài chức năng tƣơng tự. IGMP cũng đóng gói trong gói tin IP (protocol number 2), nhƣng IGMP giới hạn chỉ trong một kết nối lớp 2. Để
đảm bảo router không bao giờ tiếp tục chuyển gói tin đi, trƣờng TTL của IGMP luôn có giá trị bằng 1.
2.3.1.2. Giao thức PIM (Protocol independent multicast)
Giao thức PIM là giao thức xử lý gói tin multicast độc lập nhau. Hiện nay có ba loại PIM đang đƣợc sử dụng là : PIM-SM , PIM-DM , PIM-SSM
Giao thức PIM-SM( Protocol independent multicast - sparse mode)
Giao thức định tuyến chế độ sparse đƣợc sử dụng khi có ít số lƣợng các ứng dụng multicast. Các giao thức PIM chế độ sparse không truyền lƣu lƣợng của nhóm tới bất kỳ router nào trừ phi nó nhận đƣợc một thông điệp yêu cầu các bản sao của các gói tin đƣợc gửi tới một nhóm multicast đặc biệt.
Một router láng giềng yêu cầu các gói chỉ nhằm một trong hai mục đích : Router đã nhận đƣợc một yêu cầu nhận gói tin từ một vài router láng giềng
Một host trên một phân đoạn mạng đã gửi thông điệp IGMP join cho nhóm đó.
PIM-SM hoạt động với một chiến lƣợc khác hẳn với PIM-DM mặc dù cơ chế của giao thức không hoàn toàn đối lập. PIM-SM giả sử rằng không có máy nào muốn nhận lƣu lƣợng multicast cho đến khi nào các máy chủ động hỏi. Kết quả là, cho đến khi nào trong một subnet có một máy yêu cầu nhận multicast thì multicast mới đƣợc phân phối vào subnet đó. Với PIM-SM, các router downstream phải yêu cầu nhận multicast dùng thông điệp PIM Join. Khi các router nhận đƣợc các thông điệp này, các router bên dƣới phải định kỳ gửi thông điệp Join lên router upstream. Nếu khác đi, router upstream sẽ không đƣa lƣu lƣợng xuống, đặt kết nối vào trong trạng thái prune. Tiến trình này thì ngƣợc lại với tiến trình đƣợc dùng trong PIM-DM, trong đó mặc định là phát tán lƣu lƣợng multicast với các router downstream cần phải liên tục gửi thông
điệp Prune hay thông điệp làm mới trạng thái State refresh để giữ cho một kết nối là trong trạng thái prune. PIM-SM phù hợp khi chỉ có những tỉ lệ nhỏ các phân đoạn mạng nhận lƣu lƣợng multicast.
Giao thức PIM-DM ( dense mode)
Giao thức PIM-DM thƣờng đƣợc sử dụng khi mà lƣu lƣợng luồng multicast là rất lớn. PIM-DM luôn có một cổng trong trạng thái prune trong khoảng ba phút. Các thông điệp prune liệt kê một nguồn và nhóm. Đối với giao thức PIM-DM này thì bất cứ khi nào một router nhận đƣợc thông điệp prune nó sẽ tìm một hàng (S, G) SPT trong bảng định tuyến multicast và đánh dấu các cổng trong đó thông điệp prune là nhận đƣợc. Tuy nhiên , các router cũng thiết lập giá trị prune timer, và thƣờng thì mặc định là khoảng 3 phút, để sao cho trong khoảng 3 phút cổng này đƣợc đặt trong trạng thái forwarding . Để có thể khắc phục đƣợc những tình trạng nhƣ là các kết nối bị loại bỏ, liên kết bị loại bỏ và sau 3 phút thì các link tiếp tục hoạt động thì ở PIM-DM có cơ chế làm mới trạng thái stase refresh. Các thông điệp làm mới trạng thái đã khắc phục đƣợc sự yếu kém của PIM-DM trong tiến trình pruning.
Trong giao thức PIM-DM các router còn gửi thông điệp Graft để router nhận đƣợc đƣa một cổng vào trạng thái forwarding cho một nhóm multicast nào đó.
Giao thức PIM-DM nhận biết các thiết bị lân cận bằng cách trao đổi các gói "hello". Thông tin lân cận này đƣợc dùng trƣớc để xây dựng cây đến tất cả các lân cận. Sau đó, các nhánh của cây sẽ lần lƣợt đƣợc loại bỏ. Nếu một dòng multicast bắt đầu, cây sẽ đƣợc xây dựng, cây sẽ chỉ tồn tại khi các thành viên tích cực còn tồn tại. Nếu một host mới đăng ký tham gia nhóm, nhánh của phân đoạn mạng đó sẽ đƣợc đính thêm vào cây.
Giao thức PIM-SSM
Giao thức PIM-SSM là giao thức mở rộng của PIM. Khi sử dụng SSM thì một client có thể nhận luồng multicast trực tiếp từ địa chỉ nguồn. PIM-SSM sử