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

Khóa luận tốt nghiệp Kỹ thuật máy tính: Nghiên cứu và cải tiến video streaming cho smart camera trên SOC ULTRA96-V2

49 0 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 đề Nghiên cứu và cải tiến video streaming cho smart camera trên SOC ULTRA96-V2
Tác giả Phan Trọng Hiếu
Người hướng dẫn Tiến Sĩ Nguyễn Minh Sơn
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Kỹ thuật máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 49
Dung lượng 24,4 MB

Nội dung

Trong đề tài này, nhóm muốn sử dụng nền tang System on Chip dé xây dựngmột hệ thống smart camera streaming hình ảnh qua kết nối không dây với độ trễ thấp và tiệm cận được với thời gian t

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN

KHOA KY THUAT MAY TINH

PHAN TRONG HIEU

NGHIEN CUU VA CAI TIEN VIDEO STREAMING CHO

SMART CAMERA TREN SOC ULTRA96-V2

RESEARCH AND IMPROVE VIDEO STREAMING FOR

SMART CAMERA ON ULTRA96-V2 SOC

KY SU KY THUAT MAY TINH

TP HO CHi MINH, 2021

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT MÁY TÍNH

PHAN TRỌNG HIẾU - 17520483

KHÓA LUẬN TÓT NGHIỆP

NGHIÊN CỨU VÀ CẢI TIỀN VIDEO STREAMING CHO

SMART CAMERA TREN SOC ULTRA96-V2

RESEARCH AND IMPROVE VIDEO STREAMING FOR

SMART CAMERA ON ULTRA96-V2 SOC

KY SU NGANH KY THUAT MAY TINH

GIANG VIEN HUONG DAN

TIEN SI NGUYEN MINH SON

TP HO CHi MINH, 2021

Trang 3

THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 62/QD-DHCNTT ngày

14 tháng 02 năm 2022 của Hiệu trưởng Truong Dai học Công nghệ Thông tin.

Trang 4

LỜI CẢM ƠN

Lời đầu tiên em xin được chân thành gửi lời cảm ơn đến quý thầy cô trườngDai học Công Nghệ Thông Tin — Dai học Quốc gia Thành phố Hồ Chí Minh nóichung và quý thầy cô trong khoa Kỹ thuật máy tính nói riêng đã nhiệt tình giảng dạy,truyền đạt nhiều kiến thức bổ ích và những kinh nghiệm quý báu giúp em có thê hoànthành khóa luận tốt nghiệp này một cách tốt nhất

Đặc biệt, em xin chân thành cảm ơn thầy Tiến sĩ Nguyễn Minh Sơn đã hướngdẫn, quan tâm giúp đỡ và động viên nhóm rất tận tình trong suốt quá trình thực hiện

đề tài, cung cấp cho em nhiều chỉ dẫn giúp giải quyết nhiều vấn đề cho nhóm trong

suốt quá trình thực hiện nghiên cứu cũng như các kiến thức chuyên môn quý báu giúp

em có thé hoàn thành khoá luận một cách tốt nhất

Bên cạnh đó, em cũng muốn gửi lời cảm ơn đến các anh chị, bạn bè cùng với

gia đình đã luôn động viên, khích lệ tinh thần và giúp đỡ nhóm trong việc trao đổi

tìm kiếm thông tin và giải quyết nhiều vấn đề cho nhóm trong suốt quá trình thực

hiện khóa luận này.

Với điều kiện thời gian cũng như kinh nghiệm còn nhiều hạn chế nên trongkhóa luận này không thể tránh khỏi những thiếu sót Em rất mong nhận được sự đónggóp ý kiến, những nhận xét và phê bình của quý thầy cô dé chúng em được bồ sung,

nâng cao kiến thức của bản thân nhằm phát triển hơn trong tương lai

Một lần nữa, em xin chân thành cảm ơn!

Thành phó Hồ Chí Minh, ngày 18 tháng 02 năm 2022

Sinh viên thực hiện

Phan Trọng Hiếu

Trang 5

MỤC LỤC

Chương I GIỚI THIEU ĐÈ TÀI 2 2E +E£2E£+EE+EE+EEzEEzEEerxerxrex 12

LL Lý đo chọn đề tài c- s21 E1 E1 E12 1011211211211 1111111111111 c0 121.2 Một số nghiên cứu liên quan -¿- ¿©+©+++++£x+£x++zx++rxzrxrrxesree 13

1.2.1 Nghiên cứu ngOài nue Ă S313 vn ve rrn 13

1.3 Mục tiêu đề tải ccc ch He 14

1.4 Giới hạn đề tài ccvvt th thue l5

1.5 KẾt quả mong muốn - ¿222 E+EE£2EE£EE£EEEEEEEEEEEEEEEEEEEEEEEkrrkerkrres 15

1.6 Bố cục luận văn -¿-c- Set 1E 1215111111E11115151111511111111111111111 1151 xe 16Chương2 CƠ SỞ LÝ THUYÊT 2©22©E+E+2E£+EE+EEtEEtrEerrkerxerkerex 18

