Giới thiệu dự án

Trong kỷ nguyên vạn vật kết nối (IoT), hệ thống nhúng thông minh và mạng cảm biến hình ảnh không dây (Wireless Sensor Networks - WSN), dữ liệu đa phương tiện chiếm hơn 70% tổng lưu lượng băng thông truyền tải toàn cầu. Việc thu nhận và truyền tải hình ảnh độ phân giải cao (từ Full HD, 4K đến 8K) trên các thiết bị biên (Edge Devices) gặp phải thách thức nghiêm trọng về giới hạn băng thông vô tuyến, dung lượng bộ nhớ đệm và công suất tiêu thụ năng lượng.

+-----------------------------------------------------------------------------------+
|               THÁCH THỨC TRUYỀN DẪN VÀ XỬ LÝ ẢNH TRÊN THIẾT BỊ BIÊN               |
+-----------------------------------------------------------------------------------+
|  [Cảm biến ảnh]  --->  [Bộ nhớ hạn chế]  --->  [Băng thông RF thấp]  --->  [Hao pin]
|    (8-bit RAW)           (Thiếu RAM)              (Nghẽn mạng)         (Cạn nguồn)|
+-----------------------------------------------------------------------------------+

Các thuật toán nén ảnh truyền thống như JPEG (chuẩn biến đổi Cosin rời rạc - DCT) hay JPEG2000 (biến đổi Wavelet rời rạc 2D - 2D-DWT) đòi hỏi các phép tính toán dấu phẩy động phức tạp, bộ nhớ dòng (Line Buffer) dung lượng lớn và tài nguyên xử lý cồng kềnh, khiến chúng không tối ưu khi triển khai trên các dòng chip mỏng nhẹ hoặc FPGA tiết kiệm năng lượng.

  • Vấn đề cốt lõi (Problem Statement): Các hệ thống nén ảnh hiện hữu trên chip (On-Chip Image Compression) phải đánh đổi giữa độ phức tạp phần cứng và chất lượng ảnh/tốc độ nén. Nhiều thiết kế tối ưu tài nguyên dẫn đến suy giảm tỷ lệ nén (Compression Ratio - CR), trong khi các thiết kế nén sâu lại có tần số hoạt động thấp ($<100\text{ MHz}$), không đáp ứng được yêu cầu thời gian thực.
  • Mục tiêu của dự án:
    1. Nghiên cứu mô hình lý thuyết thuật toán nén ảnh Microshift kết hợp các kỹ thuật dự đoán nội khối (Intra-prediction), dự đoán liên khối (Inter-prediction) và phục hồi ảnh hậu xử lý bằng trường ngẫu nhiên Markov (Markov Random Field - MRF).
    2. Thiết kế lõi IP phần cứng (Image Compression Core) hoàn chỉnh bằng ngôn ngữ mô tả phần cứng Verilog HDL, áp dụng triệt để kiến trúc đường ống hóa toàn phần (Full-Pipeline Architecture).
    3. Tối ưu hóa đường dẫn trễ tới hạn (Critical Path Delay) để đạt tần số hoạt động $F_{max} > 100\text{ MHz}$ trên dòng chip FPGA tiêu chuẩn của Intel.
    4. Xây dựng môi trường đồng mô phỏng Phần cứng - Phần mềm (Co-Simulation) giữa MATLAB và ModelSim để thẩm định độ chính xác cấp bit (Bit-accurate Verification).
  • Giải pháp đề xuất: Đồ án hiện thực hóa kiến trúc phần cứng phương pháp nén Microshift kết hợp cơ chế lượng tử hóa dịch chuyển vi mô (Microshift Matrix), phân loại ngữ cảnh động thông qua vector đặc trưng kết cấu (Texture Vector Calculator), mã hóa Entropy hỗn hợp (Golomb Encoding kết hợp Run-Length Encoding - RLE), và giải nén tối ưu hóa thông qua thuật toán lọc MRF.
  • Kết quả đầu ra kỳ vọng:
    • Tần số hoạt động cực đại $F_{max} \ge 170\text{ MHz}$.
    • Băng thông đầu ra đạt mức nén sâu $1.5\text{ Bit Per Pixel (BPP)}$ trên dữ liệu gốc 8-bit.
    • Chất lượng tái tạo đạt tỷ lệ tín hiệu trên nhiễu đỉnh $\text{PSNR} \approx 35.00\text{ dB}$ và độ tương đồng cấu trúc $\text{SSIM} \ge 0.93$.
  • Phạm vi và giới hạn: Thiết kế tập trung vào xử lý nén phần cứng cho ảnh mức xám (Grayscale) 8-bit kích thước $256 \times 216$; quá trình giải nén và phục hồi ảnh MRF được thực hiện trên phần mềm máy chủ/host.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Nghiên cứu các giải pháp nén ảnh phần cứng hiện nay cho thấy sự phân hóa rõ rệt giữa các phương pháp tiếp cận:

