主頁 >  其他 > h.264視頻編碼器

h.264視頻編碼器

2020-09-24 20:50:32 其他

隨著時代的發展、Internet的普及,以及對視頻傳輸需求不斷提高,現有的這些視頻壓縮標準明顯存在著一些缺陷和局限性,為了克服這些缺點, ITU-T在繼H.261,H.263等視頻壓縮標準之后,制定了新一代視頻壓縮標準,并正式命名為H.264,新一代標準H.264可以得到更好的壓縮影像效果、擁有更多的功能和更大的靈活性,

本文首先介紹了多媒體技術發展的狀況以及視頻壓縮的基本概念和方法,然后分析了H.264編解碼器的基本結構和實作流程,本文在細致的分析了其編解碼器后,對于解碼器,編碼器都采用了多種方式進行優化,本文最后還將H.264做和MPEG4編碼進行對比做性能分析,本系統開發的視頻編碼器具有高效,穩定,在保證其優良性能的前提下,達到了縮短運行時間的目的,

H.264是一種視頻高壓縮技術,全稱是MPEG-4 AVC,用中文說是“活動影像專家組-4的高等視頻編碼”,或稱為MPEG-4 Part10,它是由國際電信標準化部門ITU-T和規定MPEG的國際標準化組織ISO/國際電工協會IEC共同制訂的一種活動影像編碼方式的國際標準格式,原來國際電信標準化部門從1998年就H.26L的H.26S兩個分組,前者研制節目時間較長的高壓縮編碼技術,后者則指短節目標準制訂部門,H.26S 的標準化技術的名稱為H.263,聽起來很耳生,但實質上卻早在用了,還被罵得很激烈,因為,H.263先入為大,一直以MPEG-4大內涵的名字在用, H.263的全稱為MPEG-4 Visual或MPEG-4 Pall Ⅱ,即MPEG-4視頻簡單層面的基礎編碼方式,2001年后,國際電信標準化部門ITU-T和MPEG的上級組織國際標準化組織ISO/國際電氣標準會議IEC成立了聯合視頻組JVT,在H.26L基礎進行H.264的標準化,

1.1視頻編碼標準的發展狀況

MPEG是活動影像專家組Moving Pictures Expert Group的簡稱,它制定了MPEG-1/2/4/7等視頻標準,MPEG-1適用于碼率為1.5Mbps的活動影像及其伴音的編碼,它主要應用于多媒體計算機、教育與訓練等領域,特別是基于CD的數字視聽系統,如VCD,它還可以應用于VOD和互動式電視等更廣闊的應用領域,MPEG-2是活動影像及其伴音資訊的通用編碼標準,用于對標準清晰度電視(SDTV)和高清晰度電視(HDTV)的編碼,碼率可達到100Mbps,它主要應用于數字視頻存盤、視頻廣播和通信,是對MPEG-1的重大改進和發展,并且從技術上促進了計算機、廣播電視、數字通信三大領域的交匯融合,發揮出巨大作用,這兩個協議使得多媒體視頻編碼技術邁上了一個新的臺階,

MPEG-4的初衷是針對視頻會議、視頻電話的甚低位元率編碼,但在制定程序中,隨著多媒體技術的發展和應用需求的變化,引入了視頻物件(VO)的概念,和傳統的基于影像幀的壓縮方法相比,基于視頻物件的策略更易于操作和控制編碼,并能更靈活的適應在基于內容的多種應用中,

MPEG-7全稱是多媒體內容描述介面,它對各種不同型別的多媒體資訊進行標準化描述,并將該描述與所描述的內容相聯系,力求能夠更快速并且有效的搜索出用戶所需的不同型別的多媒體資料,MPEG-7重點在于影音內容的描述和定義,以明確的資料結構和語法來定義影音資料的內容,與此同時,ITU-T為滿足可視電話和視頻會議等方面的應用,指定了H.261,H.263等標準,

