欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種視頻編碼方法及裝置與流程

文檔序號:11235192閱讀:498來源:國知局
一種視頻編碼方法及裝置與流程

本發(fā)明涉及視頻編解碼技術(shù)領(lǐng)域,尤其涉及一種視頻編碼方法及裝置。



背景技術(shù):

視頻數(shù)據(jù)的數(shù)據(jù)量比較大,在傳輸過程中會受到網(wǎng)絡(luò)傳輸上限值等的外界環(huán)境條件的限制,所以通常需要對其進行編碼,編碼后的數(shù)據(jù)稱之為視頻碼流,視頻碼流通過有線或者無線網(wǎng)絡(luò)的方式傳輸?shù)接脩舳?,再進行解碼觀看。

現(xiàn)有的視頻編碼方法為將roi(regionofinterest,感興趣區(qū)域)模型和jnd(justnoticeabledifference,恰可察覺失真)模型結(jié)合來完成視頻編碼的,具體過程是圖像采集設(shè)備根據(jù)roi模型將視頻圖像分為背景部分、邊緣部分和感興趣區(qū)域部分,對各部分進行分級量化,然后根據(jù)由jnd模型得到像素級的jnd值,對屬于感興趣區(qū)域的宏塊再進行分級量化,根據(jù)jnd模型和roi模型相結(jié)合的分級量化結(jié)果進行視頻編碼。由于使用roi模型和jnd模型兩種模型的結(jié)合,使得在編碼過程中算法的復(fù)雜度增加,影響了編碼的實時性,另外,使用的jnd模型得到的jnd值是像素級的jnd值,也增加了編碼的耗時。



技術(shù)實現(xiàn)要素:

本發(fā)明提供一種視頻編碼方法及裝置,用以解決現(xiàn)有技術(shù)中存在的視頻編碼過程中編碼耗時較長的問題。

為了解決上述問題,本發(fā)明提供了一種視頻編碼方法,所述方法包括:

根據(jù)待編碼的視頻圖像中的每個宏塊,將每個宏塊劃分為設(shè)定數(shù)量個子宏塊,其中每個子宏塊包括至少兩個像素點;

根據(jù)預(yù)先保存的恰可察覺失真jnd算法,計算每個子宏塊的jnd值;根據(jù)每個子宏塊的jnd值,確定每個宏塊的jnd值;

根據(jù)每個宏塊的jnd值及預(yù)先保存的權(quán)重因子算法,計算每個宏塊的權(quán)重值;根據(jù)每個宏塊的權(quán)重值,每個宏塊的初始量化參數(shù)qp值及預(yù)設(shè)的間隔qp算法,確定每個宏塊的間隔qp值;根據(jù)每個宏塊的初始qp值和/或每個宏塊的間隔qp值,確定每個宏塊的目標(biāo)qp值,并根據(jù)每個宏塊的目標(biāo)qp值進行編碼。

進一步地,所述根據(jù)每個宏塊的jnd值及預(yù)先保存的權(quán)重因子算法,計算每個宏塊的權(quán)重值包括:

根據(jù)每個宏塊的jnd值,確定所述視頻圖像的平均jnd值;

針對每個宏塊的jnd值,所述視頻圖像的平均jnd值,以及公式確定每個宏塊的權(quán)重值,其中,所述為第i個宏塊的權(quán)重值,a,b,c均為常系數(shù),exp為以自然常數(shù)e為底的指數(shù)函數(shù),為第i個宏塊的jnd值,stjndframe為所述視頻圖像的平均jnd值。

進一步地,所述根據(jù)每個宏塊的jnd值及預(yù)先保存的權(quán)重因子算法,計算每個宏塊的權(quán)重值后,在所述根據(jù)每個宏塊的權(quán)重值,每個宏塊的初始量化參數(shù)qp值及預(yù)設(shè)的間隔qp算法,確定每個宏塊的間隔qp值之前,所述方法還包括:

根據(jù)每個宏塊的jnd值,查找jnd值最小的宏塊;

根據(jù)每個宏塊的jnd值,確定所述jnd值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系;

將所述jnd值最小的宏塊的權(quán)重值更新為第一權(quán)重值,根據(jù)更新后的第一權(quán)重值,及確定的所述所述jnd值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系,更新其他宏塊的權(quán)重值,其中所述第一權(quán)重值不小于1。

進一步地,所述根據(jù)每個宏塊的權(quán)重值,每個宏塊的初始qp值及預(yù)設(shè)的間隔qp算法,確定每個宏塊的間隔qp值包括:

根據(jù)公式確定每個宏塊對應(yīng)的間隔qp值,其中,deltaqp為當(dāng)前第i個宏塊的間隔qp值,qporig為該第i個宏塊的初始qp值,為當(dāng)前第i個宏塊的權(quán)重值,d為常系數(shù)。

進一步地,所述根據(jù)每個宏塊的初始qp值和/或每個宏塊的間隔qp值,確定每個宏塊的目標(biāo)qp值包括:

針對每個宏塊,判斷該宏塊的初始qp值位于預(yù)設(shè)的第一初始范圍區(qū)間,將所述初始qp值確定為該宏塊的目標(biāo)qp值;

如果該宏塊的間隔qp值位于預(yù)設(shè)的第一區(qū)間,且所述初始qp值位于預(yù)設(shè)的第二初始范圍區(qū)間,則將預(yù)設(shè)的第一qp增值和所述初始qp值的和確定為該宏塊的目標(biāo)qp值;

如果所述間隔qp值位于預(yù)設(shè)的第二區(qū)間,且所述初始qp值位于預(yù)設(shè)的第三初始范圍區(qū)間,則將預(yù)設(shè)的第二qp增值和所述初始qp值的和,確定該宏塊的目標(biāo)qp值;

如果所述間隔qp值位于預(yù)設(shè)的第三區(qū)間,且所述初始qp值位于預(yù)設(shè)的第四初始范圍區(qū)間,則將預(yù)設(shè)的第三qp增值和所述初始qp值的和,確定該宏塊的目標(biāo)qp值;

否則,則將所述間隔qp值和所述初始qp值的和,確定該宏塊的目標(biāo)qp值;

其中所述第一區(qū)間、所述第二區(qū)間和所述第三區(qū)間不重疊,所述第一初始范圍區(qū)間、所述第二初始范圍區(qū)間、所述第三初始范圍區(qū)間和所述第四初始范圍區(qū)間不重疊,所述第三qp增值大于所述第二qp增值,且所述第二qp增值大于所述第一間隔qp增值。

本發(fā)明提供了一種視頻編碼裝置,所述方法包括:該裝置包括:

恰可察覺失真jnd值計算模塊,用于根據(jù)待編碼的視頻圖像中的每個宏塊,將每個宏塊劃分為設(shè)定數(shù)量個子宏塊,其中每個子宏塊包括至少兩個像素點;根據(jù)預(yù)先保存的jnd算法,計算每個子宏塊的jnd值;根據(jù)每個子宏塊的jnd值,確定每個宏塊的jnd值;

權(quán)重計算模塊,用于根據(jù)每個宏塊的jnd值及預(yù)先保存的權(quán)重因子算法,計算每個宏塊的權(quán)重值;

量化參數(shù)qp值確定模塊,用于根據(jù)每個宏塊的權(quán)重值,每個宏塊的qp值及預(yù)設(shè)的間隔qp算法,確定每個宏塊的間隔qp值;根據(jù)每個宏塊的初始qp值和/或每個宏塊的間隔qp值,確定每個宏塊的目標(biāo)qp值;

視頻編碼模塊,用于根據(jù)每個宏塊的目標(biāo)qp值進行編碼。

進一步地,所述權(quán)重計算模塊,具體用于根據(jù)每個宏塊的jnd值,確定所述視頻圖像的平均jnd值;針對每個宏塊的jnd值,所述視頻圖像的平均jnd值,以及公式確定每個宏塊的權(quán)重值,其中,所述為第i個宏塊的權(quán)重值,a,b,c均為常系數(shù),exp為以自然常數(shù)e為底的指數(shù)函數(shù),為第i個宏塊的jnd值,stjndframe為所述視頻圖像的平均jnd值。

進一步地,所述裝置還包括:

權(quán)重更新模塊,用于根據(jù)每個宏塊的jnd值,查找jnd值最小的宏塊;根據(jù)每個宏塊的jnd值,確定所述jnd值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系;將所述jnd值最小的宏塊的權(quán)重值更新為第一權(quán)重值,根據(jù)更新后的第一權(quán)重值,及確定的所述所述jnd值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系,更新其他宏塊的權(quán)重值,其中所述第一權(quán)重值不小于1。

進一步地,所述qp值確定模塊,具體用于根據(jù)公式確定每個宏塊對應(yīng)的間隔qp值,其中,deltaqp為當(dāng)前第i個宏塊的間隔qp值,qporig為該第i個宏塊的初始qp值,為當(dāng)前第i個宏塊的權(quán)重值,d為常系數(shù)。

進一步地,所述qp值確定模塊,具體用于針對每個宏塊,判斷該宏塊的初始qp值位于預(yù)設(shè)的第一初始范圍區(qū)間,將所述初始qp值確定為該宏塊的目標(biāo)qp值;如果所述宏塊的間隔qp值位于預(yù)設(shè)的第一區(qū)間,且所述初始qp值位于預(yù)設(shè)的第二初始范圍區(qū)間,則將預(yù)設(shè)的第一qp增值和所述初始qp值的和確定為該宏塊的目標(biāo)qp值;如果所述宏塊的間隔qp值位于預(yù)設(shè)的第二區(qū)間,且所述初始qp值位于預(yù)設(shè)的第三初始范圍區(qū)間,則將預(yù)設(shè)的第二qp增值和所述初始qp值的和,確定該宏塊的目標(biāo)qp值;如果所述宏塊的間隔qp值位于預(yù)設(shè)的第三區(qū)間,且所述初始qp值位于預(yù)設(shè)的第四初始范圍區(qū)間,則將預(yù)設(shè)的第三qp增值和所述初始qp值的和,確定該宏塊的目標(biāo)qp值;否則,則將所述間隔qp值和所述初始qp值的和,確定該宏塊的目標(biāo)qp值;其中所述第一區(qū)間、所述第二區(qū)間和所述第三區(qū)間不重疊,所述第一初始范圍區(qū)間、所述第二初始范圍區(qū)間、所述第三初始范圍區(qū)間和所述第四初始范圍區(qū)間不重疊,所述第三qp增值大于所述第二qp增值,且所述第二qp增值大于所述第一間隔qp增值。

本發(fā)明提供了一種視頻編碼方法及裝置,該方法包括:根據(jù)待編碼的視頻圖像中的每個宏塊,將每個宏塊劃分為設(shè)定數(shù)量個子宏塊,其中每個子宏塊包括至少兩個像素點;根據(jù)預(yù)先保存的jnd算法,計算每個子宏塊的jnd值;根據(jù)每個子宏塊的jnd值,確定每個宏塊的jnd值;根據(jù)每個宏塊的jnd值及預(yù)先保存的權(quán)重因子算法,計算每個宏塊的權(quán)重值;根據(jù)每個宏塊的權(quán)重值,每個宏塊的初始量化參數(shù)qp值及預(yù)設(shè)的間隔qp算法,確定每個宏塊的間隔qp值;根據(jù)每個宏塊的初始qp值和/或每個宏塊的間隔qp值,確定每個宏塊的目標(biāo)qp值,并根據(jù)每個宏塊的目標(biāo)qp值進行編碼。由于本發(fā)明中提供的視頻編碼方法中將每個宏塊劃分為設(shè)定數(shù)量個子宏塊,每個子宏塊包括至少兩個像素點的子宏塊,針對每個子宏塊,采用jnd模型來完成編碼,編碼過程中的復(fù)雜度減小,并且計算量較少,減少了編碼耗時,保證了編碼的實時性。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實施例1提供的一種視頻編碼過程的示意圖;

圖2為本發(fā)明實施例3提供的一種視頻編碼過程的示意圖;

圖3為本發(fā)明實施例6提供的一種視頻編碼過程的示意圖;

圖4為本發(fā)明實施例6提供的一種k為1時用于紋理檢測的高通濾波器的示意圖;

圖5為本發(fā)明實施例6提供的一種k為2時用于紋理檢測的高通濾波器的示意圖;

圖6為本發(fā)明實施例6提供的一種k為3時用于紋理檢測的高通濾波器的示意圖;

圖7為本發(fā)明實施例6提供的一種k為4時用于紋理檢測的高通濾波器的示意圖;

圖8為本發(fā)明實施例6提供的一種帶權(quán)低通濾波器的示意圖;

圖9為本發(fā)明實施例提供的一種視頻編碼裝置的結(jié)構(gòu)圖。

具體實施方式

為了減少編碼過程中的編碼耗時,保證編碼的實時性,本發(fā)明實施例中提供了一種視頻編碼方法及裝置。

為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖本發(fā)明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

實施例1:

圖1為本發(fā)明實施例提供的一種視頻編碼過程的示意圖,該過程包括以下步驟:

s101:根據(jù)待編碼的視頻圖像中的每個宏塊,將每個宏塊劃分為設(shè)定數(shù)量個子宏塊,其中每個子宏塊包括至少兩個像素點。

