JPEG編解碼芯片ZR36060在遠程視頻監(jiān)視系統中的應用
摘要:簡要地敘述了JPEG編解碼芯片ZR36060的主要特點、內部結構和工作模式,并給出發(fā)一個應用實例——基于JPEG的遠程視頻監(jiān)視系統。
本文引用地址:http://www.ex-cimer.com/article/226422.htm關鍵詞:JPEG編解碼器 壓縮 解壓縮
隨著改革開放的進一步深入,各界對于安全防范和現場記錄報警系統的需求越來越大,要求也越來越高。數字化的圖像監(jiān)視系統已經逐步淘汰了傳統的閉路電視監(jiān)視系統。對于需要以圖像畫面作為證據的遠程視頻監(jiān)視系統而言,H.261和H.263圖像的質量已無法勝任,這時需要傳輸高質量的JPEG圖像。Zoran公司的JPEG編解碼芯片ZR36060正是這樣一種適合于基于JPEG的監(jiān)視系統和數字圖像采集、編輯的芯片。本文對ZR36060芯片的主要特點、內部結構和工作模式進行描述,最后給出它在遠程視頻監(jiān)視系統中的應用。
1 ZR36060的主要特點
ZR36060芯片具有以下主要特點:
(1)視頻壓縮和擴展功能。對square pixel 和CCIR PAL視頻信號可實現高達25幀/秒的壓縮;對square pixel 和CCIR NTSC視頻信號可實現高達30幀/秒的壓縮。
(2) 靈活的數據接口。ZR36060支持三種YUV視頻接口模式,即8bit主模式,支持高達29.5Mbyte/s的壓縮數據碼率;16bit從模式,支持高達16.8Mbyte/s的壓縮數據碼率;8bit從模式,支持高達9.8 Mbyte/s的壓縮數據碼率。
(3) 兩種視頻同步方式:同步主模式和同步從模式。同步主模式指芯片內部產生所有的定時信號;同步從模式則是芯片自己同步于一個外部的視頻源。
(4) 三種不同的比特率控制模式,用于不同的壓縮場合。Auto Two Pass用于靜止圖像壓縮,產生嚴格控制的壓縮代碼量;Single Pass用于運動視頻壓縮,保持壓縮文件大小的大致固定;No Bit Rate Control使用固定的量化表。
(5)可以和多種常用視頻解碼器(Decoder)實現無縫連接,例如:Philips、Brooktree、Samsung、 ITT、Harris 等公司的視頻解碼器。
(6) 可以和多種主控制器(host controller)連接。
(7) 可編程工作模式。通過對ZR36060內部的1K字節(jié)的內部寄存器的操作,可以靈活控制芯片的工作模式和各項工作指標。
(8) 同一芯片既能進行壓縮,也能進行解壓縮。
2 ZR36060的內部結構
ZR36060的結構框圖如圖1所示。
視頻接口部分是ZR36060和視頻編解碼器(Encoder或Decoder)的接口,通過這個接口,ZR36060輸出(同步主模式)或輸入(同步從模式)視頻同步信號:行同步信號HSYNC、場同步信號VSYNC和奇偶場指示信號FI等等。視頻接口還輸出或輸入YUV 4:2:2的數字視頻信號。壓縮時,Y[7:0]和UV[7:0]為數字視頻信號輸入口;解壓縮時Y[7:0]和UV[7:0]為數字視頻信號輸出口(工作于16bit視頻模式時,Y[7:0]為亮度信號,UV[7:0]為色度信號;工作于8bit視頻模式時,Y[7:0]為亮度/色度復用信號,UV[7:0]不用)。
代碼接口和主控器接口是ZR36060與外部存儲器和主控制器的接口。代碼接口是ZR36060輸出(壓縮時)和輸入(解壓縮時)JPEG碼流的接口。工作于代碼主模式時,ZR36060通過片選信號CCS、讀寫信號COE和CWE以及代碼總線CODE[7:0]對外部存儲器讀寫壓縮數據;工作于代碼從模式時,不需要外部存儲器,主控制器通過主控接口對ZR36060的內部FIFO直接讀寫JPEG碼流。
主控制器在主控接口通過兩位地址ADDR[1:0]、片選信號CS、讀寫信號RD和WR以及數據總線DATA[7:0]直接對4個寄存器操作。這4個寄存器的結構如表1和表2所示。01b單元的高2位(MSB)和10b單元的低8位共10位地址間接映射了ZR36060內部的1K字節(jié)的寄存器。無論在代碼主模式還是在代碼從模式下,讀寫ZR36060的內部寄存器都必須先寫入10bit的地址,然后緊跟著一個對Host Data寄存器(即11b單元)的8bit的讀/寫。主模式下,00b單元不使用,ZR36060通過代碼接口對外部存儲器讀寫JPEG碼流;從模式下,00b單元作為內部代碼FIFO,當工作于8bit從模式時,DATA[7:0]總線從00b單元讀寫壓縮數據;當工作于16bit從模式時,DATA[7:0]和CODE7:0共同從00b單元讀寫壓縮數據。ACK是ZR36060和主控制器的握手信號,JIRQ是ZR36060向主控制器發(fā)出的中斷請求信號,CBUSY用來指示Code FIFO是否忙。主控制器通過主控接口對ZR36060的內部1K字節(jié)的寄存器的讀寫選定其工作模式和工作參數。
表1 代碼主模式下的ZR36060的地址空間
地址ADD[1:0] | 數據DATA[7:0] | 讀寫屬性 |
00 | 不用 | |
01 | 不用 MSB | 只寫 |
10 | Host Address LSB | 只寫 |
11 | Host Data | 讀寫 |
表2 代碼主模式下的ZR36060的地址空間
地址ADD[1:0] | 數據DATA[7:0] | 讀寫屬性 |
00 | CODE FIFO | 讀寫 |
01 | 不用 MSB | 只寫 |
10 | Host Address LSB | 只寫 |
11 | Host Data | 讀寫 |
控制部分用于給出ZR36060工作順序的控制信號以及ZR36060發(fā)出的指示信號。包括:壓縮/解壓縮啟動信號START、復位信號RESET、操作結束指示信號END等等。
3 ZR36060的工作模式
ZR36060有多種工作模式,通過主控接口設置內部寄存器可以選擇合適的工作模式,因此運用十分靈活。
就主控制器接口來說,有三種工作模式,如圖2所示。
8bit代碼寬度的代碼主模式:在該模式下,主控接口和代碼接口分開,需要一個外部的FIFO。主控接口通過數據總線DATA[7:0]負責對ZR36060內部寄存器的讀寫,而代碼接口通過代碼總線CODE[7:0]負責從外部存儲器讀寫壓縮數據。
8bit代碼寬度的代碼從模式:在該模式下,主控接口和代碼接口共用,主控制器的數據總線DATA[7:0]通過讀寫Host Data(11b單元)對ZR36060的內部寄存器進行設置;它還從CODE FIFO(00b單元)讀寫壓縮數據。
16bit代碼寬度的代碼從模式:在該模式下,主控制器的數據總線DATA[7:0]通過讀寫Host Data(11b單元)對ZR36060的內部寄存器進行設置和讀??;它還和代碼總線CODE[7:0]一起從CODE FIFO(00b單元)讀寫JPEG數據。
就視頻接口的同步來說,ZR36060有2種工作模式。
同步主模式:在該模式下,ZR36060內部產生所有的視頻定時信號。
同步從模式:在該模式下,ZR36060使自己同步于一個外部視頻源,采樣外加視頻信號的行同步信號HSYNC、場同步信號VSYNC和奇偶指示信號FI。
就視頻總線寬度來說,ZR36060有2種工作模式。
8bit視頻總線模式:在該模式下,UV[7:0]不用,視頻亮度和色度信號都出現在Y[7:0]上,按照CCIR656建議復用,其數據格式為(U=Cb, V=Cr):
U0,Y0,V0,Y1,U2,Y2,V2,Y3...
16bit視頻總線模式:在該模式下,Y[7:0]為亮度信號,UV[7:0]為色度信號
4 ZR36060在遠程監(jiān)視系統中的應用
使用ZR36060實現的一個遠程監(jiān)視系統的遠端(現場端)如圖3所示。
在這個遠程監(jiān)視系統的遠端實現對輸入模擬視頻信號的數字化和壓縮,并傳送到,近端PC機接收,用軟件解壓縮并在顯示器上恢復原圖像。
視頻解碼器接收攝像機輸出的復合模擬視頻信號,進行亮色分離和A/D轉換輸出4:2:2的YCbCr數字視頻信號和時鐘信號(27MHz)、行同步信號、場同步信號及奇偶場指示信號,這些信號都輸入到ZR36060芯片。
單片機通過主控接口對ZR36060的內部寄存器進行工作方式設置(初始化):對ZR36060的工作狀態(tài)設為視頻同步從模式、8bit代碼主模式,16bit視頻總線寬度。ZR36060采樣視頻解碼器輸出的同步信號并與之同步,接收來自視頻解碼器的PCM數字視頻信號,進行壓縮,并將壓縮后的JPEG圖像寫入SRAM中。
由于ZR36060外接的是SRAM,而不是FIFO,所以需要一個計數器作為地址發(fā)生器,ZR36060的CWE信號作為計數器的計數脈沖,它同時還作為SRAM的寫信號將CODE[7:0]的壓縮數據寫入到SRAM中去。
當ZR36060壓縮完一幀后(存于SRAM中),單片機順序讀出,并發(fā)送到UART中,由Modem傳到近端。
評論