日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

H.264/AVC视频编解码技术详解 第一章 视频信息与压缩编码

發(fā)布時間:2023/12/13 c/c++ 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 H.264/AVC视频编解码技术详解 第一章 视频信息与压缩编码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

H.264/AVC視頻編解碼技術(shù)詳解系列筆記 是對 H.264/AVC視頻編解碼技術(shù)詳解 課程的學(xué)習(xí)

文章目錄

    • 人與世界的交互
    • 視頻信號的表示方法
    • 視頻壓縮編碼
      • 視頻信息為什么可以被壓縮?
      • 視頻壓縮編碼的分類:
      • 視頻壓縮編碼的基本技術(shù)

人與世界的交互

從遠(yuǎn)古時代開始,人類就在不斷為適應(yīng)環(huán)境、改造環(huán)境而艱苦斗爭。
人類通過嗅覺、觸覺、聽覺、視覺等來適應(yīng)社會,而視覺尤為重要,后來人們希望用更直觀的形式記錄所看到的東西,因此有了象形文字到現(xiàn)代文字的演變,以及壁畫到繪畫、照片、視頻的演變。

視頻通過每一幀的圖像表達(dá)信息,視頻包含的音頻可以提供大量信息,視頻通過圖像的運動、場景的變換提供信息,視頻信息是最接近人的直觀體驗的信息表達(dá)方式,是最高效的信息記錄方式。

視頻信號的表示方法

在真實的世界中,視頻影像處理的是模擬信號,為了適應(yīng)現(xiàn)在的計算機(jī),模擬的信號必須轉(zhuǎn)換成數(shù)字格式,才能進(jìn)行下一步的傳輸和處理。

在數(shù)字格式的視頻信號中,組成視頻的基本結(jié)構(gòu)是一幀幀連續(xù)而關(guān)聯(lián)的圖像。組成每一幀圖像的基本結(jié)構(gòu)是成平面緊密排列的像素。每一個像素代表圖像中一個彩色的點,由顏色的三基色分別取不同的分量構(gòu)成:
R:紅色分量
G:綠色分量
B:藍(lán)色分量

