Khóa luận: Nghiên cứu và Cải tiến Video Streaming cho Smart Camera trên SoCal Ultra96-V2

Khóa luận kỹ thuật máy tính: Nghiên cứu và cải tiến video streaming cho smart camera trên Ultra96 V2. Tối ưu hóa hiệu suất truyền tải video.

Chuyên ngành

Kỹ Thuật Máy Tính

Người đăng

Ẩn danh

Thể loại

Khóa Luận Tốt Nghiệp

2021

49
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

MỤC LỤC

1. CHƯƠNG I. GIỚI THIEU ĐÈ TÀI

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

1.1.1. Nghiên cứu ngoài nước

1.1.2. Nghiên cứu trong nước

1.2. Mục tiêu đề tải

1.3. Giới hạn đề tài

1.4. KẾt quả mong muốn

1.5. Bố cục luận văn

2. Field Programmable Gate Array (FPGA)

2.1. Kiến trúc tổng quát

2.2. Giới thiệu về Streaming VideO

2.3. Smart CAIT€FA

2.4. Kiến trúc của GStreamer

2.5. Quá trình phát triỀn

2.6. Kiến trúc WebRTC

2.6.1. Các APIs trong WeblRTC

2.6.2. Một số giao thức trong WeblRTC

3. CHƯƠNG 3. THIẾT KE HE THÓNG

3.1. Zynq UltraScale+ MPSOC

3.2. Thiết kế tong quát của hệ thống

3.3. Xây dựng luồng streaming bằng GStreamer

3.4. Web Browser Streaming

3.5. Xây dựng các chương trình trên Cloud S€TVeT

3.6. Janus Œaf€WA

4. CHƯƠNG 4. HIỆN THUC, THỰC NGHIỆM VÀ ĐÁNH GIÁ KET QUA

4.1. Kết quả thực nghiệm trên Local Streaming

4.2. Kết quả thực nghiệm trên Web BroWSer

5. CHƯƠNG 5. KÉT LUẬN VÀ HƯỚNG PHAT TRIEN

5.1. Kết quả dat Gu

5.2. Hướng phát triÊn

DANH MỤC HÌNH

DANH MỤC BANG

DANH MỤC TỪ VIET TAT

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

GIỚI THIEU DE TÀI

Tóm tắt

I. Tổng Quan Cải Tiến Video Streaming Smart Camera Ultra96 V2

Bài viết này tập trung vào việc cải tiến video streaming cho smart camera Ultra96-V2, hướng đến mục tiêu truyền tải hình ảnh chất lượng cao với độ trễ thấp, tiệm cận thời gian thực. Công nghệ streaming video ngày càng phát triển, không chỉ dừng lại ở việc truyền tải dữ liệu mà còn tích hợp các thuật toán thông minh và trí tuệ nhân tạo (AI). Điều này mở ra ứng dụng rộng rãi trong giám sát an ninh, quản lý giao thông và nhiều lĩnh vực khác. Smart camera, với khả năng phân tích và xử lý hình ảnh trực tiếp, đang thu hút sự quan tâm lớn từ các nhà nghiên cứu và công ty công nghệ. Mục tiêu chính là tối ưu hóa hiệu suất truyền tải video, đặc biệt là khi tích hợp các thuật toán xử lý ảnh phức tạp như object detection video streaming Ultra96-V2. Việc đạt được độ phân giải cao (high resolution video streaming Ultra96-V2) với độ trễ thấp là một thách thức lớn, đòi hỏi sự kết hợp giữa phần cứng và phần mềm. Nghiên cứu này sử dụng nền tảng System on Chip (SoC) Ultra96-V2 để xây dựng hệ thống smart camera streaming hình ảnh qua kết nối không dây, hướng đến đáp ứng khung hình Full HD. Công cụ phần mềm Vivado phiên bản 2019.2 của Xilinx, bao gồm Vivado HLS, Vivado Design Suite, Petalinux, Vitis, được sử dụng trên board Ultra96-V2 trên nền tảng Zynq UltraScale+ MPSoC.