1990年制定完成的H.261標準(ITU-T Recommendation H.261,Video codec for audiovisual services at p×64kbps)簡稱為p×64,當p=1或2時,碼率最大為128kbps,由于該碼率太低,能傳輸影像的清晰度不太高,所以只能適用于面對面的可視電話,當p≥6時,碼率為384kbps,可以傳輸清晰度尚好的影像,適用于會議電視,

ITU-T的H.263標準(ITU-T Recommendation H.263,Video Coding for LowBit rate Communication)是ITU-T于1996年制定的用于低碼率聲像服務的壓縮標準,它是ITU-T H.324系列標準所規定的多媒體通信終端的視頻編解碼標準,H.263實作了碼率在64kbps以下的視頻壓縮,由于要在低碼率下實作多媒體通信,技術上實作就更為困難和復雜,因此,H.263采用了多種先進技術以降低碼率,

在H.263以后還有一些改進的版本,如H.263+,是對H.263的進一步完善和發展,使得H.263在靈活性和編碼效率等方面有了很大的提高,能適應更加廣泛的應用要求,隨著在低碼率,網路應用,可擴展性等方面的一致性,ITU-T的VCEG(視頻編碼專家組)和ISO/IEC的MPEG(運動影像編碼專家組)成立了一個聯合視頻小組(JVT:joint video team),共同開發一個新的視頻編碼標準,它既是ITU-T的H.264,又是MPEG-4的第10部分,

第三章 視頻編碼原理

3.1 H.264的發展

  隨著HDTV的興起,H.264這個規范頻頻出現在我們眼前,HD-DVD和藍光DVD均計劃采用這一標準進行節目制作,而且自2005年下半年以來,無論是NVIDIA還是ATI都把支持H.264硬體解碼加速作為自己最值得夸耀的視頻技術,H.264到底是何方“神圣”呢?

  H.264,同時也是MPEG-4第十部分,是由ITU-T視頻編碼專家組(VCEG)和ISO/IEC動態影像專家組(MPEG)聯合組成的聯合視頻組(JVT,Joint Video Team)提出的高度壓縮數字視頻編解碼器標準,

  H.264是一種高性能的視頻編解碼技術,目前國際上制定視頻編解碼技術的組織有兩個,一個是“國際電聯(ITU-T)“,它制定的標準有H.261、H.263、H.263+等,另一個是“國際標準化組織(ISO)”它制定的標準有MPEG-1、MPEG-2、MPEG-4等,而H.264則是由兩個組織聯合組建的聯合視頻組(JVT)共同制定的新數字視頻編碼標準,所以它既是ITU-T的H.264,又是ISO/IEC的MPEG-4高級視頻編碼(Advanced Video Coding,AVC),而且它將成為MPEG-4標準的第10部分,因此,不論是MPEG-4 AVC、MPEG-4 Part 10,還是ISO/IEC 14496-10,都是指H.264,

  H.264最大的優勢是具有很高的資料壓縮比率,在同等影像質量的條件下,H.264的壓縮比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍,舉個例子,原始檔案的大小如果為88GB,采用MPEG-2壓縮標準壓縮后變成3.5GB,壓縮比為25∶1,而采用H.264壓縮標準壓縮后變為879MB,從88GB到879MB,H.264的壓縮比達到驚人的102∶1!H.264為什么有那么高的壓縮比?低碼率(Low Bit Rate)起了重要的作用,和MPEG-2和MPEG-4 ASP等壓縮技術相比,H.264壓縮技術將大大節省用戶的下載時間和資料流量收費,尤其值得一提的是,H.264在具有高壓縮比的同時還擁有高質量流暢的影像,

  H.264演算法的優勢

  H.264是在MPEG-4技術的基礎之上建立起來的,其編解碼流程主要包括5個部分:幀間和幀內預測(Estimation)、變換(Transform)和反變換、量化(Quantization)和反量化、環路濾波(Loop Filter)、熵編碼(Entropy Coding),

  H.264/MPEG-4 AVC(H.264)是1995年自MPEG-2視頻壓縮標準發布以后的最新、最有前途的視頻壓縮標準,H.264是由ITU-T和ISO/IEC的聯合開發組共同開發的最新國際視頻編碼標準,通過該標準,在同等圖象質量下的壓縮效率比以前的標準提高了2倍以上,因此,H.264被普遍認為是最有影響力的行業標準,

