最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

通俗科普什么是音視頻「編碼」與「碼率」

2023-01-11 17:24 作者:Sam_Toki  | 我要投稿

前言

國(guó)內(nèi)ACG圈子里的日本動(dòng)畫觀眾,或多或少都可能在ACG論壇等地方,接觸到討論音視頻資源的網(wǎng)友,念叨著一些影音領(lǐng)域?qū)I(yè)詞匯。根據(jù)筆者個(gè)人經(jīng)驗(yàn),其中較難理解的最常見的兩個(gè)詞匯是「編碼」「碼率」。

本文將用淺顯易懂的圖示與比喻來講解這兩個(gè)概念,面向剛?cè)肟拥呐笥炎鲆粋€(gè)通俗的科普。由于本文是通俗科普,較不嚴(yán)謹(jǐn),若想準(zhǔn)確地、深入地理解這些概念,還請(qǐng)參考維基百科、百度百科等。真正的「編碼」是一門復(fù)雜學(xué)問,涉及很多高等數(shù)學(xué)知識(shí)?。〞?/p>

本文講解時(shí)會(huì)涉及到一些影音領(lǐng)域的基礎(chǔ)概念,包括「像素」「分辨率」「幀率」等。若讀者尚未熟知這些概念,可先參考維基百科、百度百科,或筆者的另一篇文章:字幕組動(dòng)畫資源慣用文件名含義科普

引入:什么是位圖

視頻本質(zhì)上就是連續(xù)播放的一大堆圖片,每一幀就是一張圖片。因此我們先從圖片說起。

圖片分為兩種:位圖與矢量圖。位圖(bitmap)是由一個(gè)個(gè)細(xì)小的像素組成的圖像。當(dāng)像素的數(shù)量足夠多,即分辨率足夠高時(shí),人眼就看不出像素(顆粒感消失),就會(huì)感覺圖片很清晰了。

低分辨率位圖模擬效果:

東寶株式會(huì)社(低分辨率模擬)

原圖,1920x1080 分辨率(高清),即大約兩百萬(wàn)像素:

東寶株式會(huì)社

位圖的優(yōu)點(diǎn)是技術(shù)成熟,編碼、解碼與傳播相對(duì)容易,而缺點(diǎn)顯而易見:經(jīng)不起放大。不妨點(diǎn)開上面的原圖,然后使勁放大(500%以上),即可隱隱約約地看到一個(gè)個(gè)像素點(diǎn)。用 Windows「畫圖」軟件放大位圖,可以更明顯地看到像素點(diǎn)。位圖幾乎無處不在,常見文件格式有 JPG/JPEG、PNG、WebP、BMP 等。

矢量圖(vector graphics)是由一條條數(shù)學(xué)函數(shù)繪制的線條組成的圖像。其優(yōu)點(diǎn)是再怎么放大都不會(huì)模糊,缺點(diǎn)是不適合應(yīng)用于形狀與顏色復(fù)雜的圖片,以及變化多端的視頻,因此不作進(jìn)一步討論。矢量圖的常見應(yīng)用有公司商標(biāo)、App 圖標(biāo)、CAD 藍(lán)圖、TrueType 字體等,常見文件格式有 SVG 等。

下圖是傳統(tǒng)像素字體與 TrueType 字體的對(duì)比:

  • 上:像素字體,亦稱點(diǎn)陣字體,基于位圖的原理。常見于低分辨率屏幕,例如街頭LED滾動(dòng)字幕、以前的電腦與手機(jī)屏幕(夢(mèng)回 Windows 95),還有像素風(fēng)格的游戲(Minecraft 等)。

  • 下:TrueType 字體,基于矢量圖的原理。常見于現(xiàn)在高分辨率的電腦與手機(jī)屏幕。

像素字體與 TrueType 字體

位圖的編碼

這是一張 10x5 分辨率,即含有50個(gè)像素的位圖:

位圖示意圖 1

如何用計(jì)算機(jī)數(shù)據(jù)表示并存儲(chǔ)這個(gè)位圖,就是位圖的編碼要解決的問題。

我們首先想到的是最簡(jiǎn)單的方法,按順序記錄每一個(gè)像素:

事實(shí)上這就是 BMP 格式位圖文件(bitmap file)的編碼方法。其優(yōu)點(diǎn)是圖像信息最原始、最準(zhǔn)確,缺點(diǎn)是數(shù)據(jù)量巨大。為了減小數(shù)據(jù)量,我們繼續(xù)探索效率更優(yōu)的編碼方法:

另一種思路:

顯然,這些編碼在保證圖像信息準(zhǔn)確無誤的情況下,減小了數(shù)據(jù)量,降低了文件體積,節(jié)省了存儲(chǔ)空間與網(wǎng)絡(luò)帶寬。這也就是所謂「無損壓縮」,最流行的無損壓縮位圖編碼及其文件格式是 PNG(Portable Network Graphics)。然而在實(shí)際應(yīng)用中,無損壓縮的編碼仍無法滿足很多用戶節(jié)省存儲(chǔ)空間與網(wǎng)絡(luò)帶寬的需求,尤其是二十多年前的撥號(hào)上網(wǎng)時(shí)代,載入一張圖片要花十幾秒鐘……

因此,既然有「無損壓縮」,自然就有與之對(duì)應(yīng)的「有損壓縮」,最流行的有損壓縮位圖編碼是 JPEG(Joint Photographic Experts Group),這種編碼應(yīng)用于家喻戶曉的 JPG/JPEG 格式位圖文件。

JPEG 編碼具有非常復(fù)雜的算法,利用了人眼對(duì)部分圖像細(xì)節(jié)的不敏感,將位圖中人眼不易察覺的細(xì)節(jié)內(nèi)容刻意去除。雖然造成了一定的內(nèi)容損失,但大幅降低了圖片文件體積,尤其適合網(wǎng)絡(luò)傳輸,例如表情包斗圖,而不適合對(duì)圖像質(zhì)量要求較高的場(chǎng)合,例如電腦壁紙。

下面的這張圖片,若使用 BMP 編碼存儲(chǔ),體積高達(dá) 10.5MB:

ぼっち?ざ?ろっく!

現(xiàn)在分別改用 PNG 與 JPEG 編碼:

JPEG 有損壓縮示意圖 1
JPEG 有損壓縮示意圖 2

文件體積對(duì)比:

示例圖片文件體積對(duì)比

視頻的編碼

前面提到,視頻本質(zhì)上就是連續(xù)播放的一大堆圖片。因此,可以猜想視頻的編碼就是位圖編碼的堆砌。然而實(shí)際情況要比這句描述復(fù)雜得多。我們不妨做一個(gè)簡(jiǎn)單的計(jì)算:

上文的 1080P 分辨率「東寶株式會(huì)社」示例圖片另存為高度壓縮的 JPG 格式文件之后,體積縮小至約 300KB。假設(shè)有一部分辨率 1080P、幀率 24fps(即每秒24張圖片)、長(zhǎng)度1小時(shí)45分鐘的電影,那么它總共的幀數(shù)(圖片張數(shù))為

24幀×60秒×105分鐘 = 151,200幀

那么這部電影理論上的文件體積應(yīng)為

300KB×151,200幀 = 45,360,000KB ≈ 43GB

這個(gè)計(jì)算結(jié)果大得嚇人,不符合我們影音愛好者的常識(shí):一部高清電影的文件體積約為 3~5GB。實(shí)際上,這部電影只有 3.45GB,還包括音頻!

視頻編碼是如何做到如此節(jié)省數(shù)據(jù)量的?關(guān)鍵在于利用了前一幀已有的畫面內(nèi)容。請(qǐng)讀者想象下面的圖片是一段 10x5 分辨率(究極AV畫質(zhì))的視頻:

位圖示意圖 2

這里我們使用一種「坐標(biāo)系」編碼,記錄第1幀的內(nèi)容:

接下來播放下一幀:

位圖示意圖 3

原本我們理應(yīng)這樣編碼:

但實(shí)際上可以這樣,僅記錄變成了綠色的左上角那個(gè)像素:

同理,現(xiàn)在從第2幀播放至第3幀:

位圖示意圖 4

從第50幀至第51幀:

位圖示意圖 5
位圖示意圖 6

顯然,利用這種「基于前一幀」的視頻編碼思想,可以大幅減小數(shù)據(jù)量。但若遇到后一幀與前一幀差別巨大,類似切換鏡頭的情況時(shí),仍需要老老實(shí)實(shí)地記錄所有變更的像素:

位圖示意圖 7

目前最流行的視頻編碼是 H264,亦稱 AVC,Advanced Video Coding。還有一種逐漸進(jìn)入大眾視野的新一代視頻編碼:H265,亦稱 HEVC,High Efficiency Video Coding,便是 H264 的繼承者。H265 采用了更先進(jìn)、更復(fù)雜的壓縮算法,進(jìn)一步減少數(shù)據(jù)量,節(jié)省文件體積。

視頻的碼率

碼率(亦稱比特率,bitrate)指的是視頻或音頻在單位時(shí)間內(nèi)的數(shù)據(jù)量,常見單位為 kbps(thousand Bits Per Second),即每秒使用了幾千比特的數(shù)據(jù)。

碼率的處理主要有兩種模式:可變碼率(variable bitrate)與固定碼率(constant bitrate)。視頻編碼通常采用前者,在畫面變化較小時(shí)盡量降低碼率,在切換鏡頭時(shí)提供高碼率。結(jié)合上文的「10x5 分辨率視頻演示」與下面的示例視頻,相信讀者能夠很快理解可變碼率。

示例視頻:新海誠(chéng)動(dòng)畫電影《你的名字?!?/p>

第64426幀左右,整個(gè)畫面在動(dòng)的地方只有左側(cè)的人與下方的電風(fēng)扇,碼率 396.2kbps:

視頻碼率示意圖 1

第65255幀左右,鏡頭的切換使碼率飆升至 10007kbps:

視頻碼率示意圖 2

第63294幀左右,持續(xù)數(shù)秒的黑屏,碼率低至 45.7kbps:

視頻碼率示意圖 3

在其他條件不變的情況下,碼率越高,即壓縮率(有損壓縮)越低,視頻記錄的畫面細(xì)節(jié)越清楚。因此視頻高碼率的優(yōu)點(diǎn)是畫面質(zhì)量高,而缺點(diǎn)在于數(shù)據(jù)量大,對(duì)存儲(chǔ)空間(本地視頻)、網(wǎng)絡(luò)帶寬(在線視頻),以及播放設(shè)備解碼性能的要求較高。反之,低碼率利于存儲(chǔ)與傳輸,對(duì)解碼性能要求較低,但犧牲了畫面質(zhì)量。

國(guó)內(nèi)幾大在線視頻平臺(tái)經(jīng)常因其正版視頻畫質(zhì)太低被吐槽,這其中的關(guān)鍵就在于碼率。在線視頻平臺(tái)為了壓縮服務(wù)器運(yùn)行成本,或是為了進(jìn)一步限制非會(huì)員用戶的體驗(yàn),而故意限制碼率。但沒想到限制過頭了,導(dǎo)致一些視頻尤其在切換鏡頭時(shí),無法在一瞬間刷新畫面內(nèi)容,出現(xiàn)了色塊、錯(cuò)位等現(xiàn)象,對(duì)要求較高的觀眾造成了災(zāi)難性的體驗(yàn)。

視頻的解碼

從它的名字大致可以猜出,解碼就是編碼的逆向過程。前面提到,編碼就是用計(jì)算機(jī)數(shù)據(jù)表示并存儲(chǔ)媒體內(nèi)容(音頻、圖片、視頻等)。因此,解碼就是將存儲(chǔ)著媒體內(nèi)容的計(jì)算機(jī)數(shù)據(jù)解讀出來,還原成可以觀看、可以收聽的媒體(媒介)。

編碼示意圖
解碼示意圖

視頻的渲染

簡(jiǎn)言之,視頻的渲染就是將解碼產(chǎn)生的畫面正確地輸出到屏幕(顯示器/監(jiān)視器)上。

不同視頻渲染器的功能、性能、質(zhì)量、兼容性不同,但通常情況下,渲染器的選擇對(duì)最終的視頻播放效果影響甚微,因此無需在意。不過若讀者想要追求極致的畫質(zhì),則不妨嘗試入門 madVR 渲染器,但這個(gè)東西非常復(fù)雜且能耗很高(看視頻變成打游戲),筆者曾經(jīng)使用過一段時(shí)間,后來還是卸載掉,換回默認(rèn)的渲染器了。

音頻的編碼

這里先補(bǔ)充一個(gè)概念:「采樣率」(sample rate)。簡(jiǎn)單理解,音頻的采樣率就類似于視頻的幀率。視頻幀率的單位是 fps(Frames Per Second),即每秒播放的圖片張數(shù);音頻采樣率的單位是 Hz(赫茲),即每秒播放的音頻樣本(sample)數(shù)量。常見的音頻采樣率有 44100Hz、48000Hz、96000Hz 等。