1.1. Giới thiệu công nghệ Video Streaming cho Smart Camera

Streaming video là kỹ thuật truyền tải nội dung video qua mạng Internet, cho phép người dùng xem video mà không cần tải xuống toàn bộ. Kỹ thuật này đã được ứng dụng rộng rãi trong các phần mềm giải trí, hội họp trực tuyến, giám sát an ninh và nhiều lĩnh vực khác. Các nền tảng như Youtube, Netflix sử dụng streaming video để cung cấp nội dung đến người dùng. Việc tích hợp các thuật toán thông minh và trí tuệ nhân tạo vào streaming video mở ra nhiều tiềm năng mới, đặc biệt trong các ứng dụng giám sát và quản lý. Điều này đòi hỏi smart camera phải có khả năng xử lý hình ảnh trực tiếp và truyền tải dữ liệu với độ trễ thấp.

1.2. Ưu điểm của Smart Camera Ultra96 V2

Smart camera là một hệ thống thị giác máy tích hợp nhiều chức năng, bao gồm chụp ảnh, xử lý ảnh, và truyền tải dữ liệu qua kết nối không dây. Smart camera Ultra96-V2 sử dụng nền tảng System on Chip (SoC), cho phép tích hợp nhiều thành phần phần cứng và phần mềm trên một chip duy nhất. Điều này giúp giảm kích thước, chi phí và năng lượng tiêu thụ. Smart camera có khả năng phân tích hình ảnh, nhận dạng đối tượng, và đưa ra quyết định, làm cho nó trở nên thông minh hơn so với các camera thông thường. Việc áp dụng các thuật toán thông minh và trí tuệ nhân tạo (Smart Camera Ultra96-V2 AI) vào smart camera cho phép thu được hình ảnh với độ phân giải cao và truyền tải đi xa với độ trễ thấp.

II. Thách Thức Cải Thiện Video Streaming trên Ultra96 V2

Việc cải tiến video streaming trên Ultra96-V2 đối diện với nhiều thách thức. Thứ nhất, việc đạt được low latency video streaming Smart Camera Ultra96-V2 là một yêu cầu quan trọng, đặc biệt trong các ứng dụng thời gian thực. Độ trễ cao có thể làm giảm giá trị của thông tin và ảnh hưởng đến trải nghiệm người dùng. Thứ hai, việc bandwidth optimization video streaming Smart Camera là cần thiết để đảm bảo truyền tải video mượt mà trên các mạng có băng thông hạn chế. Thứ ba, việc tích hợp các thuật toán xử lý ảnh phức tạp như object detection video streaming Ultra96-V2 có thể làm tăng độ trễ và yêu cầu tài nguyên tính toán lớn. Cuối cùng, việc đảm bảo chất lượng hình ảnh cao (high resolution video streaming Ultra96-V2) đòi hỏi sự cân bằng giữa độ phân giải, tốc độ khung hình và độ trễ. Các giải pháp cần phải tối ưu hóa cả phần cứng và phần mềm để đáp ứng các yêu cầu này.

2.1. Vấn đề độ trễ Latency trong Video Streaming

Độ trễ (latency) là một trong những thách thức lớn nhất trong video streaming. Độ trễ cao có thể làm giảm giá trị của thông tin, đặc biệt trong các ứng dụng yêu cầu thời gian thực như giám sát an ninh, điều khiển từ xa. Các yếu tố ảnh hưởng đến độ trễ bao gồm: thời gian mã hóa và giải mã video (video encoding Ultra96-V2, video decoding Ultra96-V2), thời gian truyền tải dữ liệu qua mạng, và thời gian xử lý trên thiết bị đầu cuối. Việc giảm độ trễ đòi hỏi sự tối ưu hóa cả phần cứng và phần mềm, bao gồm sử dụng các codec hiệu quả, giảm thiểu thời gian xử lý trên thiết bị, và tối ưu hóa giao thức truyền tải.

