亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

速率控制方法及設(shè)備的制作方法

文檔序號:7950990閱讀:272來源:國知局
專利名稱:速率控制方法及設(shè)備的制作方法
速率控制方法及設(shè)備背景技術(shù)通常,在將源視頻流編碼為具有預(yù)定格式的多個(gè)畫面組(GOP) 并通過信道以目標(biāo)速率傳輸所述GOP的情況下,視頻處理器可以包 括用于編碼源視頻流的編碼器、用于控制編碼器輸出速率的控制器、 以及用于在通過信道傳輸GOP之前暫時(shí)存儲GOP的緩沖器。控制器 可以基于緩沖器的預(yù)定目標(biāo)充滿度,控制編碼器對當(dāng)前幀進(jìn)行編碼的 目標(biāo)分配(targetallocation)(例如,目標(biāo)比特?cái)?shù)量)。


通過實(shí)例和附圖來闡述在此所述的本發(fā)明,但是本發(fā)明并不局限 于附圖。為了闡述的簡單清晰,附圖中所示的元件并不一定按比例繪 制。例如,為了清晰起見, 一些元件的尺寸可能相對于其他元件而被 放大。此外,在適當(dāng)考慮的情況下,參考標(biāo)記在多個(gè)附圖中重復(fù)出現(xiàn), 以指示相應(yīng)的或者類似的元件。圖1是視頻處理系統(tǒng)的一個(gè)實(shí)施例;圖2是在圖1的視頻處理系統(tǒng)中的控制器的一個(gè)實(shí)施例; 圖3是速率控制方法的一個(gè)實(shí)施例;圖4是適應(yīng)性地確定在圖3的速率控制方法中使用的目標(biāo)緩沖器充滿度(buffer flillness)的方法的實(shí)施例;圖5是目標(biāo)緩沖器充滿度模式(pattern)的一個(gè)實(shí)例;圖6是目標(biāo)緩沖器充滿度模式的另一實(shí)例;以及圖7是根據(jù)圖4的方法而適應(yīng)性地確定的目標(biāo)緩沖器充滿度模式的一個(gè)實(shí)例。
具體實(shí)施方式
以下描述說明了用于存儲器寫入方法和系統(tǒng)的技術(shù)。在以下描述中,提出了多個(gè)具體細(xì)節(jié),例如邏輯實(shí)現(xiàn)、偽代碼、指定操作數(shù)的方 法、源劃分/共享復(fù)制的實(shí)現(xiàn)、系統(tǒng)組件的類型及相互關(guān)系、以及邏 輯劃分/集成的選擇,以便提供對本發(fā)明的更為透徹的理解。然而, 在沒有這些具體細(xì)節(jié)的情況下也可以實(shí)現(xiàn)本發(fā)明。在其他實(shí)例中,沒 有詳細(xì)示出控制結(jié)構(gòu)、門級別的電路以及完整的軟件指令序列,以便 不會使本發(fā)明變得難以理解。本領(lǐng)域普通技術(shù)人員利用所包含的說明 將能夠在不進(jìn)行過度試驗(yàn)的情況下實(shí)現(xiàn)正確的功能。在說明書中提到的"一個(gè)實(shí)施例"、"實(shí)施例"、"實(shí)例實(shí)施例"等 等,指示所描述的實(shí)施例可以包含特定特征、結(jié)構(gòu)或者特點(diǎn),但是并 不是每個(gè)實(shí)施例都必然包含這些特定特征、結(jié)構(gòu)或者特點(diǎn)。此外,這 些措辭并非必然指代同一實(shí)施例。此外,當(dāng)結(jié)合實(shí)施例描述特定特征、 結(jié)構(gòu)或者特點(diǎn)時(shí),就認(rèn)為不管是否明確說明,結(jié)合其他實(shí)施例來實(shí)現(xiàn) 這些特定特征、結(jié)構(gòu)或者特點(diǎn)是在本領(lǐng)域技術(shù)人員的知識范圍之內(nèi)。本發(fā)明的實(shí)施例可以用硬件、固件、軟件、或者其任意組合來實(shí) 現(xiàn)。本發(fā)明的實(shí)施例還可以實(shí)現(xiàn)為存儲在機(jī)器可讀介質(zhì)上的指令,其 能夠通過一個(gè)或多個(gè)處理器讀出并執(zhí)行。機(jī)器可讀指令可以包括用于 以機(jī)器(例如,計(jì)算裝置)可讀的形式來存儲或傳輸信息的任何機(jī)制。例如,機(jī)器可讀介質(zhì)可以包括只讀存儲器(ROM);隨機(jī)存取存儲器 (RAM);磁盤存儲介質(zhì);光存儲介質(zhì);閃存裝置;電、光、聲、或 其他形式的傳播信號(例如,載波、紅外信號、數(shù)字信號、等等)以 及其他。圖1示出了視頻處理系統(tǒng)的一個(gè)實(shí)施例。視頻處理系統(tǒng)的實(shí)例的 非窮舉式列表可以包括分布式計(jì)算系統(tǒng)、超級計(jì)算機(jī)、計(jì)算集群、 大型計(jì)算機(jī)、小型計(jì)算機(jī)、客戶機(jī)-服務(wù)器系統(tǒng)、個(gè)人計(jì)算機(jī)、工作 站、便攜式計(jì)算機(jī)、膝上型計(jì)算機(jī)、移動電話或者個(gè)人數(shù)字助理 (PDA)、或者能夠進(jìn)行視頻處理和傳輸?shù)钠渌b置。在一個(gè)實(shí)施例中,視頻處理系統(tǒng)可以包括視頻輸入組件11、 一個(gè)或多個(gè)處理器12、存儲器13、視頻輸出組件14、以及芯片組15。 視頻輸入組件11可以輸入源視頻流。在一個(gè)實(shí)施例中,視頻輸入組 件可以包括用于輸入源圖像的源圖像輸入組件,以及用于在對源圖像進(jìn)行編碼之前對其進(jìn)行預(yù)處理的預(yù)處理組件。源圖像輸入組件的實(shí)例可以包括用于拍攝源圖像的攝像頭(camera header)、用于從圖像 記錄介質(zhì)(諸如膠片等等)中讀出源圖像的源圖像讀取器。預(yù)處理組 件的實(shí)例可以包括用于將模擬的源圖像轉(zhuǎn)換為數(shù)字的源視頻流的模 數(shù)轉(zhuǎn)換器。一個(gè)或多個(gè)處理器12綠由諸如處理器總線之類的一個(gè)或多個(gè)總 線可通信地耦合到各種組件(例如存儲器13)。處理器12可以實(shí)現(xiàn) 為具有一個(gè)或多個(gè)處理內(nèi)核的集成電路(IC)。處理器12可以包括諸 如Intel Pentium 4處理器或者Intel XScale⑧處理器之類的微處理 器,其執(zhí)行用于實(shí)現(xiàn)各種任務(wù)的指令。具體而言,處理器12可以執(zhí) 行用于控制視頻流的編碼和解碼的指令。存儲器13可以存儲處理器12要執(zhí)行的代碼。在一個(gè)實(shí)施例中, 存儲器13可以存儲從視頻輸入組件11輸入的源視頻流121,編碼器 122將源視頻流按照各種視頻編碼標(biāo)準(zhǔn)(諸如MPEG-1、 MPEG-2、 MPEG-4、 H.261、 H.263、 H.264、 AVS (視頻))編碼為包含多個(gè)幀 的畫面組(GOP);緩沖器123暫時(shí)存儲這些幀;速率控制器124控 制編碼器122輸出這些幀至緩沖器123的輸出速率。速率控制器124可以控制待編碼的當(dāng)前幀(例如,GOP中第n 幀)的目標(biāo)分配(例如,目標(biāo)比特?cái)?shù)量),編碼器122可以采用基于 從速率控制器124輸出的目標(biāo)分配而確定的實(shí)際分配(例如,實(shí)際比 特?cái)?shù)量)來編碼當(dāng)前幀。在一個(gè)實(shí)施例中,速率控制器可以根據(jù)在先 前幀(例如,GOP中第(n- 1)幀)進(jìn)入緩沖器123之后的時(shí)刻的 實(shí)際緩沖器充滿度以及該先前幀的目標(biāo)緩沖器充滿度,來控制當(dāng)前幀 的目標(biāo)分配。在另一實(shí)施例中,如果當(dāng)前幀是GOP中起始幀,則可 以預(yù)先確定"先前幀"的實(shí)際充滿度以及其目標(biāo)緩沖器充滿度。視頻輸出組件14可以輸出在緩沖器123中的幀。在一個(gè)實(shí)施例 中,視頻輸出組件14可以以目標(biāo)速率通過信道輸出所述幀。視頻輸 出組件14的實(shí)例可以包括網(wǎng)卡、藍(lán)牙等等。芯片組15可以提供在視 頻輸入組件11、處理器12、存儲器13和視頻處理組件14之間的一 個(gè)或多個(gè)可通信路徑。其他實(shí)施例可以實(shí)現(xiàn)對上述視頻處理系統(tǒng)10的結(jié)構(gòu)的其他修改 和變形。例如,視頻處理系統(tǒng)IO還可以包括除了圖1所示的視頻輸 入/輸出組件之外的其他I/O組件。對于另一實(shí)例,視頻處理系統(tǒng)10 還可以包括BIOS固件,其可以存儲在系統(tǒng)啟動過程中視頻處理系統(tǒng) 10執(zhí)行來初始化處理器12、芯片組15以及視頻處理系統(tǒng)10的其他 組件的例行程序。圖2示出了圖1中的速率控制器124的實(shí)施例。速率控制器124 可以包括目標(biāo)緩沖器充滿度邏輯(target buffer fUllness logic) 210以 及目標(biāo)分配邏輯(targetallocation logic) 211。目標(biāo)緩沖器充滿度邏輯 210可以確定GOP中每個(gè)幀的目標(biāo)緩沖器充滿度,以便在GOP中至 少兩個(gè)幀具有不同目標(biāo)緩沖器充滿度的情況下形成GOP的目標(biāo)緩沖 器充滿度模式。圖5和6示出了目標(biāo)緩沖器充滿度模式的兩個(gè)實(shí)例。如圖5所示, 目標(biāo)緩沖器充滿度模式可以是斜線,其中GOP中第一幀的目標(biāo)緩沖 器充滿度比其最后一幀的目標(biāo)緩沖器充滿度高。圖5的目標(biāo)緩沖器充 滿度模式可以適合于GOP可能以一個(gè)或多個(gè)幀內(nèi)編碼畫面幀(即I 幀)開始并隨后跟著多個(gè)幀間編碼畫面幀(即P幀)和/或者雙向預(yù) 測幀(即B幀)的情況。通常,I幀可能比P幀或B幀花費(fèi)更多的比 特分配。如圖6所示,目標(biāo)緩沖器充滿度模式可以是類似Z字型的模式, 其中GOP中第一幀的目標(biāo)緩沖器充滿度比其最后一幀的目標(biāo)緩沖器 充滿度高。圖6的目標(biāo)緩沖器充滿度模式不僅可以適合于參考圖5所 述的情況,而且還適合于GOP的復(fù)雜度在GOP中不一致的情況,例 如第一幀到第五幀的復(fù)雜度比第六幀到第十幀的復(fù)雜度高,但是比第 十一幀到第十五幀的復(fù)雜度低,等等。在其他實(shí)施例中,目標(biāo)緩沖器 充滿度模式可以具有除了圖5和6中的形式之外的其他形式??梢砸愿鞣N方式確定每個(gè)幀的目標(biāo)緩沖器充滿度。在一個(gè)實(shí)施例 中,可以在對GOP中起始幀進(jìn)行編碼之前,根據(jù)一個(gè)(或多個(gè))特 定因子(例如,在對起始幀進(jìn)行編碼之前時(shí)刻的實(shí)際緩沖器充滿度, 和/或者畫面復(fù)雜度的估計(jì)等等)來確定目標(biāo)緩沖器充滿度。在另一實(shí)施例中,可以在對GOP進(jìn)行編碼的處理之前或者過程中適應(yīng)性地 確定GOP中每個(gè)幀的目標(biāo)緩沖器充滿度。例如,GOP (例如圖5中 的GOP2)中每個(gè)幀的目標(biāo)緩沖器充滿度可以在對該GOP編碼之前, 根據(jù)另一 GOP中某個(gè)幀(例如,在圖5中的GOPl的最后一幀)的 實(shí)際緩沖器充滿度和目標(biāo)緩沖器充滿度來確定,或者,該目標(biāo)緩沖器 充滿度可以在對該GOP進(jìn)行編碼的處理過程中,根據(jù)該GOP中某個(gè) 幀(例如,圖5中的GOP2的第一幀)的實(shí)際緩沖器充滿度和目標(biāo)緩 沖器充滿度來確定。目標(biāo)分配邏輯211可以根據(jù)從緩沖器123輸出的GOP中某個(gè)先 前幀(例如,在圖5中的GOP2的第3幀)的實(shí)際緩沖器充滿度以及 從目標(biāo)緩沖器充滿度邏輯210輸出的該先前幀的目標(biāo)緩沖器充滿度, 來確定該GOP中當(dāng)前幀(例如,圖5中的GOP2的第4幀)的目標(biāo) 分配。在一個(gè)實(shí)施例中,如果先前幀的實(shí)際緩沖器充滿度小于其目標(biāo) 緩沖器充滿度,則目標(biāo)分配邏輯211可以將當(dāng)前幀的目標(biāo)分配確定為 大于平均目標(biāo)分配,反之亦然。平均目標(biāo)分配可以根據(jù)視頻輸出組件 14從緩沖器123輸出編碼幀的預(yù)定目標(biāo)速率以及預(yù)定幀速率來確定。 在另一實(shí)施例中,如果先前幀的實(shí)際緩沖器充滿度大于某個(gè)預(yù)定閾 值,例如,緩沖器溢出警告等級,則目標(biāo)分配邏輯211可以將當(dāng)前幀 的目標(biāo)分配確定為是O,即,編碼器122可以跳過對當(dāng)前幀的編碼。在一個(gè)實(shí)施例中,速率控制器124還可以包括實(shí)際緩沖器充滿度 邏輯212,用于計(jì)算一個(gè)幀的實(shí)際緩沖器充滿度,而不是從緩沖器123 獲得該實(shí)際緩沖器充滿度。例如,實(shí)際緩沖器充滿度邏輯212可以根 據(jù)在一個(gè)幀之前編碼的另一幀的實(shí)際緩沖器充滿度、由編碼器122確 定的所述另一幀的實(shí)際分配、以及平均目標(biāo)分配,來計(jì)算該幀的實(shí)際 緩沖器充滿度(即,在該幀進(jìn)入緩沖器123之后的實(shí)際緩沖器充滿 度)。編碼器122還可以包括量化參數(shù)邏輯213,用于根據(jù)一個(gè)幀的目 標(biāo)分配以及畫面復(fù)雜度估計(jì)來計(jì)算該幀和/或者該幀中多個(gè)塊的量化 參數(shù),從而使得編碼器122可以基于該量化參數(shù)對該幀進(jìn)行編碼。可 替換的,量化參數(shù)邏輯213可以位于速率控制器124內(nèi)部。參考圖3和圖4,將詳細(xì)描述速率控制方法的一個(gè)實(shí)施例。圖3 示出了速率控制方法的一個(gè)實(shí)施例。該速率控制方法可以采用圖1中 的速率控制器124來實(shí)現(xiàn)。在框301中,控制器124的目標(biāo)緩沖器充 滿度邏輯210可以確定GOP中每個(gè)幀的目標(biāo)緩沖器充滿度。GOP可 以包括在當(dāng)前幀(例如,第n幀)之前編碼的先前幀(例如,第(n-1)幀)。如以上參考圖2所述,GOP中每個(gè)幀的目標(biāo)緩沖器充滿度 可以在對該GOP中的起始幀進(jìn)行編碼之前預(yù)先確定,或者可以在對 該GOP進(jìn)行編碼之前或者處理過程中適應(yīng)性地確定。稍后將參考圖 4描述適應(yīng)性地確定GOP中每個(gè)幀的目標(biāo)緩沖器充滿度的實(shí)施例。在框302中,目標(biāo)分配邏輯211可以獲得先前幀的實(shí)際緩沖器充 滿度。先前幀的實(shí)際緩沖器充滿度能夠從緩沖器123中獲得,或者可 以通過采用以下公式計(jì)算在先前幀之前編碼的另一幀(例如,第(n-1)幀)的實(shí)際緩沖器充滿度來獲得BFn-, = BFn_2 + AL^ - R/F 其中,BF^表示第(n-1)幀的實(shí)際緩沖器充滿度;BFn—2表示第(n -2)幀的實(shí)際緩沖器充滿度;AL^表示第(n-l)幀的實(shí)際分配; R表示視頻輸出組件14從緩沖器123輸出所述多個(gè)幀的目標(biāo)速率;F 表示目標(biāo)幀速率。在框303中,速率控制器124的目標(biāo)分配邏輯211可以判斷先前 幀的實(shí)際緩沖器充滿度是否高于緩沖器溢出警告等級。如果是,則目 標(biāo)分配邏輯211可以將當(dāng)前幀的目標(biāo)分配確定為是0 (框304)。如果目標(biāo)分配邏輯211在框303中判定先前幀的實(shí)際緩沖器充滿 度低于該緩沖器溢出警告等'級,則目標(biāo)分配邏輯211可以繼續(xù)在框 305中判斷該實(shí)際緩沖器充滿度是否高于其目標(biāo)緩沖器充滿度。目標(biāo) 分配邏輯211可以以不同方式實(shí)現(xiàn)框305。在一個(gè)實(shí)施例中,可以將 在框301中所確定的該GOP中每個(gè)幀的目標(biāo)緩沖器充滿度存儲在表 格中。然后,目標(biāo)分配邏輯211可以通過從該表格中搜索與先前幀相 對應(yīng)的表項(xiàng)來獲得先前幀的目標(biāo)緩沖器充滿度,然后確定該實(shí)際緩沖 器充滿度是否高于其目標(biāo)緩沖器充滿度。在另一實(shí)施例中,如果該 GOP的目標(biāo)緩沖器充滿度模式是如圖5中所示的斜線,則速率控制器124可以判斷先前幀的實(shí)際緩沖器充滿度是否大于<formula>formula see original document page 14</formula>,,其中,A是GOP的目標(biāo)緩沖器充滿度的中間點(diǎn)等級,C是該斜線的最高點(diǎn)與最低點(diǎn)之間的峰值差,i是先前幀的 幀索引,N是GOP的幀數(shù)量,同時(shí)1^&N。如果目標(biāo)分配邏輯211在框305中判定先前幀的實(shí)際緩沖器充滿 度并不高于其目標(biāo)緩沖器充滿度,則目標(biāo)分配邏輯211可以將當(dāng)前幀 的目標(biāo)分配確定為大于平均目標(biāo)分配(框306)。在一個(gè)實(shí)施例中, 目標(biāo)分配邏輯211可以采用以下公式來計(jì)算當(dāng)前幀的目標(biāo)分配TLn = R/F + Ai其中,TL。是第n幀(即,當(dāng)前幀)的目標(biāo)分配,R/F表示基于目標(biāo) 速率R和目標(biāo)幀速率F計(jì)算的平均目標(biāo)比特?cái)?shù)量;^是增量。在一 個(gè)實(shí)施例中,增量A,可以是先前幀的實(shí)際緩沖器充滿度與目標(biāo)緩沖 器充滿度之間的差值。然而,增量Ai可以包含按照緩沖器容量和/或 者GOP特征(例如GOP的長度和復(fù)雜度)而確定的任何值。然而,目標(biāo)分配邏輯211在框305中判定先前幀的實(shí)際緩沖器充 滿度高于其目標(biāo)緩沖器充滿度,則目標(biāo)分配邏輯211可以將當(dāng)前幀的 目標(biāo)比特?cái)?shù)量確定為小于該平均目標(biāo)比特?cái)?shù)量(框507)。例如,控 制器可以采用以下公式計(jì)算當(dāng)前幀的目標(biāo)比特?cái)?shù)量-TXn = R/F-A2其中,厶2表示減量(decrement)。在一個(gè)實(shí)施例中,減量^可以基 于先前幀的實(shí)際緩沖器充滿度以及目標(biāo)幀速率(例如BF^/F)來確定。 然而,減量~可以包含按照緩沖器容量和/或者GOP特征(例如GOP 的長度和復(fù)雜度)而確定的任何值。上述方法可以用于確定GOP中起始幀的目標(biāo)比特?cái)?shù)量,除了要 預(yù)先確定"先前幀"的實(shí)際緩沖器充滿度以及其相應(yīng)的目標(biāo)緩沖器充 滿度之外。圖4示出了用于適應(yīng)性地確定在圖3中的方法中使用的GOP(例 如,當(dāng)前GOP)中每個(gè)幀的目標(biāo)緩沖器充滿度的一個(gè)實(shí)施例。在框 401中,速率控制器124的目標(biāo)緩沖器充滿度邏輯210可以將當(dāng)前GOP中每個(gè)幀的目標(biāo)緩沖器充滿度初始化為某個(gè)特定值。在一個(gè)實(shí) 施例中,目標(biāo)緩沖器充滿度可以被初始化為用于另一 GOP中每個(gè)幀 的值,例如,所述另一GOP可以在當(dāng)前GOP之前進(jìn)行編碼(例如, 先前GOP)。然而,其他實(shí)施例可以實(shí)現(xiàn)對框401的其他修改和變形。在框402中,目標(biāo)緩沖器充滿度邏輯210可以獲得先前GOP中 的某個(gè)幀(例如,其最后一幀)的實(shí)際緩沖器充滿度。目標(biāo)緩沖器充 滿度邏輯210可以以不同方式實(shí)現(xiàn)框402。在一個(gè)實(shí)施例中,目標(biāo)緩 沖器充滿度邏輯210可以從緩沖器123獲得該最后一幀的實(shí)際緩沖器 充滿度。在另一實(shí)施例中,目標(biāo)緩沖器充滿度邏輯210可以從實(shí)際緩 沖器充滿度邏輯212獲得實(shí)際緩沖器充滿度,實(shí)際緩沖器充滿度邏輯 212可以采用公式BFn., =BFn_2 + AL^ — R/F計(jì)算實(shí)際緩沖器充滿度。在框403中,目標(biāo)緩沖器充滿度邏輯210可以確定先前GOP中 最后一幀的實(shí)際緩沖器充滿度是否高于預(yù)定閾值。在一個(gè)實(shí)施例中, 該閾值被確定為是緩沖器容量的一半。在其他實(shí)施例中,只要與緩沖 器容量和/或者當(dāng)前GOP的特征(例如當(dāng)前GOP的長度和復(fù)雜度) 一致,該閾值可以是其他值。如果在框403中,目標(biāo)緩沖器充滿度邏輯210判定該最后一幀的 實(shí)際緩沖器充滿度高于該預(yù)定閾值,則目標(biāo)緩沖器充滿度邏輯210可 以在框405中調(diào)節(jié)當(dāng)前GOP中每個(gè)幀的目標(biāo)緩沖器充滿度。在一個(gè) 實(shí)施例中,如果目標(biāo)緩沖器充滿度模式是如圖5和6所示的斜線或者 Z字型線,則目標(biāo)緩沖器充滿度邏輯210可以進(jìn)行調(diào)節(jié),以增加斜線 或者Z字型線的傾斜度,例如,可以將傾斜度增加一個(gè)或多個(gè)步長(例 如, 一個(gè)步長=5°)。然而,其他實(shí)施例可以實(shí)現(xiàn)對框405的其他修 改和變形。如果在框403中,目標(biāo)緩沖器充滿度邏輯210判定先前GOP中 最后一幀的實(shí)際緩沖器充滿度小于該預(yù)定閾值,則目標(biāo)緩沖器充滿度 邏輯210可以繼續(xù)在框404中判斷該最后一幀的實(shí)際緩沖器充滿度是 否小于其目標(biāo)緩沖器充滿度。如上所述,目標(biāo)緩沖器充滿度邏輯210 可以以各種方式獲得該最后一幀的目標(biāo)緩沖器充滿度。在一個(gè)實(shí)施例 中,目標(biāo)緩沖器充滿度可以通過從表格中搜索存儲了與該最后一幀相對應(yīng)的目標(biāo)緩沖器充滿度的表項(xiàng)來獲得。在另一實(shí)施例中,如果先前GOP的目標(biāo)緩沖器充滿度模式是如圖5所示的斜線,則可以采用以 下公式來獲得目標(biāo)緩沖器充滿度-其中,TBFN是第N幀(即,最后一幀)的目標(biāo)緩沖器充滿度。如果目標(biāo)緩沖器充滿度邏輯210在框404中判定該最后一幀的實(shí) 際緩沖器充滿度不小于其目標(biāo)緩沖器充滿度,則圖4中的方法可以到 結(jié)束,即,目標(biāo)緩沖器充滿度邏輯210可以保持當(dāng)前GOP中每個(gè)幀 的初始化目標(biāo)緩沖器充滿度不變。然而,如果反之,則目標(biāo)緩沖器充 滿度邏輯210可以在框405中調(diào)節(jié)當(dāng)前GOP中每個(gè)幀的目標(biāo)緩沖器 充滿度。在一個(gè)實(shí)施例中,如果目標(biāo)緩沖器充滿度模式是如圖5和6 所示的斜線或者Z字型線,則目標(biāo)緩沖器充滿度邏輯210可以進(jìn)行調(diào) 節(jié),以便降低斜線或者Z字型線的傾斜度,例如,可以將傾斜度降低 一個(gè)或多個(gè)步長(例如, 一個(gè)步長=5°)。然而,其他實(shí)施例可以實(shí) 現(xiàn)對框405的其他修改和變形。圖7示出了對當(dāng)前GOP的目標(biāo)緩沖器充滿度模式的傾斜度進(jìn)行 調(diào)節(jié)的實(shí)例。如所示,參考平衡等級(例如,緩沖器容量的一半)來 調(diào)節(jié)該傾斜度。其他實(shí)施例可以以所述平衡等級之外的參考來調(diào)節(jié)該 傾斜度。返回參考圖4,在框406中,目標(biāo)緩沖器充滿度邏輯210可以進(jìn) 一步判斷是否當(dāng)前GOP中至少一個(gè)幀的目標(biāo)緩沖器充滿度位于由預(yù) 定的上限和下限所定義的范圍之夕卜。如果是,則目標(biāo)緩沖器充滿度邏 輯210可以在框407中基于所述上限和下限來進(jìn)一步調(diào)節(jié)當(dāng)前GOP 中至少一個(gè)幀的目標(biāo)緩沖器充滿度。如果不是,則圖4中的方法可以 到結(jié)束,這表示當(dāng)前GOP中每個(gè)幀的目標(biāo)緩沖器充滿度被確定為是 在框405中進(jìn)行調(diào)節(jié)的目標(biāo)緩沖器充滿度。如上所述,可以根據(jù)一個(gè)(或多個(gè))特定因子來預(yù)先確定多個(gè) GOP中的起始GOP中每個(gè)幀的目標(biāo)緩沖器充滿度。已經(jīng)參考圖4描 述了用于確定GOP中每個(gè)幀的目標(biāo)緩沖器充滿度的方法的一個(gè)實(shí)施例。然而,其他實(shí)施例可以實(shí)現(xiàn)對圖4方法的其他修改或者變形。例 如,圖4示出了在對GOP進(jìn)行編碼之前確定GOP中每個(gè)幀的目標(biāo)緩 沖器充滿度。然而,其他實(shí)施例可以在其他時(shí)間點(diǎn),例如在對GOP 中第一幀進(jìn)行編碼之后,來確定GOP的目標(biāo)緩沖器充滿度。在該情況下,目標(biāo)緩沖器充滿度邏輯210可以首先將GOP中每 個(gè)幀的目標(biāo)緩沖器充滿度初始化為與另一 GOP中每個(gè)幀的目標(biāo)緩沖 器充滿度相同的值。在編碼器122對GOP中第一幀進(jìn)行編碼并將編 碼幀輸出到緩沖器123之后,目標(biāo)緩沖器充滿度邏輯210可以獲得第 一幀的實(shí)際緩沖器充滿度。然后,可以將該實(shí)際緩沖器充滿度與預(yù)定 的緩沖器溢出警告等級以及其目標(biāo)緩沖器充滿度進(jìn)行比較。如果實(shí)際 緩沖器充滿度高于警告等級或者小于其目標(biāo)緩沖器充滿度,則可以調(diào) 節(jié)GOP中每個(gè)幀的目標(biāo)緩沖器充滿度。在一個(gè)實(shí)施例中,如果GOP 的目標(biāo)緩沖器充滿度模式是斜線或Z字型線,則目標(biāo)緩沖器充滿度邏 輯210可以進(jìn)行調(diào)節(jié),以增加(在實(shí)際緩沖器充滿度高于警告等級的 情況下)或者降低(在實(shí)際緩沖器充滿度小于其目標(biāo)緩沖器充滿度的 情況下)斜線或者Z字型線的傾斜度。然后,如果實(shí)際緩沖器充滿度 位于由預(yù)定上限和下限所定義的范圍之外,則目標(biāo)緩沖器充滿度邏輯 210可以進(jìn)一步修改GOP的至少一個(gè)幀的結(jié)果目標(biāo)緩沖器充滿度。雖然結(jié)合特定實(shí)施例描述了本發(fā)明,但是應(yīng)該理解,本領(lǐng)域技術(shù) 人員容易理解的是,在不脫離本發(fā)明的精神和范圍的情況下,可以進(jìn)行多種修改和變形。這種修改和變形認(rèn)為是在本發(fā)明以及附帶的權(quán)利 要求的范圍之內(nèi)。
權(quán)利要求
1、一種方法,包括確定多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度模式;并且基于所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度,執(zhí)行速率控制,其中,所述多個(gè)幀中的至少兩個(gè)幀具有不同的目標(biāo)緩沖器充滿度。
2、 如權(quán)利要求l所述的方法,其中,執(zhí)行所述速率控制的步驟 還包括獲得所述多個(gè)幀中一先前幀的實(shí)際緩沖器充滿度;并且基于所述先前幀的實(shí)際緩沖器充滿度和目標(biāo)緩沖器充滿度,確定 當(dāng)前幀的目標(biāo)分配。
3、 如權(quán)利要求1所述的方法,還包括基于所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度來確定所述多個(gè)幀的目標(biāo)緩沖器充滿度模式,其中,所述目標(biāo)緩沖器充滿度模式是斜線和z字型線中的一種。
4、 如權(quán)利要求l所述的方法,其中,確定所述目標(biāo)分配的步驟 還包括如果所述先前幀的實(shí)際緩沖器充滿度高于緩沖器溢出警告等級,則將所述當(dāng)前幀的目標(biāo)分配確定為是o。
5、 如權(quán)利要求l所述的方法,其中,確定所述目標(biāo)分配的步驟還包括如果所述先前幀的實(shí)際緩沖器充滿度低于所述先前幀的目標(biāo)緩 沖器充滿度,則將所述當(dāng)前幀的目標(biāo)分配確定為大于平均目標(biāo)分配, 其中,所述平均目標(biāo)分配是根據(jù)預(yù)定目標(biāo)速率以及預(yù)定目標(biāo)幀速率而 確定的;并且如果所述先前幀的實(shí)際緩沖器充滿度大于所述先前幀的目標(biāo)緩 沖器充滿度,則將所述當(dāng)前幀的目標(biāo)分配確定為低于所述平均目標(biāo)分配。
6、 如權(quán)利要求l所述的方法,其中,確定所述目標(biāo)緩沖器充滿度的步驟還包括適應(yīng)性地確定所述多個(gè)幀中至少一個(gè)幀的目標(biāo)緩沖 器充滿度。
7、 如權(quán)利要求6所述的方法,其中,適應(yīng)性地確定所述目標(biāo)緩沖器充滿度的步驟還包括將所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度初始化為在所述多 個(gè)幀之前的另外的多個(gè)幀中的每個(gè)幀的目標(biāo)緩沖器充滿度;并且基于所述另外的多個(gè)幀中最后一幀的實(shí)際緩沖器充滿度和目標(biāo) 緩沖器充滿度,來調(diào)節(jié)所述多個(gè)幀中至少一個(gè)幀的目標(biāo)緩沖器充滿 度。
8、 如權(quán)利要求6所述的方法,其中,適應(yīng)性地確定所述目標(biāo)緩 沖器充滿度的步驟還包括將所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度初始化為在所述多 個(gè)幀之前的另外的多個(gè)幀中的每個(gè)幀的目標(biāo)緩沖器充滿度;并且基于所述多個(gè)幀中第一幀的實(shí)際緩沖器充滿度和目標(biāo)緩沖器充 滿度,來調(diào)節(jié)所述多個(gè)幀中至少一個(gè)幀的目標(biāo)緩沖器充滿度。
9、 一種設(shè)備,包括目標(biāo)緩沖器充滿度邏輯,用于確定多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器 充滿度,所述多個(gè)幀包括一先前幀;以及目標(biāo)分配邏輯,用于基于所述先前幀的實(shí)際緩沖器充滿度以及所 述先前幀的目標(biāo)緩沖器充滿度,來確定當(dāng)前幀的目標(biāo)分配,其中,所述多個(gè)幀中至少兩個(gè)幀具有不同的目標(biāo)緩沖器充滿度。
10、 如權(quán)利要求9所述的設(shè)備,還包括實(shí)際緩沖器充滿度邏輯, 用于基于所述先前幀的實(shí)際分配以及平均目標(biāo)分配來計(jì)算所述先前幀的實(shí)際緩沖器充滿度,其中,所述平均目標(biāo)分配是基于預(yù)定目標(biāo)速 率以及預(yù)定幀速率而確定的。
11、 如權(quán)利要求9所述的設(shè)備,所述目標(biāo)緩沖器充滿度邏輯還基 于所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度來確定所述多個(gè)幀的目 標(biāo)緩沖器充滿度模式,其中,所述目標(biāo)緩沖器充滿度模式是傾斜的。
12、 如權(quán)利要求9所述的設(shè)備,其中,所述目標(biāo)分配邏輯還在所 述先前幀的實(shí)際緩沖器充滿度高于緩沖器溢出警告等級的情況下將 所述當(dāng)前幀的目標(biāo)分配確定為是O。
13、 如權(quán)利要求9所述的設(shè)備,其中,所述目標(biāo)分配邏輯還在所述先前幀的實(shí)際緩沖器充滿度低于所 述先前幀的目標(biāo)緩沖器充滿度的情況下將所述當(dāng)前幀的目標(biāo)分配確 定為大于平均目標(biāo)分配,在所述先前幀的實(shí)際緩沖器充滿度大于所述 先前幀的目標(biāo)緩沖器充滿度的情況下將所述當(dāng)前幀的目標(biāo)分配確定 為低于所述平均目標(biāo)分配;并且所述平均目標(biāo)分配是根據(jù)預(yù)定目標(biāo)速率以及預(yù)定目標(biāo)幀速率而 確定的。
14、 如權(quán)利要求9所述的設(shè)備,其中,所述目標(biāo)緩沖器充滿度邏 輯適應(yīng)性地確定所述多個(gè)幀中至少一個(gè)幀的目標(biāo)緩沖器充滿度。
15、 如權(quán)利要求14所述的設(shè)備,其中,所述目標(biāo)緩沖器充滿度 邏輯將所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度初始化為在所述多 個(gè)幀之前的另外的多個(gè)幀中的每個(gè)幀的目標(biāo)緩沖器充滿度;并且基于所述另外的多個(gè)幀中最后一幀的實(shí)際緩沖器充滿度和目標(biāo) 緩沖器充滿度,來調(diào)節(jié)所述多個(gè)幀中至少一個(gè)幀的目標(biāo)緩沖器充滿 度。
16、 如權(quán)利要求14所述的設(shè)備,其中,所述目標(biāo)緩沖器充滿度邏輯將所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度初始化為在所述多 個(gè)幀之前的另外的多個(gè)幀中的每個(gè)幀的目標(biāo)緩沖器充滿度;并且基于所述多個(gè)幀中第一幀的實(shí)際緩沖器充滿度和目標(biāo)緩沖器充 滿度,來調(diào)節(jié)所述多個(gè)幀中至少一個(gè)幀的目標(biāo)緩沖器充滿度。
17、 一種系統(tǒng),包括 輸入組件,用于輸入視頻流,編碼器,用于將所述視頻流編碼為具有預(yù)定格式的多個(gè)幀;以及 控制器,通過利用所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度,來控制從所述編碼器輸出所述多個(gè)幀的速率,其中,所述多個(gè)幀中的至少兩個(gè)幀具有不同的目標(biāo)緩沖器充滿度。
18、 如權(quán)利要求17所述的系統(tǒng),還包括緩沖器,用于在以預(yù)定 目標(biāo)速率傳輸從所述編碼器輸出的所述多個(gè)幀之前,存儲所述多個(gè) 幀。
19、 如權(quán)利要求17所述的系統(tǒng),其中,所述控制器 確定所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度,所述多個(gè)幀包括一先前幀;確定所述先前幀的實(shí)際緩沖器充滿度,并且 基于所述先前幀的實(shí)際緩沖器充滿度和目標(biāo)緩沖器充滿度,來確 定當(dāng)前幀的目標(biāo)分配。
20、 如權(quán)利要求17所述的系統(tǒng),其中,所述控制器確定所述多 個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度,以形成所述多個(gè)幀的目標(biāo)緩沖器 充滿度模式,所述目標(biāo)緩沖器充滿度模式包括斜線和Z字型線中的一 種。
21、 如權(quán)利要求17所述的系統(tǒng),其中,所述控制器適應(yīng)性地確 定所述多個(gè)幀中至少一個(gè)幀的目標(biāo)緩沖器充滿度。
22、 如權(quán)利要求22所述的系統(tǒng),其中,所述控制器 將所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度初始化為在所述多個(gè)幀之前的另外的多個(gè)幀中的每個(gè)幀的目標(biāo)緩沖器充滿度;并且基于所述另外的多個(gè)幀中最后一幀的實(shí)際緩沖器充滿度和目標(biāo) 緩沖器充滿度,來調(diào)節(jié)所述多個(gè)幀中至少一個(gè)幀的目標(biāo)緩沖器充滿 度。
23、 如權(quán)利要求22所述的系統(tǒng),其中,所述控制器 將所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度初始化為在所述多個(gè)幀之前的另外的多個(gè)幀中的每個(gè)幀的目標(biāo)緩沖器充滿度;并且基于所述多個(gè)幀中第一幀的實(shí)際緩沖器充滿度和目標(biāo)緩沖器充 滿度,來調(diào)節(jié)所述多個(gè)幀中至少一個(gè)幀的目標(biāo)緩沖器充滿度。
24、 一種機(jī)器可讀介質(zhì),其包含多個(gè)指令,響應(yīng)于所述多個(gè)指 令的執(zhí)行導(dǎo)致計(jì)算裝置-確定多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度模式;并且 基于所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度,執(zhí)行速率控制, 其中,所述多個(gè)幀中的至少兩個(gè)幀具有不同的目標(biāo)緩沖器充滿度。
25、 如權(quán)利要求24所述的機(jī)器可讀介質(zhì),其中,所述多個(gè)指令 還導(dǎo)致所述計(jì)算設(shè)備獲得所述多個(gè)幀中一先前幀的實(shí)際緩沖器充滿度;并且 基于所述先前幀的實(shí)際緩沖器充滿度和目標(biāo)緩沖器充滿度,確定 當(dāng)前幀的目標(biāo)分配。
26、 如權(quán)利要求25所述的機(jī)器可讀介質(zhì),其中,所述多個(gè)指令 還導(dǎo)致所述計(jì)算設(shè)備基于所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度 來確定所述多個(gè)幀的目標(biāo)緩沖器充滿度模式,其中,所述目標(biāo)緩沖器 充滿度模式是傾斜的。
27、 如權(quán)利要求24所述的機(jī)器可讀介質(zhì),其中,所述多個(gè)指令 還導(dǎo)致所述計(jì)算設(shè)備如果所述先前幀的實(shí)際緩沖器充滿度高于緩沖 器溢出警告等級,則將所述當(dāng)前幀的目標(biāo)分配確定為是O。
28、 如權(quán)利要求24所述的機(jī)器可讀介質(zhì),其中,所述多個(gè)指令 還導(dǎo)致所述計(jì)算設(shè)備如果所述先前幀的實(shí)際緩沖器充滿度低于所述先前幀的目標(biāo)緩 沖器充滿度,則將所述當(dāng)前幀的目標(biāo)分配確定為大于平均目標(biāo)分配, 其中,所述平均目標(biāo)分配是根據(jù)預(yù)定目標(biāo)速率以及預(yù)定目標(biāo)幀速率而 確定的;并且如果所述先前幀的實(shí)際緩沖器充滿度大于所述先前幀的目標(biāo)緩 沖器充滿度,則將所述當(dāng)前幀的目標(biāo)分配確定為低于所述平均目標(biāo)分 配。
29、 如權(quán)利要求24所述的機(jī)器可讀介質(zhì),其中,所述多個(gè)指令 還導(dǎo)致所述計(jì)算設(shè)備適應(yīng)性地確定所述多個(gè)幀中至少一個(gè)幀的目標(biāo) 緩沖器充滿度。
30、 如權(quán)利要求29所述的機(jī)器可讀介質(zhì),其中,所述多個(gè)指令 還導(dǎo)致所述計(jì)算設(shè)備將所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度初始化為在所述多 個(gè)幀之前的另外的多個(gè)幀中的每個(gè)幀的目標(biāo)緩沖器充滿度;并且基于所述另外的多個(gè)幀中最后一幀的實(shí)際緩沖器充滿度和目標(biāo) 緩沖器充滿度,來更新所述多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度。
全文摘要
一種速率控制方法,包括確定多個(gè)幀中每個(gè)幀的目標(biāo)緩沖器充滿度模式,獲得所述多個(gè)幀中一先前幀的實(shí)際緩沖器充滿度;基于所述先前幀的實(shí)際緩沖器充滿度和目標(biāo)緩沖器充滿度來確定當(dāng)前幀的目標(biāo)分配,其中,所述多個(gè)幀中的至少兩個(gè)幀具有不同的目標(biāo)緩沖器充滿度。
文檔編號H04N7/50GK101223790SQ200580051052
公開日2008年7月16日 申請日期2005年7月14日 優(yōu)先權(quán)日2005年7月14日
發(fā)明者H·吳, Z·周 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1