2.1.1 Định nghĩa SG Q11 HH ng ng kg 18

2.1.2 _ Kiến trúc tổng quát - ++++e+E+r+kerkerkerxerxererree 19

2.2 Giới thiệu về Streaming VideO ¿- 2+Ss+EeEE2EE2EEEEEEEErEkrrkerkerreee 21

2.4.1 Kiến trúc của GStreamer ©sc©5++c++cxerxcrxereerxerkereee 24

2.4.2 — Pluglns LH HH HH TH HH TH HH HH 25 2.5 Petalinux 2019.2 LH nh TH ng TH HH nh hệt 26 P9 li) 0/0) 009 27

2.6.1 Quá trình phát triỀn -¿©¿+k+EE+EE++EESEEEEEEEErrkrrkerkerree 28

2.6.2 Kiến trúc WebRTC -+ccrrreerrriirrrrrrirrrrrrirrrree 30

2.6.3 Các APIs trong WeblRTC c SH ng rệt 32

Trang 6

2.6.4 Một số giao thức trong WeblRTC -¿- 5¿©cxcccxvcxesrxeerxee 32Chương 3 THIẾT KE HE THÓNG -2-©2¿+2+++z++2+++rx++rxesrsees 35

3.1 Zynq UltraScale+ MPSOC Ăn 11111 vn TH kg ng ngư, 35 3.2 FPGA UItra96-V2 ch TH TH TH nh cưng 36

3.3 Thiết kế tong quát của hệ thống 2-2 2 ++££+E£+E££Ee£Eerxerxersrreee 383.4 Xây dựng luồng streaming bằng GStreamer 2 ¿s5 s+zscs+e 39

3.4.1 Web Browser Streaming - «cv HHngg 39 3.4.2 — Local SfreaIming sgk 40 3.5 Xây dựng các chương trình trên Cloud S€TVeT -«- +«£ << x+se+sx+ 41

3.5.1 Nginx Z2 mế À 4I 3.5.2 — Janus Œaf€WA TQ HT HH TH HH TH ng 43

Chương 4 HIỆN THUC, THỰC NGHIỆM VÀ ĐÁNH GIÁ KET QUA 45

4.1 Kết quả thực nghiệm trên Local Streaming - 2-2 2+2 szs+zxezss 454.2 Kết quả thực nghiệm trên Web BroWSer -¿ 5¿©52©5z2cx2zxvrxesres 46Chương 5 KÉT LUẬN VÀ HƯỚNG PHAT TRIEN -. : -: 47

5.1 Kết quả dat Gu c.cccccccccccsccscscsscsseesessessessessessesessessessessessessesssseesesseeseesessees 475.2 Hướng phát triÊn -2¿-+¿©-++2E++EE+SEE2EEE2EEE2EE221 2112112122 re 48

Trang 7

DANH MỤC HÌNH

Hình 2 1: Kiến trúc cơ bản của FPGA che 19Hình 2 2: Kiến trúc cơ bản về streaming video -¿2- scx+zxezxzrxsrxcrez 22Hình 2 3: Sơ đồ khối của một smart camera cơ bản . - + s+s+c+zs+x+£zzzxzxez 23Hình 2 5: Kiến trúc tổng quát của GStreamer 2 2¿+¿+++2x++£x++zxzxesree 25Hình 2 6: Kiến trúc tổng thé WeblR'TC ¿2c + x+EE+EE+EE2EZEEEEEEerkerkerkrree 31

Hình 2 7: Protocol stack trong WebiRTÍC - - «+ HH HH HH Hit 33 Hình 2 8: Mô hình hoạt đông STỮN S S32 19 ng re 34

Hình 3 1: Các khối chức năng trong Zynq UltraScale+ MPSoC - 35Hình 3 2: Các thành phan chính trên board Ultra96-V2 ¿5c s s£s+£s+s+2 37Hình 3 3: Sơ đồ khối của board Ultra96-V2 -¿-cc+ecrrrrrkkerrtrrrirrrrrrrid 38Hình 3 4: Thiết kế tổng quát của hệ thống . 2-2 5¿©+++++£x++zx++rxzxesrxe 38

Hình 3 5: Mô hình xử lí pipeline cho web streaming dùng GStreamer 39

Hình 3 6 : Mô hình xử lí pipeline cho P2P streaming trên client 40 Hình 3 7: Mô hình xử lí pipeline cho P2P streaming trên serV€T - «‹ 40

Hình 3 8: Thông tin phiên bản Nginx c1 11211 re 41

Hình 3 9: Cấu hình thông tin cho Nginx server c.cccsssesssessecseessecssesstesseesseesseess 42

Hình 3 10: Trạng thái hoạt động của Nginx S€TVT - 6c S + scssessssessee 43

Hình 3 11: Kiến trúc tong quan Janus GateWayy - 2 2 z+se+xezxerxerxerszree 43

Trang 8

DANH MỤC BANG

Bảng 2 1: Phân loại plugin trong GSr€aIm€T - <5 + s*+xksvvsseeeeeesreere 26

