因為我們是用硬體電路來實現對物體作追蹤或定位的研究,所以有一些關於影像處理的 部份原理,例如 NTSC 的掃描原理或是一些顏色空間的原理,如 RGB 跟 YUV 等等,甚至 是顏色空間互換等原理也必須深入了解,我們才能進一步的去架構出 FPGA 內的電路設 計部分。
2-1 NTSC 掃描原理
在目前的電視訊號中,比較常見的其一種是 S-video ,另一種是 C-video。S-video 訊 號是將 Y(亮度訊號)/C(彩色訊號)以分離的方式來作傳送,它具有四根針腳;而 C-video 則只有一根訊號線而已,所以又稱之為複合視訊。在 C-video 這組訊號格式中,最常採 用的兩大系統,一個是 NTSC(National Television System Committee),另一個則是 PAL(Phase Alternation by Line)。兩種系統訊號最大的差別在於垂直掃描線與垂直掃 描頻率不同,NTSC 是有 525 條掃描線,垂直掃描頻率為 60HZ,而 PAL 則是有 625 條掃 描線,垂直掃描頻率為 50HZ。以下皆說明何謂掃描與同步。
2-1-1.掃描與同步
一.水平掃描水平掃描就是將電子束從左到右掃過一遍,將形成由左到右的水平前馳訊號(trace),
緊接著電子束再從右邊回到左邊,這個過程稱之為水平返馳。一個水平前馳加上一個水 平返馳的訊號,就是等於完成了一條水平線的掃描,其中水名掃描頻率為 15.75KHZ。
二.垂直掃描
三.交叉掃描
在掃描的過程中為了避免閃爍,都會使用交插掃描,這是由美國廣播電視的FCC (Federal Communications Commission)規定的一種標準掃描方式。它在以4:3比例的矩形框內
同的緣故。這樣電子束就完成了奇偶場的掃描,也可以說是完成一個圖框的掃描,並在 A 點準備進行下一個圖框的掃描。
圖 2- 1 奇場之掃描方式
圖 2- 2 偶場之掃描方式
2-1-2 顏色空間
彩色圖像紀錄的格式,比較常見的格式有 RGB,YUV,CMYK 等等。彩色電視最早的構想 是想使用 RGB 三種原色來作傳輸,因為 RGB 是重於人的眼睛對於色彩的感應,但是這種
YUV(亦稱 YCrCb)是被歐洲電視系統所採用的一種顏色編碼方法(屬於 PAL)。在現 代彩色電視系統中,通常採用三管彩色攝影機或彩色CCD 攝影機進行取像,然後把取
其向後相容老式黑白電視。與RGB 視頻信號傳輸相比,它最大的優點在於只需佔用極 少的頻寬(RGB 要求三個獨立的視頻信號同時傳輸)。其中“Y”表示明亮度(Luminance 或Luma),也就是灰階值;而“U”和“V” 表示的則是色度(Chrominance 或
Chroma),作用是描述影像色彩及飽和度,用於指定像素的顏色。“亮度”是透過 RGB 輸入信號來建立的,方法是將RGB 信號的特定部分疊加到一起。“色度”則定義了顏色 的兩個方面─色調與飽和度,分別用Cr 和 CB 來表示。其中,Cr 反映了 GB 輸入信號 紅色部分與RGB 信號亮度值之間的差異。而 CB 反映的是 RGB 輸入信號藍色部分與 RGB 信號亮度值之同的差異。
2-1-3 顏色空間取樣互換
在進行顏色空間互換之前,我們必須先了解一些 RGB 與 YUV 的顏色空間格式,比較常聽 到與比較常使用的顏色空間有以下這幾種如 RGB 4:4:4、YUV 4:4:4、YUV 4:2:2 等等。
所謂的 RGB 4:4:4 取樣格式,就是說在每個取樣點中都會有一個 R 值、一個 G 值、一 個 B 值,由這 3 個值組合成一組,再將影像壓縮比為 1,所以整張圖片當然可以完完整 整的呈現解碼出來。如圖 2-3 所示
圖 2- 3 RGB4:4:4 顯示圖
而 YUV 4:4:4 取樣格式,其實原理跟 RGB 4:4:4 一樣,也就是說在每個取樣點中都 會有一個 Y 值、一個 U 值、一個 V 值,由這 3 個值組合成一組,再將影像壓縮比為 1,
所以整張圖片當然也可以完完整整的呈現解碼出來。如圖 2-4 所示
圖 2- 4 YUV4:4:4 顯示圖
而 YUV 4:2:2 取樣格式,它的排列方式是 Cb0 Y0 Cr0 Y1 這樣一直下去到整張圖片結 束為止。它的影像壓縮比 2/3,所以影像資訊難免會遺失,但是目前大部分的影像系統 都是採用這個規格。如圖 2-5 所示
圖 2- 5 YUV4:2:2 顯示圖
在了解了上述一些基本的顏色空間取樣格式後,那麼我們要將 YUV 顏色空間轉換成 RGB 顏色空間的首要步驟,就是要將 YUV 4:2:2 的資料轉換成 YUV 4:4:4 再轉換 成 RGB 4:4:4,如圖 2-6 所示
2-2 ITU-R BT.656 原理
由於我們所採用的 A/D C 晶片是 SAA7113H,它的輸出訊號格式是 YUV 訊號,是屬 於數位訊號的一種,所以國際電信總會就把此種訊號格式稱之為 ITU-R BT.656 ,簡稱 為 ITU656,因此在此章節,必須好好的了解有關於 itu656 整個規格,不外乎是掃描時 的資料字元判斷、影像資料格式、介面訊號架構、以及影像時序的參考碼等。
2-2-1.何謂數位影像標準架構
相信有學過訊號處理系統的人都可以清楚明白的了解到數位與類比訊號是兩種截 然不同的訊號模式。但在現今的廣播錄音及影像都還是會採用數位的方式來儲存,其因 就是數位影像不僅方便編輯,而且還可以透過數位影像壓縮的標準來做壓縮,以減少資 料的儲存量。由於目前的音樂及影像還是以類比訊號為主,所以會透過一些訊號處理的 方式將類比的資訊轉成數位的資料,這一個動作就稱為 digitize(數位化)。今天還在使 用一般的數位影像標準架構,大多數還是以 4:2:2 取樣系統為基礎。
4:2:2 的 數 位 影 像 格 式 有 使 用 許 多 不 同 的 的 標 準 , 如 525-line(NTSC) , 625-line(PAL),寬螢幕 16:9 NTSC 及 PAL,以及 HDTV。表 2-1 列出一些有關 4:2:2 的 數位影像標準。
表 2- 1:一般 4:2:2 數位影像標準的架構 [5]
當然我們在將類比訊號經過數位化後之後,在進行影音方面的處理會是比較方便且快速 的,但是你也必須把它還原成原來的類比訊號,才有可能在繼續播放或其他的應用。所 以你如果要將YUV 4:2:2取樣格式轉換成RGB 4:4:4取樣格式,必須經過在2-1節所 談到的2個步驟:
1. 先把 YUV 4:2:2 取樣格式轉換成 YUV 4:4:4 取樣格式。
2. 再把 YUV 4:4:4 取樣格式轉換成 RGB 4:4:4 取樣格式。
這樣經過這 2 個步驟以後才算完全的把數位訊號還原成原本的類比訊號。
2-2-2. 遮沒訊號時的資料字元
何謂遮沒訊號時的資料字元?就是說你如何從訊號所呈現的資料去判斷說 YUV 訊號格式 已經開始了。
其實每一行影像資料的開頭及結束,都會有一個時序參考訊號,所以我們必須去抓出 32 個 bit 的值,而這 32 個 bit 的值是必須呈現 FF 00 00 XY,在 XY 之後的 byte 值,
我們只要去判斷說是 80 10... 這樣的值一直重複連續,或是呈現從 0~255 的值,這樣 我們就可以判斷出現在是水平前馳的訊號在跑或是水平返馳的訊號在跑,通通都可以一 目了然。
那麼你或許會很好奇判斷水平前馳的訊號或水平返馳的訊號,總是接在 XY 這組 byte 後面,那麼這組 byte 會告訴我們什麼資訊呢?其實在這組 byte 裡包含了基偶場(F)、
列遮沒的狀態(V)和行遮沒的狀態(H),而時序參考訊號所定義字元的功能表示如表 2-2
表 2- 2 時序參考訊號定義字元[5]
那你可能會說 F.V.H 也只是 3 個 bit 值而以啊,剩下的 4 個低位元的值是代表什麼 意思呢?其實位元 P0、P1、P2、P3 是依據 FVH 所產生的,這四個位元可以被當成是保 護位元(protection bits)的功能,保護位元的組合如表 2-3。當訊號在傳送時永遠只允 許一個位元錯誤。但當有兩個位元錯誤時,就必須判定資料傳送錯誤。
表 2- 3:保護碼位元[5]
所以我們可以知道 1 組 8 bit 的 XY 訊號是包含了多麼重要的資訊,那麼你會去思考說 如果這組 XY 訊號後面接的是水平前馳的訊號格式,那這一組 32-bit 的值包含了 XY 訊 號,我們稱之為 SAV,是影像資料方塊的開頭(Start of Active Video);那麼如果後面 接的是 80 10 80 10..這種訊號格式呢?我們稱之為 EAV 是影像資料方塊的結束(End of Active Video)。
2-2-3 介面訊號架構與影像資料格式
當然在了解了如何判斷出有無 YUV 訊號格式後,當然也要了解它的傳輸方式方式,
據國際電信總會所定義的,ITU656 的訊號架構是一種串列數位介面(Serial Digital Interface,SDI),想當然爾就是 1 個 bit 1 個 bit 這樣一直傳,SDI 是目前數位廣播電 視最主要的標準,它提供廣播網路最先進的傳輸服務。關於 ITU656 的訊號架構以圖形 說明會比較容易。
圖 2- 9 ITU656 訊號架構[5]
圖 2-9 上圖:將 YUV 垂直排列,觀察影像輸出訊號。由這張圖可以很清楚的了解,ITU656 是一種 4:2:2 YUV 的數位訊號,也就是說 1 個影像取樣格式是由 4 個 Y 訊號與 2 個 U 訊號與 2 個 V 訊號所組合而成的。
圖 2-9 下圖:將 YUV 以 ITU656 的輸出格式表示。ITU656 資料格式的排列方式及次序 為CB0 Y0 CR0 Y1 CB1 Y2 CR1 Y3 CB2 Y4 CR2 Y5 ⋯
2-3 演算法原理
處理部份交給硬體電路(以 FPGA 為主)來執行,再將座標資訊經由傳輸介面(RS232)或用無線傳輸的方式來傳給電腦,做為資料分析或資料備份用,這樣才可以大大的減少
在本系統使用到的追蹤演算法,是以亮度做為追蹤物件的依據,追蹤的步驟如下:
(1) 選取“取樣亮度"
(2) 以“取樣亮度"設定“取樣範圍"
(3) “位址比對”:將 X 軸及 Y 軸的位址一一的作比對,然後看個別的關連性,再將 各別的最大值與最小值取平均再做輸出。
圖 2- 10 二值化後的 Pixel 排列情形
1. 我們是以 NTSC 的原理來做掃描,所有的掃描線都是從左到右、從上到下的依 序掃描。
2. 因為我們的物體是雷射光點,所以亮度會比背景高比較多,因為做完二值化的動 作以後,物體與背景的訊號是不一樣的,所以我們是以 1 的訊號來代表雷射光點,以 0 的訊號來代表背景。
3. 橘色代表 X 軸,綠色代表 Y 軸,像在掃描到(4 , 3)這個 Pixel 的時候,訊號是1 , 但是在(3 , 3)這個 Pixel 的時候 ,它的訊號是0 ,所以訊號是從 0 變成 1 ,此訊號是為 正緣觸發。在(5 , 3)這個 Pixel 的時候,訊號是1 ,但是在(6 , 3)這個 Pixel 的時候,它的 訊號是0 ,此訊號是為負緣觸發。所以一個正緣觸發 加一個負緣觸發 表示該列(Y) 有 物體出現。
4. 那把每一行的正緣觸發時的 X 軸 ,負緣觸發時的 X 軸 ,都一一的儲存起來,
如果有在比對範圍的 X 軸,那我們就把它歸類為同一個物體,同時把這 2 個 X 軸的座 標值相加除以 2 ,且把該 Y 軸儲存起來,所以如果偵測到有物體出現的話,每一行至 少會有 1 個中心點的座標值以上,然後我們再一行一行的作比對。如果下一行(Y=4),它
如果有在比對範圍的 X 軸,那我們就把它歸類為同一個物體,同時把這 2 個 X 軸的座 標值相加除以 2 ,且把該 Y 軸儲存起來,所以如果偵測到有物體出現的話,每一行至 少會有 1 個中心點的座標值以上,然後我們再一行一行的作比對。如果下一行(Y=4),它