音頻編碼的概念與視頻編碼類似。這里介紹幾種常見的音頻編碼:

  1. WAV:波形(waveform)音頻,忠實(shí)地記錄自然聲波,基本沒有數(shù)據(jù)壓縮。優(yōu)點(diǎn)是音頻質(zhì)量高,解碼難度低,播放容易,因此被應(yīng)用于CD唱片,以及 Windows 系統(tǒng)提示音等。缺點(diǎn)是數(shù)據(jù)量巨大。類比位圖中的 BMP 編碼。通常為 1411kbps 或 1536kbps 固定碼率。

  2. FLAC:Free Lossless Audio Codec,最流行的一種無損壓縮音頻編碼。在保證不損失音頻質(zhì)量的情況下,去除音頻數(shù)據(jù)中的冗余內(nèi)容,減少數(shù)據(jù)量,節(jié)省文件體積。類比位圖中的 PNG 編碼。QQ音樂的所謂「SQ無損品質(zhì)」通常為 1000kbps 左右的固定碼率的 FLAC 音頻,而更「奢侈」的 Hi-Res 標(biāo)準(zhǔn)的 FLAC 音頻,碼率可達(dá)兩三千 kbps 甚至更高。

  3. MP3 / MPEG Audio Layer 3:Moving Picture Experts Group Audio Layer 3,最流行的一種有損壓縮音頻編碼。利用了人耳對(duì)部分音頻細(xì)節(jié)的不敏感,將音頻中人耳不易察覺的細(xì)節(jié)內(nèi)容刻意去除。雖然造成了一定的內(nèi)容損失,但大幅降低了音頻文件體積。類比位圖中的 JPEG 編碼。通常為介于 128kbps(標(biāo)準(zhǔn)品質(zhì))與 320kbps(HQ高品質(zhì))之間的固定碼率。注意 MP3 并不是 MPEG-3,而是 MPEG-1 音頻技術(shù)的第三代。

文件體積對(duì)比:

示例音頻文件體積對(duì)比

進(jìn)階閱讀:WAV 音頻的 1411kbps 是怎么來的?
這種應(yīng)用于CD唱片的、最典型的音頻格式,采用16位音頻比特深度,加上 44100Hz 采樣率,以及 2.0ch 雙聲道(立體聲/Stereo)。因此做個(gè)簡(jiǎn)單的乘法:
16×44,100×2 = 1,411,200
同理,將采樣率更換為 48000Hz,即可得到 1536kbps 的碼率。

現(xiàn)在,假設(shè)我們需要編碼一段持續(xù)2秒鐘、聲波頻率為 1000Hz(這不是采樣率!)、聲壓(聲音大?。?40dB 的蜂鳴聲,且采用 48000Hz 的采樣率。若我們使用 WAV 的編碼思路,即可得到:

這個(gè)「1000Hz-40dB」需要重復(fù)96000次,十分冗余。接下來我們使用 FLAC 的編碼思路:

這便大幅減少了數(shù)據(jù)量。類比前面提到的位圖無損壓縮,可謂異曲同工。

音頻的碼率

同樣地,音頻碼率的概念與視頻碼率類似。前面提到,沒有壓縮與無損壓縮的音頻碼率通常是上千 kbps,有損壓縮的音頻碼率通常是 320kbps 或更低。

實(shí)際上,對(duì)于大多數(shù)人,以及大多數(shù)耳機(jī)與揚(yáng)聲器而言,320kbps 足以記錄高品質(zhì)的音樂,從 320kbps 提升至成百上千 kbps 僅僅是更還原音頻中的小細(xì)節(jié),不投入身心仔細(xì)聆聽,幾乎聽不出區(qū)別。(以上描述對(duì)音頻發(fā)燒友不適用)

但反過來的情況就不太一樣了。從 320kbps 降低至 192kbps 甚至 128kbps 的碼率,就很有可能感受得出音質(zhì)明顯變差。音頻碼率降低至這個(gè)水平,會(huì)導(dǎo)致人耳相對(duì)不敏感的高頻部分出現(xiàn)明顯損失。例如純音樂 Bandari《Moonglow》中,背景的風(fēng)鈴聲不再清澈、明晰;若過度降低碼率,甚至?xí)癸L(fēng)鈴聲幾乎完全消失。

音頻碼率示意圖 1
音頻碼率示意圖 2

結(jié)語(yǔ)

本文涉及影音領(lǐng)域的多項(xiàng)專業(yè)知識(shí),如有錯(cuò)誤,歡迎指正。


通俗科普什么是音視頻「編碼」與「碼率」的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
双峰县| 宁明县| 葫芦岛市| 株洲县| 抚顺市| 北碚区| 休宁县| 广州市| 当雄县| 青岛市| 武宣县| 宜兴市| 黎城县| 嘉义市| 漯河市| 胶州市| 石楼县| 青浦区| 高阳县| 依安县| 龙山县| 罗源县| 闸北区| 闽清县| 湟源县| 三明市| 榆中县| 永登县| 集贤县| 淅川县| 蓬溪县| 庄浪县| 西昌市| 留坝县| 鹤峰县| 温宿县| 那坡县| 石首市| 揭西县| 漳州市| 蓬安县|