Bang 2 2: Ludng thiết kế Petalinux 2-2-5 2222 E£EEEEEE2EE2EEEEEEEEEEEkerkrrkrrer 27Bảng 2 3: Một số tính năng quan trong của WebRTC ¿5c 5 scs+£s2 +2 30

Bang 3 1: Một vai plugin có trong Janus af€WAY nho 44

Bang 4 1: Bảng so sánh kết quá thực nghiệm local streaming -. 45Bảng 4 2: Bang so sánh kết quả thực nghiệm web streaming - 46Bang 5 1: Tống kết và so sánh với một số nghiên cứu trước đó trong nước 48

Trang 9

DANH MỤC TỪ VIET TAT

Từ viết tắt Tên đầy đủ

AI Artificial Intelligence

ALU Arithmetic Logic Unit

API Application Programming Interface

APU Application Processing Unit

ASIC Application Specific Intergrated Circuit

AXI Advanced eXtensible Interface

Core SW Core SoftWare

CPU Central Processing Unit

DDR4 Double Data Rate fourth generation

DRAM Dynamic Random Access Memory

DTLS Datagram Transport Layer Security

DSP Digital Signal Processor

FPGA Field-Programmable Gate Array

FPS Frame Per Second

HDL Hardware Description Language

HLS High Level Synthesis

HTTP Hypertext Transfer Protocol

HTTPS Hypertext Transfer Protocol Secure

ICE Interactive Communication Establishment

IOU Input Output Unit

IP Internet Protocol

Trang 10

NAT Network Address Translation

OpenCV Open source Computer Vision library

PC Personal Computer

PL Progammable Logic

P2P Peer-to-Peer

RAM Random Access Memory

RTL Register Transfer Level

RTP Real Time Protocol

TURN Traversal Using Relays Around NAT

SDP Session Description Protocol

SAVPF Secure Audio Video Profile with Feedback

SoC System on Chip

SRTP Secure Real Time Protocol

SCTP Stream Control Transmission Protocol

STUN Session Traversal Utilities

TCP Transmission Control Protocol

VHDL Very High Speed Intergrated Circuit Hardware

Description Language

WebRTC Web Real-Time Communication

YOLO You Only Look Once

10

Trang 11

TÓM TẮT KHÓA LUẬN

Ngày nay, những tiến bộ trong công nghệ vi điện tử đã giúp con người có thểtích hợp được nhiều hệ thống phức tạp trong một thiết bị duy nhất Smart cameracũng là một phần của quá trình phát triển này và có thê được định nghĩa là một hệthống được tích hợp thêm nhiều chức năng: truyền tải hình ảnh qua kết nối không

dây, tích hợp thuật toán xử lý ảnh Việc xây dựng smart camera có thê dựa trên nhiều

nền tảng như: FPGA, Embedded system, System on Chip Mỗi công nghệ đều có ưunhược điểm đặc trưng của chúng, đã và đang được nhiều nhóm tác giả, trường học,các công ty lớn cả trong và ngoài nước nghiên cứu, phát triển Các yếu tố cần lưu ýkhi thiết kế smart camera có thể là tốc độ thu nhận và hién thị, độ chính xác, năng

lượng tiêu tốn và giá thành sản phẩm

Trong đề tài này, nhóm muốn sử dụng nền tang System on Chip dé xây dựngmột hệ thống smart camera streaming hình ảnh qua kết nối không dây với độ trễ thấp

và tiệm cận được với thời gian thực Smart camera sẽ tích hợp thêm thuật toán

YOLOv2 xử lý ảnh trên phan cứng FPGA, kết hợp bộ xử lý core ARM và một sốmodule khác dé điều khiển và truyền dé liệu Người dùng có thé xem kết quả trênmàn hình hiển thị thông qua một Wifi Access Point modem

Nhóm đề xuất thiết kế hệ thống smart camera trên bộ công cụ phần mềmVivado phiên bản 2019.2 của Xilinx (bao gồm: Vivado HLS, Vivado Design Suite,Petalinux, Vitis), sử dụng board Ultra96-V2 trên nền tảng Zynq UltraScale+ MPSoCcủa nhà phát hành Avnet Tần số hoạt động mong muốn của hệ thống dat 1SOMHz

và có thé hiển thị kết quả trong thời gian thực

11

Trang 12

Chương 1 GIỚI THIEU DE TÀI

1.1 Lý do chọn đề tài

Thuật ngữ Streaming video lần đầu tiên được sử dụng vào năm 1990 được mô

tả là một kỹ thuật giúp thu thập dữ liệu từ camera sau đó truyền dữ liệu video đó sang

một hoặc nhiều thiết bị nhận thông qua mang internet, được ứng dụng rộng rãi trongthực tế như: các phần mềm (media player, web browser, ) trên các máy khách truy

cập và cho phép xem video từ các máy chủ theo mô hình server/client; các ứng dụng

hội họp trực tuyến, đào tạo từ xa; giám sát, điều khiển từ xa qua hình ảnh theo thời

gian thực, Cho đến nay công nghệ Streaming đang ngày càng được phát triển khôngchỉ dừng lại ở việc truyền tải đữ liệu video mà còn có khả năng tích hợp các thuật

