|
 |
 |
視頻監控系統知識 |
|
 |
|
 |
圖像數碼基礎 |
一、光和顏色 1 光和顏色 可見光是波長在 380 nm ~ 780 nm 之間的電磁波,我們看到的大多數光不是一種波長的光,而是由許多不同波長的光組合成的。如果光源由單波長組成,就稱為單色光源。該光源具有能量,也稱強度。實際中,只有極少數光源是單色的,大多數光源是由不同波長組成,每個波長的光具有自身的強度。這稱為光源的光譜分析。 顏色是視覺系統對可見光的感知結果。研究表明,人的視網膜有對紅、綠、藍顏色敏感程度不同的三種錐體細胞。紅、綠和藍三種錐體細胞對不同頻率的光的感知程度不同,對不同亮度的感知程度也不同。 自然界中的任何一種顏色都可以由 r , g , b 這 3 種顏色值之和來確定,以這三種顏色為基色構成一個 rgb 顏色空間,基色的波長分別為 700 nm( 紅色 ) 、 546.1 nm( 綠色 ) 和 435.8 nm( 藍色 ) 。 顏色= r( 紅色的百分比 ) + g( 綠色的百分比 ) + b( 藍色的百分比 ) 可以選擇不同的三基色構造不同的顏色空間,只要其中一種不是由其它兩種顏色生成。例如 y ( yellow, 黃色), c ( cyan ,青色), m ( magenta ,品紅)。 2 顏色的度量 圖像的數字化首選要考慮到如何用數字來描述顏色。國際照明委員會 cie ( international commission on illumination )對顏色的描述作了一個通用的定義,用顏色的三個特性來區分顏色。這些特性是色調,飽和度和明度,它們是顏色所固有的并且是截然不同的特性。 色調 (hue) 又稱為色相,指顏色的外觀,用于區別顏色的名稱或顏色的種類。色調用紅、橙、黃、綠、青、藍、靛、紫等術語來刻畫。用于描述感知色調的一個術語是色彩 (colorfulness) 。 飽和度 (saturation) 是相對于明度的一個區域的色彩,是指顏色的純潔性,它可用來區別顏色明暗的程度。完全飽和的顏色是指沒有滲入白光所呈現的顏色,例如僅由單一波長組成的光譜色就是完全飽和的顏色。 明度 (brightness) 是視覺系統對可見物體輻射或者發光多少的感知屬性。它和人的感知有關。由于明度很難度量,因此國際照明委員會定義了一個比較容易度量的物理量,稱為亮度 (luminance) 來度量明度,亮度 (luminance) 即輻射的能量。明度的一個極端是黑色 ( 沒有光 ) ,另一個極端是白色,在這兩個極端之間是灰色。 光亮度 (lightness) 是人的視覺系統對亮度 (luminance) 的感知響應值,光亮度可用作顏色空間的一個維,而明度 (brightness) 則僅限用于發光體 , 該術語用來描述反射表面或者透射表面。 3 顏色空間 顏色空間是表示顏色的一種數學方法,人們用它來指定和產生顏色,使顏色形象化。顏色空間中的顏色通常使用代表三個參數的三維坐標來指定,這些參數描述的是顏色在顏色空間中的位置,但并沒有告訴我們是什么顏色,其顏色要取決于我們使用的坐標。 使用色調、飽和度和明度構造的一種顏色空間,叫做 hsb(hue, saturation and brightness) 顏色空間。 rgb(red , green and blue) 和 cmy(cyan, magenta and yellow) 是最流行的顏色空間,它們都是與設備相關的顏色空間,前者用在顯示器上,后者用在打印設備上。 rgb(red , green and blue) 和 cmy(cyan, magenta and yellow) 是最流行的顏色空間,前者用在顯示器上,后者用在打印設備上。 從技術上角度區分,顏色空間可考慮分成如下三類: ? rgb 型顏色空間 / 計算機圖形顏色空間:這類模型主要用于電視機和計算機的顏色顯示系統。例如, rgb , hsi, hsl 和 hsv 等顏色空間。 ? xyz 型顏色空間 /cie 顏色空間:這類顏色空間是由國際照明委員會定義的顏色空間,通常作為國際性的顏色空間標準,用作顏色的基本度量方法。例如, cie 1931 xyz , l*a*b , l*u*v 和 lch 等顏色空間就可作為過渡性的轉換空間。 ? yuv 型顏色空間 / 電視系統顏色空間:由廣播電視需求的推動而開發的顏色空間,主要目的是通過壓縮色度信息以有效地播送彩色電視圖像。例如, yuv , yiq , itu-r bt.601 y"cbcr, itu-r bt.709 y"cbcr 和 smpte -240m y"pbpr 等顏色空間。 4 顏色空間的轉換 不同顏色可以通過一定的數學關系相互轉換: ? 有些顏色空間之間可以直接變換。例如, rgb 和 hsl , rgb 和 hsb , rgb 和 r"g"b", r"g"b" 和 y"crcb , cie xyz 和 cie l*a*b* 等。 ? 有些顏色空間之間不能直接變換。例如, rgb 和 cie la*b*, cie xyz 和 hsl , hsl 和 y"cbcr 等,它們之間的變換需要借助其他顏色空間進行過渡。 r"g"b" 和 y"cbcr 兩個彩色空間之間的轉換關系用下式表示: y = 0.299r + 0.587g + 0.114b cr = (0.500r - 0.4187g - 0.0813b) + 128 cb = (-0.1687r - 0.3313g + 0.500b) + 128 二、彩色電視的制式及其顏色空間 1 、彩色電視制式 目前世界上現行的彩色電視制式有三種: ntsc 制、 pal 制和 secam 制。這里不包括高清晰度彩色電視 hdtv (high-definition television) 。 ntsc(national television systems committee) 彩色電視制是 1952 年美國國家電視標準委員會定義的彩色電視廣播標準,稱為正交平衡調幅制。美國、加拿大等大部分西半球國家,以及日本、韓國、菲律賓等國和中國的臺灣采用這種制式。 ntsc 彩色電視制的主要特性是: (1) 525 行 / 幀 , 30 幀 / 秒 (29.97 fps, 33.37 ms/frame) (2) 高寬比:電視畫面的長寬比 ( 電視為 4:3 ;電影為 3:2 ;高清晰度電視為 16:9) (3) 隔行掃描,一幀分成 2 場 (field) , 262.5 線 / 場 (4) 在每場的開始部分保留 20 掃描線作為控制信息,因此只有 485 條線的可視數據。 laser disc 約 ~420 線, s-vhs 約 ~320 線 (5) 每行 63.5 微秒,水平回掃時間 10 微秒 ( 包含 5 微秒的水平同步脈沖 ) ,所以顯示時間是 53.5 微秒。 (6) 顏色模型: yiq 一幀圖像的總行數為 525 行,分兩場掃描。行掃描頻率為 15 750 hz , 周期為 63.5μs ;場掃描頻率是 60 hz ,周期為 16.67 ms ;幀頻是 30 hz ,周期 33.33 ms 。每一場的掃描行數為 525/2=262.5 行。除了兩場的場回掃外,實際傳送圖像的行數為 480 行。 由于 ntsc 制存在相位敏感造成彩色失真的缺點,因此德國 ( 當時的西德 ) 于 1962 年制定了 pal(phase-alternative line) 制彩色電視廣播標準,稱為逐行倒相正交平衡調幅制。德國、英國等一些西歐國家,以及中國、朝鮮等國家采用這種制式。 pal 電視制的主要掃描特性是: (1) 625 行 ( 掃描線 )/ 幀, 25 幀 / 秒 (40 ms/ 幀 ) (2) 長寬比 (aspect ratio) : 4:3 (3) 隔行掃描, 2 場 / 幀, 312.5 行 / 場 (4) 顏色模型: yuv 法國制定了 secam ( 法文: sequential coleur avec memoire) 彩色電視廣播標準,稱為順序傳送彩色與存儲制。法國、蘇聯及東歐國家采用這種制式。世界上約有 65 個地區和國家試驗這種制式。 這種制式與 pal 制類似,其差別是 secam 中的色度信號是頻率調制 (fm) ,而且它的兩個色差信號:紅色差 (r"-y") 和藍色差 (b"-y") 信號是按行的順序傳輸的。法國、俄羅斯、東歐和中東等約有 65 個地區和國家使用這種制式,圖像格式為 4:3 , 625 線, 50 hz , 6 mhz 電視信號帶寬,總帶寬 8 mhz 。 2 、彩色電視的顏色空間 在彩色電視中,用 y 、 c1, c2 彩色表示法分別表示亮度信號和兩個色差信號, c1 , c2 的含義與具體的應用有關。在 ntsc 彩色電視制中, c1 , c2 分別表示 i 、 q 兩個色差信號;在 pal 彩色電視制中, c1 , c2 分別表示 u 、 v 兩個色差信號;在 ccir 601 數字電視標準中, c1 , c2 分別表示 cr , cb 兩個色差信號。所謂色差是指基色信號中的三個分量信號 ( 即 r 、 g 、 b) 與亮度信號之差。 ntsc 的 yiq 顏色空間與 rgb 顏色空間的轉換關系如下: y=0.30r+ 0.59g +0.11b i=0.74(r - y) - 0.27(b - y) = 0.60r+ 0.28g +0.32b q=0.48(r - y) - 0.27(b - y) = 0.21r+ 0.52g +0.31b pal 的 yuv 顏色空間與 rgb 顏色空間的轉換關系如下: y=0.30r+ 0.59g +0.11b u=0.493(b - y) = - 0.15r - 0.29g +0.44b q=0.877(r - y) = 0.62r - 0.52g - 0.10b 三、視頻圖像采樣 模擬視頻的數字化包括不少技術問題,如電視信號具有不同的制式而且采用復合的 yuv 信號方式,而計算機工作在 rgb 空間;電視機是隔行掃描,計算機顯示器大多逐行掃描;電視圖像的分辨率與顯示器的分辨率也不盡相同等等。因此,模擬視頻的數字化主要包括色彩空間的轉換、光柵掃描的轉換以及分辨率的統一。 模擬視頻一般采用分量數字化方式,先把復合視頻信號中的亮度和色度分離,得到 yuv 或 yiq 分量,然后用三個模/數轉換器對三個分量分別采樣并進行數字化,最后再轉換成 rgb 空間。 1 、圖像子采樣 對彩色電視圖像進行采樣時,可以采用兩種采樣方法。一種是使用相同的采樣頻率對圖像的亮度信號( y )和色差信號( cr , cb )進行采樣,另一種是對亮度信號和色差信號分別采用不同的采樣頻率進行采樣。如果對色差信號使用的采樣頻率比對亮度信號使用的采樣頻率低,這種采樣就稱為圖像子采樣 (subsampling) 。由于人的視覺對亮度信號的敏感度高于對色差的敏感度,這樣做利用人的視覺特性來節省信號的帶寬和功率,通過選擇合適的顏色模型,可以使兩個色差信號所占的帶寬明顯低于 y 的帶寬,而又不明顯影響重顯彩色圖像的觀看。 目前使用的子采樣格式有如下幾種: (1) 4:4:4 這種采樣格式不是子采樣格式,它是指在每條掃描線上每 4 個連續的采樣點取 4 個亮度 y 樣本、 4 個紅色差 cr 樣本和 4 個藍色差 cb 樣本,這就相當于每個像素用 3 個樣本表示。 (2) 4:2:2 這種子采樣格式是指在每條掃描線上每 4 個連續的采樣點取 4 個亮度 y 樣本、 2 個紅色差 cr 樣本和 2 個藍色差 cb 樣本,平均每個像素用 2 個樣本表示。 (3) 4:1:1 這種子采樣格式是指在每條掃描線上每 4 個連續的采樣點取4個亮度y樣本、1 個紅色差 cr 樣本和 1 個藍色差 cb 樣本,平均每個像素用 1.5 個樣本表示。 (4) 4:2:0 這種子采樣格式是指在水平和垂直方向上每 2 個連續的采樣點上取 2 個亮度 y 樣本、 1 個紅色差 cr 樣本和 1 個藍色差 cb 樣本,平均每個像素用 1.5 個樣本表示。 2 、 cif 、 qcif 和 sqcif 格式 為了既可用 625 行的電視圖像又可用 525 行的電視圖像, ccitt 規定了稱為公用中分辨率格式 cif(common intermediate format) , 1/4 公用中分辨率格式 (quarter-cif , qcif) 和 (sub-quarter common intermediate format , sqcif) 格式對電視圖像進行采樣。 cif 格式具有如下特性: (1)電視圖像的空間分辨率為家用錄像系統 (video home system , vhs) 的分辨率,即 352×288 。 (2)使用非隔行掃描 (non-interlaced scan) 。 (3)使用 ntsc 幀速率,電視圖像的最大幀速率為 30 000/1001≈29.97 幅 / 秒。 (4)使用 1/2 的 pal 水平分辨率,即 288 線。 (5)對亮度和兩個色差信號 (y 、cb和cr) 分量分別進行編碼,它們的取值范圍同 itu-r bt.601 。即黑色 =16 ,白色 =235 ,色差的最大值等于 240 ,最小值等于 16 。 下面為 5 種 cif 圖像格式的參數說明。參數次序為 “ 圖象格式 亮度取樣的象素個數 (dx) 亮度取樣的行數 (dy) 色度取樣的象素個數 (dx/2) 色度取樣的行數 (dy/2)” 。 sub-qcif 128 96 64 48 qcif 176 144 88 72 cif 352 288 176 144 4cif 704 576 352 288 16cif 1408 1152 704 576 h.263 數字視頻壓縮 一、視頻壓縮編碼的基本概念 視頻壓縮的目標是在盡可能保證視覺效果的前提下減少視頻數據率。視頻壓縮比一般指壓縮后的數據量與壓縮前的數據量之比。 在視頻壓縮中常需用到以下的一些基本概念: 1 有損和無損壓縮:在視頻壓縮中有損( lossy )和無損( lossless )的概念與靜態圖像中基本類似。無損壓縮也即壓縮前和解壓縮后的數據完全一致。有損壓縮意味著解壓縮后的數據與壓縮前的數據不一致。在壓縮的過程中要丟失一些人眼和人耳所不敏感的圖像或音頻信息,而且丟失的信息不可恢復。丟失的數據率與壓縮比有關,壓縮比越小,丟失的數據越多,解壓縮后的效果一般越差。此外,某些有損壓縮算法采用多次重復壓縮的方式,這樣還會引起額外的數據丟失。 2 幀內和幀間壓縮:幀內( intraframe )壓縮也稱為空間壓縮( spatial compression )。當壓縮一幀圖像時,僅考慮本幀的數據而不考慮相鄰幀之間的冗余信息,這實際上與靜態圖像壓縮類似。幀內壓縮一般達不到很高的壓縮。 采用幀間( interframe )壓縮是基于許多視頻或動畫的連續前后兩幀具有很大的相關性,或者說前后兩幀信息變化很小的特點。也即連續的視頻其相鄰幀之間具有冗余信息,根據這一特性,壓縮相鄰幀之間的冗余量就可以進一步提高壓縮量,減小壓縮比。幀間壓縮也稱為時間壓縮( temporal compression ),它通過比較時間軸上不同幀之間的數據進行壓縮。幀間壓縮一般是無損的。 3 對稱和不對稱編碼:對稱性( symmetric )是壓縮編碼的一個關鍵特征。對稱意味著壓縮和解壓縮占用相同的計算處理能力和時間,對稱算法適合于實時壓縮和傳送視頻,如視頻會議應用就以采用對稱的壓縮編碼算法為好。不對稱或非對稱意味著壓縮時需要花費大量的處理能力和時間,而解壓縮時則能較好地實時回放,也即以不同的速度進行壓縮和解壓縮。一般地說,壓縮一段視頻的時間比回放(解壓縮)該視頻的時間要多得多。 二、 h.263 壓縮編碼格式 1 h.263 壓縮編碼格式 h.263 視頻編碼標準是專為中高質量運動圖像壓縮所設計的低碼率圖像壓縮標準。 h.263 采用運動視頻編碼中常見的編碼方法,將編碼過程分為幀內編碼和幀間編碼兩個部分。 i 幀內用改進的 dct 變換并量化,在幀間采用 1/2 象素運動矢量預測補償技術,使運動補償更加精確,量化后適用改進的變長編碼表( vlc )地量化數據進行熵編碼,得到最終的編碼系數。 2 h.263 幀類型 a 內碼幀( i 幀)不能由任何其它幀構造出來,包含所有可顯示它的信息。 i 幀編碼過程: 每個光亮度和色差平面被分成 8 * 8 的塊 各塊使用 dct 轉換成頻率域 利用量化表進行量化。 對各塊中最重要系數序列( dc 系數)用 dpcm 技術進行編碼,且僅編碼兩個相鄰 dc 值的差 各塊中的系數是按鋸齒形次序進行行程編碼 最后進行類哈夫曼編碼 預測幀( p 幀):由前面的幀構造所得。 p 幀編碼: p 幀編碼過程: 在基準幀中對每個宏塊均查找其最佳匹配宏塊 計算實際宏塊和最佳匹配宏塊的差,作為運動向量 誤差項用 dct 進行轉換 接著進行量化步,形成 “ 鋸齒形次序 ” 行程編碼,最后進行類哈夫曼平均信息量編碼。注意量化表與 i 幀所用的不同, dc 系數的編碼與其他系數的編碼方式相同 3 h.263 特點 與 h.261 的 p×64k 的傳輸碼率相比, h.263 的碼率更低,單位碼率可以小于 64k ,且支持的原始圖像格式更多,包括了在視頻和電視信號中常見的 qcif , cif , edtv , itu - r 601 , itu - r 709 等等。 h.263 的編碼速度快,其設計編碼延時不超過 150ms ;碼率低,在 512 k 乃至 384k 帶寬下仍可得到相當滿意的圖像效果,十分適用于需要雙向編解碼并傳輸的場合(如 : 可視電話)和網絡條件不是很好的場合(如 : 遠程監控)。 h . 263 圖象被編碼為一個亮度信號和兩個色差成分( y , cb 和 cr )。 4 h.263 的數據結構 h.263 采用句法和語義學的方法對多路視頻來管理的。 句法被劃分為四層,四個層分別是圖象、塊組、宏塊、塊。圖象層每幀圖象的數據包含一個圖象頭,并緊跟著塊組數據,最后是一個 end-of-sequence 碼和填塞位。其中包括有圖象開始碼 (psc) (22 bits) 、時域參照 (tr)(8 bits) 、類型信息 (ptype) (13 bits) 和量化器信息 (pquant) (5 bits) 等十三個選項。 每個塊組層 (gob) 包含了一個塊組層頭,緊跟著宏塊數據。每個 gob 包含了一行或多行宏塊。對于每幀圖象的第一個 gob ( 0 號),不需要傳送 gob 頭。而對于其它的 gob , gob 頭可以為空,這決定于編碼策略。譯碼器可以通過外部手段發送信號給遠程變碼器要求只傳送非空 gob 頭,例如建議 h.245 。 每個宏塊中包含了一個宏塊頭和后續的塊數據。 cod 只出現在用 ptype 指定為 "inter" 的圖象幀中,對于這些圖象中的宏塊,當 cod 指定或 ptype 指示為 "intra" 時會出現宏塊類型 & 色度的編碼塊樣式( mcpbc )。如果 ptype 指示了 "pb 幀 " ,對于 b 塊的宏塊 (modb) 會出現。只有在 modb 中指定時才會出現 cbpb (指示將傳送宏塊的 b 系數)和 b 宏塊的運動矢量數據 (mvdb) ( 變長 ) 。當 mcpbc 和 cbpy 中指定時會出現 " 塊數據 " 。 塊層如果不在 pb 幀模式,一個宏塊包含四個亮度塊和兩個色差塊。在 pb 幀模式下,一個宏塊包含 12 個塊。在缺省 h.263 模式下,首先傳送 6 個 p 塊數據,然后是 6 個 b 塊數據。 |
|
|