影片基礎知識(一)

空慧居士發表於2023-09-18

1. 位元速率

影片位元速率就是資料傳輸時單位時間傳送的資料位數,一般用的單位是kbps即千位每秒。 通俗一點的理解就是取樣率,單位時間內取樣率越大,精度就越高,處理出來的檔案就越接近原始檔案。

較低的位元速率會導致影片的資料量減少,從而降低影片的質量。影片會出現壓縮失真、模糊、鋸齒狀邊緣和細節模糊等問題。低位元速率的影片在高動態場景下可能會出現模糊、抖動或者幀丟失的情況,導致影片不流暢。

較高的位元速率會提供更多的影片資料,從而提高影片的質量。影片的細節、清晰度和顏色渲染等方面會得到改善。高位元速率的影片能夠更準確地還原原始畫面,細節更加清晰,但同時也需要更大的頻寬支援,傳輸速度較慢。

2. 解析度

影片解析度是指影片畫面的畫素數量,它決定了影片的清晰度和細節水平。解析度通常由寬度和高度兩個數字表示,例如,720p(1280x720畫素),1080p(1920x1080畫素)。

較高的解析度意味著影片有更多的畫素,因此能夠呈現更多的細節和更清晰的影像。相比之下,較低的解析度會有較少的畫素,影像可能會顯得模糊或者失去一些細節。

需要注意的是,影片解析度不僅僅與畫面的清晰度有關,還會影響影片檔案的大小和傳輸頻寬需求。較高的解析度會產生更多的畫素資料,因此需要更大的儲存空間和更高的頻寬來傳輸。

3. 幀率

幀率(Frame Rate)指的是影片中每秒顯示的影像幀數。它表示影片播放速度的快慢,以"幀/秒"(fps)為單位進行計量。

影片是由一系列靜止的影像幀組成的,每一幀都是影片中的一個靜止畫面。幀率決定了這些靜止畫面以多快的速度連續播放,從而形成流暢的動畫效果。

較高的幀率意味著每秒顯示更多的影像幀,影片播放會更加流暢和細膩。人眼會感知到更多的動態變化,特別是在快速移動的場景中。常見的影片幀率有24fps、30fps、60fps等。

4. 幀的型別

(1)I幀:幀內編碼幀,是一種自帶全部資訊的獨立幀,無需參考其他影像便可獨立進行解碼,可以簡單理解為一張靜態畫面。影片序列中的第一個幀始終都是I幀,因為它是關鍵幀。

(2)P幀:幀間預測編碼幀,需要參考前面的I幀才能進行編碼。表示的是當前幀畫面與前一幀(前一幀可能是I幀也可能是P幀)的差別。解碼時需要用之前快取的畫面疊加上本幀定義的差別,生成最終畫面。與I幀相比,P幀通常佔用更少的資料位,但不足是,由於P幀對前面的P和I參考幀有著複雜的依耐性,因此對傳輸錯誤非常敏感。

(3)B幀:B幀又稱雙向預測編碼幀,也就是B幀記錄的是本幀與前後幀的差別。也就是說要解碼B幀,不僅要取得之前的快取畫面,還要解碼之後的畫面,透過前後畫面的與本幀資料的疊加取得最終的畫面。B幀壓縮率高,但是對解碼效能要求較高。

(4)IDR幀:理想情況下,一個影片流,從一個I幀開始後面輕微運動都是 P/B,直到遇到場景切換就再插一個I,如此往復。一般來說,P/B 參考範圍不會越過I幀。但也有特例,我們可以強行指定 P/B 參考不允許越過 I 幀,這樣的I幀我們叫它 IDR 幀,每個 IDR 幀(Instantaneous Decoding Refresh)的間隔我們稱作一個 GOP(Group of Pictures)

IDR幀與 I幀的理解

