Gần đây nhất là sự thành cơng của tiêu chuẩn mã hĩa MPEG-2 được đánh dấu nổi bật từ những lần phĩng thương mại đầu tiên các hệ thống vệ tinh DTH vào giữa những năm 1990 và thành cơng của
Trang 1NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Tên đề tài : “Tổng quan về chuẩn nén MPEG-4 H.264/AVC và khả năng ứng dụng
trong thực tiễn”
GVHD : TS TRẦN DŨNG TRÌNH
SVTH : NGUYỄN QUANG HOÀNG SƠN
MSSV : 103101088
LỚP : 03DDT2
Tp.HCM ngày tháng năm 2008
GVHD
TS Trần Dũng Trình
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Tên đề tài : “Tổng quan về chuẩn nén MPEG-4 H.264/AVC và khả năng ứng dụng
trong thực tiễn”
GVHD : TS TRẦN DŨNG TRÌNH
GVPB : KS TRẦN DUY CƯỜNG
Trang 2SVTH : NGUYỄN QUANG HOÀNG SƠN
MSSV : 103101088
LỚP : 03DDT2
Tp.HCM ngày tháng năm 2008 GVPB KS Trần Duy Cường MỤC LỤC LỜI GIỚI THIỆU 4
CÁC THUẬT NGỮ TIẾNG ANH 6
LỜI MỞ ĐẦU 8
CHƯƠNG I CƠ SỞ VỀ NÉN TÍN HIỆU VIDEO 9
I.1 SỰ CẦN THIẾT CỦA NÉN TÍN HIỆU 9
Trang 3I.2 QUÁ TRÌNH SỐ HÓA TÍN HIỆU 10
I.3 TỐC ĐỘ BIT VÀ THÔNG LƯỢNG KÊNH TRUYỀN TÍN HIỆU SỐ 12
I.4 QUÁ TRÌNH BIẾN ĐỔI TÍN HIỆU MÀU 13
I.5 CÁC TIÊU CHUẨN LẤY MẪU TÍN HIỆU VIDEO SỐ 14
I.6 MÔ HÌNH NÉN TÍN HIỆU VIDEO 15
CHƯƠNG II CÁC KỸ THUẬT NÉN VIDEO 19
II.1 PHÂN LOẠI CÁC KỸ THUẬT NÉN 19
II.2 QUÁ TRÌNH BIẾN ĐỔI 20
II.3 QUÁ TRÌNH LƯỢNG TỬ 22
II.4 QUÁ TRÌNH MÃ HÓA 24
II.5 TIÊU CHUẨN ĐÁNH GIÁ CHẤT LƯỢNG ẢNH NÉN 28
CHƯƠNG III CÁC CHUẨN NÉN THUỘC HỌ MPEG TRƯỚC MPEG-4 H.264/AVC 29
III.1 GIỚI THIỆU VỀ LỊCH SỬ PHÁT TRIỂN CỦA KỸ THUẬT MPEG 29
III.2 CÁC TIÊU CHUẨN NÉN TRƯỚC MPEG-4 H.264/AVC 30
CHƯƠNG IV CHUẨN NÉN MPEG-4 H.264/AVC 36
IV.1 TỔNG QUAN VỀ CHUẨN NÉN MPEG-4 H.264/AVC 36
IV.2 NHỮNG ĐẶC TÍNH NỔI BẬT CỦA CHUẨN NÉN H.264/AVC 40
IV.3 KỸ THUẬT NÉN VIDEO H.264/AVC 42
CHƯƠNG V MỘT SỐ ỨNG DỤNG CHUẨN H.264/AVC 98
V.1 TRUYỀN HÌNH INTERNET IPTV 98
V.2 TRUYỀN HÌNH VỆ TINH DVB-S2 99
V.3 TRUYỀN HÌNH DI DỘNG 100
CHƯƠNG VI MÔ PHỎNG QUÁ TRÌNH NÉN-GIẢI NÉN CỦA H.264/AVC BẰNG MATLAB 101
VI.1 LƯU ĐỒ GIẢI THUẬT 101
VI.2 CHƯƠNG TRÌNH MÔ PHỎNG: 102
VI.3 KẾT QUẢ MÔ PHỎNG 103
PHỤ LỤC 104
TÀI LIỆU THAM KHẢO 111
Trang 4LỜI GIỚI THIỆU
iện nay, chúng ta đang sống trong một kỷ nguyên mới “Kỷ nguyên truyền thông đa phương tiện” các thiết bị mới, các kỹ thuật mới lần lượt ra đời
nhằm mục đích đáp ứng nhu cầu giải trí cho con người ngày một tốt hơn Các ứng dụng đa phương tiện thời gian thực truyền trên mạng di động, mạng Internet, mạng truyền hình…ngày càng phát triển rầm rộ, các nhà sản xuất thiết bị chú trọng áp dụng các công nghệ nén tiên tiến vào thiết bị của mình nhằm thõa mãn nhu cầu “chất lượng trung thực về âm thanh, hình ảnh” của con người cũng như khả năng đáp ứng yêu cầu thực tế của công nghệ Thế nhưng không phải nhu cầu nào của chúng ta đều có thể được đáp ứng một cách thuận lợi, vì sự gắn liền giữa độ phức tạp, tốn kém chi phí đầu
tư cơ sở hạ tầng, thiết bị đầu cuối…, luôn đi kèm với công nghệ cao Bên cạnh đó vấn
đề truyền thông nội dung đa phương tiện hiện nay đang gặp một số khó khăn: băng
thông đường truyền, nhiễu kênh, giới hạn của pin cho các ứng dụng… Trong khi băng
thông kênh truyền phải chờ đợi một công nghệ mới của tương lai mới có thể cải thiện, còn việc cải thiện giới hạn của pin dường như không đáp ứng được sự phát triển của các dịch vụ trong tương lai, thì phương pháp giảm kích thước dữ liệu bằng các kỹ thuật nén là một cách giải quyết hiệu quả các khó khăn trên
H
Cho đến nay có rất nhiều kỹ thuật nén dữ liệu đa phương tiện như: chuẩn JPEG, chuẩn
JPEG2000 và chuẩn MPEG… tuy nhiên hiệu quả nén của các tiêu chuẩn này cũng
chưa được cao, và vẫn chưa đáp ứng tốt yêu cầu của truyền hình HDTV…cũng như
Trang 5việc lưu trữ dung lượng cịn rất lớn Gần đây nhất là sự thành cơng của tiêu chuẩn mã hĩa MPEG-2 được đánh dấu nổi bật từ những lần phĩng thương mại đầu tiên các hệ thống vệ tinh DTH vào giữa những năm 1990 và thành cơng của chuẩn nén MPEG-4 Part 2 trong ứng dụng truyền hình số, các ứng dụng đồ họa… Nhưng với yêu cầu bộ
mã hĩa cĩ thể tương thích với các ứng dụng tốc độ bit thấp, thì nĩ khơng đáp ứng hiệu quả Từ việc nghiên cứu khắc phục nhược điểm của MPEG-2, phát triển bổ sung cho MPEG-4 Part 2 để cho ra đời những chuẩn nén tiên tiến hơn, mà nổi bật là MPEG-4 H.264/AVC Nĩ là sự kết hợp hồn hảo giữa 2 tổ chức nổi tiếng: nhĩm chuyên gia mã hĩa video của tổ chức ITU và nhĩm chuyên gia xử lý ảnh động ISO/IEC Ta thử xét một ví dụ minh họa trong truyền hình số, nếu sử dụng kỹ thuật nén MPEG-2 cung cấp định dạng SDTV với độ phân giải 640x480 pixel thì cần băng thơng 4.3Mbps trên một kênh truyền cịn đối với HDTV thì cần 19Mbps, nhưng nếu sử dụng chuẩn nén H.264 thì băng thơng cho truyền hình SDTV chỉ cĩ 1.5 – 2 Mbps hoặc 6-9 Mbps đối với HDTV Chính vì những ưu điểm đĩ mà MPEG-4 H.264/AVC đã dần dần chứng tỏ vị thế số 1 của mình, những ưu việt mà chuẩn nén này mang lại chắc chắn sẽ cĩ ảnh hưởng tích cực đến thị trường phim ảnh, cũng như ngành cơng nghiệp chế tạo thiết bị đầu cuối Để cĩ thể hiểu biết hơn về tiêu chuẩn nén tiên tiến này, em đã chọn đề tài
“Tổng quan về chuẩn nén MPEG-4 H.264/AVC và khả năng ứng dụng trong thực tiễn” làm đề tài tốt nghiệp của mình Sau hơn 3 tháng nỗ lực hết mình, về cơ bản Đồ
án cũng đã cho ta cái nhìn tổng quát về chuẩn nén MPEG-4 H.264/AVC, đồng thời với
sự minh họa bằng chương trình Matlab 7.01, cũng giúp cho ta hiểu rõ hơn những ưu điểm của chuẩn nén này, tuy nhiên do cĩ sự hạn chế về kinh nghiệm, thời gian,…nên
sẽ khơng tránh khỏi sai sĩt, kính mong Quý Thầy Cơ, bạn bè, đồng nghiệp tham khảo đĩng gĩp ý kiến
Em xin chân thành cảm ơn TS Trần Dũng Trình đã bỏ ra chút thời gian quý báu,
hướng dẫn tận tình và cung cấp tài liệu bổ ích trong quá trình làm Đồ án Đồng thời cũng xin cảm ơn Quý Thầy Cơ Trường Đại Học Kỹ Thuật Cơng Nghệ Thành Phố Hồ Chí Minh, đã tận tình dạy dỗ, truyền thụ kiến thức và kinh nghiệm cho em trong suốt hơn bốn năm qua, cảm ơn các bạn bè đã quan tâm, chia xẻ, đĩng gĩp ý kiến
Kính chúc Quý Thầy Cô và bạn bẻ được nhiều sức khỏe.
Trang 6Tp.hcm, tháng 01/2008 Sinh viên thực hiện
Nguyễn Quang Hoàng Sơn
CÁC THUẬT NGỮ TIẾNG ANH
BAC Mã hĩa số học nhị phân (Binary Arithmetic Coding)
CA Mã hĩa thích nghi theo nội dung (Context Adaptive)
CC Mã xĩa (Clear code)
CIF Định dạng mã hĩa hình ảnh cĩ kích thước 352 x 288 (Common
Intermediate Format)
DAB Phát quảng bá âm thanh số (Digital Audio Broadcasting)
DCT Biến đổi Cosine rời rạc (Discrete Cosine Transform)
DFT Biến đổi Fourier rời rạc (Discrete Fourier Transform)
DPCM Điều xung mã vi sai (Differential Pulse Code Modulation)
DS Thuật tốn tìm kiểu hình thoi (Diamond Search)
DTH
DWT Biến đổi Wavelet rời rạc (Discrete Wavelet Transform)
EOI Mã kết thúc (End Of Information)
ES Dịng cơ bản (Elemenatary Stream)
Exp-Golomb Mã Exponential Golomb
FLC Mã hĩa cĩ chiều dài cố định (Fixed-Length Code)
FMO Thứ tự MB mềm dẻo (Flexible Macroblock Order)
GOP Nhĩm ảnh (Group Of Pictures)
GMC Bù chuyển động tồn phần (Global Motion Compensation)
HDS Thuật tốn tìm hình thoi nằm ngang (Horizontal Diamond search)
HDTV Truyền hình phân giải cao (High Definition Television)
HEXBS Thuật tốn tìm kiểu hình lục giác (Hexagon-Based Search)
ICT Biến đổi nguyên Cosine rời rạc (Integer Discrete Cosine Transform)
IDR Ảnh làm tươi tức thời bộ giải mã (Instantaneous Decoder Refresh
Picture)
IDCT Biến đổi ngược Cosine rời rạc (Inverse Discrete Cosine Transform)
IP Giao thức Internet ( Internet Protocol)
ISDN Mạng tích hợp dịch vụ số (Integrated Service Digital Network)
Trang 7JPEG Chuẩn nén ảnh của ủy ban JPEG quốc tế (Joint Photographic Experts
Group)
JPEG2000 Chuẩn nén ảnh JPEG2000
LOSSLESS Kỹ thuật nén ảnh không tổn hao (không mất dữ liệu)
LOSSY Kỹ thuật nén ảnh có tổn hao (có mất dữ liệu)
MBAFF Mã hóa khung mành thích nghi (Macroblock-Adaptive Frame-Field
coding)
MC Bù chuyển động (Motion Compensation)
ME Ước lượng chuyển động(Motion Estimate)
MMS Dịch vụ tin nhắn đa phương tiện (Multimedia Messaging Services)
MSE Sai số bình phương trung bình (Mean Square Error)
MPEG Nhóm chuyên gia nén ảnh động (Moving Pictures Experts Group)
NAL Lớp trừu tượng mạng (Network Abstraction Layer)
NNS Tìm ở khối gần nhất (Nearest Neighbors Search)
PCM Điều xung mã (Pulse Code Modulation)
PF Hệ số co dãn (Parameter Factor)
MF Hệ số nhân(Multipy Factor)
PSNR Tỷ số tín hiệu đỉnh trên nhiễu (Peak Signal to Noise Ratio)
QCIF Định dạng hình ảnh có kích thước 176 x 144 (Quarter Common
Intermediate Format)
QP Thông số lượng tử (Quantization Parameter)
RBSP (Raw Byte Sequence Payload)
RGB Ba màu cơ bản màu đỏ/Xanh/Lam (Red/Green/Blue)
RLC Mã hoá dọc chiều dài (Run Length Coding)
RSVP Giao thức dành riêng tài nguyên mạng (Resource Reservation
Protocol)
RTP Giao thức truyền tải thời gian thực (Real Time Transport Protocol)
SDTV Truyền hình tiêu chuẩn ( Standard Televison)
SMIL Ngôn ngữ tích hợp Multimedia đồng bộ (Synchronized Multimedia
Integration Language)
SRC Điều khiển tốc độ bit biến đổi được ( Scalable Rate Control)
TSS Thuật toán tìm ba bước (Three-Step search)
UMTS (Universal Mobile Telecommications System)
VCL Lớp mã hóa Video (Video Coding Layer)
VLC Mã có chiều dài thay đổi (Variable Length Code)
VO Đối tượng Video (Video Object)
VOP Đối tượng mặt phẳng Video (Video Object Plane)
YCbCr Độ chói, màu lam, màu đỏ (Luminance, Blue chrominance, Red
Trang 8JTC1 Ủy ban kỹ thuật 1 (Joint Technical Committee 1)
SC29 Ủy ban phụ 29 (Sub-committee 29)
WG11 Nhóm làm việc 11( Work Group 11)
TỔ CHỨC ĐỒ ÁN
Đồ án được trình bày thành 6 chương và 1 phụ lục
Chương I: Trình bày cơ sở về nén tín hiệu video, các thông số đặc trưng của tín hiệu
số và quá trình biến đổi tín hiệu màu, phân loại các nguyên lý nén
Chương II: Trình bày các kỹ thuật được sử dụng trong nén Video, các phép biến đổi
và các kỹ thuật mã hóa, các tiêu chuẩn đáng giá chất lượng ảnh nén MSE, PSNR, MAE,SAE …
Chương III: Trình bày các chuẩn nén thuộc họ MPEG, cấu trúc dòng bit, các ưu điểm
đã đạt được
Chương IV: Cũng là chương quan trọng nhất, trình bày chuẩn nén tiên tiến nhất hiện
nay: MPEG-4 H.264/AVC, các đặc tính nổi bật và các kỹ thuật mới trong chuẩn nén này
Trang 9Chương V: Các ứng dụng của MPEG-4 H.264/AVC trong thực tế và tương lai.
Chương VI: Mô phỏng một phần quá trình nén và giải nén của MPEG-4 H.264/AVC,
mô phỏng kiểu mã hóa tiên tiến như bù chuyển động với kích thước 4x4, sử dụng bảng lượng tử vô hướng 52 giá trị…
Tuy nhiên, do kinh nghiệm còn hạn chế, đồng thời MPEG-4 H.264/AVC là một kỹ thuật còn trong giai đoạn nghiên cứu và phát triển, nên chắc chắn Đồ án sẽ không tránh khỏi sai sót, kính mong Quý Thầy Cô, và bạn bè đồng nghiệp đóng góp ý kiến nhằm hoàn thiện tốt Đồ án tốt nghiệp này
CHƯƠNG I CƠ SỞ VỀ NÉN TÍN HIỆU VIDEO
Một tín hiệu video số thường chứa một lượng lớn dữ liệu, do đó sẽ gặp rất nhiều khó khăn trong việc lưu trữ và truyền đi trong một băng thông kênh truyền hạn chế Với sự phát triển của khoa học kỹ thuật, ngày nay đã sản xuất được bộ cảm biến màu có độ phân giải lên đến 16 triệu pixel tương đương với một bức ảnh có độ phân giải 4096x4096 pixels, nhưng thực tế ứng dụng cần độ phân giải cao nhất hiện nay cũng chỉ dùng lại ở 1920x1080 pixel, do đó để có thể tiết kiệm không gian lưu trữ và băng thông kênh truyền thì cần nén tín hiệu
Quá trình nén ảnh thực hiện được là do thông tin trong bức ảnh có tổ chức, có trật tự,
vì vậy nếu xem xét kỹ tính trật tự, cấu trúc ảnh sẽ phát hiện và loại bỏ được các lượng thông tin dư thừa, chỉ giữa lại các thông tin quan trọng nhằm giảm số lượng bit khi lưu trữ cũng như khi truyền mà vẫn đảm bảo tính thẩm mỹ của bức ảnh Tại đầu thu, bộ giải mã sẽ tổ chức, sắp xếp lại được bức ảnh xấp xỉ gần chính xác so với ảnh gốc nhưng vẫn đảm bảo thông tin cần thiết Tín hiệu video thường chứa đựng một lượng lớn các thông tin dư thừa, chúng thường được chia thành 5 loại như sau:
+ Có sự dư thừa thông tin về không gian: giữa các điểm ảnh lân cận trong phạm
vi một bức ảnh hay một khung video, còn gọi là thừa tĩnh bên trong từng frame.+ Có sự dư thừa thông tin về thời gian: giữa các điểm ảnh của các khung video trong chuỗi ảnh video, còn gọi là thừa động giữa các frame
Trang 10+ Có sự dư thừa thông tin về phổ: giữa các mẫu của các dữ liệu thu được từ các
bộ cảm biến trong camera, máy quay…
+ Có sự dư thừa do thống kê: do bản thân của các ký hiệu xuất hiện trong dòng bit với các xác suất xuất hiện không đồng đều
+ Có sự dư thừa tâm thị giác: thông tin không phù hợp với hệ thống thị giác con người, những tần số quá cao so với cảm nhận của mắt người
Ưu điểm của việc nén tín hiệu:
+ Tiết kiệm băng thông kênh truyền ( trong thời gian thực hoặc nhanh hơn)
+ Kéo dài thời giản sử dụng của thiết bị lưu trữ, giảm chi phí đầu tư cho thiết bị lưu trữ
+ Giảm dung lượng thông tin mà không làm mất tính trung thực của hình ảnh
Có nhiều phương pháp nén tín hiệu, phương pháp nén bằng cách số hóa tín hiệu vẫn
tỏ ra hữu hiệu trong mọi thời đại, một mặt nó có thể làm giảm lượng thông tin không quan trọng một cách đáng kể, mặt khác nó còn giúp cho tín hiệu được bảo mật hơn
Quá trình số hoá tín hiệu tương tự, bao gồm quá trình lọc trước (prefiltering), lấy mẫu, lượng tử và mã hoá minh họa như hình I.1 Quá trình lọc trước nhằm loại bỏ các tần số không cần thiết ở tín hiệu cũng như nhiễu, bộ lọc này còn gọi là bộ lọc chống nhiễu xuyên kênh Aliasing
I.2.1 LẤY MẪU
Thực chất đây là một phép toán rời rạc hay là một phép điều biên xung PAM và được thực hiện bằng các mạch Op-amp có cực khiển strobe Nó tạo ra giá trị tín hiệu tương
tự tại một số hữu hạn các giá trị có biến rời rạc gọi là các mẫu Các mẫu được lấy cách đều nhau gọi là chu kỳ lấy mẫu Tần số lấy mẫu phải thoả mãn định lý Nyquist-Shannon :
maz
Trong đó: + fs là tần số lấy mẫu
+ fmax là tần số cực đại của phổ tín hiệu tương tự
Trang 11I.2.2 LƯỢNG TỬ HĨA.
Quá trình lượng tử là quá trình chuyển một xung lấy mẫu thành một xung cĩ biên độ bằng mức lượng tử gần nhất hay nĩi cách khác là lượng tử chuyển đổi các mức biên độ của tín hiệu đã lấy mẫu sang một trong các giá trị hữu hạn các mức nhị phân Lượng tử hố biến đổi tín hiệu liên tục theo thời gian thành tín hiệu cĩ biên độ rời rạc, nhằm làm giảm ảnh hưởng của tạp âm trong hệ thống, hạn chế các mức cho phép của tín hiệu lấy mẫu và chuẩn bị truyền tín hiệu gốc từ tương tự sang số Giá trị thập phân của các mẫu sau khi lượng tử hố sẽ được biểu diễn dưới dạng số nhị phân n bit (N= 2n), với n là độ phân giải lượng tử hố, n càng lớn thì độ chia càng mịn, do đĩ độ chính xác càng cao
Do làm trịn các mức nên tín hiệu bị méo dạng do sai số lượng tử gọi là méo lượng tử,
tỷ số tín hiệu trên méo lượng tử (S/N) được xác định bởi:
)(76,1
Lượng tử hĩa cĩ hai loại:
Mã hoá tín hiệu Tín hiệu được lấy mẫu
Xung lấy mẫu
TS chu kỳ lấy mẫu
Hình I.1: Sơ đồ quá trình tạo tín hiệu số.
Trang 12+ Lượng tử tuyến tính: phép nén tín hiệu theo quy luật đường cong đồng đều, bước lượng tử bằng nhau.
+ Lượng tử phi tuyến: phép nén tín hiệu theo quy luật đường cong không đồng đều, tập trung nhiều mức lượng tử ở những vùng tín hiệu nhỏ Trong kỹ thuật nén ảnh, nén video thì loại lượng tử phi tuyến được dùng nhiều hơn vì nó giảm dung lượng đến mức tối đa với độ méo lượng tử có thể chấp nhận được
Là quá trình thay thế mỗi mức điện áp cố định sau khi lượng tử bằng một dãy nhị phân gọi là từ mã Tất cả các từ mã đều chứa số xung nhị phân cố định và được truyền trong khoảng thời gian giữa 2 thời điểm lấy mẫu cạnh nhau Bộ mã được sử dụng để tái tạo các xung nhị phân hoặc các từ mã từ các giá trị đã lượng tử xuất hiện ở đầu ra của bộ lượng tử hoá
Là tốc độ số liệu cực đại có thể truyền được trên kênh truyền có độ rộng băng tần B
)1
+ S N là tỷ số tín hiệu trên nhiễu trắng
+ B là băng thông kênh truyền (Hz)
Trang 13Tốc độ bit càng lớn thì tín hiệu tương tự khơi phục lại càng trung thực tuy nhiên nĩ sẽ
là cho dung lượng lưu trữ và băng thơng kênh truyền càng lớn Trong thực tế để truyền
tín hiệu cĩ tốc độ bit là C (bps) thì cần băng thơng kênh truyền là: B C
Một bức ảnh được chuyển từ RGB sang YUV nhằm giảm dung lượng lưu trữ cũng như truyền đi, trong quá trình giải mã, trước khi hiển thị ảnh thì nĩ được biến đổi ngược lại thành RGB Cơng thức minh họa quá trình biến đổi như sau:
)(
(
Y R
k
C
Y B
k
C
B k G k k R
b r
Với k b +k r +k g =1, kb = 0.114, kr = 0.299, khi thế vào cơng thức (1) thì ta được:
Hình II.2 Minh họa quá trình biến đổi màu.
R, G, B
Hình I.2 Quá trình biến đổi màu
Trang 14B G
R Y
R C
B G
R Y
B C
B G
Cr
Cb
Y
081.0419.05
0
5.0331.0169
0
114.0587.0299
B
G
R
0772.1
1
714.0344.0
1
402.10
1
Kiểu lấy mẫu cho ảnh video cũng là một vấn đề khá quan trọng của kỹ thuật nén ảnh Một số kiểu lấy mẫu phổ biến minh họa như hình I.3 và có đặc điểm như sau:
+ Tốc độ lấy mẫu 4:1:1 - tần số lấy mẫu tín hiệu chói là 13,5MHz, và mỗi tín hiệu hiệu màu là 3,375MHz
+ Tốc độ lấy mẫu 4:2:2 - tần số lấy mẫu tín hiệu chói là 13,5MHz, và mỗi tín hiệu hiệu màu là 6,75MHz
+ Tốc độ lấy mẫu 4:4:4 - cả 3 thành phần có cùng độ phân giải, nghĩa là tần
số lấy mẫu tín hiệu chói là 13,5MHz, và mỗi tín hiệu hiệu màu là 13,5MHz.+ Tốc độ lấy mẫu 4:2:0 - là kiểu phổ biến, tần số lấy mẫu tín hiệu chói là 13,5MHz, và mỗi tín hiệu hiệu màu là 6,75MHz theo cả 2 chiều
Ví dụ : Một bức ảnh có độ phân giải 720 × 576 pixels
Độ phân giải của thành phần Y là 720 × 576 pixels được mã hóa bằng từ mã 8 bits.+ Nếu sử dụng kiểu lấy mẫu 4:4:4 thì độ phân giải của thành phần Cb, Cr là 720 ×
576 mẫu cũng được mã hóa bằng từ mã 8 bits
=> Vậy tổng số bits sử dụng để mã hóa bức ảnh là 720 × 576 × 8 × 3 = 9 953 280 bits+ Nếu sử dụng kiểu lấy mẫu 4:2:0 thì độ phân giải của thành phần Cb, Cr là 360 ×
288 mẫu, cũng được mã hóa bằng từ mã 8 bits
Trang 15=> Vậy tổng số bits sử dụng là (720 × 576 × 8) + (360 × 288 × 8) × 2 = 4 976 640 bits
Trong kiểu 4:4:4, tổng số mẫu cần thiết là 12 mẫu, do đó tổng số bit là 12 × 8 = 96
bits, và trung bình là 96/4 = 24 bits/pixel
Trong kiểu 4:2:0, tín hiệu được quét xen kẽ, do đó chỉ cần thiết 6 mẫu, 4 mẫu cho thành phần Y, 1 mẫu cho thành phần Cb, 1 mẫu cho thành phần Cr, do đó tổng số bits
cần thiết là 6 × 8 = 48 bits, và trung bình là 48/4 = 12 bits/pixel
Ta thấy kiểu lấy mẫu 4:2:0 giảm một ½ số lượng bits so với 4:4:4, đó cũng chính là lý
do mà kiểu lấy mẫu này được sử dụng phổ biến
Các khối chính là:
- Khối nén dư thừa thời gian
Nén thời gian Nén không gian
Lưu trữ ảnh
Bộ mã hóa ENTROPY
Hình I.4 Sơ đồ khối nén tín hiệu Video cơ bản Hình I.3 Các tiêu chuẩn lấy mẫu phổ biến
Trang 16+ Xắp xếp lại trật tự và mã hóa Entropy
I.6.1 NÉN TÍN HIỆU VIDEO
Tín hiệu video có dải phổ nằm trong khoảng 0 -> 6Mhz, do thành phần tần số cao chỉ xuất hiện ở các đường viền của hình ảnh nên năng lượng phổ rất ít tập trung ở miền tần số cao mà chủ yếu tập trung ở miền tần số thấp Điều đó có nghĩa là số lượng bit ở miền tần số thấp sẽ nhiều hơn ở miền tần số cao
Trong các hệ thống nén, tỉ số nén chính là tham số quan trọng đánh giá khả năng nén của hệ thống, ta gọi n1, n2 là số lượng bit của tín hiệu trước và sau khi nén nên ta có công thức như sau:
%1001
1
2 1 1
n
n n x
Nếu n1= n2 thì ta có C =1, và R = 0 nghĩa là không có sự dư thừa dữ liệu
Nếu n2<<n1 thì C→∞, R→1, ta nói rằng có sự dư thừa dữ liệu lớn.
Ví dụ : n1 = 100Mb/s, n2 = 20Mb/s thì C = 5:1, R = 80% Tức là ảnh có sự dư thừa lớn, hiệu quả nén đạt 80%
I.6.2 LƯỢNG TIN TRUNG BÌNH (ENTROPY)
Trước khi nghiên cứu các phương pháp nén, ta cần đánh giá lượng thông tin chủ yếu được chứa đựng trong hình ảnh, từ đó xác định dung lượng tối thiểu cần sử dụng để miêu tả, truyền tải thông tin về hình ảnh
Thông tin được ký hiệu là ai và có xác suất p(ai) thì lượng tin được xác định theo công thức sau:
Trang 17)(
1[
a
Theo công thức trên ta thấy lượng tin chứa đựng trong một hình ảnh sẽ tỉ lệ nghịch với khả năng xuất hiện của ảnh đó, nghĩa là sự kiện ít xảy ra sẽ chứa đựng nhiều thông tin hơn và bằng tổng số lượng thông tin của từng phần tử ảnh
Gọi lượng tin trung bình của hình ảnh là H(X) và được tính bằng công thức sau:
(
1[log
*)()
(
Xác suất phân bố càng nhiều thì lượng tin trung bình entropy càng nhỏ Entropy đạt giá trị cực đại đối với phân bố đều, do đó nếu một ký hiệu có xác suất lớn sẽ có số Entropy nhỏ
Ví dụ: Giả sử có một ảnh đen trắng với độ phân giải lượng tử 8 bit Ký hiệu i là mức xám của pixel và bộ ký hiệu A là tập hợp tất cả các mức xám từ 0->255, mức xám 0 tương ứng với màu đen, mức xám 255 tương ứng với màu trắng Do đó, Entropy của
ảnh là =∑255
)(log)()
Mức xám Số lượng pixel Xác suất
Trang 18H(x) =
8
3log8
38
1log8
18
1log8
18
3log8
3
2 2
28
3log8
x 1,58 3 1,815 /75
14
1log4
18
1log8
18
1log8
18
1log8
14
1log4
1
2 2
2 2
44
1log4
32
1log2
18
1log8
1
2 2
−
Trang 19pixel bits
x 1,58 3 1,41 /75
CHƯƠNG II CÁC KỸ THUẬT NÉN VIDEO
II.1 PHÂN LOẠI CÁC KỸ THUẬT NÉN
Nén video được chia thành hai họ lớn: Nén không tổn hao và nén tổn hao
+ Nén không tổn hao là quy trình biểu diễn các ký hiệu trong dòng bit nguồn thành dòng các từ mã sao cho ảnh được khôi phục hoàn toàn giống ảnh gốc, các thuật toán chỉ phụ thuộc vào cách thống kê nội dung dữ liệu và thường dựa trên việc thay thế một nhóm các ký tự trùng lặp bởi một nhóm các ký tự đặc biệt khác ngắn hơn mà không quan tâm đến ý nghĩa của dòng bit dữ liệu, nên đòi hỏi phải có thiết bị lưu trữ và đường truyền lớn hơn
+ Nén có tổn hao, tức là ảnh được khôi phục không hoàn toàn giống ảnh gốc, dạng nén này thích hợp cho việc lưu trữ và truyền ảnh tĩnh, ảnh video qua một mạng có băng thông hạn chế Các dạng nén này thường có hệ số nén cao hơn (từ 2:1 đến 100:1) và gây nên tổn hao dữ liệu và sự suy giảm ảnh sau khi giải nén do việc xóa và làm tròn dữ liệu trong một khung hay giữa các khung Nó liên quan đến việc dùng các phép biến đổi tín hiệu từ miền này sang miền khác.Trong thực tế phương pháp nén tổn hao thường được sử dụng nhiều hơn và các kỹ thuật nén tổn hao thường sử dụng như: mã hóa vi sai, biến đổi cosin rời rạc DCT, lượng tử vô hướng, quét zig-zag, mã hóa Entropy…
Trang 20II.2 QUÁ TRÌNH BIẾN ĐỔI
Tín hiệu ngõ vào được biến đổi nhằm mục đích biểu diễn một số liệu khác thích hợp
để nén hơn so với tín hiệu nguồn Ở phía giải mã tín hiệu nén sẽ được biến đổi ngược lại để thu tín hiệu gốc Một số phép biến đổi được áp dụng phổ biến hiện nay như:
II.2.1 ĐIỀU XUNG MÃ VI SAI DPCM
Các phương pháp nén dùng DPCM dựa trên nguyên tắc phát hiện sự giống nhau và khác nhau giữa các điểm ảnh gần nhau để loại bỏ các thơng tin dư thừa Trong DPCM chỉ cĩ phần khác nhau giữa mẫu - mẫu được truyền đi, sự khác nhau này được cộng vào giá trị mẫu đã giải mã hiện hành ở phía giải mã để tạo ra giá trị mẫu phục hồi Hình II.2 mơ tả sơ đồ khối của bộ mã hĩa và giải mã DPCM
Ví dụ
Mẫu tín hiệu vào 115 117 116 117 118 117 115 116
Sự khác nhau 2 -1 1 1 -1 -2 1Dịng bit được nén như sau: 115 2 -1 1 1 -1 -2 1
Hình II1 Mô hình hệ thống nén tổn hao.
Biến đổi ngược
T-1
Giải lượng tử hóa R
Giải mã D
Biến đổi
T Lượng tử hóa Q Mã hóa C
Giải nén
Σ Bộ lượng tử Mã hóa entropy
Bộ tiên đoán Σ
Hình II.2 Bộ mã hóa và bộ giải mã DPCM
Trang 21II.2.2 MÃ HÓA BIẾN ĐỔI
Nhằm biến đổi các hệ số trong miền thời gian (video số), không gian 2D (bức ảnh tĩnh) thành các hệ số trong miền tần số Các hệ số này ít tương quan hơn có phổ năng lượng tập trung hơn, thuận tiện cho việc loại bỏ thông tin dư thừa
II.2.2.1 Biến đổi cosin rời rạc DCT
Vì ảnh gốc có kích thước rất lớn cho nên trước khi đưa vào biến đổi DCT, ảnh được phân chia thành các MB biểu diễn các mức xám của điểm ảnh Việc phân khối này sẽ làm giảm được một phần thời gian tính toán các hệ số chung, mặt khác biến đổi cosin đối với các khối nhỏ sẽ làm tăng độ chính xác khi tính toán với dấu phẩy tĩnh, giảm thiểu sai số do làm tròn sinh ra Phép biến đổi DCT cơ bản hoạt động dựa trên cơ sở
ma trận vuông của mẫu sai số dự đoán, kết quả cho ta một ma trận Y là những hệ số DCT được minh họa như sau:
Y = AXAT
Trong đó A là ma trận hệ số biến đổi, các thành phần của A như sau:
N
i j C
A i j i
2
)12(
cos
,
π+
N C
i
i
2 1
=
−
=
++
0
1
0 , ,
2
)12(2
)12(
N
i
N
J j y
x y x
N
x i Cos N
y j Cos X C
18
15cos2
18
9cos2
18
3cos
2
1
8
14cos2
18
10cos2
18
6cos2
18
2cos
2
1
8
7cos2
18
5cos2
18
3cos2
18
cos
2
1
0cos2
10
cos2
10
cos2
10
cos
2
1
ππ
ππ
ππ
ππ
ππ
ππ
A
Phép biến đổi ngược DCT cho bởi công thức:
X=ATYA
Nếu i = 0Nếu i > 0
Trang 22Tương đương với:
2
)12(2
)12(
i
N
x i Cos N
y j Cos Y C C
II.2.2.2 Biến đổi Hadamard
Là một ví dụ tổng quát hóa của biến đổi Fourier rời rạc, nó thực hiện các phép toán cộng và trừ trên các ma trận 2m x 2m trực giao, đối xứng, tuyến tính…được định nghĩa theo công thức sau:
Ví dụ H2 = H1 ⊗ H1
Với H1= 12 11 −11
II.3 QUÁ TRÌNH LƯỢNG TỬ
Sau khi thực hiện biến đối DCT, các hệ số sẽ được lượng tử hoá dựa trên một bảng
lượng tử Q(u,v) với 0≤u, v≤ n-1, n là kích thước khối Bảng này được định nghĩa bởi
từng ứng dụng cụ thể, các phần tử trong bảng lượng tử có giá trị từ 1 đến 255 được gọi
là các bước nhảy cho các hệ số DCT Quá trình lượng tử được coi như là việc chia các
hệ số DCT cho bước nhảy lượng tử tương ứng, kết quả này sau đó sẽ được làm tròn xuống số nguyên gần nhất Các hệ số năng lượng thấp này, tượng trưng cho các sự thay đổi pixel - pixel cỡ nhỏ, có thể bị xóa mà không ảnh hưởng đến độ phân giải của ảnh phục hồi Tại bộ mã hoá sẽ có một bảng mã và bảng các chỉ số nội bộ, từ đó có thể ánh xạ các tín hiệu ngõ vào để chọn được các từ mã tương ứng một cách tốt nhất cho tập hợp các hệ số được tạo ra Có 2 loại lượng tử hóa chủ yếu:
II.3.1 LƯỢNG TỬ HÓA VÔ HƯỚNG
Lượng tử từng giá trị một cách độc lập hay nói cách khác là ánh xạ một mẫu của tín hiệu ngõ vào tạo thành một hệ số lượng tử ở ngõ ra Đây là một quá trình tổn hao vì khi giải lượng tử, không thể xác định chính xác giá trị gốc từ số nguyên đã được làm tròn Lượng tử hóa thuận theo công thức FQ = round(X/QP)
Trang 23Lượng tử hóa ngược theo công thức Y = FQ*QP Với QP là bước nhảy lượng tử Ví
dụ quá trình giải lượng tử cho một tín hiệu ngõ vào như sau:
Y
X QP = 1 QP = 2 QP = 3 QP = 5 -4 -4 -4 -3 -5 -3 -3 -2 -3 -5 -2 -2 -2 -3 0
II.3.2 LƯỢNG TỬ HÓA VECTOR
Là một quá trình biểu diễn một tập vector (mỗi vector gồm nhiều giá trị) bằng một tập các số hữu hạn các ký hiệu ở ngõ ra, bảng mã ánh xạ sẽ có các giá trị xấp xỉ với giá trị gốc Vector lượng tử sẽ được lưu ở cả bộ mã hóa và bộ giải mã, quá trình nén một bức ảnh sử dụng lượng tử vector bao gồm các bước sau
+ Phân chia bức ảnh gốc thành các phân vùng MxN pixel
+ Chọn vector thích ứng nhất từ bảng mã
+ Truyền chỉ số của vector thích ứng đến bộ giải mã
+ Tại bộ giải mã, ảnh cấu trúc lại sẽ xấp xỉ với phân vùng đã lựa chọn vector lượng tử
Và sơ đồ khối của lượng tử vector như sau:
Trang 24II.4 QUÁ TRÌNH MÃ HÓA
Bộ mã hóa có chức năng loại bỏ độ dư thừa trong các ký tự ở ngõ ra lượng tử hóa và ánh xạ các ký tự này thành các từ mã tạo thành dòng bit ở ngõ ra bằng các loại mã hóa như: mã hóa dự đoán, mã hóa VLC, mã hóa số học nhị phân, mã hóa theo hình dạng…
II.4.1 MÃ HÓA ĐỘ DÀI THAY ĐỔI
Kỹ thuật mã hóa độ dài thay đổi VLC dựa trên xác suất các giá trị biên độ giống nhau trong một ảnh để lựa chọn các từ mã để mã hoá Bộ mã hóa có độ dài thay đổi ánh xạ các ký hiệu ngõ vào thành một chuỗi từ mã có độ dài thay đổi ở ngõ ra nhưng chứa số lượng bít nguyên Các ký hiệu có xác suất cao sẽ được gán từ mã có độ dài ngắn, còn các ký hiệu có xác suất thấp sẽ được gán từ mã có độ dài lớn hơn, do đó nó sẽ làm tối thiểu chiều dài trung bình của từ mã Tại phía giải nén có các chỉ định mã giống nhau được dùng để khôi phục lại các giá trị dữ liệu gốc Các loại mã hóa VLC cơ bản như:
mã hóa Huffman, mã hoá RLC, mã hóa Exp-Golomb…
II.4.1.1 Mã hóa Huffman
Mã hóa Huffman là mã hóa thõa mãn tối ưu tính prefix và phương pháp mã hóa thường dựa vào mô hình thống kê Dựa vào dữ liệu gốc, người ta tính xác suất xuất hiện của các ký tự Việc tính toán xác suất được thực hiện bằng cách duyệt tuần tự tệp gốc từ đầu đến cuối và các ký tự nào có xác suất càng cao thì từ mã càng ngắn nên giảm chiều dài trung bình của từ mã một cách rõ rệt, mã hóa Huffman thường được biểu diễn dưới dạng cây mã như sau:
Trang 25Hình II.5 Minh họa mã hóa RLC
Các bước thực hiện mã hĩa Huffman
Bước 1: Các nguồn tin được liệt kê trong cột theo thứ tự xác suất xuất hiện giảm dần.Bước 2: Hai tin cuối cĩ xác suất nhỏ nhất được hợp thành tin phụ mới cĩ xác suất bằng tổng xác suất các tin hợp thành
Bước 3: Các tin cịn lại (N-2) với tin phụ mới được liệt kê trong cột phụ thứ nhất theo thứ tự xác suất giảm dần
Bước 4: Quá trình cứ thế tiếp tục cho đến khi hợp thành một tin phụ cĩ xác suất xuất hiện bằng 1
II.4.1.2 Mã hố mức dọc chiều dài RLC
Thơng thường dữ liệu hay cĩ sự trùng lặp, chẳng hạn nếu một bức ảnh cĩ cùng một màu, độ chĩi thì những vùng bên cạnh ảnh đĩ cũng giống như vậy Do đĩ cĩ thể mã hĩa bằng một từ mã đặc biệt nhằm chỉ báo sự bắt đầu và kết thúc của giá trị lặp lại, mỗi hệ số khác 0 sau giá trị DC được phát hiện sẽ được gán một từ mã gồm 2 thơng số: số lượng bit 0 đứng trước đĩ và mức của nĩ sau khi lượng tử, để tạo ra từ mã là một đơi (level và run), trong đĩ Level biểu thị giá trị của bit và Run biểu thị số lần lặp lại của bit Khi dữ liệu truyền cĩ sự trùng lặp thì truyền từ mã này thay cho nĩ Hình II.5 minh họa mã hĩa RLC như sau :
Từ dữ liệu đầu vào, giá trị 028 lặp lại 5 lần được mã hĩa bằng 3 từ mã ở dữ liệu đầu ra Giá trị đầu tiên 255 đại diện cho cách mã hĩa RLC, giá trị thứ 2 là giá trị được lặp lại, giá trị thứ 3 là số lần lặp lại, nên thay vì truyền từ mã dài, ta chỉ cần truyền 255 028 3
Trang 26II.4.2 MÃ HÓA SỐ HỌC
Điểm bất lợi cơ bản của mã hóa dọc chiều dài là việc tạo ra bảng tra chứa toàn bộ số lượng bit trên mỗi mẫu nên không thật sự tối ưu, vì số lượng bit tối ưu nhất cho một ký
tự tùy thuộc vào nội dung thông tin, mà thường là những số rất nhỏ Đối với những ký
tự có xác xuất lớn hơn 0.5 thì hiệu suất nén không cao, nó chỉ hiệu quả khi mã hóa những ký hiệu này bằng một từ mã bit đơn Còn mã hóa số học thì dựa vào xác suất của nội dung thông tin nên còn có tên gọi là mã hóa số học thích nghi theo nội dung,
mã hóa số học sử dụng các đặc tính về không gian và thời gian để ước lượng khoảng xác suất Nó biến đổi luồng dữ liệu vào thành một phân số đơn lẻ, và sử dụng phân số tối ưu nhất để mã hóa dữ liệu, do đó hiệu quả nén của nó có thể đạt mức tối đa mà giảm chi phí đầu tư cho lưu trữ
Giả sử ta có 5 giá trị vector chuyển động (−2, −1, 0, 1, 2) và xác suất của nó như bảng dưới đây Mỗi vector sẽ được gán một ngưỡng trong khoảng từ 0.0 đến 1.0 tùy thuộc vào xác suất xuất hiện của chúng Ví dụ giá trị “-2” có xác suất là 0.1 sẽ nằm trong khoảng từ 0->0.1 tức là bằng 10% của khoảng [0 1], tương tự giá trị “-1” có xác suất là 0.2 sẽ nằm trong khoảng từ 0.1->0.3 tức là bằng 20% … Như vậy việc phân chia vùng riêng cho từng giá trị xác suất sẽ thuận tiện cho việc mã hóa
Vector Xác suất Lượng tin trung bình = log2(1/P) Khoảng chia nhỏ
Các vector sẽ được chia nhỏ thành các khoảng nhỏ theo xác suất như sau:
Ví dụ quá trình mã hóa cho chuỗi vector (0, −1, 0, 2) như sau:
Trang 27Sau mỗi lần mã hóa một ký hiệu thì phạm vi Low→High càng nhỏ dần như minh họa
ở hình II.6 Số lượng bit cần thiết để nén chuỗi dữ liệu được tính bởi công thức:
log2(1/P0) + log2(1/P−1) + log2(1/P0) + log2(1/P2) = 8.28bits
Toàn bộ chuỗi dữ liệu có thể được truyền đi bởi bất kỳ một giá trị phân số nào nằm trong khoảng 0.3928-0.396, giả sử giá trị 0.394 có thể được mã hóa như là một phân
số có dấu chấm tĩnh bằng từ mã 9 bit, do đó chuỗi vector (0, -1, 0, 2) sẽ được nén bằng
từ mã 9bits
Quá trình mã hóa Phạm vi(L→H)
Ký hiệu (L→H)
Khoảng chia nhỏ Chú thích
Cài phạm vi bắt đầu 0→1.0
Tìm khoảng con tương
ứng cho ký hiệu đầu tiên (0) 0.3→0.7
Cài lại khoảng mới cho
khoảng con 0.3→0.7
Tìm khoảng con tương
ứng cho ký hiệu tiếp
theo
(-1) 0.1 → 0.3
Cài lại khoảng bắt đầu
mới nằm trong khoảng
trước đó
0.42 = 30%
Cài lại khoảng bắt đầu
mới nằm trong khoảng
trước đó
0.364→0.396 0.364 = 30%
0.396 = 70%
Cài lại khoảng bắt đầu
mới nằm trong khoảng
trước đó
0.3928→ 0.396 0.3928 = 90%
0.396 = 100%
Trang 28Hiệu quả của mã hóa Entropy có được như mong muốn hay không là tùy thuộc vào độ chính xác trong xác suất của ký hiệu.
Quá trình giải mã số học
II.5 TIÊU CHUẨN ĐÁNH GIÁ CHẤT LƯỢNG ẢNH NÉN
Đánh giá chất lượng video thông qua các giá trị cung cấp bởi hệ thống xử lý, và việc suy giảm chất lượng tín hiệu có thể nhìn thấy được ( thông thường chúng được so sánh với tín hiệu gốc Qua hệ thống ta có thể thấy được những thay đổi về hình dạng, việc định chuẩn chất lượng video là rất quan trọng Để đánh giá chất lượng của bức ảnh (hay khung ảnh video) ở đầu ra của bộ mã hoá, người ta thường sử dụng các tham số truyền thống sau để đánh giá:
+ Sai số bình phương trung bình – MSE (mean square error) định nghĩa cho
cường độ sai khác giữa ảnh gốc và ảnh dự đoán
i
R C N
MSE Error
Squared Mean
+ Tỉ số tín hiệu trên nhiễu đỉnh – PSNR (peak to signal to noise ratio).
Quá trình giải mã Phạm vi Khoảng chia nhỏ Ký hiệu giải mã
Tìm khoảng con tương ứng cho ký
Cài lại khoảng mới cho khoảng con 0.3→0.7
Tìm khoảng con tương ứng cho ký
Cài lại khoảng bắt đầu mới nằm
trong khoảng trước đó 0.34→0.42
Cài lại khoảng bắt đầu mới nằm
trong khoảng trước đó 0.364→0.396
Trang 29MSE PSNR
b 2 10
)12(log
Trong đó NxN kích thước bù chuyển động
hệ số Ci, j và Ri, j tương ứng với mẫu hiện tại và vùng mẫu tham khảo
b số lượng bit/ mẫu
Thông thường, nếu PSNR ≥ 40dB thì hệ thống mắt người gần như không phân biệt
được giữa ảnh gốc và ảnh khôi phục, tức là ảnh nén có chất lượng xuất sắc
+ 30 dB ≤ PSNR < 33 dB thì chất lượng ảnh nén bình thường, mắt người
có sự phân biệt được
1
j
j j N
i
R C N
MAE Error
Absolute Mean
+ Tổng của các sai số tuyệt đối- SAE (Sum of Absolute Errors)
i
R C SAE
Errors Absolute
of Sum
CHƯƠNG III CÁC CHUẨN NÉN THUỘC HỌ MPEG TRƯỚC
Trang 30Thuật ngữ MPEG viết tắt của cụm từ Moving Picture Experts Group là 1 nhóm chuyên nghiên cứu phát triển các tiêu chuẩn về hình ảnh số và nén âm thanh theo chuẩn ISO/IEC từ năm 1988 Cho đến nay nhóm làm việc MPEG đã phát triển và phát hành nhiều tiêu chuẩn nén cho các loại ứng dụng khác nhau, nhưng nổi bật là các chuẩn MPEG-1, MPEG-2, MPEG-4, và H.264/AVC MPEG chỉ là một tên riêng, tên chính thức của nó là: ISO/IEC JTC1 SC29 WG11.
III.2 CÁC TIÊU CHUẨN NÉN TRƯỚC MPEG-4 H.264/AVC
Vì thời gian có hạn nên trong Đồ án tốt nghiệp này, chúng ta lướt qua một số nét nổi bật nhất của 2 chuẩn MPEG-1 và MPEG-2, còn chuẩn nén MPEG-4 part 2 là nền tảng phát triển của chuẩn nén H.264/AVC nên có rất nhiều điểm giống nhau sẽ được trình bày ở chương sau
III.2.1 TIÊU CHUẨN MPEG-1
Chuẩn MPEG-1 xuất hiện vào 11/1992 là chuẩn khởi đầu cho việc nén các ảnh động
và đây cũng là nền tảng phát triển cho các chuẩn nén khác trong họ MPEG, nó được
mệnh danh là chuẩn “khởi động thiết bị số“ MPEG-1 định nghĩa một tiêu chuẩn
chuẩn mã hoá video và âm thanh lưu trữ trong CD-ROM, đĩa Winchester với tốc độ vào khoảng 1,5Mbit/s, độ phân giải hình ảnh là 352 x 240 (30 frame/s) hay 352x288 (25 frame/s) Chuẩn MPEG-1 được ứng dụng trong các phần mềm huấn luyện bằng máy tính, các game hành động, video chất lượng VHS, Karaoke
Tín hiệu video số MPEG-1 bao gồm một tín hiệu chói Y và 2 tín hiệu màu Cr, Cb với
tỷ số lấy mẫu là 2:1 Trước khi mã hóa các ảnh có thể được sắp xếp lại theo trật tự giải
mã mới vì bộ giải mã chỉ có thể giải mã được ảnh B sau khi đã giải mã ảnh P và I Sau quá trình giải mã, các ảnh được sẽ được sắp xếp lại như cũ
Sau khi chọn kiểu ảnh, bộ mã hoá sẽ đánh giá chuyển động cho mỗi khối MB và tạo ra một vector chuyển động cho một ảnh P và 2 vector chuyển động cho ảnh B
Tùy thuộc kiểu ảnh mà tín hiệu sai số được phát hiện bằng cách tìm ra sai số giữa dự đoán bù chuyển động và dữ liệu hiện tại trong mỗi MB Tín hiệu sai số dự đoán được chuyển đến khối DCT 8x8 và bộ lượng tử để tạo hệ số lượng tử Một bộ điều khiển tốc
độ bit có nhiệm vụ điều chỉnh dữ liệu ngõ ra thông qua điều chỉnh bước lượng tử Các
Trang 31hệ số này được quét theo ma trận Zig-Zag và mã hoá bằng mã Entropy rồi mới đưa ra kênh truyền
III.2.1.1 Các đặc điểm của tiêu chuẩn MPEG-1
+ Cấu trúc lấy mẫu 4:2:0
+ Chỉ có khả năng quét liên tiếp
+ Biểu diễn mẫu bằng từ mã 8 bits, độ chính xác của quá trình lượng tử và biến đổi DCT là 9 bits
+ Sử dụng phương pháp DPCM để lượng tử hóa cho hệ số DC Bù chuyển động cho các MB 16x16 trong cùng một khung hình hoặc giữa các khung với nhau.+ Độ chính xác dự đoán chuyển động là 1 pixel
+ Chuẩn MPEG-1 có 4 kiểu ảnh đó là Intra, Predicted, Bidirectional và ảnh D (DC coded picture) Nó gần giống ảnh I nhưng chỉ có thành phần một chiều ở đầu ra DCT được thể hiện Nó cho phép dò nhanh nhưng cho chất lượng ảnh thấp
III.2.1.2 Cấu trúc dòng bit của MPEG-1
Chuẩn MPEG-1 định nghĩa một kiểu phân cấp cấu trúc trong dữ liệu Video và đây cũng là cấu trúc dữ liệu chung cho cả chuẩn MPEG về sau Cấu trúc dữ liệu như sau:+ Khối (Block) gồm 8x8 pixels tín hiệu chói và màu được định nghĩa dùng cho nén DCT
+ Tổ hợp khối (Macroblock) gồm các khối Y, Cb và Cr tương ứng với nội dung thông tin của một khối 16x16 pixel của thành phần chói hoặc khối 8x8 của 2 thành phần màu trong hình ảnh gốc Một MB bao gồm 6 khối trong đó có 4 khối Y, 1 khối Cb và 1 Cr như hình vẽ, các khối sẽ được đánh số thứ tự bắt đầu bằng 1
+ Mảng (Slice) gồm nhiều MB Kích thước slice lớn nhất là 1 ảnh, nhỏ nhất là 1 MB Thứ tự các MB bên trong slice được xác định từ trái qua phải, trên xuống dưới Phần header của slice chứa thông tin về vị trí của mảng trong toàn bộ ảnh và hệ số của bộ
Trang 32Hình III.2 Cấu trúc chuỗi video MPEG
lượng tử Slice rất quan trọng trong việc định lỗi, nếu dòng dữ liệu có chứa lỗi, bộ giải
mã có thể bỏ qua và tiếp tục ở slice kế tiếp Nhiều slice trên dòng dữ liệu cho phép che giấu lỗi tốt hơn và được dùng để cải thiện chất lượng hình ảnh
+ Ảnh (Picture): gồm nhiều slice cho phép bộ giải mã xác định loại mã hóa khung Thông tin header để chỉ thứ tự truyền khung để bộ giải mã sắp xếp lại các ảnh đúng thứ tự, ngoài ra thông tin header còn chứa các thông tin về đồng bộ, độ phân giải, phạm vị của vector chuyển động …
+ Nhóm ảnh (GOP): gồm nhiều ảnh bắt đầu từ ảnh I Chỉ báo điểm bắt đầu cho việc biên tập và việc tìm kiếm Phần header chứa mã điều khiển và mã thời gian 25 bit cho thông tin định thời.Cấu trúc của một GOP được mô tả bằng 2 tham số:
- N: là các ảnh trong GOP
- M: là khoảng cách giữa các ảnh P-pictures
Ví dụ: Ta có 1 GOP như sau :
B1 B2 I3 B4 B5 B7 B8 P9 B10 B11 P12
Tức N = 12 và M = 3
+ Chuỗi ảnh (Sequence): bắt đầu là một Sequence Header, 1 hay nhiều GOP và 1 mã kết thúc chuỗi End-of-Sequence Thông tin header chứa kích thước mỗi chiều của bức ảnh, kích thước điểm ảnh, tốc độ bit của dòng video số, tần số ảnh, bộ đệm tối thiểu cần có Chuỗi ảnh và thông tin header còn được gọi chung là dòng cơ bản ES
Tiêu chuẩn nén MPEG-1 cho phép truy cập các khung hình ngẫu nhiên video, tìm kiếm thuận nghịch trên dònh tín hiệu nén biên tập và phát lại trên dòng tín hiệu nén Các công cụ của nó đều có trong các tiêu chuẩn MPEG-2, nên MPEG-2 vẫn có thể giải
mã các dòng tín hiệu MPEG-1
Trang 33III.2.2 TIÊU CHUẨN MPEG-2
III.2.2.1 Các đặc điểm của tiêu chuẩn MPEG-2
Kỹ thuật nén MPEG-2 xuất hiện vào 1995, định nghĩa cho một tiêu chuẩn kỹ thuật
“truyền hình số” MPEG-2 có thể tạo hình ảnh lớn gấp 4 lần MPEG-1 với độ nét cao
hơn và rõ hơn (720 x 480 và 1280 x 720) cho phép mã hoá ở nhiều mức độ phân giải khác nhau đáp ứng cho nhiều ứng dụng như ứng dụng 2-5Mbps trong SDTV và 6-8Mbps trong DVD, 20Mbps trong HDTV, đặc biệt được ứng dụng trong truyền hình
số mặt đất với mỗi thiết bị khác nhau, sẽ có các bộ mã hoá và giải mã khác nhau nhằm giảm băng thông đường truyền
Những cải tiến của nó như sau:
+ Chuẩn nén MPEG-2 có tốc độ bit > 4 Mbit/s
+ Cấu trúc lấy mẫu 4:4:4, 4:2:2, 4:2:0
+ Các giá trị hệ số DCT có thể biểu thị với mức độ chính xác cao
+ Các ma trận lượng tử có thể thay đổi theo mức frame, thành phần màu
+ Có khả năng quét xen kẽ và liên tục, cho phép xấp xỉ bù chuyển động, xây dựng cơ sở dự báo trên cơ sở mành
+ Khả năng tách lỗi và giảm độ nhạy tín hiệu nén đối với các lỗi truyền, nếu tỷ số nén cao bị ảnh hưởng
+ Độ chính xác mẫu vào là 10 bit Dùng lượng tử DPCM chính xác cho các hệ số DC
+ Có tính tương hợp và co dãn cao theo không gian, thời gian
+ Độ phân giải ước lượng chuyển động là ½ pixel, 1 pixel
MPEG-2 định nghĩa các profile và các level khác nhau cho phù hợp với nhiều loại ứng dụng Có 5 định nghĩa profile và 4 level như sau
Simple Main SNR Spatially High Low 4:2:0, 352 x 288
4Mbps
4:2:0, 352 x 288 4Mbps, I, P ,B Main 4:2:0 720 x 576
Trang 34Băng thông ở mức trung bình (tối đa 1.5
Mbits/sec) Băng thông lớn (tối đa 40 Mbits/sec)1.25 Mbits/sec video 352 x 240 x 30 Hz Kích thước khổ rộng
2 kênh âm thanh 250 Kbits/sec Lên đến 5 kênh âm thanh (như surround sound)
Không quét xen kẽ Có thể quét xen kẽ
Thích hợp cho lưu trữ CD Có thể dùng trong truyền hình phân giải cao
HDTV
III.2.3 TIÊU CHUẨN MPEG-4
Phiên bản đầu tiên của MPEG-4 xuất hiện vào 2/1999 Cuối 1999 MPEG-4 v2 ra đời
và trở thành tiêu chuẩn quốc tế vào đầu năm 2000 So với MPEG-1, MPEG-2 thì MPEG-4 có nhiều nổi bật hơn như hiệu suất nén cao, vận hành trên cơ sở nội dung…
và rõ ràng có nhiều ứng dụng hơn MPEG-4 định nghĩa một tiêu chuẩn cho các ứng dụng truyền thông đa phương tiện, các hình ảnh, âm thanh và dữ liệu đồ hoạ và việc tái hợp chúng trên thiết bị thu, hay nói cách khác nó là sự hội ngộ giữa truyền hình và Web Đặc điểm chính của MPEG-4 là mã hóa video và audio ở tốc độ bit rất thấp Thực tế tiêu chuẩn này tối ưu ở ba ngưỡng tốc độ bit sau:
Trang 35không đổi Những profile và level khác nhau trong MPEG-4 cho phép sử dụng tốc độ bit lên đến 38.4Mbps và việc xử lý chất lượng studio lên đến 1.2Gbps MPEG-4 đạt yêu cầu ứng dụng cho các dịch vụ nội dung video có tính tương tác và các dịch vụ truyền thông video trực tiếp hay lưu trữ.
Các đối tượng khác nhau trong ảnh gốc được mã hóa và truyền đi một cách riêng biệt, như ta đã biết không có một phương pháp mã hóa nào là tối ưu hoàn toàn DCT và phép lượng tử chỉ tối ưu với các ứng dụng có băng thông hạn chế, các ảnh có độ chói ít thay đổi, nhưng với ảnh nhiều chi tiết, có kích thước nhỏ thì không tối ưu Lấy ví dụ nếu một cảnh có chứa các dòng text, nếu mã hóa bằng MPEG-1, MPEG-2 thì sẽ không hiệu quả vì nó chỉ xem đó như là chi tiết ảnh thông thường
Trái lại, MPEG-4 cho phép giải mã luồng text kết hợp với video và các thông tin trong luồng bit có thể hiện thị nhiều dạng khác nhau tùy thuộc vào lựa chọn của người sử dụng ví dụ như tùy chọn ngôn ngữ nên mang lại hiệu suất cao hơn
Tuy nhiên MPEG-4 cũng có một số nhược điểm là bộ giải mã phải có khả năng giải
mã hết tất cả các luồng bit mà nó hỗ trợ và có khả năng kết hợp Do đó phần cứng bộ giải mã MPEG-4 phức tạp hơn MPEG-2 rất nhiều Cũng chính vì vậy mà các nhà nghiên cứu luôn nỗ lực tìm tòi, phát minh những công cụ mã hóa tối ưu hơn
III.2.4 SO SÁNH ĐẶC ĐIỂM NỔI BẬT CỦA CÁC CHUẨN NÉN
Trong tiến trình phát triển của chuẩn nén MPEG, các chuẩn nén sau ra đời là sự kế thừa và phát triển của chuẩn trước, chính vì vậy các chuẩn nén tiên tiến hơn phải có sự phân cấp, mềm dẻo để có thể đáp ứng các ứng dụng của chuẩn nén cũ Bảng sau so sánh sự khác biệt và sự tối ưu giữa các chuẩn nén thuộc họ MPEG
Block size 8 x 8 8 x 8 16 x 16, 8 x 8 16x16, 16x8, 8x16
8x8,8x4,4x8,4x4
Trang 36Hình IV.7 So sánh sự tối ưu giữa các chuẩn nén
CHƯƠNG IV CHUẨN NÉN MPEG-4 H.264/AVC
IV.1 TỔNG QUAN VỀ CHUẨN NÉN MPEG-4 H.264/AVC
IV.1.1 LỊCH SỬ PHÁT TRIỂN CỦA MPEG-4 H.264/AVC
Từ các bộ mã hoá đơn giản, hoạt động tốt nhưng đôi khi có một số hình ảnh mà nó không thể nén được, điều này đã thúc đẩy các nhà thiết kế phát triển các công cụ nén mới dựa trên nền của các chuẩn trước, trong đó hiệu quả mã hóa là vấn đề được quan tâm nhất, vì thế MPEG-4 ra đời là điều tất yếu trong tiến trình phát triển Sự phát triển của MPEG-4 H.264/AVC trải qua nhiều giai đoạn như: MPEG-4 part 2 được ISO công
bố vào 1999, nó là tiêu chuẩn cho những ứng dụng truyền thông đa phương tiện với tốc độ bit thấp và cho ứng dụng truyền hình quảng bá trong tương lai Tuy nhiên chất lượng của nó vẫn chưa đạt được như mong muốn, chính vì vậy mà ISO/IEC (MPEG)
và ITU đã cùng nhau hợp tác và thành lập nhóm Joint Video Team (JVT), để nghiên cứu phát triển chuẩn mã hóa tiên tiến là Advanced Video Coding (AVC) Và đến 2003
đã cho ra đời chuẩn MPEG-4 part 10, tên theo tiêu chuẩn ISO/IEC 14496-10 và H.246 AVC trong ITU hay còn gọi là MPEG-4 H.264/AVC, gọi tắt là H.264/AVC
Trang 37Phiên bản thứ 2 được tổ chức JVT phát triển mở rộng và phổ biến với tên gọi Fidelity Range Extensions (FRExt) có độ phân giải video mang tính trung thực cao được công
bố vào tháng 3/2005 với các đặc tính như:
Bảng IV.1 Những công cụ mới trong H.264/AVC FRExt.
Sự mở rộng này cho phép mã hoá chất lượng hình ảnh cao hơn bằng việc tăng độ chính xác chiều sâu bit lấy mẫu và thông tin độ phân giải màu, bao gồm các cấu trúc lấy mẫu như YUV 4:2:2 và YUV 4:4:4 Ngoài ra còn bổ xung một số đặc tính như chuyển mạch thích nghi giữa phép biến đổi nguyên 4x4 và 8x8, bộ mã hoá theo giác quan dựa trên ma trận lượng tử, kỹ thuật mã hoá tổn hao trong khối và kỹ thuật lọc tách khối
IV.1.2 CÁC PROFLIES VÀ LEVELS TRONG H.264/AVC
Để tạo điều kiện cho người sử dụng lựa chọn công cụ H.264/AVC, các thiết bị được chia thành các nhóm công cụ (profile) Mỗi profile lại có các mức levels khác nhau thể hiện mức độ phức tạp xử lý tính toán dữ liệu của công cụ đó (thông qua việc xác định tốc độ bit, con số tối đa của các đối tượng trong frame, độ phức tạp của quá trình giải
Trang 38I Slices I Slices I Slices I Slices
P Slices P Slices P Slices P Slices
4x4 Transform 4x4 Transform 4x4 Transform 4x4 Transform
Weighted Prediction Weighted
Prediction
Weighted Prediction
B Slices B Slices B Slices
CABAC CABAC
Quantization Matrix 8x8 Transform
Max video bit rate (VCL) for Baseline, Extended and Main Profiles
Max video bit rate (VCL) for High Profile
Max video bit rate (VCL) for High 10 Profile
Max video bit rate (VCL) for High 4:2:2 and High 4:4:4 Predictive Profiles
Examples for high resolution @ frame rate (max stored frames)
in Level
352x288@7.5 (2)
1.2 6000 396 384 kbit/s 480 kbit/s 1152 kbit/s 1536 kbit/s 320x240@20.0 (7)352x288@15.2 (6)
1.3 11880 396 768 kbit/s 960 kbit/s 2304 kbit/s 3072 kbit/s 320x240@36.0 (7)352x288@30.0 (6)
Trang 39352x288@30.0 (6)
352x480@30.7(10) 352x576@25.6 (7) 720x480@15.0 (6) 720x576@12.5 (5)
352x480@61.4 (12) 352x576@51.1 (10) 720x480@30.0 (6) 720x576@25.0 (5)
3.1 108000 3600 14 Mbit/s 17.5 Mbit/s 42 Mbit/s 56 Mbit/s 720x480@80.0 (13)720x576@66.7 (11)
1280x720@30.0 (5)
3.2 216000 5120 20 Mbit/s 25 Mbit/s 60 Mbit/s 80 Mbit/s 1280x1024@42.2 (4)1280x720@60.0 (5)
1280x720@68.3 (9) 1920x1088@30.1 (4) 2048x1024@30.0 (4)
4.1 245760 8192 50 Mbit/s 62.5 Mbit/s 150 Mbit/s 200 Mbit/s 1920x1088@30.1 (4)1280x720@68.3 (9)
2048x1024@30.0 (4)
4.2 522240 8704 50 Mbit/s 62.5 Mbit/s 150 Mbit/s 200 Mbit/s 1920x1088@64.0 (4)2048x1088@60.0 (4)
1920x1088@72.3 (13) 2048x1024@72.0 (13) 2048x1088@67.8 (12) 2560x1920@30.7 (5) 3680x1536/26.7 (5)
1920x1088@120.5 (16) 4096x2048@30.0 (5) 4096x2304@26.7 (5)
H.264/AVC trở thành một tiêu chuẩn xử lý tốt với tốc độ bit thấp hơn so với các chuẩn
cũ mà không quá phức tạp trong khi thiết kế Mặt khác nó cũng có tính mềm dẻo cho phép hoạt động trên nhiều hệ thống và mạng khác nhau mà vẫn có tốc độ bit, độ phân giải, như nhau H.264/AVC được ứng dụng rộng rãi trong nén ảnh kỹ thuật truyền hình số, các ứng dụng về đồ họa và Video tương tác 2 chiều như Games, Video Conferencing, World Wide Web hoặc các ứng dụng nhằm phân phát dữ liệu Video như truyền hình cáp, Internet TV…H.264/AVC trở thành tiêu chuẩn công nghệ trong quá trình sản xuất, phân phối và truy nhập vào hệ thống Video
Mã hoá H.264/AVC ngoài việc quan tâm đến hiệu quả mã hoá giống như các tiêu chuẩn mã hoá trước đây, còn bổ sung thêm một số công cụ cho các chức năng khác
Trang 40như: Mã hoá các đối tượng có hình dạng bất kỳ, nén hiệu quả các tín hiệu video liên tục và hình ảnh trên một phạm vi rộng của tỷ lệ bit, phân cấp về không gian, thời gian
và chất lượng, khả năng truyền dẫn tốt trong môi trường khắc nghiệt
IV.2 NHỮNG ĐẶC TÍNH NỔI BẬT CỦA CHUẨN NÉN H.264/AVC
+ Dự đoán không gian định hướng trong kiểu mã hóa Intra: hỗ trợ tới 17 kiểu dự đoán, làm cho việc dự đoán mẫu được chính xác hơn, đạt hiệu quả nén cao hơn + Bù chuyển động với kích thước nhỏ có thể thay đổi Tiêu chuẩn này mang lại sự mềm dẻo cho sự lựa chọn kích thước và hình dạng, kích thước bù chuyển động nhỏ nhất là 4x4 Điều này đã mang lại hiệu suất 15% so với MPEG-2 Bù chuyển động ¼ làm giảm tính phức tạp của xử lý nội suy so với các tiêu chuẩn trước đó
+ Bù chuyển động với nhiều hình tham khảo Do camera thay đổi góc quay hay chuyển qua lại giữa các cảnh, việc đoán trước các chuyển động là rất phức tạp
ta cần phải có nhiều frame tham khảo để nâng cao hiệu suất và chất lượng H.264/AVC cho phép sử dụng tối đa 32 frame tham khảo trong khi MPEG-2 chỉ sử dụng 2 frame tham khảo mang tính chất chu kỳ Bù chuyển động với nhiều hình tham khảo sẽ là chậm quá trình mã hóa và giải mã nhưng sẽ tăng chất lượng ảnh với cùng tỉ số nén
+ Tách riêng hình tham khảo và hình hiển thị: ở các tiêu chuẩn trước có sự phụ thuộc giữa hình tham khảo và hình hiển thị, còn trong H.264/AVC bộ mã hóa
có thể chọn hình ảnh để tham khảo gần nhất với hình ảnh được mã hóa cho mục đích tham khảo dự đoán nên có thể hiển thị với tính linh hoạt cao, do đó khoảng thời gian trễ sẽ được loại bỏ
+ Giảm dư thừa về không gian tốt hơn: sử dụng phép biến đổi nguyên thay vì sử dụng phép biến đổi DCT như MPEG-2, làm giảm ảnh hưởng do sai số làm tròn.+ Lượng tử hóa thích nghi: trong quá trình mã hóa với tốc độ bit biến thiên, khi
sử dụng lượng tử hóa thích nghi, mỗi frame có thể được nén với những bộ lượng tử khác nhau phụ thuộc vào bản chất hình ảnh của chúng thông qua việc điều khiển tốc độ bit Ví dụ những phần chuyển động hay những phần hình ảnh