本發(fā)明實施例提供的視頻編碼方法應(yīng)用于圖像采集設(shè)備,該圖像采集設(shè)備可以為攝像機、攝影機等能夠進行圖像采集的設(shè)備,圖像采集設(shè)備能夠?qū)⒋幋a的視頻圖像中的每個宏塊劃分為設(shè)定數(shù)量個子宏塊,并且每個子宏塊包括至少兩個像素點。

所述待編碼的視頻圖像為視頻中的一幀圖像。

所述圖像采集設(shè)備將每個宏塊劃分為設(shè)定數(shù)量個子宏塊的過程是,按照預(yù)設(shè)的劃分方法進行劃分的。

所述預(yù)設(shè)的劃分方法可以是將每個宏塊劃分成設(shè)定數(shù)量個子宏塊,每個子宏塊的大小可以相同,也可以不同,并且得到的每個子宏塊的形狀可以是規(guī)則的,也可以是不規(guī)則的。

為了方便計算,在本發(fā)明實施例中該預(yù)設(shè)的劃分方法,可以是將每個宏塊劃分為設(shè)定數(shù)量個矩形子宏塊。具體的可以是采用2*2的等分劃分方式,將每個宏塊劃分為4個規(guī)則的矩形子宏塊,可以是采用4*4的等分劃分方式,將每個宏塊劃分為16個規(guī)則的矩形子宏塊,也可以是采用8*8的等分劃分方式,將每個宏塊劃分為64個規(guī)則的矩形子宏塊等。子宏塊劃分的數(shù)量越多,每個子宏塊中包含的像素點越少。

s102:根據(jù)預(yù)先保存的jnd算法,計算每個子宏塊的jnd值;根據(jù)每個子宏塊的jnd值,確定每個宏塊的jnd值。

所述jnd算法可以是像素域jnd模型算法,也可以是變換域jnd模型算法,所述圖像采集設(shè)備中預(yù)先保存有所述jnd算法。

在本發(fā)明實施例中圖像采集設(shè)備中預(yù)先保存的所述jnd算法為像素域jnd模型算法。

所述根據(jù)預(yù)先保存的jnd算法,計算每個子宏塊的jnd值的過程可以是根據(jù)每個子宏塊中包括的每個像素點及每個像素點的像素值,計算每個子宏塊中的每個像素點的像素值的平均值,根據(jù)每個子宏塊的像素值的平均值,及jnd算法,計算每個子宏塊的jnd值。

所述根據(jù)所述每個子宏塊的像素值的平均值,及jnd算法,計算每個子宏塊的jnd值的過程屬于現(xiàn)有技術(shù),在本發(fā)明實施例中對該過程不做贅述。

所述根據(jù)每個子宏塊的jnd值,確定每個宏塊的jnd值的過程可以是針對每個宏塊,在該宏塊的每個子宏塊的jnd值,按照預(yù)設(shè)的選擇規(guī)則,選擇一個子宏塊的jnd作為該宏塊的jnd值,也可以是將該宏塊的每個子宏塊的jnd值確定的平均值作為該宏塊的jnd值等,所述預(yù)設(shè)的選擇規(guī)則可以是選擇該宏塊的每個子宏塊的jnd值中的最大jnd值,也可以是選擇該宏塊的每個子宏塊的jnd值中的最小jnd值等。

s103:根據(jù)每個宏塊的jnd值及預(yù)先保存的權(quán)重因子算法,計算每個宏塊的權(quán)重值;根據(jù)每個宏塊的權(quán)重值,每個宏塊的初始qp(quantizationparameter,量化參數(shù))值及預(yù)設(shè)的間隔qp算法,確定每個宏塊的間隔qp值;根據(jù)每個宏塊的初始qp值和/或每個宏塊的間隔qp值,確定每個宏塊的目標(biāo)qp值,并根據(jù)每個宏塊的目標(biāo)qp值進行編碼。

圖像采集設(shè)備中預(yù)先保存有權(quán)重因子算法,圖像采集設(shè)備可以根據(jù)每個宏塊的jnd值及預(yù)先保存的權(quán)重因子算法,計算每個宏塊的權(quán)重值。

圖像采集設(shè)備中針對每個宏塊,保存有每個宏塊對應(yīng)的初始qp值,其中圖像采集設(shè)備中針對每個宏塊保存的初始qp值可以是相同的,可以是不同的。

所述圖像采集設(shè)備可以根據(jù)每個宏塊的權(quán)重值,每個宏塊的初始qp值及預(yù)設(shè)的間隔qp算法,確定每個宏塊的間隔qp值;根據(jù)每個宏塊的初始qp值和/或每個宏塊的間隔qp值,確定每個宏塊的目標(biāo)qp值。

所述圖像采集設(shè)備根據(jù)每個宏塊的間隔qp值或/和每個宏塊的初始qp值,確定每個宏塊的目標(biāo)qp值的過程可以是,將每個宏塊的初始qp值作為每個宏塊的目標(biāo)qp值,可以是將每個宏塊的間隔qp值與每個宏塊的初始qp值的和作為每個宏塊的目標(biāo)qp值,也可以是根據(jù)每個宏塊的間隔qp值所在的區(qū)間,和每個宏塊的初始qp所在的初始范圍區(qū)間,確定每個宏塊的目標(biāo)qp值等。

所述根據(jù)每個宏塊的目標(biāo)qp值進行編碼為所述圖像采集設(shè)備的主控模塊將待編碼的視頻圖像的每個宏塊,及每個宏塊的目標(biāo)qp值,輸入所述圖像采集設(shè)備的編碼模塊,完成視頻圖像的編碼。

所述圖像采集設(shè)備的主控模塊將待編碼的視頻圖像的每個宏塊,及每個宏塊的目標(biāo)qp值,輸入所述圖像采集設(shè)備的編碼模塊,完成視頻圖像的編碼的過程屬于現(xiàn)有技術(shù),在本發(fā)明實施例中不做贅述。

由于本發(fā)明實施例中提供的視頻編碼方法中將每個宏塊劃分為設(shè)定數(shù)量個子宏塊,每個子宏塊包括至少兩個像素點的子宏塊,針對每個子宏塊及jnd模型來完成編碼,編碼過程中的復(fù)雜度減小,并且計算量較少,減少了編碼耗時,保證了編碼的實時性。

實施例2:

為了進一步提高編碼后的視頻畫面質(zhì)量,在上述實施例的基礎(chǔ)上,本發(fā)明實施例中,所述根據(jù)每個宏塊的jnd值及預(yù)先保存的權(quán)重因子算法,計算每個宏塊的權(quán)重值包括:

根據(jù)每個宏塊的jnd值,確定所述視頻圖像的平均jnd值;

針對每個宏塊的jnd值,所述視頻圖像的平均jnd值,以及公式確定每個宏塊的權(quán)重值,其中,所述為第i個宏塊的權(quán)重值,a,b,c均為常系數(shù),exp為以自然常數(shù)e為底的指數(shù)函數(shù),為第i個宏塊的jnd值,stjndframe為所述視頻圖像的平均jnd值。

