Luận văn Xây dựng hệ thống hiển thị thông tin hình ảnh thông qua mạng Internet

Việc cung cấp thông tin kịp thời tới người dùng một cách nhanh chóng và chính xác là cần thiết trong xã hội hiện đại. Với sự phát triển của công nghệ, ngày nay chúng ta có thể nhận thông tin mọi lúc, mọi nơi một cách nhanh chóng thông qua mạng Internet. Các hệ thống hiển thị thông tin truyền thống cũng đang dần được thay thế bằng các màn hình kích thước lớn có kết nối mạng. Tuy nhiên, việc truyền nhận và xử lý thông tin trước khi hiển thị phần lớn vẫn được thực hiện trên các hệ máy tính đa năng với giá thành tương đối cao. Việc xây dựng một hệ thống chuyên dụng dạng “system-on-a-chip” để thực hiện việc thu nhận thông tin hình ảnh và hiển thị là cần thiết nhằm tối ưu hoá ứng dụng và giảm giá thành sản xuất. Hệ thống này có nhiệm vụ thiết lập kết nối máy chủ thông qua mạng Internet để lấy dữ liệu hình ảnh, giải mã và truy xuất hình ảnh ra màn hiển thị tương thích với chuẩn VGA. Ứng dụng hiển thị hình ảnh thông qua kết nối Internet đang là vấn đề rất thực tế, phục vụ cho lĩnh vực truyền thông, quảng bá thông tin tại các cơ quan, đơn vị, trường học, hay các doanh nghiệp, hay thậm chí tại các khu chung cư mới hoặc các cơ quan thông tin của phường/xã. Chính vì lý do trên, em đã chọn đề tài: “Xây dựng hệ thống hiển thị thông tin hình ảnh thông qua mạng Internet” để nghiên cứu và thực hiện Luận văn Thạc sỹ của mình. Bố cục của luận văn gồm có bốn phần: Chương 1: Cơ sở lý thuyết về mã hoá và hiển thị hình ảnh. Chương 2: Công nghệ nền tảng FPGA và phương pháp xây dựng hệ thống nhúng trên FPGA Chương 3: Hệ thống hiển thị thông tin hình ảnh thông qua mạng Internet Chương 4: Kết quả thực nghiệm và đánh giá