Phương pháp nén Ưu điểm kỹ thuật Nhược điểm phần cứng Phù hợp triển khai phần cứng nhúng
JPEG (DCT-based) Tỷ lệ nén cao, chất lượng hình ảnh tiêu chuẩn tốt Đòi hỏi nhiều bộ nhân dấu phẩy động, bộ nhớ đệm lớn Kém (Tốn nhiều tài nguyên ALM/DSP)
2D-DWT (Wavelet) Không phân mảnh khối (No blocking artifacts) Logic điều khiển phức tạp, độ trễ truy xuất RAM lớn Trung bình (Yêu cầu băng thông bộ nhớ lớn)
Compressive Sensing Phần cứng thu nhận đơn giản Quá trình tái tạo (Reconstruction) cực kỳ nặng Kém (Không giải nén thời gian thực)
Microshift (Đề xuất) Chỉ dùng phép cộng/trừ số nguyên, cấu trúc Pipeline sâu Cần thuật toán phục hồi MRF ở phía nhận Rất cao (Tối ưu tuyệt đối cho FPGA/ASIC)

Yêu cầu hệ thống theo mô hình MoSCoW:

  • Must-have: Khối xử lý Microshift lượng tử hóa 3-bit, bộ đệm dòng Line Buffer 3 tầng, mạch tính vector kết cấu, thuật toán dự đoán MED Intra/Inter-prediction, bộ mã hóa Golomb và Run-length, kiến trúc Full Pipeline đạt thông lượng 1 pixel/chu kỳ xung nhịp.
  • Should-have: Xử lý biên tự động (Zero-padding tự trị trên chip mà không cần RAM phụ trợ bên ngoài).
  • Could-have: Khả năng mở rộng kích thước ma trận nén cho các độ phân giải cao hơn.
  • Won't-have (giai đoạn này): Tích hợp bộ giải mã MRF trực tiếp lên FPGA (do độ phức tạp tính toán lặp).

Thiết kế hệ thống

Kiến trúc phần cứng của lõi nén ảnh Image Compression Core được tổ chức thành các khối chuyên biệt, vận hành đồng bộ theo luồng dữ liệu liên tục:

+----------------------------------------------------------------------------------------------------+
|                                    IMAGE COMPRESSION CORE                                          |
+----------------------------------------------------------------------------------------------------+
|                                                                                                    |
|  [Pixel In (8-bit)] ---> [Microshift Quantizer] ---> [Line Buffer (Triple FIFO + Regs)]            |
|                                (2 clocks)                         (3 clocks)                       |
|                                                                        |                           |
|                                                                        v                           |
|                                                        [Texture Vector Calculator]                 |
|                                                                   (2 clocks)                       |
|                                                                        |                           |
|                                                                        v                           |
|                                                                  [Select Mode]                     |
|                                                                   (2 clocks)                       |
|                                                                  /           \                     |
|                                                                 /             \                    |
|                                                                v               v                   |
|                                                   [Inter-Intra Prediction]   [Run-Length Engine]   |
|                                                   (30 clocks Subimage)          (11 clocks)        |
|                                                   (4 clocks Error Map)                 |           |
|                                                   (1 clock Golomb)                     |           |
|                                                                \               /                   |
|                                                                 \             /                    |
|                                                                  v           v                     |
|                                                            [Select MUX] (1 clock)                  |
|                                                                        |                           |
|                                                                        v                           |
|                                                         [Bitstream Out (16-bit) + Length]          |
+----------------------------------------------------------------------------------------------------+
  • Thông số Interface của Image Compression Core:

    • clk: Xung clock hệ thống kích hoạt theo sườn dương (Positive-edge).
    • reset: Tín hiệu tái lập trạng thái bất đồng bộ tích cực mức cao (Active-high asynchronous reset).
    • valid_in / valid_out: Cờ báo dữ liệu đầu vào / đầu ra hợp lệ.
    • pixel_in [7:0]: Giá trị độ xám điểm ảnh 8-bit ($0 \div 255$).
    • hstart, hend, vstart, vend: Các tín hiệu đồng bộ định vị điểm bắt đầu/kết thúc dòng và khung hình.
    • bitstream [15:0]: Chuỗi bit nhị phân sau nén.
    • bitstream_length [3:0]: Độ dài bit hữu dụng của chuỗi nén đầu ra ($1 \div 16\text{ bits}$).
    • subimage_index [3:0]: Chỉ số phân loại ảnh con ($Subimage 1 \div 9$).
  • Technology Stack & Tools:

    • Ngôn ngữ thiết kế: Verilog HDL (chuẩn IEEE 1364-2001).
    • Môi trường biên dịch & Tổng hợp mạch RTL: Intel Quartus Prime v20.1.
    • Mô phỏng chức năng và kiểm tra trễ Post-Timing: ModelSim - Intel FPGA Edition v20.1.
    • Mô hình tham chiếu thuật toán & Phục hồi ảnh: MATLAB R2021a (Image Processing & Optimization Toolbox).

Methodology

Quy trình nghiên cứu và phát triển tuân thủ mô hình chữ V (V-Model) trong thiết kế vi mạch chuyên dụng:

[Phân tích thuật toán Microshift]                    [Đánh giá PSNR/SSIM trên MATLAB]
         \                                                      /
          v                                                    v
 [Xây dựng Golden Model (MATLAB)]                [Post-Timing Simulation (ModelSim)]
            \                                                /
             v                                              v
      [Thiết kế kiến trúc RTL]  --->  [Tổng hợp mạch (Quartus Prime)]
  • Quản trị rủi ro & Kế hoạch giảm thiểu (Risk Mitigation):
    • Rủi ro lệch pha trễ (Latency Mismatch) giữa các nhánh nén song song: Khối Inter-intra prediction có độ trễ 37 clock trong khi Runlength chỉ mất 11 clock. Giải pháp: Thiết kế các hàng đợi trễ (Delay Registers / Shift-Registers) tạo sự cân bằng tuyệt đối chu kỳ trước khi đưa vào khối Multiplexer chọn lựa ngõ ra (Select).
    • Rủi ro nghẽn xung nhịp do phép toán phức tạp: Giới hạn mỗi tầng Pipeline chỉ thực hiện duy nhất một phép toán số học cộng/trừ 3-bit hoặc một phép so sánh logic cơ bản, đảm bảo thời gian trễ đường truyền $\le 5.4\text{ ns}$.

Implementation và kết quả

Development process

Quá trình hiện thực phần cứng tập trung chuyển đổi toàn bộ công thức toán học thành các khối RTL có hiệu năng cao.

1. Khối lượng tử hóa Microshift (Microshift Quantizer)

Ảnh gốc $I$ có mức xám 8-bit được lượng tử hóa thành biểu diễn 3-bit ($M=3$). Bước lượng tử hóa là $\Delta = \frac{256}{2^3} = 32$. Ma trận mẫu vi dịch chuyển kích thước $3 \times 3$ được xác định theo công thức:

$$\delta_i = \text{round}\left(i \cdot \frac{\Delta}{N^2}\right) \quad \text{với } N=3, , i=0 \dots 8$$

Ma trận dịch chuyển mẫu $M_{pattern}$ thu được:

$$M_{pattern} = \begin{bmatrix} 0 & 4 & 7 \ 11 & 14 & 18 \ 21 & 25 & 28 \end{bmatrix}$$

Mỗi pixel được lượng tử hóa theo công thức: $\tilde{I} = Q(I - M_{pattern}(x, y))$. Dưới đây là đoạn mã Verilog hiện thực việc phân loại tọa độ và lượng tử hóa:

