音視頻知識圖譜 2022.11

前些時(shí)間孤钦,我在知識星球上創(chuàng)建了一個(gè)音視頻技術(shù)社群:關(guān)鍵幀的音視頻開發(fā)圈诡必,在這里群友們會一起做一些打卡任務(wù)。比如:周期性地整理音視頻相關(guān)的面試題,匯集一份音視頻面試題集錦闰挡,你可以看看這個(gè)合集:音視頻面試題集錦。再比如:循序漸進(jìn)地歸納總結(jié)音視頻技術(shù)知識词顾,繪制一幅音視頻知識圖譜蠕趁,你可以看看這個(gè)合集:音視頻知識圖譜

下面是 2022.11 月知識圖譜新增的內(nèi)容節(jié)選:

1)圖譜路徑:渲染/AspectRatios

  • PAR(Pixel Aspect Ratio)迁霎,單個(gè)像素的寬高比吱抚。大多數(shù)情況像素寬高比為 1:1,是一正方形像素考廉。如果不是 1:1秘豹,則為長方形像素。常用的 PAR 有:1:1昌粤、10:11既绕、40:33啄刹、16:11、12:11凄贩。
  • SAR(Sample Aspect Ratio)誓军,采樣縱橫比。表示橫向的像素點(diǎn)數(shù)和縱向的像素點(diǎn)數(shù)的比值疲扎,即我們通常提到的分辨率的寬高比昵时。比如 VGA 圖像 SAR 是 640/480=4:3,D-1 PAL 圖像 720/576=5:4 等评肆。
  • DAR(Display Aspect Ratio)债查,顯示寬高比。即最終播放出來的畫面的寬高比瓜挽。比如常見的 16:9盹廷、4:3 等【贸龋縮放視頻也要按這個(gè)比例來俄占,否則會使圖像看起來被拉伸了。
  • 關(guān)系:PAR x SAR = DAR 或 PAR = DAR / SAR
  • 播放器處理:播放器標(biāo)準(zhǔn)的播放流程淆衷,應(yīng)該是先找視頻容器格式也就是 container 中的 DAR缸榄,按這個(gè)比例來顯示視頻,進(jìn)行播放祝拯;如果沒有 DAR 的話甚带,則使用 SAR 進(jìn)行視頻顯示。
  • 視頻制式:視頻制式按照錄制設(shè)備可以分為計(jì)算機(jī)制式和電視制式佳头。計(jì)算機(jī)制式的 PAR 常為 1:1鹰贵,而電視制式的 PAR 通常不是 1:1,電視制式又分為 NTSC 或 PAL 制式康嘉,它們的 PAR 又可能不同碉输。