pdf66 trang | Chia sẻ: truongthanhsp | Lượt xem: 1385 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Luận văn Xây dựng hệ thống hiển thị thông tin hình ảnh thông qua mạng Internet, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Vũ Ngọc Tuyên XÂY DỰNG HỆ THỐNG HIỂN THỊ THÔNG TIN HÌNH ẢNH THÔNG QUA MẠNG INTERNET LUẬN VĂN THẠC SỸ CÔNG NGHỆ ĐIỆN TỬ - VIỄN THÔNG HÀ NỘI - 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Vũ Ngọc Tuyên XÂY DỰNG HỆ THỐNG HIỂN THỊ THÔNG TIN HÌNH ẢNH THÔNG QUA MẠNG INTERNET Ngành: Công nghệ Điện tử - Viễn thông Chuyên ngành: Kỹ thuật Điện tử Mã số: 60 52 02 03 LUẬN VĂN THẠC SỸ CÔNG NGHỆ ĐIỆN TỬ - VIỄN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. Trần Xuân Tú HÀ NỘI - 2014 2 LỜI CAM ĐOAN Tôi xin cam đoan nội dung của luận văn “Xây dựng hệ thống hiển thị thông tin hình ảnh thông qua mạng Internet” là sản phẩm do tôi thực hiện dưới sự hướng dẫn của PGS.TS. Trần Xuân Tú. Trong toàn bộ nội dung của luận văn, những điều được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp. Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình. Hà Nội, ngày 11 tháng 11 năm 2014 TÁC GIẢ Vũ Ngọc Tuyên 3 LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời cảm ơn tới PGS.TS. Trần Xuân Tú đã tận tình hướng dẫn, cung cấp tài liệu tham khảo, kinh nghiệm và những ý kiến đóng góp quý báu. Em cũng xin cảm ơn tới các anh em cán bộ của Phòng thí nghiệm mục tiêu Hệ thống tích hợp thông minh (SIS Lab) đã hỗ trợ và giải đáp các vướng mắc của em trong suốt quá trình nghiên cứu. Em cũng gửi lời cảm ơn đến các thầy cô trong Khoa Điện tử - Viễn thông, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội đã truyền đạt những kiến thức bổ ích và kinh nghiệm quý báu trong suốt thời gian em học tập, nghiên cứu tại nhà trường. Cuối cùng em cũng xin gửi lời cảm ơn đến gia đình, bạn bè những người đã giúp đỡ và tạo điều kiện để em có thể hoàn thành được luận văn này. Trong thời gian thực hiện luận văn, bản thân em khó tránh khỏi nhiều thiếu sót. Em rất mong nhận được ý kiến đóng góp từ phía thầy cô và bạn bè để luận văn được hoàn thiện hơn. Em xin chân thành cảm ơn ! Học viên Vũ Ngọc Tuyên 4 MỤC LỤC LỜI CAM ĐOAN ................................................................................................. 2 LỜI CẢM ƠN ..................................................................................................... 3 MỤC LỤC ..................................................................................................... 4 DANH MỤC HÌNH VẼ ....................................................................................... 6 DANH MỤC BẢNG BIỂU .................................................................................. 8 DANH MỤC TỪ VIẾT TẮT ............................................................................... 9 MỞ ĐẦU ................................................................................................... 10 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ MÃ HÓA VÀ HIỂN THỊ HÌNH ẢNH ................................................................................................... 11 1.1. Cơ sở lý thuyết về mã hóa hình ảnh JPEG ......................................... 11 1.1.1. Quá trình mã hóa ............................................................................ 12 1.1.2. Chuyển đổi hệ màu ........................................................................ 12 1.1.3. Lấy mẫu .......................................................................................... 13 1.1.4. Quá trình giải mã............................................................................ 14 1.2. Hiển thị hình ảnh lên màn hình chuẩn VGA ...................................... 15 1.2.1. Nguyên lý quét hình ảnh ................................................................ 15 1.2.2. Tín hiệu màu VGA ......................................................................... 17 1.2.3. Bộ điều khiển tín hiệu hiển thị hình ảnh – VGA core ................... 18 1.2.4. Nguyên tắc hoạt động của bộ hiển thị hình ảnh VGA ................... 20 CHƯƠNG 2: CÔNG NGHỆ NỀN TẢNG FPGA – PHƯƠNG PHÁP XÂY DỰNG HỆ THỐNG NHÚNG TRÊN FPGA ..................................................... 22 2.1. Giới thiệu công nghệ nền tảng FPGA ..................................................... 22 2.1.1. Kiến trúc FPGA ................................................................................ 23 2.1.2. Ngôn ngữ lập trình mô tả phần cứng VHDL.................................... 25 2.2. Phương pháp xây dựng hệ thống nhúng trên FPGA ............................... 27 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Vũ Ngọc Tuyên XÂY DỰNG HỆ THỐNG HIỂN THỊ THÔNG TIN HÌNH ẢNH THÔNG QUA MẠNG INTERNET LUẬN VĂN THẠC SỸ CÔNG NGHỆ ĐIỆN TỬ - VIỄN THÔNG HÀ NỘI - 2014 5 2.2.1. Trình tự thiết kế một vi mạch FPGA ................................................ 27 2.2.2. Giải pháp thiết kế hệ thống sử dụng bộ công cụ của hãng Xilinx ... 29 CHƯƠNG 3: HỆ THỐNG HIỂN THỊ THÔNG TIN HÌNH ẢNH THÔNG QUA MẠNG INTERNET .................................................................................. 39 3.1. Mô tả ý tưởng thiết kế hệ thống .............................................................. 39 3.2. Hệ thống phần cứng................................................................................. 40 3.2.1. Xây dựng hệ thống phần cứng trên chip .......................................... 41 3.2.2. Thiết kế ngoại vi giao tiếp màn hình VGA ...................................... 46 3.3. Đặc tả hệ thống phần mềm ...................................................................... 50 3.3.1. Thiết kế chi tiết hệ thống phần mềm ................................................ 51 3.3.2. Thư viện lwIP hỗ trợ truyền thông Ethernet .................................... 54 3.3.3. Thư viện giải mã ảnh JPEG – TinyJPEG ......................................... 56 CHƯƠNG 4: : KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ ....................... 59 4.1. Nền tảng thực thi hệ thống ...................................................................... 59 4.2. Kết quả kiểm tra chức năng hệ thống ...................................................... 59 4.2.1. Kiểm tra kết nối Ethernet ................................................................. 59 4.2.2. Kiểm tra kết nối màn hình VGA, hiển thị hình ảnh ......................... 60 4.2.3. Kiểm tra kết quả giải mã hình ảnh JPEG ......................................... 61 4.2.4. Kiểm tra kết nối tổng thể toàn hệ thống ........................................... 61 4.3. Đánh giá giải pháp thực hiện hệ thống .................................................... 62 KẾT LUẬN ................................................................................................... 63 TÀI LIỆU THAM KHẢO .................................................................................. 64 6 DANH MỤC HÌNH VẼ Hình 1-1: Sơ đồ quá trình mã hóa JPEG [1]. ..................................................... 12 Hình 1-2: So sánh hệ màu RGB và YCbCr. ....................................................... 13 Hình 1-3: Các kiểu lấy mẫu dữ liệu[3]. .............................................................. 14 Hình 1-4: Sơ đồ khối quá trình giải mã [1]. ....................................................... 14 Hình 1-5: Minh họa phương pháp quét hình ảnh. .............................................. 15 Hình 1-6: Tín hiệu điện cho một dòng quét trên màn hình CRT [5]. ................ 16 Hình 1-7: Chế độ điều khiển VGA 640×480 [5]. ............................................... 17 Hình 1-8: Cổng kết nối VGA. ............................................................................ 18 Hình 1-9: Các màu cơ bản [5]. ........................................................................... 18 Hình 1-10: Kết quả hiển thị. ............................................................................... 19 Hình 1-11: Sơ đồ khối cấu trúc của bộ hiển thị hình ảnh VGA ......................... 21 Hình 2-1: Kiến trúc chung của FPGA [2]. ......................................................... 23 Hình 2-2: Một Logic Block điển hình ................................................................ 24 Hình 2-3: Khối Logic khả trình. ......................................................................... 24 Hình 2-4: Các kết nối khả trình . ........................................................................ 25 Hình 2-5: Qui trình thiết kế chip dựa trên VHDL [2]. ....................................... 26 Hình 2-6: Kit phát triển Spartan-3E [12]............................................................ 30 Hình 2-7: Các thành phần của Kit Spartan-3E[12]. ........................................... 31 Hình 2-8: Kiến trúc của Spartan 3E [12]. ........................................................... 32 Hình 2-9: Sơ đồ khối lõi Microblaze [11]. ......................................................... 33 Hình 2-10: Kiến trúc đường ống trong microblaze. ........................................... 34 Hình 2-11: Hệ thống BUS điển hình của Microblaze [11]. ............................... 35 Hình 2-12: Giao diện sử dụng của công cụ XPS. ............................................... 36 Hình 2-13: Giao diện sử dụng của công cụ SDK ............................................... 37 Hình 3-1: Sơ đồ khối chức năng hệ thống. ......................................................... 39 Hình 3-2: Sơ đồ chi tiết hệ thống phần cứng. ..................................................... 40 Hình 3-3: Lựa chọn bo mạch. ............................................................................. 42 Hình 3-4: Cấu hình hệ thống. ............................................................................. 43 Hình 3-5: Cấu hình vi xử lý. ............................................................................... 43 Hình 3-6: Cấu hình các ngoại vi của hệ thống. .................................................. 44 Hình 3-7: Lựa chọn bộ nhớ đệm. ....................................................................... 45 7 Hình 3-8: Cấu hình ứng dụng mẫu cho hệ thống. .............................................. 45 Hình 3-9: Khởi tạo lõi VGA. .............................................................................. 46 Hình 3-10: Cấu hình bus cho lõi VGA. .............................................................. 47 Hình 3-11: Thiết lập tần số hoạt động của lõi VGA. ......................................... 47 Hình 3-12: Tạo ra phần cứng FPGA. ................................................................. 49 Hình 3-13: Sơ đồ khối hệ thống tạo bởi XPS. .................................................... 49 Hình 3-14: Mô hình phần mềm của hai lớp ứng dụng. ...................................... 50 Hình 3-15: Mô hình triển khai hệ thống nhúng trên Spartan-3E. ...................... 50 Hình 3-16: Biểu đồ các trường hợp sử dụng. ..................................................... 51 Hình 3-17: Lưu đồ tiến trình hoạt động. ............................................................ 52 Hình 3-18: Lưu đồ truyền tập tin. ....................................................................... 53 Hình 3-19: Lưu đồ giải mã ảnh Jpeg. ................................................................. 53 Hình 4-1: Kiểm tra kết nối Ethernet. .................................................................. 60 Hình 4-2: Kiểm tra bộ điều khiển VGA ............................................................. 60 Hình 4-3: Kiểm tra chương trình giải mã JPEG ................................................. 61 Hình 4-4: Kiểm tra kết nối toàn hệ thống. .......................................................... 62 8 DANH MỤC BẢNG BIỂU Bảng 3-1: Bảng tổng hợp tài nguyên phần cứng của hệ thống .......................... 41 Bảng 3-2: Các tín hiệu ngoại vi của lõi VGA .................................................... 48 Bảng 3-3: Mô tả hàm lwip_socket [4] ............................................................... 54 Bảng 3-4: Mô tả hàm lwip_blind [4] .................................................................. 55 Bảng 3-5: Mô tả hàm lwip_close [4] .................................................................. 55 Bảng 3-6: Mô tả hàm khởi tạo tinyjpeg_init [4] ................................................ 56 Bảng 3-7: Mô tả hàm duyệt header file tinyjpeg_parse_header [4] ................... 56 Bảng 3-8: Mô tả hàm giải mã ảnh tinyjpeg_decode [4] ..................................... 57 Bảng 3-9: Mô tả hàm đọc kích thước ảnh tinyjpeg_get_size [4] ....................... 57 Bảng 3-10: Mô tả hàm tinyjpeg_get_components [4] ........................................ 58 Bảng 3-11: Mô tả hàm giải phóng bộ nhớ tinyjpeg_free [4] .............................. 58 9 DANH MỤC TỪ VIẾT TẮT Từ viết tắt Mô tả ALU Arithmetic Logic Unit ASIC Application-Specific Integrated Circuit BMP BitMaP image file CLB Configurable Logic Block CPLD Complex Programmable Logic Devices CRT Cathode Ray Tube DCM Digital Clock Manager EDK Embedded Development Kit FPGA Field-Programmable Gate Array GIF Graphics Interchange Format GPIO General Purpose Input Output HS Horizontal Sync IEEE Institue of Electrical and Electronics Engineers IOB Input/Output Block ISE Integrated Software Environment JPEG Joint. Photographic Experts Group LCD Liquid-Crystal Display LUT Look-Up Tables PNG Portable Network Graphics RGB Red - Green - Blue RTL Register Transfer Level SDK Software Development Kit SOC System on Chip TIFF Tagged Image File Format UART Universal Asynchronous Receiver Transmitter VGA Video Graphics Array VHDL VHSIC Hardware Description Language VHSIC Very High Speed Integrated Circuit VS Vertical Sync XCL Xilinx Cache Link XPS Xilinx Platform Studio 10 MỞ ĐẦU Việc cung cấp thông tin kịp thời tới người dùng một cách nhanh chóng và chính xác là cần thiết trong xã hội hiện đại. Với sự phát triển của công nghệ, ngày nay chúng ta có thể nhận thông tin mọi lúc, mọi nơi một cách nhanh chóng thông qua mạng Internet. Các hệ thống hiển thị thông tin truyền thống cũng đang dần được thay thế bằng các màn hình kích thước lớn có kết nối mạng. Tuy nhiên, việc truyền nhận và xử lý thông tin trước khi hiển thị phần lớn vẫn được thực hiện trên các hệ máy tính đa năng với giá thành tương đối cao. Việc xây dựng một hệ thống chuyên dụng dạng “system-on-a-chip” để thực hiện việc thu nhận thông tin hình ảnh và hiển thị là cần thiết nhằm tối ưu hoá ứng dụng và giảm giá thành sản xuất. Hệ thống này có nhiệm vụ thiết lập kết nối máy chủ thông qua mạng Internet để lấy dữ liệu hình ảnh, giải mã và truy xuất hình ảnh ra màn hiển thị tương thích với chuẩn VGA. Ứng dụng hiển thị hình ảnh thông qua kết nối Internet đang là vấn đề rất thực tế, phục vụ cho lĩnh vực truyền thông, quảng bá thông tin tại các cơ quan, đơn vị, trường học, hay các doanh nghiệp, hay thậm chí tại các khu chung cư mới hoặc các cơ quan thông tin của phường/xã. Chính vì lý do trên, em đã chọn đề tài: “Xây dựng hệ thống hiển thị thông tin hình ảnh thông qua mạng Internet” để nghiên cứu và thực hiện Luận văn Thạc sỹ của mình. Bố cục của luận văn gồm có bốn phần: Chương 1: Cơ sở lý thuyết về mã hoá và hiển thị hình ảnh. Chương 2: Công nghệ nền tảng FPGA và phương pháp xây dựng hệ thống nhúng trên FPGA Chương 3: Hệ thống hiển thị thông tin hình ảnh thông qua mạng Internet Chương 4: Kết quả thực nghiệm và đánh giá 11 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ MÃ HÓA VÀ HIỂN THỊ HÌNH ẢNH Chương đầu tiên của luận văn giới thiệu cơ sở lý thuyết mã hóa hình ảnh theo định dạng chuẩn JPEG và phương pháp hiển thị hình ảnh trên màn hình chuẩn VGA. 1.1. Cơ sở lý thuyết về mã hóa hình ảnh JPEG Trong thời đại kỹ thuật số ngày nay, hình ảnh được lưu trữ ở nhiều định dạng khác nhau như BMP, JPEG, PNG, GIF, TIFF. Trong đó, định dạng ảnh chuẩn JPEG được sử dụng phổ biến nhất trên Internet và được hầu hết các máy ảnh kỹ thuật số và phần mềm xử lý ảnh hỗ trợ tương thích. JPEG viết tắt của Joint Photographic Experts Group được công bố lần đầu vào năm 1992 dựa trên khuyến cáo ITU – T81, là một trong những phương pháp nén ảnh hiệu quả, có tỷ lệ nén tới vài chục lần. Ảnh sau khi giải nén sẽ không hoàn toàn giống như ban đầu mà chất lượng ảnh sẽ bị suy giảm sau khi giải nén. Tuy nhiên sự suy giảm này có thể khắc phục được bằng việc loại bỏ đi những thông tin dư thừa dựa trên sự nghiên cứu về thị giác của con người. Khi nghiên cứu về lý thuyết và hiển thị hình ảnh, chúng ta xét đến không gian màu YUV được tạo bởi một độ sáng và hai thành phần màu. Thị giác của con người rất nhạy cảm với thành phần Y và kém nhạy cảm với hai thành phần U và V. Dựa trên đặc tính này của mắt con người, phương pháp JPEG đã tách những thông tin dư thừa của ảnh và nén thông tin sao cho sự suy giảm tín hiệu thành phần Y là ít hơn so với hai thành phần còn lại là U và V. Phương pháp nén ảnh JPEG có công đoạn chính là chia bức ảnh thành nhiều vùng nhỏ (thông thường là 8×8 điểm ảnh) rồi sử dụng phép biến đổi cosin rời rạc để biến đổi những vùng này thành dạng ma trận có 64 hệ số thể hiện trạng thái các điểm ảnh. Hệ số đầu tiên có khả năng thể hiện trạng thái cao nhất, khả năng đó giảm nhanh với các hệ số khác. Điều đó có nghĩa là lượng thông tin của 64 điểm ảnh tập trung chủ yếu ở một số hệ số ma trận trong phép biến đổi trên. Trong giai đoạn này có sự mất mát thông tin bởi không có một phép biến đổi ngược chính xác, tuy nhiên lượng thông tin mất mát này chưa đáng kể so với các bước sau. Ma trận có được sau phép biến đổi cosin rời rạc được lược bớt sự khác nhau giữa các hệ số, đây chính là bước làm cho 12 thông tin bị mất nhiều nhất vì những thay đổi nhỏ của các hệ số sẽ được làm tròn. Các phép biến đổi trên áp dụng với thành phần U và V nhiều hơn so với thành phần Y. Bước tiếp theo là dùng một thuật toán mã hóa khác để phân tích dãy số. Những phần tử nào được lặp lại nhiều sẽ được mã hóa bằng ký tự ngắn hơn. Với phương pháp mã hóa theo chuẩn JPEG, khi giải mã chúng ta chỉ cần làm lại các bước trên theo quá trình ngược lại cùng với các phép biến đổi ngược. 1.1.1. Quá trình mã hóa Hình 1-1: Sơ đồ quá trình mã hóa JPEG [1]. Quá trình mã hóa hình ảnh JPEG được mô tả theo Hình 1-1 [1]. Ảnh nguồn ban đầu được chia thành các khối có kích thước 8×8 điểm ảnh trước khi đưa vào khối mã hóa bao gồm DCT, lượng tử hóa và mã hóa Entropy. Kết quả của quá trình mã hóa là đầu ra hình ảnh nén JPEG. 1.1.2. Chuyển đổi hệ màu Bộ mã hóa JPEG sẽ thực hiện biến đổi hệ màu từ RGB sang YCbCr trước khi chuyển đổi DCT. Dữ liệu ảnh được đại diện bởi ba thành phần màu chính là R, G, B tương ứng ba màu cơ bản là đỏ, xanh lục, xanh dương. Mỗi màu sẽ sử dụng một byte để biểu diễn, do đó mỗi điểm ảnh cần ba bytes để biểu diễn. Như đã trình bày ở trên, mắt người nhạy cảm với sự thay đổi về độ chói và kém nhạy với những sự thay đổi về sắc độ. Thông thường trong kỹ thuật nén ảnh sử dụng biến đổi DCT các điểm ảnh sẽ được chuyển đổi từ hệ màu RGB sang YCbCr. Trong đó thành phần Y tương ứng với độ chói của điểm ảnh, hai thành phần Cb và Cr lần lượt là sự sai khác về sắc độ của hai thành phần màu xanh dương và đỏ. 13 Công thức về sự biến đổi như sau: 𝑌 = 0,299𝑅 + 0,587𝐺 + 0,144𝐵 𝐶𝑏 = −0,16874𝑅 − 0. ,3126𝐺 + 0,5𝐵 + 128 𝐶𝑟 = 0,5𝑅 − 0,41869𝐺 − 0,08131𝐵 + 128 Ta có thể quan sát các thành phần R, G, B tương ứng với các thành phần Y, Cb, Cr trong bức ảnh nổi tiếng “lena” Hình 1-2: [3] Hình 1-2: So sánh hệ màu RGB và YCbCr. 1.1.3. Lấy mẫu Do mắt người nhạy cảm với thành phần Y hơn nên việc giảm thành phần sắc độ đi 50% so với thành phần độ chói Y cũng không làm giảm đi nhiều cảm nhận của mắt về sự thay đổi củ