2.2. Giới hạn về băng thông và tài nguyên trên Ultra96 V2

Ultra96-V2 có giới hạn về băng thông và tài nguyên tính toán. Băng thông hạn chế có thể làm giảm chất lượng video và tăng độ trễ. Các thuật toán xử lý ảnh phức tạp yêu cầu tài nguyên tính toán lớn, có thể làm chậm quá trình xử lý và truyền tải video. Việc bandwidth optimization video streaming Smart Camera là cần thiết để đảm bảo truyền tải video mượt mà trên các mạng có băng thông hạn chế. Các giải pháp bao gồm: sử dụng các codec hiệu quả, giảm độ phân giải video, giảm tốc độ khung hình, và sử dụng các kỹ thuật nén dữ liệu.

2.3. Tích hợp các thuật toán xử lý ảnh AI

Tích hợp các thuật toán xử lý ảnh AI (Smart Camera Ultra96-V2 AI) như nhận dạng đối tượng, theo dõi đối tượng, và phân tích hình ảnh có thể làm tăng độ trễ và yêu cầu tài nguyên tính toán lớn. Các thuật toán AI thường đòi hỏi nhiều phép tính toán phức tạp, có thể làm chậm quá trình xử lý video. Việc hardware acceleration video streaming Ultra96-V2 có thể giúp giảm độ trễ và tăng hiệu suất xử lý. Các giải pháp bao gồm: sử dụng các bộ xử lý chuyên dụng như FPGA video streaming Ultra96-V2, tối ưu hóa các thuật toán AI, và sử dụng các kỹ thuật song song hóa.

III. Giải Pháp Tối Ưu Video Streaming GStreamer trên Ultra96 V2

Để tối ưu video streaming trên Ultra96-V2, bài viết đề xuất sử dụng GStreamer, một framework đa phương tiện mạnh mẽ và linh hoạt. GStreamer cho phép xây dựng các pipeline xử lý video phức tạp bằng cách kết nối các thành phần (elements) khác nhau. Các elements có thể thực hiện các chức năng như mã hóa, giải mã, chuyển đổi định dạng, và truyền tải dữ liệu. Việc sử dụng GStreamer giúp tối ưu hóa hiệu suất truyền tải video, giảm độ trễ, và tăng chất lượng hình ảnh. Bên cạnh đó, việc kết hợp với hardware acceleration video streaming Ultra96-V2 giúp tăng tốc độ xử lý và giảm tải cho CPU. Các codec như H.264 streaming Ultra96-V2H.265 streaming Ultra96-V2 cũng được xem xét để tối ưu hóa hiệu suất nén và giải nén video.

3.1. Xây dựng Pipeline GStreamer hiệu quả

Xây dựng pipeline GStreamer hiệu quả là yếu tố quan trọng để tối ưu video streaming. Pipeline cần được thiết kế để giảm thiểu thời gian xử lý trên mỗi element. Việc lựa chọn các element phù hợp và kết nối chúng một cách tối ưu có thể giúp tăng hiệu suất truyền tải video. Ví dụ, sử dụng element v4l2src để capture hình ảnh từ camera, element x264enc để mã hóa video sang định dạng H.264, và element rtph264pay để đóng gói video thành các gói RTP. Việc sử dụng element udpsink để truyền các gói RTP lên mạng Internet qua giao thức UDP cũng giúp giảm độ trễ.

3.2. Tối ưu hóa Codec Video H.264 H.265

Việc lựa chọn và tối ưu hóa codec video có ảnh hưởng lớn đến hiệu suất video streaming. H.264 streaming Ultra96-V2H.265 streaming Ultra96-V2 là hai codec phổ biến được sử dụng trong video streaming. H.265 có hiệu suất nén tốt hơn H.264, cho phép giảm băng thông cần thiết để truyền tải video. Tuy nhiên, H.265 yêu cầu tài nguyên tính toán lớn hơn. Việc lựa chọn codec phù hợp phụ thuộc vào yêu cầu cụ thể của ứng dụng và tài nguyên có sẵn trên Ultra96-V2. Tối ưu hóa các thông số codec như bitrate, frame rate, và resolution cũng có thể giúp cải thiện hiệu suất truyền tải video.