3.2 H.264標準概述

  H.264和以前的標準一樣,也是DPCM加變換編碼的混合編碼模式,但它采用“回歸基本”的簡潔設計,不用眾多的選項,獲得比H.263++好得多的壓縮性能;加強了對各種信道的適應能力,采用“網路友好”的結構和語法,有利于對誤碼和丟包的處理;應用目標范圍較寬,以滿足不同速率、不同決議度以及不同傳輸(存盤)場合的需求,

  技術上,它集中了以往標準的優點,并吸收了標準制定中積累的經驗,與H.263 v2(H.263+)或MPEG-4簡單類(Simple Profile)相比,H.264在使用與上述編碼方法類似的最佳編碼器時,在大多數碼率下最多可節省50%的碼率,H.264在所有碼率下都能持續提供較高的視頻質量,H.264能作業在低延時模式以適應實時通信的應用(如視頻會議),同時又能很好地作業在沒有延時限制的應用,如視頻存盤和以服務器為基礎的視頻流式應用,H.264提供包傳輸網中處理包丟失所需的工具,以及在易誤碼的無線網中處理位元誤碼的工具,

  在系統層面上,H.264提出了一個新的概念,在視頻編碼層(Video Coding Layer, VCL)和網路提取層(Network Abstraction Layer, NAL)之間進行概念性分割,前者是視頻內容的核心壓縮內容之表述,后者是通過特定型別網路進行遞送的表述,這樣的結構便于資訊的封裝和對資訊進行更好的優先級控制,

3.3 H.264標準的關鍵技術

·幀內預測編碼

  幀內編碼用來縮減影像的空間冗余,為了提高H.264幀內編碼的效率,在給定幀中充分利用相鄰宏塊的空間相關性,相鄰的宏塊通常含有相似的屬性,因此,在對一給定宏塊編碼時,首先可以根據周圍的宏塊預測(典型的是根據左上角的宏塊,因為此宏塊已經被編碼處理),然后對預測值與實際值的差值進行編碼,這樣,相對于直接對該幀編碼而言,可以大大減小碼率,

  H.264提供6種模式進行4×4像素宏塊預測,包括1種直流預測和5種方向預測,如圖2所示,在圖中,相鄰塊的A到I共9個像素均已經被編碼,可以被用以預測,如果我們選擇模式4,那么,a、b、c、d4個像素被預測為與E相等的值,e、f、g、h4個像素被預測為與F相等的值,對于影像中含有很少空間資訊的平坦區,H.264也支持16×16的幀內編碼,

·幀間預測編碼

  幀間預測編碼利用連續幀中的時間冗余來進行運動估計和補償,H.264的運動補償支持以往的視頻編碼標準中的大部分關鍵特性,而且靈活地添加了更多的功能,除了支持P幀、B幀外,H.264還支持一種新的流間傳送幀——SP幀,碼流中包含SP幀后,能在有類似內容但有不同碼率的碼流之間快速切換,同時支持隨機接入和快速回放模式,圖3 SP-幀示意圖H.264的運動估計有以下4個特性,

  (1)不同大小和形狀的宏塊分割

  對每一個16×16像素宏塊的運動補償可以采用不同的大小和形狀,H.264支持7種模式,如圖4所示,小塊模式的運動補償為運動詳細資訊的處理提高了性能,減少了方塊效應,提高了影像的質量,

  (2)高精度的亞像素運動補償

  在H.263中采用的是半像素精度的運動估計,而在H.264中可以采用1/4或者1/8像素精度的運動估值,在要求相同精度的情況下,H.264使用1/4或者1/8像素精度的運動估計后的殘差要比H.263采用半像素精度運動估計后的殘差來得小,這樣在相同精度下,H.264在幀間編碼中所需的碼率更小,

  (3)多幀預測

  H.264提供可選的多幀預測功能,在幀間編碼時,可選5個不同的參考幀,提供了更好的糾錯性能,這樣更可以改善視頻影像質量,這一特性主要應用于以下場合:周期性的運動、平移運動、在兩個不同的場景之間來回變換攝像機的鏡頭,

  (4)去塊濾波器

  H.264定義了自適應去除塊效應的濾波器,這可以處理預測環路中的水平和垂直塊邊緣,大大減少了方塊效應,