// Module trích xuất chỉ số ảnh con và lượng tử hóa Microshift
module microshift_quantizer (
    input  wire        clk,
    input  wire        reset,
    input  wire        valid_in,
    input  wire [7:0]  pixel_in,
    input  wire        hstart,
    input  wire        vstart,
    output reg  [2:0]  pixel_out,
    output reg  [3:0]  subimage_index,
    output reg         valid_out
);
    reg [1:0] x_cnt, y_cnt;
    reg [4:0] shift_val;
    reg [7:0] shifted_pixel;

    // Bộ đếm vị trí tọa độ ma trận 3x3
    always @(posedge clk or posedge reset) begin
        if (reset) begin
            x_cnt <= 2'd0;
            y_cnt <= 2'd0;
        end else if (valid_in) begin
            if (vstart) begin
                x_cnt <= 2'd0;
                y_cnt <= 2'd0;
            end else if (hstart) begin
                x_cnt <= 2'd0;
                y_cnt <= (y_cnt == 2'd2) ? 2'd0 : y_cnt + 1'b1;
            end else begin
                x_cnt <= (x_cnt == 2'd2) ? 2'd0 : x_cnt + 1'b1;
            end
        end
    end

    // Pipeline Stage 1: Tra cứu ma trận Microshift
    always @(posedge clk) begin
        case ({y_cnt, x_cnt})
            4'b00_00: begin shift_val <= 5'd0;  subimage_index <= 4'd1; end
            4'b00_01: begin shift_val <= 5'd4;  subimage_index <= 4'd2; end
            4'b00_10: begin shift_val <= 5'd7;  subimage_index <= 4'd3; end
            4'b01_00: begin shift_val <= 5'd11; subimage_index <= 4'd4; end
            4'b01_01: begin shift_val <= 5'd14; subimage_index <= 4'd5; end
            4'b01_10: begin shift_val <= 5'd18; subimage_index <= 4'd6; end
            4'b10_00: begin shift_val <= 5'd21; subimage_index <= 4'd7; end
            4'b10_01: begin shift_val <= 5'd25; subimage_index <= 4'd8; end
            4'b10_10: begin shift_val <= 5'd28; subimage_index <= 4'd9; end
            default:  begin shift_val <= 5'd0;  subimage_index <= 4'd1; end
        endcase
        shifted_pixel <= (pixel_in >= shift_val) ? (pixel_in - shift_val) : 8'd0;
    end

    // Pipeline Stage 2: Lượng tử hóa 3-bit (chia cho 32 -> trích xuất 3 bit cao [7:5])
    always @(posedge clk or posedge reset) begin
        if (reset) begin
            pixel_out <= 3'd0;
            valid_out <= 1'b0;
        end else begin
            pixel_out <= shifted_pixel[7:5];
            valid_out <= valid_in;
        end
    end
endmodule

2. Khối Line Buffer và Texture Vector Calculator

Bộ đệm dòng lưu trữ đồng thời 3 dòng quét của bức ảnh để trích xuất 5 pixel mẫu lân cận ${A, B, C, D, E}$ phục vụ dự đoán nội ảnh và các pixel tương ứng ở các ảnh con trước đó. Vector kết cấu được định nghĩa:

$$v = (A - C, , C - B, , D - A, , B - E)$$

Nếu $|v| = 0$ (ngữ cảnh hoàn toàn đồng nhất), hệ thống chuyển sang chế độ nén Run-Length Encoding. Nếu $|v| \neq 0$, hệ thống kích hoạt khối dự đoán.

3. Thuật toán dự đoán nội khối (Intra-prediction - Subimage 1)

Áp dụng thuật toán Median Edge Detector (MED):

$$\hat{X} = \begin{cases} \min(A, B) & \text{khi } C \ge \max(A, B) \ \max(A, B) & \text{khi } C \le \min(A, B) \ A + B - C & \text{trường hợp còn lại} \end{cases}$$

Sai số dự đoán $e = X - \hat{X}$ được ánh xạ sang giá trị không âm $e_g$ bằng khối Error Mapping trước khi mã hóa Golomb với tham số chia cố định.

4. Thuật toán dự đoán liên khối (Inter-prediction - Subimage 2~9)

Sử dụng các điểm ảnh đã nén từ $Subimage 1 \dots (j-1)$ để xác định phạm vi không chắc chắn tương đương (Equivalent Uncertainty Range):

$$U_i = [X_i - \delta_i, , X_i - \delta_i + \Delta]$$

Giá trị dự đoán $\hat{X}_j$ là trung bình cộng vùng giao nhau của các khoảng $U_i$. Số lượng ảnh con tham chiếu càng tăng, vùng không chắc chắn càng thu hẹp, giúp sai số $e$ tiến gần về 0.

Testing và validation

Quy trình xác thực được triển khai theo hai cấp độ:

+-----------------------------------------------------------------------------------+
|                        QUY TRÌNH KIỂM THỬ ĐỒNG THỜI (CO-TESTING)                  |
+-----------------------------------------------------------------------------------+
|  [Ảnh mẫu Test (Lena, Peppers, Cameraman)]                                        |
|         |                                                                         |
|         +---> [MATLAB Gold Model Simulator]  ---> File bitstream tham chiếu       |
|         |                                                      |                  |
|         |                                                 (So sánh khớp 100%)     |
|         |                                                      |                  |
|         +---> [ModelSim RTL Post-Timing]    ---> File bitstream thực thi phần cứng|
+-----------------------------------------------------------------------------------+
  1. Kiểm tra chức năng từng khối đơn lẻ (Unit Testing): Toàn bộ các khối Microshift, Line buffer, Texture vector calculator, Select mode, Inter-intra prediction, Error mapping, Golomb encode, Runlength encode đều được quét qua các vector kiểm thử cực biên (Corner Cases: biên ảnh, điểm ảnh chuyển tiếp tương phản cao, vùng phẳng tuyệt đối).
  2. Mô phỏng Post-Timing cấp hệ thống: Đánh giá hoạt động ở tần số xung nhịp danh định và kiểm tra hiện tượng chạy đua tín hiệu (Race Conditions) hoặc vi phạm thời gian thiết lập/giữ (Setup/Hold Time Violations).

Kết quả đạt được

Hệ thống đã đạt được các thông số thiết kế vượt mức mục tiêu ban đầu đề ra:

Thông số đánh giá Chỉ tiêu đặt ra Kết quả mô phỏng MATLAB Kết quả tổng hợp phần cứng (RTL/ModelSim)
Tần số cực đại ($F_{max}$) $\ge 100.00\text{ MHz}$ N/A $172.00\text{ MHz}$
Chu kỳ xung nhịp tối thiểu $\le 10.00\text{ ns}$ N/A $5.40\text{ ns}$
Độ trễ toàn hệ thống (Latency) $\le 60\text{ clocks}$ N/A $50\text{ clocks}$
Tốc độ nén (Bitrate) $\le 1.80\text{ BPP}$ $1.51\text{ BPP}$ $1.51\text{ BPP}$
Tỷ lệ tín hiệu trên nhiễu (PSNR) $\ge 32.00\text{ dB}$ $35.02\text{ dB}$ $35.02\text{ dB}$
Độ tương đồng cấu trúc (SSIM) $\ge 0.90$ $0.934$ $0.934$
Thông lượng xử lý 1 pixel/clock N/A 1 pixel/clock (172 MPixels/s)
  • Tài nguyên phần cứng tiêu thụ (trên dòng chip Intel Cyclone V / Stratix):
    • Tài nguyên logic: Số lượng ALM/ALUT chiếm dụng ở mức rất thấp ($< 3,500\text{ ALMs}$), không sử dụng bất kỳ khối nhân chuyên dụng DSP Block nào, tiết kiệm tối đa diện tích silicon.
    • Bộ nhớ đệm nhúng: Chỉ sử dụng các khối thanh ghi dịch và Line Buffer nhỏ (khoảng 3 dòng ảnh $\times 216\text{ pixels} \times 3\text{ bits}$), loại bỏ hoàn toàn nhu cầu về chip nhớ RAM ngoài (SRAM/DDR).

Đổi mới và đóng góp

Nghiên cứu mang lại những đóng góp công nghệ quan trọng trong lĩnh vực thiết kế vi mạch xử lý tín hiệu số:

+-----------------------------------------------------------------------------------+
|                        4 ĐỔI MỚI CỐT LÕI CỦA THIẾT KẾ                             |
+-----------------------------------------------------------------------------------+
| 1. LƯỢNG TỬ MICROSHIFT TRÊN PHẦN CỨNG: Thay thế DSP bằng ma trận dịch chuyển vi mô|
| 2. FULL PIPELINE 50 TẦNG TỐI ƯU: Đạt tần số cực đại 172 MHz                      |
| 3. PHÂN LOẠI NGỮ CẢNH TỰ ĐỘNG: Kết hợp thông minh Golomb và Run-Length Encoding   |
| 4. XỬ LÝ BIÊN KHÔNG BỘ NHỚ ĐỆM: Triệt tiêu bộ nhớ đệm khung Zero-padding cồng kềnh|
+-----------------------------------------------------------------------------------+
  1. Hiện thực phần cứng tối ưu của thuật toán Microshift: Lần đầu tiên chuyển đổi thành công lý thuyết lượng tử hóa vi dịch chuyển thành kiến trúc phần cứng pipeline hoàn chỉnh, loại bỏ hoàn toàn các phép toán phức tạp như biến đổi miền tần số (DCT/DWT).
  2. Kiến trúc xử lý song song phân nhánh cân bằng trễ: Tối ưu hóa 9 nhánh dự đoán ảnh con (Subimage 1 đến Subimage 9) với cơ chế bù trễ bằng thanh ghi dịch, duy trì thông lượng liên tục 1 pixel trên mỗi xung nhịp không có chu kỳ chết (Zero-bubble pipeline).
  3. Xử lý biên ảnh thông minh không tiêu tốn RAM phụ trợ: Thiết kế logic tự phát hiện biên (Check end of line) và tự động gán giá trị biên ảo, giúp loại bỏ việc phải đệm thêm khung số 0 (Zero-padding frame) tốn kém bộ nhớ.

So sánh với các công trình nghiên cứu liên quan

Đặc tính kỹ thuật DCT Architecture [9] Block Compressive Sensing [15] JPEG IP Core [16] Kiến trúc Microshift đề xuất
Độ phức tạp phần cứng Rất cao (Nhiều DSP) Cao Cao Rất thấp (Chỉ logic cơ bản)
Bộ nhớ đệm yêu cầu Lớn (Nhiều khối $8\times 8$) Cực lớn Lớn Nhỏ (3 dòng quét)
Tần số hoạt động ($F_{max}$) $100.0\text{ MHz}$ $65.0\text{ MHz}$ $125.0\text{ MHz}$ $172.0\text{ MHz}$ (+37.6%)
Tỷ lệ nén đạt được $1.8\text{ BPP}$ $2.0\text{ BPP}$ $1.6\text{ BPP}$ $1.51\text{ BPP}$ (+16.1%)
Chất lượng PSNR $32.50\text{ dB}$ $30.20\text{ dB}$ $34.10\text{ dB}$ $35.02\text{ dB}$ (+0.92 dB)

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng thực tế (Use Cases)

+-----------------------------------------------------------------------------------+
|                        MÔ HÌNH HỆ THỐNG ỨNG DỤNG THỰC TẾ                         |
+-----------------------------------------------------------------------------------+
|  [Cảm biến ảnh]  --->  [FPGA / ASIC Core]  --->  [Bộ phát vô tuyến]  ---> [Cloud] |
|   (Camera Node)         (Microshift Core)            (Zigbee/LoRa)      (Máy chủ) |
|   Thu nhận 8-bit         Nén 172 MHz, 1.5 BPP        Tiết kiệm 81% BW   Giải mã MRF|
+-----------------------------------------------------------------------------------+
  • Nút mạng cảm biến giám sát không dây (WSN / IoT Camera Nodes): Triển khai trong các camera an ninh dùng pin hoặc năng lượng mặt trời. Việc nén ảnh trực tiếp từ 8 BPP xuống 1.5 BPP giúp giảm $81.25%$ lưu lượng dữ liệu truyền qua module RF (Zigbee, LoRa, NB-IoT), kéo dài thời lượng pin của thiết bị lên gấp $3 \div 4$ lần.
  • Hệ thống nội soi viên nang y tế không dây (Wireless Capsule Endoscopy): Thiết bị nội soi siêu nhỏ yêu cầu vi mạch có diện tích cực nhỏ và tiêu thụ năng lượng thấp để truyền hình ảnh đường ruột trực tiếp ra bộ thu ngoại vi.
  • Vệ tinh vi mô (CubeSat) quan sát trái đất: Xử lý sơ bộ lượng ảnh chụp viễn thám khổng lồ trước khi truyền về trạm mặt đất qua băng thông vệ tinh đắt đỏ.

Chiến lược tích hợp và phân tích hiệu quả kinh tế (ROI)

  • Yêu cầu giao tiếp hệ thống: Lõi IP dễ dàng đóng gói thành chuẩn giao tiếp công nghiệp AXI4-Stream hoặc Avalon-ST, tương thích trực tiếp với các dòng vi xử lý mềm (Nios II, MicroBlaze, RISC-V) hoặc hệ thống SoC (Xilinx Zynq, Intel Cyclone V SoC).
  • Hiệu quả đầu tư (Cost-Benefit & ROI):
    • Giảm dung lượng Flash/SRAM trên bo mạch: Tiết kiệm chi phí linh kiện phần cứng khoảng $1.50 - $2.50 USD trên mỗi node cảm biến.
    • Tối ưu chi phí băng thông truyền dẫn dữ liệu qua mạng di động/đám mây cho các hệ thống quản lý hàng nghìn camera đô thị thông minh.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  1. Phụ thuộc vào thuật toán phục hồi phía máy chủ: Phương pháp Microshift đạt được độ nén sâu trên phần cứng là nhờ chuyển dịch gánh nặng tính toán phục hồi ảnh sang phía máy chủ bằng thuật toán trường ngẫu nhiên Markov (MRF). Nếu máy chủ không đủ tài nguyên tính toán, tốc độ giải nén sẽ bị chậm.
  2. Định dạng ảnh hỗ trợ: Thiết kế hiện tại chỉ tối ưu hóa cho ảnh đơn sắc (Grayscale). Việc xử lý ảnh màu RGB hoặc YUV đòi hỏi phải nhân ba luồng phần cứng hoặc bổ sung khối chuyển đổi không gian màu.

Hướng phát triển tiếp theo

  • Hiện thực phần cứng khối tăng tốc giải nén MRF (Hardware MRF Accelerator) trên GPU hoặc FPGA phía máy chủ để hỗ trợ luồng giải nén video thời gian thực.
  • Mở rộng kiến trúc nén cho chuỗi khung hình video bằng cách bổ sung kỹ thuật bù chuyển động không gian - thời gian (Spatial-Temporal Motion Estimation).
  • Tích hợp chuẩn giao tiếp bus AXI-Stream và đóng gói thành IP Core thương mại trên nền tảng Xilinx Vivado / Intel Quartus IP Catalog.

Đối tượng hưởng lợi

+-----------------------------------------------------------------------------------+
|                             ĐỐI TƯỢNG HƯỞNG LỢI                                    |
+-----------------------------------------------------------------------------------+
|  [Sinh viên / Nghiên cứu sinh]  ---> Tài liệu mẫu về thiết kế RTL Pipeline        |
|  [Kỹ sư FPGA / SoC Designer]   ---> Mã nguồn IP Core nén ảnh tối ưu tài nguyên   |
|  [Doanh nghiệp IoT / An ninh]   ---> Giải pháp tiết kiệm pin và băng thông truyền  |
|  [Nhà nghiên cứu Xử lý ảnh]     ---> Mô hình lượng tử hóa vi dịch chuyển ứng dụng  |
+-----------------------------------------------------------------------------------+
  • Sinh viên & Học viên chuyên ngành Kỹ thuật Máy tính / Điện tử: Nguồn tài liệu thực chứng toàn diện về phương pháp thiết kế phần cứng cho các thuật toán xử lý ảnh số, kỹ thuật đồng bộ hóa đường ống (Pipeline balancing) và phương pháp xác thực chéo MATLAB - ModelSim.
  • Kỹ sư thiết kế vi mạch (ASIC/FPGA Engineers): Cung cấp giải pháp IP Core xử lý nén ảnh mức xám tốc độ cao (172 MHz) với chi phí tài nguyên cực thấp để tích hợp ngay vào các vi kiến trúc SoC.
  • Doanh nghiệp phát triển thiết bị IoT & Giám sát thông minh: Giải pháp thương mại hóa giúp giải quyết triệt để bài toán nghẽn băng thông truyền tải hình ảnh không dây, nâng cao năng lực cạnh tranh của sản phẩm biên.
  • Cộng đồng nghiên cứu xử lý tín hiệu: Chứng minh tính khả thi và hiệu năng vượt trội của mô hình nén Microshift khi triển khai trên phần cứng thực tế so với các mô hình biến đổi truyền thống.

Câu hỏi thường gặp

1. Yêu cầu tài nguyên phần cứng để triển khai Image Compression Core là gì?

Hệ thống chỉ yêu cầu tối thiểu khoảng $3,500\text{ ALMs/ALUTs}$, 50 thanh ghi trễ và không cần bất kỳ khối nhân DSP chuyên dụng nào. Thiết kế có thể triển khai trên các dòng FPGA giá rẻ như Intel Cyclone IV/V, Cyclone 10, Xilinx Spartan-6/7 hoặc Artix-7.

2. Làm thế nào hệ thống đạt được tần số hoạt động cao lên tới 172 MHz?

Tần số 172 MHz đạt được nhờ kiến trúc Full Pipeline triệt để. Mọi tác vụ phức tạp đều được chia nhỏ thành các tầng pipeline độc lập có trễ không quá $5.4\text{ ns}$ (tương đương độ trễ của một phép cộng/trừ 3-bit). Không có đường hồi tiếp tổ hợp dài (Long Combinational Feedback Loop) trong toàn bộ mạch.

3. Thuật toán xử lý trường hợp các pixel ở biên ảnh như thế nào?

Thay vì phải đệm trước 3 hàng và 9 cột số 0 xung quanh ảnh (làm tăng kích thước bộ nhớ đệm ngoài), khối Line Buffer tích hợp bộ nhận diện biên Check end of line. Khi cờ biên tích cực, mạch logic sẽ tự động gán các giá trị pixel lân cận bằng 0 trong chu kỳ tính toán tương ứng.

4. Tại sao tỷ lệ nén lại đạt được mức 1.5 BPP mà chất lượng ảnh vẫn đạt PSNR ~35 dB?

Hệ thống kết hợp lượng tử hóa 3-bit có dịch chuyển vi mô (Microshift) với bộ mã hóa Entropy thích nghi. Đối với vùng ảnh phẳng, thuật toán RLE nén chuỗi dài thành các từ mã cực ngắn. Đối với vùng chi tiết, thuật toán MED và liên ảnh con thu hẹp sai số về lân cận 0, giúp mã Golomb đạt hiệu suất nén entropy tối ưu. Quá trình giải nén còn được lọc làm mịn bởi mô hình MRF giúp khôi phục cấu trúc ảnh nguyên bản.

5. Khả năng tích hợp với hệ thống xử lý sẵn có qua chuẩn giao tiếp nào?

Đầu vào và đầu ra của lõi IP được thiết kế theo cơ chế valid_in/valid_out chuẩn của luồng dữ liệu (Streaming Interface). Thiết kế có thể chuyển đổi thành bus chuẩn công nghiệp AXI4-Stream hoặc Avalon Streaming Interface bằng cách gắn thêm module bọc tín hiệu (Wrapper) mỏng.


Kết luận

Đồ án tốt nghiệp "Thiết kế và hiện thực phương pháp nén ảnh hiệu quả trên phần cứng - Microshift" đã giải quyết thành công bài toán tối ưu hóa đa mục tiêu trong thiết kế hệ thống nhúng: nâng cao tần số xử lý, duy trì tỷ lệ nén sâu và tối thiểu hóa tài nguyên logic phần cứng.

Với tần số hoạt động vượt trội $172.00\text{ MHz}$, độ trễ đường ống chỉ $50\text{ chu kỳ xung nhịp}$, tốc độ nén đạt $1.51\text{ BPP}$ và chất lượng hình ảnh tái tạo đạt $\text{PSNR} = 35.02\text{ dB}, \text{SSIM} = 0.934$, thiết kế khẳng định tính vượt trội so với các chuẩn nén truyền thống như DCT-JPEG hay Wavelet trên môi trường FPGA. Đây là giải pháp công nghệ giàu tiềm năng, sẵn sàng ứng dụng vào các hệ thống mạng cảm biến không dây, thiết bị y tế thông minh và các nút biên IoT thế hệ mới.