2)圖譜路徑:渲染/圖像渲染技術(shù)/OpenGL

  • OpenGL:一套跨語言、跨平臺亭珍,支持 2D敷钾、3D 圖形渲染接口。這套接口由一系列的函數(shù)組成肄梨,定義了如何對簡單及復(fù)雜的圖形進(jìn)行繪制阻荒。這套接口涉及到對設(shè)備的圖像硬件進(jìn)行調(diào)用,因此在不同的平臺基于這套統(tǒng)一接口做了對應(yīng)的實(shí)現(xiàn)众羡。
  • OpenGL ES:OpenGL 的子集财松,是針對手機(jī)和游戲主機(jī)等嵌入式設(shè)備而設(shè)計(jì),去除了許多不必要和性能較低的 API 接口纱控。
  • OpenGL 在程序中角色:OpenGL 位于 GPU 驅(qū)動和平臺圖形繪制 API 之間辆毡;也可以直接使用用于圖形繪制。驅(qū)動 GPU 芯??效圖形渲染甜害。
  • OpenGL 的渲染架構(gòu):OpenGL 的渲染架構(gòu)是 Client/Server 模式舶掖。我們開發(fā)的過程就是不斷用 Client 通過 OpenGL 提供的通道去向 Server 端傳輸渲染指令,來間接的操作 GPU 芯片尔店。Client 向 Server 傳遞參數(shù)和渲染信息的通道:
    • Attribute(屬性通道):通常用來傳遞經(jīng)痴H粒可變參數(shù)。
    • Uniform(統(tǒng)一變量通道):通常用來傳遞不變的參數(shù)嚣州。
    • Texture Data(紋理通道):專門用來傳遞紋理數(shù)據(jù)的通道鲫售。
  • OpenGL 狀態(tài)機(jī):一系列的變量描述 OpenGL 此刻應(yīng)當(dāng)如何運(yùn)行。OpenGL 的狀態(tài)通常被稱為 OpenGL 上下文(Context)该肴。我們通常使用如下途徑去更改 OpenGL 狀態(tài):設(shè)置選項(xiàng)情竹,操作緩沖。最后匀哄,我們使用當(dāng)前 OpenGL 上下文來渲染秦效。
  • OpenGL 圖形渲染管線:頂點(diǎn)著色器 → 圖元裝配 → 幾何著色器 → 光柵化 → 片段著色器 → 測試與混合
  • EGL:OpenGL ES 渲染 API 和本地窗口系統(tǒng)之間的一個(gè)中間接口層,它主要由系統(tǒng)制造商實(shí)現(xiàn)涎嚼。
    • OpenGL ES 系統(tǒng)與本地窗口(UIKit)系統(tǒng)的橋接由 EAGL 上下文系統(tǒng)實(shí)現(xiàn)阱州。
    • 與 Android EGL 不同的是,iOS EAGL 不會讓應(yīng)用直接向 BackFrameBuffer 和 FrontFrameBuffer 進(jìn)行繪制法梯,也不會讓應(yīng)用直接控制雙緩沖區(qū)的交換(swap)苔货,系統(tǒng)自己保留了這些操作權(quán),以便可以隨時(shí)使用 Core Animation 合成器來控制顯示的最終外觀立哑。
    • Display 是對實(shí)際顯示設(shè)備的抽象夜惭。在 Android 上的實(shí)現(xiàn)類是 EGLDisplay。
    • Surface 是對用來存儲圖像的內(nèi)存區(qū)域 FrameBuffer 的抽象刁憋,包括 Color Buffer滥嘴、Stencil Buffer、Depth Buffer至耻。在 Android 上的實(shí)現(xiàn)類是 EGLSurface若皱。
    • Context 存儲 OpenGL ES 繪圖的一些狀態(tài)信息。在 Android 上的實(shí)現(xiàn)類是 EGLContext尘颓。
    • 與設(shè)備的原生窗口系統(tǒng)通信走触;
    • 查詢繪圖圖層的可用類型和配置;
    • 創(chuàng)建繪圖圖層疤苹;
    • 在 OpenGL ES 和其他圖形渲染 API 之間同步渲染互广;
    • 管理紋理貼圖等渲染資源。
    • Android EGL
    • iOS EGL = EAGL(Embedded Apple Graphics Library)
  • VBO、EBO 和 VAO
    • VBO(Vertex Buffer Objects)頂點(diǎn)緩沖區(qū)對象惫皱,指的是在 GPU 顯存里面存儲的頂點(diǎn)數(shù)據(jù)(位置像樊、顏色)。
    • EBO/IBO(Element/Index Buffer Object)索引緩沖區(qū)對象旅敷,存儲索引來達(dá)到減少重復(fù)數(shù)據(jù)生棍。
    • VAO(Vertex Array Object)頂點(diǎn)數(shù)組對象。
    • VBO 和 EBO 的作用是在 GPU 顯存中開辟一塊存儲空間來緩存頂點(diǎn)數(shù)據(jù)或者圖元索引數(shù)據(jù)媳谁,避免每次繪制時(shí) CPU 內(nèi)存到 GPU 顯存的數(shù)據(jù)拷貝涂滴,從而提升渲染性能。
    • VAO 的作用是管理 VBO 或 EBO晴音,減少 glBindBuffer柔纵、glEnableVertexAttribArray、glVertexAttribPointer 這些調(diào)用操作锤躁,高效地實(shí)現(xiàn)在頂點(diǎn)數(shù)組配置之間切換搁料。
  • FBO:幀緩沖區(qū)對象 FBO(Frame Buffer Object)
    • 默認(rèn)的幀緩沖區(qū)(Default Frame Buffer):在建立了 OpenGL 的渲染環(huán)境后,我們相當(dāng)于有了一只畫筆和一塊默認(rèn)的畫布进苍,這塊畫布就是我們的屏幕加缘,是一塊默認(rèn)的幀緩沖區(qū)(Default Frame Buffer)。
    • 離屏渲染:我們可以認(rèn)為 OpenGL 的 FBO 就相當(dāng)于是模擬了默認(rèn)幀緩沖區(qū)的功能和結(jié)構(gòu)創(chuàng)建了一種可以作為『畫布』使用的 Object觉啊。從而支持離屏渲染拣宏。
    • 附著與附件:FBO 并不是一個(gè)真正的緩沖區(qū),因?yàn)?OpenGL 并沒有為它分配存儲空間去存儲渲染所需的幾何杠人、像素?cái)?shù)據(jù)勋乾,它是一個(gè)指針的集合,這些指針指向了顏色緩沖區(qū)嗡善、深度緩沖區(qū)辑莫、模板緩沖區(qū)、累積緩沖區(qū)等這些真正的緩沖區(qū)對象罩引,我們把這里的指向關(guān)系叫做『附著』各吨。附著點(diǎn)類型有:顏色附著、深度附著和模板附著袁铐。這些附著點(diǎn)指向的緩沖區(qū)通常包含在某些對象里揭蜒,我們把這些對象叫做『附件』。附件的類型有:紋理(Texture)或渲染緩沖區(qū)對象(Render Buffer Object剔桨,RBO)屉更。

