System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及數(shù)字視頻壓縮領(lǐng)域,特別地,涉及一種適合硬件實(shí)現(xiàn)的碼率估計(jì)方法。
技術(shù)介紹
1、視頻壓縮的目標(biāo)為在保證視頻質(zhì)量的前提下盡量降低視頻流的壓縮碼率,但編碼輸出的碼率和壓縮后的失真度這兩者之間的關(guān)系是相互制約和矛盾的,比如降低比特率往往會(huì)增加視頻的失真度,相反想要獲得更好的視頻質(zhì)量,又會(huì)提高視頻的編碼比特率,因此編碼器常使用基于率失真理論的編碼參數(shù)優(yōu)化方法來(lái)平衡視頻質(zhì)量和壓縮碼率。
2、基于率失真優(yōu)化的模式判決就是,計(jì)算包括失真和碼率的拉格朗日代價(jià),選擇代價(jià)最小的模式作為最后的編碼模式。代價(jià)公式如下:
3、
4、其中,表示不同編碼模式的失真distortion,表示拉格朗日因子,表示采用不同編碼模式消耗的比特?cái)?shù)。
5、率失真優(yōu)化公式中的碼率一般采用碼率估計(jì)方法計(jì)算得到,現(xiàn)有成果中,主要有兩種思路:一種是基于統(tǒng)計(jì)的方法,根據(jù)系數(shù)矩陣的數(shù)學(xué)特性擬合其輸出碼率的大小,不經(jīng)過具體的熵編碼環(huán)節(jié);另一種是基于cabac,設(shè)計(jì)算法優(yōu)化熵編碼的中間環(huán)節(jié),或者在硬件中進(jìn)行合理展開來(lái)減小上下文數(shù)據(jù)依賴[1]。文獻(xiàn)[2]認(rèn)為自信息與系數(shù)矩陣中系數(shù)幅值和位置有關(guān),提出使用自信息對(duì)碼率進(jìn)行擬合,但是在計(jì)算概率密度函數(shù)時(shí)使用了如指數(shù)函數(shù)等一系列復(fù)雜的運(yùn)算,不利于硬件實(shí)現(xiàn)。文獻(xiàn)[3]通過對(duì)cabac過程的簡(jiǎn)化來(lái)加速碼率的估計(jì),它使用線性回歸的方法來(lái)代替cabac過程中的算術(shù)編碼步驟,經(jīng)過這種簡(jiǎn)化后,碼率估計(jì)時(shí)僅僅需要進(jìn)行二值化以及上下文索引更新。但是該方法會(huì)帶來(lái)不小的誤差,最終會(huì)降低編碼效率。
7、svac3.0參考軟件的編碼器采用率失真優(yōu)化公式對(duì)不同編碼參數(shù)進(jìn)行判決,計(jì)算不同編碼模式消耗的比特?cái)?shù)碼率時(shí),進(jìn)行了完整的cabac熵編碼來(lái)計(jì)算碼率,包括二值化、構(gòu)建上下文概率模型、二進(jìn)制算術(shù)編碼。具體地,一個(gè)樹形編碼單元(ctu)完整的基于上下文自適應(yīng)的二進(jìn)制算術(shù)編碼(cabac熵編碼)過程如下:樹形編碼單元(ctu)編碼開始,首先,確定要編碼的語(yǔ)法元素,將其二值化得到bin(語(yǔ)法元素二值化之后的二進(jìn)制序列值):對(duì)需要編碼的語(yǔ)法元素進(jìn)行二值化,得到二值化后的一連串bin值;然后,對(duì)二值化后的bin進(jìn)行上下文建模:構(gòu)建該語(yǔ)法元素對(duì)應(yīng)的上下文概率模型,包括上下文概率模型的重新加載,更新,以及保存;最后,對(duì)所有的bin進(jìn)行熵編碼:將該語(yǔ)法元素對(duì)應(yīng)的bin值和上下文模型輸入給二進(jìn)制算術(shù)編碼器引擎進(jìn)行熵編碼,若當(dāng)前樹形編碼單元(ctu)編碼完成,則樹形編碼單元(ctu)編碼結(jié)束,輸出碼流,若當(dāng)前樹形編碼單元(ctu)編碼沒有完成(即,否)則回到樹形編碼單元(ctu)編碼重新開始。
8、構(gòu)建上下文概率模型過程中,需要對(duì)上下文概率模型進(jìn)行更新,常用的更新方法是逐bin進(jìn)行上下文概率模型更新,使用同一個(gè)上下文概率模型的bin需要等上下文概率模型更新后才能獲得其正確的上下文概率模型,這是一個(gè)串行的過程,編碼當(dāng)前bin使用的上下文概率模型需要等前一個(gè)bin編碼并更新其上下文概率模型后才能獲得。
9、因此,現(xiàn)有技術(shù)中存在的主要問題以解決問題的難度是:這種上下文概率模型更新方法存在數(shù)據(jù)依賴,且計(jì)算復(fù)雜耗時(shí),引入了較長(zhǎng)的關(guān)鍵路徑,不利于硬件并行流水以及硬件實(shí)現(xiàn)。
10、解決現(xiàn)有技術(shù)問題的意義為:尋找一種適合硬件實(shí)現(xiàn)的碼率估計(jì)方法,降低硬件產(chǎn)品的面積和功耗,利于硬件實(shí)現(xiàn)。
技術(shù)實(shí)現(xiàn)思路
1、本專利技術(shù)提供了一種適合硬件實(shí)現(xiàn)的碼率估計(jì)方法,對(duì)上述cabac熵編碼過程中的“二值化后的bin進(jìn)行上下文建模”模塊進(jìn)行優(yōu)化,提出一種算法及硬件流水線結(jié)構(gòu),以縮短用熵編碼算法來(lái)估計(jì)消耗的比特?cái)?shù)碼率過程的時(shí)間,降低硬件產(chǎn)品的面積和功耗,利于硬件實(shí)現(xiàn)。
2、本專利技術(shù)的技術(shù)方案如下:
3、本專利技術(shù)的適合硬件實(shí)現(xiàn)的碼率估計(jì)方法,包括以下步驟:s1.優(yōu)化上下文概率模型;s2.?單獨(dú)設(shè)計(jì)一個(gè)比特處理單元(bpu)用于更新并保存上下文模型值;s3.?對(duì)硬件實(shí)現(xiàn)的熵編碼過程進(jìn)行硬件化設(shè)計(jì)。
4、可選地,在上述適合硬件實(shí)現(xiàn)的碼率估計(jì)方法中,在步驟s1中,針對(duì)逐bin更新上下文概率模型這種數(shù)據(jù)依賴,設(shè)計(jì)一種優(yōu)化算法,編碼完一個(gè)樹形編碼單元(ctu)再更新上下文概率模型,優(yōu)化后的上下文概率模型的更新步驟,包括:1)一副圖像開始,初始化需要進(jìn)行熵編碼的每一個(gè)語(yǔ)法元素上下文模型值(context?model值),并且在對(duì)第一個(gè)樹形編碼單元(ctu)進(jìn)行率失真優(yōu)化(rdo)之前,保存初始化的context?model值,供第一個(gè)樹形編碼單元(ctu)進(jìn)行率失真優(yōu)化(rdo)時(shí)使用;2)?在對(duì)樹形編碼單元(ctu)進(jìn)行率失真優(yōu)化(rdo)過程中,保存語(yǔ)法元素每個(gè)二值化bin值及其對(duì)應(yīng)的上下文模型的序號(hào)contextid;需要估計(jì)碼率時(shí),獲取contextid,以及要編碼的二值化bin值,在第一個(gè)進(jìn)行熵編碼的語(yǔ)法元素的上下文模型值基礎(chǔ)上加上contextid,此時(shí)不再逐bin更新上下文模型值,依靠contextid即可定位bin對(duì)應(yīng)的上下文模型,將上下文模型值和二值化bin值送進(jìn)熵編碼器,通過查詢碼率表格,獲得消耗的比特?cái)?shù)碼率;3)對(duì)樹形編碼單元(ctu)進(jìn)行率失真優(yōu)化(rdo)完之后,對(duì)該樹形編碼單元(ctu)再進(jìn)行一次完整的上下文模型一致性編碼,上下文模型的值會(huì)一直逐bin更新,僅僅該樹形編碼單元(ctu)熵編碼完成之后保存一次上下文模型的值,供下一個(gè)樹形編碼單元(ctu)進(jìn)行率失真優(yōu)化(rdo)使用,即下一個(gè)樹形編碼單元(ctu)進(jìn)行rdo;4)重復(fù)步驟2)~3),對(duì)每個(gè)樹形編碼單元(ctu)進(jìn)行率失真優(yōu)化(rdo),直至一副圖像結(jié)束,即整幅圖像所有的樹形編碼單元(ctu)都完成率失真優(yōu)化(rdo)。
5、可選地,在上述適合硬件實(shí)現(xiàn)的碼率估計(jì)方法中,在步驟s2中,在上述適合硬件實(shí)現(xiàn)的碼率估計(jì)方法中,在對(duì)樹形編碼單元(ctu)的上下文模型進(jìn)行連續(xù)一致性編碼時(shí),單獨(dú)設(shè)計(jì)一個(gè)比特處理單元(bpu),專門用來(lái)更新并保存上下文模型值。
6、可選地,在上述適合硬件實(shí)現(xiàn)的碼率估計(jì)方法中,在步驟s3中,將適合硬件實(shí)現(xiàn)的碼率估計(jì)方法嵌入到整個(gè)熵編碼流程中,形成新的熵編碼硬件架構(gòu)圖。
7、可選地,在上述適合硬件實(shí)現(xiàn)的碼率估計(jì)方法中,熵編碼硬件架構(gòu)圖從輸入數(shù)據(jù)到輸出碼流包括:1)準(zhǔn)備語(yǔ)法元素及初始化上下文模型模塊包括使用狀態(tài)機(jī)來(lái)控制各個(gè)語(yǔ)法元素輸入的順序邏輯:2)二值化模塊將輸入的語(yǔ)法元素通過特定的編碼方式得到二進(jìn)制串bin,設(shè)計(jì)使用四個(gè)二值化計(jì)算本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種適合硬件實(shí)現(xiàn)的碼率估計(jì)方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的適合硬件實(shí)現(xiàn)的碼率估計(jì)方法,其特征在于,在步驟S1中,針對(duì)逐bin更新所述上下文概率模型這種數(shù)據(jù)依賴,設(shè)計(jì)一種優(yōu)化算法,編碼完一個(gè)樹形編碼單元(CTU)再更新所述上下文概率模型,優(yōu)化后的所述上下文概率模型的更新步驟,包括:
3.根據(jù)權(quán)利要求2所述的適合硬件實(shí)現(xiàn)的碼率估計(jì)方法,其特征在于,在步驟S2中,在對(duì)所述樹形編碼單元(CTU)的上下文模型進(jìn)行連續(xù)一致性編碼時(shí),單獨(dú)設(shè)計(jì)一個(gè)比特處理單元(BPU),專門用來(lái)更新并保存上下文模型值。
4.根據(jù)權(quán)利要求1所述的適合硬件實(shí)現(xiàn)的碼率估計(jì)方法,其特征在于,在步驟S3中,將所述適合硬件實(shí)現(xiàn)的碼率估計(jì)方法嵌入到整個(gè)熵編碼流程中,形成新的熵編碼硬件架構(gòu)圖。
5.根據(jù)權(quán)利要求4所述的適合硬件實(shí)現(xiàn)的碼率估計(jì)方法,其特征在于,所述熵編碼硬件架構(gòu)圖從輸入數(shù)據(jù)到輸出碼流包括:
【技術(shù)特征摘要】
1.一種適合硬件實(shí)現(xiàn)的碼率估計(jì)方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的適合硬件實(shí)現(xiàn)的碼率估計(jì)方法,其特征在于,在步驟s1中,針對(duì)逐bin更新所述上下文概率模型這種數(shù)據(jù)依賴,設(shè)計(jì)一種優(yōu)化算法,編碼完一個(gè)樹形編碼單元(ctu)再更新所述上下文概率模型,優(yōu)化后的所述上下文概率模型的更新步驟,包括:
3.根據(jù)權(quán)利要求2所述的適合硬件實(shí)現(xiàn)的碼率估計(jì)方法,其特征在于,在步驟s2中,在對(duì)所述...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:陳德凱,龍仕強(qiáng),陳智敏,鄧嚴(yán)萍,
申請(qǐng)(專利權(quán))人:廣東博華超高清創(chuàng)新中心有限公司,
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。