toán thông minh, trí tuệ nhân tạo các hệ thống Streaming này phục vụ trong các lĩnhvực giám sát an ninh và quản lí giao thông Điều này gây khó khăn vì các máy ảnhthông thường chỉ có thế thực hiện việc chụp ảnh thông thường, Đề làm được điều

này, Smart camera đã nổi lên và thu hút được nhiều sự quan tâm từ các nhà nghiên

cứu, trường đại học và nhiều công ty công nghệ, do smart camera mang lại những lợi

thế khác biệt so với máy ảnh thông thường Nó không chỉ dừng lại ở việc thực hiện

việc chụp ảnh thông thường mà còn có khả năng phân tích hình ảnh để nhận dạng vàđưa ra thông tin về một đối tượng nào đó trong ảnh hoặc có thể chỉnh sửa ảnh trựctiếp mà không cần sự can thiệp của con người tất cả điều này đều được tích hợptrong một hệ thống nhỏ gọn

Việc áp dụng các thuật toán thông minh, trí tuệ nhân tạo trong xử lý ảnh vào các

hệ thông Smart camera có khả năng thu được hình ảnh với độ phân giải cao, sau đótruyền đi thông qua một đường truyền ở khoảng cách xa mà ở thiết bị cuối nhận được

hình ảnh với độ trễ không quá cao là một yếu tố khá khó khăn và thu hút nhiều sự

quan tâm đặc biết từ các tô chức thiết kế, nghiên cứu Do đó trong đề tài này, nhómnghiên cứu muốn nghiên cứu và cải tiến hệ thống video streaming cho smart camera

dé có thê truyền hình ảnh streaming (bao gồm hai chế độ: camera hình ảnh thường va

12

Trang 13

camera xử lý thuật toán nhận dạng vật thể) thông qua Wifi Access Point, với một độ

trễ thấp và có khả năng đáp ứng khung hình Full HD

1.2 Một số nghiên cứu liên quan

1.2.1 Nghiên cứu ngoài nước

Hiện nay, các ứng dụng liên quan đên smart camera luôn được các trường đại

học, công ty, tập đoàn lớn ưu tiên nghiên cứu và phát triên Do đó, nhóm có thê dê

dàng tìm được các bài báo khoa học về vân dé này trên internet Một sô bài báo khoa

học gần đây như:

s+ Bài báo [2] “Object Tracking on FPGA-based Smart Camera using Local Oriented

Energy and Phase Feature” của nhóm tác gia Ehsan Norouznezhad, Abbas Bigdeli, Adam Postula, Brian C Lovell vao nam 2010 su dung module camera Micron MT9POO1 trên FPGA Xilinx Virtex-5 ML506 áp dung thuật toán

Histogram đã thu được ảnh với tốc độ 30 FPS và độ phân giải 640 x 480 Ưu điểmcủa hệ thong này là nó có thể phân loại được nhiều đối tượng khi thực hiện hoạtđộng theo dõi, giám sát, FPS tại độ phân giải SD Nhược điểm là cần nhiều thờigian tính toán dé có thê xác định được đối tượng đang cần theo dõi

> > ¢ Bài báo [3] “DreamCam: A modular FPGA-based smart camera architecture” của

nhóm tác gia Merwan Birem, Francois Berry vào năm 2014 sử dung module camera MT9M031, EV76C560 trên FPGA Altera Cyclone HI đã thu được ảnh với

tốc độ 42 FPS và độ phân giải 800 x 1024 Ưu điểm của hệ thống này là khả năngtùy biến kích thước của hình ảnh đầu vào, điều chỉnh được số điểm ảnh cần thiết

và nó sẽ tự biên dịch và tông hợp thành một hệ thống mới Nhược điểm là mất

nhiều bước và nhiều thời gian để có thể xây dựng hệ thống, thiếu các tính năng

theo dõi, nhận diện.

1.2.2 Nghiên cứu trong nước

Luận văn tốt nghiệp [1] “Thiết kế và tích hợp smart camera trên SoC

Ultra96-V2” của nhóm sinh viên Bùi Nguyễn Phát, Lê Minh Huy năm 2021 sử dụng smart

13

Trang 14

camera trên SoC Ultra96-V2 áp dụng thuật toán YOLOv2 Ưu điểm của đề tài này đã

giải quyết được van dé áp dụng YOLOv2 dé xử lí hình anh lấy từ smart camera Tuynhiên kết qua thu được có thời gian delay streaming từ 11.02 — 19.26s với tốc độkhung hình thu được vào khoảng 0.76 — 0.92 FPS Điều này gây ra trở ngại rất lớn ởcuối thiết bị nhận vì dữ liệu lúc ấy không còn nhiều ý nghĩa

Luận văn tốt nghiệp [4] “Thiết kế và hiện thực IP camera trên Zyng-7000” của

sinh viên Chung Vĩnh Kiện năm 2019 sử dụng camera Raspberry Pi trên FPGA

Zynq-7000 đề thu thập hình ảnh và truyền hình ảnh đến người xem qua kết nối Ethernet

