为什么视频压缩如此重要
點擊上方“LiveVideoStack”關注我們
翻譯 | Alex
技術審校 | 李忠
本文來自OTTVerse,作者為Krishna Rao Vijayanagar。
視頻壓縮
Easy Tech
#004#
視頻壓縮是視頻生產中最重要的組成部分之一。對高質量聲影效果(以吸引更多觀看者)的需求常常被有限的帶寬所阻礙,這是YouTube、Facebook和Vimeo等流媒體服務常常面臨的問題。本篇文章將通過一個實際練習來解釋視頻壓縮的重要性。
? ?為什么要視頻壓縮?
過去幾十年里,視頻壓縮理所當然成為一個廣泛研究的主題。
每一年在視頻采集、渲染和顯示方面都會有技術上的創新。隨之而來的是,各大公司要面臨用戶希望以相同或者更低成本獲得更高質量視頻的需求。
換句話說,內容提供商如Netflix、HBO等需要提供更高質量的視頻,但同時不能將成本轉嫁給用戶!遺憾的是,說起來容易做起來難。
每天,全世界有數百萬人都在觀看視頻(以電影、綜藝、新聞、體育直播,TikTok短視頻等形式)。
但幾乎每個人在按下“播放”鍵時,都忽視了一件事:生產、存儲和傳輸視頻的復雜性。人們會站在埃菲爾鐵塔前,感嘆精巧工藝背后的辛苦工作,但幾乎不會有人在按下播放鍵時,對奇跡般順利出現在屏幕上的《指環王》最后一部感到驚訝!
事實上,建立視頻傳輸管道,以確保你的觀眾可以在任意時間、任意地點點播貓咪視頻這件事,沒有聽上去那么簡單,而且還不便宜!
視頻壓縮部分(正式名稱為編碼器/轉碼器)是視頻采集和傳輸管道中的關鍵組成。各大公司花費了大量時間和精力來選擇和微調它們的編碼器。
但你有沒有想過,為什么我們需要在視頻傳輸前先壓縮它?需要權衡什么?通過視頻壓縮我們獲得了什么?它的作用可以忽略不計或者可以不壓縮嗎?
上面的問題問得很好,因為一旦理解了“為什么”,那么一切就都水到渠成了!
在本篇文章中,我們將論證視頻壓縮的存在,讓我們開始吧!
?一個像素的成本是多少?
為了存儲視頻(以及傳輸視頻),你需要為存儲設備做預算。現在,先讓我們忽略傳輸層面的事, 只關注存儲問題。
存儲視頻的設備(SSD或者HDD)代表了你的成本。我們的目標是估算存儲一個視頻(1080p、24fps、色彩-RGB、90分鐘長)的花費是多少。
然而,為了了解成本,我們需要先將視頻分解成不同組成部分。
視頻是由什么組成的呢?答案相當簡單。你以為的動態電影,其實是以設定速度向你展示的一組圖像!
每張圖像被稱為“一幀”,電影基本上就是按特定順序排列的一系列幀。
再深入分析的話,幀由像素構成。
幾個按照特定順序排列的像素構成了一幀。比如,1080p有1920 x 1080個像素,分別排列為1080行和1920列。
再進一步理解,幀可不是簡單的2D數組。為了產生色彩效果,(在我們的例子中)我們假設一幀視頻有3層,顏色分別是紅色、綠色和藍色。三原色,即紅、綠和藍(RGB)可以組合成任意你想要的顏色。
具有 1920 列和 1080 行像素的單個幀的 RGB?
比如,當紅、綠和藍按照相同比例混合,可以產生不同色度的灰色——從黑色到純白!這個特性非常有用,它可以使三種顏色在數字顯示器(電視或者手機)中產生不同的顏色。?
酷!現在我們知道一幀就是一個3D像素數組,這些像素實際上就是代表了色彩強度的數字(我們例子中的RGB)。
假設你使用8位內存代表一層顏色中的一個像素,那么,為了表示RGB三種顏色的強度,你就需要24位內存。
換言之,我們需要24位大小的空間來存儲一個像素。
注意:了解視頻技術的讀者應該發現了,視頻并不是以RGB格式存儲的,它們是以YUV格式(420、422或者444)存儲的。除此之外,你也知道位深是變化的(每像素8、10或者12位)。然而,在本篇文章中,讓我們假設視頻是按照RGB格式(8位)存儲的。我們將在視頻壓縮系列的后續文章中介紹不同的顏色、子采樣和位深格式。感謝大家“忍受”這個簡單的例子!
?一個90分鐘、1080p的電影需要消耗多少存儲空間?
現在我們知道,存儲視頻的一個像素(RGB)需要消耗24位,讓我們來計算一個視頻一整幀的消耗。
如果你在觀看高清或者1080p的視頻,那我們這里討論的就是每幀1920x1080像素。
所以,一幀的消耗是
1920 * 1080 像素* 24位/像素) = 49766400 位但我們要看的不是圖像,我們想看的是電影!
為了保持動態感(或“欺騙”你的眼睛,讓你認為是動態的),你的電視需要每秒顯示24幀(fps),否則你的大腦將很快意識到正在看的不是視頻。這種現象被稱為“視覺暫留”或者“視覺錯覺”。
我們知道,24 fps 被認為是最低限度的幀速率(幀速率是視頻每秒的幀數)。業界普遍認為 60 fps 是一個很好的標準幀率,我同意。
?回歸數學
所以,假設我們制作電影時,讓電影的每一秒包含24幀,那么一秒的視頻需要多少存儲空間?
49766400位/幀?x?24fps?=?1194393600位/秒這只是一部電影中的一秒,我們現在討論的是一段90分鐘的視頻。那么存儲90分鐘視頻需要多少空間呢?
1194393600 x 60(1分鐘60秒)x 90(共90分鐘)=6449725440000位哇,讓我們整理一下這個數字。
要用750GB存儲一部電影?瘋了吧!
?理解750GB
如果你想在一個非常棒的SSD上存儲750GB的電影,(假設)那得買一個三星Evo SSD硬盤才行,一個要花費250美元。
會有人愿意花250美元存儲一部電影嗎?太荒謬了,不是嗎?你可能會說,那我們可以使用更便宜的存儲技術,但這不是我們今天要討論的重點。
現實中,視頻存儲很昂貴,這也是為什么音視頻行業不斷創新(在不影響視頻質量的前提下,持續開發新算法和新技術將電影壓縮到更易于管理的尺寸)的原因。
看看你手機上的Netflix應用。Netflix 提供了將電影下載到手機上的選項,這樣你在離線時也可以觀看。你可以下載一部完整電影(事實上很多電影),而且仍然不會“摧毀”你的手機內存。
你肯定不會去下載幾GB或者幾TB的數據,是吧?你最多只下載1或者2GB的數據。
這種文件尺寸的大幅減少主要歸功于視頻壓縮的藝術和科學。
?視頻編碼究竟是藝術還是科學?
說視頻編碼是科學,是因為它需要精確的公式和算法,而這些公式和算法都是在世界各地的實驗室中被發明出來的,并需要接受不斷的測試和改進。
另一方面,說視頻編碼是藝術,是因為對視頻編碼質量的感知是主觀的,不同的人對視頻質量好壞的判斷不同。
在《視頻編碼完全指南》
致謝
本文已獲得作者Krishna Rao Vijayanagar授權翻譯和發布,特此感謝。
原文鏈接:https://ottverse.com/need-for-video-compression/
掃描圖中二維碼或點擊閱讀原文
了解大會更多信息
喜歡我們的內容就點個“在看”吧!
總結
以上是生活随笔為你收集整理的为什么视频压缩如此重要的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大话ion系列(三)
- 下一篇: LiveVideoStackCon202