一種視頻文件轉(zhuǎn)碼方法
【專利摘要】本發(fā)明公開了一種視頻文件轉(zhuǎn)碼方法。所述方法一種視頻文件轉(zhuǎn)碼方法,包括以下步驟:利用第一恒定量化參數(shù)對(duì)所述視頻文件進(jìn)行編碼,得到第一轉(zhuǎn)碼視頻文件;當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),預(yù)測(cè)對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,得到的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的第二恒定量化參數(shù);利用所述第二恒定量化參數(shù)對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,得到所述第二轉(zhuǎn)碼視頻文件。本發(fā)明實(shí)施例中,通過預(yù)測(cè)對(duì)視頻文件降碼的恒定量化參數(shù),使視頻文件最多只需進(jìn)行兩次降碼,減少了視頻文件的降碼次數(shù),在保證視頻質(zhì)量及畫質(zhì)不隨場(chǎng)景變化而有視覺上的差異的前提下,保證視頻文件輸出碼率可控、轉(zhuǎn)碼時(shí)間可控,提高了視頻文件轉(zhuǎn)碼的整體效果。
【專利說明】一種視頻文件轉(zhuǎn)碼方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻處理【技術(shù)領(lǐng)域】,尤其涉及一種視頻文件轉(zhuǎn)碼方法。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)視頻技術(shù)的發(fā)展,人們?cè)絹碓蕉嗟慕佑|到各種各樣的視頻,用戶可以通過電腦、手機(jī)、平板電腦等終端進(jìn)行觀看,對(duì)視頻文件的處理也越來越繁雜,用戶們對(duì)視頻文件轉(zhuǎn)碼的要求也越來越嚴(yán)格、細(xì)致。
[0003]一般的,針對(duì)視頻文件的轉(zhuǎn)碼可以采用多種方式進(jìn)行處理,例如利用CRF(constant ratefactor/constant quality,恒定質(zhì)量模式):通過降低相對(duì)不重要的巾貞(如消耗碼率、難編碼的幀)的質(zhì)量,省下碼率用在相對(duì)有效的幀上。CRF量化比例的范圍為0至51 (8-bitx264和10-bitx264的量化比例的范圍是0至63),其中0為無損模式,23為缺省值,51可能是最差的。該數(shù)字越小,圖像質(zhì)量越好。
[0004]本申請(qǐng)的發(fā)明人發(fā)現(xiàn),對(duì)于大文件,可能要多次降碼才能到指定范圍內(nèi)的量化比例,增加編碼時(shí)間,輸出碼率不可控,指定碼率范圍內(nèi)編碼文件質(zhì)量無法保證。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種視頻文件轉(zhuǎn)碼方法,用于實(shí)現(xiàn)在保證視頻質(zhì)量的前提下,控制編碼時(shí)間和編碼碼率。
[0006]一種視頻文件轉(zhuǎn)碼方法,包括以下步驟:
[0007]利用第一恒定量化參數(shù)對(duì)所述視頻文件進(jìn)行編碼,得到第一轉(zhuǎn)碼視頻文件;
[0008]當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),預(yù)測(cè)第二恒定量化參數(shù),所述第二恒定量化參數(shù)為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,使降碼后的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的恒定量化參數(shù);
[0009]利用所述第二恒定量化參數(shù)對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,得到所述第二轉(zhuǎn)碼視頻文件。
[0010]本實(shí)施例中,通過預(yù)測(cè)對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,得到的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的第二恒定量化參數(shù),可得到較準(zhǔn)確的第二恒定量化參數(shù),使得在利用該第二恒定量化參數(shù)進(jìn)行降碼后得到的視頻文件質(zhì)量較好,減少了對(duì)視頻文件的降碼次數(shù),提高了視頻文件的降碼效率,在保證視頻質(zhì)量及畫質(zhì)不隨場(chǎng)景變化而有視覺上的差異的前提下,保證視頻文件輸出碼率可控、轉(zhuǎn)碼時(shí)間可控,提高了視頻文件轉(zhuǎn)碼的整體效果。
[0011]優(yōu)選的,所述當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),預(yù)測(cè)第二恒定量化參數(shù),所述第二恒定量化參數(shù)為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,使降碼后的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的恒定量化參數(shù),包括:
[0012]當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),利用循環(huán)降碼預(yù)測(cè)第二恒定量化參數(shù),所述第二恒定量化參數(shù)為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼,使循環(huán)降碼后的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的恒定量化參數(shù)。[0013]本實(shí)施例中,通過利用循環(huán)降碼預(yù)測(cè)對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,得到的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的第二恒定量化參數(shù),減少了對(duì)視頻文件的循環(huán)降碼次數(shù),提高了視頻文件的降碼效率,在保證視頻質(zhì)量及畫質(zhì)不隨場(chǎng)景變化而有視覺上的差異的前提下,保證視頻文件輸出碼率可控、轉(zhuǎn)碼時(shí)間可控,提高了視頻文件轉(zhuǎn)碼的整體效果。
[0014]優(yōu)選的,所述步驟當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),利用循環(huán)降碼預(yù)測(cè)第二恒定量化參數(shù),所述第二恒定量化參數(shù)為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼,使循環(huán)降碼后的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的恒定量化參數(shù),包括:
[0015]當(dāng)所述第一碼率大于目標(biāo)碼率時(shí),計(jì)算對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼的循環(huán)降碼率;
[0016]根據(jù)所述循環(huán)降碼率計(jì)算對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù);
[0017]利用所述降碼次數(shù)獲得所述第二恒定量化參數(shù)。
[0018]本實(shí)施例中,通過計(jì)算對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼的循環(huán)降碼率,根據(jù)所述循環(huán)降碼率計(jì)算對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼,得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù),利用所述降碼次數(shù)獲得所述第二恒定量化參數(shù),提高了預(yù)測(cè)第二恒定量化參數(shù)的效率和準(zhǔn)確率,使得視頻文件最多進(jìn)行兩次降碼,在保證視頻質(zhì)量及畫質(zhì)不隨場(chǎng)景變化而有視覺上的差異的前提下,保證視頻文件輸出碼率可控、轉(zhuǎn)碼時(shí)間可控,提高了視頻文件轉(zhuǎn)碼的整體效果。
[0019]優(yōu)選的,所述計(jì)算對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼的循環(huán)降碼率,包括:
[0020]利用crf+k對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼,其中,Crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量;
[0021]利用下式獲得所述循環(huán)降碼率,
[0022]r1=Ri/Ro
[0023]其中,r1為循環(huán)降碼率,R1為第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼得到視頻文件的碼率,Rtl為所述第一碼率。
[0024]優(yōu)選的,所述步驟根據(jù)所述循環(huán)降碼率計(jì)算對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù),包括:
[0025]利用下式得到對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率,
[0026]R1=I=Pow(r 1,n)
[0027]其中,n為循環(huán)降碼的次數(shù);
[0028]獲取當(dāng)Rdpow(r1, n)〈=Re時(shí)n的次數(shù),其中,Re為所述目標(biāo)碼率,所述n為對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù)。
[0029]優(yōu)選的,所述步驟利用所述降碼次數(shù)獲得所述第二恒定量化參數(shù),包括:
[0030]根據(jù)下式獲得所述第二恒定量化參數(shù),
[0031]crf2=crf+nk
[0032]其中,crf2為第二恒定量化參數(shù)。
[0033]優(yōu)選的,所述第一;〖亙定量化參數(shù)crf=24,所述循環(huán)降碼恒定量化參數(shù)常量k=4。
[0034]優(yōu)選的,所述步驟利用所述降碼次數(shù)獲得所述第二恒定量化參數(shù),包括:
[0035]獲取對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到視頻文件的碼率與目標(biāo)碼率的碼率差距;
[0036]判斷所述碼率差距是否小于循環(huán)降碼碼率閾值;
[0037]當(dāng)所述碼率差距小于循環(huán)降碼碼率閾值時(shí),通過下式獲得所述第二恒定量化參數(shù):
[0038]crf2=crf+k* (n_l) +k/2
[0039]其中,crf2為第二恒定量化參數(shù),crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量,n為循環(huán)降碼的次數(shù);
[0040]當(dāng)所述碼率差距大于或等于循環(huán)降碼碼率閾值時(shí),通過下式獲得所述第二恒定量化參數(shù):
[0041]crf2=crf+nk
[0042]其中,crf2為第二恒定量化參數(shù),crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量,n為循環(huán)降碼的次數(shù)。
[0043]本事實(shí)施例中,根據(jù)碼率差距對(duì)第二恒定量化參數(shù)進(jìn)行動(dòng)態(tài)調(diào)整,使第二轉(zhuǎn)碼視頻文件的碼率更加接近于目標(biāo)碼率,使視頻文件不會(huì)過度進(jìn)行降碼,保證了輸出視頻碼率既第二轉(zhuǎn)碼視頻文件的碼率的可控性和第二轉(zhuǎn)碼視頻文件的質(zhì)量。
[0044]優(yōu)選的,所述步驟獲取對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到視頻文件的碼率與目標(biāo)碼率的碼率差距,包括:
[0045]利用下式獲取對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到的視頻文件的碼率,
[0046]Rn-1=Ri*P°w (rI) n_l)
[0047]其中,Rlri為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到的視頻文件的碼率,r:為循環(huán)降碼率,R1為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼后的視頻文件的碼率,n為循環(huán)降碼的次數(shù);
[0048]利用下式獲取所述碼率差距,
[0049]ARlri= I Rn_「Re I
[0050]其中,A Rlri為所述碼率差距,Re為所述目標(biāo)碼率。
[0051]優(yōu)選的,所述循環(huán)降碼碼率閾值為目標(biāo)碼率的百分之十。
[0052]本發(fā)明實(shí)施例中,通過預(yù)測(cè)對(duì)視頻文件降碼的恒定量化參數(shù),使視頻文件最多只需進(jìn)行兩次降碼,減少了視頻文件的降碼次數(shù),在保證視頻質(zhì)量及畫質(zhì)不隨場(chǎng)景變化而有視覺上的差異的前提下,保證視頻文件輸出碼率可控、轉(zhuǎn)碼時(shí)間可控,提高了視頻文件轉(zhuǎn)碼的整體效果。
[0053]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
[0054]下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
【專利附圖】
【附圖說明】
[0055]附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:[0056]圖1為本發(fā)明視頻文件轉(zhuǎn)碼方法一個(gè)實(shí)施例的流程圖;
[0057]圖2為本發(fā)明視頻文件轉(zhuǎn)碼方法另一個(gè)實(shí)施例的流程圖;
[0058]圖3為本發(fā)明視頻文件轉(zhuǎn)碼方法又一個(gè)實(shí)施例的流程圖;
[0059]圖4為本發(fā)明視頻文件轉(zhuǎn)碼方法一個(gè)實(shí)施例的邏輯流程圖;
[0060]圖5為本發(fā)明視頻文件轉(zhuǎn)碼裝置一個(gè)實(shí)施例的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0061]以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0062]參見圖1,為本發(fā)明視頻文件轉(zhuǎn)碼方法一個(gè)實(shí)施例的流程圖,該方法包括:
[0063]步驟101:利用第一恒定量化參數(shù)對(duì)所述視頻文件進(jìn)行編碼,得到第一轉(zhuǎn)碼視頻文件。
[0064]其中,第一恒定量化參數(shù)可以設(shè)置為24,也可以根據(jù)視頻文件或需要自行進(jìn)行設(shè)置,對(duì)視頻文件的編碼方式本領(lǐng)域技術(shù)人員可以根據(jù)需要進(jìn)行選擇,在此不再贅述。
[0065]步驟102:當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),預(yù)測(cè)第二恒定量化參數(shù),所述第二恒定量化參數(shù)為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,使降碼后的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的恒定量化參數(shù)。
[0066]其中,由于對(duì)視頻循環(huán)降碼的循環(huán)將碼率是相同的,當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),可以利用循環(huán)降碼預(yù)測(cè)第二恒定量化參數(shù),所述第二恒定量化參數(shù)為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼,使循環(huán)降碼后的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的恒定量化參數(shù);當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率小于目標(biāo)碼率時(shí),直接輸出第一轉(zhuǎn)碼視頻文件。本領(lǐng)域技術(shù)人員還可以采用其他降碼方式預(yù)測(cè)對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,得到的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的第二恒定量化參數(shù)。
[0067]在一個(gè)實(shí)施例中,利用循環(huán)降碼預(yù)測(cè)對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,得到的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的第二恒定量化參數(shù)包括:
[0068]計(jì)算對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼的循環(huán)降碼率;
[0069]根據(jù)所述循環(huán)降碼率計(jì)算對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼,得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù);
[0070]利用所述降碼次數(shù)獲得所述第二恒定量化參數(shù)。
[0071]本實(shí)施例中,通過計(jì)算對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼的循環(huán)降碼率,根據(jù)所述循環(huán)降碼率計(jì)算對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼,得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù),利用所述降碼次數(shù)獲得所述第二恒定量化參數(shù),提高了預(yù)測(cè)第二恒定量化參數(shù)的效率和準(zhǔn)確率,使得視頻文件最多只需進(jìn)行兩次降碼,在保證視頻質(zhì)量及畫質(zhì)不隨場(chǎng)景變化而有視覺上的差異的前提下,保證視頻文件輸出碼率可控、轉(zhuǎn)碼時(shí)間可控,提高了視頻文件轉(zhuǎn)碼的整體效果。
[0072]步驟103:利用所述第二恒定量化參數(shù)對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,得到所述第二轉(zhuǎn)碼視頻文件。
[0073]本發(fā)明實(shí)施例中,通過預(yù)測(cè)對(duì)視頻文件降碼的恒定量化參數(shù),使視頻文件最多只需進(jìn)行兩次降碼,減少了視頻文件的降碼次數(shù),在保證視頻質(zhì)量及畫質(zhì)不隨場(chǎng)景變化而有視覺上的差異的前提下,保證視頻文件輸出碼率可控、轉(zhuǎn)碼時(shí)間可控,提高了視頻文件轉(zhuǎn)碼的整體效果。
[0074]通過預(yù)測(cè)對(duì)視頻文件降碼的第二恒定量化參數(shù),能夠減少對(duì)視頻文件進(jìn)行降碼的次數(shù),其不同的實(shí)時(shí)方法參見以下實(shí)施例。
[0075]參見圖2,為本發(fā)明視頻文件轉(zhuǎn)碼方法另一個(gè)實(shí)施例的流程圖,該方法包括:
[0076]步驟201:利用第一恒定量化參數(shù)對(duì)所述視頻文件進(jìn)行編碼,得到第一轉(zhuǎn)碼視頻文件。
[0077]步驟202:計(jì)算對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼的循環(huán)降碼率。
[0078]其中,由于視頻文件相鄰兩次循環(huán)降碼采用的恒定量化參數(shù)的為循環(huán)降碼恒定量化參數(shù)常量,循環(huán)降碼恒定量化參數(shù)常量為恒定的,因此對(duì)視頻文件進(jìn)行循環(huán)降碼的循環(huán)降碼率是恒定的,既對(duì)視頻文件每次降碼的幅度是恒定的,本領(lǐng)域技術(shù)人員可以根據(jù)需要對(duì)第一恒定量化參數(shù)和循環(huán)降碼恒定量化參數(shù)常量進(jìn)行設(shè)定,例如將第一恒定量化參數(shù)設(shè)定為24,將循環(huán)降碼恒定量化參數(shù)常量設(shè)定為4。例如:
[0079]可以利用crf+k對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼,其中,crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量;
[0080]利用下式獲得所述循環(huán)降碼率,
[0081]r^Ri/Ro
[0082]r:為循環(huán)降碼率,R1為第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼得到視頻文件的碼率,Rtl為所述第一碼率。
[0083]步驟203:根據(jù)所述循環(huán)降碼率計(jì)算對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù)。
[0084]其中,可以利用下式得到對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率,
[0085]R1^pow (r I,n)
[0086]n為循環(huán)降碼的次數(shù);
[0087]獲取當(dāng)RdpowCr1, n)〈=Re時(shí)n的次數(shù),其中,Re為所述目標(biāo)碼率,所述n為對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù)。
[0088]其中,預(yù)測(cè)第二恒定量化參數(shù)和計(jì)算循環(huán)降碼的循環(huán)降碼率及降碼次數(shù)的過程是個(gè)估計(jì)過程,而非真實(shí)的降碼過程,在得到第二恒定量化參數(shù)后,需要利用該第二恒定量化參數(shù)進(jìn)行降碼處理。
[0089]步驟204:利用所述降碼次數(shù)獲得所述第二恒定量化參數(shù)。
[0090]其中,當(dāng)每次循環(huán)降碼的循環(huán)降碼恒定量化參數(shù)常量恒定,且對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù)已知時(shí),可以利用循環(huán)降碼恒定量化參數(shù)常量恒定和降碼次數(shù)得到第二恒定量化參數(shù)。例如:
[0091 ] 可以根據(jù)下式獲得所述第二恒定量化參數(shù),
[0092]crf2=crf+nk
[0093]crf2為第二恒定量化參數(shù)。
[0094]在預(yù)測(cè)對(duì)視頻文件降碼的第二恒定量化參數(shù)過程中可以根據(jù)視頻文件的降碼程度對(duì)第二恒定量化參數(shù)進(jìn)行動(dòng)態(tài)調(diào)整,參見以下實(shí)施例。[0095]參見圖3,為本發(fā)明視頻文件轉(zhuǎn)碼方法又一個(gè)實(shí)施例的流程圖,該方法包括:
[0096]步驟301:利用第一恒定量化參數(shù)對(duì)所述視頻文件進(jìn)行編碼,得到第一轉(zhuǎn)碼視頻文件。
[0097]步驟302:利用crf+k對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼,其中,crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量。
[0098]步驟302:利用下式獲得所述循環(huán)降碼率,
[0099]A=VR0 [0100]其中, ι為循環(huán)降碼率,R1為第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼得到視頻文件的碼率,R0為所述第一碼率。
[0101]步驟303:利用下式得到對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率,
[0102]R1^pow (rl, η)
[0103]其中,η為循環(huán)降碼的次數(shù)。
[0104]步驟304:獲取當(dāng)RfpowCr1, n) <=Re時(shí)η的次數(shù),其中,Re為所述目標(biāo)碼率,所述η為對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù)。
[0105]步驟305:獲取對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到視頻文件的碼率與目標(biāo)碼率的碼率差距。
[0106]其中,可以利用下式獲取對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到的視頻文件的碼率,
[0107]Rn-1=Ri*P°w (rI) n_l)
[0108]其中,Rlri為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到的視頻文件的碼率, ι為循環(huán)降碼率,R1為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼后的視頻文件的碼率,η為循環(huán)降碼的次數(shù)。
[0109]利用下式獲取所述碼率差距,
[0110]Δ Rn^1= I Rn_「Re I
[0111]其中,Λ Rlri為所述碼率差距,Re為所述目標(biāo)碼率。
[0112]步驟306:判斷所述碼率差距是否小于循環(huán)降碼碼率閾值。
[0113]其中,循環(huán)降碼碼率閾值與目標(biāo)碼率相關(guān),例如循環(huán)降碼碼率閾值可以為目標(biāo)碼率的百分之十左右,或目標(biāo)碼率的百分之二十左右,本領(lǐng)域技術(shù)人員可以根據(jù)需要進(jìn)行設(shè)定。循環(huán)降碼碼率閾值越大,進(jìn)行循環(huán)降碼得到的第二轉(zhuǎn)碼視頻文件的碼率月趨近與目標(biāo)碼率。
[0114]步驟307:當(dāng)所述碼率差距小于循環(huán)降碼碼率閾值時(shí),通過下式獲得所述第二恒
定量化參數(shù):
[0115]crf2=crf+k* (n-1) +k/2
[0116]其中,crf2為第二恒定量化參數(shù),crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量,η為循環(huán)降碼的次數(shù)。
[0117]步驟308:當(dāng)所述碼率差距大于或等于循環(huán)降碼碼率閾值時(shí),通過下式獲得所述
第二恒定量化參數(shù):[0118]crf2=crf+nk
[0119]其中,crf2為第二恒定量化參數(shù),crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量,n為循環(huán)降碼的次數(shù)。
[0120]本實(shí)施例中,通過獲取對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到視頻文件的碼率與目標(biāo)碼率的碼率差距,并將碼率差距與循環(huán)降碼碼率閾值進(jìn)行比較,對(duì)第二恒定量化參數(shù)進(jìn)行動(dòng)態(tài)調(diào)整,提高了視頻文件轉(zhuǎn)碼相對(duì)于目標(biāo)碼率的控制能力,使轉(zhuǎn)碼后的視頻文件的碼率更加接近目標(biāo)碼率。
[0121]參見圖4,為本發(fā)明視頻文件轉(zhuǎn)碼方法一個(gè)實(shí)施例的邏輯流程圖,該方法包括:
[0122]步驟401:利用第一恒定量化參數(shù)crf對(duì)視頻文件進(jìn)行編碼,得到第一轉(zhuǎn)碼視頻文件,第一轉(zhuǎn)碼視頻文件的碼率為%。
[0123]步驟402:判斷第一轉(zhuǎn)碼視頻文件的碼率為Rtl是否小于目標(biāo)碼率Re,如果是對(duì)視頻文件的轉(zhuǎn)碼結(jié)束,如果否進(jìn)入步驟403。
[0124]步驟403:利用crf+k對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼,得到的視頻文件的碼率為R1,其中,crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量。
[0125]步驟404:判斷第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率是否小于目標(biāo)碼率,即是否Rfpow (ri,!^〈[!^其中,^為循環(huán)降碼率,R1為第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼得到視頻文件的碼率,Rtl為所述第一碼率,n為循環(huán)降碼次數(shù),如果是,進(jìn)行步驟405,如果否,增加循環(huán)降碼次數(shù)n++,繼續(xù)進(jìn)行循環(huán)降碼,重復(fù)進(jìn)行步驟404。
[0126]步驟405:獲取對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到視頻文件的碼率與目標(biāo)碼率的碼率差距,即A Rlri= I Rn^1-Re I,其中,Rn-1為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到的視頻文件的碼率,A Rlri為所述碼率差距,Re為所述目標(biāo)碼率。`
[0127]步驟406:判斷碼率差距是否小于循環(huán)降碼碼率閾值,即是否A Rn_i〈S,其中,S為循環(huán)降碼碼率閾值,當(dāng)所述碼率差距小于循環(huán)降碼碼率閾值時(shí),進(jìn)入步驟407,當(dāng)所述碼率差距大于或等于循環(huán)降碼碼率閾值時(shí),進(jìn)入步驟408。
[0128]步驟407:通過下式獲得所述第二恒定量化參數(shù):
[0129]crf2=crf+k* (n-1) +k/2
[0130]其中,crf2為第二恒定量化參數(shù),crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量,n為循環(huán)降碼的次數(shù)。
[0131]步驟408:通過下式獲得所述第二恒定量化參數(shù):
[0132]crf2=crf+nk
[0133]其中,crf2為第二恒定量化參數(shù),crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量,n為循環(huán)降碼的次數(shù)。
[0134]步驟409:利用所述第二恒定量化參數(shù)對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,得到所述第二轉(zhuǎn)碼視頻文件。
[0135]參見圖5,為本發(fā)明視頻文件轉(zhuǎn)碼裝置一個(gè)實(shí)施例的結(jié)構(gòu)圖,該裝置包括:
[0136]編碼模塊501,用于利用第一恒定量化參數(shù)對(duì)所述視頻文件進(jìn)行編碼,得到第一轉(zhuǎn)碼視頻文件;
[0137]參數(shù)預(yù)測(cè)模塊502,用于當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),預(yù)測(cè)第二恒定量化參數(shù),所述第二恒定量化參數(shù)為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,使降碼后的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的恒定量化參數(shù);
[0138]降碼模塊503,用于利用所述第二恒定量化參數(shù)對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,得到所述第二轉(zhuǎn)碼視頻文件。
[0139]優(yōu)選的,所述參數(shù)預(yù)測(cè)模塊包括:
[0140]循環(huán)降碼參數(shù)預(yù)測(cè)單元504,用于當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),利用循環(huán)降碼預(yù)測(cè)第二恒定量化參數(shù),所述第二恒定量化參數(shù)為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼,使循環(huán)降碼后的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的恒定量化參數(shù)。
[0141]優(yōu)選的,所述循環(huán)降碼參數(shù)預(yù)測(cè)單元504還用于:
[0142]當(dāng)所述第一碼率大于目標(biāo)碼率時(shí),計(jì)算對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼的循環(huán)降碼率;
[0143]根據(jù)所述循環(huán)降碼率計(jì)算對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù);
[0144]利用所述降碼次數(shù)獲得所述第二恒定量化參數(shù)。
[0145]優(yōu)選的,所述循環(huán)降碼參數(shù)預(yù)測(cè)單元504還用于:
[0146]獲取對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到視頻文件的碼率與目標(biāo)碼率的碼率差距;
[0147]判斷所述碼率差距是否小于循環(huán)降碼碼率閾值;
[0148]當(dāng)所述碼率差距小于循環(huán)降碼碼率閾值時(shí),通過下式獲得所述第二恒定量化參數(shù):
[0149]crf2=crf+k* (n-1) +k/2
[0150]其中,crf2為第二恒定量化參數(shù),crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量,η為循環(huán)降碼的次數(shù);
[0151]當(dāng)所述碼率差距大于或等于循環(huán)降碼碼率閾值時(shí),通過下式獲得所述第二恒定量化參數(shù):
[0152]crf2=crf+nk
[0153]其中,crf2為第二恒定量化參數(shù),crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量,η為循環(huán)降碼的次數(shù)。
[0154]需要說明的是:上述實(shí)施例提供的視頻文件轉(zhuǎn)碼裝置在實(shí)現(xiàn)上述功能時(shí),僅以上述功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的視頻文件轉(zhuǎn)碼裝置與視頻文件轉(zhuǎn)碼方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
[0155]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0156]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0157]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0158]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0159]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種視頻文件轉(zhuǎn)碼方法,其特征在于,包括以下步驟: 利用第一恒定量化參數(shù)對(duì)所述視頻文件進(jìn)行編碼,得到第一轉(zhuǎn)碼視頻文件; 當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),預(yù)測(cè)第二恒定量化參數(shù),所述第二恒定量化參數(shù)為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,使降碼后的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的恒定量化參數(shù); 利用所述第二恒定量化參數(shù)對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,得到所述第二轉(zhuǎn)碼視頻文件。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),預(yù)測(cè)第二恒定量化參數(shù),所述第二恒定量化參數(shù)為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行降碼,使降碼后的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的恒定量化參數(shù),包括: 當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),利用循環(huán)降碼預(yù)測(cè)第二恒定量化參數(shù),所述第二恒定量化參數(shù)為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼,使循環(huán)降碼后的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的恒定量化參數(shù)。
3.如權(quán)利要求2所述的方法,其特征在于,所述步驟當(dāng)?shù)谝晦D(zhuǎn)碼視頻文件的碼率大于目標(biāo)碼率時(shí),利用循環(huán)降碼預(yù)測(cè)第二恒定量化參數(shù),所述第二恒定量化參數(shù)為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼,使循環(huán)降碼后的視頻文件的碼率小于目標(biāo)碼率時(shí)采用的恒定量化參數(shù),包括: 當(dāng)所述第一碼率大于目標(biāo)碼率時(shí),計(jì)算對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼的循環(huán)降碼率; 根據(jù)所述循環(huán)降碼率計(jì)算 對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù); 利用所述降碼次數(shù)獲得所述第二恒定量化參數(shù)。
4.如權(quán)利要求3所述的方法,其特征在于,所述計(jì)算對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼的循環(huán)降碼率,包括: 利用crf+k對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼,其中,crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量; 利用下式獲得所述循環(huán)降碼率, T1=VR0 其中,A為循環(huán)降碼率,R1為第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼得到視頻文件的碼率,Rtl為所述第一碼率。
5.如權(quán)利要求4所述的方法,其特征在于,所述步驟根據(jù)所述循環(huán)降碼率計(jì)算對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù),包括: 利用下式得到對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率,
R1^pow (rl, n) 其中,n為循環(huán)降碼的次數(shù); 獲取當(dāng)RfpowCr1, n) <=Re時(shí)n的次數(shù),其中,Rej為所述目標(biāo)碼率,所述n為對(duì)所述第一轉(zhuǎn)碼視頻文件進(jìn)行循環(huán)降碼得到的視頻文件的碼率小于目標(biāo)碼率時(shí)的降碼次數(shù)。
6.如權(quán)利要求5所述的方法,其特征在于,所述步驟利用所述降碼次數(shù)獲得所述第二恒定量化參數(shù),包括: 根據(jù)下式獲得所述第二恒定量化參數(shù), crf2=crf+nk 其中,crf2為第二恒定量化參數(shù)。
7.如權(quán)利要求4所述的方法,其特征在于,所述第一恒定量化參數(shù)crf=24,所述循環(huán)降碼恒定量化參數(shù)常量k=4。
8.如權(quán)利要求3所述的方法,其特征在于,所述步驟利用所述降碼次數(shù)獲得所述第二恒定量化參數(shù),包括: 獲取對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到視頻文件的碼率與目標(biāo)碼率的碼率差距; 判斷所述碼率差距是否小于循環(huán)降碼碼率閾值; 當(dāng)所述碼率差距小于循環(huán)降碼碼率閾值時(shí),通過下式獲得所述第二恒定量化參數(shù): crf2=crf+k*(η-1)+k/2 其中,Crf2為第二恒定量化參數(shù),crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量,η為循環(huán)降碼的次數(shù); 當(dāng)所述碼率差距大于或等于循環(huán)降碼碼率閾值時(shí),通過下式獲得所述第二恒定量化參數(shù):
crf2=crf+nk 其中,Crf2為第二恒定量化參數(shù),crf為第一恒定量化參數(shù),k為循環(huán)降碼恒定量化參數(shù)常量,η為循環(huán)降碼的次數(shù)。
9.如權(quán)利要求8所述的方法,其特征在于,所述步驟獲取對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到視頻文件的碼率與目標(biāo)碼率的碼率差距,包括: 利用下式獲取對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到的視頻文件的碼率,
Rlri=Rfpow Cr1, η-1) 其中,Rlri為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行倒數(shù)第二次循環(huán)降碼后得到的視頻文件的碼率,rι為循環(huán)降碼率,R1為對(duì)第一轉(zhuǎn)碼視頻文件進(jìn)行第一次降碼后的視頻文件的碼率,η為循環(huán)降碼的次數(shù); 利用下式獲取所述碼率差距,
Δ Rn-!= I Rlr1-Re I 其中,Λ Rlri為所述碼率差距,Re為所述目標(biāo)碼率。
10.如權(quán)利要求8所述的方法,其特征在于,所述循環(huán)降碼碼率閾值為目標(biāo)碼率的百分之十。
【文檔編號(hào)】H04N19/40GK103763559SQ201410010216
【公開日】2014年4月30日 申請(qǐng)日期:2014年1月9日 優(yōu)先權(quán)日:2014年1月9日
【發(fā)明者】樓英明, 魏洪欽 申請(qǐng)人:能力天空科技(北京)有限公司