Ưu điểm của hệ thống là camera hỗ trợ độ phân giải cao 1280 x 720 với tốc độ khunghình khi streaming ôn định ở mức 5.5-6 FPS Nhược điểm là dé tài này chưa thé tíchhợp thuật toán xử ly AI vào dé nhận dạng được người có trong khung anh

1.3 Mục tiêu đề tài

Ở luận văn này, nhóm sẽ tập trung vào việc tìm hiểu các công nghệ giúp nâng

cao khả năng streaming video của smart camera trên SoC Ultra96-V2 thông qua

đường truyền Internet theo thời gian thực giữa hai hay nhiều thiết bị nhận Đồng thời

nâng cao tốc độ khung hình trên thiết bị nhận Dé đáp ứng được các yêu cầu như trên,

nhóm đê ra những mục tiêu cụ thê sau:

s* Nhóm sẽ kế thừa lại thiết kế phần cứng trên SoC Ultra96-V2 từ luận văn [1] “Thiết

kế tích hợp trên Ultra96-V2 cho smart camera” của nhóm sinh viên Bùi NguyễnPhát và Lê Minh Huy dé nghiên cứu, phục vụ cho việc cái tiễn khả năng streamingcho hệ thống tích hợp trên Ultra96-V2 cho smart camera

> ** Tiếp theo nhóm tim hiểu các đặc tính của SoC Ultra96-V2 của Avnet phân phối

dựa trên hệ thống Zynq UltraScale+ MPSoC do Xilinx phát hành Đồng thời tìm

hiểu thêm bộ công cụ Xilinx Vivado (bao gồm Vivado HLS, Vitis, Vivado DesignSuite) dùng dé hồ trợ cho việc thiết kế và xây dựng các chương trình ứng dụng

trên board Ultra96-V2.

14

Trang 15

> >* Kế tiếp nhóm tim hiểu và xây dựng hệ điều hành Linux, sau đó nạp lên board

Ultra96-V2 bằng công cu Petalinux của Xilinx phát hành dé điều khiển hoạt động

của cả hệ thống

* Nhóm nghiên cứu, cải tiến luồng pipeline GStreamer dé thực hiện việc truyền

hình ảnh streaming thông qua mạng Internet đạt được độ trễ thấp nhất

* Tìm hiểu và xây dựng một hệ thống cloud server đáp ứng được việc nhận và xử

lý dữ liệu hình ảnh từ mạng Internet Đồng thời xây dựng một máy chủ HTTP để

hién thị hình anh streaming lên trình duyệt web.

s* Cuối cùng nhóm viết các chương trình phần mềm bằng Vitis và nạp lên hệ điều

hành Linux trên board Ultra96-V2 để điều khiển hoạt động hệ thống Nhóm sẽ

>

thuc hién kiém tra hé thong, danh gia va dua ra cac kết luận dựa trên các kết quả

thử nghiệm.

1.4 Giới hạn đề tài

Do thời gian hạn chế trong quá trình làm luận văn nên đối với việc streaming

video chất lượng khung hình Full HD, dé tài này sẽ thực nghiệm dé có kết quả thực

tẾ, không tập trung vào việc đánh giá tốc độ và độ trẻ khi thực hiện streaming video

vì van dé này đòi hỏi tài nguyên phan cứng và phan xử lý lập trình multiple threading

cho các ứng dụng trên thiết bị đầu cuối (máy tính, thiết bị di động ) để chứng minh

khả năng hiện thực của smart camera trên KIT SoC Ultra96-V2 với FPGA ZCU3.

1.5 Kết quả mong muốn

Ở đề tài này nhóm sẽ tập trung vào việc cải tiến chất lượng video streaming khi

thực hiện việc streaming ở khung hình HD trong trường hợp có xử lý AI và không xử

lý AI thông qua mạng Internet sau đó hién thị hình ảnh này trên trình duyệt web cho

phép một hoặc nhiều thiết bị đầu cuối đồng thời có thể xem được Độ trễ mong muốntrên thiết bị nhận tiệm cận với thời gian thực đối với trường hợp video không xử lý

AI Còn về trường hợp xử lý AI, độ trễ khi streaming video ở độ phân giải HD trênthiết bị đầu cuối nhỏ hơn khoảng đưới 7 giây và hệ thống có khả năng đáp ứng được

video có chất lượng khung hình Full HD

15

Trang 16

1.6 Bo cục luận văn

Báo cáo này được chia làm năm chương, mỗi chương có nội dung được trình

bày như sau:

Chương 1: Giới thiệu đề tài

Chương đâu tiên sẽ giới thiệu tông quan về đê tài khóa luận, lý do nhóm chọn

đê tài này, mục tiêu đê ra của nhóm, những giới hạn của đê tài và kêt quả thực hiện

mà nhóm đạt được.

Chương 2: Cơ sở lý thuyết liên quan đến đề tài

Chương nảy trình bày những cơ sở lý thuyết được sử dụng có liên quan đến nộidung nghiên cứu của dé tài, những thông tin này dựa vào các nguồn tài liệu nhóm timkiếm được trên Internet, tham khảo các tài liệu có sẵn trên website của khoa KTMT

