Đăng ký Đăng nhập
Trang chủ Kỹ thuật nén video & thử nghiệm dựa trên mã nguồn mở...

Tài liệu Kỹ thuật nén video & thử nghiệm dựa trên mã nguồn mở

.PDF
73
129
55

Mô tả:

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 ai công bố trong bất kỳ công trình nào khác i LỜI CÁM ƠN Luận văn thạc sĩ chuyên ngành công nghệ thông tin với đề tài “Kỹ thuật nén Video & thử nghiệm dựa trên mã nguồn mở” là kết quả của quá trình cố gắng không ngừng của bản thân và được sự giúp đỡ, động viên khích lệ của các thầy, bạn bè đồng nghiệp và người thân. Qua trang viết này tôi xin gửi lời cảm ơn tới những người đã giúp đỡ tôi trong thời gian học tập - nghiên cứu khoa học vừa qua. Tôi xin tỏ lòng kính trọng và biết ơn sâu sắc đối với thầy giáo PGS.TS Nguyễn Văn Tam đã trực tiếp tận tình hướng dẫn cũng như cung cấp tài liệu thông tin khoa học cần thiết cho luận văn này. Xin chân thành cảm ơn Lãnh đạo trường Đại học mở Hà Nội, khoa Công nghệ thông tin đã tạo điều kiện cho tôi hoàn thành tốt công việc nghiên cứu khoa học của mình. Cuối cùng tôi xin chân thành cảm ơn đồng nghiệp, đơn vị công tác đã giúp đỡ tôi trong quá trình học tập và thực hiện Luận văn. TÁC GIẢ Vũ Quang Huy ii MỤC LỤC LỜI CAM ĐOAN ............................................................................................. i LỜI CÁM ƠN .................................................................................................. ii MỞ ĐẦU .......................................................................................................... 1 CHƢƠNG 1: GIỚI THIỆU VỀ NÉN VIDEO.............................................. 3 1.1. Giới thiệu .................................................................................................... 3 1.2. Độ dư trong tín hiệu video, nhu cầu cần thiết nén video ........................... 4 1.2.1. Độ dư trong tín hiệu video ...................................................................... 4 1.2.3. Nhu cầu cần thiết nén video .................................................................... 7 1.3. Khái niệm về nén video.............................................................................. 7 1.4. Yêu cầu về ứng dụng nén video ................................................................. 8 1.5. Kết luận chương 1 .................................................................................... 10 CHƢƠNG 2: CHUẨN MÃ HÓA, NÉN ẢNH JPEG VÀ MÃ HÓA, NÉN VIDEO MPEG-4 PART 10/H.264 ................................................................. 11 2.1. Kỹ thuật mã hóa, nén ảnh JPEG .............................................................. 11 2.1.1. Giới thiệu chung .................................................................................... 11 2.1.2. Phương pháp nén ảnh chuẩn JPEG ....................................................... 12 2.2. Chuẩn mã hóa và nén video MPEG-4 Part 10/H.264 .............................. 16 2.2.1 Cấu trúc chuẩn MPEG-4 Part10............................................................. 16 2.2.3. Kỹ thuật nén video MPEG-4 Part 10/ H.264 ........................................ 22 2.3. Kết luận chương 2 .................................................................................... 46 CHƢƠNG 3: THỰC NGHIỆM CHUẨN NÉN VIDEO H.264 TRÊN CÁC PHẦN MỀM MÃ NGUỒN MỞ ......................................................... 47 3.1. Công cụ nén video mã nguồn mở FFMPEG ............................................ 47 3.1.1. Giới thiệu............................................................................................... 47 3.1.2. Cài đặt FFMPEG trên hệ điều hành Ubuntu 12.04 ............................... 47 3.1.3. Các tham số sử dụng trong FFMPEG ................................................... 50 3.1.4. Nén/giải nén video theo chuẩn H.264 với FFMPEG ............................ 55 3.2. Thực nghiệm và đánh giá kết quả ............................................................ 55 3.2.1. Môi trường mô phỏng và một số kịch bản thực nghiệm ....................... 55 3.2.2. Kết quả thực nghiệm và đánh giá.......................................................... 57 3.3. Kết luận chương 3 .................................................................................... 65 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ................................................... 66 TÀI LIỆU THAM KHẢO ............................................................................ 67 iii DANH MỤC HÌNH VẼ Hình 1.1. Nén video trong truyền video...................................................................... 4 Hình 1.2. (a) khung hình thứ nhất và (b) thứ hai của dãy ảnh "Foreman".................. 6 Hình 2.1. Sơ đồ thuật toán nén JPEG........................................................................ 12 Hình 2.2. Sơ đồ thuật toán giải nén JPEG................................................................. 13 Hình 2.3. Cấu trúc phân lớp H.264 ........................................................................... 17 Hình 2.4. Cấu trúc dòng bit. ...................................................................................... 17 Hình 2.5. Minh họa một chuỗi thành phần RBSP..................................................... 18 Hình 2.6. Cấu trúc dòng bit MPEG-4 H.264/AVC ................................................... 21 Hình 2.7. Sơ đồ khối mã hóa H.264/AVC ................................................................ 22 Hình 2.8. Sơ đồ khối giải mã H.264/AVC ................................................................ 23 Hình 2.9. Sơ đồ khối mã hóa ảnh I ........................................................................... 24 Hình 2.10. Phân chia MB - Sub MB cho bù chuyển động........................................ 25 Hình 2.11. Chỉ ra thứ tự sắp xếp của các VOP ......................................................... 25 Hình 2.12. Hiệu ứng mờ dần ..................................................................................... 28 Hình 2.13. Quét Zig-Zag cho kiểu mã hóa frame ..................................................... 34 Hình 2.14. Quét Zig-Zag cho kiểu mã hóa field ....................................................... 34 Hình 2.15. Minh họa quá trình mã hóa xen kẽ .......................................................... 35 Hình 2.16. Trật tự hiện thị của các bức ảnh .............................................................. 36 Hình 2.17. Thứ tự luồng Video khác với trật tự hiển thị .......................................... 36 Hình 2.18. Sơ đồ khối nguyên lý nén ảnh P.............................................................. 37 Hình 2.19. Sơ đồ khối nguyên lý nén ảnh B ............................................................. 38 Hình 2.20. Các mẫu dự đoán trong ảnh B ................................................................. 40 Hình 2.21. Nguyên lý bù chuyển động tực tiếp. Vector chuyển động trước và sau MVf, MVb tách ra từ MV trong VOP tham chiếu ngược ......................................... 41 Hình 2.22. Hai bức ảnh liên tiếp trong chuỗi Video ................................................. 43 Hình 2.23. Phần dư giữa frame 1 và frame 2 ............................................................ 43 Hình 2.24. Vector chuyển động ................................................................................ 44 Hình 2.25. Minh họa dự đoán liên khối của H.264/AVC. ........................................ 44 Hình 2.26. Chuyển mạch luồng sử dụng slice I ........................................................ 46 Hình 3.1.Giao diện sau khi cài đặt xong FFMPEG trên Ubuntu 12.04 .................... 50 Hình 3.2. Kết quả thực hiện nén video Foreman_CIF.y4m sang H.264................... 58 Hình 3.3. Ví dụ kết quả tính chỉ số PSNR ................................................................ 58 iv DANH MỤC BẢNG Bảng 2.3. Các thành phần RBSP............................................................................... 18 Bảng 2.4. Giá trị Qstep được quy định trong tiêu chuẩn. ......................................... 31 Bảng 2.5. Bảng giá trị thừa số co dãn V ................................................................... 33 Bảng 3.1. Các tham số cho bộ mã hóa x264 ............................................................. 56 Bảng 3.2. Kết quả nén video 1-pass với video NEWS ............................................. 59 Bảng 3.3. Kết quả nén video 2-pass với video NEWS ............................................. 60 Bảng 3.4. Kết quả nén video 1-pass với video FOREMAN ..................................... 61 Bảng 3.5. Kết quả nén video 2-pass với video FOREMAN ..................................... 62 Bảng 3.6. Kết quả nén video 1-pass với video BUS ................................................. 63 Bảng 3.7. Kết quả nén video 2-pass với video BUS ................................................. 64 v BẢNG KÝ HIỆU, CHỮ VIẾT TẮT Ký hiệu, viết tắt AVC CBP DCT ECC FFMPEG HD HVS IDR IEC IEC ITU IDCT JM JPEG MAE MSE MPEG MB NGN NTSC NAL PSNR VLC VCL Ý nghĩa tiếng Anh Ý nghĩa tiếng Việt Advanced Video Coding Code Block Pattern Discrete Cosine Tranform Error Correction Code Fast Forward MPEG High Definition Human Visual System Instantaneous Decoding Refresh International Electrotechnical Commission International Electrotechnical Commission International Telecommunication Union Inverse Discrete Cosine Tranform Joint Model Joint Photographic Experts Group Mean Absolute Error Mean Squared Error Moving Picture Experts Group Macro Block Next Generation Network National Teltevision System Committee Mã hóa video tiên tiến Loại khối được mã hóa Biến đổi cosin rời rạc Mã sửa sai Network Abstraction Layer Peak Signal-to-Noise Ratio Variable Length Coding Video Coding Layer vi Độ phân giải cao, độ nét cao Hệ thống nhìn của con người Giải mã ngay lập tức Ủy ban Kỹ thuật điện tử quốc tế Ủy ban Kỹ thuật điện tử quốc tế Liên minh Viễn thông quốc tế Biến đổi Cosin rời rạc ngược Nhóm các chuyên gia xử lý ảnh Sai số trung bình tuyệt đối Sai số toàn phương trung bình Nhóm các chuyên gia hình ảnh động Khối marco Mạng thế hệ mới Hệ video được sử dụng ở Bắc và Nam Mỹ với tần số quét ngang là 60MHz Lớp mạng trừu tượng Tỉ số tín hiệu cực đại trên nhiễu Mã chiều dài thay đổi Lớp mã hóa video MỞ ĐẦU 1. Lý do lựa chọn đề tài Những năm gần đây, truyền tải và lưu trữ video càng trở nên phổ biến hơn do một số yếu tố như giá thành các sản phẩm liên quan như máy quay video HD, TV màn hình lớn, các thiết bị lưu trữ… đang giảm rất nhanh. Bên cạnh đó, các bộ vi xử lý mới có tốc độ cao hơn rất nhiều, cùng với tốc độ Internet được cải thiện đáng kể giúp việc tải một bộ phim nhanh chóng và xem mượt mà hơn. Nhưng chừng đó là không đủ, nhu cầu cuộc sống luôn ngày càng lớn, trước đây việc thưởng thức các bộ phim ở độ phân giải 480p rồi đến mHD 720p đã là thỏa mãn, thì giờ đây các film độ phân giải Full HD 1080p đã tràn ngập. Nhu cầu đó càng thể hiện mạnh mẽ hơn khi 2 năm gần đây xuất hiện các TV với công nghệ hình ảnh 4K với độ phân giải siêu cao làm người xem phải ngẩn ngơ như lạc vào thế giới thực. Các thiết bị lưu trữ và đường truyền Internet với áp lực phải lớn hơn đã không kịp đáp ứng và bức thiết cần có một chuẩn nén video mới hiệu quả hơn giảm tải cho áp lực này. Chính vì điều đó học viên đã chọn đề tài: "Kỹ thuật nén video và thử nghiệm dựa trên mã nguồn mở" để tìm hiểu, nghiên cứu, và đưa ra được giải pháp thích hợp khi xử lý video dựa trên những tri thức đã tìm hiểu được. 2. Mục đích của đề tài - Nghiên cứu tìm hiểu các chuẩn nén hình ảnh, video. - Thử nghiệm với hình ảnh, video để đưa ra được sự so sánh về chất lượng cũng như hiệu quả của các phương pháp. 3. Đối tƣợng và phạm vi nghiên cứu - Các công nghệ nén hình ảnh và video. - Các chuẩn MPEG. - Chuẩn nén hình ảnh JPEG. 4. Phƣơng pháp nghiên cứu - Thu thập, phân tích và tổng hợp các tài liệu, thông tin về đề tài. - Xây dựng chương trình thử nghiệm cho phương pháp biểu diễn nén video dựa trên phần mềm mã nguồn mở. 1 5. Ý nghĩa khoa học và thực tiễn của đề tài - Làm chủ về một số giải pháp nén ảnh, video - Là tài liệu tham khảo về lĩnh vực nén ảnh, video - Đề tài có ý nghĩa công nghệ và thực tiễn. 6. Cấu trúc luận văn Nội dung luận văn gồm phần mở đầu, kết luận và 03 chương: Chương 1. Tổng quan về nén video: giới thiệu vai trò, vị trí, yêu cầu, mô hình hệ thống và một số kỹ thuật nén video. Chương 2. Chuẩn mã hóa, nén ảnh JPEG và chuẩn nén video MPEG-4 Part 10/H.264: trình bày về kỹ thuật nén hình ảnh dựa trên chuẩn JPEG và chuẩn nén video chất lượng cao H.264 (MPEG-4 Part10). Chương 3. Xây dựng ứng dụng thử nghiệm: tiến hành cài đặt và thử nghiệm ứng dụng nén video theo chuẩn H.264 dựa trên các phần mềm mã nguồn mở nổi tiếng nhất hiện nay như FFMPEG và JM version 19.0. Đưa ra các đánh giá về chất lượng (dựa trên các chỉ số Q, PSNR, MSE...), tốc độ, dung lượng ... của video được nén và giải nén theo chuẩn H.264. 2 CHƢƠNG 1: GIỚI THIỆU VỀ NÉN VIDEO 1.1. Giới thiệu Để truyền được các chương trình video trên các hệ thống thông tin di động,một bài toán đặt ra là phải nén hình ảnh để tiết kiệm băng tần truyền dẫn mà vẫn đảm bảo chất lượng hình ảnh. Đây là một yêu cầu đã và đang được nhiều nhà nghiên cứu quan tâm. Truyền dẫn số tín hiệu ảnh động qua các hệ thống vệ tinh đã được nghiên cứu từ năm 1990, trong đó nén video bằng phương pháp mã hoá đóng vai trò rất quan trọng. Cho đến nay, khi các hệ thống thông tin di động 3G và hệ thống NGN ra đời cho phép truyền các chương trình video trên đó thì việc nghiên cứu tìm ra các giải pháp nén mới càng đòi hỏi cấp thiết hơn bao giờ hết. Nhóm chuyên gia về hình ảnh động (MPEG) đã hoàn thiện hai bộ tiêu chuẩn về mã hoá video là MPEG-1 và MPEG-2, xác định các phương pháp truyền thông tin video số theo các định dạng truyền hình và đa môi trường. Ngày nay MPEG-4 đang nhắm vào việc truyền video tốc độ bit rất thấp; còn MPEG-7 đưa ra chuẩn hoá trong các dịch vụ lưu trữ và phục hồi video. Trong hoàn cảnh mạng thế hệ mới NGN và di động thế hệ sau tiếp tục đòi hỏi phải hoàn thiện hơn các thuật toán nén - giải tín hiệu video số với mục đích làm cho chất lượng hình ảnh tốt hơn, băng tần truyền dẫn thấp hơn. Nén video số là một quá trình trong đó người ta tìm các giải pháp để giảm số lượng số liệu biểu thị hình ảnh video để đáp ứng tốc độ bit yêu cầu mà vẫn đáp ứng chất lượng video được khôi phục ở phía thu phải thỏa mãn yêu cầu ứng dụng và độ phức tạp tính toán. Hình 1.1 biểu thị sơ đồ khối chức năng nén số liệu video trong hệ thống truyền dẫn. Nén video có nhiệm vụ rất quan trọng vì lượng dư của số liệu trong các hình ảnh nguyên thủy thường lớn hơn nhiều dung lượng mà các thiết bị điện tử ngày nay có thể xử lý. Ta cũng biết rằng thông tin và số liệu là hai khái niệm khác nhau nhưng liên quan chặt chẽ với nhau. Số liệu biểu thị thông tin và chất lượng số liệu có thể đo được. Nội dung của số liệu video thường được đo bằng số đơn vị bit; còn thông tin 3 được xác định bằng sự nhận biết. Như vậy toàn bộ số liệu biểu thị sự nhận biết, tuy vậy nó cũng có đơn vị đo của nó. Đầu vào Nén Video Truyền Tái cấu trúc hoặc số liệu Đầu ra Lưu trữ Hình 1.1: Nén video trong truyền video Tốc độ bit hay còn gọi là tốc độ mã hóa là một tham số quan trọng trong nén video và thường được biểu thị bằng đơn vị bit/giây. Trong mã hóa nguồn tin, đôi lúc tốc độ bit được biểu thị bit trên ký hiệu. Chất lượng hình ảnh được cấu trúc lại ở phía thu phụ thuộc vào ứng dụng vì vậy sẽ có loại nén tổn thất và nén không tổn thất. Trong ứng dụng truyền các ảnh động, các chương trình truyền hình thì cho phép một lượng tổn thất nào đó. Từ định nghĩa này, ta có thể nhận thấy rằng nén số liệu video có một số khái niệm cơ bản bao gồm: thông tin, số liệu, chất lượng nhìn được của video và độ phức tạp tính toán. Chương này tập trung vào một số vấn đề chính như sau: - Phân tích độ dư trong tín hiệu video, nhu cầu cần thiết nén video. - Khái niệm về nén video. - Yêu cầu về ứng dụng nén video và một số kỹ thuật nén video. 1.2. Độ dƣ trong tín hiệu video, nhu cầu cần thiết nén video 1.2.1. Độ dư trong tín hiệu video 1.2.1.1. Độ dư thống kê của ảnh Độ dư thống kê có thể được phân thành hai kiểu: độ dư giữa các pixel và độ dư mã hóa. Độ dư giữa các pixel có nghĩa là các pixel của một khung ảnh và các pixel của một nhóm các khung ảnh hoặc video liên tiếp không độc lập thống kê với nhau. Trái lại, chúng tương quan với nhau theo mức độ khác nhau. Kiểu tương quan giữa các pixel như vậy được coi là độ dư giữa các pixel. Độ dư giữa các pixel có thể 4 được chia thành hai loại: độ dư không gian và độ dư thời gian. Độ dư mã hoá là độ dư thống kê liên quan đến các kỹ thuật mã hóa. - Độ dư không gian Độ dư không gian thể hiện mối tương quan thống kê giữa các pixel trong một khung ảnh. Do đó nó còn được gọi là độ dư ngoài khung. Ta biết rằng các giá trị cường độ của các pixel thuộc một hàng (hoặc một cột) có hệ số tự tương quan rất cao (gần bằng độ tự tương quan cực đại là 1) với các giá trị cường độ của các pixel thuộc chính hàng đó (hoặc chính cột đó) nhưng bị dịch đi một pixel. Điều này không hề bất ngờ bởi vì hầu hết các giá trị cường độ thay đổi liên tục từ pixel này đến pixel khác trong một khung ảnh, ngoại trừ các miền rìa . Độ dư không gian ngụ ý rằng giá trị cường độ của một pixel có thể được ước lượng theo giá trị cường độ của các pixel lân cận nó. Nói một cách khác, người ta không cần miêu tả từng pixel trong khung ảnh một cách độc lập. Thay vào đó, người ta có thể dự đoán một pixel từ các pixel ở bên cạnh nó. Mã hóa dự đoán là một loại mã hóa vi sai dựa vào nhận xét này. Thành quả trực tiếp của việc nhận biết độ dư không gian là bằng cách loại bỏ một số lượng lớn độ dư thừa trong một khung ảnh, chúng ta có thể tiết kiệm được rất nhiều dữ liệu trong việc biểu thị khung, vì vậy đạt được việc nén dữ liệu. - Độ dư thời gian Độ dư thời gian có liên quan với tương quan thống kê giữa các pixel của các khung liên tiếp trong một dãy ảnh hoặc video theo thời gian. Vì vậy nó còn được gọi là độ dư giữa các khung. Xét một dãy ảnh theo thời gian, với điều kiện là khoảng thời gian giữa hai bức ảnh đủ ngắn, tức là các bức ảnh được chụp đủ dày đặc, chúng ta có thể hình dung rằng đặc điểm giống nhau giữa hai khung là rất lớn. Hình 1.2 (a) và hình 1.2 (b) tương ứng với hai khung hình liên tiếp của video “Foreman”. Các khung có độ phân giải là 176×144. Từ khung hình a sang khung hình b, trong tổng số 25.344 pixel chỉ có 3,4% thay đổi giá trị xám vào khoảng hơn 1% của giá trị xám cực đại (trong trường hợp này là 255). Như vậy đối với tín hiệu giống như điện thoại video 5 có dịch chuyển vừa phải trong cảnh, trung bình có ít hơn 10% pixel thay đổi các giá trị xám giữa hai khung liên tiếp vào khoảng 1% tín hiệu đỉnh. Hình 1.2: (a) khung hình thứ nhất và (b) thứ hai của dãy ảnh "Foreman" Điều đó dẫn ta tới suy nghĩ là có thể dự đoán một khung từ các khung cạnh nó theo miền thời gian bằng cách mã hóa dự đoán trong khung và cũng giúp nghiên cứu sinh hướng tới ý tưởng sử dụng hàm tương quan giữa các pixel để ước lượng sự chuyển động của các khung kế tiếp nhau. - Độ dư mã Như đã nói ở trên, độ dư giữa các pixel liên quan đến độ tương quan giữa các pixel. Điều đó có nghĩa rằng một số thông tin liên quan đến các pixel là thừa. Độ dư về khả năng nhìn có liên quan đến những thông tin dư thừa về mặt nhìn thấy được, tức là với nó hệ thống nhìn của con người (HVS) không nhạy. Do vậy, rõ ràng cả hai độ dư là độ dư giữa các pixel và độ dư khả năng nhìn vì một lý do nào đó gắn với một số thông tin chứa trong hình ảnh và video. Loại bỏ các độ dư này hoặc sử dụng các mối tương quan này bằng cách sử dụng số bit ít hơn để biểu diễn thông tin sẽ cho ta kết quả nén dữ liệu hình ảnh và video. Với nghĩa đó thì độ dư mã là khác, nó không thực hiện việc gì đối với sự dư thừa thông tin mà nó thực hiện với việc biểu diễn thông tin, nghĩa là chính việc mã hoá. Từ việc nghiên cứu độ dư mã, rõ ràng là chúng ta nên tìm kiếm các kỹ thuật mã hiệu quả hơn để nén dữ liệu hình ảnh và video. Mã Huffman và mã số học là hai kỹ thuật mã hóa VLC thường được dùng trong xử lý ảnh và video. 6 1.2.2. Độ dư khả năng nhìn thấy Trong khi độ dư giữa các pixel vốn đã có trong số liệu hình ảnh và video, độ dư khả năng nhìn thấy bắt nguồn từ các đặc trưng về hệ thống nhìn của con người. Ta biết rằng HVS cảm nhận được thế giới bên ngoài theo một cách thức khá phức tạp. Đáp ứng của nó đối với các tác nhân nhìn không phải là một hàm tuyến tính theo cường độ của một vài thuộc tính vật lý, như độ sáng và màu. Năng lực tri giác của HVS khác hẳn với độ nhạy của camera. Trong HVS, thông tin nhìn thấy không được cảm nhận như nhau, một số thông tin có thể quan trọng hơn một số thông tin khác. Điều đó có nghĩa rằng nếu chúng ta sử dụng ít dữ liệu hơn để biểu diễn những thông tin ít quan trọng hơn về nhìn thấy thì khả năng cảm nhận sẽ không bị ảnh hưởng. Theo nghĩa đó, chúng ta thấy rằng một số thông tin có liên quan đến thị giác là dư thừa về khả năng nhìn thấy. Loại bỏ sự dư thừa khả năng nhìn thấy này chính là nén dữ liệu. 1.2.3. Nhu cầu cần thiết nén video Những thành tựu đạt được trong công nghệ điện tử - viễn thông - tin học đã tạo điều kiện phát triển các kỹ thuật truyền video đáp ứng nhu cầu ngày càng tăng trong các ứng dụng cuộc sống hàng ngày như điện thoại video, hội nghị video, truyền hình độ phân giải cao… Video là một dãy các khung ảnh bao gồm một lượng khổng lồ các số liệu, ví dụ mỗi khung video có độ phân giải 288 dòng và 352 pixel trên một giây. Mỗi một màu trong ba màu chính (đỏ, xanh, xanh da trời) được biểu thị bằng 1 pixel có 8 bit và thông thường tốc độ khung truyền là 30 khung trên một giây để tạo ra video chuyển động liên tục. Tốc độ bit yêu cầu là: 288×352×8×3×30 = 72.990.720 bit/s. Do đó tỷ số giữa tốc độ bit cần thiết và tốc độ bit có thể lớn nhất khoảng 1289 lần. Điều này chứng tỏ rằng chúng ta cần phải nén số liệu video ít nhất là 1289 lần để truyền được trên mạng viễn thông. 1.3. Khái niệm về nén video Các phương tiện liên lạc video qua kênh thông tin số thế hệ mới yêu cầu rất lớn về việc truyền thông tin. Nén video được xem xét ở đây bao hàm việc làm giảm tốc độ bit mã tín hiệu video số mang thông tin nhìn được hoặc loại bỏ các phần tử 7 dư thừa trong tín hiệu. Mức độ mà bộ mã hoá làm giảm tốc độ bit được gọi là hiệu suất mã và nghịch đảo của hiệu suất mã được gọi là tỷ số nén: Nén có làm tổn thất hoặc không làm tổn thất thông tin. Tổn thất thông tin thường được tính bằng sai số trung bình bình phương (MSE), sai số tuyệt đối trung bình (MAE) hoặc tỷ số tín hiệu đỉnh trên nhiễu (PSNR): ∑ ∑( ) , với ảnh I và ảnh tái cấu trúc của nó (P), cỡ ảnh là NxM pixel và và n bit/pixel (với các ảnh dạng PGM thì n=8). ∑ ∑( ) ⌊ ⌋ Các tín hiệu video chứa thông tin ba chiều được mô hình trong miền không gian và thời gian trong quá trình mã hoá. Các phương pháp nén video số đặt mục tiêu sao cho tối thiểu hoá lượng tin dư thừa mà không phụ thuộc vào mỗi miền đã nói ở trên. 1.4. Yêu cầu về ứng dụng nén video Hiện nay có nhiều ứng dụng video số khác nhau, chúng trải rộng từ các ứng dụng có yêu cầu đơn giản với độ phân giải thấp và độ rộng băng tần thấp (thiết bị đa phương tiện, điện thoại thấy hình) đến các ứng dụng có yêu cầu độ phân giải rất cao và độ rộng băng tần cao (HDTV). Độ rộng băng tần cần thiết của tín hiệu TV số gần bằng một nửa số phần tử ảnh (pixel) xuất hiện trên một giây. Cỡ pixel tương tự theo chiều đứng là khoảng cách giữa các đường quét và theo chiều ngang là khoảng cách vết quét chuyển động 8 trong khoảng thời gian một nửa chu kỳ của tần số truyền tín hiệu video cao nhất. Độ rộng băng tần cho bởi [1]: ( trong đó ) là độ rộng băng tần hệ thống, FR là số khung đã phát đi trên một giây (fps), NL là số đường quét trên một khung, RH là phân giải ngang tỷ lệ với phân giải pixel. Theo tiêu chuẩn NTSC thì FR = 29,97 fps, NL = 525 đường, RH = 340 đường thì Bw = 4,2 MHz. Đối với pixel màu số gồm 3 thành phần: thành phần độ chói (Y) chiếm 8 bit và hai thành phần màu khác (U và V), mỗi thành phần yêu cầu 8 bit. Khung ảnh NTSC có tổng cộng 720×480×2 pixel độ chói và màu. Để truyền thông tin này trên hệ thống truyền hình NTSC với tốc độ 29,97 khung/giây thì yêu cầu độ rộng băng tần là [1]: ( )( ) Độ rộng băng tần truyền các tín hiệu NTSC hiện nay là 6 MHz còn HDTV là 12 MHz [1]. Một số yêu cầu đối với hệ thống nén video: - Các đặc tính video: Các tham số video như giải động, các thông số thống kê của nguồn, độ phân giải pixel và nhiễu ảnh hưởng đến hiệu năng của hệ thống nén. - Yêu cầu truyền dẫn: Các yêu cầu về tốc độ bit truyền xác định năng lực của hệ thống nén. Các yêu cầu rất cao về độ rộng băng tần truyền dẫn, dung lượng bộ nhớ hoặc chất lượng có thể phải đòi hỏi nén không tổn thất. Ngược lại, các yêu cầu tốc độ bit cực kỳ thấp có thể phải đòi hỏi các hệ thống nén đánh đổi chất lượng ảnh để có tỷ số nén lớn. Ngoài ra, các lỗi kênh cũng ảnh hưởng đến hiệu năng của hệ thống và chất lượng video tái cấu trúc. Để làm giảm ảnh hưởng của các lỗi kênh người ta thường dùng mã sửa sai (ECC). 9 - Các đặc tính và hiệu năng của hệ thống nén: Căn cứ vào đặc điểm ứng dụng video mà người ta đưa ra các yêu cầu đối với hệ thống nén video. Các ứng dụng video tương tác như hội nghị video thì đòi hỏi các hệ thống nén phải có khả năng đối xứng. Nghĩa là mỗi phần trong đoạn video tương tác phải có cùng khả năng mã hoá và giải mã video và các yêu cầu năng lực hệ thống phải đáp ứng cho cả bộ mã hoá và bộ giải mã. Trái lại, truyền hình video yêu cầu năng lực của máy phát phải rất cao vì nó phải đáp ứng việc cung cấp video được nén với chất lượng cao, thời gian thực phù hợp với dung lượng kênh truyền dẫn. Các yêu cầu thực hiện hệ thống video số có thể thay đổi một cách đáng kể. Hội nghị truyền hình qua máy tính có thể được thực hiện bằng cách dùng phần mềm cho việc mã hoá và giải mã hoặc dùng phần cứng chuyên dụng và các năng lực truyền dẫn để đạt được chất lượng cao. Để chọn được giải pháp tốt nhất cần phải phân tích tỷ mỉ toàn bộ hệ thống và các phương án mã hoá. - Yêu cầu về tỷ lệ méo: Đây là yêu cầu cơ bản trong việc lựa chọn bộ mã video. Bộ mã video phải có khả năng đáp ứng được tốc độ bit và độ trung thực của hình ảnh theo yêu cầu của ứng dụng. - Yêu cầu về tiêu chuẩn: Bộ mã hoá video phải tương thích với các tiêu chuẩn hiện tại và tương lai để có thể cùng hoạt động được với các hệ thống hiện tại hoặc trong tương lai. 1.5. Kết luận chƣơng 1 Chương 1 của luận văn đã giới thiệu chung về bài toán nén video trong các hệ thống truyền tin, từ đó diễn tả một cách tổng quan nhất tại sao phải nén tín hiệu video trước lúc truyền dẫn, các tham số có thể tác động vào để giảm lượng tin thừa trong tín hiệu, các tham số để đánh giá kết quả nén, chương 1 đã giới thiệu: - Độ dư trong tín hiệu video và sự cần thiết phải nén video. - Phân tích các yêu cầu về ứng dụng nén video. 10 CHƢƠNG 2: CHUẨN MÃ HÓA, NÉN ẢNH JPEG VÀ MÃ HÓA, NÉN VIDEO MPEG-4 PART 10/H.264 2.1. Kỹ thuật mã hóa, nén ảnh JPEG 2.1.1. Giới thiệu chung Nén trong ảnh là loại nén làm giảm bớt thông tin dư thừa trong miền không gian. Nén trong ảnh sử dụng cả hai quá trình có tổn thất và không tổn thất thông tin. Quá trình này không sử dụng thông tin các ảnh trước và ảnh sau của ảnh đang xét. Trong đó kỹ thuật chính là phương pháp biến đổi DCT. Tiêu chuẩn JPEG – Định dạng ảnh JPEG là một tiêu chuẩn nén ảnh được phát triển bởi Nhóm chuyên gia xử lý ảnh (Joint Photographic Experts Group – JPEG) thành lập năm 1986 với sự hợp tác của các tổ chức ITU (International Telecommunication Union – Liên minh Viễn thông quốc tế), ISO (International Organization for Standardization – Tổ chức tiêu chuẩn quốc tế) và IEC (International Electrotechnical Commission - Ủy ban Kỹ thuật điện tử quốc tế), và do đó tiêu chuẩn được đặt tên của nhóm JPEG. Chuẩn JPEG được công nhận là chuẩn ảnh quốc tế năm 1990 phục vụ các ứng dụng truyền ảnh cho các lĩnh vực như y học, khoa học, kỹ thuật, ảnh nghệ thuật, báo chí, camera số, Fax màu, lưu trữ ảnh… Hiện nay có 3 phiên bản về JPEG được công bố như sau: - Tiêu chuẩn JPEG năm 1992: sử dụng mã hóa ảnh tĩnh liên tục có tổn thất (lossy) dựa trên biến đổi cosin rời rạc DCT, đã được ITU công bố là một tiêu chuẩn viễn thông ITU-T Recommendation T.81 và được công nhận là tiêu chuẩn quốc tế với tên chính thức là ISO/IEC 10918-1:1994. Mục tiêu của tiêu chuẩn JPEG năm 1992 là hỗ trợ nén ảnh với nhiều kích cỡ/không gian màu sắc, với tỉ lệ nén theo yêu cầu người dùng, hỗ trợ tái tạo lại ảnh với chất lượng cao và hỗ trợ quản lý mức độ phức tạp tính toán khi nén ảnh. - Tiêu chuẩn JPEG-LS: sử dụng mã hóa ảnh tĩnh liên tục không tổn thất (lossless) và tổn thất ít (nearlossless) dựa trên mã hóa tiên đoán và mã hóa ngẫu nhiên, đã được công bố là tiêu chuẩn quốc tế ISO/IEC IS 14495-1|ITU-T Recommendation T.87. 11 - Tiêu chuẩn JPEG 2000: sử dụng mã hóa co giãn (scalable) ảnh tĩnh liêntục (từ có tổn thất đến không tổn thất) dựa trên biến đổi wavelet. Tiêu chuẩn JPEG 2000 không chỉ cung cấp khả năng nén ảnh với chất lượng và hiệu quả cao hơn hệ thống cơ bản JPEG mà nó còn có khả năng biểu diễn một ảnh với nhiều tính năng hơn, hỗ trợ trong cùng bit-stream (chuỗi bit được mã hóa hoặc giải mã một phần chứa đoạn mã hóa dữ liệu ngẫu nhiên) đáp ứng được rất nhiều ứng dụng hiện có và ứng dụng mới. 2.1.2. Phương pháp nén ảnh chuẩn JPEG Mã hóa JPEG bao gồm nhiều công đoạn, sơ đồ thuật toán nén và giải nén được mô tả dưới đây. Hình 2.1: Sơ đồ thuật toán nén JPEG Quá trình giải nén sẽ được làm ngược lại, người ta giải mã từng phần ảnh nén tương ứngvới phương pháp nén đã sử dụng trong phần nén nhờ các thông tin liên quan ghi trong phần header của file nén. Kết quả thu được là hệ số đã lượng tử. Các hệ số này được khôi phục về giá trị trước khi lượng tử hóa bằng bộ tương tự hóa. Tiếp đó đem biến đổi Cosin ngược ta được ảnh ban đầu với độ trung thực nhất định. 12 Hình 2.2: Sơ đồ thuật toán giải nén JPEG Bảng mã và bảng lượng tử trong sơ đồ giải nén được dựng lên nhờ những thông tin ghi trong phần cấu trúc đầu tệp (Header) của tệp ảnh nén. Quá trình nén chịu trách nhiệm tạo ra và ghi lại những thông tin này. Phần tiếp theo sẽ phân tích tác dụng của từng khối trong sơ đồ.  Phân khối Chuẩn nén JPEG phân ảnh ra các khối 8x8. Công đoạn biến đổi nhanh Cosin hai chiều cho các khối 8x8 tỏ ra hiệu quả hơn.  Biến đổi Cosin rời rạc ( Discrete cosine transform) DCT là phép biến đổi giá trị một khối các điểm ảnh thành một khối các hệ số trong miền tần số. Công thức tính toán cho DCT 2 chiều với ma trận vuông giá trị điểm NxN sinh ra ma trận vuông hệ số như sau: √ ∑ ∑ [ Trong đó F(u,v) = Hệ số của khối DCT NxN f(x,y) = Giá trị mẫu của khối NxN điểm ảnh u = Tần số trục ngang (0 - Xem thêm -

Tài liệu liên quan