RGB顏色空間:

  • RGB顏色空間常用于顯示器系統(tǒng)
  • RGB顏色空間由紅綠藍(lán)三基色構(gòu)成,每一個像素至少有三個顏色分量構(gòu)成
  • RGB三個分量每一個分量以1字節(jié)表示,則可以表示成256*256*256種不同的顏色,1字節(jié)=8bit,2^8=256
  • 常見的圖像格式如位圖(bmp)格式以RGB形式保存
  • YUV顏色空間

  • 實際的編解碼等視頻處理中,YUV格式比RGB格式更為常用
  • YUV格式中,一個像素分別用亮度和色度分量表示,每一個像素由一個亮度分類Y和兩個色度分量U、V組成
  • YUV格式中的亮度與色度分量可以與表示的像素一一對應(yīng),也可以對色度分量的數(shù)據(jù)進(jìn)行采樣,即色度分量少于亮度分量,這樣處理的原因是因為人的感官對亮度信息的敏感度遠(yuǎn)高于對色度信息的敏感度
  • YUV格式的優(yōu)勢是,可以減少色度分量的采樣率,這樣既可以不對圖像造成太大的影響,又可以減少數(shù)據(jù)的存儲量,還可以兼容黑白和彩色的顯示設(shè)備。顯示設(shè)備是黑白:將色度分量去掉,只需要亮度分量即可。
  • YUV圖像的常見色度采樣方式有:4:4:4,4:2:2,4:2:0(最常用)
  • 4:4:4

    4:2:2:即每兩個像素共用一個U分量一個V分量

    4:2:0:每四個像素只對應(yīng)了一個U分量一個V分量

    視頻壓縮編碼

    編碼:將信息按照一定規(guī)則使用某種形式的碼流表示與傳輸
    常需要編碼的信息:文字、語音、視頻、控制信息等

    視頻編碼的主要目的:數(shù)據(jù)壓縮

    • 動態(tài)圖像的RGB/YUV表示,數(shù)據(jù)量極大
    • 存儲空間和傳輸帶寬完全無法滿足像素格式視頻保存?zhèn)鬏數(shù)囊?/li>

    圖像的每個像素的三個顏色分量:RGB,每個顏色分量以8bit保存,每像素至少需要3bytes

    分辨率1280*720的一幀圖像:3byte*1280*720b≈2.64Mb

    25frame/sec的視頻,所需碼率(碼率:視頻碼率就是數(shù)據(jù)傳輸時單位時間傳送的數(shù)據(jù)位數(shù),一般單位是kbps即千位每秒):1280*720*8*3*25=553Mb/sec,該碼率已經(jīng)超過傳輸帶寬的極限了,如果是分辨率更大的視頻,則其碼率會更大

    因此,我們需要對視頻進(jìn)行壓縮。

    視頻信息為什么可以被壓縮?

  • 時間冗余:視頻相鄰的兩幀之間內(nèi)容相似,存在運動關(guān)系
  • 空間冗余:視頻的某一幀內(nèi)部的相鄰像素存在相似性
  • 編碼冗余:視頻中不同數(shù)據(jù)出現(xiàn)的概率不同
  • 視覺冗余:觀眾的視覺系統(tǒng)對視頻中不同的部分敏感度不同
  • 視頻壓縮編碼的分類:

    • 基于波形的編碼【方法更主流】
  • 特點:編碼的數(shù)據(jù)針對每一幀圖像包含的像素值,即采樣像素的波形
  • 方法:利用像素之間在時間和空間上的相關(guān)性,采用預(yù)測編碼和變換編碼結(jié)合的基于塊的混合編碼方法
  • 代表:MPEG-1,MPEG-2,H.264,H.265等
    • 基于內(nèi)容的編碼【太復(fù)雜】
  • 特點:將視頻幀分成對應(yīng)不同物體的區(qū)域,分別對其編碼
  • 方法:針對不同物體的形狀、運動和紋理進(jìn)行編碼
  • 代表:MPEG-4
  • 視頻壓縮編碼的基本技術(shù)

    • 預(yù)測編碼:傳輸預(yù)測像素值與實際像素值之差,利用時間或空間相鄰像素之間較強(qiáng)的相關(guān)性
  • 幀內(nèi)預(yù)測:預(yù)測值與實際值位于同一幀內(nèi),用于消除圖像的空間冗余
  • 幀間預(yù)測:實際值位于當(dāng)前幀,預(yù)測值位于參考幀,用于消除圖像的時間冗余,相比幀內(nèi)預(yù)測壓縮率更高,由于幀間預(yù)測參考了其他幀的數(shù)據(jù),因此,不能獨立解碼,所以只能在獲取參考幀數(shù)據(jù)之后,才能重建當(dāng)前幀
    • 變換編碼:對視頻造成有限的可以容忍的損失來獲取相對更高的編碼效率,造成信息損失的部分,就在其變換量化的部分,在進(jìn)行量化之前,先將像素由空間域變換到頻域,針對變換系數(shù)進(jìn)行編碼
  • 可用于視頻變換編碼的正交變換:DCT變換、K-L變換
    • 熵編碼:熵編碼用于消除視頻信息中的冗余,由于信源中每一個符號出現(xiàn)的概率并不一致,導(dǎo)致使用同一長度的編碼表示符號可能會造成浪費,通過熵編碼,利用信源的統(tǒng)計特性進(jìn)行壓縮編碼,可消除由于符號概率導(dǎo)致的冗余
  • 常用方法:變長編碼、算數(shù)編碼
  • 總結(jié)

    以上是生活随笔為你收集整理的H.264/AVC视频编解码技术详解 第一章 视频信息与压缩编码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。