1. Trang chủ
  2. » Tất cả

thiết kế hệ thống nhúng,vu duc ngo,dhbkhn

13 5 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Thiết kế hệ thống nhúng, Vũ Đức Ngo, ĐH BKHN
Tác giả Lương Văn Minh, Nguyễn Hoàng Tùng, Phan Thành Trung, Lưu Đặng Hân
Người hướng dẫn TS. Ngô Vũ Đức
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Thiết kế hệ thống nhúng
Thể loại báo cáo bài tập lớn
Năm xuất bản 2018
Thành phố Hà Nội
Định dạng
Số trang 13
Dung lượng 841,75 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

thiết kế hệ thống nhúng,vu duc ngo,dhbkhn TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG  BÁO CÁO BÀI TẬP LỚN Môn Thiết kế hệ thống nhúng Đề tài THỰC HIỆN DCT 64 ĐIỂM Giảng viên TS Ngô Vũ[.]

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG



BÁO CÁO BÀI TẬP LỚN

Môn: Thiết kế hệ thống nhúng

Đề tài:

THỰC HIỆN DCT 64 ĐIỂM

Giảng viên: TS Ngô Vũ Đức

Sinh viên thực hiện:

Họ và tên MSSV

Hà Nội, 12-2018

cuu duong than cong com

Trang 2

MỤC LỤC

DANH MỤC HÌNH ẢNH 2

MỞ ĐẦU 3

Chương 1 Cơ sở lý thuyết 4

1.1 Định nghĩa 4

1.2 Phép biến đổi DCT 4

1.2.1 Biến đổi DCT 1 chiều 5

1.2.2 Biến đổi DCT 2 chiều 5

Chương 2 Thiết kế hệ thống tính toán DCT 64 điểm 8

2.1 Thiết kế top 8

2.2 Khối biến đổi DCT 1 chiều 8

2.3 Viết code và mô phỏng 10

KẾT LUẬN 12

cuu duong than cong com

Trang 3

DANH MỤC HÌNH ẢNH

Hình 1.1 Ứng dụng phương pháp DCT 64 điểm trong mã hoá hình ảnh……… 04

Hình 1.2 Giá trị các hệ số trước biến đổi DCT……….06

Hình 1.3 Giá trị các hệ số sau biến đổi DCT………07

Hình 2.1 Sơ đồ hệ thống DCT 2 chiều……….08

Hình 2.2 Sơ đồ thực hiện khối Butterfly Unit……… 09

Hình 2.3 Kết quả mô phỏng 11

cuu duong than cong com

Trang 4

MỞ ĐẦU

Trong thời buổi xã hội đang ngày càng phát triển như hiện nay, việc sử dụng, quản lý

và lưu trữ dữ liệu ngày càng trở nên quan trọng và được quan tâm Hầu hết dữ liệu truyền tải trên mạng internet đều thuộc một trong các dạng chính gồm có: hình ảnh, kí tự, âm thanh, video… Nhu cầu sử dụng mạng ngày càng tăng cao, đi đôi với đó là lượng dữ liệu được truyền tải trên mạng cũng rất lớn

Để tối ưu hoá lượng dữ liệu truyền tải, giảm băng thông đường truyền mà vẫn đảm bảo chất lượng thông tin, rất nhiều thuật toán và phương pháp được đưa ra và sử dụng để mã hoá và nén hình ảnh – một trong những loại dữ liệu được sử dụng nhiều nhất trên mạng Trong số các phương pháp đó, phổ biến nhất là phép biến đổi DCT

Phép biến đổi DCT nhìn chung khá là hiệu quả trong việc nén dữ liệu ảnh JPEG Tuy nhiên việc triển khai trên phần mềm vẫn có một nhược điểm dễ nhận thấy là các lệnh được thực thi một cách tuần tự dẫn đến thời gian thực thi còn chưa tối ưu Mục tiêu của đề tài này là triển khai phép biến đổi DCT trên FPGA nhằm tận dụng ưu điểm của FPGA để xử

lý song song các lệnh thay vì thực hiện tuần tự như trên phần mềm, giảm thời gian thực hiện phép biến đổi DCT

Nhóm chúng em xin chân thành cảm ơn thầy Ngô Vũ Đức đã tư vấn và hỗ trợ nhóm chúng em để có thể hoàn thành đề tài này Do thời gian thực hiện còn ngắn nên không thể tránh khỏi những thiếu sót Chúng em rất mong được nhận những góp ý từ thầy để đề tài

Trang 5

Chương 1 Cơ sở lý thuyết

1.1 Định nghĩa

DCT (Discrete Cosine Transform) là một phép biến đổi toán học được dùng để biến đổi dữ liệu ảnh từ miền thời gian sang miền tần số Phép biến đổi này được sử dụng phổ biến trong công nghệ nén ảnh chuẩn JPEG

Trong ảnh số, có sự tương quan giữa các điểm ảnh ở gần nhau, điều này dẫn đến dư thừa thông tin để biểu diễn ảnh, hệ quả là việc mã hoá hình ảnh không tối ưu Do đó, công việc cần làm là phải giảm thiểu thông tin dư thừa để làm giảm dung lượng lưu trữ

