- 圖像基礎概念
?像素:像素是一個圖片的基本單位,pix是英語單詞picture的簡寫,加上英
語單詞“元素element”,就得到了“pixel”,簡稱px,所以“像素”有“圖像元素”
之意。
? 分辨率:是指圖像的大小或尺寸。比如1920x1080。
? 位深:是指在記錄數字圖像的顏色時,計算機實際上是用每個像素需要的
位深來表示的。比如紅色分量用8bit。
? 幀率:在1秒鐘時間里傳輸的圖片的幀數,也可以理解為圖形處理器每秒鐘
能夠刷新幾次。比如25fps表示一秒有25張圖片。
? 碼率:視頻文件在單位時間內使用的數據流量。比如1Mbps。
? Stride:指在內存中每行像素所占的空間。為了實現內存對齊每行像素在
內存中所占的空間并不一定是圖像的寬度
- 1.1 像素
像素是一個圖片的基本單位,例如2500×2000的照片就是指橫向有2500個像素點,豎向有2000個像素點,總共是500萬
個像素,也俗稱500萬像素照片
- 1.2 分辨率
圖像(或視頻)的分辨率是指圖像的大小或尺寸。我們通常用像素表示圖像的尺寸。
例如2500×2000的照片就是指橫向(寬)有2500個像素點,豎向(高)有2000個像素點。
常見的分辨率:
360P(640x360)、720P(1280x720)、1080P(1920x1080)、4K(3840x2160)、8K(7680x4320)
- 1.3 位深
我們看到的彩色圖片,都有三個通道,分別為紅(R)、綠(G)、藍(B)通道。(如果需
要透明度則還有alpha分量)
通常每個通道用8bit表示,8bit能表示256種顏色,所以可以組成
256*256*256=16,777,216 = 1677萬種顏色。
這里的8bit就是我們講的位深。
每個通道的位深越大,能夠表示的顏色值就越大,比如現在高端電視說的10bit色
彩,即是每個通道用10bit表示,每個通道有1024種顏色。1024*1024*1024約為
10,7374萬色=10億色, 是8bit的64倍。
常見的顏色還是8bit居多。
- 1.4 幀率
幀率即 FPS(每秒有多少幀畫面),經常玩游戲的同學應該會對這個詞很熟悉。我們玩游
戲時,FPS 幀率越高就代表游戲畫面越流暢,越低則越卡頓。視頻也是如此。
由于視覺圖像在視網膜的暫時停留,一般圖像幀率能達到24幀,我們就認為圖像是連續
動態的。
電影幀率一般是 24fps(幀每秒);
電視劇一般是25fps;
監控行業常用 25fps;
音視頻通話常用15fps;
幀率越高,畫面越流暢,需要的設備性能也越高。
- 1.5 碼率
? 視頻文件在單位時間內使用的數據流量。比如1Mbps。
? 大多數情況下碼率越高 分辨率越高,也就越清晰。但模糊的視頻文件大小(碼率)也
可以很大,分辨率小的視頻文件可能也比分辨率大的視頻文件清晰。
? 對于同一個原始圖像源的時候,同樣的編碼算法,則碼率越高,圖像的失真就會越小,
視頻畫面就會越清晰
- 2.1 YUV
YUV也是一種顏色編碼方法,它是指將亮度參量(Y:Luminance
或Luma)和色度參量(UV:Chrominance或Chroma)分開進行表示的像素編碼格式。
? 這樣分開的好處就是不但可以避免相互干擾,沒有UV信息一樣可以顯示完整的圖像,
因而解決了彩色電視與黑白電視的兼容問題;還可以降低色度的采樣率而不會對圖像
質量影響太大,降低了視屏信號傳輸時對頻寬(帶寬)的要求。
? Y Y共用一組UV分量
? 打包(packed)格式:將每個像素點的Y、U、V分量交叉排列并以像素點為單元連續的存放
在同一數組中,通常幾個相鄰的像素組成一個宏像素(macro-pixel)
? 平面(planar)格式:使用三個數組分開連續的存放Y、U、V三個分量,即Y、U、V分別存
放在各自的數組中
- 2.2.1 YUV采樣表示法
? YUV采用A:B:C表示法來描述Y,U,V采樣頻率比例,下圖中黑點表示采樣像素點Y分量,
空心圓表示采樣像素點的UV分量。主要分為 YUV 4:4:4、YUV 4:2:2、YUV 4:2:0 這幾種
常用的類型