分辨率
分辨率即畫面的大小。分辨率為 1920*1080 的視頻每幀約等於207萬個像素點,一部未壓縮長度一小時的1080p,30幀視頻佔用空間達600G。
如此大的文件顯然不利於傳播,存儲設備也表示鴨梨山大。
1080p VS 1080i(逐行掃描和隔行掃描)
在液晶顯示普及前,電視屏幕使用顯像管(CRT)顯示畫面,顯像管通過電子槍一行行掃描成像。
原本電子槍以飛快的速度逐行掃描成像,但迫於電視信號的傳輸帶寬不足,電視臺想到了一個“完美”的辦法。將原本逐行掃描成像的畫面改為隔一行掃描一次,先掃描奇數場,再掃描偶數場,然後把兩個場拼起來,得到一個完整的畫面。 這番操作後同等畫質下節省了一半的帶寬。
1080p 中 p 表示逐行掃描(Progressive Scanning),i 表示隔行掃描(Interlace Scanning)。
8102年的今天網絡視頻都是以直接逐行掃描的方式成像。已經沒有任何理由再使用隔行掃描。
編碼格式
前面提到未經壓縮的視頻文件非常龐大,所以通常視頻文件會經過壓縮,在保留視頻質量和文件大小之間取得平衡,這就是編碼格式,常見的編碼格式如 H.264、H.265、MPEG-2 等
編碼格式可大致分為兩類
1.幀內壓縮
視頻中每一幀的畫面用 JPEG 算法壓縮(就是 .jpg 圖片的壓縮算法),JPEG 算法利用人眼對亮度信息的敏感度高於對色彩變化的敏感度,大大減少文件體積依然保留清晰的畫質,僅僅通過幀內壓縮就可以把視頻體積減少90%。
幀間編碼保留了畫面中每一幀的完整數據,對於非常複雜的畫面也能擁有清晰銳利的圖像。
2.幀間壓縮
因為幀內壓縮保留每一幀的完整數據,畫面中沒有變化部分被重複保存多次這就產生相當大的數據冗餘,如果把這些重複的數據刪除就可以進一步的減少文件體積。
常用的編碼格式 H.264(mpeg4)、mpeg2(DVD)、H.265(HEVC) 等等,這類編碼格屬於幀間壓縮。
幀間壓縮在幀內壓縮的基礎上通過算法計算,取得畫面中的兩個關鍵幀,然後記錄兩個關鍵幀之間的變化細節,播放時重新計算得到中間的幀從而得到完整的畫面。
由於並沒有記錄每一幀的完整數據,所以在運動變化複雜的畫面可能會變得較為模糊。
常見的幀間編碼格式如: H.264、H.265、MPEG-4、MPEG-2、AC-1、DIVX、XVID、MPEG-2、WMV、VP8、VP9、RV、RM 等。
碼率
另外一個影響畫質的重要因素:碼率。
碼率決定文件的大小,而編碼會在這大小內儘可能的保留最好的圖像,碼率主要分為固定碼率(CBR),和可變碼率(VBR)。
固定碼率為每一幀畫面分配相同的碼率,在較低碼率的情況下這有可能出現複雜畫面碼率不足,簡單畫面碼率浪費的情況(複雜畫面模糊、簡單畫面清晰)。
通常可變碼率則更為常用一些,編碼器為複雜的畫面提供更多的碼率,簡單的畫面中減少碼率,在同等大小下可變碼率通常會帶來更高的整體畫質。
封裝格式
MP4、MOV、AVI、WMV、MKV 等我們熟悉的“視頻格式“並不是編碼格式,它們屬於封裝格式。
一個視頻通常包含:圖像、音頻、媒體信息,字幕等,封裝格式用於把這些信息打包在一起,相當於一個盒子。
不同的封裝格式支持不同的編碼格式,例如可以把 H.264 編碼格式封裝成 MP4,或者 MOV、MKV,但是不能封裝成 WebM、RMVB。
常見的封裝格式及支持的編碼格式:
MP4: H.264、H.265
AVI: MPEG-2 AC-1 H.264 DIVX XVID
MOV: MPEG-2 XVID H.264
WMV: WMV AC-1
WebM: VP8 VP9
RM/RMVB: RV RM
TS/PS: MPEG-2 H.264 MPEG-4
MKV: 可封裝所有的視頻編碼格式
總結:
常見的 MP4、MOV、AVI、MKV 等文件屬於封裝格式,他們和視頻的清晰度並沒有半毛錢關係。
1080p,通常代表分辨率為 1920x1080 逐行掃描的視頻,分辨率和視頻畫質也沒有太大的關係。
碼率是影響畫質和文件體積的關鍵因素,碼率越高畫質越好。所以並不是分辨率高的視頻就一定比分辨率低的視頻畫質高。在較低碼率的情況下同等碼率的 1080p 可能會比 4K 更清晰。
網絡傳播的視頻通常使用 H.264 編碼格式,使用 H.264、H.265、VP9 等先進的編碼能夠帶來同等體積更高畫質或同等畫質更小體積的文件。
閱讀更多 妝修 的文章