cũng như những góp ý của các thầy cô, anh chị bao gồm: kiến thức chung về FPGA,

smart camera, tìm hiểu về các kỹ thuật streaming video dé từ đó có thé chọn ra kỹthuật phù hợp nhất với mục tiêu đề ra ban đầu của đề tài, cuối cùng sẽ đưa ra các đềsuất phù hợp nhất

Chương 3: Thiết kế hệ thống

Dựa vào những kiến thức về cơ sở lý thuyết đã tìm hiểu được ở Chương 2 thì ở

Chương 3 này nhóm sẽ đề xuất một mô hình hệ thống một cách chỉ tiết của khóa luận.Giải thích nguyên lí hoạt động của cả hệ thống

Chương 4: Hiện thực, thực nghiệm và đánh giá kết quả

Sau khi đã xây dựng được hệ thống, nhóm tiến hành các bước chạy thử, thựcnghiệm thu được các kết quả sau đó thực hiện việc đánh giá, so sánh với mục tiêu banđầu của đề tài cũng như so sánh với kết quả thực nghiệm của đề tài trước

Chương 5: Kết luận và hướng phát triển

Chương cuối sẽ tổng kết lại khóa luận, tóm tắt toàn bộ những công việc mà

nhóm đã hoàn thành, những kết quả và thành tích đạt được Đồng thời chương này

16

Trang 17

nhóm sẽ đưa ra đề xuất cho những hướng phát triển tiếp theo của đề tài trong tương

lai.

17

Trang 18

Chuong 2 CƠ SỞ LÝ THUYET

2.1 Field Programmable Gate Array (FPGA)

ra - I/O (input/output) Chip FPGA dau tiên chứa 64 CLBs và 58 I/Os Ngày nay,

FPGA có thê chứa khoảng 330,000 CLBs và 1100 I/Os Phần lớn các sản pham FPGA

trên thị trường hiện nay đều dựa trên công nghệ SRAM với 2 hãng sản xuất lớn nhất

là Xilinx và Altera Ngoài ra còn có các hãng khác sản xuất FPGA nhưng với mục

đích chuyên dụng (Atmel, Actel, Lattice, SiliconBlue, ).

Kiến trúc cơ bản của FPGA bao gồm 3 thành phần chính:

e Khối logic có thé tái cau hình, Configurable Logic Blocks (CLBs) thực

hién cac chire nang logic.

e Các tài nguyên kết nối, Porgrammable Interconnect có thé lập trình dé

kết nối các đầu vào và đầu ra của các CLB và các khối I/O bên trong.

© Các khối I/O cung cấp giao tiếp giữa các ngoại vi và các đường tín hiêu

bên trong.

FPGA cũng được xem như một loại vi mạch bán dẫn chuyên dung ASIC, nhưng

nếu so sánh FPGA với những ASIC đặc chế hoàn toàn hay ASIC thiết kế trên thưviện logic thì FPGA không dat đựợc mức độ tối ưu như những loại này và còn hạnchế trong khả năng thực hiện những tác vụ đặc biệt phức tạp Tuy vậy FPGA ưu việt

hơn ở chỗ có thé tái cấu trúc lại khi đang sử dung, công đoạn thiết kế đơn giản do vậy

chi phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng

18

Trang 19

Thiết kế hay lập trình cho FPGA được thực hiện chủ yếu bằng các ngôn ngữ

mô tả phần cứng HDL như VHDL, Verilog, AHDL Các hãng sản xuất FPGA lớnnhư Xilinx, Altera thường cung cấp các gói phần mềm và thiết bị phụ trợ cho quátrình thiết kế Ngoài ra cũng có một số hãng thứ ba cung cấp các gói phần mềm kiểunày như Synopsys, Synplify Các gói phần mềm này có khả năng thực hiện tất cảcác bước của toàn bộ quy trình thiết kế IC chuẩn với đầu vào là mã thiết kế trên HDL

(còn gọi là ma RTL).

2.1.2 Kiến trúc tổng quát

Kiến trúc cơ bản của FPGA gồm 3 thành phan chính sau: Khối I/O (hay gọi làcác pin FPGA), khối kết nối (Interconnection), các khối logic cau hình (Logic Blockshoặc Configurable Logic Blocks - CLB) Các khối CLB được tổ chức sắp xếp theo

mảng với 2 hướng dọc va ngang như Hình 2.1.

Hình 2 1: Kiến trúc cơ bản của FPGA

19

Trang 20

Khối CLB: thực thi các chức năng logic, cung cấp các tính toán và phan tửnhớ cơ bản được sử dụng trong hệ thống số CLBs là phan tử cơ bản cau thành FPGA,

là nguồn tài nguyên logic chính tạo nên các mạch logic đồng bộ lẫn không đồng bộ

Một CLB cơ bản gồm một mạch tổ hợp có thé lập trình (còn gọi là LUT), một

Flip-Flop hoặc một chốt (latch) LUT (Look Up Table) là khối logic có thé thực hiện bat

