專利名稱:可變碼率的視頻編碼方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種可變碼率的視頻編碼方法,為了對幀序列進(jìn)行編碼該方法至少包括,輸入碼流的量化步驟,對所述量化后的碼流編碼的步驟,和在所述編碼步驟的輸出根據(jù)緩沖器的占有量和相應(yīng)的編碼裝置控制量化步長的步驟。本發(fā)明主要應(yīng)用在MPEG-2編碼器中。
背景技術(shù):
例如在BBC研究與發(fā)展報告,BBC-RD-1996/3中由S.R.Ely所寫的“MPEG視頻編碼基本指導(dǎo)介紹”所述的,MPEG-2數(shù)據(jù)壓縮標(biāo)準(zhǔn)并不僅僅是適用于數(shù)字視頻廣播的標(biāo)準(zhǔn),還是適用于數(shù)字視頻光盤(DVD)的存儲標(biāo)準(zhǔn)。在傳統(tǒng)的壓縮光盤(CD)中,比特的傳輸是固定的,圖像可以被CBR(固定碼率)編碼。但是,為了使圖像以給定的質(zhì)量被編碼,兩個不同的圖像組并不需要相同數(shù)量的比特。因此,當(dāng)對視頻序列編碼時,盡管簡單的圖像會有很好的質(zhì)量,但是復(fù)雜的圖像會有很大的失真。
對于記錄時要求最好質(zhì)量的DVD來說必須避免這種對于同一序列質(zhì)量變化的問題。因此,DVD標(biāo)準(zhǔn)允許數(shù)據(jù)的VBR(可變碼率)傳輸,從而可適應(yīng)圖像的復(fù)雜性由于復(fù)雜的圖像要用到比其它圖像更多的比特,因此在序列期間碼率是變化的,但圖像質(zhì)量保持穩(wěn)定。
但是,考慮到對視頻序列的編碼,保持穩(wěn)定的質(zhì)量還存在另一個困難編碼序列必須與固定的比特預(yù)算相適應(yīng)。為了考慮該附加的限制,如1998年7月6日提交的國際專利申請PCT/IB-98/01031(PHF98560)所述,已經(jīng)提出確定VBR編碼器在最終編碼之前,先經(jīng)過一個或數(shù)個預(yù)分析通道,在此期間涉及圖像復(fù)雜性的許多信息被收集并在最后一個通道中被用于比特預(yù)算分配的最優(yōu)化。這意味著為了最終記錄的最優(yōu)化,視頻源(例如電影)被完全編碼數(shù)次,而這需要許多時間(對于每個序列VBR通道數(shù)量X序列持續(xù)時間)。
發(fā)明概述本發(fā)明的第一目的是提供一種實時的編碼方法,能夠以比前述VBR編碼器更快的方式進(jìn)行可變碼率的編碼。
為此,本發(fā)明涉及一種如本說明書開頭段落所描述的一種方法,其進(jìn)一步的特征在于還包括分析步驟,用于根據(jù)與輸入碼流相關(guān)的參數(shù)來確定的每一幀周期地更新的預(yù)留比特,和附加的控制步驟,用于根據(jù)所述的預(yù)留比特的狀態(tài)保證、增加或減少量化步長值。
此方法的主要優(yōu)點在于可用已知的持續(xù)時間對視頻序列執(zhí)行實時編碼,同時該編碼與預(yù)定容量相適應(yīng)。
本發(fā)明的另一目的是提供一種執(zhí)行所述編碼方法的編碼裝置。
附圖的簡要說明本發(fā)明將以舉例的方式參照相應(yīng)的附
圖1進(jìn)行說明,圖1表示根據(jù)本發(fā)明的編碼方法和裝置。
發(fā)明的詳細(xì)描述如上所述,實時VBR編碼器的難題之一即是,編碼后的序列(具有已知的持續(xù)時間)必須與有限的比特預(yù)算相適應(yīng)。最好假設(shè)對于一個足夠長的序列,待編碼的難的和容易的畫面所占比例基本相同,現(xiàn)在描述的本發(fā)明基于MPEG-2編碼處理的量化步驟的修正以常規(guī)比率執(zhí)行的事實。
參照圖1描述的本發(fā)明提出的編碼方法和裝置,是基于以下兩個操作的。第一步驟(分析步驟)用于確定預(yù)留比特,此預(yù)留比特在每一幀都要更新,并用于指示所使用的比特數(shù)是否過多。該預(yù)留確定步驟11還包括如下分步驟分步驟111,可在平均比特率ABR(可認(rèn)為,例如,相關(guān)的視頻序列應(yīng)以5Mb/s的平均比特率進(jìn)行編碼)的基礎(chǔ)上計算總的固定比特預(yù)算TFBB,以及分步驟112,用于計算所述預(yù)留比特數(shù)ROB(當(dāng)前的)。第二步驟(控制步驟)用于對預(yù)留值執(zhí)行測試并由此修正量化步長值??偟墓潭ū忍仡A(yù)算TFBB可由以下關(guān)系式(1)得到TFBB+ABR×FR×NB_FRAME (1)其中FR=幀速率;NB_FRAME=形成待編碼的序列的幀的總數(shù)(即序列持續(xù)時間)。
在每個幀的編碼操作結(jié)束時計算(操作1122)的預(yù)留比特數(shù),可由以下關(guān)系(2)得到
ROBC=ROBP+ANBF-NBCF (2)其中ROBC=與剛完成編碼的當(dāng)前幀相關(guān)的新的(或當(dāng)前的)預(yù)留值,;ROBP=與前一個編碼的幀相關(guān)的預(yù)留值;ANBF=應(yīng)當(dāng)被用于每一幀的平均比特數(shù)(通過操作1121得到,并等于總的比特預(yù)算除以幀數(shù)TFBB/NB_FRAME);NBCF=用于對當(dāng)前幀編碼的比特數(shù)(該信息由編碼器輸出接收)。
若所述預(yù)留值大于0,則意味著直到當(dāng)前幀,這個序列都在以低于ABR(在序列應(yīng)以平均碼率ABR=5Mb/s進(jìn)行編碼的現(xiàn)情況下,若已知此序列的持續(xù)時間,則有可能推知應(yīng)當(dāng)用于以所述碼率5Mb/s編碼整個序列的總的固定比特預(yù)算)的碼率被編碼。相反,若所述預(yù)留值小于0,則意味著已使用了過多的比特,以致所編碼的序列可能會與固定比特預(yù)算總數(shù)TFBB不相符合。
確定步驟11之后是控制步驟12,控制步驟12包括比較分步驟121和量化步長值修正分步驟122。已知調(diào)整對幀進(jìn)行編碼所使用的比特數(shù)的主要方式是修正量化步長值。根據(jù)本發(fā)明,提出了動態(tài)地改變所述的值,即Q,考慮此預(yù)留狀態(tài)以保證序列的編碼與比特預(yù)算相適應(yīng)。量化步驟并不對每個幀都進(jìn)行修正(這將變成一種恒定碼率的編碼器),而只在預(yù)留值達(dá)到臨界值時才進(jìn)行修正會更好。若Q_INIT是量化步長的初始值,本實施例中量化步長Q是以以下這種方式(這里給出的閾值顯然是可以調(diào)整的)取的若(ROBC<0)且(0.07<-ROBC/TFBB<0.15)則Q=Q_INIT+2若(ROBC<0)且(0.15<-ROBC/TFBB<0.27)則Q=Q_INIT+4若(ROBC<0)且(0.27<-ROBC/TFBB<0.4)則Q=Q_INIT+6若(ROBC<0)且(0.4<-ROBC/TFBB<0.5)則Q=Q_INIT+8若(ROBC<0)且(0.5<-ROBC/TFBB<0.6)則Q=Q_INIT+10若(ROBC<0)且(0.6<-ROBC/TFBB<0.7)
則Q=Q_INIT+12若(ROBC<0)且(0.7<-ROBC/TFBB)則Q=Q_INIT+14若(ROBC>0)且(0.1<-ROBC/TFBB)則Q=Q_INIT-1否則ROBC=Q_INIT若預(yù)留直ROBC等于0,Q值就不進(jìn)行修正。若預(yù)留值是正的,Q可被減少以使用更多的比特(預(yù)留值的正值越大,減少的就越多)。相反,若預(yù)留值是負(fù)的,量化步長就增加(Q_INIT+2,Q_INIT+4,...),Q的增加與閾值為x%相關(guān),比率ROBC/TFBB與該閾值相比較。這種情況表示,對以前所有幀編碼所用的超出比特數(shù)大于總的固定比特預(yù)算TFBB的x%(在上述例子中,可看出預(yù)留值極少超過所述比特預(yù)算的27到30%)。
所有這些規(guī)則確定了一個總的規(guī)范,即為了在編碼處理結(jié)束時使預(yù)留值盡可能地接近0而設(shè)計。這將意味著實際使用的比特數(shù)等于TFBB。即使此量化步長處理不能保證如此編碼的序列的最佳質(zhì)量,但是基于執(zhí)行本編碼方法的單通道編碼器,看起來與已知的其它編碼器在已檢測的序列的主觀質(zhì)量上很相近。
權(quán)利要求
1.一種可變碼率的視頻編碼方法,為了對一系列幀進(jìn)行編碼,至少包括對輸入碼流的量化步驟,對所述量化后的碼流編碼的步驟,在所述編碼步驟的輸出根據(jù)緩沖器的占用量控制量化步長的步驟,所述方法其特征在于還包括分析步驟,用于根據(jù)與輸入碼流相關(guān)的參數(shù)來確定預(yù)留比特(ROBC)并在每一幀進(jìn)行周期地更新,和附加的控制步驟,用于根據(jù)所述預(yù)留比特的狀態(tài)保證、增加或減少量化步長值。
2.根據(jù)權(quán)利要求1所述的編碼方法,其特征在于所述量化步長值只在所述預(yù)留比特達(dá)到臨界值時進(jìn)行修正。
3.根據(jù)權(quán)利要求2所述的編碼方法,其特征在于所述量化步長的初始值Q_INIT根據(jù)給定的預(yù)留狀態(tài)(ROBC)由以下關(guān)系得到的若(ROBC<0)且(S1<-ROBC/TFBB<S2)則Q=Q_INIT+V1若(ROBC<0)且(S2<-ROBC/TFBB<S3)則Q=Q_INIT+V2若(ROBC<0)且(S3<-ROBC/TFBB<S4)則Q=Q_INIT+V3若(ROBC<0)且(S4<-ROBC/TFBB<S5)則Q=Q_INIT+V4若(ROBC<0)且(S5<-ROBC/TFBB<S6)則Q=Q_INIT+V5若(ROBC<0)且(S6<-ROBC/TFBB<S7)則Q=Q_INIT+V6若(ROBC<0)且(S7<-ROBC/TFBB)則Q=Q_INIT+V7若(ROBC>0)且(T1<-ROBC/TFBB)則Q=Q_INIT-V8否則ROBC=Q_INIT其中S1至S7是增加值的閾值,T1也是一個閾值,且V1到V8都是所述初始量化步長的變化量。
4.如權(quán)利要求3所述的編碼方法,其特征在于所述閾值S1至S7分別等于(0.07;0.15;0.27;0.4;0.5;0.6;0.7),T1等于(0,1)且所述變量V1至V8分別等于2,4,6,8,10,12,14和1。
5.一種可執(zhí)行如權(quán)利要求1至4所述的編碼方法的編碼裝置。
全文摘要
在記錄步驟中始終要求非常好的質(zhì)量的一種DVD標(biāo)準(zhǔn),它允許數(shù)據(jù)的可變碼率傳輸,因此當(dāng)圖像更復(fù)雜時需使用更多的比特。由于編碼的序列必須與固定比特預(yù)算相適應(yīng),本發(fā)明涉及這樣一種編碼方法,其中包括第一分析步驟,對編碼處理的量化步長進(jìn)行校正在第二控制步驟期間以規(guī)律的間隔執(zhí)行。這些變化是根據(jù)比特的預(yù)留狀態(tài)執(zhí)行的,并周期地計算和更新,但最好只在所述預(yù)留值達(dá)到臨界值時進(jìn)行,并從而保證所述預(yù)留值盡可能地接近0。
文檔編號H03M7/40GK1365576SQ01800577
公開日2002年8月21日 申請日期2001年3月6日 優(yōu)先權(quán)日2000年3月21日
發(fā)明者P·戈蒂爾, T·萊德魯 申請人:皇家菲利浦電子有限公司