Luận văn Cách nén video trong hệ thống hội nghị truyền hình ứng dụng trong việc họp giao ban trực tuyến, tập huấn, đào tạo cán bộ trong ngành giáo dục tỉnh Quảng Ninh

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VŨ NAM DƢƠNG CÁCH NÉN VIDEO TRONG HỆ THỐNG HỘI NGHỊ TRUYỀN HÌNH ỨNG DỤNG TRONG VIỆC HỌP GIAO BAN TRỰC TUYẾN, TẬP HUẤN, ĐÀO TẠO CÁN BỘ TRONG NGÀNH GIÁO DỤC TỈNH QUẢNG NINH LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2020 ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VŨ NAM DƢƠNG CÁCH NÉN VIDEO TRONG HỆ THỐNG HỘI NGHỊ TRUYỀN HÌNH ỨNG DỤNG TRONG VIỆC HỌP GIAO

pdf89 trang | Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 367 | Lượt tải: 0download
Tóm tắt tài liệu Luận văn Cách nén video trong hệ thống hội nghị truyền hình ứng dụng trong việc họp giao ban trực tuyến, tập huấn, đào tạo cán bộ trong ngành giáo dục tỉnh Quảng Ninh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
O BAN TRỰC TUYẾN, TẬP HUẤN, ĐÀO TẠO CÁN BỘ TRONG NGÀNH GIÁO DỤC TỈNH QUẢNG NINH Chuyên ngành: Khoa học máy tính Mã số: 8480101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Ngƣời hƣớng dẫn khoa học: PGS TS. Đỗ Năng Toàn THÁI NGUYÊN - 2020 i LỜI CAM ĐOAN Tên tôi là: Vũ Nam Dƣơng. Sinh ngày: 30/12/1986. Học viên lớp cao học CK17B - Trƣờng Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên. Hiện đang công tác tại: Trƣờng THPT Vũ Văn Hiếu, thành phố Hạ Long, tỉnh Quảng Ninh. Xin cam đoan: Đề tài “Cách nén video trong hệ thống hội nghị truyền hình (HNTH) - Ứng dụng trong việc họp giao ban trực tuyến, tập huấn, đào tạo cán bộ trong ngành giáo dục tỉnh Quảng Ninh” do PGS TS. Đỗ Năng Toàn hƣớng dẫn là công trình nghiên cứu của riêng tôi. Tất cả tài liệu tham khảo đều có nguồn gốc, xuất xứ rõ ràng. Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng nhƣ nội dung trong đề cƣơng và yêu cầu của thầy giáo hƣớng dẫn. Nếu sai tôi hoàn toàn chịu trách nhiệm trƣớc hội đồng khoa học và trƣớc pháp luật. Thái Nguyên, ngày 16 tháng 9 năm 2020 Tác giả luận văn Vũ Nam Dƣơng ii LỜI CẢM ƠN Sau một thời gian nghiên cứu và làm việc nghiêm túc, đƣợc sự động viên, giúp đỡ và hƣớng dẫn tận tình của Thầy giáo hƣớng dẫn PGS TS. Đỗ Năng Toàn, luận văn với Đề tài “Cách nén video trong hệ thống hội nghị truyền hình - Ứng dụng trong việc họp giao ban trực tuyến, tập huấn, đào tạo cán bộ trong ngành giáo dục tỉnh Quảng Ninh”. Xin bày tỏ lòng biết ơn sâu sắc đến: Thầy giáo hƣớng PGS TS. Đỗ Năng Toàn đã tận tình chỉ dẫn, giúp đỡ tôi hoàn thành luận văn này. Phòng đào tạo Sau đại học Trƣờng Đại học Công nghệ Thông tin và Truyền thông đã giúp đỡ tôi trong quá trình học tập cũng nhƣ thực hiện luận văn. Sở Giáo dục và Đào tạo tỉnh Quảng Ninh, trƣờng THPT Vũ Văn Hiếu nơi tôi công tác đã tạo điều kiện tối đa cho tôi thực hiện khóa học này. Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động viên, khích lệ, tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập, thực hiện và hoàn thành luận văn này. Thái Nguyên, ngày 16 tháng 9 năm 2020 Tác giả luận văn Vũ Nam Dƣơng iii MỤC LỤC LỜI CAM ĐOAN .............................................................................................. i LỜI CẢM ƠN ................................................................................................... ii DANH MỤC KÝ HIỆU, CÁC TỪ VIẾT TẮT ................................................ v LỜI MỞ ĐẦU ................................................................................................... 1 CHƢƠNG I. KHÁI QUÁT VỀ HỘI NGHỊ TRUYỀN HÌNH VÀ BÀI TOÁN NÉN VIDEO ........................................................................................ 3 1.1 Khái quát về hội nghị truyền hình ............................................................ 3 1.1.1 Giới thiệu ............................................................................................ 3 1.1.2. Các thành phần của một hệ thống Hội nghị truyền hình .................. 5 1.2 Bài toán nén video .................................................................................... 6 1.2.1 Nén video trong hệ thống hội nghị truyền hình .................................. 6 1.2.2 Một số cách tiếp cận nén video trong Hội nghị truyền hình .............. 8 CHƢƠNG II. KỸ THUẬT NÉN VÀ GIẢI NÉN MPEG-4 H.264/AVC .. 21 2.1 Nguyên lý hoạt động cơ bản................................................................... 21 2.1.1 Tổng quan về chuẩn nén ................................................................... 21 2.1.2 Sơ đồ mã hóa .................................................................................... 36 2.1.3 Sơ đồ giải mã .................................................................................... 37 2.2 Khối nén thời gian .................................................................................. 38 2.2.1 Dự đoán một chiều (mã hóa ảnh Prediction). .................................. 38 2.2.2 Dự đoán hai chiều( mã hóa ảnh Bidiriectional Prediction) ............ 39 2.2.3 Sơ đồ nguyên lý nén ảnh B. .............................................................. 40 2.2.4 Bù chuyển động trong các slice B .................................................... 40 2.2.5 Dự đoán liên ảnh (Inter-Frame) ...................................................... 43 2.2.6 Mã hóa ảnh SP (switching P) và SI (switching I) ............................ 46 2.3 Khối nén không gian .............................................................................. 47 2.3.1 Chia ảnh thành các MacroBlock ...................................................... 48 2.3.2 Dự đoán trong ảnh (Intra-frame) ..................................................... 49 iv 2.3.3 INTRA LUMA 4 x 4 .......................................................................... 50 2.3.4 INTRA LUMA 16 x 16 ...................................................................... 54 2.3.5 INTRA CHROMA 8x8 ...................................................................... 56 2.3.6 INTRA-PCM ..................................................................................... 56 2.3.7 Dự đoán trọng số .............................................................................. 57 CHƢƠNG III. CHƢƠNG TRÌNH THỬ NGHIỆM .................................. 59 3.1 Phân tích yêu cầu .................................................................................... 59 3.1.1 Nén – giải nén của H.264/AVC ........................................................ 59 3.1.2 Lưu đồ giải thuật .............................................................................. 63 3.2 Chƣơng trình mô phỏng nén-giải nén của H.264/AVC bằng Matlab .... 64 3.3 Một số kết quả ........................................................................................ 66 PHẦN KẾT LUẬN ........................................................................................ 69 TÀI LIỆU THAM KHẢO ............................................................................ 70 PHỤ LỤC ....................................................................................................... 71 v DANH MỤC KÝ HIỆU, CÁC TỪ VIẾT TẮT DCT Biến đổi Cosine rời rạc (Discrete Cosine Transform) DPCM Điều xung mã vi sai (Differential Pulse Code Modulation) DWT Biến đổi Wavelet rời rạc (Discrete Wavelet Transform) FLC Mã hóa có chiều dài cố định (Fixed-Length Code) GMC Bù chuyển động toàn phần (Global Motion Compensation) ICT Biến đổi nguyên Cosine rời rạc (Integer Discrete Cosine Transform) IDCT Biến đổi ngược Cosine rời rạc (Inverse Discrete Cosine Transform) IP Giao thức Internet ( Internet Protocol) JPEG 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) MB Đa khối (Macroblock) MC Bù chuyển động (Motion Compensation) ME Ước lượng chuyển động(Motion Estimate) 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) vi PCM Điều xung mã (Pulse Code Modulation) PSNR Tỷ số tín hiệu đỉnh trên nhiễu (Peak Signal to Noise Ratio) QP Thông số lượng tử (Quantization Parameter) 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) 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) ISO Tổ chức quốc tế về tiêu chuẩn chất l ư ợng (International Organization for Standardization) IEC Ủy ban kỹ thuật điện quốc tế (International Electro-technical Commission) 1 LỜI MỞ ĐẦU Một trong những đặc điểm nổi bật của thời đại ngày nay là sự phát triển rất nhanh của khoa học và công nghệ. Các cuộc cách mạng khoa học trên các lĩnh vực: tin học, truyền thông, công nghệ không chỉ làm thay đổi mọi mặt của đời sống kinh tế - xã hội mà còn có tác động mạnh mẽ đến giáo dục và đào tạo, góp phần đổi mới phƣơng pháp, nâng cao hiệu quả và chất lƣợng trong giáo dục. Dƣới ảnh hƣởng của các cuộc cách mạng khoa học, nhiều phƣơng tiện kỹ thuật dạy học hiện đại xuất hiện,việc sử dụng các phƣơng tiện nhƣ: Hệ thống trang thiết bị nghe nhìn, thiết bị và bài giảng tƣơng tác, học tập qua mạng, tìm kiếm và khai thác những tài nguyên vô cùng quý giá và bổ ích từ Internet trong quá trình học và dạy học chính là yếu tố chính đòi hỏi phải có sự đổi mới môi trƣờng giáo dục, đổi mới cách dạy và cách học ở mọi cấp học. Hội nghị truyền hình nhƣ hiện nay đã đóng góp một phần làm cho khoảng cách địa lý đã không còn là trở ngại quá lớn. Sử dụng giải pháp hội nghị truyền hình sẽ tiết kiệm đƣợc rất nhiều thời gian đi lại, học, họp và đào tạo đồng thời giải quyết đƣợc vấn đề chi phí đi lại, ăn ở, sinh hoạt của các đại biểu tham gia các buổi học, đào tạo tại các địa điểm khác nhau, giảm các rủi ro tai nạn trên đƣờng đi cho những ngƣời tham gia. Ngoài ra, có một chiến lƣợc đúng đắn trong việc triển khai giải pháp này sẽ giúp cho tỉnh Quảng Ninh có một môi trƣờng chia sẻ thông tin hiệu quả, tận dụng đƣợc tối đa các chi phí đầu tƣ. Với hạ tầng truyền thông ngày càng đƣợc củng cố và phát triển, kinh phí thuê đƣờng truyền ngày càng giảm thì việc triển khai hệ thống hội nghị truyền hình của tỉnh Quảng Ninh mang tính thực tiễn và khả thi rất cao, góp phần thành công trong công cuộc đổi mới và phát triển của tỉnh, của đất nƣớc. Tuy nhiên, với việc triển khai hệ thống hội nghị truyền hình trên nền tảng cơ sở hạ tầng đang có thì việc các tín hiệu (video, hình ảnh, bài giảng...) đƣợc truyền đi thông qua các nhà mạng Internet. Điều này sẽ làm ảnh hƣởng đến chất lƣợng của các thông tin đi và đến. Có nhiều giải pháp để giải quyết vấn đề này nhƣ: Tăng băng thông, nâng cấp các thiết bị, áp dụng các chuẩn nén để nén tín hiệu âm thanh và hình ảnh xuống mức thấp nhất mà vẫn đảm bảo chất lƣợng Với việc tăng băng 2 thông hay nâng cấp các thiết bị đòi hỏi chi phí lớn cũng nhƣ các thiết bị tiên tiến mới, vì vậy em lựa chọn phƣơng pháp áp dụng các kỹ thuật nén mới để áp dụng cho bài toán này. Hiện có rất nhiều các chuẩn nén để có thế áp dụng vào bài toán này, tuy nhiên em chọn nghiên cứu chuẩn nén MPGE-4 H.264/AVC để đƣa vào ứng dụng. Để có thể đi sâu vào nghiên cứu chuẩn nén MPEG-4 H.264/AVC, thì chúng ta cần nắm đƣợc các thuật ngữ, các kỹ thuật cần thiết cho việc nén tín hiệu, cũng nhƣ là các ƣu nhƣợc điểm của các chuẩn nén trƣớc đó đã mang lại. Vì đây là một đề tài lý thuyết, nên bƣớc quan trọng nhất của quá trình làm luận văn là tìm kiếm tài liệu và tổng hợp nó thành một chuỗi các kiến thức liên tục tránh lan man và yếu tố thuyết phục ngƣời tham khảo cũng rất quan trọng, do đó bên cạnh trình bày chi tiết về cách thức nén, em đã cố gắng mô phỏng một phần ƣu điểm của chuẩn nén này nhằm góp phần sinh động cho đề tài. TỔ CHỨC LUẬN VĂN Luận văn đƣợc trình bày thành 3 chƣơng và 1 phụ lục. Chƣơng I: KHÁI QUÁT VỀ HỘI NGHỊ TRUYỀN HÌNH VÀ BÀI TOÁN NÉN VIDEO. Chƣơng II: KỸ THUẬT NÉN VÀ GIẢI NÉN MPEG-4 H.264/AVC.. Chƣơng III: CHƢƠNG TRÌNH THỬ NGHIỆM 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 luận vă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 luận văn này. 3 CHƢƠNG I. KHÁI QUÁT VỀ HỘI NGHỊ TRUYỀN HÌNH VÀ BÀI TOÁN NÉN VIDEO 1.1 Khái quát về hội nghị truyền hình 1.1.1 Giới thiệu Vào những năm 80 của thế kỷ XX, Hội nghị truyền hình đã mở ra một hƣớng mới cho thế giới trong việc trao đổi thông tin khi các đối tƣợng cần giao lƣu ở các vị trí khác nhau mà không có khái niệm về mặt địa lý. Khác với các phƣơng tiện trao đổi thông tin khác nhƣ điện thoại, dữ liệu, Hội nghị truyền hình cho phép mọi ngƣời tiếp xúc với nhau, nói chuyện với nhau thông qua tiếng nói và hình ảnh bằng hình ảnh trực quan. Việc sử dụng công nghệ hội nghị truyền hình, cho thấy hiệu quả sử dụng của nó đã đem lại lợi ích hiệu quả kinh tế rõ rệt, ứng dụng truyền hình cho việc giao lƣu, gặp gỡ, hội nghị, hội thảo, đào tạo, chăm sóc sức khỏe từ xa trong ngành y tế, các lĩnh vực khác trong nền kinh tế là sự hợp tác, nghiên cứu và phát triển không ngừng đã đem lại lợi ích và hiệu quả kinh tế vô cùng to lớn cho xã hội. Thế hệ đầu tiên của hệ thống thiết bị hội nghị truyền hình đƣợc thực hiện qua mạng kỹ thuật số đa dịch vụ ISDN dựa trên tiêu chuẩn H.230 của Tổ chức ITU; Thế hệ thứ hai của hệ thống thiết bị hội nghị truyền hình ứng dụng cho máy tính cá nhân và công nghệ thông tin, và vẫn dựa vào mạng ISDN và các thiết bị mã hoá/giải mã, nén/giải nén - CODEC; Thế hệ thứ ba của hệ thống thiết bị hội nghị truyền hình ra đời trên cơ sở mạng cục bộ LAN phát triển rất nhanh và có mặt ở khắp mọi nơi trên thế giới. Hiện nay, công nghệ truyền hình với chất lƣợng cao sử dụng chuẩn H.230 có tính ƣu việt, đã và đang thay thế dần các phƣơng tiện thông tin khác và đã đƣợc ứng dụng vào tất cả các ngành kinh tế quốc dân từ quốc phòng, chăm sóc sức khỏe, đào tạo, nghiên cứu khoa học, v.v... và cuối cùng là một công nghệ truyền thông không thể thiếu đƣợc trong ngành kinh tế quốc dân. Công nghệ hiện đại nhất hiện nay của hệ thống thiết bị hội nghị truyền hình là sử dụng theo tiêu chuẩn công nghệ H.323 qua giao thức IP. Khi công nghệ HD (High 4 Definition) chính thức gia nhập thị trƣờng. Với chất lƣợng hình ảnh rõ nét gấp 10 lần so với chuẩn SD (Standard Definition), độ phân giải hình ảnh đạt đến 720p; Full HD 1080p, nén Video chuẩn H.264, âm thanh AAC-LD, hội nghị truyền hình HD thực sự thoả mãn đƣợc nhu cầu "giao tiếp ảo". Công nghệ HD giúp các tổ chức, doanh nghiệp thay thế các cuộc họp dày đặc bằng những cuộc họp trực tuyến. Thế hệ thứ tư của hệ thống thiết bị truyền hình ra đời từ 2014 trên cơ sở một loạt các tiến bộ vƣợt bậc về công nghệ thông minh của hãng Trueconf: (1) Áp dụng đƣợc chuẩn nén H.264 SVC trong việc truyền nhận dữ liệu, giúp cho hình ảnh âm thanh đạt chất lƣợng cao cấp về hình ảnh và âm thanh với yêu cầu băng thông cực thấp (Full HD 30 fps 1080p chỉ yêu cầu băng thông là 1024 Kbps); (2) Dùng công nghệ nhận dạng thông minh đối với siêu âm và hồng ngoại để tiếp nhận tín hiệu từ bút điện tử cảm ứng vào màn hình không cảm ứng, giúp cho ngƣời sử dụng có thể vẽ, xóa đƣợc bằng bút điện tử đa sắc màu trên màn hình bất kỳ (khung hình trắng hoặc chứa nội dung đang trình chiếu). Hình ảnh đang vẽ sẽ đƣợc truyền ngay lập tức tới các đầu cầu khác và ghi lại đƣợc thành file ảnh cùng với hình ảnh nền đã trình chiếu; (3) Dùng công nghệ nhận dạng thông minh đối với âm thanh trong tín hiệu thu đƣợc từ micro đa hƣớng để phát hiện ra tiếng ngƣời, đâu là âm thanh do va chạm vật chất gây ra (tạp âm), giúp cho hệ thống ngay lập tức phát hiện điểm cầu có ngƣời phát biểu để tự động kích hoạt điểm cầu đó trở thành điểm cầu chính, làm cho việc điều khiển các điểm cầu có thể thực hiện hoàn toàn tự động (các điểm cầu đều không cần bật micro khi phát biểu, không cần tắt micro khi ngừng phát biểu); (4) Dùng công nghệ nhận dạng và phán đoán thông minh đối với hình ảnh để tự động điều chỉnh liên tục khuôn hình của camera vừa đủ theo vị trí của những ngƣời dự họp, loại bỏ không gian thừa, tự đếm đƣợc số ngƣời dự họp theo từng giây. Dùng công nghệ nhận dạng và phán đoán đối với hình ảnh khuôn mặt ngƣời để tự động phát hiện chính xác ngƣời phát biểu trong số những ngƣời dự họp và điều chỉnh camera quay chân dung ngƣời phát biểu (khi ngƣời phát biểu di chuyển thì camera sẽ quay và zoom theo ngƣời đó). 5 1.1.2. Các thành phần của một hệ thống Hội nghị truyền hình Các hệ thống đào tạo cán bộ trực tuyến đa điểm gồm 3 thành phần cơ bản: thiết bị đầu cuối (Thiết bị VCS), thiết bị điều khiển đa điểm (MCU), thiết bị vƣợt tƣờng lửa hoặc Gateway và Gatekeeper. Ngoài ra còn có các thiết bị tùy chọn khác (thiết bị chia sẻ dữ liệu, thiết bị ghi hình lại hình ảnh Video Conferencing, thiết bị lập lịch và quản lý các khóa đào tạo, ) - Thiết bị VCS: Có chức năng thu nhận hình ảnh, âm thanh (qua camera, micro) mã hóa chúng rồi chuyển qua giao diện mạng. Các VCS còn có cổng giao tiếp với máy tính (PC, Laptop) cho phép kết nối và trình chiếu các tài liệu từ máy tính vào phiên làm việc. VCS sử dụng màn hình TV, màn hình máy tính hoặc máy chiếu làm thiết bị hiển thị và có thể sử dụng bất kỳ hệ thống âm thanh nào có sẵn. - Thiết bị MCU: Có chức năng điều khiển đa điểm, cho phép kết nối nhiều VCS vào một phiên làm việc. Hình ảnh, âm thanh từ các thiết bị VCS đƣợc nhận về, trộn và chia hình hiển thị theo yêu cầu của ngƣời quản lý hệ thống. Ngòai ra, MCU còn hỗ trợ kết nối các đầu cuối thoại (Voice only). Để đáp ứng yêu cầu làm việc đa phƣơng tiện, đa mạng thiết bị MCU còn hỗ trợ chuyển mã (transcoding) các yếu tố liên qua đến chất lƣợng nhƣ: giao diện mạng, băng thông, chuẩn mã hóa Video/Audio, tốc độ khung hình Các yêu cầu trên đây chỉ cần thiết trong hệ thống đào tạo cán bộ trực tuyến đa điểm (3 điểm trở lên), trong trƣờng hợp kết nối các khóa học 2 điểm cầu thì chỉ cần 2 thiết bị đầu cuối VCS tại 2 điểm. a) Thiết bị VCS (Thiết bị đầu cuối) Có chức năng thu nhận hình ảnh, âm thanh (quay camera, micro) mã hóa chúng rồi chuyển qua giao diện mạng. Các VCS còn có cổng giao tiếp với máy tính (PC, Laptop) cho phép kết nối và trình chiếu các tài liệu từ máy tính vào phiên làm việc của hệ thống.VCS sử dụng màn hình TV, màn hình máy tính hoặc máy chiếu làm thiết bị hiển thị và có thể sử dụng bất kỳ hệ thống âm thanh nào có sẵn. 6 b) Thiết bị MCU (Thiết bị điều khiển đa điểm) Có chức năng điều khiển đa điểm, cho phép kết nối nhiều VCS vào một phiên làm việc. Hình ảnh, âm thanh từ các thiết bị VCS đƣợc nhận về, trộn và chia hình hiển thị theo yêu cầu của ngƣời quản lý hệ thống. Ngoài ra, MCU còn hỗ trợ kết nối các đầu cuối thoại (Voice only) vào phiên làm việc của hệ thống. Để đáp ứng yêu cầu làm việc đa phƣơng tiện, đa mạng thiết bị MCU còn hỗ trợ chuyển mã (transcoding) các yếu tố liên qua đến chất lƣợng của hệ thống nhƣ: giao diện mạng, băng thông, chuẩn mã hóa Video/Audio, tốc độ khung hình 1.2 Bài toán nén video 1.2.1 Nén video trong hệ thống hội nghị truyền hình Giải pháp HNTH hiện nay có hai công nghệ chính là công nghệ SD (Standard Definition) và công nghệ HD (High Definition), Full HD. Công nghệ SD là công nghệ truyền hình cho chất lƣợng thông thƣờng đƣợc phát triển từ những năm 80, công nghệ HD là công nghệ truyền hình chất lƣợng cao. Công nghệ SD là công nghệ truyền hình từ thế hệ thứ hai, trong khi đó công nghệ HD là công nghệ truyền hình mới nhất chính thức ra mắt từ năm 2006. Hiện nay các hãng sản xuất thiết bị truyền hình trên thế giới tập trung phát triển công nghệ HD và Full HD. Giao thức HD là giao thức video chất lƣợng cao nhất hiện nay, Với HD nó cho phép các thiết bị kết cuối kết nối đến trung tâm HNTH với độ phân giải 1280x720 (720p) và tốc độ nằm trong khoảng từ 384Kbps đến 8Mbps. Việc thiết lập HNTH trên nền HD yêu cầu các đối tƣợng tham gia kết nối đến trung tâm tốc độ bằng nhau và đều có khả năng HD (hay phải là thiết bị HD). So sánh trên cho thấy truyền hình HD có độ phân giải cao gấp 10 lần độ phân giải truyền hình SD. Ví dụ sau so sánh chất lƣợng hình ảnh giữa HD và SD: 7 Công nghệ SD Công Nghệ HD HD cung cấp nhiều nội dung thông tin hơn với màn hình 16:9, công nghệ HD mang lại thêm 20% thông tin so với công nghệ SD cho khả năng bao quát cao hơn, nội dung thông tin nhiều hơn. Nhiều thông tin hơn với màn hình 16:9 : SD (Standard Definition) HD (High Definition) Bảng sau là sự so sánh giữa công nghệ HD và công nghệ SD: Tính chất HD (High Definition) SD (Standard Definition) Độ phân giải 720p (720´1280 pixels) CIF ( 288´352 pixels) Xử lý hình động 25 ÷ 30 frames/s 15 frames/s Băng thông yêu cầu 1Mbps+ 128Kbps+ Chuẩn Video H.261, H.263,H.264 H.261, H.263 Chuẩn Audio Tất cả Tất cả 8 1.2.2 Một số cách tiếp cận nén video trong Hội nghị truyền hình Kỹ thuật nén ảnh số đang đóng một vai trò cực kỳ quan trọng trong các hệ thống viễn thông và multimedia để giải quyết vấn đề băng thông của đƣờng truyền. Các kỹ thuật nén video đều cố gắng làm giảm lƣợng thông tin cần thiết cho một chuỗi các bức ảnh mà không làm giảm chất lƣợng của nó đối với ngƣời xem. Nói chung, tín hiệu video thƣờng chứa đựng một lƣợng lớn các thông tin thừa, chúng thƣờng đƣợc chia thành hai loại: thừa tĩnh bên trong từng frame (statistical) và thừa động giữa các frame (subjective). Mục đích của nén video là nhằm làm giảm số bit khi lƣu trữ và khi truyền bằng cách phát hiện để loại bỏ các lƣợng thông tin dƣ thừa này và dùng các kỹ thuật Entropy mã hoá để tối thiểu hoá lƣợng tin quan trọng cần giữ lại. 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 9 1.2.2.1 Quá trình biến đổi Bieán ñoåi Löôïng töû hoùa Maõ hoùa T Q C Bieán ñoåi ngöôïc Giaûi löôïng töû hoùa R Giaûi maõ D Giaûi neùn -1 T Tín hiệu ngõ vàoHình đƣợc I.1. Moâ biến hình đổi heä thoángnhằm neùn mục toån hao. đí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ƣ: 1.2.2.2 Đ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 I.2. mô tả sơ đồ khối của bộ mã hóa và giải mã DPCM.  Boä löôïng töû Maõ hoùa entropy Boä tieân ñoaùn  Hình I.2. Boä maõ hoùa vaø boä giaûi maõ DPCM Ví dụ 10 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 1 Dòng bit đƣợc nén nhƣ sau: 115 2 -1 1 1 -1 -2 1 1.2.2.3 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. 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:  1 Ci  Nếu i = 0 (2 j 1)i  N A  C cos Với  i, j i 2N  2 Ci   N Nếu i > 0 N 1 N 1 (2 j 1)y (2i 1)x Tƣơng đƣơng với Yx, y  CxC y  X i, jCos Cos i0 J 0 2N 2N Phép biến đổi DCT nguyên 4x4 của chuỗi ngõ vào X đƣợc cho bởi công thức 11 1 1 1 1  cos 0 cos 0 cos 0 cos 0 2 2 2 2     1    1  3  1  5  1  7    cos  cos  cos  cos    2  8  2  8  2  8  2  8   A   1  2  1  6  1 10  1 14   cos  cos  cos  cos   2  8  2  8  2  8  2  8    1  3  1  9  1 15  1  21   cos cos cos cos             2  8  2  8  2  8  2  8   Phép biến đổi ngược DCT cho bởi công thức: X=ATYA Tƣơng đƣơng với: N 1 N 1 (2 j 1)y (2i 1)x X i, j  CxC yYx, yCos Cos x0 y0 2N 2N 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: 1 T m H n  H n trong đó Hn là ma trận NxN với N = 2 , m thƣờng là các giá trị 1, 2 ,3 tƣơng ứng với các khối 2x2, 4x4, và 8x8, Hn đƣợc tạo ra từ phép toán Kronecker nhƣ sau: Hn = H1  H1..... H1 n lần. Ví dụ H2 = H1  H1 1 1 1 Với H1=   2 1 1 1.2.2.4 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õ 12 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: 1.2.2.5 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) Lƣợ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 QP = QP = QP = QP = X 1 2 3 5 -4 -4 -4 -3 -5 -3 -3 -2 -3 -5 -2 -2 -2 -3 0 -1 -1 0 0 0 0 0 0 0 0 1 1 0 0 0 2 2 2 3 0 3 3 2 3 5 4 4 4 3 5 5 5 4 6 5 1.2.2.6 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. 13  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: ượ ử Hình I.3. Quá trình l ng t vector 1.2.2.7 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 Mã hóa độ dài thay đổi (VLC) 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ẽ 14 đƣợ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 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: 0 1 0 0 1 1 0 1 u3 u4 0 1 u7 u1 u2 0 u6 u5 Hình I.4. Cây mã Huffman 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. ... ở tốc độ 1- 8Mbps với độ trễ trong khoảng 0.5-2s. - Truyền hình quảng bá qua cáp, vệ tinh, mặt đất, DSL - Truyền hình theo yêu cầu qua các kênh khác nhau. - Đối với dịch vụ luồng dữ liệu hoạt động tốt ở tốc độ 50-1500kbps với độ trễ 2s. 36 2.1.2 Sơ đồ mã hóa Ảnh Biến đổi Lượng tử Sắp xếp Mã hóa hiện tại DCT nguyên vô hướng trật tự Entropy Dự đoán chuyển động Ảnh Bù trướ c chuyển đó động Chọn kiểu dự Dự đoán Intra đoán 17 kiểu dự đoán Intra Intra Ảnh cấu Lọc tách Biến đổi Giải trúc lại khối ngược lượng tử Hình II.4 Sơ đồ khối mã hóa H.264/AVC Một bức ảnh ngõ vào gồm có 3 thành phần màu cơ bản R, G, B, sẽ đƣợc biến đổi thành Y, U, V sau đó ảnh sẽ đƣợc tách thành các khối MB có kích thƣớc là nxn với n=2, 4, 8, và 16 tùy thuộc vào độ phức tạp của bức ảnh. Kích thƣớc nhỏ 2x2 sẽ giảm tốc độ đƣờng truyền nhƣng thời gian mã hóa sẽ lâu hơn. Ảnh đầu tiên hoặc điểm truy nhập ngẫu nhiên thì đƣợc mã hóa Intra, các ảnh còn lại của dãy dùng dự đoán bù chuyển động từ các ảnh đã mã hóa trƣớc để mã hóa Inter. Dữ liệu từ các MB cần đƣợc mã hóa sẽ đƣợc đƣa đến cả bộ trừ và bộ dự đoán chuyển động. Bộ dự đoán chuyển động sẽ so sánh các MB mới đƣợc đƣa vào với các MB tham khảo đã đƣợc đƣa vào trƣớc đó, rồi tìm ra các MB trong frame tham khảo gần giống nhất với MB cần đƣợc mã hóa này. Bộ dự đoán chuyển động sẽ tính toán vector chuyển động, vector này sẽ đặc trƣng cho sự dịch chuyển theo cả 2 chiều ngang và thẳng đứng của MB mới cần đƣợc mã hóa so với frame tham khảo. Bộ dự đoán chuyển động cũng đồng thời gửi các MB tham khảo tới bộ trừ với MB mới cần đƣợc mã hóa, để tạo ra các sai số tiên đoán đặc trƣng cho sự sai khác giữa MB dự đoán và MB cần mã hóa. 37 Tín hiệu sai khác này sẽ đƣợc biến đổi nguyên để tạo ra tập hệ số biến đổi sau đó đƣợc đƣa qua bộ lƣợng tử để làm giảm số lƣợng bits cần truyền. Đến đây, các hệ số lƣợng tử đƣợc chia làm 2 hƣớng, một hƣớng sắp xếp lại và đƣa vào mã hóa Entropy, tại đây số bits đặc trƣng cho các hệ số tiếp tục đƣợc làm giảm đi một cách đáng kể, hƣớng còn lại đƣa qua bộ giải lƣợng tử và biến đổi ngƣợc để tạo ra khối sai số. Sau đó đƣa vào bộ cộng với tín hiệu dự đoán và đƣợc lọc tách khối trong vòng nhằm làm giảm hiệu ứng khối tạo thành ảnh cấu trúc lại, đƣợc lƣu trữ nhằm mục đích ƣớc lƣợng và dự đoán chuyển động. Dữ liệu tại đầu ra bộ mã hóa Entropy sẽ kết hợp với vector chuyển động và các thông tin khác nhƣ thông tin về ảnh I, ảnh P, và ảnh B rồi truyền ra ngoài kênh truyền dƣới dạng dòng bit nén của các đơn vị NAL, gửi tới bộ giải mã. Trong H.264/AVC, có hỗ trợ 5 kiểu mã hóa ảnh: đó là ảnh I, P, B, SP và SI. 2.1.3 Sơ đồ giải mã Ảnh Bù chuyển trước động đó Dự đoán Intra Ảnh cấu Lọc tách Biến Giải Sắp Giải mã trúc lại khối đổi lượng xếp Entropy ngược tử trật tự Hình II.5 Sơ đồ khối giải mã H.264/AVC Đầu tiên bộ giải mã Entropy nhận đƣợc các dòng bit nén từ NAL, một mặt sẽ giải mã Entropy để tách thông tin đầu mục và vector dự đoán chuyển động đƣa vào bù chuyển động, mặt khác các hệ số DCT đƣợc giải lƣợng tử và biến 38 đổi ngƣợc IDCT để biến tín hiệu từ miền tần số thành tín hiệu ở miền không gian, các hệ số biến đổi ngƣợc thu đƣợc sẽ cộng với tín hiệu dự đoán. Sau đó một phần đƣợc đƣa qua bộ lọc tách khối để loại bỏ hiện tƣợng nhiễu trƣớc khi đƣa vào lƣu trữ, phần còn lại đƣợc sử dụng cho mục đích dự đoán. 2.2 Khối nén thời gian Để truyền một bức ảnh động lên màn hình, thực chất máy phát hình sẽ truyền một chuỗi các ảnh tĩnh có tọa độ chênh lệch liên tiếp với tốc độ khá cao 30 ảnh/s đối với hệ NTSC và 25 ảnh/s đối với hệ PAL. Do cảm nhận của mắt ngƣời và hiện tƣợng lƣu ảnh trên võng mạc nên ta xem nhƣ nó đang chuyển động liên tục trên màn hình, do đó một frame tại thời điểm nhất định và các frame đứng trƣớc hay sau đó cơ bản là giống nhau, chỉ có khác nhau về tọa độ của phần tử chuyển động, dẫn đến sự dƣ thừa về mặt thời gian. Nén theo thời gian có nghĩa là bỏ qua phần thông tin giống nhau giữa các frame chỉ mã hóa phần thông tin sai khác, các phần tử chuyển động. 2.2.1 Dự đoán một chiều (mã hóa ảnh Prediction). Khi một đối tƣợng chuyển động chậm thì khoảng thay đổi tọa độ của 2 frame liên tiếp là nhỏ, không vƣợt ra ngoài vùng tìm kiếm và hệ thống sẽ sử dụng phƣơng pháp dự đoán thuận hay còn gọi là dự đoán một chiều để tạo ảnh P. Ảnh P chứa dữ liệu ảnh, vectơ chuyển động của ảnh hiện tại và ảnh trƣớc đó hoặc cả hai, ảnh P có thể sử dụng các ảnh I hoặc P ngay sát phía trƣớc nó để bù chuyển động và tiên đoán các ảnh tiếp theo nên ta có cấu trúc ảnh IPPPPIP Mỗi khối ảnh trong ảnh P có thể đƣợc mã theo kiểu tiên đoán hoặc mã một cách độc lập, do nó sử dụng nén theo không gian và thời gian nên hiệu quả nén cao hơn so với ảnh I. Ngoài các kiểu bù chuyển động trên, MB P có thể đƣợc mã hóa trong kiểu SKIP. Đối với kiểu mã hóa này, cả tín hiệu lỗi dự đoán lƣợng tử hóa lẫn vector chuyển động hoặc tham số đều không đƣợc truyền đi và kiểu mã hóa này rất có lợi trong việc mã hóa một bức ảnh lớn mà không có sự thay đổi chuyển động, chỉ tốn một vài bit để mã hóa. 39 Sơ đồ khối nguyên lý nén ảnh P. Aûnh döï ñoaùn P’ Ñaùnh giaù Döï ñoaùn Boä nhôù aûnh chuyeån ñoäng chuyeån ñoäng Hình II.6. Sơ đồ khối nguyên lý nén ảnh P 2.2.2 Dự đoán hai chiều( mã hóa ảnh Bidiriectional Prediction) Khi đối tƣợng chuyển động nhanh thì khoảng thay đổi tọa độ của 2 frame liên tiếp là lớn, vƣợt ra ngoài vùng tìm kiếm, không thể thực hiện dự đoán bù chuyển động từ các khung hình trƣớc đƣợc, khối điểm ảnh biểu diễn đối tƣợng chuyển động sẽ đƣợc mã hóa dạng ảnh I và sử dụng kỹ thuật bù chuyển động theo 2 hƣớng thời gian còn gọi là nội suy bù chuyển động. Trong kỹ thuật bù chuyển động theo 2 hƣớng, ảnh hiện tại sẽ đƣợc dự đoán dựa trên cơ sở thông tin về hình ảnh trƣớc đó và sau đó để tạo thành ảnh B, do đó hiệu quả nén sẽ cao nhất. Phƣơng pháp dự đoán 2 chiều này có ƣu điểm nổi bật là có thể dự đoán ngoài vùng tìm kiếm nhờ các khung hình tiếp theo mà phƣơng pháp dự đoán một chiều không thực hiện đƣợc, ngoài ra phƣơng pháp này còn cho tỷ số nén cao hơn, giảm nhiễu trong khung hình hiện tại bằng mức nhiễu trung bình của frame trƣớc và frame sau. Trong chuẩn MPEG-2 ảnh B không bao giờ đƣợc dùng để tham khảo khi dự đoán ảnh khác. Khi đó, mã hóa có chất lƣợng thấp có thể dùng nhiều ảnh B bởi các chi tiết mất mát không ảnh hƣởng đến ảnh dự đoán kế đó, còn trong H.264, có thể dùng ảnh B làm ảnh tham khảo hoặc không tùy thuộc vào bộ mã hóa. 40 2.2.3 Sơ đồ nguyên lý nén ảnh B. Aûnh döï ñoaùn P’ Aûnh tröôùc ñoù Ñaùnh giaù Döï ñoaùn chuyeån ñoäng chuyeån ñoäng Aûnh sau ñoù Hình II.7. Sơ đồ nguyên lý nén ảnh B 2.2.4 Bù chuyển động trong các slice B Trong Slice B, có 4 dạng dự đoán Inter khác nhau đƣợc hỗ trợ: dự đoán list 0, list 1, hai hƣớng và dự đoán trực tiếp. Phân vùng Mô tả kiểu dự đoán Trực tiếp, list 0, list 1, 2 16 x16 hƣớng 16 x 8 hoặc 8 x 16 List 0, list 1, 2 hƣớng Trực tiếp , list 0, list 1, 2 8 x 8 hƣớng + Dự đoán List 0: chỉ có ảnh tham khảo trƣớc đó đƣợc dùng để dự đoán, ảnh hiện tại đƣợc đánh chỉ số n, tiếp theo là những bức ảnh ở vị trí n-1, n-2,, tiếp theo là bức ảnh ở vị trí n+1, n+2,.. và chỉ một vector chuyển động duy nhất đƣợc truyền đi. Trong dự đoán list 0, tín hiệu dự đoán đƣợc tạo ra nhờ bù chuyển động ảnh khảo đầu tiên đã lƣu trong bộ nhớ đệm, còn ảnh tham khảo 41 thứ 2 đƣợc sử dụng cho việc xây dựng tín hiệu dự đoán nếu sử dụng dự đoán list 1. + Dự đoán List 1: chỉ có ảnh tham khảo sau đó đƣợc sử dụng để dự đoán, ảnh hiện tại đƣợc đánh chỉ số n, tiếp theo là những ảnh ở vị trí n+1, n+2, và tiếp theo là những ảnh ở vị trí n -1, n -2,.. và chỉ một vector chuyển động duy nhất đƣợc truyền đi. Ví dụ: Bộ giải mã H.264/AVC chứa 6 bức ảnh tham khảo với các thứ tự 123, 125, 126, 128, 129, 130. Bức ảnh hiện tại là 127, tất cả 6 bức ảnh tham khảo đƣợc đánh dấu nhƣ trong list 0 và list 1. Thứ tự của các bức ảnh nhƣ sau: Chỉ số List 0 List 1 0 126 128 1 125 129 2 123 130 3 128 126 4 129 125 5 130 123 + Dự đoán hai hƣớng: cả 2 ảnh tham khảo trƣớc và sau đều đƣợc sử dụng để dự đoán và 2 vector chuyển động đƣợc truyền đi, kết quả dự đoán đƣợc nội suy từ cả 2 giá trị tham khảo bằng trị trung bình trọng số của tín hiệu dự đoán bù chuyển động list 0 và list 1. Số lƣợng ảnh tham khảo đƣợc sử dụng tùy thuộc vào độ phức tạp của ảnh hiện tại, quá trình dự đoán hai hƣớng đƣợc minh họa nhƣ sau:. Hình II.7. Các mẫu dự đoán trong ảnh B 42 Dự đoán trực tiếp: Cả 2 ảnh tham khảo trƣớc và sau đều đƣợc sử dụng để dự đoán. Trong slice B hoặc phân vùng đƣợc mã hóa ở chế độ trực tiếp thì không cần truyền vector chuyển động của các ảnh trƣớc và sau, thay vì bộ giải mã phải tính toán vector dự đoán list 0 và list1 dựa vào những vector đƣợc mã hóa trƣớc đó thì chỉ việc sử dụng các vector đó để tiến hành bù chuyển động hai chiều cho các khối dữ liệu dƣ thừa. Loại MB SKIP trong slice B cũng đƣợc cấu trúc lại để dự đoán trực tiếp. Nguyên lý cơ sở của Mode trực tiếp Hình II.8. 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 Đối tƣợng video hiện tại trên hình II.8 là loại ảnh B1. Bộ giải mã đã biết trƣớc về VOP tham chiếu ngƣợc P3 và tổ chức các vector chuyển động của nó trƣớc khi VOP hiện tại đƣợc giải mã. Trong mode trực tiếp, những hiểu biết về các vector chuyển động này đƣợc sử dụng để lái các vector chuyển động trƣớc và sau cho việc dự đoán MB hiện tại. Hơn nữa, có sử dụng vector chuyển động của MB xắp xếp thứ tự (MB có cùng chỉ số chiều dọc và chiều ngang như MB trong hình vẽ) trong VOP P3 tham chiếu ngƣợc. Để lấy đƣợc các vector chuyển động của MB hiện tại thì vector chuyển động phải đƣợc phân cấp, tùy thuộc vào thời điểm của ảnh B giữa 2 VOP tham chiếu. Các hệ số phân cấp đƣợc tính toán từ thời gian khác nhau giữa 2 VOP tham chiếu và B-VOP hiện tại. Chúng đƣợc xác định nhƣ sau: 43  TRb = thời gian hiển thị (VOP hiện tại) - thời gian hiển thị (tham chiếu trƣớc)  TRd = thời gian hiển thị (tham chiếu ngƣợc) - thời gian hiển thị (tham chiếu trƣớc) Cùng lúc đó, vector chuyển động Delta (MVD) đƣợc cộng thêm vào. Tiếp theo quá trình này, các vector chuyển động B-VOP đƣợc xác định nhƣ sau:  MVF = TRb/TRd.MV + MVD  MVB = (TRb – TRd).MV + MVD Vậy đối với ví dụ trên thì ta có :  MVF = 1/3 MV + MVD  MVB = -2/3MV + MVD. Đối với bù chuyển động trong các B-VOP chỉ có thể sử dụng mode 1MV, có nghĩa là: chỉ một vector chuyển động duy nhất có thể đƣợc truyền đi cho một MB cho mỗi một hƣớng dự đoán. Nhƣng trong mode trực tiếp nếu MB tuần tự trong VOP tham chiếu ngƣợc đƣợc mã hoá với chế độ 4MV, với MB hiện tại trong mode trực tiếp thì 4 vector chuyển động đƣợc sử dụng cho 4 khối 8x8 tƣơng ứng của MB hiện tại trong B-VOP. Nếu MB hiện tại đƣợc mã hoá trong chế độ SKIP thì nó cũng là bù chuyển động sử dụng mode trực tiếp với vector chuyển động Delta zero nhƣng bỏ qua mã hoá sai số dự đoán. 2.2.5 Dự đoán liên ảnh (Inter-Frame) Nén liên ảnh chính là việc loại bỏ những thông tin giống nhau giữa các ảnh liên tiếp, chỉ mã hóa phần thông tin khác nhau giữa chúng, đây cũng là nội dung chính của khối nén theo thời gian. Dựa vào nguyên tắc đó, các bộ mã hoá sẽ quét lần lƣợt từng MB và phát hiện xem có sự thay đổi từ frame này sang frame khác hay không. Mặt khác, các bộ mã hoá còn tiên đoán sự xuất hiện của các MB khi biết vị trí và hƣớng chuyển động của nó. Do đó, chỉ những sự thay đổi giữa các khối mới đƣợc truyền đến phía thu. Bộ giải mã đã lƣu trữ sẵn những thông tin không thay đổi vào bộ nhớ đệm và khi khôi phục lại ảnh gốc thì chỉ việc điền một cách đều đặn vào các vị trí còn trống. Ví dụ hai frame liên tiếp trong chuỗi ảnh đƣợc minh họa nhƣ hình II.9. Trong đó frame 2 đƣợc dự đoán 44 từ frame 1, có sự giống nhau về ảnh nền, quyển sách, cây đàn,... phần sai khác giữa 2 bức ảnh là phần màu xám nổi rõ đƣợc minh họa nhƣ hình II.10, chỉ có phần sai khác này mới đƣợc biến đổi và truyền đi. Tuy nhiên năng lƣợng vẫn còn tập trung ở phần sai số dự đoán cụ thể là những vùng sáng tối, nên cần phải bù chuyển động để làm giảm bớt năng lƣợng này. Frame 1 Frame 2 Hình II.9. Hai bức ảnh liên tiếp trong chuỗi Video Hình II.10. Phần dư giữa frame 1 và frame 2 Sự sai khác giữa các bức ảnh trong chuỗi video thƣờng do sự chuyển động của VOP, sự khác nhau này chính là sự khác nhau về quỹ đạo vị trí của các pixel trong ảnh, việc dự đoán sẽ tạo ra một luồng thị giác hay nói cách khác sẽ tạo ra một mành hƣớng chuyển động của các vector đƣợc minh họa nhƣ hình II.11. 45 Hình II.11. Vector chuyển động H.264/AVC cho phép dự đoán bù chuyển động với 5 ảnh tham khảo và ngoài vector chuyển động ra các chỉ số ảnh tham khảo cũng đƣợc truyền đi nhƣ hình IV.10 nên việc khôi phục lại ảnh tham khảo có thể thực hiện dễ dàng và chất lƣợng ảnh nén cũng trung thực hơn. Hình II.12. Minh họa dự đoán liên khối của H.264/AVC. Sử dụng 5 Frame cho bù chuyển động Cả bộ mã hóa và bộ giải mã phải lƣu trữ các ảnh tham khảo đƣợc sử dụng cho dự đoán Inter trong bộ nhớ đệm đa ảnh. Bộ giải mã sẽ sao lại bộ nhớ đệm đa ảnh của bộ mã hóa, theo dạng nhớ đệm ảnh tham khảo và các hoạt động điều 46 khiển quản lý bộ nhớ bất kỳ đƣợc xác định trong dòng bit. Ngoại trừ kích thƣớc bộ nhớ đệm đa ảnh đƣợc đặt cho một ảnh, chỉ số bên trong bộ nhớ đệm đa ảnh phải đƣợc ký hiệu. 2.2.6 Mã hóa ảnh SP (switching P) và SI (switching I) Hai dạng ảnh SI, SP là một kiểu mã hóa đặc biệt của H.264/AVC cho phép 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 nhau. Các frame SP đƣợc lƣợng tử hóa trong miền biến đổi và đƣa vào dải biên độ thô hơn, cho phép mã hóa ở tốc độ bit thấp. Frame SP làm cho dự đoán bù chuyển động có thể khai thác tối đa dƣ thừa thời gian trong chuỗi ảnh tƣơng tự nhƣ ảnh P. Nhƣng frame SP có ƣu điểm hơn ảnh P là nó cho phép các frame đồng nhất có thể cấu trúc lại ngay cả khi chúng đƣợc dự đoán từ các ảnh tham khảo khác nhau. Vì thế frame SP có thể sử dụng thay thế cho các ảnh I trong các ứng dụng chuyển luồng, truy cập ngẫu nhiên, tiến, lùi, tăng cƣờng chống lỗi hay khôi phục lại. Các frame SI thƣờng kết nối cùng với frame SP nên rất có lợi trong trƣờng hợp dự đoán Inter bị lỗi truyền dẫn. Ví dụ: với cùng một video đƣợc mã hóa ở nhiều tốc độ bit khác nhau để truyền qua đƣờng Internet, bộ giải mã nhận đƣợc luồng có tốc độ bit cao có thể yêu cầu chuyển mạch tự động xuống tốc độ bit thấp hơn nếu dữ liệu bị lỗi. Nhƣ hình II.13. bộ giải mã đang giải mã luồng A và muốn chuyển sang giải mã luồng B. Để đơn giản, giả sử mỗi frame đƣợc mã hóa từng slice đơn từ một frame tham khảo trƣớc đó. Sau khi giải mã P slice A0, A1 bộ giải mã muốn chuyển sang giải mã silce B2, B3 trong luồng B. Nếu tất cả slice trong luồng B đƣợc mã hóa ở dạng P-slice, bộ giải mã sẽ không thể giải mã đúng ảnh tham khảo cần thiết để cấu trúc lại slice B2 (vì B2 đƣợc dự đoán từ B1). Giải pháp đƣa ra là, slice B2 sẽ đƣợc mã hóa dạng I (vì dạng I không cần ảnh tham khảo) do đó có thể thực hiện chuyển mạch giữa 2 luồng A và B. Việc chuyển mạch cần đƣợc điều tiết bằng cách chèn thêm slice mã hóa dạng I theo một chu kỳ 47 đều đặn để tạo ra điểm chuyển mạch hiệu quả. Tuy nhiên, ảnh I sẽ chứa nhiều dữ liệu mã hóa hơn ảnh P nên tốc độ bit mã hóa của mỗi điểm chuyển mạch sẽ lớn hơn. Hình II.13. Chuyeån maïch luoàng söû duïng slice I 2.3 Khối nén không gian Nén theo không gian hay còn gọi là nén tạo ảnh Intra, chỉ sử dụng thông tin trong bức ảnh hiện tại mà không có sự tham khảo ảnh khác, tức là mã hoá độc lập mà không cần thông tin phụ cho giải mã không cần tham khảo các ảnh khác, do đó hiệu quả nén chỉ phụ thuộc vào sự loại bỏ thông tin dƣ thừa về không gian nên sẽ không đƣợc hiệu quả lắm. Nhƣng ảnh I cho phép ngƣời xem chuyển đổi các kênh, cung cấp điểm truy cập ngẫu nhiên vào dòng bit nén và ngăn chặn sai số truyền. Ngoài ra ảnh I còn đƣợc dùng liên tục để tạo thành các điểm tựa cho dòng dữ liệu trong quá trình giải mã, cũng nhƣ đƣợc sử dụng làm điểm chuyển mạch trong quá trình phân cấp. Ảnh I chỉ dùng 2 bit/ pixel đƣợc mã hóa. 48 Sơ đồ khối mã hóa ảnh I Hình II.14. Sơ đồ khối mã hóa ảnh I 2.3.1 Chia ảnh thành các MacroBlock Một trong những ƣu điểm của chuẩn H.264/AVC là nó có thể phân chia thành các kích thƣớc nhỏ để mô tả chuyển động. Phân vùng của thành phần luma có các kích thƣớc mẫu nhƣ 16 x 16, 16 x 8, 8 x 16 và 8 x 8 phù hợp cho các chuyển động ở những khu vực giống nhau trong ảnh. Khi sử dụng khối 8x8, còn có thể phân chia thành 4 cỡ nhỏ hơn là 8x8, 8x4, 4x8 hoặc 4x4 rất thích hợp khi xử lý chuyển động tại chỗ có nhiều chi tiết, làm giảm hiện tƣợng vỡ khối và nâng cao chất lƣợng hình ảnh. Hình II.15. Phaân chia MB – Sub MB cho buø chuyeån ñoäng. 49 Cấu trúc dự đoán thời gian đƣợc mô tả nhƣ hình II.16 sau: Hình II.16. Chæ ra thöù töï saép xeáp cuûa caùc VOP Giải thích: ảnh I không sử dụng ảnh tham khảo và đƣợc mã hóa kiểu Intra đƣợc ký hiệu là Ix. Các ảnh P và ảnh B có sử dụng tham khảo, đƣợc ký hiệu là Px. Các mũi tên miêu tả hƣớng dự đoán. Khi sử dụng ảnh B làm ảnh tham khảo cho ảnh I và ảnh P, thì ảnh B sẽ đƣợc hiển thị sau đó với thời gian hiển thị riêng, các ảnh tham khảo đƣợc truyền đi trƣớc các ảnh B tƣơng ứng. Theo hình IV.14 thì thứ tự truyền là I0 P1 P3 B2 P5 B4 P7 B6. Bởi vì không có thông tin đƣợc truyền cho các ảnh B2 và P5 nên các ảnh B6 và P7 sẽ là ảnh tham khảo cho VOP P3 mà không ảnh hƣởng cấu trúc tham khảo. 2.3.2 Dự đoán trong ảnh (Intra-frame) Dự đoán Intra là kiểu dự đoán sử dụng các MB kế bên đã đƣợc mã hóa trong cùng một frame để tham khảo, nhằm khai thác sự tƣơng quan về không gian. Kiểu dự đoán Intra thì không đƣợc sử dụng cho dự đoán các đƣờng biên của slice để giữ tính độc lập giữa các slice. Đối với các chuẩn trƣớc đây việc dự đoán sẽ thực hiện trong miền biến đổi, còn ở H.264/AVC thì dự đoán đƣợc thực hiện trong miền không gian bằng việc tham khảo tới các mẫu bên cạnh của các khối đã đƣợc mã hóa. Trong H.264/AVC hỗ trợ các kiểu dự đoán INTRA 4 x 4, INTRA 8 x 8, INTRA 16 x 16 và kiểu dự đoán INTRA-PCM. 50 2.3.3 INTRA LUMA 4 x 4 Mỗi MB đƣợc chia thành 16 khối con 4x4, mỗi khối 4x4 đƣợc dự đoán không gian từ các khối bên cạnh. Để có thể dự đoán giá trị mẫu của khối 4x4 luma cần sử dụng 13 mẫu kế cận bao gồm 4 mẫu của khối kế cận bên trái, 4 mẫu của khối kế cận bên trên, 4 mẫu của khối kế cận đỉnh phải, và 1 mẫu của khối kế cận đỉnh trái. Mỗi khối 4x4 của thành phần luma có thể dùng 1 trong 9 kiểu dự đoán. Ngoài kiểu dự đoán DC, còn hỗ trợ 8 kiểu dự đoán định hƣớng sau: 1. Kiểu dự đoán DC Mẫu đƣợc nội suy từ giá trị trung bình của các mẫu bên cạnh LT | T0 T1 T2 T3 --------------------- L0 | a a a a L1 | a a a a L2 | a a a a L3 | a a a a Trong đó: Nếu bộ dự đoán ở đỉnh trên và phía bên trái thõa mãn thì: a = (T0 + T1 + T2 + T3 + L0 + L1 + L2 + L3) / 8 Nếu chỉ có bộ dự đoán ở đỉnh trên thõa mãn thì: a = (T0 + T1 + T2 + T3 + 2) / 4 Nếu chỉ có bộ dự đoán ở bên trái thõa mãn thì: a = (L0 + L1 + L2 + L3 + 2) / 4 hoặc a = 128 2. Kiểu dự đoán dọc (Vertical) Các mẫu ở bên dƣới sao chép lại các mẫu bên trên theo chiều dọc. LT | T0 T1 T2 T3 --------------------- L0 | T0 T1 T2 T3 L1 | T0 T1 T2 T3 51 L2 | T0 T1 T2 T3 L3 | T0 T1 T2 T3 3. Kiểu dự đoán ngang (Horizontal ) Các mẫu ở bên phải sao chép lại các mẫu bên phải theo chiều ngang. LT | T0 T1 T2 T3 --------------------- L0 | L0 L0 L0 L0 L1 | L1 L1 L1 L1 L2 | L2 L2 L2 L2 L3 | L3 L3 L3 L3 4. Kiểu dự đoán chéo xuống/trái (Diagonal Down/Left ) Các mẫu đƣợc nội suy theo góc 450 giữa giá trị bên trái ở trên và bên phải ở dƣới theo đƣờng chéo. LT | T0 T1 T2 T3 T4 T5 T6 T7 ------------------------------------- L0 | a b c d L1 | b c d e L2 | c d e f L3 | d e f g Trong đó: a = (T0 + 2*T1 + T2 + 2) / 4 b = (T1 + 2*T2 + T3 + 2) / 4 c = (T2 + 2*T3 + T4 + 2) / 4 d = (T3 + 2*T4 + T5 + 2) / 4 e = (T4 + 2*T5 + T6 + 2) / 4 f = (T5 + 2*T6 + T7 + 2) / 4 g = (T6 + 3*T7 + 2) / 4 5. Kiểu dự đoán chéo xuống/phải (Diagonal Down/Right) Các mẫu đƣợc ngoại suy theo góc 450 từ trên xuống, từ trái qua phải. LT | T0 T1 T2 T3 52 --------------------- L0 | d e f g L1 | c d e f L2 | b c d e L3 | a b c d Trong đó: a = (L3 + 2*L2 + L1 + 2) / 4 b = (L2 + 2*L1 + L0 + 2) / 4 c = (L1 + 2*L0 + LT + 2) / 4 d = (L0 + 2*LT + T0 + 2) / 4 e = (LT + 2*T0 + T1 + 2) / 4 f = (T0 + 2*T1 + T2 + 2) / 4 g = (T1 + 2*T2 + T3 + 2) / 4 6. Kiểu dự đoán dọc/phải (Vertical/Right) Các mẫu đƣợc ngoại suy theo góc xấp xỉ 26.60 từ phải sang trái theo chiều dọc LT | T0 T1 T2 T3 --------------------- L0 | a b c d L1 | e f g h L2 | i a b c L3 | j e f g Trong đó: a = (LT + T0 + 1) / 2 b = (T0 + T1 + 1) / 2 c = (T1 + T2 + 1) / 2 d = (T2 + T3 + 1) / 2 e = (L0 + 2*LT + T0 + 2) / 4 f = (LT + 2*T0 + T1 + 2) / 4 g = (T0 + 2*T1 + T2 + 2) / 4 53 h = (T1 + 2*T2 + T3 + 2) / 4 i = (LT + 2*L0 + L1 + 2) / 4 j = (L0 + 2*L1 + L2 + 2) / 4 7. Kiểu dự đoán dọc/ trái (Vertical/Left) Các mẫu đƣợc ngoại suy theo góc xấp xỉ 26.60 từ trái sang phải theo chiều dọc LT | T0 T1 T2 T3 T4 T5 T6 T7 ------------------------------------- L0 | a b c d L1 | f g h i L2 | b c d e L3 | g h i j Trong đó: a = (T0 + T1 + 1) / 2 b = (T1 + T2 + 1) / 2 c = (T2 + T3 + 1) / 2 d = (T3 + T4 + 1) / 2 e = (T4 + T5 + 1) / 2 f = (T0 + 2*T1 + T2 + 2) / 4 g = (T1 + 2*T2 + T3 + 2) / 4 h = (T2 + 2*T3 + T4 + 2) / 4 i = (T3 + 2*T4 + T5 + 2) / 4 j = (T4 + 2*T5 + T6 + 2) / 4 8. Kiểu dự đoán ngang/xuống (Horizontal/Down) Các mẫu đƣợc ngoại suy theo góc xấp xỉ 26.60 từ trên xuống theo chiều ngang LT | T0 T1 T2 T3 --------------------- L0 | a b c d L1 | e f a b 54 L2 | g h e f L3 | i j g h Trong đó: a = (LT + L0 + 1) / 2 b = (L0 + 2*LT + T0 + 2) / 4 c = (LT + 2*T0 + T1 + 2) / 4 d = (T0 + 2*T1 + T2 + 2) / 4 e = (L0 + L1 + 1) / 2 f = (LT + 2*L0 + L1 + 2) / 4 g = (L1 + L2 + 1) / 2 h = (L0 + 2*L1 + L2 + 2) / 4 g = (L2 + L3 + 1) / 2 j = (L1 + 2*L2 + L3 + 2) / 4 9. Kiểu dự đoán ngang/lên (Horizontal/Up) Các mẫu đƣợc nội suy theo góc xấp xỉ 26.60 từ dƣới lên theo chiều ngang LT | T0 T1 T2 T3 --------------------- L0 | a b c d L1 | c d e f L2 | e f g g L3 | g g g g Trong đó: a = (L0 + L1 + 1) / 2 b = (L0 + 2*L1 + L2 + 2) / 4 c = (L1 + L2 + 1) / 2 d = (L1 + 2*L2 + L3 + 2) / 4 e = (L2 + L3 + 1) / 2 f = (L2 + 2*L3 + L3 + 2) / 4 g = L3 2.3.4 INTRA LUMA 16 x 16 55 Chỉ 1 kiểu dự đoán đƣợc áp dụng cho toàn bộ MB thích hợp cho những miền ảnh trơn tru, phẳng đều. Bốn kiểu dự đoán đƣợc hỗ trợ là: chiều ngang, chiều thẳng đứng, dự đoán DC và dự đoán mặt phẳng. Trong kiểu dự đoán mặt phẳng sử dụng phƣơng trình đƣờng cong 3 thông số để dự đoán độ luma, độ dốc theo chiều ngang, chiều thẳng đứng cho phù hợp với các điểm ảnh bên cạnh, và kiểu dự đoán này có hiệu quả rất cao trong vùng có thành phần luma ít thay đổi. Để có thể dự đoán giá trị mẫu của khối luma 16x16 cần sử dụng 33 mẫu kế cận bao gồm 16 mẫu của khối kế cận bên trái, 16 mẫu của khối kế cận bên trên và 1 mẫu của khối kế cận đỉnh trái. 1. Kiểu dự đoán DC Sử dụng 16 bộ dự đoán (T0..T15) và 16 bộ dự đoán bên trái (L0..L15), cài tất cả 256 giá trị về giá tri trung bình, theo công thức sau: Nếu bộ dự đoán bên trái và đỉnh trên thõa mãn thì: mean = (sum(T0..T15) + sum(L0..L15) + 16) / 32 Nếu bộ dự đoán đỉnh trên thõa mãn thì: mean = (sum(T0..T15) + 8) / 16 Nếu bộ dự đoán bên trái thõa mãn thì: mean = (sum(L0..L15) + 8) / 16 Hoặc mean = 128 2. Kiểu dự đoán nằm dọc (Vertical) Ngoại suy từ các mẫu bên theo chiều dọc LT | T0 T1 T2 T3 T4 .. T15 ----------------------------- .. ----- L0 | T0 T1 T2 T3 T4 .. T15 L1 | T0 T1 T2 T3 T4 .. T15 L2 | T0 T1 T2 T3 T4 .. T15 ........ L15 | T0 T1 T2 T3 T4 .. T15 56 3. Kiểu dự đoán nằm ngang (Horizontal) Ngoại suy từ các mẫu trái theo chiều ngang LT | T0 T1 T2 T3 T4 .. T15 --------------------------- .. ----- L0 | L0 L0 L0 L0 L0 .. L0 L1 | L1 L1 L1 L1 L1 .. L1 L2 | L2 L2 L2 L2 L2 .. L2 ...... L15 | L15 L15 L15 L15 L15 .. L15 4. Kiểu dự đoán mặt phẳng Plane Cho 16 bộ dự đoán đỉnh trên (T0..T15), 16 bộ dự đoán bên trái (L0..L15) và 1 bộ dự đoán ở góc đỉnh trái (LT) sắp xếp nhƣ sau: LT | T0 T1 T2 .. T15 ------------------------------------- .. -------- L0 | c[ 0, 0] c[ 1, 0] c[ 2, 0] .. c[15, 0] L1 | c[ 0, 1] c[ 1, 1] c[ 2, 1] .. c[15, 1] ...... L15 | c[ 0,15] c[ 1,15] c[ 2,15] .. c[15,15] 2.3.5 INTRA CHROMA 8x8 Dự đoán cho thành phần chroma đƣợc thực hiện một lần cho toàn bộ MB, 64 giá trị mẫu chroma sử dụng các kiểu dự đoán giống nhƣ dự đoán Intra 16x16 cho thành phần Luna: Dự đoán theo chiều ngang, dự đoán theo chiều đứng, dự đoán DC, dự đoán mặt phẳng. 2.3.6 INTRA-PCM Là một MB 16x16, chứa một mặt phẳng các thành phần luma và chroma chƣa nén. Làm cho bộ mã hóa xử lý đơn giản hơn bằng cách xử lý mã hóa và biến đổi thay vì phải gửi trực tiếp mẫu các giá trị mã hóa. Và kiểu dự đoán I-PCM còn có một số lợi ích sau:  Cho phép mã hóa chính xác ký tự đại diện của giá trị mẫu. 57  Cung cấp giá trị đúng cho những bức ảnh có nội dung bất thƣờng mà không cần mở rộng dữ liệu quan trọng.  Cho phép đặt giới hạn số lƣợng bit điều khiển MB mà không ảnh hƣởng đến hiệu suất nén. 2.3.7 Dự đoán trọng số Là một phƣơng pháp điều chỉnh mẫu cho bù chuyển động dữ liệu trong MB P hoặc MB B rất thích hợp cho mã hóa mặt ngƣời hoặc mã hóa chuyển động. Có 3 loại dự đoán trọng số nhƣ sau: 1. P slice macroblock, dự đoán trọng số “hiện thị” (explicit) 2. B slice macroblock, dự đoán trọng số “hiện thị” (explicit). 3. B slice macroblock, dự đoán trọng số “ẩn” (implicit). Mỗi mẫu dự đoán pred0(i, j) hoặc pred1(i, j) đƣợc co dãn bởi trọng số thống kê W0 hoặc W1 trong dự đoán bù chuyển động trƣớc đó. Ở loại “hiện” thì trọng số thống kê đƣợc xác định bởi bộ mã hóa và truyền đi ở Slice header. Nếu sử dụng loại “ẩn” thì trọng số thống kê W0, W1 đƣợc tính toán dựa vào mối quan hệ vị trí thời gian của list 0 và list1 trong ảnh tham khảo. Giá trị trọng số thống kê lớn nếu ảnh tham khảo gần giống với ảnh hiện tại và giá trị trọng số thống kê nhỏ nếu ảnh tham khảo khác với ảnh hiện tại. Một số ứng dụng cho phép cả 2 hàm ẩn và hiện điều khiển sự liên quan của ảnh tham khảo đối với quá trình bù chuyển động, dự đoán trọng số có hiệu quả đặc biệt trong mã hóa các hiệu ứng mờ dần nhƣ minh họa ở hình II.17. 58 KẾT LUẬN Việc nén video (ảnh) trong Hội nghị truyền hình có vai trò rất quan trọng và có rất nhiều chuẩn, kỹ thuật nén video có thể áp dụng và triển khai. Thuật toán Bù trừ chuyển động là một bước trong nén video hiện đại (H.264), bao gồm đánh giá chuyển động (Motion Estimation - ME), bù trừ chuyển động (Motion Compensation - MC), mã hóa biến đổi (transform coding) và mã hóa entropy. Các chuẩn mã hóa video ngày nay ít nhiều đều thực hiện các quá trình này, bắt đầu từ MPEG-2, đến MPEG-4/Visual, H.263, H.264/MPEG-4 AVC,... Việc sử dụng chuẩn nén MPEG – 4 H.264/AVC và hội nghị truyền hình là đúng đắn và kịp thời, việc này sẽ được chứng minh thông qua việc xây dựng chương trình mô phỏng trong chương 3. 59 CHƢƠNG III. CHƢƠNG TRÌNH THỬ NGHIỆM 3.1 Phân tích yêu cầu 3.1.1 Nén – giải nén của H.264/AVC Để có thể truyền trong các môi trƣờng khác nhau đƣợc hiệu quả, sự tích hợp các giao thức và cấu trúc mạng là rất quan trọng. H.264/AVC có sự phân biệt giữa đặc tính mã hóa và truyền tải của 2 lớp VCL và NAL nhƣ hình III.1. mang lại hiệu quả cao trong môi trƣờng mạng khắc nghiệt. Video Coding Layer Control Data Data Partitioning Network Abstraction Layer (H.320, MP4FF,H.323/IP,MPEG2) Hình III.1. Cấu trúc dòng bit H.264 Ngoài ra trong H.264/AVC còn hỗ trợ ảnh IDR, ảnh này đƣợc tạo ra từ ảnh I hoặc ảnh SP nhằm xóa nội dung vùng nhớ đệm ảnh tham khảo hay nói cách khác là làm tƣơi bộ nhớ. Khi nhận đƣợc ảnh IDR thì bộ giải mã sẽ đánh dấu tất cả các bức ảnh trong bộ đệm là “không sử dụng cho tham khảo”. Tất cả các chuỗi con có các slice đƣợc truyền đi có thể giải mã mà không cần bất kỳ một ảnh tham khảo nào trƣớc ảnh IDR. Cấu trúc của một dòng bit H.264/AVC minh họa nhƣ hình sau .NAL NAL NAL RBSP RBSP RBSP header header header Hình III.2. Cấu trúc dòng bit. 60 Lớp trừu tượng mạng NAL Tất cả dữ liệu đƣợc chứa trong các khối NAL, mỗi khối chứa một số nguyên byte xác định định dạng chung cho cả hệ thống định hƣớng gói (packet - oriented) và hệ thống định hƣớng dòng bit (bitstream), ngoại trừ mỗi khối NAL trong lớp truyền tải định hƣớng dòng bit có thể có một tiền tố mã hóa ở trƣớc, và có thể là một trong 2 định dạng sau: định dạng theo từng đơn vị NAL hoặc theo từng byte.  Định dạng theo từng đơn vị NAL là một kiểu định dạng cơ bản, bao gồm các chuỗi cấu trúc cú pháp NAL đƣợc sắp xếp để giải mã.  Định dạng theo từng byte có thể đƣợc xây dựng lại từ cấu trúc của NAL bằng cách xắp xếp các đơn vị NAL trong quá trình giải mã và thêm vào một tiền tố mã bắt đầu cho mỗi NAL. Một chuỗi video H.264 bao gồm một chuỗi các đơn vị NAL, mỗi đơn vị NAL sẽ chứa các thành phần RBSP nhƣ bảng 1, RBSP là một tập hợp dữ liệu tƣơng ứng với dữ liệu video đƣợc mã hóa hay thông tin đầu mục, ví dụ một chuỗi các đơn vị RBSP nhƣ hình IV.37, trong đó các đơ

Các file đính kèm theo tài liệu này:

  • pdfluan_van_cach_nen_video_trong_he_thong_hoi_nghi_truyen_hinh.pdf
Tài liệu liên quan