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á
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ủ