1. Trang chủ
  2. » Luận Văn - Báo Cáo

Các kỹ thuật nén dữ liệu

80 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

LỜI CẢM ƠN Đầu tiên cho phép đƣợc gửi lời cảm ơn chân thành tới PGS.TS Phạm Ngọc Nam Thầy trực tiếp hƣớng dẫn khoa học, bảo tận tình tạo điều kiện tốt giúp tơi suốt q trình nghiên cứu hồn thiện luận văn Để đạt đƣợc thành công học tập hồn thành luận văn tơi xin bày tỏ lịng biết ơn tới thầy cô Viện Điện tử Viễn thông – Đại học Bách Khoa Hà Nội, cảm ơn bạn tập thể lớp 11BKTĐT.KH chia sẻ, động viên giúp đỡ thời gian học tập Cuối cùng, tơi xin bày tỏ lịng biết ơn sâu sắc, tình yêu thƣơng tới gia đình ngƣời thân – nguồn động viên quan trọng vật chất tinh thần giúp tơi vƣợt qua khó khăn để hồn thành khóa học Hà Nội, ngày tháng Học viên Vũ Huy Thế năm 2013 LỜI CAM ĐOAN Với mục đích học tập, nghiên cứu nâng cao trình độ chuyên môn nên thực đề tài luận văn cách nghiêm túc hoàn toàn trung thực Trong luận văn, tơi có sử dụng tài liệu tham khảo số tác giả mà tơi có nêu danh mục tài liệu tham khảo cuối luận văn Tôi xin cam đoan chịu trách nhiệm nội dung, trung thực luận văn tốt nghiệp Thạc sĩ Hà Nội, ngày tháng năm 2013 Học viên Vũ Huy Thế MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH MỞ ĐẦU 10 CHƢƠNG I TỔNG QUAN VỀ NÉN DỮ LIỆU 12 1.1 Tổng quan nén liệu 12 1.2 Các kỹ thuật nén liệu 13 1.2.1 Nén không tổn hao (Lossless Compression) 13 1.2.2 Nén tổn hao (Lossy Compression) 13 1.3 Một số khái niệm nén liệu 14 1.3.1 Tỷ số nén 14 1.3.2 Độ dƣ thừa liệu 14 1.3.3 Độ dài trung bình từ mã 15 1.3.4 Các yếu tố kỹ thuật nén liệu 16 1.4 Kỹ thuật nén liệu 16 1.4.1 Tổng quan 16 1.4.2 Mô hình 17 1.4.3 Mã hóa 20 CHƢƠNG II CẤU TRÚC FPGA 26 2.1 Tổng quan FPGA 26 2.1.1 Giới thiệu công nghệ mạch tổ hợp FPGA 26 2.1.2 Kiến trúc FPGA 27 2.1.3 Các bƣớc thiết kế hệ thống nhúng FPGA Xilinx 30 2.1.4 Phần mềm thiết kế hệ thống nhúng 32 2.2 Cấu trúc bitstream 35 2.3 Cấu hình phần 36 2.3.1 Giới thiệu cấu hình phần .36 2.3.2 Quy trình cấu hình phần cho FPGA Xilinx .38 CHƢƠNG III CÁC THUẬT TOÁN NÉN BITSTREAM 40 3.1 Giới thiệu 40 3.1 Nén Bitmask 41 3.2 Thuật toán nén bitstream sử dụng mã Run Length 47 3.3 Thuật toán nén bitstream sử dụng mã Huffman 48 3.4 Nén dựa Lempel-Ziv 49 3.5 Nén Wildcarded (Wildcarded Compression) 52 3.6 Mã hóa số học (Arithmetic coding) 54 3.7 Nén bitstream BCuPR 55 3.7.1 Tổng quan BCuPR .55 3.7.2 Nén bitstream BCuPR .57 CHƢƠNG IV ĐÁNH GIÁ THUẬT TOÁN NÉN BITSTREAM SỬ DỤNG RLE 60 4.1 Tổng quan hệ thống đánh giá 60 4.2 Xây dựng, cài đặt chƣơng trình nén RLE máy tính 61 4.2.1 Chƣơng trình nén 61 4.2.2 Cài đặt đánh giá chƣơng trình .65 4.3 Xây dựng, cài đặt chƣơng trình giải nén KIT FPGA 66 4.31 Sơ đồ khối hệ thống giải nén 66 4.3.2 Xây dựng, cấu hình phần cứng 68 4.3.3 Xây dựng chƣơng trình giải nén .70 KẾT LUẬN 74 TÀI LIỆU THAM KHẢO 76 PHỤ LỤC 77 DANH MỤC CÁC CHỮ VIẾT TẮT Từ viết tắt FPGA Từ đầy đủ Ý nghĩa Field-Programmable Gate Array Vi mạch tích hợp mảng cổng lập trình đƣợc IP-core Là lõi thiết kế nhà Intellectual Property-core sản xuất bên thứ ba cung cấp, thƣờng ngƣời dùng phải trả tiền BCuPR Bitstream Compression using Partial Kỹ thuật nén bitstream sử dụng cấu hình phần Reconfiguration FPGA FDR Thanh ghi đầu vào khung Frame Data input Register liệu FPGA MFW Multipe Frame Write Ghi đa khung PR Partial Reconfiguration Cấu hình phần CLB Configurable Logic Block Khối logic cấu hình Đây phần tử FPGA HDL Hardware Description Language Ngôn ngữ mô tả phần cứng DANH MỤC CÁC BẢNG Bảng 2.1: Bảng mô tả File đầu vào/ trình cấu hình phần 38 Bảng 3.1: Chi phí kèm theo sử dụng bitmask .45 Bảng 4.1: Mô tả thiết kế giao diện chƣơng trình nén 64 Bảng 4.2: Thời gian giải nén KIT 72 DANH MỤC CÁC HÌNH Hình 1.1: Cấu trúc nén không tổn hao 17 Hình 1.2: Mã hố theo mơ hình thống kê thích ứng [2] 19 Hình 1.3: Giải mã theo mơ hình thống kê thích ứng [2] 19 Hình 2.1: Cấu trúc FPGA 27 Hình 2.2: Cấu trúc Slice 28 Hình 2.3: Minh họa bảng LUT 28 Hình 2.4: Minh họa Flip-Flop 29 Hình 2.5: Các bƣớc thiết kế hệ nhúng FPGA hãng Xilinx 30 Hình 2.6: Cơng cụ tổng hợp mạch ISE Project Navigator 33 Hình 2.7: Nhập đầu vào thiết kế FPGA 33 Hình 2.8: Xây dựng phần cứng hệ thống nhúng 34 Hình 2.9: Tạo nhập khối chức vào hệ thống nhúng 34 Hình 2.10: Phát triển phần mềm cho hệ thống nhúng 35 Hình 2.11: Tiền đề cấu hình phần 37 Hình 2.12: Sơ đồ trình thực cấu hình phần cho FPGA [7] 38 Hình 3.1: Định dạng cho kỹ thuật nén dựa từ điển 42 Hình 3.2: Ví dụ nén từ điển 42 Hình 3.3: Ví dụ nén dựa bitmask 43 Hình 3.4: Định dạng nén bitsmask 43 Hình 3.5: Sơ đồ khối giải nén bitmask 46 Hình 3.6: Một ví dụ nén sử dụng RLE 48 Hình 3.7: Ví dụ nén cửa sổ trƣợt LZ77 50 Hình 3.8: Mơ hình phần cứng cho nén LZ77 52 Hình 3.9: Ví dụ nén liên khung cách sử dụng FDR cố thể lập địa 53 Hình 3.10: Hình ảnh tổng quan nén Bitstream sử dụng cấu hình lại phần 55 Hình 3.11: So sánh hai trình tự ghi 58 Hình 4.1: Sơ đồ khối hệ thống 60 Hình 4.2: Lƣu đồ chƣơng trình nén RLE máy tính 62 Hình 4.3: Lƣu đồ thuật toán RLE 63 Hình 4.4: Giao diện chƣơng trình nén máy tính 64 Hình 4.5: Mối quan hệ tỉ số nén với file bitstream kích thƣớc khác 65 Hình 4.6: Mối quan hệ tỉ số nén số lƣợng bít mẫu 66 Hình 4.7: Sơ đồ khối hệ thống giải nén 67 Hình 4.8: Tạo dự án XPS 68 Hình 4.9: Chọn thiết bị 68 Hình 4.10: Các ngoại vi Vi xử lý lõi mềm 69 Hình 4.11: Giao diện bus phần cứng tạo 69 Hình 4.12: Hệ thống phần cứng giải nén 70 Hình 4.13: Mơi trƣờng làm việc Xilinx SDK 70 Hình 4.14: Thuật tốn chƣơng trình giải nén 71 Hình 4.15: Nạp chƣơng trình xuống KIT FPGA 71 Hình 4.16: Một kết thực chƣơng trình 72 Hình 4.17: Biểu đồ kết giải nén KIT FPGA 73 MỞ ĐẦU Trong năm gần đây, Field-Programmable Gate Array (FPGA) đƣợc sử dụng rộng rãi hệ thống cấu hình lại FGPA đƣợc cấu hình nhờ bitstream đƣợc tải lên từ nhớ Việc quan trọng nén bitstream sử dụng nhớ, tăng tốc độ cấu hình hệ thống Nó cải thiện băng thơng giảm thời gian cấu hình Phần lớn kỹ thuật nén tập trung vào khai thác dƣ thừa để nén nhiều bitstream nhƣng chúng không tƣơng thích với việc giải nén thời gian thực Các kỹ thuật khác tập trung vào giải nén nhƣng có thỏa hiệp hiệu nén Đó thách thức lớn việc thiết kế kỹ thuật nén có hiệu việc giảm kích thƣớc, giữ đƣợc chi phí cho giải nén nhỏ FPGA chứa thơng tin cấu hình nhớ, nhớ thƣờng bị giới hạn dung lƣợng băng thông Bộ nhớ lƣu trữ thông tin cấu hình trở thành hệ số việc xác định số lõi IP (Intellectual Property Core) mà hệ thống đƣợc cấu hình độ trễ việc cấu hình lại Các thuật tốn nén bitstream giải vấn đề nhớ cách giảm kích thƣớc bitstream tăng tốc độ giải nén việc tăng tốc độ giải mã thông qua giải mã logic đơn giản Các phần cứng giải nén giải mã truyền bits giải nén tới CLB (Configurable Logic Block) FPGA Xuất phát từ vấn đề nêu trên, chọn thực đề tài “Nghiên cứu thuật toán nén bitstream FPGA” Với mong muốn đƣa gợi ý thuật tốn nén bitstream tốt, từ làm giảm chi phí tăng hiệu sử dụng FPGA Bố cục luận văn bao gồm chƣơng sau:  Chƣơng I Tổng quan nén liệu o Trình bày tổng quan nén liệu, khái niệm nén liệu, phân loại nén liệu, loại mã nén liệu thƣờng dùng Qua hiểu thêm vai trò chức tốn nén liệu 10 Hình 4.6: Mối quan hệ tỉ số nén số lượng bít mẫu Qua biểu đồ hình 4.6, ta thấy với file bitstream đầu vào tỉ số nén có xu hƣớng tăng lên mà số bít mẫu tăng Điều đƣợc lý giải nhƣ sau: số lƣợng bít mẫu tăng số lƣợng ký tự lặp liên tiếp lƣu trữ đƣợc tăng kích thƣớc nhớ cần lƣu trữ giá trị tăng Tuy nhiên, thực tế số lƣợng ký tự lặp lại liên tiếp không nhiều đến nhƣ Chính lý mà tỉ số nén có xu hƣớng tăng lên mà số lƣợng bít mẫu tăng 4.3 Xây dựng, cài đặt chƣơng trình giải nén KIT FPGA 4.31 Sơ đồ khối hệ thống giải nén Hệ thống phần cứng đƣợc thực hệ nhúng FPGA Sơ đồ khối hệ thống giải nén nhƣ sau: 66 Computer UART Recofigurable Hardware MicroBlaze FPGA DRAM Hardware Flatform Hình 4.7: Sơ đồ khối hệ thống giải nén  Phân tích sơ đồ khối Hình 4.7  Khối Hardware Flatform: sử dụng Virtex 6- FPGA ML605 Evaluation Kit hãng Xilinx  Khối FPGA: chip Virtex 6-xc6vlx240t hãng Xilinx Trong chip FPGA đƣợc tạo vi xử lý lõi mềm đơn nhân với tần số xung nhịp 100 Mhz Chip vi xử lý lõi mềm giao tiếp với máy tính thơng qua khối UART, điều khiển truyền thông nối tiếp bất động theo giao thức RS232 Thuật toán đƣợc cài đặt giải nén chip lõi mềm này, sau giải nén xong, bitstream ban đầu đƣợc khôi phục đƣợc đƣa qua khối cấu hình (Reconfigurable Hardware) để thực cấu hình  Khối DRAM: Trong hệ thống đƣợc xây dựng, khối chứa chƣơng trình giải nén, liệu bitstream nén từ máy tính gửi xuống liệu giải nén Trên thực tế, khối DRAM đƣợc thay chip nhớ để chứa bitstream đƣợc nén Còn liệu sau giải nén đƣợc đƣa thẳng sang khối cấu hình 67 4.3.2 Xây dựng, cấu hình phần cứng Cơng cụ đƣợc sử dụng để tạo Vi xử lý lõi mềm thành phần khác phần cứng giải nén Xilinx Platform Studio (EDK_P.15xf) Hình 4.8: Tạo dự án XPS Loại bus sử dụng để kết nối thành phần AXI, hệ bus có nhiều ƣu điểm so với PLB Hình 4.9: Chọn thiết bị Sử dụng kit Virtex-6 ML605 Evaluation Flatform hãng Xilinx Tần số xung nhịp mặc định 200Mhz 68 Hình 4.10: Các ngoại vi Vi xử lý lõi mềm Chip vi xử lý lõi mềm MicroBlaze có tần số xung nhịp 100 Mhz, với ngoại vi bản:  DDR3_SDRAM: để chứa chƣơng trình giải nén, bitstream đƣợc nén, bitstream giải nén  RS232_Uart_1: Dùng để giao tiếp với MicroBlaze với máy tính  Axi_timer_0: Dùng để tính thời gian thực giải nén Với tần số xung nhịp vào 100Mhz, sử dụng ghi 32bits Hình 4.11: Giao diện bus phần cứng tạo 69 Hình 4.12: Hệ thống phần cứng giải nén 4.3.3 Xây dựng chương trình giải nén Sau thiết kế phần cứng nhúng FPGA, để hệ thống làm việc đƣợc ta phải viết chƣơng trình, cài đặt thuật toán lên chip MicroBlaze để xử lý Cơng cụ đƣợc sử dụng để cài đặt chƣơng trình Xilinx SDK (Xilinx Software Development Kit) Hình 4.13: Mơi trường làm việc Xilinx SDK 70 Ngôn ngữ đƣợc sử dụng để viết chƣơng trình giải nén ngơn ngữ C Với thuật tốn chƣơng trình giải nén nhƣ sau: Bắt đầu Đọc bitstream nén Khởi tạo, bật timer Giải nén Tắt timer tính thời gian giải nén Kết thúc Hình 4.14: Thuật tốn chương trình giải nén Sau viết chƣơng trình, biên dịch, để chạy đƣợc chƣơng trình ta phải download dự án xuống KIT để tiến hành chạy Hình 4.15: Nạp chương trình xuống KIT FPGA 71 Sau nạp chƣơng trình xuống phần cứng thực tế Ta tiến hành chạy chƣơng trình phần cứng thực tế Sau hình ảnh việc chạy thử chƣơng trình giải nén phần cứng thực tế Hình 4.16: Một kết thực chương trình 3.3.2.4 Kết quả, đánh giá chƣơng trình giải nén Thuật toán giải nén đƣợc cài đặt chạy thành cơng KIT FPGA Thuật tốn đƣợc thực giải nén bitstream có kích thƣớc khác nhau, tính thời gian giải nén Kết nhƣ Bảng 4.2: Bảng 4.2: Thời gian giải nén KIT Dung lƣợng bitstream gốc (KB) 72 278 469 1450 9017 Kết đƣợc thể qua đồ sau: 72 Thời gian giải (s) 3.125 8.981 11.232 44.934 119.587 Hình 4.17: Biểu đồ kết giải nén KIT FPGA Hình 4.17 thể mối quan hệ thời gian giải nén bitstream có kích thƣớc khác Chúng ta thấy với bitstream có kích thƣớc tăng thời gian giải nén tăng Thời gian thực giải nén lớn Nhƣ vậy, việc thực giải nén hệ nhúng FPGA phù hợp với toán mà yêu cầu giới hạn dung lƣợng băng thông nhớ chứa thơng tin cấu hình Kết luận Thuật toán RLE cung cấp giải pháp nén bitstream tốt So với kỹ thuật nén bitstream khác thuật tốn cho tỉ số nén thấp Kỹ thuật nén kết hợp với khả cấu hình phần FPGA đem đến giải pháp hiệu việc giảm dung lƣợng băng thông nhớ yêu cầu Phần thực giải nén đƣợc thực phần mềm nhúng sử dụng vi xử lý lõi mềm MicroBlaze nên thời gian thực giải nén cao Nhƣ vậy, việc thực giải nén RLE hệ nhúng FPGA phù hợp với toán mà giới hạn dung lƣợng băng thông nhớ chứa thông tin cấu hình Việc đƣợc khắc phục cách tăng tốc độ, số lõi MicroBlaze, thiết kế phần cứng giải nén theo thuật toán RLE 73 KẾT LUẬN  Kết đạt đƣợc đề tài Sau thời gian nghiên cứu thực hiện, đề tài hoàn thành đƣợc nhiệm vụ ban đầu đặt ra, với kết đạt đƣợc nhƣ sau: Thứ nhất, đề tài trình bày đƣợc kiến thức tổng quan vấn đề:  Nén liệu số khái niệm  Mơ hình tổng quan kỹ thuật nén liệu Thứ hai, với sở lý thuyết đề tài đƣa thuật toán nén bitstream:  Cấu trúc bitstream  Quá trình thực cấu hình FPGA  Trình bày thuật tốn nén bitstream đƣợc đề xuất tác giả giới Mặt khác, dựa sở phân tích cấu trúc bitstream thuật toán, đề tài xây dựng đƣợc cơng cụ để đánh giá thuật tốn nén RLE:  Xây dựng sơ đồ khối hệ thống, nhƣ sơ đồ hoạt động mong muốn thực tế  Xây dựng, cài đặt, đánh giá đƣợc chƣơng trình nén bitstream máy tính  Xây dựng, cài đặt, đánh giá đƣợc chƣơng trình giải nén FPGA Với kết thực nghiệm thu đƣợc đề tài phản ánh trung thực với phần sở lý thuyết đƣợc tìm hiểu trình bày  Ƣu nhƣợc điểm đề tài  Ƣu điểm: o Cung cấp đƣợc nhìn tổng quan thuật tốn nén bitstream o Trình bày đƣợc mơ hình ứng dụng nén bitstream tốn thực tế 74 o Xây dựng, cài đặt, đánh giá đƣợc thuật toán nén bitstream sử dụng mã RLE  Nhƣợc điểm: o Thời gian giải nén sử dụng hệ nhúng FPGA cao  Định hƣớng phát triển Về bản, việc cài đặt đánh giá thuật tốn nén bitstream sử dụng mã RLE thành cơng, tỉ số nén đạt đƣợc tốt Tuy nhiên, thời gian giải nén phần cứng thực tế lớn Hƣớng phát triển đề tài tƣơng lai xây dựng phần cứng giải nén (thay sử dụng hệ nhúng FPGA) để giảm thời gian giải nén Đánh giá thêm thuật toán khác để có thêm so sánh thực tế 75 TÀI LIỆU THAM KHẢO [1] S Seong, P Mishra (Apr 2008), “Bitmask-based code compression for em-bedded systems”, IEEE Trans Comput.-Aided Des Integr Circuits Syst., vol 27, no 4, pp 673–685 [2] Mark Nelson, Jean-Loup Gailly (1991) , The Data Compression Book (Second edition), M & T [3] S Hauck, Z Li, and E Schwabe (Aug 1999), “Configuration compression for the Xilinx XC6200 FPGA” IEEE Trans Comput.-Aided Des Integr Cir-cuits Syst., vol 18, no 8, pp 1107– 1113 [4] J H Pan, T Mitra, and W F Wong (2004), “Configuration bitstream com-pression for dynamically reconfigurable FPGAs”, inProc Int Conf Comput.-Aided Des., , pp 766–773 [5] Xilinx (2008) ,Virtex-4 FPGA Configuration User Guide v1.10 (UG071), Inc., San Jose, CA [6] Xilinx, (2005), Virtex FPGA Series Configuration and Readback v2.8 (XAPP138), Inc., San Jose, CA [7] Xilinx (2012), Partial Reconfiguration Tutorial - PlanAhead Design Tool, Inc., San Jose, CA [8] H Lekatsas and J Henkel and V Jakkula (2002) Design of an one-cycle decompression hardware for performance increase in embedded systems DAC [9] S Hauck, W.D.Wilson (1999), “Runlength Compression Techniques for FPGA Configurations”, inProc IEEE Symposium on FPGA for Custom Computing Machines IEEE Symp Field-Program Custom Comput, pp 286–287 [10] Xiaoke Qin, Chetan Muthry, and Prabhat Mishra,Decode-Aware Compression of FPGA Bitstreams IEEE Trans Very Large Scale Integr (VLSI) Syst, vol 19, no 3, March 2011 76 PHỤ LỤC Chƣơng trình giải nén thực hệ nhúng FPGA #include #include #include #include "platform.h" #include #include "xparameters.h" #include "xintc.h" typedef char BYTE; // 1byte typedef short WORD; // 2bytes typedef int DWORD; // 4bytes DWORD GetDWORD( BYTE *buf, int bit, int mask){ BYTE *byte_data = buf; int shb = bit >> 3; byte_data += shb; DWORD dword_data = *((DWORD*)byte_data); int sh = (bit & 7); DWORD ret_data = (dword_data) >> sh; ret_data &= mask; return ret_data; } WORD GetWORD( BYTE *buf, int bit, int mask){ BYTE *byte_data = ((buf)+((bit)>>3)); WORD word_data = *((WORD*)byte_data); WORD ret_data = (word_data) >> ((bit)&7)&(mask); return ret_data; } void tmemset(void * ptr, int value, size_t num ){ char *char_ptr = (char *) ptr; 77 char *char_ptr_end = char_ptr + num; while(char_ptr < char_ptr_end){ *char_ptr = (unsigned char) value; char_ptr++; } } int GetBitCount(int n) { int nBitCount = 0; while(n) n >>= 1, nBitCount++; return nBitCount; } BYTE * DecompressRunLength(BYTE *pSrc, int nSrcLen, int *nDesLen) { if(nSrcLen == 0) return NULL; (*nDesLen) = *(DWORD*)pSrc; BYTE *pDes = (BYTE*)malloc((*nDesLen)); tmemset(pDes, 0, (*nDesLen)); int nSrcIndex = sizeof(DWORD); int nBitsPerSample = *(pSrc+nSrcIndex++); int nRunCount = *(pSrc+nSrcIndex++); int nRunSize = *(pSrc+nSrcIndex++); void* nRuns = pSrc+nSrcIndex; nSrcIndex += nRunSize*nRunCount; nSrcIndex 3)) |= nRuns ? GetWORD(nRuns+nRunSize*nRunIndex, nByte3)) |= GetWORD(pSrc, nSrcIndex, 0xff), nDesIndex += 8, nSrcIndex += 8; loopnumber++; } return pDes; } XTmrCtr AXI_Timer; int main() { int run_time=0; int status; status=XTmrCtr_Initialize(&AXI_Timer,XPAR_AXI_TIMER_0_DEVICE_ID); if (status != XST_SUCCESS) return XST_FAILURE; 79 XTmrCtr_SetResetValue(&AXI_Timer, 0, 0x00000000); XTmrCtr_Reset(&AXI_Timer, 0); printf("RLC Decompressor\n"); BYTE rawData[] = { //Chua bitstream da nen }; int nFileLength = sizeof(rawData); printf("Compressed size:%d bytes\n", nFileLength); if(nFileLength == 0) return 0; BYTE *pFileBuffer = rawData; int *nDesLen = (int *)malloc(sizeof(int)); *nDesLen = nFileLength; BYTE *pDes ; printf("Decompression start\n"); XTmrCtr_Start(&AXI_Timer, 0); pDes = DecompressRunLength(pFileBuffer, nFileLength, nDesLen); XTmrCtr_Stop(&AXI_Timer, 0); run_time=XTmrCtr_GetValue(&AXI_Timer, 0); printf(" \nDecompression stop\n"); printf("Tatal time =%d ms\n",(int)(run_time/100000)); printf("Uncompressed size:%d bytes\n",*nDesLen); free(pFileBuffer); free(pDes); return 0; } 80 ... 1.1 Tổng quan nén liệu Nén liệu trình làm giảm liệu cần thiết để biểu diễn lƣợng thông tin cho trƣớc Các kỹ thuật nén liệu đƣợc thực phần cứng chuyên dụng phần mềm Các kỹ thuật nén liệu phần cứng... CHƢƠNG I TỔNG QUAN VỀ NÉN DỮ LIỆU Chƣơng trình bày tổng quan nén liệu, khái niệm nén liệu, phân loại nén liệu, loại mã nén liệu thƣờng dùng Qua hiểu thêm vai trị chức tốn nén liệu Nhất với hệ thống... sau:  Chƣơng I Tổng quan nén liệu o Trình bày tổng quan nén liệu, khái niệm nén liệu, phân loại nén liệu, loại mã nén liệu thƣờng dùng Qua hiểu thêm vai trị chức tốn nén liệu 10  Chƣơng II Cấu

Ngày đăng: 28/02/2021, 07:32

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w