kì hàm logic nào từ 4 đầu vào (số đầu vào này sẽ tùy thuộc vào từng dòng chip củamỗi hãng) Kết quả của hàm này tùy vào mục đích mà gửi ra ngoài khối logic trựctiếp hay thông qua phan tử nhớ flip-flop Ngoài khối logic cơ bản đó, nhiều chipFPGA hiện nay còn có một hỗn hợp các khối khác nhau, một số trong đó chỉ đượcdùng cho các chức năng cụ thể, chăng hạn như các khối bộ nhớ chuyên dụng, các bộnhân (multipliers) hoặc các bộ ghép kênh (multiplexers) Tắt nhiên, cấu hình bộ nhớđược sử dụng trên tất cả các khối logic được dùng dé điều khiến các chức năng cụ thểcủa mỗi phan tử bên trong khối đó

Khối kết nối (Interconnections): dùng dé liên kết các khối logic và I/O lại với

nhau dé tạo thành một thiết kế hoàn chỉnh Mạng liên kết trong FPGA được cấu thành

từ các đường kết nối theo hai phương ngang và đứng Tùy theo từng loại FPGA mà

các đường kết nối được chia thành các nhóm khác nhau Các đường kết nối được nốivới nhau thông qua các khối chuyên mạch lập trình được (programmable switch)

Trong mỗi khối chuyển mạch chứa một số lượng nút chuyên lập trình được đảm bảocho các dạng liên kết phức tạp khác nhau

Khối I/O: cung cấp giao tiếp giữa các khối logic và kiến trúc định tuyến đến cácthành phần bên ngoài Một trong những vấn đề quan trọng nhất trong thiết kế kiến

trúc I/O là việc lựa chọn các tiêu chuẩn điện áp cung cấp và điện áp tham chiếu sẽđược hỗ trợ Số lượng Pin (I/O) của FPGA tương đối lớn, thường được chia ra làm 2

loại: User Pin (chân người dùng), Dedicated Pin (chân chuyên dung) User Pin: người dùng có thê lập trình như đâu vao, dau ra hoặc ca đâu vào — ra Môi pin được kết nôi

20

Trang 21

với một “I/O Cell” bên trong FPGA, được cấp bởi các chân Vee I/O (I/O power pin).

Dedicated Pin: được mã hóa cứng với một chức năng cụ thé như:

+ Power Pin.

%* Configuration Pin: các pin dé cấu hình FPGA

“ Dedicated Input hay Clock Pin: điều khiển mang lưới clock trong FPGA

Voltage IO: cấp nguồn cho các công logic va flip-flops bên trong FPGA

Theo thời gian, các kiến tric FPGA co bản đã được phát triển nhiều hơn thôngqua việc bố sung các khối chức năng đặc biệt có thể lập trình như bộ nhớ BlockRAMs, logic số học (ALU), bộ nhân, DSP-48 và thậm chí là bộ vi xử lý nhúng đượcthêm vào do nhu cầu của các nguồn tài nguyên cho một ứng dụng Kết qua là nhiềuFPGA ngày nay có nhiều nguồn tài nguyên hơn so với các FPGA trước đó

2.2 Giới thiệu về Streaming Video

Streaming Video hiện nay là một dạng truyền thông đa phương tiện được sử

dụng rộng rãi trên các ứng dụng Internet thời gian gần đây Ngay từ khi ra đời, kỹthuật streaming video đã được áp dụng vào các phần mềm phục vụ nhu cầu giải trí,

những ứng dụng hỗ trợ cho việc hội họp trực tuyến, giám sát an ninh, thị giác máy

trong công nghiệp, robot, hệ thống nhà thông minh, quản lý và điều khiển trong cácdoanh nghiệp, cơ quan, tổ chức trở nên dé dàng và hiệu quả hơn Đặc biệt là các ứngdụng được xây dựng dựa trên các hệ thống nhúng trên phần cứng

Đây là kỹ thuật cho phép bat kỳ nội dung video nào được vận chuyên thông qua

mạng Internet Các nội dung này có thể là chương trình TV, phim, video ngắn,

Các nền tảng giải trí như Youtube, Netflix, media player, web browser cũng sử dụng

kỹ thuật streaming video trên máy người dùng truy cập và phát video từ một hệ thống

máy chủ.

21

Trang 22

Eaw Audio Compression

Raw Video Compression | „| : PF M Qo5 Control

Video QoS Control

Audio | )

