IV. Những yêu cầu ựặt ra cho dịch vụ videọ
2. Các ảnh chuẩn trong nén MPEG
Chuẩn nén MPEG ựịnh nghĩa 3 loại ảnh:
Intra-frame (I-frame)---- frame ựược mã hóa riêng biệt không phụ thuộc các frame trước ựó hoặc tiếp theọMã hóa theo hệ thống ực sử dụng gần giống như nén JPEG. đây là frame ựộc lập và ực sử dụng ựể tạo ra các loại frame khác.
P-frame ( forward predicted frame)---- khung dự ựoán ảnh tiếp theo là khung dự ựoán ảnh dựa trên các frame I trước ựó. MPEG không thực sự mã hóa ảnh mà chứa các thông tin về
Truyền hình IPTV và khả năng ứng dụng tại Việt Nam
Học Viên thực hiện: Lưu Văn Hải Page 64
chuyển ựộng cho phép IPTVCD có thể tái tạo lại framẹ P-frame yêu cầu ắt băng thông hơn I- frame, ựiều này là yếu tố quan trọng ựối với mạng dựa trên IPTV.
B-frame (Bi-directional predicted frame )---- frame dự ựoán hướng: B-frame là frame ựược tạo thành từ việc kết hợp các thông tin từ cả I-frame và P-framẹ Mã hóa B-frame thì tương tự với P-frame, ngoại trừ các vecto chuyển ựộng phụ thuộc vào các vùng trong các khung tham khảo sau ựó. B-frame chiếm ắt dung lượng hơn là I-frame va P-framẹ Vì thế dòng Mpeg video gồm nhiều B-frame thì chiếm dung lượng thấp hơn so với dòng chứa các frame I và P. Thậm chắ, B-frame giúp làm tối thiểu băng thông cần thiết ựối với các dòng MPEG videọ Tuy nhiên, B-frame cũng có hạn chế ựó là ựộ trễ. Do IPTVCD phải kiểm tra 2 khung trước và sau trước khi tạo ra B-framẹ
Ba loại ảnh trên kết hợp với nhau tạo thành 1 chuỗi các frame ựược gọi là nhóm ảnh (GOP ). Mỗi nhóm ảnh bắt ựầu bằng một frame I và có một số các frame B và P, Mỗi nhóm ảnh MPEG có cấu trúc như sau:
[I B B B P B B B P B B B P B B B P]
Mỗi nhóm ảnh cần bắt ựầu với một khung I, mặc dù kắch thước của mỗi nhóm ảnh là khác nhau, nhưng trung bình mỗi nhóm ảnh trong IPTV có khoảng 12 ựến 15 framẹ Mỗi cấu trúc của một nhóm ảnh thông thường có thể ựược miêu tả bởi 2 thông số: N, số ảnh trong một nhóm và M, khoảng cách giữa các framẹ Các nhóm ảnh ựược chia thành 2 loại: nhóm ựóng và nhóm mở. Với nhóm ựóng, khung B cuối cùng không yêu cầu khung I ựầu tiên cho nhóm ảnh tiếp theo ựể giải mã, trong khi với nhóm mở cần yêu cầu khung I cho nhóm ảnh tiếp theọ Các nhóm ảnh sau ựó ựược kết hợp với nhau ựể tạo thành dòng videọ Mỗi dòng video bắt ựầu biết một ựoạn mã, theo sau ựó là một header và kết thúc với một mã duy nhất.
Thứ tự các khung ựược truyền ựi trên mạng băng rộng thì khác với thứ tự các khung trong chuối bit ựầu vào của bộ mã hóạ Bởi vì bộ giải mã trong IPTVCD cần xử lý các frame I và P trước khi tạo ra khung B. Mối quan hệ tổng thể giữa các chuỗi ảnh, ảnh, các slice, các khối macro, các khối và các ựiểm ảnh ựược minh họa ở hình sau:
Khung I Khung B Khung B Khung B Khung P Khung B Khung B Khung B Khung P
Nhóm ảnh Ảnh 8 pixels 8 pixels Block Macro Block
Truyền hình IPTV và khả năng ứng dụng tại Việt Nam
Học Viên thực hiện: Lưu Văn Hải Page 65
Hình 3.1 Cấu trúc dòng MPEG video
Mặc dù MPEG-2 ựược sử dụng trong truyền hình cáp và vệ tinh, nhưng MPEG-2 có nhưng hạn chế ựối với các mạng có băng thông giới hạn.Do ựó một công nghệ nén mới với nhiều tắnh năng ựã ựược phát triển trong nhưng năm gần ựây vơi mục ựắch truyền video qua mạng băng thông giới hạn. MPEG-4 part 10 ựược sử dụng trong hạ tầng mạng IPTV.
IIỊChuẩn nén MPEG-4. Công nghệ mã hóa video trong MPEG-4 1. Chuẩn nén MPEG-4
Chuẩn MPEG-4 thành công hơn so với chuẩn MPEG-2. Thêm vào ựó, MPEG-4 ựưa ra 1 hệ thống hoàn chỉnh với các ựặc ựiểm hỗ trợ các ựịnh dạng dữ liệụ Mpeg-4 bao gồm rất nhiều phần có thể thực hiện cùng nhau hoặc riêng biệt.
Ớ Phần1:Systems; Ớ Phần2:Visual; Ớ Phần3:Audio;
Ớ Phần 4: Conformance xác ựịnh việc triển khai một MPEG-4 sẽ như thế nào;
Ớ Phần 5: Các phần mềm tham chiếu, ựưa ra một nhóm các phần mềm tham chiếu quan trọng, ựược sử dụng ựể triển khai MPEG-4 và phục vụ như một vắ dụ demo về các bước phải thực hiện khi triển khai;
Ớ Phần 6: Khung chuẩn cung cấp truyền thông ựa phương tiện tắch hợp DMIF (Delivery Multimedia Integration Framework), xác ựịnh một giao diện giữa các ứng dụng và mạng/lưu trữ;
Ớ Phần 7: Các ựặc tắnh của một bộ mã hoá video tối ưu (bổ xung cho các phần mềm tham chiếu, nhưng không phải là các triển khai tối thiểu cần thiết).
Ớ Các phần mới bổ xung tiếp cho chuẩn MPEG-4 sau này là:
Ớ Phần 8: Giao vận (về nguyên tắc không ựược xác ựịnh trong chuẩn, nhưng phần 8 xác ựịnh cần ánh xạ như thế nào các dòng MPEG-4 vào giao vận IP);
Truyền hình IPTV và khả năng ứng dụng tại Việt Nam
Học Viên thực hiện: Lưu Văn Hải Page 66
Ớ Phần 9: Mô tả phần cứng tham chiếu (Reference Hardware Description);
Ớ Phần 10: MPEG-4 Advanced Video Coding /H.264 là thành tựu mới nhất về nén video, trên cơ sở ựồng bộ với khả năng tắnh toán và dung lượng bộ nhớ của các máy tắnh PC hiện nay, ứng dụng các phương pháp mã hoá phức tạp hơn nhiều các phương pháp trước ựó và có thể thực hiện cả trong môi trường phần mềm và phần cứng, do nhóm chuyên gia MPEG hợp tác với nhóm IUT Study Group phát triển và có nhiều khả năng sẽ trở thành chuẩn mã hoá video qui mô toàn cầu, duy nhất của ITU và ISO;
Ớ Phần 11: Mô tả khung hình (Scene Description - ựược tách ra từ phần 1); Ớ Phần 12: định dạng file truyền thông ISO (ISO Media File Format);
Ớ Phần 13: Quản lý bản quyền nội dung IPMP (Intellectual Property Management and Protection Extensions);
Ớ Phần 14: định dạng fille MP4 (trên cơ sở phần 12); Ớ Phần 15: định dạng file AVC (cũng trên cơ sở phần 12);
Ớ Phần 16: AFX (Animation Framwork eXtensions) và MuW (Multi-user Worlds).
2. Công nghệ mã hóa video trong MPEG-4
Chuẩn MPEG-4 là một chuẩn ựộng dễ thay ựổi: với MPEG-4, các ựối tượng khác nhau trong một khung hình có thể ựược mô tả, mã hoá và truyền ựi một cách riêng biệt ựến bộ giải mã trong các dòng cơ bản ES (Elementary Stream) khác nhaụ Cũng nhờ xác ựịnh, tách và sử lý riêng các ựối tượng (như nhạc nền, âm thanh xa gần, ựồ vật, ựối tượng ảnh video như con người hay ựộng vật, nền khung hìnhẦ), nên người sử dụng có thể loại bỏ riêng từng ựối tượng khỏi khuôn hình. Sự tổ hợp lại thành khung hình chỉ ựược thực hiện sau khi giải mã các ựối tượng nàỵ
Trên Hình 3.2 thể hiện một trường hợp ựiển hình của tổ hợp khuôn hình MPEG-4, cho thấy nhiều ựối tượng (bàn, quả cầu, bảng ựen, người hướng dẫn và audio) ựược ựặt vào một hệ thống toạ ựộ không gian 3 chiều (3-D) ựối với vị trắ người xem giả ựịnh. Các thiết bị mã hoá và giải mã video ựều áp dụng sơ ựồ mã hoá như nhau cho mỗi ựối tượng video VO (Video Object) riêng biệt, nhờ vậy người sử dụng có thể thực hiện các hoạt ựộng tương tác riêng với từng ựối tượng (thay ựổi tỷ lệ, di chuyển, kết nối, loại bỏ, bổ xung các ựối tượngẦ) ngay tại vị trắ giải mã hay mã hoá.
Truyền hình IPTV và khả năng ứng dụng tại Việt Nam
Học Viên thực hiện: Lưu Văn Hải Page 67
Hình 3.2 Tổ hợp khung hình trong MPEG-4
Hình 3.3 Cấu trúc bộ mã hóa và giải mã MPEG-4
Các bộ phận chức năng chắnh trong các thiết bị MPEG-4 bao gồm:
Ớ Bộ mã hoá hình dạng ngoài Shape Coder dùng ựể nén ựoạn thông tin, giúp xác ựịnh khu vực
đối tượng hình ảnh Mã hóa VO-1 Mã hóa VO-2 Mã hóa VO-3 Mã hóa VO-n D ồ n k ê n h C h i a k ê n h Giải mã VO-1 Giải mã VO-2 Giải mã VO-3 Giải mã VO-n đối tượng hình ảnh Dòng bist Video in Video out
Truyền hình IPTV và khả năng ứng dụng tại Việt Nam
Học Viên thực hiện: Lưu Văn Hải Page 68
và ựường viền bao quanh ựối tượng trong khung hình scenẹ
Ớ Bộ dự ựoán và tổng hợp ựộng ựể giảm thông tin dư thừa theo thời gian.
Ớ Bộ mã kết cấu mặt ngoài Texture coder dùng ựể xử lý dữ liệu bên trong và các dữ liệu còn lại sau khi ựã bù chuyển ựộng.
Hình 3.4 là một vắ dụ về mã hoá và tổng hợp khung hình video sử dụng trong MPEG-4. Nhiều ựối tượng, như người, xe ô tô, nhà cửa, ựược tách ra khỏi video ựầu vàọ Mỗi ựối tượng video sau ựó ựược mã hoá bởi bộ mã hoá ựối tượng video VO (video object) và sau ựó ựược truyền ựi trên mạng. Tại vị trắ thu, những ựối tượng này ựược giải mã riêng rẽ nhờ bộ giải mã VO và gửi ựến bộ tổ hợp compositor. Người sử dụng có thể tương tác với thiết bị ựể cấu trúc lại khung hình gốc (a), hay ựể xử lý các ựối tượng tạo ra một khung hình khác (b). Ngoài ra, người sử dụng có thể download các ựối tượng khác từ các thư viện cơ sở dữ liệu (có sẵn trên thiết bị hay từ xa thông qua mạng LAN, WAN hay Internet) ựể chèn thêm vào hay thay thế các ựối tượng có trong khuôn hình gốc (c).
Hình 3.4 Mã hóa và tổng hợp khung hình trong MPEG-4
để có thể thực hiện việc tổ hợp khung hình, MPEG-4 sử dụng một ngôn ngữ mô tả khung hình riêng, ựược gọi là định dạng nhị phân cho các khung hình BiFS (Binary Format for Scenes). BiFS không chỉ mô tả ở ựâu và khi nào các ựối tượng xuất hiện trong khung hình, nó cũng mô tả cách thức hoạt ựộng của ựối tượng (làm cho một ựối tượng xoay tròn hay chồng
Mã hóa VO-3 Mã hóa VO-1 Mã hóa VO-2 M U X D E M U X Giải mã VO-1 Giải mã VO-2 Giải mã VO-3 Chia Video Bộ tổ hợp Thư viện
Truyền hình IPTV và khả năng ứng dụng tại Việt Nam
Học Viên thực hiện: Lưu Văn Hải Page 69
mờ hai ựối tượng lên nhau) và cả ựiều kiện hoạt ựộng ựối tượng và tạo cho MPEG-4 có khả năng tương tác. Trong MPEG-4, tất cả các ựối tượng có thể ựược mã hoá với sơ ựồ mã hoá tối ưu riêng của nó Ờ video ựược mã hoá theo kiểu video, text ựược mã hoá theo kiểu text, các ựồ hoạ ựược mã hoá theo kiểu ựồ hoạ - thay vì việc xử lý tất cả các phần tử ảnh pixels như là mã hoá video ảnh ựộng. Do các quá trình mã hoá ựã ựược tối ưu hoá cho từng loại dữ liệu thắch hợp, nên chuẩn MPEG-4 sẽ cho phép mã hoá với hiệu quả cao tắn hiệu ảnh video, audio và cả các nội dung tổng hợp như các bộ mặt và cơ thể hoạt hình.
IV.Tổng quan về công nghệ MPEG-4 part 10.
đầu năm 1998, 2 tổ chức ITU-T và VCEG ựã cùng ựưa ra một chuẩn nén mới H.26L nhằm tăng gấp ựôi hiệu suất nén . Do ựó chuẩn nén này sẽ mở ra nhiều ứng dụng mới như truyền hình qua mạng Internet, truyền hình di ựộng và phát triển các ứng dụng hiện có.
Cuối năm 2001, VCEG và MPEG ựã thành lập JVT ( Joint Video Team) có nhiệm vụ hoàn thành chuẩn nén mới và chắnh thức ựược thông qua với tên gọi là MPEG-4 Part 10 hoặc H.264/AVC vào tháng 3 năm 2003.
1. Cấu trúc phân lớp của H.264/AVC.
Với sự gia tăng các ứng dụng và dịch vụ trên nhiều mạng thì câu hỏi ựặt ra là làm thế nào quản lắ ựược các ứng dụng ựó. Do vậy, chuẩn H.264/AVC phải có ựộ linh hoạt cao và có thể ứng dụng trên nhiều mạng khác nhaụ Do ựó, chuẩn H.264/AVC ựược thiết kế theo phân lớp mã hóa video VCL ( Video Coding Layer) và lơp NAL làm nhiệm vụ tương thắch với môi trường mạng khác nhaụ
Hình 3.5: Cấu trúc phân lớp của H.264
điều khiển dữ liệu
Lớp mã hóa video
Phân chia dữ liệu
Lớp mạng NAL
Truyền hình IPTV và khả năng ứng dụng tại Việt Nam
Học Viên thực hiện: Lưu Văn Hải Page 70
1.1. Lớp mạng NAL ( Network Abstration Layer) NAL có khả năng ánh xạ từ lớp VCL ựến lớp truyền tải:
+ RTP/IP cho dịch vụ thời gian thực qua mạng Internet (conversational và streaming). + định dạng file: ISO MP4 cho lưu trữ và truyêng tải MMS.
+ H32x cho các dịch vụ ựàm thoại có dây và không dâỵ + Dòng truyền tải MPEG-2 cho các dịch vụ quảng bá.
Gói NAL: dữ liệu video ựược mã hóa ựược tổ chức trong một ựơn vị NAL( hay gói NAL). Mỗi gói có ựộ dài tắnh theo bytẹ Byte ựầu tiên của mỗi gói NAL là byte mào ựầu, nó chỉ rõ loại dữ liệu ựược chứa trong NAL, các byte còn lại chứa dữ liệụ
Phần dữ liệu của NAL ựược ghép xen.
Cấu trúc của ựơn vị NAL có ựịnh dạng chung cho việc sử dụng truyền trong hệ thống hướng bit và hướng góị
1.2. Lớp mã hóa video:
Lớp mã hóa video của H.264/AVC thì tương tự với các tiêu chuẩn khác như MPEG-2 videọ Nó là sự kết hợp dự ựoán theo thời gian và theo không gian,vàvới mã chuyển vị. Ảnh ựược tách thành các khốị Ảnh ựầu tiên của dãy hoặc ựiểm truy nhập ngẫu nhiên thì ựược mã hóa ỘIntraỢ, có nghĩa là không dùng thông tin nào ngoài thông tin chứa trong bản thân ảnh. Mỗi mẫu của một khối trong một frame Intra ựược dự ựoán nhờ dùng các mẫu không gian bên cạnh của các khối ựã mã hóa trước ựó. đối với tất cả các ảnh còn lại của dãy hoặc giữa các ựiểm truy cập ngẫu nhiên, mã hóa ỘInterỢ ựược sử dụng, dùng dự ựoán bù chuyển ựộng từ các ảnh ựược mã hóa trước.
1.3.Khái niệm về ảnh, khung, bán ảnh, macroblock
Tắn hiệu video ựược mã hóa trong H.264 bao gồm tập hợp các ảnh ựược mã hóa có trật tự. Một ảnh có thể biểu diễn bằng cả một khung hoặc một bán ảnh. Nhìn chung, một khung gồm có hai bán ảnh xen kẽ nhau: bán ảnh trên và bán ảnh dướị Bán ảnh trên gồm các dòng chẵn 0, 2, 4, Ầ, H/2 -1, với H là tổng số dòng trong một khung. Bán ảnh dưới gồm các dòng lẻ và bắt ựầu từ dòng thứ 2.
Truyền hình IPTV và khả năng ứng dụng tại Việt Nam
Học Viên thực hiện: Lưu Văn Hải Page 71
Hình 3.6: Các bán ảnh trong một khung
Các macroblock: Mỗi ảnh video, frame hoặc field, ựược chia thành các macroblock có kắch thước cố ựịnh bao trùm một diện tắch ảnh hình chữ nhật gồm 16 x 16 mẫu thành phần luma và 8 x 8 mẫu cho mỗi một trong hai thành phần chromạ Tất cả các mẫu macroblock luma hoặc chroma ựược dự ựoán theo không gian hoặc thời gian, và dự ựoán tại chỗ hợp thành ựược truyền ựi nhờ dùng mã chuyển vị. Do vậy mỗi thành phần màu dự ựoán tại chỗ ựược chia nhỏ thành các khốị Mỗi khối ựược biến ựổi nhờ dùng biến ựổi nguyên (an integer transform), và các hệ số biến ựổi ựược lượng tử hóa và ựược truyền ựi bằng phương pháp mã hóa entropỵ
Các macroblock ựược tổ chức thành các slice, biểu diễn các tập con của ảnh ựã cho và có thể ựược giải mã ựộc lập. Thứ tự truyền các macroblock trong dòng bit phụ thuộc vào bản ựồ phân phối Macroblock (Macroblock Allocation Map) và không nhất thiết phải theo thứ tự quét. H.264 / AVC hỗ trợ năm dạng mã hóa slice khác nhaụ đơn giản nhất là slice I (Intra), trong ựó tất cả macroblock ựược mã hóa không có tham chiếu tới các ảnh khác trong dãy videọ Tiếp theo là các slice P và B, ở ựó việc mã hóa có tham chiếu tới các ảnh trước nó (slice P) hoặc cả ảnh trước lẫn ảnh sau (slice B). Hai dạng slice còn lại là SP (switching P) và SI (switching I), ựược xác ựịnh cho chuyển mạch hiệu quả giữa các dòng bit ựược mã hóa ở các tốc ựộ bit khác nhaụ
2. H.264 CODEC.
Giống như các tiêu chuẩn nén trước ựây ( vắ dụ như MPEG-1, MPEG-2 và MPEG- 4),H.264 không ựược ựịnh nghĩa là bộ CODEC ( một cặp encoder và decoder) mà H.264 ựịnh nghĩa các cú pháp của luồng nén videọ Trong thực tế, bộ mã hóa và giải mã bao gồm các