3)圖譜路徑:渲染/伽馬校正

伽馬校正的歷史:

  • 顯示伽馬(Display Gamma)
    • 人們在使用 CRT 時(shí)發(fā)現(xiàn)它有一個(gè)問題:調(diào)節(jié)電壓為原來的 n 倍,對應(yīng)的屏幕發(fā)光亮度并沒有提高 n 倍洒缀,而是一個(gè)類似冪律曲線的關(guān)系瑰谜。典型的 CRT 顯示器產(chǎn)生的亮度約為輸入電壓的 2.2 次冪欺冀,這個(gè)就是『顯示伽馬』。
  • 伽馬校正(Gamma Correction)
    • 由于顯示伽馬問題的存在萨脑,為了使最終顯示出來的圖像亮度與捕捉到的真實(shí)場景的亮度是成線性比例關(guān)系隐轩,就需要在將圖像輸入到顯示器之前對信號進(jìn)行一個(gè)修正,這個(gè)修正過程就叫做『伽馬校正』砚哗。
  • 編碼伽馬(Encoding Gamma)
    • 修正顯示伽馬過程增加的伽馬則叫做『編碼伽馬』龙助。
    • 增加編碼伽馬通常是在圖像采集設(shè)備的電路中完成的。
  • 端到端伽馬(End-to-End Gamma)
    • 編碼伽馬和顯示伽馬的乘積就是整個(gè)圖像系統(tǒng)的『端到端伽馬』蛛芥。
    • 如果端到端伽馬乘積為 1,那么顯示出來的圖像亮度與捕捉到的真實(shí)場景的亮度就是成線性比例的军援。
  • 額外收益
    • 伽馬校正的所做非線性轉(zhuǎn)換過程除了解決顯示伽馬的問題外仅淑,還帶來了一個(gè)額外收益:傳輸期間增加的噪聲(模擬信號時(shí)代),在噪聲比較明顯的較暗信號區(qū)域(在接收器做了伽馬校正后)會被減少胸哥。因?yàn)槲覀兊囊曈X系統(tǒng)對相對亮度差別是敏感的涯竟,經(jīng)過伽馬校正后的非線性梯度明顯對人眼感知來說更均勻。