視頻圖像的編碼中基于主觀質(zhì)量的編碼的目的是利用已知的人眼視覺系統(tǒng)特性,如對比敏感度、視覺掩蔽效應(yīng)、中央凹特性、運動感知、視覺注意等等,利用人眼敏感度的有限性,最大限度的消除人眼不敏感區(qū)域的信息,用最小的碼率提供視覺感知質(zhì)量較好的視頻畫面。

圖像采集設(shè)備根據(jù)確定的每個宏塊的目標(biāo)qp值,對每個宏塊進行編碼,每個宏塊的目標(biāo)qp值可以直接影響到每個宏塊分配的碼率的多少,每個宏塊的目標(biāo)qp值通常是由每個宏塊的初始qp值與每個宏塊的間隔qp值和確定的,而每個宏塊的間隔qp值是根據(jù)每個宏塊的權(quán)重值和每個宏塊的初始qp值的乘積與每個宏塊的初始qp值的差值確定的,即權(quán)重值減去1后與初始qp值的乘積即為間隔qp值,所以每個宏塊的權(quán)重值的大小一定程度上可以表征每個宏塊的目標(biāo)qp值的大小,從而影響到對每個宏塊分配的碼率的多少。

通常情況下,針對每個宏塊,如果該宏塊的權(quán)重值小于1,則確定的該宏塊的間隔qp值為負,則根據(jù)該宏塊的初始qp值與該宏塊的間隔qp值的和確定的該宏塊的目標(biāo)qp值較小,則表明當(dāng)前宏塊是人眼較為敏感的區(qū)域,需要對該宏塊分配更多的碼率進行編碼,來提高該宏塊對應(yīng)的視頻畫面質(zhì)量,同理如果該宏塊的權(quán)重值不小于1,則確定的該宏塊的間隔qp值為正,則根據(jù)該宏塊的初始qp值與該宏塊的間隔qp值的和確定的該宏塊的目標(biāo)qp值較大,則表明當(dāng)前宏塊是人眼較為不敏感的區(qū)域,可以隱藏更多的失真,使用較少的碼率對該宏塊進行編碼。

在對每個宏塊進行編碼時,針對每個宏塊分配的碼率多少是不同的,而每個宏塊的碼率多少會影響每個宏塊編碼后對應(yīng)的視頻畫面質(zhì)量,由于本發(fā)明實施例中提供的權(quán)重因子算法得到的每個宏塊的權(quán)重值更加準(zhǔn)確,進而因此確定的針對每個宏塊分配的碼率多少也更加準(zhǔn)確,從而進一步提高了編碼后的視頻畫面質(zhì)量。

所述根據(jù)每個宏塊的jnd值,確定所述視頻圖像的平均jnd值的過程屬于現(xiàn)有技術(shù),在本發(fā)明實施例中對該過程不做贅述。

所述a,b,c均為常系數(shù),所述a,b,c可以是0、0.7或3等正數(shù),所述a,b,c任意兩個之間可以相同,可以不同,例如所述a可以是0.7,所述b可以是0.6,所述c可以是4。

由于本發(fā)明實施例中提供的權(quán)重因子算法得到的每個宏塊的權(quán)重值更加準(zhǔn)確,針對每個宏塊分配的碼率多少也更加準(zhǔn)確,從而進一步提高了編碼后的視頻畫面質(zhì)量。

實施例3:

為了進一步降低碼率,在上述各實施例的基礎(chǔ)上,本發(fā)明實施例中,所述根據(jù)每個宏塊的jnd值及預(yù)先保存的權(quán)重因子算法,計算每個宏塊的權(quán)重值后,在所述根據(jù)每個宏塊的權(quán)重值,每個宏塊的初始qp值及預(yù)設(shè)的間隔qp算法,確定每個宏塊的間隔qp值之前,所述方法還包括:

根據(jù)每個宏塊的jnd值,查找jnd值最小的宏塊;

根據(jù)每個宏塊的權(quán)重值,確定所述jnd值最小的宏塊的權(quán)重值和其他宏塊的權(quán)重值的比例關(guān)系;

將所述jnd值最小的宏塊的權(quán)重值更新為第一權(quán)重值,根據(jù)更新后的第一權(quán)重值,及確定的所述所述權(quán)重值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系,更新其他宏塊的權(quán)重值,其中所述第一權(quán)重值不小于1。

視頻的編碼、編碼后視頻碼流的傳輸及對視頻碼流的解碼的整個過程中,由于網(wǎng)絡(luò)傳輸帶寬等外界條件的限制,就需要在不影響用戶主觀觀看質(zhì)量的前提下,使編碼后的視頻碼流對應(yīng)的碼率盡可能的小,從而減少對傳輸帶寬造成的壓力。

通常情況下,針對每個宏塊,如果該宏塊的權(quán)重值小于1,則表明當(dāng)前宏塊是人眼敏感的區(qū)域,需要對該宏塊分配更多的碼率進行編碼,來提高該宏塊對應(yīng)的視頻畫面質(zhì)量,如果該宏塊的權(quán)重值不小于1,則表明當(dāng)前宏塊是人眼不敏感的區(qū)域,可以隱藏更多的失真,使用較少的碼率對該宏塊進行編碼。

由于針對每個宏塊,根據(jù)每個宏塊的jnd值確定的該宏塊的權(quán)重值可能小于1,也可能不小于1,也就是該宏塊可能是人眼敏感區(qū)域,也可能為人眼不敏感區(qū)域,根據(jù)該宏塊的權(quán)重值確定的目標(biāo)qp值,可能會導(dǎo)致最終視頻圖像的碼率上升。因此將jnd值最小的宏塊的權(quán)重值調(diào)整為不小于1的第一權(quán)重值,可以保證其他宏塊的權(quán)重值是大于第一權(quán)重值的,也就是說每個宏塊的權(quán)重值都是不小于1的,根據(jù)每個宏塊的權(quán)重值和每個宏塊的初始qp值的乘積與每個宏塊的間隔qp值的差值,確定的每個宏塊的間隔qp值為正,則根據(jù)每個宏塊的初始qp值與每個宏塊的間隔qp值的和確定的每個宏塊的目標(biāo)qp值相比每個宏塊的初始qp值較大,從而進一步減少碼率。

所述根據(jù)每個宏塊的jnd值,查找jnd值最小的宏塊的過程屬于現(xiàn)有技術(shù),在本發(fā)明實施例中對該過程不做贅述。

圖像采集設(shè)備可以根據(jù)每個宏塊的jnd值,確定所述jnd值最小的宏塊的權(quán)重值和其他宏塊的權(quán)重值的比例關(guān)系。