mà không làm mất dữ liệu ảnh

1.2 Phép biến đổi DCT

Để có thể thực hiện nén ảnh bằng phép biến đổi DCT 64 điểm, ta cần phải chia bức ảnh thành các khối 8x8 tương ứng với các khối 64 điểm ảnh, mỗi điểm ảnh là một pixel Các khối 8x8 sau đó sẽ được lượng tử hoá và mã hoá entropy để ra kết quả mã hoá và nén lại dạng bit

Hình 1.4 Ứng dụng phương pháp DCT 64 điểm trong mã hoá hình ảnh

cuu duong than cong com

Trang 6

1.2.1 Biến đổi DCT 1 chiều

Phương trình tính DCT 1 chiều (N=8):

 DCT 1 chiều thuận:

1 0

2

N k n

 DCT 1 chiều ngược:

1 0

2

N k n

Trong đó:

 X(k): Giá trị của các điểm ảnh sau biến đổi DCT trong miền tần số

 x(n): Giá trị của các điểm ảnh trước biến đổi DCT trong miền không gian

1 khi 0 2

1 khi 0 8

k

k k

 

1.2.2 Biến đổi DCT 2 chiều

Phương trình tính DCT 2 chiều (N=8):

 DCT 2 chiều thuận:

1 2

2

N N

n n

   

 DCT 2 chiều ngược:

Trong đó:

X k k( ,1 2): Giá trị của các điểm ảnh sau biến đổi DCT trong miền tần số

x n n( ,1 2): Giá trị của các điểm ảnh trước biến đổi DCT trong miền không gian

1

1 khi 1 0 2

1 khi 0 1 8

k

k k

 

và 2

1 khi 2 0 2

1 khi 0 2 8

k

k k

 

1 2

1 2

1 1

0 0

2

N N

k k

n n

 

cuu duong than cong com

Trang 7

Phương trình DCT 2 chiều bao gồm 16 phép biến đổi DCT 1 chiều:

 (DCT 1 chiều cho dãy các điểm ảnh trên một hàng) * (8 hàng)

 (DCT 1 chiều cho dãy các điểm ảnh trên một cột) * (8 cột)

 Ma trận cuối cùng là hệ số sau khi thực hiện chuyển đổi DCT

Hệ số thứ nhất gọi là thành phần một chiều DC: là thành phần quan trọng nhất mang thông tin độ chói trung bình của ảnh

1 2

7 7

1 2

0 0

1

8n n

 

Các hệ số còn lại là các thành phần AC chứa thông tin chi tiết ảnh

Các hệ số bên dưới thành phần DC biểu thị đặc trưng tín hiệu có tần số cao theo chiều dọc (hệ số dưới cùng bên trái có tọa độ (7,0) đặc trưng cho tín hiệu có tần số cao nhất theo phương thẳng đứng)

Các hệ số bên phải thành phần DC biểu thị đặc trưng tín hiệu có tần số cao theo chiều ngang (hệ số trên cùng bên phải có tọa độ (0,7) đặc trưng cho tín hiệu có tần

số cao nhất theo phương ngang)

Các hệ số còn lại ứng với sự phối hợp khác nhau của các tần số theo chiều dọc

và chiều ngang

Phép biến đổi DCT cho giá trị hệ số có giá trị nhỏ ứng với những thành phần tần số cao

Ví dụ:

Hình 1.5 Giá trị các hệ số trước biến đổi DCT

cuu duong than cong com

Trang 8

Hình 1.6 Giá trị các hệ số sau biến đổi DCT

cuu duong than cong com

Trang 9

Chương 2 Thiết kế hệ thống tính toán DCT 64 điểm

2.1 Thiết kế top

Hình 2.2 Sơ đồ hệ thống DCT 2 chiều

Tính toán DCT 2 chiều được chia làm 2 khối thực hiện phép tính DCT 1 chiều:

 Khối DCT đầu tiên thực hiện tính toán DCT 1 chiều theo hàng

 Kết quả sẽ được lưu tạm thời vào RAM

 Khối DCT thứ hai thực hiện tính toán DCT 1 chiều theo cột dựa vào kết quả đã được lưu trong RAM

2.2 Khối biến đổi DCT 1 chiều

Nếu thực hiện phép biến đổi DCT 1 chiều theo đúng công thức thì sẽ rất mất thời gian cũng như làm phức tạp trong thiết kế phần cứng bởi số lượng phép tính cần thực

hiện khá lớn Thay vào đó, để đơn giản hóa vấn đề ta có thể dùng các khối Butterfly

Unit để tính toán gần đúng các hệ số DCT

cuu duong than cong com

Trang 10

* Butterfly Unit

Hình 2.2 Sơ đồ thực hiện khối Butterfly Unit

Hệ số cosin Hệ thập phân Hệ nhị phân 11

bit không dấu

DCT-II và

 

 

DCT-IV

cos 8

 

 

3 cos 8

Butterfly I

cos 16

7 cos 16

Butterfly II

3 cos 16

5 cos 16

