像素與圖片

小學電腦科學一種索引色光柵影像,每像素使用 1 至 3 位元,並明確指定固定寬度的游程編碼資料量

像素工作室

每個方格都是一個數字

選擇一種墨色並在網格上繪製。使用鍵盤時,可將焦點移至某個儲存格並按 Enter 鍵。

由左至右,再由上至下讀取。游程編碼會將每個游程儲存為一個顏色索引和一個固定寬度的長度值。

測量記錄本

變更設定、測試預測並儲存結果。最多保留 12 個快照。

關於此實驗

繪製一張圖片,其中最小的方格以調色盤索引的形式儲存。變更解析度和色彩深度、檢視二進位碼,並比較未壓縮資料大小與簡單游程表示的大小。將精確的像素格線匯出為 PNG,看看影像資訊與實際檔案格式有何不同。

學習目標

  • 將影像像素連結至數字調色盤索引。
  • 根據尺寸和每像素位元數計算原始儲存量。
  • 測試哪些排列適合使用游程編碼進行壓縮。

使用方法

  1. 1繪製一張 8×8 的圖片,並讀取像素內顯示的二進位調色盤碼。
  2. 2將每像素位元數從 3 改為 1。比較可用色彩和原始儲存量。
  3. 3比較一張空白圖片和一張帶有垂直條紋的圖片。保持尺寸和色深不變,並說明連續段數量。
  4. 4使用「復原」比較編輯內容,記錄測得的承載資料數量,然後匯出 PNG。

模型

索引像素原始位元數
固定寬度的游程編碼承載資料

假設

  • 像素會逐列由左至右讀取,再由上至下讀取。每個像素都使用所選的固定位元數。
  • RLE 模型會將每個連續段儲存為一個色彩索引和一個長度,各使用 ceil(log2(像素數 + 1)) 個位元。連續段可能會跨越列界限。
  • 調色盤表、尺寸、檔案標頭和填充皆不計入承載資料數量。PNG 使用不同的壓縮方式,因此下載的檔案大小不一定等於這些數量。

在課堂上試試這個實驗

  1. Q1為什麼尺寸相同的兩張圖片可能需要不同大小的 RLE 承載資料?
  2. Q2為什麼寬度和高度都加倍時,原始儲存量會變成四倍?

常見問題

RLE 一定能讓圖片變小嗎?

不一定。色彩頻繁變化會產生許多連續段,所需位元數可能比原始點陣資料更多。

PNG 檔案為什麼會比顯示的酬載更大或更小?

檔案包含標頭並使用 PNG 壓縮,而此實驗計算的是刻意簡化的像素或 RLE 酬載。