所述第一權(quán)重值不小于1,例如所述第一權(quán)重值可以為1、3.6或4等,由于每個宏塊是否是人眼敏感區(qū)域是以每個宏塊的權(quán)重值確定,而1是敏感與不敏感的臨界值,所以可以將所述第一權(quán)重值取值為臨界值1,其余宏塊對應(yīng)的權(quán)重值按比例增大,從而根據(jù)調(diào)整后的宏塊的權(quán)重值確定的目標(biāo)qp值也會增大,如此進一步降低碼率。

下面以一個具體的實施例對本發(fā)明實施例進行說明,圖2為本發(fā)明實施例提供的一種視頻編碼過程的示意圖,該過程包括以下步驟:

s201:根據(jù)待編碼的視頻圖像中的每個宏塊,將每個宏塊劃分為設(shè)定數(shù)量個子宏塊,其中每個子宏塊包括至少兩個像素點。

s202:根據(jù)預(yù)先保存的jnd算法,計算每個子宏塊的jnd值;根據(jù)每個子宏塊的jnd值,確定每個宏塊的jnd值。

s203:根據(jù)每個宏塊的jnd值,確定所述視頻圖像的平均jnd值;針對每個宏塊的jnd值,所述視頻圖像的平均jnd值,以及預(yù)先保存的權(quán)重因子算法,確定每個宏塊的權(quán)重值。

s204:根據(jù)每個宏塊的jnd值,查找jnd值最小的宏塊。

s205:根據(jù)每個宏塊的jnd值,確定所述jnd值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系。

s206:將所述jnd值最小的宏塊的權(quán)重值更新為第一權(quán)重值,根據(jù)更新后的第一權(quán)重值,及確定的所述所述jnd值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系,更新其他宏塊的權(quán)重值,其中所述第一權(quán)重值不小于1。

s207:根據(jù)每個宏塊的更新后的權(quán)重值及每個宏塊的初始qp值,確定每個宏塊的目標(biāo)qp值,并根據(jù)每個宏塊的目標(biāo)qp值進行編碼。

由于本發(fā)明實施例中將jnd值最小的宏塊的權(quán)重值調(diào)整為第一權(quán)重值,根據(jù)更新后的第一權(quán)重值,及確定的所述所述權(quán)重值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系,更新其他宏塊的權(quán)重值,可以保證其他宏塊的權(quán)重值是大于第一權(quán)重值的,也就是針對每個宏塊是人眼敏感區(qū)域的編碼不變,減少人眼不敏感區(qū)域的碼率,從而進一步減少碼率。

實施例4:

為了進一步提高編碼后的視頻畫面質(zhì)量,在上述各實施例的基礎(chǔ)上,本發(fā)明實施例中,所述根據(jù)每個宏塊的權(quán)重值,每個宏塊的初始qp值及預(yù)設(shè)的間隔qp算法,確定每個宏塊的間隔qp值包括:

根據(jù)公式確定每個宏塊對應(yīng)的間隔qp值,其中,deltaqp為當(dāng)前第i個宏塊的間隔qp值,qporig為該第i個宏塊的初始qp值,為當(dāng)前第i個宏塊的權(quán)重值,d為常系數(shù)。

編碼后的視頻碼流的大小與編碼器在編碼過程中設(shè)置的參數(shù)值有關(guān),需要設(shè)置的參數(shù)包括模式、運動信息、qp等。設(shè)置的參數(shù)值的不同會對視頻碼流的碼率產(chǎn)生非常重要的影響。在這些參數(shù)中,qp控制的是有損量化處理過程中損失數(shù)據(jù)量的大小,對視頻碼流的碼率的大小有直接的影響。當(dāng)其他設(shè)置的參數(shù)值都確定的情況下,qp的大小直接決定了編碼后的視頻畫面質(zhì)量及視頻畫面的碼率大小。本發(fā)明實施例描述的是在其他參數(shù)值確定的情況,如何根據(jù)每個宏塊的jnd值,確定每個宏塊的目標(biāo)qp值,從而在保證視頻畫面質(zhì)量的情況下,減小視頻畫面的碼率大小的實現(xiàn)方案。

圖像采集設(shè)備根據(jù)確定的每個宏塊的目標(biāo)qp值,對每個宏塊進行編碼,每個宏塊的目標(biāo)qp值可以直接影響到每個宏塊分配的碼率的多少,每個宏塊的目標(biāo)qp值通常是由每個宏塊的初始qp值與每個宏塊的間隔qp值和確定的,而每個宏塊的間隔qp值是根據(jù)每個宏塊的權(quán)重值和每個宏塊的初始qp值的乘積與每個宏塊的初始qp值的差值確定的,所以每個宏塊的權(quán)重值的大小一定程度上可以表征每個宏塊的目標(biāo)qp值的大小,從而影響到對每個宏塊分配的碼率的多少。

因此,每個宏塊的權(quán)重值與每個宏塊的初始qp值相乘后,確定的每個宏塊的間隔qp值會隨著初始qp值的增大而增大,從而使得根據(jù)每個宏塊的初始qp值和/或每個宏塊的間隔qp值確定的每個宏塊的目標(biāo)qp值增大。因為qp控制的是有損量化處理過程中損失數(shù)據(jù)量的大小,所以針對每個宏塊來說,該宏塊目標(biāo)qp的增大會導(dǎo)致編碼后該宏塊對應(yīng)的視頻畫面質(zhì)量變差,由此可得,如果宏塊的間隔qp值較大,就會導(dǎo)致該宏塊對應(yīng)的視頻畫面質(zhì)量較差。在本發(fā)明實施例中使每個宏塊的初始qp值較大時,減小每個宏塊的間隔qp值;每個宏塊的初始qp值較小時,增大每個宏塊的間隔qp值。這是因為在初始qp值較小時,即使間隔qp值稍大,視頻畫面質(zhì)量的變化也不會特別明顯,不影響用戶主觀觀看質(zhì)量,而初始qp較大時,畫面質(zhì)量本身就不夠好,若間隔qp也比較大,畫面質(zhì)量會受到更大影響。通過上述調(diào)整,進一步地提高了編碼后的視頻畫面質(zhì)量。

圖像采集設(shè)備在根據(jù)每個宏塊的權(quán)重值,每個宏塊的初始qp值及預(yù)設(shè)的間隔qp值算法,確定每個宏塊的間隔qp值的過程中可以是根據(jù)公式確定的,其中所述d為常系數(shù),所述d的取值可以確定在初始qp值較小時,間隔qp值的增大程度,以及在初始qp值較大時,間隔qp值的減小程度,由于圖像采集設(shè)備的編碼模塊在對視頻圖像進行編碼時,每個宏塊的目標(biāo)qp值的范圍是0~51,所以可以將d賦值為51,以保證根據(jù)初始qp值確定的間隔qp值,對視頻畫面質(zhì)量的影響程度不會特別明顯。