3.3. Ứng dụng Hardware Acceleration cho Video Streaming

Hardware acceleration video streaming Ultra96-V2 là một kỹ thuật quan trọng để tăng tốc độ xử lý video và giảm tải cho CPU. Ultra96-V2 có thể sử dụng FPGA video streaming Ultra96-V2 để thực hiện các chức năng như mã hóa, giải mã, và chuyển đổi định dạng video. Việc sử dụng FPGA giúp tăng tốc độ xử lý và giảm độ trễ. Các công cụ như Vivado HLS và Vitis có thể được sử dụng để phát triển các ứng dụng hardware acceleration trên FPGA. Điều này cho phép tận dụng tối đa khả năng của Ultra96-V2 để đạt được hiệu suất video streaming tối ưu.

IV. Triển Khai Video Streaming Thời Gian Thực WebRTC trên Ultra96 V2

Việc triển khai real time video streaming Ultra96-V2 bằng WebRTC mang lại nhiều lợi ích, bao gồm độ trễ thấp và khả năng tương tác cao. WebRTC là một framework mã nguồn mở cho phép truyền thông thời gian thực trên web. WebRTC sử dụng các giao thức như RTSP streaming Ultra96-V2WebRTC streaming Ultra96-V2 để truyền tải video. Việc sử dụng WebRTC giúp giảm độ trễ và tăng chất lượng hình ảnh. Tuy nhiên, WebRTC yêu cầu một máy chủ báo hiệu (signaling server) để thiết lập kết nối giữa các client. Các máy chủ như Janus có thể được sử dụng để triển khai các ứng dụng WebRTC.

4.1. Sử dụng WebRTC cho độ trễ cực thấp

WebRTC được thiết kế để cung cấp độ trễ cực thấp trong video streaming. WebRTC sử dụng các giao thức như UDP và SCTP để truyền tải dữ liệu. Việc sử dụng UDP giúp giảm độ trễ, nhưng có thể làm giảm độ tin cậy của truyền tải. WebRTC sử dụng các kỹ thuật như mã hóa và giải mã video thời gian thực để giảm độ trễ. Các API của WebRTC như RTCPeerConnection, MediaStream, và RTCDataChannel cho phép xây dựng các ứng dụng real time video streaming Ultra96-V2 với độ trễ thấp.

4.2. Tích hợp Janus Gateway WebRTC cho Ultra96 V2

Janus là một máy chủ WebRTC đa năng, có khả năng tùy biến cao, và cung cấp sẵn một số tính năng độc đáo thông qua hệ thống các plugin. Janus có thể được tích hợp vào Ultra96-V2 để triển khai các ứng dụng WebRTC. Việc sử dụng Janus giúp đơn giản hóa quá trình triển khai và quản lý các kết nối WebRTC. Janus cung cấp các plugin cho phép truyền tải video, âm thanh, và dữ liệu. Việc sử dụng Janus giúp tận dụng tối đa khả năng của WebRTC để đạt được hiệu suất video streaming tối ưu.

4.3. Ứng dụng Smart Camera Ultra96 V2 trong thực tiễn

Smart Camera Ultra96-V2 applications rất đa dạng, bao gồm giám sát an ninh, điều khiển từ xa, và thị giác máy. Trong giám sát an ninh, smart camera có thể được sử dụng để phát hiện xâm nhập, theo dõi đối tượng, và phân tích hành vi. Trong điều khiển từ xa, smart camera có thể được sử dụng để quan sát và điều khiển các thiết bị từ xa. Trong thị giác máy, smart camera có thể được sử dụng để nhận dạng đối tượng, kiểm tra chất lượng, và điều khiển robot. Các ứng dụng này đòi hỏi video streaming với độ trễ thấp và chất lượng hình ảnh cao. Việc cải tiến video streaming trên Ultra96-V2 có thể mở ra nhiều cơ hội mới cho các ứng dụng smart camera.

V. Kết Quả Nghiên Cứu Đánh Giá Hiệu Năng Video Streaming

Kết quả nghiên cứu cho thấy việc sử dụng GStreamer và WebRTC có thể cải thiện đáng kể hiệu suất video streaming trên Ultra96-V2. Độ trễ đã được giảm xuống mức thấp, tiệm cận thời gian thực. Chất lượng hình ảnh đã được cải thiện, đạt được độ phân giải cao với tốc độ khung hình ổn định. Các thuật toán xử lý ảnh AI đã được tích hợp thành công, cho phép thực hiện các chức năng như nhận dạng đối tượng và theo dõi đối tượng. Các kết quả này chứng minh tính khả thi của việc xây dựng các ứng dụng smart camera tiên tiến trên nền tảng Ultra96-V2.

5.1. Đo lường độ trễ và tốc độ khung hình

Độ trễ và tốc độ khung hình là hai yếu tố quan trọng để đánh giá hiệu suất video streaming. Các thử nghiệm đã được thực hiện để đo lường độ trễ và tốc độ khung hình trong các cấu hình khác nhau. Kết quả cho thấy độ trễ đã được giảm xuống mức thấp, tiệm cận thời gian thực. Tốc độ khung hình đã được cải thiện, đạt được mức ổn định và đáp ứng yêu cầu của các ứng dụng. Các kết quả này chứng minh tính hiệu quả của các giải pháp được đề xuất.

5.2. So sánh với các nghiên cứu trước

Các kết quả nghiên cứu đã được so sánh với các nghiên cứu trước để đánh giá tính ưu việt của các giải pháp được đề xuất. Kết quả cho thấy độ trễ đã được giảm xuống mức thấp hơn so với các nghiên cứu trước. Chất lượng hình ảnh đã được cải thiện, đạt được độ phân giải cao hơn so với các nghiên cứu trước. Các thuật toán xử lý ảnh AI đã được tích hợp thành công, cho phép thực hiện các chức năng tiên tiến hơn so với các nghiên cứu trước. Các kết quả này chứng minh tính cạnh tranh của các giải pháp được đề xuất.

5.3. Ảnh hưởng của các yếu tố phần cứng và phần mềm

Các yếu tố phần cứng và phần mềm có ảnh hưởng lớn đến hiệu suất video streaming. Việc sử dụng FPGA video streaming Ultra96-V2 giúp tăng tốc độ xử lý và giảm độ trễ. Việc lựa chọn và tối ưu hóa codec video cũng giúp cải thiện hiệu suất truyền tải video. Việc xây dựng pipeline GStreamer hiệu quả giúp giảm thiểu thời gian xử lý trên mỗi element. Việc tích hợp Janus Gateway WebRTC giúp đơn giản hóa quá trình triển khai và quản lý các kết nối WebRTC. Các yếu tố này cần được xem xét và tối ưu hóa để đạt được hiệu suất video streaming tối ưu.

VI. Kết Luận Hướng Phát Triển Cải Tiến Video Streaming

Nghiên cứu này đã thành công trong việc cải tiến video streaming cho smart camera Ultra96-V2. Các giải pháp được đề xuất đã giúp giảm độ trễ, tăng chất lượng hình ảnh, và tích hợp các thuật toán xử lý ảnh AI. Kết quả này mở ra nhiều cơ hội mới cho các ứng dụng smart camera tiên tiến. Trong tương lai, nghiên cứu sẽ tập trung vào việc tối ưu hóa các thuật toán AI, cải thiện hiệu suất truyền tải video trên các mạng có băng thông hạn chế, và khám phá các ứng dụng mới của smart camera.

6.1. Tóm tắt kết quả đạt được và những đóng góp