伽馬校正技術(shù)的延伸:

  • sRGB 顏色空間
    • 2.2 是大多數(shù) CRT 顯示器的平均 Gamma 值空厌÷基于這個(gè)原因,1996 年嘲更,惠普與微軟選擇 Gamma 校準(zhǔn)系數(shù)為 2.2 的顏色空間作為一種標(biāo)準(zhǔn)推出作為生成在因特網(wǎng)上瀏覽的圖像的通用顏色空間筐钟,這就是 sRGB(Standard RGB)顏色空間,這是一個(gè)非線性的顏色空間赋朦。
    • sRGB 顏色空間得到了眾多廠商支持篓冲,這樣一來,遵循 sRGB 標(biāo)準(zhǔn)的圖像處理都在這個(gè)非線性顏色空間中處理即可宠哄。
  • LCD 顯示器向前兼容顯示伽馬
    • LCD 顯示器本身確實(shí)沒有 CRT 顯示器的伽馬效應(yīng)壹将,但是為了兼容性,LCD 以及其他非 CRT 顯示設(shè)備都模擬了這個(gè)伽馬效應(yīng)以實(shí)現(xiàn)先前兼容毛嫉,甚至可以支持動態(tài)調(diào)節(jié)伽馬參數(shù)诽俯。
  • 光電轉(zhuǎn)換函數(shù)設(shè)計(jì)目標(biāo)面向人眼的特性而非顯示伽馬
    • 因?yàn)槿搜蹖α炼雀兄欠蔷€性的特點(diǎn),我們可以用更多的碼率來編碼人眼敏感的中等亮度或暗部細(xì)節(jié)承粤,從而使得編碼在討好人眼上有更好的 ROI暴区。這樣一來,我們在采集電路中采集到光信號向電信號轉(zhuǎn)換時(shí)密任,通常會將其轉(zhuǎn)換為非線性信號颜启,以利于我們做編碼,因此在傳感數(shù)據(jù)上做伽馬校正仍然是有用的浪讳。只是我們的伽馬曲線參數(shù)要做調(diào)整了缰盏,曲線參數(shù)的目標(biāo)不再是面向之前的 CRT 顯示伽馬,而是面向人眼的特性。這就有了后續(xù)的光電轉(zhuǎn)換函數(shù)(Optical-Electro Transfer Function)和電光轉(zhuǎn)換函數(shù)(Electro-Optical Transfer Function)口猜。
    • PQ(Perceptual Quantizer负溪,感知量化)曲線的設(shè)計(jì)更接近人眼的特點(diǎn),亮度表達(dá)更準(zhǔn)確济炎。
    • HLG(Hybrid Log Gamma川抡,混合對數(shù)伽馬)曲線在低亮度區(qū)域基本與 Gamma 曲線重合,所以提供了與 SDR 顯示設(shè)備很好的兼容性须尚。
  • 線性顏色空間仍有使用場景
    • 計(jì)算機(jī)視覺的一些圖像處理場景崖堤,還是需要圖像的亮度信息在線性顏色空間中才能進(jìn)行處理,這時(shí)候則需要撤銷伽馬校正后再進(jìn)行處理耐床。在處理完成后密幔,將圖像輸入顯示器之前再重新做伽馬校正。