針對每個宏塊,確定該宏塊的間隔qp值可以是根據(jù)該宏塊計算得到的權(quán)重值直接確定的,也可以是根據(jù)該宏塊更新后的權(quán)重值確定的。如果該宏塊的間隔qp值根據(jù)該宏塊更新后的權(quán)重值確定的,則所述在公式中可以用來替換,用來表示當(dāng)前宏塊的權(quán)重值是根據(jù)更新后的第一權(quán)重值,及確定的所述jnd值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系,更新后得到的,則在中所述為當(dāng)前宏塊更新之前的權(quán)重值,所述為將所述jnd值最小的宏塊的權(quán)重值更新后的第一權(quán)重值。

所述圖像采集設(shè)備根據(jù)每個宏塊的間隔qp值或/和每個宏塊的初始qp值,確定每個宏塊的目標(biāo)qp值的過程可以是將每個宏塊的初始qp值作為每個宏塊的目標(biāo)qp值,可以是將每個宏塊的間隔qp值與每個宏塊的初始qp值的和作為每個宏塊的目標(biāo)qp值,也可以是根據(jù)每個宏塊的間隔qp值所在的區(qū)間,和每個宏塊的初始qp所在的初始范圍區(qū)間,確定每個宏塊的目標(biāo)qp值等。

具體的,所述根據(jù)每個宏塊的初始qp值和/或每個宏塊的間隔qp值,確定每個宏塊的目標(biāo)qp值包括:

針對每個宏塊,判斷該宏塊的初始qp值位于預(yù)設(shè)的第一初始范圍區(qū)間,將所述初始qp值確定為該宏塊的目標(biāo)qp值;

如果該宏塊的間隔qp值位于預(yù)設(shè)的第一區(qū)間,且所述初始qp值位于預(yù)設(shè)的第二初始范圍區(qū)間,則將預(yù)設(shè)的第一qp增值和所述初始qp值的和確定為該宏塊的目標(biāo)qp值;

如果所述間隔qp值位于預(yù)設(shè)的第二區(qū)間,且所述初始qp值位于預(yù)設(shè)的第三初始范圍區(qū)間,則將預(yù)設(shè)的第二qp增值和所述初始qp值的和,確定該宏塊的目標(biāo)qp值;

如果所述間隔qp值位于預(yù)設(shè)的第三區(qū)間,且所述初始qp值位于預(yù)設(shè)的第四初始范圍區(qū)間,則將預(yù)設(shè)的第三qp增值和所述初始qp值的和,確定該宏塊的目標(biāo)qp值;

否則,則將所述間隔qp值和所述初始qp值的和,確定該宏塊的目標(biāo)qp值;

其中所述第一區(qū)間、所述第二區(qū)間和所述第三區(qū)間不重疊,所述第一初始范圍區(qū)間、所述第二初始范圍區(qū)間、所述第三初始范圍區(qū)間和所述第四初始范圍區(qū)間不重疊,所述第三qp增值大于所述第二qp增值,且所述第二qp增值大于所述第一間隔qp增值。

為了避免由于每個宏塊的間隔qp值和/或每個宏塊的初始qp值過大而影響每個宏塊的視頻畫面質(zhì)量,可以通過對每個宏塊的間隔qp值所在的區(qū)間和/或每個宏塊的初始qp值所在的初始范圍區(qū)間,來確定每個宏塊的目標(biāo)qp值,防止每個宏塊的目標(biāo)qp值過大而影響視頻畫面質(zhì)量,從而進一步地提高編碼后的視頻畫面質(zhì)量。

所述第一qp增值、所述第二qp增值和所述第三qp增值為是任意正數(shù),所述第一qp增值可以是根據(jù)所述間隔qp值位于的第一區(qū)間確定的,可以是根據(jù)所述初始qp值位于的第二初始范圍區(qū)間確定的等,所述第二qp增值可以是根據(jù)所述間隔qp值位于的第二區(qū)間確定的,可以是根據(jù)所述初始qp值位于的第三初始范圍區(qū)間確定的等,所述第三qp增值可以是根據(jù)所述間隔qp值位于的第三區(qū)間確定的,可以是根據(jù)所述初始qp值位于的第四初始范圍區(qū)間確定的等。

如果所述第一qp增值是根據(jù)所述間隔qp值位于的第一區(qū)間確定的,所述第二qp增值是根據(jù)所述間隔qp值位于的第二區(qū)間確定的,所述第三qp增值是根據(jù)所述間隔qp值位于的第三區(qū)間確定的,則上述過程可以用以下公式表示:

其中qpnew為當(dāng)前該宏塊的目標(biāo)qp值,deltaqp為當(dāng)前該宏塊的間隔qp值,qporig為當(dāng)前該宏塊的初始qp值,其中所述間隔qp值deltaqp的第一區(qū)間為所述間隔qp值deltaqp大于m且所述間隔qp值deltaqp不大于j,所述間隔qp值deltaqp的第二區(qū)間為所述間隔qp值deltaqp大于j其所述間隔qp值deltaqp不大于k,所述間隔qp值deltaqp的第三區(qū)間為所述間隔qp值deltaqp大于k,其中m小于j,且j小于k,且j小于k,且m,j,k的取值范圍滿足0~51,所述初始qp值qporig的第一初始范圍區(qū)間為所述初始qp值qporig大于e,所述初始qp值qporig的第二初始范圍為所述初始qp值qporig大于f且所述初始qp值qporig不大于e,所述初始qp值qporig的第三初始范圍為所述初始qp值qporig大于g且所述初始qp值qporig不大于f,所述初始qp值qporig的第四初始范圍為所述初始qp值qporig不大于g,g小于f,且f小于e,且g,f,e的取值范圍滿足0~51。進一步地,還可以是針對每個宏塊的視頻畫面為夜間場景或者暗環(huán)境場景下的f和e的取值均不大于每個宏塊的視頻畫面場景為白天場景下的f和e。較佳地,m,j,k的取值可以分別為1,3,6,g,f,e的取值可以分別為22,35,40;如果每個宏塊的視頻畫面場景為白天場景下,f和e的取值可以分別為40和45。

如上述公式所示,所述第一qp增值是根據(jù)所述間隔qp值deltaqp位于的第一區(qū)間確定的,所述第一qp增值為m,所述第二qp增值是根據(jù)所述間隔qp值deltaqp位于的第二區(qū)間確定的,所述第二qp增值為j,所述第三qp增值是根據(jù)所述間隔qp值deltaqp位于的第三區(qū)間確定的,所述第三qp增值為k。

如上述公式所示的others表示所述初始qp值qporig或/和所述間隔qp值deltaqp不滿足上述任意一種情況。

結(jié)合上述公式進行描述,例如,根據(jù)確定的每個宏塊的權(quán)重值,針對每個宏塊,根據(jù)該宏塊的權(quán)重值,該宏塊的初始qp值及上述公式,確定該宏塊的間隔qp值,如果該宏塊的間隔qp值大于m且該宏塊的間隔qp值不大于j,并且該宏塊的初始qp值大于f且該宏塊的初始qp值不大于e,則根據(jù)上述公式確定該宏塊的目標(biāo)qp值為該宏塊的初始qp值與m的和。

本發(fā)明實施例中,使每個宏塊的初始qp值較大時,減小每個宏塊的間隔qp值;每個宏塊的初始qp值較小時,增大每個宏塊的間隔qp值,在初始qp值較小時,即使間隔qp值稍大,視頻畫面質(zhì)量的變化不會特別明顯,并且通過對每個宏塊的間隔qp值所在的區(qū)間和/或每個宏塊的初始qp值所在的初始范圍區(qū)間,來確定每個宏塊的目標(biāo)qp值,防止每個宏塊的目標(biāo)qp值過大而影響視頻畫面質(zhì)量,從而進一步地提高了編碼后的視頻畫面質(zhì)量。

下面以一個具體的實施例對上述實施例進行說明,圖3為本發(fā)明實施例提供的一種視頻編碼過程的示意圖,該過程包括以下步驟:

s301:根據(jù)待編碼的視頻圖像中每個宏塊,將每個宏塊劃分為16個子宏塊,其中所述每個子宏塊包括至少兩個像素點。

圖像采集設(shè)備將待編碼的視頻圖像中的每個宏塊,采用4*4的等分劃分方式,將每個宏塊劃分為16個規(guī)則的矩形子宏塊。

s302:根據(jù)每個宏塊中的每個子宏塊,及預(yù)先保存的jnd算法,計算每個宏塊中的每個子宏塊的jnd值。

具體如下:

所述jnd算法為stjnd(x,y,t)=[sjnd(x,y)]·[tjnd(x,y,t)],其中所述stjnd(x,y,t)為該子宏塊的jnd值,所述sjnd(x,y)為該子宏塊的空域jnd值,所述[tjnd(x,y,t)]為該子宏塊的時域jnd值,(x,y)為像素點的位置,該像素點代表該子宏塊計算該子宏塊的jnd值。

選擇某一像素點代表該子宏塊計算該子宏塊的jnd值的過程可以是任意選擇位于該子宏塊內(nèi)的某一像素點,也可以選擇與該子宏塊內(nèi)的像素平均值最接近的像素點,也可以是直接將該子宏塊的像素平均值作為該像素點代表該子宏塊進行計算。

sjnd(x,y)=f1(bg(x,y),mg(x,y))+f2(bg(x,y))-0.3·min{f1(bg(x,y),mg(x,y)),f2(bg(x,y))},其中所述sjnd(x,y)為該子宏塊的空域jnd值,f1(bg(x,y),mg(x,y))表示該子宏塊對應(yīng)的空間掩蔽,f2(bg(x,y))表示該子宏塊對應(yīng)的亮度對比度。

所述f1(bg(x,y),mg(x,y))=mg(x,y)×α(bg(x,y))+β(bg(x,y)),其中mg(x,y)表示最大帶權(quán)的亮度差均值,通過計算所述像素點(x,y)周圍四個方向的帶權(quán)亮度改變量的均值得到,gk是用于紋理檢測的高通濾波器,k為1時,所述用于紋理檢測的高通濾波器如圖4所示,k為2時,所述用于紋理檢測的高通濾波器如圖5所示,k為3時,所述用于紋理檢測的高通濾波器如圖6所示,k為4時,所述用于紋理檢測的高通濾波器如圖7所示,α(bg(x,y))=bg(x,y)×0.0001+0.115,β(bg(x,y))=μ-bg(x,y)×0.01,其中μ的取值是0.5,bg(x,y)表示背景亮度的平均值,通過如圖8所示的帶權(quán)低通濾波器實現(xiàn),b(i,j)為帶權(quán)低通濾波器。

f2(bg(x,y))通過亮度對比度來得到可視閾值,其中t0取17,ε的值為3,γ的值為3/128,時域jnd算法與每幀間視頻圖像亮度差強相關(guān),每幀間視頻圖像亮度差越大,時域jnd值就越大。

其中為該子宏塊的時域jnd值,h的值為8,l的值為3.2,τ為0.8,

根據(jù)計算得到的該子宏塊對應(yīng)的空域jnd值sjnd(x,y)和該子宏塊的時域jnd值及公式stjnd(x,y,t)=[sjnd(x,y)]·[tjnd(x,y,t)],確定該子宏塊的jnd值stjnd(x,y,t)。

s303:根據(jù)每個宏塊中的每個子宏塊的jnd值,確定每個宏塊的jnd值。

所述根據(jù)每個宏塊中的每個子宏塊的jnd值,確定每個宏塊的jnd值可以是將該宏塊的每個子宏塊的jnd值確定的平均值作為該宏塊的jnd值。

s304:根據(jù)每個宏塊的jnd值及預(yù)先保存的權(quán)重因子算法,計算每個宏塊的權(quán)重值。

根據(jù)每個宏塊的jnd值,確定所述視頻圖像的平均jnd值;

針對每個宏塊的jnd值,所述視頻圖像的平均jnd值,以及公式確定每個宏塊的權(quán)重值,其中,所述為第i個宏塊的權(quán)重值,a,b,c均為常系數(shù),exp為以自然常數(shù)e為底的指數(shù)函數(shù),為第i個宏塊的jnd值,stjndframe為所述視頻圖像的平均jnd值。

s305:根據(jù)每個宏塊的jnd值,查找jnd值最小的宏塊;根據(jù)每個宏塊的jnd值,確定所述jnd值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系;將所述jnd值最小的宏塊的權(quán)重值更新為1,根據(jù)更新后的第一權(quán)重值,及確定的所述所述jnd值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系,更新其他宏塊的權(quán)重值。

s306:根據(jù)每個宏塊的更新后的權(quán)重值,每個宏塊的初始qp值及預(yù)設(shè)的間隔qp算法,確定每個宏塊的間隔qp值。

根據(jù)公式確定每個宏塊對應(yīng)的間隔qp值,其中,deltaqp為當(dāng)前第i個宏塊的間隔qp值,qporig為該宏塊的初始qp值,為當(dāng)前第i個宏塊的權(quán)重值,d為常系數(shù)。

s307:根據(jù)每個宏塊的初始qp值和/或每個宏塊的間隔qp值,確定每個宏塊的目標(biāo)qp值。

根據(jù)每個宏塊的初始qp值,每個宏塊的間隔qp值,及公式確定每個宏塊的目標(biāo)qp值。

s308:根據(jù)每個宏塊及每個宏塊的目標(biāo)qp值,對待編碼的視頻圖像進行編碼。

由于本發(fā)明實施例中提供的視頻編碼方法中將每個宏塊劃分為設(shè)定數(shù)量個子宏塊,每個子宏塊包括至少兩個像素點的子宏塊,針對每個子宏塊,采用jnd模型來完成編碼,編碼過程中的復(fù)雜度減小,并且計算量較少,減少了編碼耗時,保證了編碼的實時性。

圖9為本發(fā)明實施例提供的一種視頻編碼裝置的結(jié)構(gòu)圖,該裝置包括:

jnd值計算模塊91,用于根據(jù)待編碼的視頻圖像中的每個宏塊,將每個宏塊劃分為設(shè)定數(shù)量個子宏塊,其中每個子宏塊包括至少兩個像素點;根據(jù)預(yù)先保存的jnd算法,計算每個子宏塊的jnd值;根據(jù)每個子宏塊的jnd值,確定每個宏塊的jnd值;

權(quán)重計算模塊92,用于根據(jù)每個宏塊的jnd值及預(yù)先保存的權(quán)重因子算法,計算每個宏塊的權(quán)重值;

量化參數(shù)qp值確定模塊93,用于根據(jù)每個宏塊的權(quán)重值,每個宏塊的qp值及預(yù)設(shè)的間隔qp算法,確定每個宏塊的間隔qp值;根據(jù)每個宏塊的初始qp值和/或每個宏塊的間隔qp值,確定每個宏塊的目標(biāo)qp值;

視頻編碼模塊94,用于根據(jù)每個宏塊的目標(biāo)qp值進行編碼。

所述權(quán)重計算模塊92,具體用于根據(jù)每個宏塊的jnd值,確定所述視頻圖像的平均jnd值;針對每個宏塊的jnd值,所述視頻圖像的平均jnd值,以及公式確定每個宏塊的權(quán)重值,其中,所述為第i個宏塊的權(quán)重值,a,b,c均為常系數(shù),exp為以自然常數(shù)e為底的指數(shù)函數(shù),為第i個宏塊的jnd值,stjndframe為所述視頻圖像的平均jnd值。

所述裝置還包括:

權(quán)重更新模塊95,用于根據(jù)每個宏塊的jnd值,查找jnd值最小的宏塊;根據(jù)每個宏塊的jnd值,確定所述jnd值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系;將所述jnd值最小的宏塊的權(quán)重值更新為第一權(quán)重值,根據(jù)更新后的第一權(quán)重值,及確定的所述所述jnd值最小的宏塊和其他宏塊的權(quán)重值的比例關(guān)系,更新其他宏塊的權(quán)重值,其中所述第一權(quán)重值不小于1。

所述qp值確定模塊93,具體用于根據(jù)公式確定每個宏塊對應(yīng)的間隔qp值,其中,deltaqp為當(dāng)前第i個宏塊的間隔qp值,qporig為該第i個宏塊的初始qp值,ηmbi為當(dāng)前第i個宏塊的權(quán)重值,d為常系數(shù)。

所述qp值確定模塊93,具體用于針對每個宏塊,判斷該宏塊的初始qp值位于預(yù)設(shè)的第一初始范圍區(qū)間,將所述初始qp值確定為該宏塊的目標(biāo)qp值;如果所述宏塊的間隔qp值位于預(yù)設(shè)的第一區(qū)間,且所述初始qp值位于預(yù)設(shè)的第二初始范圍區(qū)間,則將預(yù)設(shè)的第一qp增值和所述初始qp值的和確定為該宏塊的目標(biāo)qp值;如果所述宏塊的間隔qp值位于預(yù)設(shè)的第二區(qū)間,且所述初始qp值位于預(yù)設(shè)的第三初始范圍區(qū)間,則將預(yù)設(shè)的第二qp增值和所述初始qp值的和,確定該宏塊的目標(biāo)qp值;如果所述宏塊的間隔qp值位于預(yù)設(shè)的第三區(qū)間,且所述初始qp值位于預(yù)設(shè)的第四初始范圍區(qū)間,則將預(yù)設(shè)的第三qp增值和所述初始qp值的和,確定該宏塊的目標(biāo)qp值;否則,則將所述間隔qp值和所述初始qp值的和,確定該宏塊的目標(biāo)qp值;其中所述第一區(qū)間、所述第二區(qū)間和所述第三區(qū)間不重疊,所述第一初始范圍區(qū)間、所述第二初始范圍區(qū)間、所述第三初始范圍區(qū)間和所述第四初始范圍區(qū)間不重疊,所述第三qp增值大于所述第二qp增值,且所述第二qp增值大于所述第一間隔qp增值。

本發(fā)明實施例提供了一種視頻編碼方法及裝置,該方法包括:根據(jù)待編碼的視頻圖像中的每個宏塊,將每個宏塊劃分為設(shè)定數(shù)量個子宏塊,其中每個子宏塊包括至少兩個像素點;根據(jù)預(yù)先保存的恰可察覺失真jnd算法,計算每個子宏塊的jnd值;根據(jù)每個子宏塊的jnd值,確定每個宏塊的jnd值;根據(jù)每個宏塊的jnd值及預(yù)先保存的權(quán)重因子算法,計算每個宏塊的權(quán)重值;根據(jù)每個宏塊的權(quán)重值,每個宏塊的初始量化參數(shù)qp值及預(yù)設(shè)的間隔qp算法,確定每個宏塊的間隔qp值;根據(jù)每個宏塊的初始qp值和/或每個宏塊的間隔qp值,確定每個宏塊的目標(biāo)qp值,并根據(jù)每個宏塊的目標(biāo)qp值進行編碼。由于本發(fā)明實施例中提供的視頻編碼方法中將每個宏塊劃分為設(shè)定數(shù)量個子宏塊,每個子宏塊包括至少兩個像素點的子宏塊,針對每個子宏塊,采用jnd模型來完成編碼,編碼過程中的復(fù)雜度減小,并且計算量較少,減少了編碼耗時,保證了編碼的實時性。

對于系統(tǒng)/裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。

本申請是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

盡管已描述了本申請的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請范圍的所有變更和修改。

顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
丹江口市| 增城市| 德庆县| 龙岩市| 唐山市| 平江县| 龙南县| 江山市| 丁青县| SHOW| 临邑县| 江北区| 虎林市| 友谊县| 永登县| 石嘴山市| 馆陶县| 常德市| 克什克腾旗| 固安县| 大城县| 登封市| 镇远县| 波密县| 贺州市| 星子县| 桂阳县| 富源县| 禹城市| 阿图什市| 鞍山市| 肥乡县| 武夷山市| 互助| 云安县| 彰武县| 包头市| 荥阳市| 济源市| 丽水市| 阿坝县|