




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.wd.wd.wd.視頻監控和視頻圖像分析根基知識視頻監控的定義利用視頻技術探測、監視設防區域,實時顯示、記錄現場圖像,檢索和顯示歷史圖像的電子系統或網絡系統視頻監控系統是安全技術防范的一個子系統視頻監控技術是安全防范技術的一局部它包括模擬視頻監控系統、網絡視頻監控系統。模擬視頻監控圖1 模擬視頻監控的 基本構造網絡視頻監控圖2 網絡視頻監控的 基本構造技術:主要是視頻編解碼技術、嵌入式技術組成:硬盤錄像機、攝像機、監視器等功能:監視監聽、控制、錄像、回放、對講等線纜:視頻電纜、 485控制線主要應用:金融、樓宇、小區等網絡視頻監控優點可通過網絡組建低成本跨區域監控系統一機多路,使用大容量硬盤
2、可長期存儲數字信號長期保存信號不失真采用智能檢索,檢索與錄像可同時進展循環錄像方式,節約人力 基本概念圖像Image像素Pixel分辨率Resolution水平:Width垂直:Height視頻Video時間上連續的圖像組成視頻:ImageVideo視頻中的某一幅圖像稱為一幀Frame幀率Frame RateFPS 每秒的幀數碼流Bit Stream將圖像壓縮后形成的數據碼率Bit Ratebps/Bps 對碼流進展量化碼率類型:定碼率CBR、變碼率VBR碼流類型:視頻流、音頻流、復合流掃描方式隔行掃描Interlaced和逐行掃描Progressive都是在顯示設備表示運動圖像的方法,隔行掃
3、描方式是每一幀被分割為兩場畫面交替顯示,逐行掃描方式是將每幀的所有畫面同時顯示。通常的液晶電視顯示畫面的掃描方法都是從左到右從上到下,每秒鐘掃描固定的幀數。隔行掃描(Interlacing隔行掃描就是每一幀被分割為兩場,每一場包含了一幀中所有的奇數掃描行或者偶數掃描行,通常是先掃描奇數行得到第一場,然后掃描偶數行得到第二場。由于視覺暫留效應,人眼將會看到平滑的運動而不是閃動的半幀半幀的圖像。但是這時會有幾乎不會被注意到的閃爍出現,使得人眼容易疲勞。當屏幕的內容是橫條紋時,這種閃爍特別容易被注意到。逐行掃描(Progressive)逐行掃描每次顯示整個掃描幀,如果逐行掃描的幀率和隔行掃描的場率一
4、樣,人眼將看到比隔行掃描更平滑的圖像,相對于隔行掃描來說閃爍較小。視頻制式PAL Phase Alternating Line:供電頻率為50Hz、場頻為每秒50場、幀頻為每秒25幀、掃描線為625行 圖像彩色誤差較小,與黑白電視的兼容也好 中國、德國NTSC National Television System Committee:供電頻率為60Hz,場頻為每秒60場,幀頻為每秒30幀,掃描線為525行 美國、日本SECAMSequentiel Couleur A Memoire :按順序傳送彩色與存儲 俄羅斯、法國、埃及分辨率分辨率可以從顯示分辨率與圖像分辨率兩個方向來分類。顯示分辨率屏幕
5、分辨率是屏幕 HYPERLINK s:/baike.baidu /item/%E5%9B%BE%E5%83%8F t _blank 圖像的精細度,是指 HYPERLINK s:/baike.baidu /item/%E6%98%BE%E7%A4%BA%E5%99%A8 t _blank 顯示器所能顯示的 HYPERLINK s:/baike.baidu /item/%E5%83%8F%E7%B4%A0 t _blank 像素有多少。由于屏幕上的點、線和面都是由像素組成的,顯示器可顯示的像素越多,畫面就越 HYPERLINK s:/baike.baidu /item/%E7%B2%BE%E7%B
6、B%86 t _blank 精細,同樣的屏幕區域內能顯示的信息也越多,所以 HYPERLINK s:/baike.baidu /item/%E5%88%86%E8%BE%A8%E7%8E%87 t _blank 分辨率是個非常重要的性能指標之一。可以把整個圖像想象成是一個大型的棋盤,而分辨率的表示方式就是所有經線和緯線穿插點的數目。顯示分辨率一定的情況下,顯示屏越小圖像越清晰,反之,顯示屏大小固定時,顯示分辨率越高圖像越清晰。圖像分辨率那么是單位英寸中所包含的像素點數,其定義更趨近于分辨率本身的定義分辨率制式WD1D14CIF112CIF1 1/2DCIF3/4 2/3CIF1/2 1/2QC
7、IF1/4 1/4PAL960576720576704576704288528384352288176144NTSC960480720480704480704240528320352240176120高清分辨率分辨率大于等于720p稱為高清數碼監控的根基技術:編碼和壓縮一路4CIF分辨率的圖像,進展A/D轉換后未經壓縮的數據量是(RGB):一幀:7045763字節1216512字節不包括文件頭大小一秒:1216512字節/幀25幀/秒30412800字節/秒29MB/秒一小時:29MB/秒3600秒/小時101.9GB/小時一天:101.9GB/小時24小時2.4TB/天壓縮 基本原理安防監控
8、中的視頻數據有極強的相關性,有大量的冗余信息冗余信息分為空域冗余信息和時域冗余信息壓縮技術就是將數據中的冗余信息去掉壓縮技術包括幀內壓縮技術、幀間壓縮技術和熵編碼壓縮技術壓縮標準監控中主要采用MJPEG、MPEG1/2、MPEG4(SP/ASP)、H.264/AVC等幾種視頻編碼技術Chronological Progression of ITU and MPEGH264概述H264 基本原理H264壓縮技術主要采用了以下幾種方法對視頻數據進展壓縮。包括:幀內預測壓縮,解決的是空域數據冗余問題。幀間預測壓縮運動估計與補償,解決的是時域數據冗余問題。整數離散余弦變換DCT,將空間上的相關性變為頻
9、域上無關的數據然后進展量化。CABAC壓縮。經過壓縮后的幀分為:I幀,P幀和B幀:I幀:關鍵幀,采用幀內壓縮技術。P幀:向前參考幀,在壓縮時,只參考前面已經處理的幀。采用幀音壓縮技術。B幀:雙向參考幀,在壓縮時,它即參考前而的幀,又參考它后面的幀。采用幀間壓縮技術。除了I/P/B幀外,還有圖像序列GOP。GOP:兩個I幀之間是一個圖像序列,在一個圖像序列中只有一個I幀。如以以下圖所示:下面我們就來詳細描述一下H264壓縮技術。H264壓縮技術H264的 基本原理其實非常簡單,下我們就簡單的描述一下H264壓縮數據的過程。通過攝像頭采集到的視頻幀按每秒 30 幀算,被送到 H264 編碼器的緩沖
10、區中。編碼器先要為每一幅圖片劃分宏塊。以下面這張圖為例:劃分宏塊H264默認是使用 16X16 大小的區域作為一個宏塊,也可以劃分成 8X8 大小。劃分好宏塊后,計算宏塊的象素值。以此類推,計算一幅圖像中每個宏塊的像素值,所有宏塊都處理完后如下面的樣子。劃分子塊H264比照擬平坦的圖像使用 16X16 大小的宏塊。但為了更高的壓縮率,還可以在 16X16 的宏塊上更劃分出更小的子塊。子塊的大小可以是 8X16 16X8 8X8 4X8 8X4 4X4非常的靈活。上幅圖中,紅框內的 16X16 宏塊中大局部是藍色背景,而三只鷹的局部圖像被劃在了該宏塊內,為了更好的處理三只鷹的局部圖像,H264就
11、在 16X16 的宏塊內又劃分出了多個子塊。這樣再經過幀內壓縮,可以得到更高效的數據。以以下圖是分別使用mpeg-2和H264對上面宏塊進展壓縮后的結果。其中左半局部為MPEG-2子塊劃分后壓縮的結果,右半局部為H264的子塊劃壓縮后的結果,可以看出H264的劃分方法更具優勢。宏塊劃分好后,就可以對H264編碼器緩存中的所有圖片進展分組了。幀分組對于視頻數據主要有兩類數據冗余,一類是時間上的數據冗余,另一類是空間上的數據冗余。其中時間上的數據冗余是最大的。下面我們就先來說說視頻數據時間上的冗余問題。為什么說時間上的冗余是最大的呢假設攝像頭每秒抓取30幀,這30幀的數據大局部情況下都是相關聯的。
12、也有可能不止30幀的的數據,可能幾十幀,上百幀的數據都是關聯特別密切的。對于這些關聯特別密切的幀,其實我們只需要保存一幀的數據,其它幀都可以通過這一幀再按某種規那么預測出來,所以說視頻數據在時間上的冗余是最多的。為了到達相關幀通過預測的方法來壓縮數據,就需要將視頻幀進展分組。那么如何判定某些幀關系密切,可以劃為一組呢我們來看一下例子,下面是捕獲的一組運動的臺球的視頻幀,臺球從右上角滾到了左下角。H264編碼器會按順序,每次取出兩幅相鄰的幀進展宏塊比較,計算兩幀的相似度。如以以下圖:通過宏塊掃描與宏塊搜索可以發現這兩個幀的關聯度是非常高的。進而發現這一組幀的關聯度都是非常高的。因此,上面這幾幀就
13、可以劃分為一組。其算法是:在相鄰幾幅圖像畫面中,一般有差異的像素只有10%以內的點,亮度差值變化不超過2%,而色度差值的變化只有1%以內,我們認為這樣的圖可以分到一組。在這樣一組幀中,經過編碼后,我們只保存第一帖的完整數據,其它幀都通過參考上一幀計算出來。我們稱第一幀為IDRI幀,其它幀我們稱為PB幀,這樣編碼后的數據幀組我們稱為GOP。運動估計與補償在H264編碼器中將幀分組后,就要計算幀組內物體的運動矢量了。還以上面運動的臺球視頻幀為例,我們來看一下它是如何計算運動矢量的。H264編碼器首先按順序從緩沖區頭部取出兩幀視頻數據,然后進展宏塊掃描。當發現其中一幅圖片中有物體時,就在另一幅圖的鄰
14、近位置搜索窗口中進展搜索。如果此時在另一幅圖中找到該物體,那么就可以計算出物體的運動矢量了。下面這幅圖就是搜索后的臺球移動的位置。通過上圖中臺球位置相差,就可以計算出臺圖運行的方向和距離。H264依次把每一幀中球移動的距離和方向都記錄下來就成了下面的樣子。運動矢量計算出來后,將一樣局部也就是綠色局部減去,就得到了補償數據。我們最終只需要將補償數據進展壓縮保存,以后在解碼時就可以恢復原圖了。壓縮補償后的數據只需要記錄很少的一點數據。如下所示:我們把運動矢量與補償稱為幀間壓縮技術,它解決的是視頻幀在時間上的數據冗余。除了幀間壓縮,幀內也要進展數據壓縮,幀內數據壓縮解決的是空間上的數據冗余。下面我們
15、就來介紹一下幀內壓縮技術。幀內預測人眼對圖象都有一個識別度,對低頻的亮度很敏感,對高頻的亮度不太敏感。所以基于一些研究,可以將一幅圖像中人眼不敏感的數據去除掉。這樣就提出了幀內預測技術。H264的幀內壓縮與JPEG很相似。一幅圖像被劃分好宏塊后,對每個宏塊可以進展 9 種模式的預測。找出與原圖最接近的一種預測模式。下面這幅圖是對整幅圖中的每個宏塊進展預測的過程。幀內預測后的圖像與原始圖像的比照方下:然后,將原始圖像與幀內預測后的圖像相減得殘差值。再將我們之前得到的預測模式信息一起保存起來,這樣我們就可以在解碼時恢復原圖了。效果如下:經過幀內與幀間的壓縮后,雖然數據有大幅減少,但還有優化的空間。
16、對殘差數據做DCT可以將殘差數據做整數離散余弦變換,去掉數據的相關性,進一步壓縮數據。如以以下圖所示,左側為原數據的宏塊,右側為計算出的殘差數據的宏塊。將殘差數據宏塊數字化后如以以下圖所示:將殘差數據宏塊進展 DCT 轉換。去掉相關聯的數據后,我們可以看出數據被進一步壓縮了。做完 DCT 后,還不夠,還要進展 CABAC 進展無損壓縮。CABAC上面的幀內壓縮是屬于有損壓縮技術。也就是說圖像被壓縮后,無法完全復原。而CABAC屬于無損壓縮技術。無損壓縮技術大家最熟悉的可能就是哈夫曼編碼了,給高頻的詞一個短碼,給低頻詞一個長碼從而到達數據壓縮的目的。MPEG-2中使用的VLC就是這種算法,我們以
17、 A-Z 作為例子,A屬于高頻數據,Z屬于低頻數據。看看它是如何做的。CABAC也是給高頻數據短碼,給低頻數據長碼。同時還會根據上下文相關性進展壓縮,這種方式又比VLC高效很多。其效果如下:現在將 A-Z 換成視頻幀,它就成了下面的樣子。從上面這張圖中明顯可以看出采用 CACBA 的無損壓縮方案要比 VLC 高效的多H.265與H264區別H.265標準全稱為高效視頻編碼(High Efficiency Video Coding),也即HEVC,相較于之前的H.264標準有了相當大的改善。H.265又何以讓如此多的行業都青睞有加故事開場還是需要從H.264說起,H.264也稱作MPEG-4AV
18、C(AdvancedVideoCodec,高級視頻編碼),因其可以得到比其他編碼標準更高的視頻質量和更低的碼率,而得到了人們的認可,被廣泛應用于網絡流媒體數據、各種高清晰度電視播送以及衛星電視播送等領域。從編碼框架上來說,H.265仍然沿用了H.264的混合編碼框架,主要包含:幀內預測(intraprediction)、幀間預測(interprediction)、轉換(transform)、量化(quantization)、去區塊濾波器(deblockingfilter)、熵編碼(entropycoding)等模塊。如今更高清開展愈演強烈,H.264也遇到了瓶頸。以編碼單位來說,H.264中每
19、個宏塊(marcoblock,MB)大小都是固定的16x16像素。然而,在更高分辨率下,單個宏塊所表示的圖像內容信息大大減少,H.264所采用的宏塊經過整數變換后,低頻系數相似程度也大大提高,出現大量冗余,導致H.264編碼對高清視頻的壓縮效率明顯降低;其次,H.264算法宏塊個數的爆發式增長,會導致每個編碼宏塊的預測模式、運動矢量、參考幀索引和量化級等宏塊級參數信息占用更多碼流資源,在有限帶寬中,分配給真正描述圖像內容的殘差系數信息的可用帶寬明顯減少了;再有,由于分辨率的提高,表示同一個運動的運動矢量幅值也將大大增加,H.264編碼方式的特點是數值越大使用的比特數越多,因此,隨著運動矢量幅值
20、的大幅增加,H.264中用來對運動矢量進展預測以及編碼的壓縮率也將逐漸降低。相比H.264,H.265提供了更多不同的工具來降低碼率。H.265的編碼單位可以選擇從最小的8x8到最大的64x64。信息量不多的區域(顏色變化不明顯,比方天空的灰色局部)劃分的宏塊較大,編碼后的碼字較少,而細節多的地方(細節變化較多,比方大樓局部)劃分的宏塊就相應的小和多一些,編碼后的碼字較多,這樣就相當于對圖像進展了有重點的編碼,從而降低了整體的碼率,編碼效率就相應提高了。這個過程有點像“感興趣區域編碼,針對重要的更多關鍵細節的局部進展增強劃塊,無更多關鍵細節的局部進展簡單劃塊,但是這個過程在H.265上可以自適
21、應識別實現。攝像機根基知識模擬攝像機 基本概念組成:主要由鏡頭、影像傳感器CCD/CMOS、ISP(Image Signal Processor)及相關電路組成工作原理:被攝物體經鏡頭成像在影像傳感器外表,形成微弱電荷并積累,在相關電路控制下,積累電荷逐點移出,經過濾波、放大后輸入DSP進展圖像信號處理,最后形成視頻信號CVBS輸出傳感器ADCDSPDAC光圖像碼流模擬攝像機系統構造CVBS網絡攝像機 基本概念組成:主要由鏡頭、影像傳感器CCD/CMOS、ISP(Image Signal Processor)、DSPDigital Signal Processor及相關電路組成工作原理:被攝物
22、體經鏡頭成像經過IR Filter濾波后在圖像傳感器外表,形成微弱電荷并積累,在相關電路控制下,積累電荷逐點移出,經過濾波、放大后輸入DSP進展圖像信號處理和編碼壓縮,(如果是球機,同時將控制信號發送給云臺)最后形成數字信號輸出.DSP CCD/CMOSISPNET光圖像碼流網絡攝像機系統構造DSP Sensor工作原理每個 HYPERLINK s:/ baidu /s?wd=%E6%84%9F%E5%85%89%E5%85%83%E4%BB%B6&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWP1R1P1fvuAnLnyP9nA
23、ms0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPH0vrjcsPWfz t _blank 感光元件對應圖像傳感器中的一個像點,由于 HYPERLINK s:/ baidu /s?wd=%E6%84%9F%E5%85%89%E5%85%83%E4%BB%B6&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWP1R1P1fvuAnLnyP9nAms0ZwV5Hcvrjm3rH6sPfKWUMw85
24、HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPH0vrjcsPWfz t _blank 感光元件只能感應光的強度,無法捕獲色彩信息,因此必須在感光元件上方覆蓋 HYPERLINK s:/ baidu /s?wd=%E5%BD%A9%E8%89%B2%E6%BB%A4%E5%85%89%E7%89%87&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWP1R1P1fvuAnLnyP9nAms0ZwV5Hcvrjm3rH6sPfKWUMw85HfY
25、njn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPH0vrjcsPWfz t _blank 彩色濾光片。在這方面,不同的傳感器廠商有不同的解決方案,最常用的做法是覆蓋RGB紅綠藍三色濾光片,以1:2:1的構成由四個像點構成一個彩色像素即紅藍濾光片分別覆蓋一個像點,剩下的兩個像點都覆蓋綠色濾光片,采取這種比例的原因是人眼對綠色較為敏感。而 HYPERLINK s:/ baidu /s?wd=%E7%B4%A2%E5%B0%BC&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPj
26、m4nH00T1dWP1R1P1fvuAnLnyP9nAms0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPH0vrjcsPWfz t _blank 索尼的四色CCD技術那么將其中的一個綠色濾光片換為翡翠綠色英文Emerald,有些媒體稱為E通道,由此組成新的R、G、B、E四色方案。不管是哪一種技術方案,都要四個像點才能夠構成一個彩色像素,這一點大家務必要預先明確。 在承受光照之后,感光元件產生對應的電流,電流大小與光強對應,因此感光元件直接輸出的電信號是模
27、擬的。在 HYPERLINK s:/ baidu /s?wd=CCD%E4%BC%A0%E6%84%9F%E5%99%A8&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWP1R1P1fvuAnLnyP9nAms0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPH0vrjcsPWfz t _blank CCD傳感器中,每一個感光元件都不對此作進一步的處理,而是將它直接輸出到下一個感光元件的存儲單元,
28、結合該元件生成的模擬信號后再輸出給第三個感光元件,依次類推,直到結合最后一個感光元件的信號才能形成統一的輸出。由于感光元件生成的電信號實在太微弱了,無法直接進展模數轉換工作,因此這些輸出數據必須做統一的放大處理這項任務是由 HYPERLINK s:/ baidu /s?wd=CCD%E4%BC%A0%E6%84%9F%E5%99%A8&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWP1R1P1fvuAnLnyP9nAms0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCE
29、QLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPH0vrjcsPWfz t _blank CCD傳感器中的放大器專門負責,經放大器處理之后,每個像點的電信號強度都獲得同樣幅度的增大;但由于CCD本身無法將模擬信號直接轉換為數字信號,因此還需要一個專門的模數轉換芯片進展處理,最終以二進制 HYPERLINK s:/ baidu /s?wd=%E6%95%B0%E5%AD%97%E5%9B%BE%E5%83%8F&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWP1R1P1fvuAnLnyP9nAms0ZwV5
30、Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPH0vrjcsPWfz t _blank 數字圖像矩陣的形式輸出給專門的DSP處理芯片。而對于 HYPERLINK s:/ baidu /s?wd=CMOS%E4%BC%A0%E6%84%9F%E5%99%A8&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWP1R1P1fvuAnLnyP9nAms0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn
31、4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPH0vrjcsPWfz t _blank CMOS傳感器,上述工作流程就完全不適用了。 HYPERLINK s:/ baidu /s?wd=CMOS%E4%BC%A0%E6%84%9F%E5%99%A8&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWP1R1P1fvuAnLnyP9nAms0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCp
32、yw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPH0vrjcsPWfz t _blank CMOS傳感器中每一個感光元件都直接整合了放大器和模數轉換邏輯,當感光二極管承受光照、產生模擬的電信號之后,電信號首先被該感光元件中的放大器放大,然后直接轉換成對應的數字信號。換句話說,在 HYPERLINK s:/ baidu /s?wd=CMOS%E4%BC%A0%E6%84%9F%E5%99%A8&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWP1R1P1fvuAnLnyP9nAms0ZwV5Hcvrjm3rH6sPfK
33、WUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPH0vrjcsPWfz t _blank CMOS傳感器中,每一個感光元件都可產生最終的數字輸出,所得數字信號合并之后被直接送交 HYPERLINK s:/ baidu /s?wd=DSP%E8%8A%AF%E7%89%87&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWP1R1P1fvuAnLnyP9nAms0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgv
34、PsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPH0vrjcsPWfz t _blank DSP芯片處理問題恰恰是發生在這里,CMOS感光元件中的放大器屬于模擬器件,無法保證每個像點的放大率都保持嚴格一致,致使放大后的圖像數據無法代表拍攝物體的原貌表達在最終的輸出結果上,就是圖像中出現大量的噪聲,品質明顯低于 HYPERLINK s:/ baidu /s?wd=CCD%E4%BC%A0%E6%84%9F%E5%99%A8&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWP
35、1R1P1fvuAnLnyP9nAms0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPH0vrjcsPWfz t _blank CCD傳感器(這幾年隨著半導體制程工藝及加工工藝大幅度改進,CMOS良品率大大提升,品質上與CCD差異不大)。ISP與DSPISP是Image Signal Processor 的簡稱,也就是圖像信號處理器。而DSP是Digital Signal Processor 的縮寫,也就是數字信號處理器。ISP一般用來處理Image Sen
36、sor圖像傳感器的輸出數據,如做AEC自動曝光控制、AGC自動增益控制、AWB自動白平衡、色彩校正、Lens Shading、Gamma 校正、祛除壞點、Auto Black Level、Auto White Level 等等功能的處理。而DSP功能就比較多了,它可以做些拍照以及回顯JPEG的編解碼、錄像以及回放Video 的編解碼、H.264的編解碼、還有很多其他方面的處理,總之是處理數字信號了。個人認為ISP是一類特殊的處理圖像信號的DSPISPImage Signal Processor圖像信號處理器的主要作用是對前端圖像傳感器輸出的信號做后期的處理。不同的ISP用來匹配不同廠商的圖像傳
37、感器。ISP的優異在整個攝像機產品中很重要,應當說它直接影響呈現給用戶的影響畫質的優劣。圖像經過圖像經過CCD或者CMOS的采集后,需要經過后期的處理才可以較好的適應不同的環境,在不同的光學條件下都能較好的復原出現場細節。在ISP中它會完成我們常常提及的2AAWB/AE,自動白平衡/自動曝光或者3AAWB/AE/AF,自動白平衡/自動曝光/自動聚焦。傳統模式下一般采用一顆DSP或者一顆FPGA來完成對圖像的后期處理。有些攝像機產品支持的3D降噪功能、寬動態、慢快門、幀累積、強光抑制等功能也都是ISP來完成的。目前應用在高清攝像機產品中的ISP一般有以下幾個來源:廠商自行研發:高清攝像機設備廠商
38、為了更好的配合后端壓縮、功能開發,自行研發ISP處理算法,將算法集成至FPGA或DSP芯片中,接駁前端圖像傳感器。第三方研發:2010年已經逐漸誕生了一批由非高清攝像機制造廠商推出的一些ISP解決方案,他們直接出售不同的ISP芯片給攝像機廠商配合不同廠商的Sensor。套片模式:由Sensor廠商將自主開發的ISP結合自家Sensor形成圖像采集處理解決方案推向客戶,其中的圖像處理算法及各種調試工作已經完成,攝像機廠商只需要做接口對接并后端壓縮或轉換成數字視頻HD-SDI即可。這種模式我們稱為Stand-Alone Devices或者Camera System Onchip。DSP芯片,也稱數
39、字信號處理器,是一種具有特殊構造的微處理器。DSP芯片的內部采用程序和數據分開的哈佛構造,具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的DSP 指令,可以用來快速地實現各種數字信號處理算法。以以下圖是圖像信號處理主要流程:我們的眼中用來分辨顏色的錐狀細胞的差異,錐狀細胞通過對三原色的感知來識別萬色萬物,而機器中是怎么樣識別的呢? 人眼把世界放進大腦也可簡單分為三步:眼球感應到像(傳感器采集并轉換成數字信號)轉成神經信號傳到大腦(通過通訊系統將信號傳到處理器)大腦處理并存放(處理器轉化成屏幕可顯示與存儲的格式)。圖像信號處理大體也是以這種流程捕捉圖像并進展分析和存儲的。黑電平校正暗電流校正
40、 暗電流指傳感器在沒有入射光的情況下。存在一定的信號輸出,這是因為半導體的熱運動造成的。它的大小和傳感器構造及溫度有關,大概每升高9 ,其暗電流會添加1 倍。因為每一個像素存在不平衡性,因此像素間暗電流也會不一致,造成電流噪聲。一般情況下,在傳感器中,實際像素要比有效像素多,像素區最靠邊的行和列為不感光區,一般用作自己主動黑電平校正,其平均值作為校正值。顏色插補我們知道,Sensor的感光原理是通過一個一個的感光點對光進展采樣和量化,但在Sensor中,每一個感光點只能感光RGB中的一種顏色。所以,通常所說的30萬像素或130萬像素等,指的是有30萬或130萬個感光點。每一個感光點只能感光一種
41、顏色。原始像素僅僅包括一種顏色的信息R 或G 或B,要重建色彩畫面。就必須從相鄰的像素中得到失去的信息組成RGB三種顏色。紅色及藍色插補一般遵循近期原那么,進展平均處理。作為本像素的色彩值,由插值原理知,相鄰像素間存在依賴關系,結果造成畫面銳度減少。壞點檢測圖像傳感器輸出的數據不等于就是圖像的實際數據,模組測試時,就要寫一個軟件,完成數據采集獲得Raw data彩色插值目的是獲得RGB格式,便于圖像顯示圖像顯示;這樣就可以發現整個模組是否正常,有無壞點,臟點的等,檢測出不良品;軟件的處理過程當中,為了獲得更好的圖像質量,還需要白平衡,gamma校正,彩色校正顏色校正 因為人類眼睛可見光的頻譜響
42、應度和半導體傳感器頻譜響應度之間存在區別,還有透鏡等的影響,插補后得到的RGB 值顏色會存在偏差,因此必須對顏色進展校正,一般通過顏色校正矩陣來實現。詳細的彩色矯正參數。能夠通過試驗或從傳感器供應商中獲得,當然要得到不失真的復原是不可能的,僅僅能重復調試到達最正確。一般通過標準色卡進展校正。Gamma 校正 Gamma 校正主要根據色度學原理進展調整。色彩在不同顯示設備中頻譜響應度不一樣,造成顏色失真。失真成冪指數關系。因此調節相對簡單,分別對R、G、B 調節就可以。RGB、YUV、RAW DATA區別YUV: luma (Y) + chroma (UV) 格式, 一般情況下sensor支持Y
43、UV422格式,即數據格式是按Y-U-Y-V次序輸出的。人眼對色度的敏感程度要低于對亮度的敏感程度。YUV,分為三個分量,“Y表示明亮度Luminance或Luma,也就是灰度值;而“U和“V 表示的那么是色度Chrominance或Chroma,作用是描述影像色彩及飽和度,用于指定像素的顏色。與我們熟知的RGB類似,YUV也是一種顏色編碼方法,主要用于電視系統以及模擬視頻領域,它將亮度信息Y與色彩信息UV別離,沒有UV信息一樣可以顯示完整的圖像,只不過是黑白的,這樣的設計很好地解決了彩色電視機與黑白電視的兼容問題。并且,YUV不像RGB那樣要求三個獨立的視頻信號同時傳輸,所以用YUV方式傳送
44、占用極少的頻寬。RGB: 傳統的紅綠藍格式,比方RGB565,其16-bit數據格式為5-bit R + 6-bit G + 5-bit B。G多一位,原因是人眼對綠色比較敏感。RAW RGB: sensor的每一像素對應一個彩色濾光片,濾光片按Bayer pattern分布。將每一個像素的數據直接輸出,即RAW RGB dataRGB與 YUV格式互相轉換本程序中的函數可以將RGB24格式的像素數據轉換為YUV420P格式的像素數據。函數的代碼如下所示。unsignedcharclip_value(unsignedcharx,unsignedcharmin_val,unsignedcharm
45、ax_val)if(xmax_val)returnmax_val;elseif(xmin_val)returnmin_val;elsereturnx;/RGBtoYUV420boolRGB24_TO_YUV420(unsignedchar*RgbBuf,intw,inth,unsignedchar*yuvBuf)unsignedchar*ptrY,*ptrU,*ptrV,*ptrRGB;memset(yuvBuf,0,w*h*3/2);ptrY=yuvBuf;ptrU=yuvBuf+w*h;ptrV=ptrU+(w*h*1/4);unsignedchary,u,v,r,g,b;for(intj
46、=0;jh;j+)ptrRGB=RgbBuf+w*j*3;for(inti=0;i8)+16;u=(unsignedchar)(-38*r-74*g+112*b+128)8)+128;v=(unsignedchar)(112*r-94*g-18*b+128)8)+128;*(ptrY+)=clip_value(y,0,255);if(j%2=0&i%2=0)*(ptrU+)=clip_value(u,0,255);elseif(i%2=0)*(ptrV+)=clip_value(v,0,255);returntrue;/*ConvertRGB24filetoYUV420Pfile*paramu
47、rl_inLocationofInputRGBfile.*paramwWidthofInputRGBfile.*paramhHeightofInputRGBfile.*paramnumNumberofframestoprocess.*paramurl_outLocationofOutputYUVfile.*/intsimplest_rgb24_to_yuv420(char*url_in,intw,inth,intnum,char*url_out)FILE*fp=fopen(url_in,rb+);FILE*fp1=fopen(url_out,wb+);unsignedchar*pic_rgb2
48、4=(unsignedchar*)malloc(w*h*3);unsignedchar*pic_yuv420=(unsignedchar*)malloc(w*h*3/2);for(inti=0;inum;i+)fread(pic_rgb24,1,w*h*3,fp);RGB24_TO_YUV420(pic_rgb24,w,h,pic_yuv420);fwrite(pic_yuv420,1,w*h*3/2,fp1);free(pic_rgb24);free(pic_yuv420);fclose(fp);fclose(fp1);return0;調用上面函數的方法如下所示。simplest_rgb24
49、_to_yuv420(lena_256x256_rgb24.rgb,256,256,1,output_lena.yuv);從源代碼可以看出,本程序實現了RGB到YUV的轉換公式:Y= 0.299*R+0.587*G+0.114*BU=-0.147*R-0.289*G+0.463*BV= 0.615*R-0.515*G-0.100*B在轉換的過程中有以下幾點需要注意:1)RGB24存儲方式是Packed,YUV420P存儲方式是Packed。2)U,V在水平和垂直方向的取樣數是Y的一半轉換前的RGB24格式像素數據lena_256x256_rgb24.rgb的內容如下所示。轉換后的YUV420P
50、格式的像素數據output_lena.yuv的內容如下所示。基于FFmpeg的實現利用FFmpeg中swscale實現YUV到RGB的轉換,實現過程中,需要構造AVPicture構造,具體實現方法如下。bool YV12ToBGR24_FFmpeg(unsigned char* pYUV,unsigned char* pBGR24,int width,int height)if (width 1 | height 1 | pYUV = NULL | pBGR24 = NULL)returnfalse;/int srcNumBytes,dstNumBytes; /uint8_t *pSrc,*p
51、Dst; AVPicture pFrameYUV,pFrameBGR;/pFrameYUV = avpicture_alloc(); /srcNumBytes = avpicture_get_size(PIX_FMT_YUV420P,width,height); /pSrc = (uint8_t *)malloc(sizeof(uint8_t) * srcNumBytes); avpicture_fill(&pFrameYUV,pYUV,PIX_FMT_YUV420P,width,height);/U,V互換 uint8_t * ptmp=pFrameYUV.data1; pFrameYUV.
52、data1=pFrameYUV.data2; pFrameYUV.data 2=ptmp;/pFrameBGR = avcodec_alloc_frame(); /dstNumBytes = avpicture_get_size(PIX_FMT_BGR24,width,height); /pDst = (uint8_t *)malloc(sizeof(uint8_t) * dstNumBytes); avpicture_fill(&pFrameBGR,pBGR24,PIX_FMT_BGR24,width,height);struct SwsContext* imgCtx = NULL; img
53、Ctx = sws_getContext(width,height,PIX_FMT_YUV420P,width,height,PIX_FMT_BGR24,SWS_BILINEAR,0,0,0);if (imgCtx != NULL) sws_scale(imgCtx,pFrameYUV.data,pFrameYUV.linesize,0,height,pFrameBGR.data,pFrameBGR.linesize);if(imgCtx) sws_freeContext(imgCtx); imgCtx = NULL; returntrue; else sws_freeContext(imgC
54、tx); imgCtx = NULL;returnfalse; 這份代碼的轉換公式是YV12格式轉化成RGB24格式的方法,公式如下:YUV(256 級別) 可以從8位 RGB 直接計算:Y = 0.299 R + 0.587 G + 0.114 BU = - 0.1687 R - 0.3313 G + 0.5 B + 128V = 0.5 R - 0.4187 G - 0.0813 B + 128反過來,RGB 也可以直接從YUV (256級別) 計算:R = Y + 1.402 (Cr-128)G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128)B = Y
55、 + 1.772 (Cb-128)YUV420P和H264數據流做視頻采集與處理,自然少不了要學會分析YUV數據。因為從采集的角度來說,一般的視頻采集芯片輸出的碼流一般都是YUV數據流的形式,而從視頻處理例如H.264、MPEG視頻編解碼的角度來說,也是在原始YUV碼流進展編碼和解析。視頻碼流在視頻播放器中的位置如下所示。本文中的程序是一個H.264碼流解析程序。該程序可以從H.264碼流中分析得到它的 基本單元NALU,并且可以簡單解析NALU首部的字段。通過修改該程序可以實現不同的H.264碼流處理功能。原理H.264原始碼流又稱為“裸流是由一個一個的NALU組成的。他們的構造如以以下圖所
56、示。其中每個NALU之間通過startcode起始碼進展分隔,起始碼分成兩種:0 x0000013Byte或者0 x000000014Byte。如果NALU對應的Slice為一幀的開場就用0 x00000001,否那么就用0 x000001。H.264碼流解析的步驟就是首先從碼流中搜索0 x000001和0 x00000001,別離出NALU;然后再分析NALU的各個字段。本文的程序即實現了上述的兩個步驟。代碼整個程序位于simplest_h264_parser()函數中,如下所示。cpp HYPERLINK :/leixiaohua1020/article/details/50534369
57、o view plain view plain HYPERLINK :/leixiaohua1020/article/details/50534369 o copy copy/*最簡單的視音頻數據處理例如*SimplestMediaDataTest*雷霄驊LeiXiaohua*leixiaohua1020126 *中國傳媒大學/數字電視技術*CommunicationUniversityofChina/DigitalTVTechnology* :/leixiaohua1020*本工程包含如下幾種視音頻測試例如:*(1)像素數據處理程序。包含RGB和YUV像素格式處理的函數。*(2)音頻采樣數據
58、處理程序。包含PCM音頻采樣格式處理的函數。*(3)H.264碼流分析程序。可以別離并解析NALU。*(4)AAC碼流分析程序。可以別離并解析ADTS幀。*(5)FLV封裝格式分析程序。可以將FLV中的MP3音頻碼流別離出來。*(6)UDP-RTP協議分析程序。可以將分析UDP/RTP/MPEG-TS數據包。*Thisprojectcontainsfollowingsamplestohandlingmultimediadata:*(1)Videopixeldatahandlingprogram.ItcontainsseveralexamplestohandleRGBandYUVdata.*(2
59、)Audiosampledatahandlingprogram.ItcontainsseveralexamplestohandlePCMdata.*(3)H.264streamanalysisprogram.ItcanparseH.264bitstreamandanalysisNALUofstream.*(4)AACstreamanalysisprogram.ItcanparseAACbitstreamandanalysisADTSframeofstream.*(5)FLVformatanalysisprogram.ItcananalysisFLVfileandextractMP3audios
60、tream.*(6)UDP-RTPprotocolanalysisprogram.ItcananalysisUDP/RTP/MPEG-TSPacket.*/#include#include#includetypedefenumNALU_TYPE_SLICE=1,NALU_TYPE_DPA=2,NALU_TYPE_DPB=3,NALU_TYPE_DPC=4,NALU_TYPE_IDR=5,NALU_TYPE_SEI=6,NALU_TYPE_SPS=7,NALU_TYPE_PPS=8,NALU_TYPE_AUD=9,NALU_TYPE_EOSEQ=10,NALU_TYPE_EOSTREAM=11,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建事業單位考試各類技能培訓資源試題及答案
- 種植技術改良的必要性研究試題及答案
- 2025年西藏阿里地區單招職業適應性測試題庫及答案1套
- 輔導員崗位考試中需要提升的學習方法與技巧試題及答案
- 2024年福建事業單位考試多樣化備考方式與效果評估試題及答案
- 2024年福建事業單位考試易錯點解析與試題及答案
- 村委會會計 試題及答案
- 福建事業單位考試合格標準解讀試題及答案
- 公司房子轉讓合同樣本
- 公寓住宅裝修合同樣本
- 適老化住宅改造服務行業深度調研及發展戰略咨詢報告
- 2025年鄭州黃河護理職業學院單招職業技能測試題庫及答案1套
- GB/T 45236-2025化工園區危險品運輸車輛停車場建設規范
- 新地基基礎-基樁靜荷載試驗考試復習題庫(含答案)
- 《致敬英雄》課件
- 房地產開發項目資金監管協議
- 持續集成與自動化部署(CICD)-深度研究
- 無人機護林巡檢實施方案-LSJ-2019022-六視角科技
- 急性缺血性卒中再灌注治療指南2024解讀
- 初中生心理健康課件
- 2025屆河北省衡水市衡水中學高考仿真模擬英語試卷含解析
評論
0/150
提交評論