4)圖譜路徑:渲染/HDR

  • HDR 與 SDR 的區(qū)別:
    • SDR 支持的亮度范圍在 0.1nit 到 100nit 之間撩轰,使用 Rec.709/sRGB 色域胯甩,并使用 Gamma 曲線來作為它的電光轉(zhuǎn)換函數(shù)
    • HDR 支持更大的亮度范圍(0.0005-10000nit)、更寬廣的色域(BT.2020)堪嫂、更高精度的量化(10bit 或 12bit)偎箫,轉(zhuǎn)換函數(shù)使用 PQ 或 HLG。
    • HDR 視頻畫面可以展現(xiàn)出更多的亮部和暗部細(xì)節(jié)皆串,畫面擁有豐富的色彩和生動自然的細(xì)節(jié)表現(xiàn)淹办,因此畫面更接近人眼所見。
  • SDR 和 HDR 的轉(zhuǎn)換函數(shù):
    • BT.709 Gamma(SDR)
    • HLG(HDR):HLG(Hybrid Log Gamma愚战,混合對數(shù)伽馬)曲線是另外一個(gè)重要的 HDR 轉(zhuǎn)換函數(shù)曲線娇唯,由 BBC 和 NHK 公司開發(fā)。這個(gè)曲線與 PQ 曲線不同寂玲,HLG 規(guī)定的是 OETF 曲線塔插,因?yàn)樵诘土炼葏^(qū)域基本與 Gamma 曲線重合,所以提供了與 SDR 顯示設(shè)備很好的兼容性拓哟,在廣播電視系統(tǒng)里有著廣泛的應(yīng)用想许。HLG 曲線最早在 ARIB STD-B67 中進(jìn)行了標(biāo)準(zhǔn)化,后面也進(jìn)入了 ITU-R BT.2100断序。
    • PQ-SMPTE ST2084(HDR):PQ(Perceptual Quantizer流纹,感知量化)曲線的設(shè)計(jì)更接近人眼的特點(diǎn),亮度表達(dá)更準(zhǔn)確违诗∈基于人眼的對比敏感度函數(shù)(Contrast Sensitivity Function,CSF)诸迟,在 SMPTE ST 2084 標(biāo)準(zhǔn)中規(guī)定了 EOTF 曲線茸炒。亮度范圍可從最暗 0.00005nit 到最亮 10000nit愕乎。PQ 曲線最早是由 Dolby 公司開發(fā)的,并且在 ST 2084 中進(jìn)行了標(biāo)準(zhǔn)化壁公。
  • HDR 視頻轉(zhuǎn) SDR 視頻:
    • 1感论、HDR 非線性電信號轉(zhuǎn)為 HDR 線性光信號(EOTF)
    • 2、HDR 線性光信號做顏色空間轉(zhuǎn)換(Color Space Converting)紊册,通常是從 BT.2020 轉(zhuǎn)換到 BT.709
    • 3比肄、HDR 線性光信號色調(diào)映射為 SDR 線性光信號(Tone Mapping)
    • 4、SDR 線性光信號轉(zhuǎn) SDR 非線性電信號(OETF)

下面是 2022.11 月的知識圖譜新增內(nèi)容快照:

圖片

2022.11 知識圖譜新增內(nèi)容


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末囊陡,一起剝皮案震驚了整個(gè)濱河市芳绩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件罪佳,死亡現(xiàn)場離奇詭異敛熬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鳍侣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門丁稀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人倚聚,你說我怎么就攤上這事线衫。” “怎么了惑折?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵授账,是天一觀的道長。 經(jīng)常有香客問我惨驶,道長白热,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任粗卜,我火速辦了婚禮屋确,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘续扔。我一直安慰自己攻臀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布纱昧。 她就那樣靜靜地躺著刨啸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪识脆。 梳的紋絲不亂的頭發(fā)上设联,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天善已,我揣著相機(jī)與錄音,去河邊找鬼仑荐。 笑死雕拼,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的粘招。 我是一名探鬼主播啥寇,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼洒扎!你這毒婦竟也來了辑甜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤袍冷,失蹤者是張志新(化名)和其女友劉穎磷醋,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胡诗,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡邓线,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了煌恢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骇陈。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖瑰抵,靈堂內(nèi)的尸體忽然破棺而出你雌,到底是詐尸還是另有隱情,我是刑警寧澤二汛,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布婿崭,位于F島的核電站,受9級特大地震影響肴颊,放射性物質(zhì)發(fā)生泄漏氓栈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一苫昌、第九天 我趴在偏房一處隱蔽的房頂上張望颤绕。 院中可真熱鬧,春花似錦祟身、人聲如沸奥务。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽氯葬。三九已至,卻和暖如春婉陷,著一層夾襖步出監(jiān)牢的瞬間帚称,已是汗流浹背官研。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留闯睹,地道東北人戏羽。 一個(gè)月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像楼吃,于是被迫代替她去往敵國和親始花。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容