Nghiên cứu đã đạt được nhiều kết quả đáng kể trong việc cải tiến video streaming cho smart camera Ultra96-V2. Độ trễ đã được giảm xuống mức thấp, tiệm cận thời gian thực. Chất lượng hình ảnh đã được cải thiện, đạt được độ phân giải cao với tốc độ khung hình ổn định. Các thuật toán xử lý ảnh AI đã được tích hợp thành công, cho phép thực hiện các chức năng như nhận dạng đối tượng và theo dõi đối tượng. Những đóng góp này có thể giúp phát triển các ứng dụng smart camera tiên tiến trong nhiều lĩnh vực.

6.2. Đề xuất các hướng nghiên cứu tiếp theo

Trong tương lai, nghiên cứu có thể tập trung vào việc tối ưu hóa các thuật toán AI để giảm độ trễ và tăng độ chính xác. Nghiên cứu cũng có thể tập trung vào việc cải thiện hiệu suất truyền tải video trên các mạng có băng thông hạn chế. Ngoài ra, nghiên cứu có thể khám phá các ứng dụng mới của smart camera, chẳng hạn như trong lĩnh vực y tế, giao thông, và sản xuất.

6.3. Tiềm năng phát triển của công nghệ Smart Camera

Công nghệ smart camera có tiềm năng phát triển rất lớn trong tương lai. Với sự phát triển của trí tuệ nhân tạo và Internet of Things (IoT), smart camera có thể được sử dụng trong nhiều ứng dụng khác nhau. Các ứng dụng này có thể mang lại nhiều lợi ích cho xã hội, chẳng hạn như tăng cường an ninh, cải thiện hiệu quả sản xuất, và nâng cao chất lượng cuộc sống. Việc tiếp tục nghiên cứu và phát triển công nghệ smart camera là cần thiết để khai thác tối đa tiềm năng của công nghệ này.

11/09/2025

Trích đoạn nội dung tài liệu

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ội dung 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 tim kiế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ực nghiệ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 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. Field Programmable Gate Array (FPGA) 2.

Dinh nghĩa FPGA là một loại mạch tích hợp cỡ lớn dùng cấu trúc mang phan tử logic cho phép các lập trình viên có thé lập trình cho hau hết các chức năng của bat kỳ một thiết kế số nào. Chữ field ở đây muốn nói đến khả năng có thể lập trình được của người sử dụng khác với một số Chip là phải được lập trình tại nhà máy bán dẫn. Bộ nhớ tĩnh đầu tiên được xây dựng dựa trên FPGA (thường được gọi là SRAM trên nền FPGA) được đề xuất bởi Wahlstrom vào năm 1967. Sau đó bản thương mại của FPGA được Xilinx giới thiệu vào năm 1984.

Lúc này nó gồm có một mảng của các khối logic có thé tái câu hình - Configurable Logic Blocks (CLBs) và các đầu vào 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ạn chế 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 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ớn như 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ểu nà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). 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 Blocks hoặ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.

InputiOutput Blocks Ì _Bï EI B li El Em Logic Blocks heal Programmable Interconnect Hình 2. 1: Kiến trúc cơ bản của FPGA 19 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).

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ực tiếp hay thông qua phan tử nhớ flip-flop. Ngoài khối logic cơ bản đó, nhiều chip FPGA hiện nay còn có một hỗn hợp các khối khác nhau, một số trong đó chỉ được dù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ối vớ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ảo cho 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ác thà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 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ông qua việc bố sung các khối chức năng đặc biệt có thể lập trình như bộ nhớ Block RAMs, logic số học (ALU), bộ nhân, DSP-48 và thậm chí là bộ vi xử lý nhúng được thê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ều FPGA ngày nay có nhiều nguồn tài nguyên hơn so với các FPGA trước đó. 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ác doanh 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 ứng dụ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 Client/Receiver Streaming Server : Video ¬- Audio Media Decoder - Decoder 1 Storage Device Video Application-layer * : Compressed. Application-layer : Raw Video Compression |„| : Video PF M Qo5 Control QoS Control Audio | ) Compressed { Eaw Audio Compression (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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