Compressed {

(7 Internet N

X (Continuous media distribution services) a

Hinh 2 2: Kién tric co ban vé streaming video

Về bản chat, streaming video trực tiếp qua Internet bao gồm một camera ghi lại

nội dung, sự kiện cân phát sau đó sử dụng các bộ mã hóa đê sô hóa các nội dung này, một streamer server sẽ đóng vai trò là nơi truyền dir liệu qua mạng Internet đên một mạng lưới phân phôi nội dung đề phân phôi và cung câp nội dung đên với người xem.

Streaming video mang lại một sô ưa điêm sau:

Chất lượng trải nghiệm tối ưa: người dùng có thể dễ dàng xem các video mà không cân phải tải các video này với chất lượng hình ảnh và âm thanh rõ ràng.

Hồ trợ độ phân giải cao: một vài dịch vụ hỗ trợ độ phân giải lên đến HD hoặc Full HD, đây là độ phân giải cao hơn độ phân giải tiêu chuẩn trên TV.

Tối ưu vệ chi phí: sự xuất hiện của công nghệ streaming video giúp chúng ta có

thê kết nối với nhau qua một thiết bị, phố biến nhất hiện nay là smartphone Một

số dịch vụ phát trực tuyến video như Youtube hoặc Twitch có thể được sử dụng

một cách hoàn toàn miễn phí.

Hỗ trợ đa thiết bi, đa nền tang: người dùng có thé xem bat cứ nơi đâu và bat cứ

lúc nào, trên mọi nên tảng thiết bị có hỗ trợ kết nối Internet

Hiệu quả tương tác cao: ghi lại và phát ngay lập tức các sự kiện đang diễn ra giúp

việc tiếp cận đến các đối tượng mong muôn trở nên dễ dàng hơn bao giờ hết, tăng

khả năng tương tác trao đổi với nhiều người dùng.

2.3 Smart camera

Smart camera là một hệ thống thị giác máy, ngoài khả năng chụp ảnh như trên

các camera bình thường thì nó còn có khả năng trích xuất thông tin dành riêng cho

22

Trang 23

các ứng dụng từ các hình ảnh đã chụp, chỉnh sửa các hiệu ứng, loại bỏ các phần thừa,

nhận diện khuôn mặt, sử dụng bộ lọc hình ảnh hoặc thực hiện các tính năng xử lý ảnh

khác, cùng với việc tạo mô tả sự kiện hoặc đưa ra các quyết định được sử dụng trong

các hệ thống tự động và thông minh Smart camera là một hệ thống thị giác độc lập,khép kín với cảm biến hình ảnh được tích hợp bên trong vỏ máy Các cảm biến hìnhảnh có thé được tích hợp bên trong một phan cứng duy nhất được gọi là bộ xử lý hìnhảnh thông minh Bộ xử lý này chứa tất cả các giao diện truyền thông cần thiết như

Ethernet, các chân I/O 24V dé kết nối với PLC dùng trong công nghiệp

s* Hiệu suất bộ xử lý: Một số loại smart camera có hiệu suất xử lý ngang bằng với

khả năng xử lý của một hệ thống dựa trên máy tính cá nhân Smart camera bao

gồm các bộ xử lý có san như DSP, PowerPC, Atom Ngoài ra còn có các tủy chọn

kết hợp như CPU và bộ đồng xử lý DSP cho một số thuật toán nhất định

+ Kích thước: Nhiều thành phan trong smart camera được tích hợp vào một bộ phận

duy nhất, giúp giảm kích thước giá thành sản phẩm

23

Trang 24

> > » Cam biên hình anh: Ban chat của smart camera van là một máy ảnh, nhưng nó

không chi dừng lại ở việc thu nhận ảnh mà còn quét ảnh với tần số lên đến 10

kHz.

* Phần mềm: Hau hết các smart camera ngày nay đều được cài đặt các phần mềm

giúp người dùng dễ dàng thao tác hơn trong việc xử lý ảnh.

% Độ bền: Độ bền của smart camera phụ thuộc rất nhiều vào môi trường mà nó được

triển khai Nhưng các nhà sản xuất luôn trang bị một số tính năng cơ bản giúp hạnchế hư hỏng của smart camera như chống nước, chống va đập, chống bụi

* > ~ Khả năng kết nôi: Moi smart camera déu được trang bị các công giao tiêp g1úp

kết nối hoặc điều khién các thiết bi khác trong hệ thống, truyền nhận dữ liệu một

cách dễ dàng hơn.

> ** Kha năng đưa ra quyết định: Ngày nay, các smart camera có thé có đủ mọi hình

dạng, kích thước và hiệu suất nhưng tất cả chúng đều có một thuộc tính chung làkhả năng xử lý ảnh và đưa ra quyết định Chính việc đưa ra quyết định làm chomột chiếc máy ảnh bình thường trở nên thông minh hơn Ngoài ra, smart cameracòn giúp tiết kiệm chỉ phí, dễ tích hợp và mang lại hiệu suất cao nên nó luôn làmột lựa chọn hàng đầu cho các ứng dụng về thị giác máy tính

2.4 GStreamer

2.4.1 Kiến trúc của GStreamer

GStreamer là một framework mã nguồn mở cho phép người dùng có thê xây

dựng các ứng dụng truyền thông trực tuyến: Trình phát video/audio, StreamingServer, ứng dụng hỗ trợ chat video GStreamer framework được thiết kế nhằm giúp

người dùng có thé thiết kế các ứng dụng xử lý video hoặc âm thanh hoặc cả hai bangcách cung cấp CLI (Commmand Line Interface) cho phép sử dụng plugin cung cấp

các chức năng codec khác nhau và các chức năng khác.

24

Ngày đăng: 03/11/2024, 17:37