Bảng 2.1 Giá trị các hệ số trong khối Butterfly Unit

cuu duong than cong com

Trang 11

2.3 Viết code và mô phỏng

* Code khối DCT 1 chiều

1 module dct1(

2 input wire [15:0] in0, in1, in2, in3, in4, in5, in6, in7,

3 input en,

4 output reg signed [23:0] out0, out1, out2, out3, out4, out5, out6, out7

5 );

6 localparam [15:0] sqrt2 = 16'b00000001_01101010,

7 cos1_4 = 16'b00000000_10110101,

8 cos1_8 = 16'b00000000_11101100,

9 cos3_8 = 16'b00000000_01100001,

10 cos1_16 = 16'b00000000_11111011,

11 cos7_16 = 16'b00000000_00110010,

12 cos3_16 = 16'b00000000_11010100,

13 cos5_16 = 16'b00000000_10001110;

14 reg signed [31:0] xa,xb;

15 reg signed [31:0] x0,x1,x2,x3,x4,x5,x6,x7;

16 always @* begin

17 if(en) begin

18 x0 = (in0 + in7);

19 x1 = (in0 - in7);

20 x4 = (in1 + in6);

21 x5 = (in2 - in5);

22 x2 = (in3 + in4);

23 x3 = (in1 - in6);

24 x6 = (in2 + in5);

25 x7 = (in3 - in4);

26 //

27 xa = x0 + x2;

28 xb = x0 - x2;

29 x0 = xa;

30 x2 = xb;

31 xa = x4 + x6;

32 xb = x4 - x6;

33 x4 = xa;

34 x6 = xb;

35 xa = x3 + x5;

36 xb = x3 - x5;

37 x3 = xa;

38 x5 = xb;

39 //

40 xa = x0 + x4;

41 xb = x0 - x4;

42 x0 = ((xa >> 2) * sqrt2) >> 8;

43 x4 = (xb * cos1_4) >> 9;

44 //

45 xa = (x2 * cos3_8) >> 8;

46 xb = (x6 * cos3_8) >> 8;

47 x2 = (x2 * cos1_8) >> 8;

48 x6 = (x6 * cos1_8) >> 8;

49 x2 = (x2 + xb) >> 1;

50 x6 = (xa - x6) >> 1;

51 //

52 x3 = (x3 * cos1_4) >> 8;

53 xa = x1 + x3;

54 xb = x1 - x3;

55 x1 = xa;

cuu duong than cong com

Trang 12

57 //

58 x5 = (x5 * cos1_4) >> 8;

59 xa = x5 - x7;

60 xb = x5 + x7;

61 x5 = xa;

62 x7 = xb;

63 //

64 xa = (x1 * cos7_16) >> 8;

65 xb = (x7 * cos7_16) >> 8;

66 x1 = (x1 * cos1_16) >> 8;

67 x7 = (x7 * cos1_16) >> 8;

68 x1 = (x1 + xb) >> 1;

69 x7 = (xa - x7) >> 1;

70 //

71 xa = (x3 * cos5_16) >> 8;

72 xb = (x5 * cos5_16) >> 8;

73 x3 = (x3 * cos3_16) >> 8;

74 x5 = (x5 * cos3_16) >> 8;

75 x3 = (x3 + xb) >> 1;

76 x5 = (xa - x5) >> 1;

77 //

78 out0 = x0[23:0];

79 out1 = x1[23:0];

80 out2 = x2[23:0];

81 out3 = x3[23:0];

82 out4 = x4[23:0];

83 out5 = x5[23:0];

84 out6 = x6[23:0];

85 out7 = x7[23:0];

86 end

87 end

88

89 endmodule

* Kết quả mô phỏng

Hình 2.3 Kết quả mô phỏng

cuu duong than cong com

Trang 13

KẾT LUẬN

Ngày nay, mô hình DCT 64 điểm đã quá phổ biến nên chúng hầu hết được xây dựng

và tích hợp dưới hàm có sẵn, ví dụ trong Matlab là hàm dct2() Tuy nhiên việc triển khai trên phần mềm có hạn chế về thời gian thực thi do các lệnh được thực hiện tuần tự Việc triển khai DCT64 lên FPGA đã khắc phục được hạn chế đó do việc thiết kế phần cứng trên FPGA cho phép thực hiện song song đồng thời các lệnh Qua đề tài này, em càng hiểu hơn

về mã hoá hình ảnh bằng mã hoá JPEG nói chung và phương pháp mã hoá DCT 64 điểm nói riêng cũng như triển khai trên FPGA

Nhóm chúng em xin chân thành cảm ơn thầy Ngô Vũ Đức đã đưa ra đề tài hay và

có ý nghĩa thực tiễn như vậy để nhóm chúng em thảo luận, tìm hiểu và thực hiện Do thời gian thực hiện đề tài còn ngắn nên không thể tránh khỏi những thiếu sót Chúng em rất mong nhận được những góp ý quý báu từ thầy để giúp đề tài của chúng em được hoàn thiện hơn

cuu duong than cong com

Ngày đăng: 30/11/2022, 08:57

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm