本公開(kāi)涉及視頻編碼,尤其涉及一種視頻編碼的碼率控制方法和裝置。
背景技術(shù):
1、視頻編碼指通過(guò)壓縮技術(shù),將原始視頻格式的文件轉(zhuǎn)換成另一種視頻格式文件的方式。視頻流傳輸中常見(jiàn)的編解碼標(biāo)準(zhǔn)包括國(guó)際電聯(lián)的h.261、h.263、h.264,運(yùn)動(dòng)靜止圖像專(zhuān)家組的m-jpeg和國(guó)際標(biāo)準(zhǔn)化組織運(yùn)動(dòng)圖像專(zhuān)家組的mpeg系列標(biāo)準(zhǔn),此外在互聯(lián)網(wǎng)上被廣泛應(yīng)用的還有realvideo、wmv以及quicktime,等等。
2、碼率控制(rate?control)是編碼器的重要技術(shù)手段。針對(duì)不同的應(yīng)用業(yè)務(wù)場(chǎng)景,通過(guò)控制每幀,乃至每個(gè)編碼單元(coding?unit,cu)中編碼的量化參數(shù)(quantizationparameter,qp),使得編碼碼率滿足各項(xiàng)具體限制要求,同時(shí)編碼性能、編碼效率和主觀質(zhì)量也盡可能的最優(yōu)化。
技術(shù)實(shí)現(xiàn)思路
1、本公開(kāi)實(shí)施例提出一種視頻編碼的碼率控制方法和裝置。
2、一種視頻編碼的碼率控制方法,包括:
3、獲取當(dāng)前幀的之前幀的幀內(nèi)紋理信息的極值和均值,其中所述當(dāng)前幀不為首幀;
4、基于所述極值,確定所述當(dāng)前幀的幀內(nèi)紋理閾值數(shù)組;
5、基于所述均值,確定所述幀內(nèi)紋理閾值數(shù)組的中間索引,所述中間索引用于界定所述幀內(nèi)紋理閾值數(shù)組中的正常范圍;
6、確定所述當(dāng)前幀中的cu的幀內(nèi)紋理信息;
7、基于所述當(dāng)前幀中的cu的幀內(nèi)紋理信息、所述幀內(nèi)紋理閾值數(shù)組和所述中間索引,確定所述當(dāng)前幀中的cu的qp。
8、在一個(gè)實(shí)施方式中,所述極值包括最大值和最小值;
9、所述基于所述極值,確定所述當(dāng)前幀的幀內(nèi)紋理閾值數(shù)組包括:
10、將所述最小值確定為數(shù)組最小值,所述最大值確定為數(shù)組最大值;
11、確定所述數(shù)組最大值與所述數(shù)組最小值的差值;
12、基于所述差值,在所述數(shù)組最小值與數(shù)組最大值之間確定預(yù)定數(shù)目個(gè)的數(shù)組值;
13、將所述預(yù)定數(shù)目個(gè)的數(shù)組值、所述數(shù)組最小值和所述數(shù)組最大值確定為數(shù)組元素;
14、基于所述數(shù)組元素確定所述幀內(nèi)紋理閾值數(shù)組。
15、在一個(gè)實(shí)施方式中,所述基于所述均值,確定所述幀內(nèi)紋理閾值數(shù)組的中間索引包括:
16、確定所述幀內(nèi)紋理閾值數(shù)組中的、取值區(qū)間包含所述均值的兩個(gè)相鄰數(shù)組元素;
17、基于所述兩個(gè)相鄰數(shù)組元素中的至少一個(gè)數(shù)組元素的序號(hào),確定所述中間索引。
18、在一個(gè)實(shí)施方式中,所述基于所述當(dāng)前幀中的cu的幀內(nèi)紋理信息、所述幀內(nèi)紋理閾值數(shù)組和所述中間索引,確定所述當(dāng)前幀中的cu的qp包括:
19、確定所述幀內(nèi)紋理閾值數(shù)組中的、取值范圍包含所述當(dāng)前幀中的cu的幀內(nèi)紋理信息的兩個(gè)相鄰數(shù)組元素;
20、基于所述當(dāng)前幀中的cu的幀內(nèi)紋理信息與所述中間索引所指向的數(shù)組元素值的比較結(jié)果以及所述兩個(gè)相鄰數(shù)組元素中的較小數(shù)組元素的序號(hào),確定所述當(dāng)前幀中的cu的qp的變化值;
21、基于所述當(dāng)前幀中的cu的qp的變化值與預(yù)定的、所述當(dāng)前幀中的cu的qp初始值,確定所述當(dāng)前幀中的cu的qp。
22、在一個(gè)實(shí)施方式中,所述基于所述當(dāng)前幀中的cu的幀內(nèi)紋理信息與所述中間索引所指向的數(shù)組元素值的比較結(jié)果以及所述兩個(gè)相鄰數(shù)組元素中的較小數(shù)組元素的序號(hào),確定所述當(dāng)前幀中的cu的qp的變化值包括:
23、當(dāng)所述當(dāng)前幀中的cu的幀內(nèi)紋理信息等于所述中間索引所指向的數(shù)組元素值時(shí),確定所述變化值為零;
24、當(dāng)所述當(dāng)前幀中的cu的幀內(nèi)紋理信息不等于所述中間索引所指向的數(shù)組元素值時(shí),確定所述變化值為delta1,其中delta1等于i1與所述中間索引的差值,i1為所述較小數(shù)組元素的序號(hào)。
25、在一個(gè)實(shí)施方式中,包括:
26、獲取首幀中的cu的幀內(nèi)紋理信息;
27、基于所述首幀中的cu的幀內(nèi)紋理信息、預(yù)定的幀內(nèi)紋理閾值初始數(shù)組和所述幀內(nèi)紋理閾值初始數(shù)組的初始中間索引,確定所述首幀中的cu的qp。
28、在一個(gè)實(shí)施方式中,所述基于首幀中的cu的幀內(nèi)紋理信息、預(yù)定的幀內(nèi)紋理閾值初始數(shù)組和所述幀內(nèi)紋理閾值初始數(shù)組的初始中間索引,確定首幀中的cu的qp包括:
29、確定所述幀內(nèi)紋理閾值初始數(shù)組中的、取值范圍包含所述首幀中的cu的幀內(nèi)紋理信息的兩個(gè)相鄰數(shù)組元素;
30、基于所述首幀中的cu的幀內(nèi)紋理信息與所述初始中間索引所指向的數(shù)組元素值的比較結(jié)果以及所述兩個(gè)相鄰數(shù)組元素中的較小數(shù)組元素的序號(hào),確定所述首幀中的cu的qp的變化值;
31、基于所述首幀中的cu的qp的變化值與預(yù)定的、所述首幀中的cu的qp的初始值,確定所述首幀中的cu的qp。
32、在一個(gè)實(shí)施方式中,所述基于首幀中的cu的幀內(nèi)紋理信息與所述初始中間索引所指向的數(shù)組元素值的比較結(jié)果以及所述兩個(gè)相鄰數(shù)組元素中的較小數(shù)組元素的序號(hào),確定所述首幀中的cu的qp的變化值包括:
33、當(dāng)所述首幀中的cu的幀內(nèi)紋理信息等于所述初始中間索引所指向的數(shù)組元素值時(shí),確定所述變化值為零;
34、當(dāng)所述首幀中的cu的幀內(nèi)紋理信息不等于所述首幀中間索引所指向的數(shù)組元素值時(shí),確定所述變化值為delta2,其中delta2等于i2與所述初始中間索引的差值,i2為所述較小數(shù)組元素的序號(hào)。
35、一種視頻編碼的碼率控制裝置,包括:
36、獲取模塊,用于獲取當(dāng)前幀的之前幀的幀內(nèi)紋理信息的極值和均值,其中所述當(dāng)前幀不為首幀;
37、第一確定模塊,用于基于所述極值,確定所述當(dāng)前幀的幀內(nèi)紋理閾值數(shù)組;
38、第二確定模塊,用于基于所述均值,確定所述幀內(nèi)紋理閾值數(shù)組的中間索引,所述中間索引用于界定所述幀內(nèi)紋理閾值數(shù)組中的正常范圍;
39、第三確定模塊,用于確定所述當(dāng)前幀中的cu的幀內(nèi)紋理信息;
40、第四確定模塊,用于基于所述當(dāng)前幀中的cu的幀內(nèi)紋理信息、所述幀內(nèi)紋理閾值數(shù)組和所述中間索引,確定所述當(dāng)前幀中的cu的qp。
41、在一個(gè)實(shí)施方式中,所述獲取模塊,用于獲取首幀中的cu的幀內(nèi)紋理信息;
42、所述第四確定模塊,用于基于所述首幀中的編碼單元的幀內(nèi)紋理信息、預(yù)定的幀內(nèi)紋理閾值初始數(shù)組和所述幀內(nèi)紋理閾值初始數(shù)組的初始中間索引,確定所述首幀中的cu的qp。
43、從上述技術(shù)方案可以看出,在本發(fā)明實(shí)施方式中,獲取當(dāng)前幀的之前幀的幀內(nèi)紋理信息的極值和均值,其中當(dāng)前幀不為首幀;基于極值,確定當(dāng)前幀的幀內(nèi)紋理閾值數(shù)組;基于均值,確定幀內(nèi)紋理閾值數(shù)組的中間索引,中間索引用于界定幀內(nèi)紋理閾值數(shù)組中的正常范圍;確定當(dāng)前幀中的cu的幀內(nèi)紋理信息;基于當(dāng)前幀中的cu的幀內(nèi)紋理信息、幀內(nèi)紋理閾值數(shù)組和中間索引,確定當(dāng)前幀中的cu的qp。因此,本發(fā)明實(shí)施方式并不是針對(duì)所有場(chǎng)景統(tǒng)一采用固定的閾值數(shù)組,而是提出一種利用已編碼圖像的幀內(nèi)紋理信息對(duì)閾值數(shù)組進(jìn)行自適應(yīng)更新的技術(shù)方案,在保證編碼質(zhì)量提升的同時(shí),碼率波動(dòng)還是可控的,從而可以滿足多種多樣的視頻內(nèi)容。而且,基于之前幀的幀內(nèi)紋理信息的極值確定幀內(nèi)紋理閾值數(shù)組,充分考慮到視頻幀中的視頻內(nèi)容連續(xù)性,提高了閾值數(shù)組的準(zhǔn)確度。
44、另外,考慮到首幀缺乏之前幀的幀內(nèi)紋理信息,針對(duì)首幀可以采用預(yù)定的幀內(nèi)紋理閾值初始數(shù)組以及幀內(nèi)紋理閾值初始數(shù)組中的、預(yù)定的初始中間索引,以確定首幀中的cu屬于平坦區(qū)域或復(fù)雜區(qū)域。