• 沒有找到結果。

Data Flow Process Network 為一種運算的模型,多個平行的 Process 可以同時的執行 [13]。一個通用的 Data Flow Process Network 可以圖 3-1 來表示;P1、P2 和 P3 為 Process,

而 Process 與 Process 之間的溝通則經由 FIFO Channel 來達成。當 Process 的 Input Channel 有準備好的資料時,其 Process 則可開始做運算,運算完之後將其運算的結果存放到其 Output FIFO Channel。

圖 3-1 Data flow process network

Streaming Media Data Application 可利用 Data Flow Process Network 來模擬,例如以 一 JPEG Encoding 為例。JPEG(Joint Photographic Experts Group)是一種針對相片影像 壓縮的標準[14]。JPEG 壓縮的方式是一種失真壓縮,相片影像品質會有些許損失,普遍 使用在網路的影像傳輸上。JPEG Encoding 可以簡單的分成四個 Processes:

 色彩空間轉換(Color Space Transfer, CST)

首先,Pixel 由 RGB(紅、綠、藍)轉換為一種稱為 YCbCr 的色彩空間。Y 表示一 個像素(Pixel)的亮度(Brightness);CbCr 表示圖素的色調(Chrominance)與飽 和度(Chroma)。這種編碼系統非常有用,因為人類的眼睛對 Y 成分較為敏感。利 用 CST,編碼器可以被設計的更有效率地壓縮影像。

 離散餘弦變換(Discrete Cosine Transform, DCT)

透過 DCT,可將影像的 YcbCr 色彩空間轉換到頻率空間(Frequency Domain),以 解析出影像中 Frequency Domain 的特徵。

 量化(Quantization,Q)

在 Frequency Domain 上做量化,簡單的作法把頻率上的值,除以一個對於該成分的 常數,再對該值捨位取最接近的整數。這是整個過程的主要失真運算。以這個結果 而言,經常會把很多更高頻率的成分捨位成為接近 0,且剩下的多數會變成小的正

數或負數,而利於存取。人類眼睛在一個相對大範圍區域,辦別亮度上的細微差異 是優異的,但是在一個高頻率亮度變動之確切強度的辨別上,卻不是很好。高頻率 部分的值經 Quantization 之後變成 0,對人類眼睛的辨識而言,影響不大。

 Entropy Coding(Zero Run Length & Variable Length Coding ,VLC)

Entropy Coding 是不失真資料壓縮的一個特別的形式。經量化後影像中的 Pixel 以 Zigzag 方式排列,把相似頻率群組在一起(註:矩陣中網左上方是較低頻率係數,

往右下方是較高頻率係數),再經 Zero Run Length & Variable Length Coding 方式達 到資料進一步的壓縮。

圖 3-2 以 Data Flow Process Network 來模擬 JPEG 編碼步驟的流程。其輸入是相片 影像而輸出是二進位編碼,圖中圓圈部分表示 Process 運算的核心,其相依 Process 的 溝通則藉由 FIFO Channel。

01001 11011 10011 01001 00110 001…

圖 3-2 JPEG Encoding 以 Data Flow Process Network 來表示

Process Netwrok 中,其每一個 Process 即為 DSP 處理器所需處理的運算工作

(Task),而 FIFO Channel 則利用 DSP 的資料記憶體來做為資料的傳遞。當 Process 的 Input FIFO Channel 有準備好的資料,該 Process 就有機會被 Process Management 分派給 DSP 去做運算。而 Process 的運算有其優先順序,所以每一個 Process 會被指定一個優 先權(Priority)。如果在 IMT DSP 內有一個空閒的 Thread Slot,則 Process Management 會依照所指定的優先順序來分派 Process 到 DSP 上做運算。

優先權的指定方式是由 Process Network 資料流向的後面指定到前面,圖 3-2 為例,

VLC 有較高的優先權,而 CST 有較低的優先權。這樣優先權的指定方式是希望運算完

的結果能越快由 Master 搬出。若指定的方式是由前面指定到後面,則除非 CST 的 Output FIFO Channel 滿了,否則 Process Management 會一直分派 CST 的工作給 DSP,其 Process 的分派將建立在滿的 FIFO Channel 上,將使得整個 Process Flow 變的沒有效率。

相關文件