·整數變換

  在變換方面,H.264使用了基于4×4像素塊的類似于DCT的變換,但使用的是以整數為基礎的空間變換,不存在反變換,因為取舍而存在誤差的問題,與浮點運算相比,整數DCT變換會引起一些額外的誤差,但因為DCT變換后的量化也存在量化誤差,與之相比,整數DCT變換引起的量化誤差影響并不大,此外,整數DCT變換還具有減少運算量和復雜度,有利于向定點DSP移植的優點,

·量化

  H.264中可選32種不同的量化步長,這與H.263中有31個量化步長很相似,但是在H.264中,步長是以12.5%的復合率遞進的,而不是一個固定常數,在H.264中,變換系數的讀出方式也有兩種:之字形(Zigzag)掃描和雙掃描,大多數情況下使用簡單的之字形掃描;雙掃描僅用于使用較小量化級的塊內,有助于提高編碼效率,

·.熵編碼

  視頻編碼處理的最后一步就是熵編碼,在H.264中采用了兩種不同的熵編碼方法:通用可變長編碼(UVLC)和基于文本的自適應二進制算術編碼(CABAC),

  在H.263等標準中,根據要編碼的資料型別如變換系數、運動矢量等,采用不同的VLC碼表,H.264中的UVLC碼表提供了一個簡單的方法,不管符號表述什么型別的資料,都使用統一變字長編碼表,其優點是簡單;缺點是單一的碼表是從概率統計分布模型得出的,沒有考慮編碼符號間的相關性,在中高碼率時效果不是很好,

  因此,H.264中還提供了可選的CABAC方法,算術編碼使編碼和解碼兩邊都能使用所有句法元素(變換系數、運動矢量)的概率模型,為了提高算術編碼的效率,通過內容建模的程序,使基本概率模型能適應隨視頻幀而改變的統計特性,內容建模提供了編碼符號的條件概率估計,利用合適的內容模型,存在于符號間的相關性可以通過選擇目前要編碼符號鄰近的已編碼符號的相應概率模型來去除,不同的句法元素通常保持不同的模型,

·基本結構

H.264的編碼器如圖3-1所示,包含兩條資料流路徑,一條“前向”路徑(從左到右,藍色表示)和一條“重建”路徑(從右到左,紫色表示),

圖3-1 H.264編碼器模型

·前向路徑:

Fn為當前輸入幀,它以宏塊為單元進行處理(對應原來影像的16×16個像素),每個宏塊按照幀內或者幀間模式被編碼,無論那種模式,都會由重建幀形成一個預測塊P,如果是幀內模式,P由當前已經被編碼,解碼并且重建的幀n的采樣值來預測,如果是幀間模式,P從以前的一個或者多個運動參考幀的運動補償中獲得,即圖中的F’n-1,每個宏塊的預測可由以前的一幀或者幾幀已經編碼,重建的影像得到,

當前宏塊減去預測值得到差值宏塊Dn,Dn經過變換和量化后得到X(經過量化的變換系數),這些系數被掃描后進行熵編碼,然后和其他一些資訊(比如宏塊預測型別,量化步長以及運動矢量資訊)形成壓縮后的碼流,最后送到NAL傳輸,重建路徑:

量化好的宏塊系數X將被解碼以形成重建幀以供繼續編碼,X經過反量化,反變換后得到差值宏塊D’n,因為量化產生誤差,所以和原差值Dn不一樣,預測宏塊P加上D’n生成重建宏塊uF’n,uF’n經過一個濾波器來減少塊失真,得到F’n,由一系列的F’n得到重建幀,

·JM模型采用的搜索方法

在JM中運動搜索采用了一種更先進的快速搜索方法叫做非對稱十字型多層次六邊形格點搜索演算法Search),這是一項有中國專利的演算法,由于它在低碼率大運動的影像序列編碼時,在保持較好率失真性能的條件下,運算量十分低,相對于H.264中原有的快速全搜索演算法可節約90%以上的計算,現已被H.264標準正式采納,

它的搜索程序也比較復雜,采用了非對稱交叉搜索,不均勻多六邊形格點搜索,擴展六邊形搜索等多種先進的方法,是一種混合的搜索方式,

它主要有以下的四個步驟如下圖所示:

圖3-2 搜索步驟

其搜索方法主要有:1-根據預測資訊初始化搜索中心;2-非對稱交叉搜索;3-不均勻多六邊形網格搜索;3-擴展六邊形搜索;

3.5 H.264解碼器的分析

解碼器模型如圖3-3所示:解碼器從網路適配層接收碼流,經過熵解碼和重新排序后得到量化系數X,然后,再經過反量化,反變換后得到D`n,從碼流的頭資訊,解碼器建立一個預測宏塊P,它和編碼器中原來的P是一樣的,P加上D`n得到Uf`n,濾波后得到解碼宏塊F`n,其基本結構如下所示:

圖3-3 解碼器結構

H.264所采用的一些先進技術在解碼器的各個部分中得到了相應的體現,在解碼器的反變換中采用了由DCT變換改進而來的整數變換,它的預測不但有幀間預測模式還有幀內預測模式,解碼后使用了去塊效應的濾波器,

·變換和量化

無論是經過幀內預測還是幀間預測,殘差宏塊都需要進行變換和量化,以前的標準一般采用8×8的DCT變換,H.264根據殘差資料的型別采用三種不同的方式:幀內編碼宏塊的亮度DC系數采用4×4的矩陣(僅對于16×16的預測模式);色度DC系數使用2×2的矩陣;其他的都采用4×4的塊變換,宏塊里資料塊按圖3-4所示的順序傳輸,如果是16×16的幀內預測宏塊,首先傳輸編號-1的亮度DC系數,然后是編號0-15的亮度殘差資料,最后是編號16-25的色度DC和色度殘差資料,

圖3-4 宏塊中殘差塊的掃描順序

·幀間編碼宏塊的預測

幀間預測是從已經編碼過的一幀或者幾幀得到的,它是在參考幀采樣點平面上進行平移(運動補償預測),相對于以前的視頻標準,H.264支持更多種的塊的劃分(到4×4大小)和亞像素精度的運動矢量(到1/4像素精度),幀內編碼的每個塊都是由參考幀中相同大小的的區域預測得到的,它們間的偏移量就是運動矢量,因為參考幀本身不可能有亞像素采樣點,所以需要利用附近的像素內插產生亞像素的采樣點,圖3-5解釋了它的內插程序,

圖3-5 亞像素點產生示意圖

半像素點的插值分別由水平和垂直方向的6階的FIR濾波器產生,1/4像素點在整數像素點和半像素點上進行插值,

3.6 H.264的變換演算法

H.264中的整型變換方式主要有3種:4*4殘差變換,4*4亮度DC系數變換(16*16幀內模式下),2*2色度DC系數變換,H.264協議中的量化采用分級量化原理,H.264的變換和量化如圖3.6所示,

圖3-6 H.264變換與量化

·H.264的4*4殘留變換

4*4殘留變換及圖3-7所示的4*4變換1,它是以下式為變換核的整形變換,二維整型變換通常可以分解為一維的形式,先進行4行一維整數變換,再進行4列一維整數變換,一維整數變換公式為:

一維反變換公式:

式中A,B,C,D表示變換系數;a,b,e,d表示輸入象素;al,bl,cl,dl表示恢復系數,對上式分析可知,變換的系數均為整數,這樣通過移位,加減就可以實作其演算法,

圖3-7 整型正變換蝶形圖

·H.264亮度直流系數變換

當宏塊的編碼在16*6l幀內模式下,此時整個16*16塊的亮度分量是由相鄰象素點預測得到,宏塊的16個4*4塊的直流分量組成一個4X4直流系數矩陣Xl,這個矩陣的變換采用離散哈達馬變換(DiscretelldamaardTransform,DHT),如圖所示4*4變換2,

正向變換公式:

反變換公式:

式中ZD是幾量化后的矩陣,XQD經反量化可以得到.在幀內編碼的宏塊里,大多數的能量都集中在直流系數上,這種變換有利于進一步壓縮4*4的亮度直流信號的相關性,

本課題,我們除錯的JM7.3版本,首先下載并解壓JM測驗模型,在子目錄在新建一個mybin的檔案夾,把bin的檔案拷入mybin的檔案里:

圖4-1 JM檔案夾中所包含的檔案

打開工程檔案jm.dsw.進入VC界面,

在file選擇new,新建一個myencoder.cfg(在lend工程下)在路徑下選擇mybin檔案路徑.確定,

圖4-2 打開工程

這時在lendcod files下的Header Files下多了一個myencoder.cfg..電擊encoder.cfg在右邊出現的批配置,

.

圖4-3 引陣列態檔

在lendcod files下的Header Files下的configfile.h檔案的

#define DEFAULTCONFIGFILENAME “encoder.cfg”

改為

#define DEFAULTCONFIGFILENAME “myencoder.cfg”

然后在選中lencod files 在工程的選單下setting的DEBUG設定如圖引數設定:

圖4-4 設定界面

然后編譯,若要修改某個引數,可直接在myencoder.cfg中修改,比如YUV檔案,設定檔案的安放路徑為E:\視頻編碼的其他版本\JM路徑下的dancer_cif_ori90.yuv,我們在myencoder.cfg中InputFile = “E:\視頻編碼的其他版本\JM\dancer_cif_ori90.yuv”

4.2 H.264解碼器庫檔案的使用方法

·介面函式資訊

1.void JVT_init(struct inp_par*input,struct img_par*img,

StorablePicture*dec_picture,char*filename);

功能:解碼器的初始化,

引數資訊:struct inp_par*input――――配置資訊引數

struct img_par*img――――影像資訊引數

StorablePicture*dec_picture――――解碼后的影像序列

Char*filename――――輸入的H.264檔案的檔案名

2.void JVT_dec(struct inp_par*input,struct img_par*img,

NALU_t*nalu,int*current_header);

功能:解碼第i幀,

引數資訊:struct inp_par*input――――配置資訊引數

struct img_par*img――――影像資訊引數

NALU_t*nalu――――指向nalu單元的指標

int*current_header――――幀頭資訊

3.void JVT_free(struct inp_par*input,struct img_par*img,

ColocatedParams*Co_located);

功能:銷毀解碼器,釋放資源,

引數資訊:struct inp_par*input――――配置資訊引數

struct img_par*img――――影像資訊引數

ColocatedParams*Co_located――――存盤單元分配引數

4.NALU_t*AllocNALU(int buffersize);

功能:分配NALU單元,

引數資訊:int buffersize――――單元大小

5.void FreeNALU(NALU_t*n);

功能:釋放NALU單元,

引數資訊:NALU_t*n――――NALU單元地址

6.void CloseBitstreamFile();

功能:關閉檔案,