在 H264 的概念中有一個幀稱為 IDR 幀,那麼 IDR 幀與 I 幀的區別是什麼呢?首 先來看一下 IDR 的英文全稱 instantaneous decoding refresh picture,因為 H264 採用了 多幀預測,所以 I 鎖之後的 P 幀有可能會參考 I 幀之前的鎖,這就使得在隨機訪問的 時候不能以找到 I 幀作為參考條件,因為即使找到 I 幀, I 幀之後的幀還是有可能解析 不出來,而 IDR 幀就是一種特殊的 I 幀,即這一幀之後的所有參考幀只會參考到這個 IDR 幀,而不會再參考前面的幀 。 在解碼器中,一旦收到一個 IDR 幀,就會立即清理 參考幀緩衝區,並將 IDR 幀作為被參考的幀 。

 5.  PTS和DTS

在影片編碼和解碼中,PTS(Presentation Time Stamp)和DTS(Decoding Time Stamp)是用於控制和同步影片幀顯示的時間戳。

  1. PTS(Presentation Time Stamp):PTS表示影片幀應該在播放器中顯示的時間。它指示了幀的展示時間點,播放器根據PTS來確定何時顯示幀。PTS是相對於影片流開始的時間進行計算的。

  2. DTS(Decoding Time Stamp):DTS表示解碼器接收和解碼影片幀的時間。它指示了幀的解碼時間點,解碼器根據DTS來確定幀的解碼順序。DTS也是相對於影片流開始的時間進行計算的。

通常情況下,PTS和DTS是相同的,影片幀按照接收的順序進行解碼和顯示。但在一些特殊情況下,可能會存在幀的解碼順序與顯示順序不同的情況,這時就需要使用PTS和DTS來進行控制和同步。

例如,當影片流中存在B幀(Bidirectional Frame)時,B幀依賴於前後的參考幀進行解碼。在這種情況下,解碼器可能會先解碼一個B幀需要的參考幀,然後再解碼該B幀。所以,B幀的DTS會比PTS要早,以確保在播放時能正確地使用參考幀。

播放器根據PTS來確定何時顯示幀,以確保影片的連續播放和同步。透過使用PTS和DTS,可以控制和處理影片編碼和解碼過程中的時間順序和同步問題,保證影片幀在播放器中正確地顯示出來。

6. 影片的編碼格式

(1)VP8:影片壓縮解決方案廠商On2 Technologies公司現已推出最新的影片壓縮格式On2 VP8。On2 VP8是第八代的On2影片,能以更少的資料提供更高質量的影片,而且只需較小的處理能力即可播放影片,為致力於實現產品及服務差異化的網路電視、IPTV和視訊會議公司提供理想的解決方案。

(2)H.264(流媒體音影片格式):H.264是國際標準化組織(ISO)和國際電信聯盟(ITU)共同提出的繼MPEG4之後的新一代數字影片壓縮格式H.264最具價值的部分無疑是更高的資料壓縮比。在同等的影像質量條件下,H.264的資料壓縮比能比當前DVD系統中使用的 MPEG-2高2-3倍,比MPEG-4高1.5-2倍。正因為如此,經過H.264壓縮的影片資料,在網路傳輸過程中所需要的頻寬更少,也更加經濟。在 MPEG-2需要6Mbps的傳輸速率匹配時,H.264只需要1Mbps-2Mbps的傳輸速率。

(3)VP9:VP9 是由 Google 開發的開放式、無版權費的影片編碼標準,在開發初期曾經被命名為 Next Gen Open Video,VP9 也被視為是 VP8 的下一代影片編碼標準。

(4)H.265:H.265 在 H.264 的基礎上保留其中的部分技術,並對相關技術加以改進研發而成。新技術主要透過提升壓縮效率、魯棒性,提高錯誤恢復能力,減少實時時延、減少通道獲取時間等方面,讓影片編碼達到效率更高。同時 H.265 可以實現利用 1~2Mbps 傳輸速度傳送 720P 普通高畫質音影片。