Bối cảnh và vấn đề nghiên cứu
Sự bùng nổ của mạng lưới Internet vạn vật (Internet of Things - IoT) đã thúc đẩy việc phát triển các thiết bị gia dụng và an ninh thông minh kết nối mạng. Trong số đó, hệ thống chuông cửa thông minh (Smart Doorbell) đóng vai trò ghi nhận hình ảnh khách ghé thăm và gửi thông tin cảnh báo từ xa đến người dùng. Tuy nhiên, các thiết bị IoT di động thường bị giới hạn về dung lượng bộ nhớ, năng lượng tiêu thụ và băng thông truyền tải mạng không dây. Việc truyền dữ liệu hình ảnh độ nét cao dưới dạng các tệp ảnh truyền thống như JPG thường đòi hỏi thỏa hiệp giữa dung lượng tệp và chất lượng hình ảnh (nén giảm kích thước dẫn đến suy giảm độ chi tiết và xuất hiện các tạo tác khối).
Để giải quyết mâu thuẫn này, đề tài tập trung nghiên cứu chuẩn nén ảnh Better Portable Graphics (BPG) — một định dạng hình ảnh hiện đại dựa trên chuẩn nén video hiệu suất cao (HEVC/H.265) do Fabrice Bellard công bố vào năm 2014. Định dạng này được thiết kế nhằm mục đích thay thế chuẩn JPEG, hoạt động tối ưu trong các môi trường bộ nhớ thấp và thiết bị nhúng. Tác giả đã tích hợp thuật toán BPG vào hệ thống chuông cửa thông minh để giảm tải kích thước dữ liệu truyền dẫn mà vẫn bảo toàn độ sắc nét của hình ảnh.
Mục tiêu nghiên cứu của đề tài được xác định cụ thể gồm 4 mục tiêu:
- Chụp lại hình ảnh khách nhấn chuông thông qua hệ thống điều khiển Raspberry Pi Zero W có tích hợp camera.
- Nén hình ảnh chụp được thành định dạng ảnh BPG.
- Thông báo cho người sử dụng thông qua email tự động có đính kèm tệp hình ảnh đã nén.
- Thiết kế ứng dụng Android để trích xuất hình ảnh từ Gmail Cloud, giải nén tệp BPG và hiển thị trực quan cho người dùng.
Nhiệm vụ nghiên cứu được phân bổ qua 5 nội dung chính:
- Nội dung 1: Tìm hiểu về hình ảnh số và các định dạng hình ảnh thông dụng như JPG, PNG, GIF, TIF, RAW.
- Nội dung 2: Nghiên cứu lý thuyết về các phương thức nén ảnh mất mát dữ liệu (lossy) và không mất mát dữ liệu (lossless), cùng tiêu chuẩn nén video hiệu suất cao HEVC (H.265).
- Nội dung 3: Khảo sát thuật toán nén ảnh BPG, cách thức hoạt động, ưu điểm và khả năng ứng dụng thực tế.
- Nội dung 4: Tìm hiểu dịch vụ Google Gmail API để gửi thông báo, nhận nội dung tin nhắn và trích xuất tệp đính kèm.
- Nội dung 5: Nghiên cứu cơ chế và thuật toán giải mã định dạng ảnh BPG trên hệ điều hành Android.
Phạm vi và giới hạn của đề tài:
- Không gian và chức năng nghiên cứu: Giới hạn ở quy trình chụp ảnh tĩnh, nén ảnh tĩnh BPG và gửi thông báo kèm hình ảnh khi có người nhấn chuông; hệ thống chưa thực hiện tính năng nén và truyền luồng video thời gian thực.
- Môi trường phần mềm: Chuẩn BPG là định dạng mới, chưa được hỗ trợ mặc định trên các hệ điều hành di động (Android, iOS) và các trình duyệt web, đòi hỏi phải sử dụng thư viện giải mã chuyên dụng.
- Thời gian thực hiện: Đề tài được giao ngày 10/09/2019 và nộp báo cáo vào ngày 30/12/2019 tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng nền tảng nghiên cứu dựa trên lý thuyết xử lý ảnh số, các chuẩn nén dữ liệu đa phương tiện và công nghệ điện toán nhúng:
- Khái niệm ảnh số và không gian màu: Ảnh số là hàm hai chiều $f(x, y)$, trong đó $x$ và $y$ là tọa độ không gian, còn biên độ $f$ tại tọa độ đó là mức xám (cường độ sáng). Mức xám thường được lượng tử hóa trong đoạn $[0, 255]$ bằng cách dùng 1 byte (8-bit) để biểu diễn ($2^8 = 256$ mức). Tác giả hệ thống hóa các đặc tính kỹ thuật của các định dạng ảnh thông dụng và các chế độ màu tương ứng:
| Loại ảnh |
Bytes/pixel |
Số màu hỗ trợ |
Định dạng ảnh điển hình |
| 1-bit |
1/8 byte/pixel |
2 màu |
TIF, PNG, GIF |
| 8-bit Indexed Color |
Tối đa 1 byte/pixel |
Tối đa 256 màu từ bảng màu chỉ mục |
TIF, PNG, GIF |
| 8-bit Grayscale |
1 byte/pixel |
256 sắc độ xám |
TIF, PNG |
| 24-bit RGB |
3 bytes/pixel (1 byte cho mỗi kênh R, G, B) |
16,78 triệu màu (24-bit thông dụng) |
Lossy: JPG; Lossless: TIF, PNG |
| 32-bit CMYK |
4 bytes/pixel |
Mực Cyan, Magenta, Vàng và Đen |
TIF |
| 48-bit RGB |
6 bytes/pixel |
Tối đa 2,81 nghìn tỷ màu |
TIF, PNG |
- Tiêu chuẩn nén video hiệu suất cao (HEVC/H.265): Được ITU-T VCEG và ISO/IEC MPEG phê chuẩn vào tháng 1/2013, HEVC tăng gấp đôi hiệu quả nén so với chuẩn tiền nhiệm AVC/H.264. Trong khi AVC dùng biến đổi Cosine rời rạc số nguyên (DCT) khối $4 \times 4$ và $8 \times 8$, HEVC hỗ trợ các khối biến đổi DCT và DST nguyên có kích thước linh hoạt từ $4 \times 4$ đến $32 \times 32$. Cơ chế mã hóa entropy của HEVC sử dụng kỹ thuật mã hóa số học nhị phân thích ứng theo ngữ cảnh (Context-Adaptive Binary Arithmetic Coding - CABAC), mang lại hiệu quả cao hơn cơ chế mã hóa Huffman của JPEG.
- Chuẩn định dạng ảnh Better Portable Graphics (BPG): BPG kế thừa bộ mã hóa nội khung (intra-frame coding) của HEVC. Bộ công cụ
libbpg bao gồm bộ mã hóa bpgenc, bộ giải mã BPG và bộ giải mã viết bằng JavaScript cho trình duyệt. BPG hỗ trợ cả nén mất dữ liệu (lossy) và không mất dữ liệu (lossless), các không gian màu khác nhau (Grayscale, YCbCr, RGB, YCgCo) và các kênh độ trong suốt (alpha channel), kèm theo siêu dữ liệu EXIF, ICC profile và XMP.
Phương pháp nghiên cứu thực tế bao gồm:
- Phương pháp phân tích - tổng hợp tài liệu kỹ thuật về thuật toán nén ảnh, giao thức nhúng và API dịch vụ đám mây.
- Phương pháp thiết kế kỹ thuật phần cứng và chế tạo mạch in điện tử sử dụng phần mềm Altium Designer.
- Phương pháp thực nghiệm: Triển khai kiểm thử việc mã hóa ảnh tĩnh trên thiết bị nhúng Linux, truyền nhận qua dịch vụ Google Gmail API và giải mã hiển thị trên ứng dụng Android thực tế.
Thiết kế và triển khai hệ thống
Hệ thống chuông cửa thông minh được thiết kế theo mô hình kết hợp giữa phần cứng nhúng thu thập dữ liệu tại chỗ, dịch vụ lưu trữ - truyền thông trung gian qua đám mây và ứng dụng hiển thị trên thiết bị đầu cuối của người dùng.
Cấu trúc phần cứng của chuông cửa
Phần cứng hệ thống bao gồm 5 khối chức năng chính:
- Khối điều khiển trung tâm: Sử dụng máy tính nhúng Raspberry Pi Zero W. Bo mạch được trang bị vi xử lý đơn nhân BCM2835 tốc độ 1GHz (nhanh hơn 40% so với thế hệ Raspberry Pi 1), bộ nhớ RAM 512MB, kết nối Wi-Fi chuẩn 802.11 b/g/n, Bluetooth 4.1 / Bluetooth Low Energy (BLE), cổng camera CSI, giao diện 40 chân GPIO và chạy hệ điều hành Linux (Raspbian). Khối này đảm nhiệm đọc tín hiệu nút nhấn, điều khiển camera chụp ảnh, gọi chương trình nén ảnh BPG, kích hoạt đèn, loa và gửi thư điện tử.
- Khối máy ảnh: Sử dụng mạch Raspberry Pi Camera Module V2 8MP, trang bị cảm biến Sony IMX219 (độ phân giải ảnh tĩnh tối đa $3280 \times 2464$, hỗ trợ video 1080p30, 720p60, 640x480p90), kích thước vật lý $25 \times 23 \times 9\text{ mm}$, trọng lượng hơn 3g, kết nối trực tiếp với Raspberry Pi qua cáp ribbon 15cm cắm vào cổng CSI.
- Khối thông báo và đèn LED: Gồm 2 đèn LED hiển thị trạng thái hoạt động:
- LED nguồn (màu đỏ): Báo hiệu trạng thái hệ thống đã được cấp điện.
- LED trạng thái (màu xanh): Hiển thị tiến trình làm việc của chuông cửa (trạng thái chờ, đang chụp ảnh, đang xử lý nén BPG hoặc đang tải/gửi thư điện tử).
- Khối loa thông báo (Buzzer): Phát âm thanh cảnh báo tại chỗ để người trong nhà nhận biết khi nút chuông được nhấn.
- Khối nút nhấn và nguồn cấp: Nút nhấn chuông đặt tại mặt ngoài cửa; nguồn nuôi toàn bộ mạch là bộ chuyển đổi nguồn (adapter) 5V - 1A. Mạch nguyên lý và sơ đồ đi dây được vẽ và thiết kế bằng phần mềm Altium Designer. Vỏ hộp bảo vệ được thiết kế nhỏ gọn, gia công các vị trí khoét lỗ chính xác cho ống kính camera, nút bấm, đèn báo và cổng cấp nguồn.
Phần mềm và quy trình hoạt động
Quy trình vận hành logic của hệ thống được thực hiện qua các giai đoạn:
- Xử lý trên Raspberry Pi Zero W: Tác giả lập trình bằng ngôn ngữ Python trên nền tảng Raspbian. Khi phát hiện sự kiện nút nhấn kích hoạt qua chân GPIO, hệ thống bật loa báo, bật LED trạng thái, điều khiển Camera Module V2 chụp một bức ảnh số. Chương trình chuyển tệp ảnh thu được qua bộ mã hóa
bpgenc của thư viện libbpg. Thuật toán thực hiện bước tiền mã hóa (kiểm tra độ sâu bit là 8-bit và không gian màu RGB hoặc Grayscale, trích xuất siêu dữ liệu), sau đó áp dụng mã hóa nội khung HEVC (chia khối, chuyển đổi DCT/DST, mã hóa entropy CABAC) để đóng gói dữ liệu thành tệp nhị phân có phần mở rộng .bpg.
- Giao tiếp trung gian qua Google Gmail API: Sau khi nén thành công, tập lệnh Python xác thực tài khoản thông qua Google API Client, tạo một thư điện tử có tiêu đề và nội dung cấu hình sẵn, đính kèm tệp ảnh BPG và gửi đến hộp thư Gmail của chủ nhà. Việc sử dụng giao tiếp RESTful của Gmail API giúp đảm bảo dữ liệu truyền qua hạ tầng đám mây an toàn, có xác thực mà không cần tự duy trì máy chủ riêng.
- Xử lý trên ứng dụng di động Android: Ứng dụng mang tên "SMART DOORBELL" được xây dựng trên hệ điều hành Android. Khi khởi chạy, người dùng đăng nhập tài khoản. Ứng dụng kết nối tới Gmail API để quét các thông báo từ chuông cửa, trích xuất nội dung tin nhắn và tải tệp đính kèm BPG về bộ nhớ tạm. Do hệ điều hành Android không hỗ trợ đọc tệp BPG gốc, ứng dụng tích hợp giải thuật giải mã để chuyển đổi định dạng BPG thành cấu trúc bitmap hiển thị lên giao diện danh sách lịch sử và màn hình chi tiết hình ảnh.
Nội dung chính theo từng chương
Báo cáo khóa luận được cấu trúc thành 5 chương với nội dung cụ thể:
Chương 1: Tổng quan
Chương 1 giới thiệu lý do lựa chọn đề tài dựa trên xu thế phát triển của công nghệ IoT và sự cần thiết của việc tối ưu hóa kích thước truyền dữ liệu hình ảnh. Tác giả xác định rõ 4 mục tiêu kỹ thuật, 5 nội dung nghiên cứu lý thuyết và thực nghiệm, nêu rõ giới hạn của hệ thống (dừng lại ở việc chụp và truyền ảnh tĩnh, chưa tích hợp video nén, phụ thuộc thư viện giải mã ngoài do BPG chưa phổ biến) và sơ đồ cấu trúc 5 chương của đồ án.
Chương 2: Cơ sở lý thuyết
Chương này cung cấp hệ thống kiến thức nền tảng cho việc thực hiện đề tài:
- Khái niệm về ảnh số: Biểu diễn ma trận 2 chiều, định nghĩa điểm ảnh (pixel), độ phân giải (nêu ví dụ ảnh kích thước $2724 \times 2336$ có 6.363.264 điểm ảnh), thang mức xám $[0, 255]$.
- Đặc tính các định dạng ảnh: Phân tích chi tiết cơ chế hoạt động của định dạng JPG (nén lossy), TIF (nén lossless LZW), GIF (bảng màu 8-bit chỉ mục tối đa 256 màu), PNG (PNG-8 và PNG-24 hỗ trợ độ trong suốt) và ảnh RAW (dữ liệu thô từ cảm biến).
- Kỹ thuật nén ảnh và tiêu chuẩn HEVC: Trình bày sự khác biệt giữa nén lossy và lossless; phân tích cấu trúc của tiêu chuẩn HEVC/H.265 (phân vùng đơn vị mã hóa, biến đổi DCT/DST từ khối $4 \times 4$ đến $32 \times 32$, dự đoán nội vùng, mã hóa entropy CABAC, tạo luồng NAL và lưu đệm DPB).
- Khảo sát phần cứng và công cụ phần mềm: Giới thiệu cấu hình máy tính nhúng Raspberry Pi Zero W (chip BCM2835 1GHz, 512MB RAM, Wi-Fi, BLE); cảm biến ảnh Sony IMX219 trên Raspberry Pi Camera Module V2 8MP; ngôn ngữ lập trình Python; các giấy phép của thư viện
libbpg (LGPL/BSD); dịch vụ Google Gmail API và phần mềm vẽ mạch Altium Designer.
Chương 3: Thiết kế hệ thống
Chương 3 tập trung vào thiết kế chi tiết giải pháp phần cứng và thuật toán phần mềm:
- Thuật toán nén BPG: Mô tả chi tiết sơ đồ khối bộ mã hóa BPG gồm hai giai đoạn: giai đoạn tiền mã hóa (kiểm tra điều kiện bắt buộc về độ sâu bit 8-bit và không gian màu) và giai đoạn mã hóa HEVC (dự đoán, thiết lập lại, xử lý lỗi bitstream bằng CABAC).
- Lựa chọn phương pháp thiết kế: Lý giải việc chọn kit Raspberry Pi Zero W nhờ kích thước nhỏ gọn và khả năng chạy hệ điều hành Linux tương thích thư viện mã nguồn mở
libbpg.
- Thiết kế mạch và cấu hình phần cứng: Sơ đồ khối nguyên lý, mạch kết nối camera CSI với bo mạch chủ, mạch điều khiển đèn LED chỉ thị (LED đỏ nguồn, LED xanh trạng thái), mạch nút nhấn chuông và mạch chuông báo.
- Thiết lập dịch vụ đám mây và phần mềm: Quy trình đăng ký dự án trên Google API Console, kích hoạt Gmail API, xác thực quyền truy cập; lưu đồ thuật toán xử lý nén và gửi thư trên Raspberry Pi; lưu đồ xử lý nhận thư, bóc tách tệp và giải nén hình ảnh BPG trên ứng dụng Android SMART DOORBELL.
Chương 4: Kết quả, nhận xét, đánh giá
Chương 4 công bố các kết quả thực nghiệm đạt được:
- Kết quả kiểm thử nén ảnh BPG trên các tập ảnh mẫu chuẩn: Ảnh con gấu ($255 \times 255$), ảnh leo núi băng ($512 \times 512$), ảnh chân dung Lena ($512 \times 512$).
- Đánh giá thực nghiệm so sánh: Đối chiếu trực quan ảnh Lena ở cùng một mức dung lượng tệp 5.836 bytes giữa chuẩn BPG và chuẩn JPG, chứng minh chất lượng vượt trội của BPG khi giữ nguyên độ mịn và sắc nét.
- Sản phẩm phần cứng hoàn thiện: Chế tạo thành công thiết bị chuông cửa vật lý nhỏ gọn gồm đầy đủ vỏ hộp bảo vệ, camera, nút nhấn, hệ thống LED hiển thị và loa báo.
- Sản phẩm phần mềm: Ứng dụng Android SMART DOORBELL vận hành ổn định trên điện thoại thông minh, hiển thị đầy đủ màn hình đăng nhập, màn hình danh sách các lần bấm chuông và màn hình phóng to chi tiết bức ảnh đã giải nén.
- Nhận xét và đánh giá: Hệ thống đáp ứng tốt các yêu cầu thiết kế ban đầu, tuy nhiên vẫn còn nhược điểm về thời gian xử lý do năng lực tính toán của Raspberry Pi Zero W có hạn.
Chương 5: Kết luận và hướng phát triển
Tác giả tóm tắt toàn bộ khối lượng công việc đã hoàn thành trong đồ án, đánh giá mức độ đạt được so với nhiệm vụ ban đầu và đề xuất các phương hướng nâng cấp hệ thống trong tương lai.
Kết quả và đóng góp
Khóa luận đã hoàn thành toàn diện các mục tiêu đặt ra với các kết quả định lượng và sản phẩm thực nghiệm cụ thể:
Kết quả thử nghiệm thuật toán nén ảnh BPG
Tác giả đã tiến hành thử nghiệm nén và chuyển đổi các tập ảnh mẫu từ JPEG sang BPG thông qua bộ giải mã JavaScript và thư viện libbpg:
- Thử nghiệm trên các ảnh mẫu: Ảnh con gấu (độ phân giải $255 \times 255$), ảnh phong cảnh leo núi băng (độ phân giải $512 \times 512$) và ảnh chuẩn Lena (độ phân giải $512 \times 512$).
- Hiệu suất nén: Kích thước tệp dữ liệu sau khi nén sang định dạng BPG giảm đi hơn một nửa ($> 50%$) so với định dạng ảnh gốc mà vẫn duy trì được độ trung thực và chất lượng hình ảnh cao nhất.
- Đánh giá ở cùng mức dung lượng tệp: Khi nén bức ảnh Lena kích thước $512 \times 512$ về cùng một kích thước tệp rất thấp là 5.836 bytes ở cả hai định dạng:
- Định dạng JPG: Bị suy giảm chất lượng nghiêm trọng, bề mặt hình ảnh xuất hiện các vết vỡ khối hạt (blocking artifacts), mất chi tiết và nhòe màu.
- Định dạng BPG: Hình ảnh vẫn giữ được độ tương phản, các đường biên chi tiết rõ ràng, bề mặt mịn màng và chất lượng hiển thị tốt hơn rõ rệt.
Kết quả chế tạo sản phẩm phần cứng và phần mềm
- Sản phẩm phần cứng hoàn thiện: Một module chuông cửa thông minh nhỏ gọn, hoàn chỉnh về cơ khí và điện tử, bao gồm:
- Vỏ hộp chuyên dụng tích hợp mặt trước, mặt sau và hai mặt bên.
- Mạch vi xử lý trung tâm Raspberry Pi Zero W kết nối camera Sony IMX219 8MP.
- Hệ thống nút bấm chuông cơ học, còi thông báo âm thanh và 2 đèn LED hiển thị trạng thái hoạt động trực quan.
- Nguồn cấp ổn định thông qua bộ đổi nguồn 5V - 1A.
- Sản phẩm ứng dụng di động: Ứng dụng Android "SMART DOORBELL" hoạt động chính xác theo quy trình:
- Tự động đồng bộ và đọc hộp thư đến từ máy chủ Google Gmail API.
- Tải tệp đính kèm định dạng
.bpg.
- Thực hiện giải mã dữ liệu nhị phân BPG sang dạng ảnh hiển thị trên điện thoại.
- Cung cấp giao diện quản lý gồm màn hình danh sách các phiên bấm chuông và màn hình xem ảnh chi tiết độ nét cao.
Đóng góp thực tiễn của đề tài
Đề tài đã chứng minh tính khả thi của việc đưa chuẩn nén ảnh thế hệ mới BPG vào các thiết bị IoT biên có cấu hình phần cứng giới hạn (RAM 512MB, CPU đơn nhân). Giải pháp tận dụng dịch vụ đám mây Gmail API làm hạ tầng trung gian giúp giảm thiểu chi phí triển khai hệ thống lưu trữ máy chủ riêng biệt, mang lại một phương án kỹ thuật tham khảo hữu ích cho các bài toán truyền dẫn hình ảnh qua mạng không dây tốc độ thấp.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận đã thẳng thắn ghi nhận các điểm hạn chế kỹ thuật trong quá trình hiện thực hóa mô hình:
- Chức năng hệ thống còn giới hạn: Đề tài mới chỉ dừng lại ở việc xử lý, nén và truyền ảnh tĩnh đơn lẻ khi có thao tác bấm chuông; hệ thống chưa tích hợp tính năng nén và truyền phát luồng video (video streaming).
- Độ phổ biến của định dạng BPG: Chuẩn BPG chưa được tích hợp sẵn (native support) trên các trình duyệt web phổ thông cũng như các nền tảng di động lớn như Android và iOS. Do đó, việc hiển thị hình ảnh bắt buộc phải sử dụng thêm thư viện ngoài (bộ giải mã JavaScript hoặc thư viện giải mã nhúng), gây tăng độ phức tạp trong lập trình ứng dụng.
- Năng lực tính toán của phần cứng: Bo mạch Raspberry Pi Zero W sở hữu cấu hình xử lý đơn nhân (BCM2835 1GHz) nên tốc độ nén thuật toán BPG phức tạp (với biến đổi khối và mã hóa CABAC của HEVC) còn độ trễ nhất định, chưa đạt tốc độ tức thời.
Các hướng phát triển tiếp theo được tác giả đề xuất:
- Mở rộng chức năng nén và truyền phát video chất lượng cao dựa trên nền tảng HEVC/H.265 cho chuông cửa.
- Tối ưu hóa thuật toán giải mã BPG trên ứng dụng di động để nâng cao tốc độ tải và hiển thị hình ảnh.
- Nâng cấp phần cứng xử lý trung tâm nhằm rút ngắn thời gian xử lý nén ảnh ngay sau khi nhấn nút.
- Nghiên cứu cơ chế tương thích và hiển thị trực tiếp BPG trên giao diện nền tảng web thông qua các bộ giải mã tối ưu.
Giá trị tham khảo
Đồ án tốt nghiệp là tài liệu tham khảo có giá trị thực tiễn đối với sinh viên, kỹ sư và học viên thuộc các chuyên ngành Công nghệ Kỹ thuật Máy tính, Điện tử - Viễn thông, Công nghệ Thông tin và Hệ thống Nhúng - IoT:
- Nghiên cứu nén ảnh thế hệ mới: Khóa luận cung cấp tài liệu tổng quan mạch lạc về chuẩn nén BPG dựa trên tiêu chuẩn HEVC/H.265, các bước tiền xử lý ảnh và cơ chế mã hóa entropy CABAC, rất hữu ích cho người đang nghiên cứu về xử lý tín hiệu số và đa phương tiện.
- Thiết kế hệ thống nhúng biên: Phần trình bày về cấu hình phần cứng Raspberry Pi Zero W kết hợp Camera Module V2 8MP (cảm biến Sony IMX219) và phần mềm thiết kế mạch Altium Designer là tài liệu mẫu rõ ràng cho các đề tài xây dựng thiết bị giám sát an ninh thông minh.
- Ứng dụng dịch vụ đám mây cho IoT: Kỹ thuật tích hợp RESTful API của Google Gmail để gửi và nhận thông báo đính kèm tệp nhị phân giữa thiết bị biên và ứng dụng Android là một giải pháp kiến trúc có thể áp dụng trực tiếp cho các hệ thống cảnh báo từ xa mà không tốn chi phí thuê máy chủ riêng.
Câu hỏi thường gặp
1. Chuẩn nén ảnh BPG được phát triển dựa trên nền tảng công nghệ nào và do ai sáng tạo?
Chuẩn ảnh Better Portable Graphics (BPG) do lập trình viên Fabrice Bellard công bố vào năm 2014. BPG được phát triển dựa trên bộ mã hóa nội khung (intra-frame coding) của tiêu chuẩn nén video hiệu suất cao HEVC (High Efficiency Video Coding hay H.265), sử dụng các khối biến đổi DCT/DST kích thước linh hoạt và mã hóa entropy thích ứng ngữ cảnh CABAC.
2. Thiết bị chuông cửa sử dụng cấu hình phần cứng vi xử lý và camera cụ thể nào?
Hệ thống sử dụng máy tính nhúng Raspberry Pi Zero W trang bị chip xử lý Broadcom BCM2835 tốc độ 1GHz, bộ nhớ RAM 512MB, tích hợp Wi-Fi 802.11 b/g/n và Bluetooth 4.1. Khối thu nhận hình ảnh sử dụng Raspberry Pi Camera Module V2 8MP với cảm biến Sony IMX219, kết nối qua cáp ribbon 15cm cắm vào cổng CSI. Hệ thống được cấp nguồn bằng bộ chuyển đổi 5V - 1A.
3. Thuật toán tiền mã hóa (khởi tạo) của BPG yêu cầu điều kiện bắt buộc gì đối với ảnh đầu vào?
Trước khi chuyển qua giai đoạn mã hóa HEVC, thuật toán khởi tạo của bộ mã hóa BPG bắt buộc phải kiểm tra hai điều kiện: độ sâu bit phải đạt giá trị 8-bit và không gian màu của ảnh phải là màu thực (RGB) hoặc thang độ xám (Grayscale). Nếu không thỏa mãn các điều kiện này, bộ mã hóa sẽ trả về thông báo lỗi chỉ ra rằng độ sâu bit hoặc không gian màu không được hỗ trợ.
4. Hệ thống chuông cửa IoT truyền dữ liệu hình ảnh tới điện thoại người dùng thông qua dịch vụ trung gian nào?
Thiết bị nhúng Raspberry Pi Zero W sử dụng giao diện lập trình ứng dụng RESTful Google Gmail API để tự động gửi một email đính kèm tệp ảnh đã nén .bpg tới hòm thư cá nhân của chủ nhà. Ứng dụng Android "SMART DOORBELL" trên điện thoại người dùng sẽ kết nối vào Gmail API để đọc tin nhắn, tải tệp ảnh đính kèm và thực hiện giải nén hiển thị.
5. Kết quả thực nghiệm đối chứng ảnh Lena ở kích thước tệp 5.836 bytes giữa BPG và JPG cho thấy điều gì?
Khi nén bức ảnh chuẩn Lena ($512 \times 512$) xuống cùng kích thước tệp 5.836 bytes, định dạng JPG bị suy giảm chất lượng rõ rệt với hiện tượng vỡ khối và mờ nhòe chi tiết. Ngược lại, tệp ảnh nén BPG ở cùng kích thước này vẫn bảo toàn độ mịn màng, các đường viền sắc nét và giữ lại được độ tương phản cùng chi tiết vượt trội.
Kết luận
Đồ án tốt nghiệp "Ứng dụng thuật toán nén ảnh BPG vào trong chuông cửa IOT" của tác giả Nguyễn Phạm Thanh Hoàng đã hoàn thành trọn vẹn việc thiết kế và chế tạo một hệ thống chuông cửa thông minh hoàn chỉnh từ phần cứng nhúng đến ứng dụng di động. Bằng việc tích hợp thành công chuẩn nén BPG dựa trên nền tảng HEVC/H.265 lên bo mạch Raspberry Pi Zero W kết hợp Camera Module V2 8MP, đề tài đã chứng minh khả năng giảm thiểu dung lượng truyền tải hình ảnh qua mạng không dây trên 50% so với chuẩn JPEG mà vẫn duy trì độ sắc nét cao. Công trình cung cấp giải pháp kỹ thuật kết nối linh hoạt giữa thiết bị IoT biên, dịch vụ đám mây Gmail API và ứng dụng di động Android, mở ra cơ sở thực nghiệm rõ ràng cho các nghiên cứu phát triển thiết bị giám sát an ninh tiết kiệm tài nguyên trong tương lai.