由于jm進行編碼的是都是YUV檔案,所以我們首先下載一個YUV播放器,

圖4-5 YUV播放器

該播放器是由VC開發的,是一個WINDOWS下的播放器,它可以播放YUV,m4u和264多種格式的視頻檔案,可以同時打開多個視窗,可以單幀和連續播放視頻,為了便于對不同格式影像的主觀質量進行比較還加入了影像放大功能,

其具有VideoPlayer的播放部分和解碼部分分開處理,解碼部分采用單獨的解碼庫delib.lib和libxvidcore.lib分別解碼MPEG-4和H.264格式的視頻檔案等功能,

4.3 JM程式除錯

我們首先運行JM程式,得到如下的結果,

圖4-6 JM運行結果

由此可知,輸入的視頻檔案為foreman_part_qcif.yuv,輸出檔案有四個,且其中輸出的播放檔案是test_rec.yuv,我們首先來波形兩個檔案,來主管的對比效果,

圖4-7 H.264壓縮前后效果對比

下面我們對進行H.264壓縮前后其信噪比進行分析,

圖4-8 H.264信噪比分析

通過仿真,我們可以發現,當位元率越大的時候,信噪比就越大,

以前av資訊被看作純粹的資料,編碼時沒有結合自身包含的內容,例如視頻序列被認為是象素的組合,MPEG4采用了物件的概念,不同的資料源被視作不同的物件,分別編碼,資料的接收者不再是被動的,他可以對不同的物件進行自己的操作:洗掉、添加、移動等,語音、影像、視頻等可以作為單獨存在的物件,也可以集合成一個更高層的物件,我們稱之為場景,MPEG4在編碼前首先要對視頻序列進行分析和理解以提取目標,

一幅復雜的畫面就由這些可操作的原始目標組成,如果對這些目標分別進行編碼 ,最終用戶便可以自由地操縱這些原始目標 (如目標的坐標 ,視點 ,影片等 ),還可得到一些原始目標的資訊,

優點:

不同物件的獨立編碼可以取得較高的壓縮性能,如背景采用壓縮比較高、損失較大的辦法編碼,運動物體采用壓縮比較低、損失較小的辦法,在壓縮效率與解碼質量間得到較好的平衡,同時也帶來在終端處可以操縱內容的能力,而傳統的壓縮方法是基于幀、基于塊的 ,壓縮性能不高且無法對物件進行操作,MPEG4中的物件操作使得用戶可以在用戶端直接將不同物件進行拼接 ,得到用戶自己合成的影像,這在傳統方法中是無法直接實作的,

對比MPEG4和H.264其信號噪比如下所示:

圖4-9 H.264和MPEG4信噪比分析

從上圖分析,H.264的編碼性能由于MPEG4新能,且當位元率越大的時候,性能優勢更大,

  TML-8為H.264的測驗模式,用它來對H.264的視頻編碼效率進行比較和測驗,測驗結果所提供的PSNR已清楚地表明,相對于MPEG-4(ASP:Advanced Simple Profile)和H.263++(HLP:High Latency Profile)的性能,H.264的結果具有明顯的優越性,

  H.264的PSNR比MPEG-4(ASP)和H.263++(HLP)明顯要好,在6種速率的對比測驗中,H.264的PSNR比MPEG-4(ASP)平均要高2dB,比H.263(HLP)平均要高3dB,6個測驗速率及其相關的條件分別為:32 kbit/s速率、10f/s幀率和QCIF格式;64 kbit/s速率、15f/s幀率和QCIF格式;128kbit/s速率、15f/s幀率和CIF格式;256kbit/s速率、15f/s幀率和QCIF格式;512 kbit/s速率、30f/s幀率和CIF格式;1024 kbit/s速率、30f/s幀率和CIF格式,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/121296.html

標籤:其他

上一篇:流媒體協議轉換服務

下一篇:【Microstation】第一章:Microstation三維模型構建概述

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more