两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于視頻編碼的切片依賴性的碼率控制模型適配的制作方法

文檔序號(hào):7734804閱讀:220來(lái)源:國(guó)知局
專(zhuān)利名稱:基于視頻編碼的切片依賴性的碼率控制模型適配的制作方法
技術(shù)領(lǐng)域
本發(fā)明的實(shí)施例涉及視頻信息的處理。
背景技術(shù)
碼率控制(rate control)是現(xiàn)代視頻壓縮系統(tǒng)的一個(gè)組成部分。經(jīng)壓縮的比特 流滿足由傳輸介質(zhì)施加的特定的帶寬和延遲約束??梢酝ㄟ^(guò)碼率控制來(lái)滿足這些約束。碼 率控制算法改變向每個(gè)畫(huà)面、顏色分量、塊組或獨(dú)立的塊分配的比特的數(shù)目,因此可以避免 編碼器和解碼器溢出和下溢,并且可以高精度地獲得目標(biāo)比特率??蛇x地,碼率控制算法可 以試圖保持始終如一的高視覺(jué)質(zhì)量。上述這樣的目標(biāo)可能相互競(jìng)爭(zhēng),這可能導(dǎo)致復(fù)雜的優(yōu) 化問(wèn)題。盡管如此,可以利用例如內(nèi)預(yù)測(cè)(I)、單預(yù)測(cè)(P)和雙預(yù)測(cè)(B)的切片,以多種布置 來(lái)編碼在壓縮的視頻比特流中的畫(huà)面。切片(slice)可以包括一個(gè)畫(huà)面中使用同一預(yù)測(cè)類(lèi) 型(I、P或B)編碼的一個(gè)或更多個(gè)宏塊??梢岳脝蝹€(gè)或多個(gè)切片(其不必是同一類(lèi)型) 來(lái)編碼一個(gè)畫(huà)面。為了碼率控制的目的,切片可以進(jìn)一步被細(xì)分為使用相同編碼參數(shù)被編 碼的一個(gè)或更多個(gè)碼率控制基本單元(例如,一批宏塊)。可以利用光柵掃描順序來(lái)限定基 本單元,基本單元可以是任意的,或者可以依賴于場(chǎng)景內(nèi)的物體?;締卧部梢允且慌?鄰的畫(huà)面。應(yīng)當(dāng)理解,在本文內(nèi),可以根據(jù)上下文來(lái)可互換地使用術(shù)語(yǔ)基本單元、切片、畫(huà) 面和幀。在不同類(lèi)型的切片之間比特率和質(zhì)量統(tǒng)計(jì)數(shù)據(jù)可以非常不同?,F(xiàn)代碼率控制算法 可以收集單個(gè)切片類(lèi)型的碼率控制基本單元的統(tǒng)計(jì)數(shù)據(jù),并將所收集的統(tǒng)計(jì)數(shù)據(jù)單獨(dú)應(yīng)用 到這種類(lèi)型的碼率控制基本單元上,而對(duì)于其他切片類(lèi)型,可以采用啟發(fā)式碼率控制方法。 對(duì)切片類(lèi)型或基本單元執(zhí)行碼率控制可以采用獨(dú)立的且可能不同的碼率控制模型,這可以 實(shí)現(xiàn)更精確的碼率控制,并且可能改善經(jīng)壓縮的比特流的視覺(jué)質(zhì)量。然而,使用獨(dú)立的碼率 控制模型可能帶來(lái)計(jì)算成本。視頻壓縮系統(tǒng)的目的是高壓縮性能,例如在給定用于經(jīng)壓縮的比特流的固定目標(biāo) 數(shù)目比特的情況下實(shí)現(xiàn)最低可能的失真,或者等同地,針對(duì)固定失真值發(fā)送最小可能數(shù)目 的比特。失真量度的一個(gè)示例是峰值信噪比(PSNI )。視頻編碼器產(chǎn)生經(jīng)壓縮的比特流,使 得當(dāng)相應(yīng)的解碼器機(jī)構(gòu)(解碼器)解碼經(jīng)壓縮的比特流時(shí),產(chǎn)生可以在接收器側(cè)被顯示和 觀看的重建的視頻序列。應(yīng)當(dāng)理解,存儲(chǔ)或傳輸介質(zhì)可以以多種傳送模式將這樣的壓縮比 特流發(fā)送到接收器以便解碼。這些傳送模式中的每一個(gè)可以具有不同的延遲和帶寬應(yīng)用。 例如(a)可以在光盤(pán)或磁盤(pán)或非易失性計(jì)算機(jī)存儲(chǔ)器上存儲(chǔ)和傳送經(jīng)壓縮的比特流;
(b)用戶可以從因特網(wǎng)上的某個(gè)遠(yuǎn)程服務(wù)器下載經(jīng)壓縮的比特流,并在稍后某個(gè) 時(shí)間離線地觀看重建的視頻。(c)用戶可以將來(lái)自遠(yuǎn)程因特網(wǎng)服務(wù)器的經(jīng)壓縮的比特流流化,并在客戶計(jì)算機(jī) 或裝置上以小的時(shí)延來(lái)觀看經(jīng)壓縮的比特流;以及(d)經(jīng)壓縮的比特流可以是實(shí)時(shí)交互視頻通信(例如,視頻會(huì)議)或現(xiàn)場(chǎng)直播視頻 流(例如,體育)等的結(jié)果。對(duì)于實(shí)時(shí)通信,低的端到端延遲可以改善對(duì)用戶的服務(wù)質(zhì)量。對(duì)于現(xiàn)場(chǎng)直播流、視 頻會(huì)議等而言,可以預(yù)期一定程度上較高的端到端延遲。例如因?yàn)樵谟?jì)算機(jī)上的解碼和顯 示可以有可用的緩沖空間,所以光盤(pán)和磁盤(pán)存儲(chǔ)以及電影下載可以容許較大的延遲。已經(jīng) 發(fā)現(xiàn),電影或TV節(jié)目的因特網(wǎng)流與現(xiàn)場(chǎng)直播流相比較可以允許額外的延遲,并向觀眾提供 相同的滿意度。已經(jīng)發(fā)現(xiàn),端到端延遲可能受通信通道(或“管道”)以及視頻編碼器預(yù)測(cè) 結(jié)構(gòu)影響。例如,一些視頻編碼器在編碼當(dāng)前幀之前緩沖未來(lái)的幀,以改善壓縮性能。然而, 緩沖未來(lái)的幀可能增加延遲。應(yīng)當(dāng)理解,數(shù)據(jù)管道的容量可以對(duì)于每種傳輸介質(zhì)而不同。例如,光盤(pán)和磁盤(pán)存儲(chǔ) 器在帶寬上可以很大。諸如藍(lán)光或HD-DVD盤(pán)的高容量存儲(chǔ)介質(zhì)對(duì)于比特容量和解碼器緩 沖器大小有上限。離線回放相對(duì)于帶寬而言可以不受約束,因?yàn)楸忍亓魇请x線地被觀看。然 而,實(shí)際配置可能與緩沖延遲和硬盤(pán)驅(qū)動(dòng)器存儲(chǔ)空間相關(guān)。因特網(wǎng)流和實(shí)時(shí)交互視頻通信 可以受用于傳送比特流的網(wǎng)絡(luò)的帶寬的影響。另外,針對(duì)一種傳輸介質(zhì)產(chǎn)生的比特流可能 不適合于通過(guò)一種不同的傳輸介質(zhì)傳輸。例如,可以以比如5Mbps的比特率來(lái)壓縮在光盤(pán) (例如,DVD)上存儲(chǔ)的比特流。在帶寬不足的網(wǎng)絡(luò)上在線地流化同一比特流以支持這樣的 比特流可能影響性能。用于產(chǎn)生滿足帶寬和延遲約束的經(jīng)壓縮的比特流的一種機(jī)制是碼率控制。碼率控 制可以最小化視覺(jué)失真,產(chǎn)生適合通信通道的比特,并且可以防止解碼器輸入緩沖器溢出 或不足(例如,可能導(dǎo)致下溢)。例如,適應(yīng)的比特流可以滿足對(duì)解碼器緩沖器的兩種約束(a)所接收的畫(huà)面比特適合于緩沖器(否則導(dǎo)致緩沖器溢出);并且(b)當(dāng)解碼器從緩沖器移出畫(huà)面以解碼該畫(huà)面時(shí),整體地接收該畫(huà)面(否則導(dǎo)致 緩沖器下溢或饑餓)。在這個(gè)部分描述的手段是可以實(shí)行的手段,但是不必然是以前已經(jīng)構(gòu)思和實(shí)行的 手段。因此,除了另外指明,否則不應(yīng)當(dāng)假設(shè)在這個(gè)部分描述的任何手段僅因?yàn)樗鼈儽话?在這個(gè)部分中而成為現(xiàn)有技術(shù)。


在附圖中作為示例而不是限制示出了本發(fā)明,在附圖中,相似的附圖標(biāo)記指示類(lèi) 似的元件,其中圖1是示出根據(jù)一個(gè)實(shí)施例的在視頻編碼器內(nèi)的碼率控制方案的示例實(shí)現(xiàn)方式 的示意圖;圖2是示出根據(jù)一個(gè)實(shí)施例的總碼率控制模型的示意圖;圖3是示出根據(jù)一個(gè)實(shí)施例的、用于使用源自過(guò)去和未來(lái)的相鄰畫(huà)面的塊的加權(quán) 線性組合來(lái)預(yù)測(cè)當(dāng)前畫(huà)面的示意7
圖4是示出根據(jù)一個(gè)實(shí)施例的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)的示意圖;圖5是根據(jù)一個(gè)實(shí)施例的使用單個(gè)在前參考畫(huà)面的SAD計(jì)算的示意圖;圖6是示出根據(jù)一個(gè)實(shí)施例的使用多個(gè)隨后參考畫(huà)面的SAD計(jì)算的示意圖;圖7是示出根據(jù)一個(gè)實(shí)施例的被用作分析前級(jí)的運(yùn)動(dòng)補(bǔ)償時(shí)間濾波器的示意圖;圖8是示出根據(jù)一個(gè)實(shí)施例的具有三個(gè)時(shí)間級(jí)別和四種類(lèi)型的編碼單元的分級(jí) 二進(jìn)制分解結(jié)構(gòu)的示意圖;圖9是示出根據(jù)一個(gè)實(shí)施例的具有四個(gè)時(shí)間級(jí)別和四種類(lèi)型的編碼單元的二進(jìn) 制分解結(jié)構(gòu)的示意圖;圖10是示出根據(jù)一個(gè)實(shí)施例的具有三個(gè)時(shí)間級(jí)別和五種類(lèi)型的編碼單元的非二 進(jìn)制任意分解結(jié)構(gòu)的示意圖;圖11是示出根據(jù)一個(gè)實(shí)施例的具有三個(gè)時(shí)間級(jí)別和七種類(lèi)型的編碼單元的非二 進(jìn)制分解結(jié)構(gòu)的示意圖;圖12是示出根據(jù)一個(gè)實(shí)施例的利用碼率控制模型的轉(zhuǎn)換來(lái)進(jìn)行編碼的流程圖;圖13是根據(jù)一個(gè)實(shí)施例的用于估計(jì)不同類(lèi)型的編碼單元的比特率關(guān)系的流程 圖;圖14是根據(jù)一個(gè)實(shí)施例的用于改善碼率控制的算法的流程圖;圖15是示出根據(jù)一個(gè)實(shí)施例的使用單個(gè)碼率控制模型和利用第一技術(shù)的方法得 到的θ比率的視頻編碼器的流程圖;圖16是示出根據(jù)一個(gè)實(shí)施例的使用多個(gè)碼率控制模型和利用第一技術(shù)的方法得 到的θ比率的視頻編碼器的流程圖;圖17是示出根據(jù)一個(gè)實(shí)施例的混合和組合已經(jīng)針對(duì)不同畫(huà)面類(lèi)型產(chǎn)生的經(jīng)轉(zhuǎn)換 的碼率控制模型的流程圖;圖18是示出根據(jù)一個(gè)實(shí)施例的轉(zhuǎn)碼器(transcoder)模塊的部件的示意圖;圖19是示出可以在其上實(shí)施一個(gè)實(shí)施例的計(jì)算機(jī)系統(tǒng)的方框圖;圖20是根據(jù)一個(gè)實(shí)施例的使用多個(gè)切片類(lèi)型來(lái)編碼的示例畫(huà)面的示意圖;圖21A是示出根據(jù)一個(gè)實(shí)施例的在編碼期間的結(jié)構(gòu)切換處理的流程圖;圖21B是示出根據(jù)一個(gè)實(shí)施例的在編碼期間更新用于結(jié)構(gòu)切換處理的參數(shù)的流 程圖;圖22是示出根據(jù)一個(gè)實(shí)施例的基本單元配置的示意圖;以及圖23是示出根據(jù)一個(gè)實(shí)施例的基本單元配置的示意圖。
具體實(shí)施例方式在下面的說(shuō)明中,為了解釋的目的,給出了眾多具體細(xì)節(jié),以便徹底地理解本發(fā) 明。然而顯然可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)施本發(fā)明的實(shí)施例。在其他情況下,以 方框圖形式示出了公知的結(jié)構(gòu)和裝置,以便避免不必要地混淆本發(fā)明。在此根據(jù)下面的大綱來(lái)描述示例實(shí)施例1. 0 一般概述;2. 0基于視頻編碼的編碼單元依賴性的碼率控制模型適配的概述;2. 0. 1示例第一技術(shù)-碼率控制建模,
2. 0. 2示例第二技術(shù)-收集統(tǒng)計(jì)數(shù)據(jù),2. 0. 3示例第三技術(shù)-比特分配,以及2. 0. 4 示例第四技術(shù)-轉(zhuǎn)碼(transcoding);3. 0示例實(shí)現(xiàn)機(jī)制;4. 0枚舉的示例實(shí)施例;以及5.0等同物、擴(kuò)展、替選和其他1. 0 一般概述圖1示出在視頻編碼器內(nèi)的碼率控制模型100的示例實(shí)現(xiàn)方式。碼率控制的機(jī)制 可以產(chǎn)生滿足視頻系統(tǒng)的帶寬、延遲和質(zhì)量約束的經(jīng)壓縮的比特流。碼率控制在防止解碼 器輸入緩沖器溢出或不足的同時(shí),可以滿足比特率目標(biāo)??蛇x地,對(duì)于給定的比特率目標(biāo)和 延遲/緩沖約束,碼率控制也可以用于減小失真。在圖1中,輸入視頻102被發(fā)送到加法器116,加法器116從輸入視頻102中減去 視差補(bǔ)償(disparity compensation)(例如預(yù)測(cè))塊160的輸出。視差補(bǔ)償塊160可以例 如使用來(lái)自畫(huà)面參考存儲(chǔ)塊164的像素和從視差估計(jì)塊162向其發(fā)送的編碼模式來(lái)執(zhí)行幀 內(nèi)或幀間預(yù)測(cè)(例如,運(yùn)動(dòng)補(bǔ)償和加權(quán)預(yù)測(cè))。視差估計(jì)塊162使用輸入視頻102和來(lái)自 畫(huà)面參考存儲(chǔ)塊164的像素樣本作為輸入來(lái)執(zhí)行幀間預(yù)測(cè)(例如,運(yùn)動(dòng)補(bǔ)償或加權(quán)預(yù)測(cè))、 幀內(nèi)預(yù)測(cè)和模式確定。視差估計(jì)塊162通過(guò)最小化某種量度,例如在原始樣本與它們的預(yù) 測(cè)數(shù)據(jù)之間的絕對(duì)差或平方差的和,或者通過(guò)考慮比如碼率-失真優(yōu)化的拉格朗日最小化 等更精細(xì)的方法,來(lái)選擇最佳的幀間或幀內(nèi)編碼模式。來(lái)自加法器116的輸出耦接到變換 塊104,跟隨變換塊104的是量化塊106。量化塊106和變換塊104還從碼率控制塊150接 收輸入。變換塊104除了變換殘差數(shù)據(jù)(residual data)之外,還可以受碼率控制塊150 指示來(lái)調(diào)整變換矩陣。量化塊106除了對(duì)變換系數(shù)的量化處理之外,還可以受碼率控制塊 150指示來(lái)執(zhí)行下面的任務(wù)之一 (a)調(diào)整量化矩陣;(b)調(diào)整或選擇性地清除(閾值化) 特定的量化系數(shù)樣本;(c)調(diào)整量化湊整偏移;(d)執(zhí)行碼率失真優(yōu)化的量化,等等。量化塊 106的輸出耦接到可變長(zhǎng)度編碼器(VLC)塊108和逆量化塊110。從VLC塊108產(chǎn)生比特 流120,并且,關(guān)于編碼處理的信息比如用于編碼塊、區(qū)域或圖像的比特的數(shù)目和由這樣的 確定引入的失真等被發(fā)送到碼率控制塊150。碼率控制塊150也從視差補(bǔ)償塊160和失真計(jì)算塊168接收輸入,并且具有到視 差估計(jì)塊162、變換塊104、環(huán)路濾波器166和量化塊106的輸出。失真計(jì)算塊168計(jì)算在輸 入視頻102與來(lái)自視差補(bǔ)償塊160的對(duì)輸入視頻102的預(yù)測(cè)之間的失真量度。視差估計(jì)塊 162可以受碼率控制塊150指示來(lái)執(zhí)行任務(wù),所述任務(wù)可以包括下面的一個(gè)或更多個(gè)(a) 選擇性地使能和禁止運(yùn)動(dòng)補(bǔ)償塊大小;(b)使用特定畫(huà)面作為運(yùn)動(dòng)補(bǔ)償參考;(C)調(diào)整運(yùn)動(dòng) 估計(jì)搜索范圍或其他運(yùn)動(dòng)估計(jì)參數(shù)(例如,閾值或搜索模式);(d)調(diào)整在聯(lián)合雙預(yù)測(cè)運(yùn)動(dòng) 估計(jì)中的迭代次數(shù);(e)選擇性地使能和禁止幀內(nèi)預(yù)測(cè)模式;(f)選擇特定的編碼模式(例 如,跳越模式),等等。環(huán)路濾波器塊166可以受碼率控制塊150指示來(lái)執(zhí)行下面的任務(wù)之 一調(diào)整環(huán)內(nèi)去塊濾波器的參數(shù);(b)關(guān)閉去塊過(guò)濾器,等等。逆變換塊112從逆量化塊110接收輸入,并向加法器1 發(fā)送輸出。加法器1 從逆變換塊11和視差補(bǔ)償塊160接收信號(hào),并向環(huán)路濾波器166發(fā)送相加的信號(hào)。畫(huà)面參 考存儲(chǔ)塊164從環(huán)路濾波器166接收輸入,并向視差補(bǔ)償塊160和視差估計(jì)塊162發(fā)送輸出。視差估計(jì)塊162也從碼率控制塊150接收輸入。環(huán)路濾波器166也從碼率控制塊150 接收輸入。輸入視頻102也被發(fā)送到視差補(bǔ)償塊160和視差估計(jì)塊162的輸入。關(guān)于每個(gè)畫(huà)面的比特分配,存在可以用來(lái)影響向畫(huà)面分配的比特?cái)?shù)目的多種方 式。例如,可以通過(guò)改變不同的編碼參數(shù)來(lái)控制所分配或花費(fèi)的比特的數(shù)目,比如(a)改變量化參數(shù)(QP),即用于量化塊的殘差變換系數(shù)的參數(shù)值;(b)選擇將視覺(jué)質(zhì)量折中的編碼模式以便發(fā)送更少的比特,比如以信號(hào)通知應(yīng)當(dāng) 跳過(guò)整個(gè)塊、并且應(yīng)當(dāng)在其位置處復(fù)制和顯示先前塊;(c)改變?cè)谶\(yùn)動(dòng)估計(jì)和編碼模式確定的拉格朗日碼率-失真優(yōu)化期間使用的拉格 朗日拉姆達(dá)(“λ”)參數(shù);(d)(例如利用傅立葉型變換,比如離散余弦變換(DCT)或改進(jìn)的DCT)將經(jīng)變換的 系數(shù)量化為更可壓縮的值,同時(shí)產(chǎn)生最小的質(zhì)量降級(jí),或者替代地,將系數(shù)閾值化(清除)。 可以可選地通過(guò)在DCT系數(shù)的量化期間調(diào)整湊整偏移來(lái)實(shí)現(xiàn)這樣的量化;以及(e)選擇不對(duì)特定畫(huà)面進(jìn)行編碼,而是以信號(hào)通知應(yīng)該跳過(guò)這樣的畫(huà)面,以便在被 跳過(guò)的畫(huà)面的位置顯示先前經(jīng)編碼的畫(huà)面(例如,跳幀)。應(yīng)當(dāng)理解,可以主要通過(guò)改變量化參數(shù)值來(lái)完成碼率控制,因?yàn)榕c其他方法相比 較,量化參數(shù)值與質(zhì)量對(duì)失真以及比特使用(bit usage)具有更直接的關(guān)系。碼率控制的 目的是實(shí)現(xiàn)目標(biāo)比特率。碼率控制的另一個(gè)目的是實(shí)現(xiàn)經(jīng)壓縮的圖像序列的最佳可能視覺(jué) 質(zhì)量。其他目的可以包括滿足編碼器和解碼器緩沖約束,其次,滿足低計(jì)算復(fù)雜度和存儲(chǔ) 器要求。量化參數(shù)的選擇可以采用簡(jiǎn)單和更全面的算法。簡(jiǎn)單碼率控制算法可以包括下面 的示例步驟用預(yù)定的量化參數(shù)值來(lái)編碼視頻序列中的第一畫(huà)面。編碼器然后將結(jié)果產(chǎn)生 的比特?cái)?shù)目與原始的比特目標(biāo)相比較。如果結(jié)果產(chǎn)生的比特?cái)?shù)目超過(guò)比特目標(biāo)例如閾值 Thigh,則提高下一個(gè)畫(huà)面的量化參數(shù)值以減少比特使用。另一方面,如果結(jié)果產(chǎn)生的比特?cái)?shù) 目顯著小于比特目標(biāo),例如比比特目標(biāo)小閾值T1ot,則降低下一個(gè)畫(huà)面的量化參數(shù)值以增加 比特使用。另外,可以使用同一 QP。在極限狀態(tài)下,上述的啟發(fā)式算法或多或少地實(shí)現(xiàn)目標(biāo) 比特率。然而,算法的簡(jiǎn)單可能影響視頻質(zhì)量,也許是較大地影響視頻質(zhì)量?,F(xiàn)代綜合碼率控制算法可以通過(guò)多種特征,包括使用在當(dāng)前和預(yù)測(cè)的畫(huà)面(或它 們的一部分)之間的誤差,來(lái)獲得良好的性能。利用運(yùn)動(dòng)補(bǔ)償、根據(jù)先前解碼的畫(huà)面中的塊 來(lái)預(yù)測(cè)當(dāng)前畫(huà)面中的塊(幀間預(yù)測(cè))。在其他編碼方案中,在當(dāng)前畫(huà)面中的塊可以利用來(lái)自 同一畫(huà)面的像素值而被預(yù)測(cè)(幀內(nèi)預(yù)測(cè))。這樣的技術(shù)通常被稱為編碼模式??梢允褂貌?同的失真量度來(lái)計(jì)算在源信號(hào)和預(yù)測(cè)(幀間和幀內(nèi))之間的誤差。通常,采用(幀內(nèi)或幀 間)預(yù)測(cè)誤差的均方誤差(MSE)或等同的誤差平方和(SSE)以及平均絕對(duì)差(MAD)或等同 的絕對(duì)差和(SAD)。SAD預(yù)測(cè)誤差是在編碼特定塊過(guò)程中的難度指示器。例如,高的SAD預(yù) 測(cè)誤差可以是具有高熵的預(yù)測(cè)誤差殘差的結(jié)果,其可以證明壓縮成本之大。因此,利用對(duì)預(yù) 測(cè)誤差的了解可有助于更好地選擇量化參數(shù)的值,或者通??梢杂兄谡{(diào)整用于控制比特 率的技術(shù)。應(yīng)當(dāng)理解,MAD/SAD僅是預(yù)測(cè)誤差/失真的兩種可能量度。可以考慮其他可能 的失真或編碼復(fù)雜度量度。可以通過(guò)模型(例如,線性、二次等)來(lái)估計(jì)SAD預(yù)測(cè)誤差?;蛘?,可以通過(guò)多輪 次編碼(multiple-pass encoding)來(lái)計(jì)算SAD預(yù)測(cè)誤差,例如,一輪次收集比如SAD等的 統(tǒng)計(jì)數(shù)據(jù),并且這樣的統(tǒng)計(jì)數(shù)據(jù)被隨后的輪次使用以便改善碼率控制。對(duì)于支持幀間預(yù)測(cè)的編碼類(lèi)型,對(duì)于碼率控制而言,基于運(yùn)動(dòng)補(bǔ)償誤差方差或SAD的時(shí)間統(tǒng)計(jì)數(shù)據(jù)可以比諸 如源方差等空間統(tǒng)計(jì)數(shù)據(jù)明顯更可靠。對(duì)于僅支持幀內(nèi)預(yù)測(cè)的編碼類(lèi)型,比如空間方差等 空間統(tǒng)計(jì)數(shù)據(jù)可能更優(yōu)選。在給定目標(biāo)比特?cái)?shù)目和估計(jì)的SAD的情況下,可以通過(guò)比如二 次模型等模型來(lái)估計(jì)量化參數(shù)值。除了如上所述的基于SAD和QP模型的技術(shù)之外,還可以 使用其他碼率控制技術(shù)。例如,其他碼率控制技術(shù)可以包括rho域碼率控制。這樣的rho 域碼率控制技術(shù)可能比較早描述的二次模型在計(jì)算上更復(fù)雜,因?yàn)閞ho域碼率控制技術(shù)針 對(duì)每個(gè)產(chǎn)生的轉(zhuǎn)換系數(shù)收集關(guān)于像素級(jí)的信息。應(yīng)當(dāng)理解,這樣的技術(shù)可以適用于使用數(shù) 據(jù)去相關(guān)變換的視頻壓縮系統(tǒng),所述數(shù)據(jù)去相關(guān)變換包括但是不限于廣泛使用的DCT變換 (以及相關(guān)的變換)。一些初始碼率控制技利用多個(gè)量化參數(shù)來(lái)重復(fù)地壓縮每個(gè)圖像塊,然后選擇滿足 帶寬約束的QP。然而,計(jì)算成本可能限制這些技術(shù)用于實(shí)時(shí)或低復(fù)雜度應(yīng)用的實(shí)用性。有 效的碼率控制模型可能避免這種限制。簡(jiǎn)單的碼率控制模型包括存儲(chǔ)器和判定模塊。存儲(chǔ) 器模塊收集與圖像序列中的畫(huà)面的復(fù)雜度、比特率使用以及內(nèi)容有關(guān)的信息。這樣的信息 可以被組合以建立將所收集的統(tǒng)計(jì)數(shù)據(jù)與比特使用相關(guān)聯(lián)的模型。可以使用來(lái)自先前經(jīng)編 碼的畫(huà)面的信息來(lái)周期性地更新所述模型。可以分配計(jì)算資源以更新該模型,以便該模型 在處理一些不小數(shù)目的編碼畫(huà)面后收斂到期望的狀態(tài)。當(dāng)要編碼新的畫(huà)面時(shí),該模型計(jì)算 將實(shí)現(xiàn)輸入比特目標(biāo)的編碼參數(shù)。針對(duì)每個(gè)畫(huà)面選擇單個(gè)QP的早期實(shí)用的碼率控制算法是被稱為測(cè)試模型5碼率 控制的模型。針對(duì)每個(gè)圖像計(jì)算復(fù)雜度量度,并將該復(fù)雜度量度用于在畫(huà)面之間分配碼率, 并且可選地,以更細(xì)致的方式在要編碼的畫(huà)面中的由塊組成的切片之間分配碼 率。然后使 用模型來(lái)將比特目標(biāo)轉(zhuǎn)換為用于編碼畫(huà)面或切片的量化參數(shù)。在測(cè)試模型5中,所使用的 復(fù)雜度量度是畫(huà)面或塊空間方差。替代的復(fù)雜度量度可以是結(jié)果產(chǎn)生的比特和用于編碼先 前畫(huà)面的量化參數(shù)的函數(shù)。在畫(huà)面的塊之間最佳地分配QP值的另一種手段使用當(dāng)前畫(huà)面 的運(yùn)動(dòng)補(bǔ)償殘差的標(biāo)準(zhǔn)偏差/方差值。將比特率約束(例如,實(shí)現(xiàn)目標(biāo)比特率)轉(zhuǎn)換為量 化參數(shù)的模型可以是復(fù)雜度(標(biāo)準(zhǔn)偏差)和QP的二次函數(shù)。應(yīng)當(dāng)理解,碼率控制算法可以在產(chǎn)生和編碼殘差DCT系數(shù)之前選擇編碼模式(幀 內(nèi)或幀間等)。以這種方式,可能不需要計(jì)算塊/畫(huà)面的復(fù)雜度,因?yàn)榭赡芤阎獜?fù)雜度的估 計(jì)值。另一方面,可以顯著地改善視覺(jué)質(zhì)量的較新的編碼規(guī)范可以使用拉格朗日碼率-失 真優(yōu)化來(lái)優(yōu)化編碼模式的選擇。在碼率-失真優(yōu)化的視頻壓縮系統(tǒng)中,可以通過(guò)例如最小 化拉格朗日代價(jià)函數(shù)J =D+λ XR來(lái)完成運(yùn)動(dòng)估計(jì)和編碼模式選擇,在該拉格朗日代價(jià)函 數(shù)中,D是失真(例如,SSE、SAD或其他失真量度),而R是在編碼處理期間的比特率的實(shí)際 值或估計(jì)值。用于針對(duì)失真來(lái)折中碼率的拉格朗日參數(shù)λ與碼率-失真斜率相關(guān),并且可 以被定義為量化參數(shù)的函數(shù)。在運(yùn)動(dòng)估計(jì)期間,碼率使用(rate usage)R通常表示用于將 塊的運(yùn)動(dòng)參數(shù)編碼的比特,所述運(yùn)動(dòng)參數(shù)諸如是運(yùn)動(dòng)向量(用于表示塊的運(yùn)動(dòng)的信息)、參 考畫(huà)面索引、加權(quán)預(yù)測(cè)參數(shù)等。在模式判定期間,碼率使用R可以表示用于使用所述編碼模 式來(lái)編碼整個(gè)塊的比特。在給定當(dāng)前塊的特性和其相鄰塊的特性的情況下,如果使用高復(fù) 雜度的碼率-失真優(yōu)化(RDO)碼率,則可以精確地計(jì)算碼率使用,或者,如果使用低復(fù)雜度 的RD0,則可以估計(jì)碼率使用。用于模式判定的碼率使用的計(jì)算使用塊的重建和預(yù)測(cè)殘差的 完全熵編碼。碼率-失真(RD)優(yōu)化的模式判定除了考慮多個(gè)編碼模式之外,也可以考慮多
11個(gè)量化參數(shù),或者調(diào)整編碼單元的其他特性以確定用于編碼的那個(gè)特性。在模式判定期間 考慮多個(gè)量化參數(shù)可以改善性能,但是也可以使用更大的計(jì)算資源,也許使用非常大的計(jì) 算資源。此外,使用拉格朗日優(yōu)化的在RD意義上的多個(gè)QP的比較將使用在比較期間保持 不變的參數(shù)λ。因此,為了使能較低復(fù)雜度的RDO方案并允許拉格朗日λ的直接選擇而不 顯著地提高計(jì)算需求,可以在編碼模式判定處理和預(yù)測(cè)殘差變換系數(shù)的導(dǎo)出之前選擇量化 參數(shù)。應(yīng)當(dāng)理解,已經(jīng)提出了多種碼率控制算法,它們?cè)诰幋a當(dāng)前塊之前估計(jì)該當(dāng)前塊的復(fù) 雜度(例如,SAD)。 在諸如H. 264/AVC, VC-I和MPEG-2等的現(xiàn)代視頻編解碼方式中,可以將畫(huà)面編碼 為預(yù)測(cè)畫(huà)面(P編碼的畫(huà)面)、幀內(nèi)畫(huà)面(I編碼的畫(huà)面)或雙預(yù)測(cè)畫(huà)面(B編碼的畫(huà)面)。 在H. ^4/AVC中,可以利用多個(gè)I、P或B切片的組合來(lái)編碼畫(huà)面。例如,在一種可能的布置 中,可以將畫(huà)面的上半部分編碼為I切片,并且將下半部分編碼為P切片。一些編解碼方式 支持另外的切片/畫(huà)面類(lèi)型,例如在H. ^4/AVC和多假設(shè)畫(huà)面內(nèi)的SP和SI切片,并且也可 以考慮幀和場(chǎng)編碼畫(huà)面結(jié)構(gòu)。同一類(lèi)型的場(chǎng)和幀編碼畫(huà)面往往具有非常不同的編碼特性。 如果必要,則可以在宏塊級(jí)別上以幀或場(chǎng)宏塊編碼結(jié)構(gòu)進(jìn)一步細(xì)分幀編碼的畫(huà)面。這可以 產(chǎn)生編碼統(tǒng)計(jì)數(shù)據(jù)之間的進(jìn)一步區(qū)別。有三種主要編碼類(lèi)型可以用于壓縮畫(huà)面1編碼的 畫(huà)面、P編碼的畫(huà)面和B編碼的畫(huà)面,其中,假定這樣的畫(huà)面由同一類(lèi)型(分別是I、P或B) 的切片構(gòu)成。I編碼的畫(huà)面使用根據(jù)同一畫(huà)面的像素的幀內(nèi)預(yù)測(cè)。可以利用運(yùn)動(dòng)補(bǔ)償從先 前經(jīng)編碼的參考畫(huà)面來(lái)另外預(yù)測(cè)在P編碼的畫(huà)面內(nèi)的塊。應(yīng)當(dāng)理解,先前經(jīng)編碼的參考畫(huà) 面不必是象在MPEG-2或MPEG-4部分2中的在顯示順序上的過(guò)去畫(huà)面,而是可以是在解碼 順序上的先前經(jīng)編碼的參考畫(huà)面。對(duì)于被編碼的當(dāng)前畫(huà)面中的每個(gè)塊,這樣的參考畫(huà)面不 一定是相同的畫(huà)面。例如,“多參考預(yù)測(cè)”允許從一組候選參考畫(huà)面中選擇參考畫(huà)面。B編 碼的畫(huà)面可以另外使用由來(lái)自多個(gè)參考畫(huà)面的塊構(gòu)成的兩個(gè)運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)(MCP)的組合。 應(yīng)當(dāng)理解,在H. 264/AVC視頻編解碼方式中,組合的預(yù)測(cè)可以源自同一預(yù)測(cè)方向,例如都源 自過(guò)去或都源自未來(lái)或甚至都源自同一畫(huà)面。在可用于編碼畫(huà)面的編碼工具方面(例如, 諸如幀內(nèi)或幀間預(yù)測(cè)等的編碼模式),I編碼的畫(huà)面可以實(shí)質(zhì)上被當(dāng)作P編碼畫(huà)面的特殊情 況,并且P編碼的畫(huà)面繼而可以被當(dāng)作B編碼的畫(huà)面的特殊情況。并且,I、P和B編碼的畫(huà) 面具有不同的編碼統(tǒng)計(jì)數(shù)據(jù)。對(duì)于同樣的量化參數(shù)和內(nèi)容,I編碼的畫(huà)面通常使用比P編碼 的畫(huà)面更多的比特,而對(duì)于具有實(shí)質(zhì)的時(shí)間相關(guān)性并且依賴于編碼配置(例如,可用的參 考和它們與當(dāng)前畫(huà)面的關(guān)系)的圖像序列,B編碼的畫(huà)面平均使用比P編碼的畫(huà)面更少的比 特。此外,應(yīng)當(dāng)理解,可以將畫(huà)面編碼為逐行幀或一對(duì)隔行場(chǎng)。如可以在電視制作中使用的 那樣。場(chǎng)編碼可以用已經(jīng)使用隔行攝像機(jī)產(chǎn)生的視頻內(nèi)容來(lái)提高壓縮效率。因?yàn)閺?fù)雜度或 編碼效率的原因,也可使用多個(gè)切片類(lèi)型來(lái)編碼一個(gè)畫(huà)面。在圖20中示出這樣的一個(gè)編碼 畫(huà)面的示例,該畫(huà)面使用兩個(gè)B切片(切片K2002)和切片W2004))和四個(gè)P切片(切片 0 (2006)、切片3 (2008)、切片4 (2010)和切片5 (2012))。與僅使用P切片的畫(huà)面相比較,這 樣的編碼畫(huà)面具有不同的碼率-失真特性。在圖22和圖23中示出兩個(gè)基本單元配置示例。 在圖22中,使用兩個(gè)切片來(lái)對(duì)畫(huà)面Q200)進(jìn)行編碼,第一切片是B切片(2202),第二切片 是P切片0204)。B切片Q202)被進(jìn)一步細(xì)分為相等大小的光柵掃描基本單元,即基本單 元0 O206)、基本單元1 O208)、基本單元2 (2210)、基本單元3 (2212)和基本單元4 (2214)。 P切片O204)被細(xì)分為兩個(gè)基本單元,即基本單元5 0216)和基本單元6 (2218),它們對(duì)對(duì)象及其背景進(jìn)行建模。在圖23中,示例配置Q300)示出作為多組后續(xù)畫(huà)面的兩個(gè)基本單 元,即基本單元1 (2302)和基本單元2 (2304)?,F(xiàn)代視頻編解碼方式可以在編碼期間使用適應(yīng)于序列的統(tǒng)計(jì)數(shù)據(jù)的靈活預(yù)測(cè)結(jié) 構(gòu),以最大化經(jīng)壓縮的比特流的質(zhì)量。在H. 264/AVC的環(huán)境中,可構(gòu)造被稱為“分級(jí)編碼畫(huà) 面”的復(fù)雜預(yù)測(cè)結(jié)構(gòu),比如在此和下面進(jìn)一步詳細(xì)描述的圖8-11中所示的結(jié)構(gòu)。這樣的結(jié) 構(gòu)對(duì)于碼率控制而言可以是重要的,因?yàn)槊總€(gè)切片類(lèi)型的碼率-失真性能可能受預(yù)測(cè)結(jié)構(gòu) 在編碼結(jié)構(gòu)中的位置影響。例如,在級(jí)別2的B編碼畫(huà)面有可能具有與在級(jí)別1的B編碼 畫(huà)面顯著不同的質(zhì)量比特率折中。圖8-11共有一些類(lèi)似性??梢詤⒖紙D8來(lái)描述下面的一般討論。圖8是示出具 有三個(gè)時(shí)間級(jí)別和四種類(lèi)型的編碼單元的分級(jí)二進(jìn)制分解結(jié)構(gòu)(800)的示意圖。在此使用 的術(shù)語(yǔ)“編碼單元”可以指示三種類(lèi)型的信息編碼畫(huà)面的配置(例如,幀內(nèi)對(duì)幀間編碼、單 預(yù)測(cè)對(duì)雙預(yù)測(cè)、同一類(lèi)型的切片的數(shù)目、碼率控制基本單元的數(shù)目、幀對(duì)場(chǎng)編碼、每個(gè)畫(huà)面 的單個(gè)對(duì)多個(gè)切片和它們的布置等)、畫(huà)面在預(yù)測(cè)結(jié)構(gòu)中的位置以及當(dāng)前畫(huà)面在預(yù)測(cè)結(jié)構(gòu) 中的預(yù)測(cè)關(guān)系(例如,當(dāng)前畫(huà)面的預(yù)測(cè)參考的數(shù)目、類(lèi)型和位置等等),當(dāng)前畫(huà)面在預(yù)測(cè)結(jié) 構(gòu)中的預(yù)測(cè)關(guān)系也稱為編碼依賴性(coding d印endency)。換句話說(shuō),特定畫(huà)面的編碼依賴 性標(biāo)識(shí)從中預(yù)測(cè)該特定畫(huà)面的畫(huà)面。分級(jí)結(jié)構(gòu)具有不同的級(jí)別、最基本的級(jí)別在一定意義 上是級(jí)別0(“零”,810)。屬于級(jí)別0(810)的畫(huà)面具有最高的優(yōu)先級(jí),并且用于解碼屬于大 于0的級(jí)別的畫(huà)面。通常,為了在級(jí)別1解碼畫(huà)面,首先解碼屬于級(jí)別0到1-1的畫(huà)面。在 以前的編碼標(biāo)準(zhǔn)比如MPEG-2和MPEG-4中,在編碼畫(huà)面η后,存在兩種選擇或者預(yù)測(cè)和編 碼畫(huà)面η+1,或者預(yù)測(cè)和編碼畫(huà)面n+m,其中m> 1。然后,畫(huà)面η和n+m被用作畫(huà)面n+1到 n+m-1的雙預(yù)測(cè)的參考畫(huà)面。應(yīng)當(dāng)理解,在解碼畫(huà)面n+1至n+m-1之前,解碼畫(huà)面η和n+m。 此外,可以獨(dú)立于畫(huà)面n+1至η+m-l而解碼畫(huà)面η和n+m。因此,在這個(gè)實(shí)施例中,畫(huà)面η和 n+m具有較高的優(yōu)先級(jí),即級(jí)別0,而畫(huà)面n+1至η+m-l處于較低的級(jí)別1。另外,畫(huà)面n+1 到n+m-1中的每個(gè)畫(huà)面可以獨(dú)立于彼此地被解碼。然而,在H. ^4/AVC編解碼方式中,可以 使用更復(fù)雜的以及甚至任意的編碼結(jié)構(gòu)。作為示例,可以選擇考慮在m-1個(gè)內(nèi)部分級(jí)畫(huà)面 內(nèi)的更復(fù)雜的依賴性。m的值也可以在經(jīng)編碼序列的一部分與另一部分之間不同,或者可以 使用相反/任意的編碼順序來(lái)編碼畫(huà)面。在級(jí)別0(810)的畫(huà)面有時(shí)被稱為“錨”畫(huà)面??梢詤⒖紙D9來(lái)描述示例分級(jí)結(jié)構(gòu),圖9是示出具有四個(gè)時(shí)間級(jí)別和四種類(lèi)型的 編碼單元的二進(jìn)制分解結(jié)構(gòu)(900)的示意圖。在已經(jīng)編碼了畫(huà)面0(90 之后,編碼器預(yù)測(cè) 和編碼畫(huà)面8 (904)??梢岳妙A(yù)先編碼的畫(huà)面(未示出)作為參考、使用I編碼的畫(huà)面或 P編碼的畫(huà)面(示出為90 或B編碼的畫(huà)面來(lái)預(yù)測(cè)和編碼畫(huà)面8。接著,可以使用畫(huà)面0 和8 (902,904)作為參考將畫(huà)面4(906)編碼為B編碼的畫(huà)面。畫(huà)面4(906)具有比畫(huà)面0 和8(902,904)更低的優(yōu)先級(jí),因此屬于不同的級(jí)別,例如級(jí)別1(920)。現(xiàn)在可以使用畫(huà)面 0、4和可選的8 (902,906,940)作為參考來(lái)編碼畫(huà)面2 (908),畫(huà)面0、4和可選的8是在時(shí)間 上最接近的畫(huà)面。盡管在下面的大多數(shù)描述中采用每個(gè)參考列表一個(gè)參考畫(huà)面,但是當(dāng)解 碼畫(huà)面緩沖器足夠大時(shí),更多的畫(huà)面可以用作每個(gè)參考列表的參考候選,只要它們?cè)诋?dāng)前 畫(huà)面之前被編碼并被保留為參考。假定沒(méi)有參考重新排序并且每個(gè)列表僅使用單個(gè)參考, 則一個(gè)參考列表(列表0)將僅包含畫(huà)面0,并且另一個(gè)參考列表(列表1)將包含畫(huà)面4。 如果每個(gè)列表允許至多三個(gè)參考,則默認(rèn)產(chǎn)生的列表0將包含畫(huà)面0、4和8,而默認(rèn)列表1將包含以下述順序的畫(huà)面4、8和0。該順序可以是重要的,因?yàn)榫哂行∷饕漠?huà)面需要較 少的比特來(lái)索引。應(yīng)當(dāng)理解,時(shí)間預(yù)測(cè)距離可能對(duì)壓縮性能有直接的影響參考離預(yù)測(cè)的畫(huà) 面越近,則相關(guān)度越高,并且預(yù)測(cè)殘差越低。畫(huà)面2 (908)具有比畫(huà)面4和0更低的優(yōu)先級(jí) (906,902),因?yàn)楫?huà)面2 (908)屬于不同的級(jí)別,即級(jí)別2 (930)。還應(yīng)當(dāng)理解,在傳統(tǒng)視頻編 碼(例如,MPEG-2)的另一種變更中,任何經(jīng)編碼的畫(huà)面都可以被保留和用作參考,包括B編 碼的畫(huà)面。類(lèi)似地,任何畫(huà)面也可以被信號(hào)通知作為非參考,包括I和P編碼的畫(huà)面。在這 個(gè)實(shí)施例中,畫(huà)面4(907)被緩沖作為參考畫(huà)面。否則,可以從遠(yuǎn)處的畫(huà)面8(904)預(yù)測(cè)其他 畫(huà)面2 (908),這可能影響壓縮性能。從較近的參考畫(huà)面預(yù)測(cè)畫(huà)面可能提升壓縮性能。畫(huà)面 2(908)因此也被緩沖作為參考畫(huà)面,并與畫(huà)面0(902)相結(jié)合地用于畫(huà)面1(912)的雙預(yù)測(cè)。 然后,使用畫(huà)面2和4(908,906)作為參考來(lái)編碼畫(huà)面3 (914)。畫(huà)面1和3 (912,914)具有 比畫(huà)面0、2和4 (902,908,906)更低的優(yōu)先級(jí),并且屬于級(jí)別3 (940)??梢詫?duì)畫(huà)面5(916)、 畫(huà)面6 (918)和畫(huà)面7(922)重復(fù)同一處理。雖然上面的描述討論了 B編碼的畫(huà)面,但是也 可以用特定編解碼方式內(nèi)的任何可用編碼類(lèi)型來(lái)編碼畫(huà)面1至7,包括I、P或B類(lèi)型的多 個(gè)切片。此外,畫(huà)面1、3、5、7(912,914,916,922)可以被信號(hào)通知為一次性使用的畫(huà)面。被 信號(hào)通知為一次性使用的畫(huà)面可以表示這樣的畫(huà)面不用于其他畫(huà)面的運(yùn)動(dòng)補(bǔ)償?shù)念A(yù)測(cè)。不 使用或甚至不保存用于運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)的特定畫(huà)面可以節(jié)省存儲(chǔ)器,并且可以提供時(shí)間可伸 縮性。 圖8-11示出編碼單元可以不僅包括編碼類(lèi)型(例如,P編碼的畫(huà)面)和時(shí)間級(jí)別 (例如,級(jí)別1)的組合。例如,編碼單元也可以包括編碼依賴性的函數(shù),例如從中預(yù)測(cè)出該 編碼單元的畫(huà)面。可以參考圖10來(lái)描述一個(gè)示例,圖10是示出具有三個(gè)時(shí)間級(jí)別和五種類(lèi) 型的編碼單元的非二進(jìn)制任意分解結(jié)構(gòu)(1000)的示意圖。畫(huà)面1(1002)、3 (1004)、5 (1006) 和 7(1008)被編碼為編碼單元 A(IOlO),因?yàn)楫?huà)面 1 (1002)、2 (1004)、5 (1006)和 7(1008) 是B編碼的畫(huà)面,并且是從相鄰的畫(huà)面被預(yù)測(cè)。例如,畫(huà)面1(1002)、3 (1004)、5 (1006)和 7(1008)的每一個(gè)與在顯示順序上與正被編碼的畫(huà)面相距一個(gè)畫(huà)面。另外,畫(huà)面1(1002)、 3(1004),5(1006)和7(1008)的每一個(gè)屬于級(jí)別2 (1012)。應(yīng)當(dāng)理解,在級(jí)別1 (1014),情 況可能不同。例如,雖然三個(gè)畫(huà)面2 (1016)、4 (1018)和6 (1020)被編碼為B編碼的畫(huà)面,但 是畫(huà)面2 (1016)、4 (1018)和6 (1020)的編碼依賴性可能與畫(huà)面1 (1002)、3 (1004)、5 (1006) 和7(1008)的編碼依賴性不同,也許是顯著不同。例如,從相距兩個(gè)畫(huà)面的一個(gè)參考,即畫(huà) 面0(1022)和另一個(gè)畫(huà)面,即相距6個(gè)畫(huà)面的畫(huà)面8 (1024)預(yù)測(cè)畫(huà)面2 (1016)。從相距兩個(gè) 畫(huà)面的一個(gè)參考,即畫(huà)面2 (1016)和相距4個(gè)畫(huà)面的另一個(gè)畫(huà)面,即畫(huà)面8 (1024)預(yù)測(cè)畫(huà)面 4(1018)。此外,從都相距兩個(gè)畫(huà)面的兩個(gè)參考,例如畫(huà)面4(1018)和畫(huà)面8 (1014)來(lái)預(yù)測(cè) 畫(huà)面6 (1020)。應(yīng)當(dāng)理解,如上所述的幀(或畫(huà)面)距離涉及顯示順序。這暗示改變了編碼 統(tǒng)計(jì)數(shù)據(jù)。例如,假定這些畫(huà)面通過(guò)不同的編碼單元編碼,所述不同的編碼單元是編碼單元 B (1(^6)、編碼單元C (1028)和編碼單元D (1030)。邊緣P編碼的畫(huà)面0和9 (1022,1024)屬 于另一種編碼單元類(lèi)型,即編碼單元E (103 。為了進(jìn)一步描述編碼依賴性的效果,參考圖 11來(lái)描述更復(fù)雜的情況。圖11是示出具有三個(gè)時(shí)間級(jí)別和七種類(lèi)型的編碼單元的非二進(jìn) 制分解結(jié)構(gòu)(1100)的示意圖。畫(huà)面3(1102)被編碼為P編碼的畫(huà)面,因此與級(jí)別2畫(huà)面的 其余部分相比較具有不同的編碼統(tǒng)計(jì)數(shù)據(jù)。畫(huà)面5(1104)被編碼為I編碼的畫(huà)面,產(chǎn)生另 外的編碼單元類(lèi)型。
可以使用兩個(gè)或更多個(gè)編碼單元類(lèi)型的組合來(lái)編碼實(shí)際的視頻序列。碼率控制模 型保存畫(huà)面復(fù)雜度以及量化參數(shù)與比特?cái)?shù)目的關(guān)系的參數(shù)模型??梢允褂脕?lái)自先前經(jīng)編碼 的編碼單元的統(tǒng)計(jì)數(shù)據(jù)來(lái)更新這樣的參數(shù)模型。這些模型的參數(shù)可以在不同的編碼單元類(lèi) 型的情況下取非常不同的值。例如,幀內(nèi)預(yù)測(cè)的復(fù)雜度和比特統(tǒng)計(jì)數(shù)據(jù)可能與基于幀間的 單元預(yù)測(cè)的復(fù)雜度和比特統(tǒng)計(jì)數(shù)據(jù)不同,也許是顯著不同。實(shí)際上,用于利用幀內(nèi)而不是幀 間預(yù)測(cè)并以給定數(shù)目的比特來(lái)編碼圖片的量化參數(shù)可以變化,也許是顯著變化。因此,使用 用于編碼各種編碼單元類(lèi)型中的每一個(gè)編碼單元類(lèi)型的特定模型可以幫助滿足在碼率控 制方面的相關(guān)約束。在一個(gè)實(shí)施例中,通過(guò)改變用于編碼基本單元的QP來(lái)應(yīng)用碼率控制,其中,基本 單元是一批宏塊。宏塊是功能單元,其包括mXn塊(例如16X16)像素值。每個(gè)像素可以 根據(jù)采樣格式(例如,4:4:4,4:2:2,4:2:0或4:0:0)而與亮度和色度信息(如果可獲得) 相關(guān)聯(lián)。在這種方案中,碼率控制基本單元可以象畫(huà)面那么大,也可以象單個(gè)宏塊那么小。 這樣的碼率控制算法的步驟包括1.針對(duì)當(dāng)前畫(huà)面計(jì)算比特目標(biāo)。2.如果當(dāng)前畫(huà)面被劃分為多個(gè)基本單元,則向當(dāng)前畫(huà)面中的所有未經(jīng)編碼的基本 單元均等地分配剩余的比特。3.當(dāng)前畫(huà)面中的當(dāng)前基本單元的SAD預(yù)測(cè)錯(cuò)誤被預(yù)測(cè)為在先前畫(huà)面的共同位置 中的基本單元的SAD的線性函數(shù)(模型)。4.借助于相對(duì)于SAD和頭比特?cái)?shù)目而參數(shù)化的二次碼率-失真模型來(lái)計(jì)算對(duì)應(yīng)的
量化參數(shù)。5.使用從步驟4導(dǎo)出的量化參數(shù)來(lái)編碼當(dāng)前基本單元。步驟1包含計(jì)算當(dāng)前畫(huà)面的比特目標(biāo)值。步驟1也被稱為碼率分配。在一個(gè)實(shí)施 例中,比特目標(biāo)是相對(duì)于幀速率的比特率(每個(gè)畫(huà)面的比特)加上以下項(xiàng)的和,該項(xiàng)是在內(nèi) 容緩沖器充滿度減去目標(biāo)緩沖水平之間的差的函數(shù)。在這個(gè)實(shí)施例中,比特目標(biāo)考慮緩沖 器狀態(tài)。應(yīng)當(dāng)理解,超過(guò)目標(biāo)緩沖器水平的緩沖器充滿度導(dǎo)致減小的比特目標(biāo),而小于目標(biāo) 緩沖器水平的緩沖器充滿度導(dǎo)致提高的比特目標(biāo)??梢酝ㄟ^(guò)考慮用于編碼畫(huà)面的編碼單元 類(lèi)型和在給定情況下可獲得的比特的剩余總數(shù)來(lái)進(jìn)一步改善比特目標(biāo)。其他有用因素包括 需要編碼的每個(gè)編碼單元類(lèi)型的畫(huà)面的剩余數(shù)目以及這樣的編碼單元類(lèi)型的復(fù)雜度估計(jì) 值。對(duì)P編碼的畫(huà)面執(zhí)行上面的目標(biāo)碼率計(jì)算。不執(zhí)行對(duì)I編碼的畫(huà)面或B編碼的畫(huà)面的 處理。使用作為相鄰的P編碼畫(huà)面的QP值的函數(shù)的啟發(fā)式量化參數(shù)來(lái)編碼這樣的I和B 編碼的畫(huà)面。在步驟3中,結(jié)果產(chǎn)生的比特目標(biāo)值被轉(zhuǎn)換為編碼器在編碼期間可以使用的有意 義的信息,例如QP值。使用以下形式的等式,通過(guò)在先前編碼畫(huà)面的共同位置處的基本單 元的SAD的線性模型來(lái)預(yù)測(cè)在當(dāng)前畫(huà)面中的當(dāng)前基本單元的SAD MADcurr= Q1XMADpre^a2(1)在(1)中,SAD。U 表示當(dāng)前SAD的估計(jì)值,SADprev是先前SAD,并且,α工和a 2是 估計(jì)的線性模型參數(shù)。線性模型參數(shù)的估計(jì)技術(shù)使用對(duì)從先前經(jīng)編碼的畫(huà)面收集的統(tǒng)計(jì)數(shù) 據(jù)的線性回歸。然后,使用步驟0中的二次碼率-失真模型來(lái)將量化參數(shù)計(jì)算為Γ)Oj η3T(J) = C1^er(J)(2)
Qslep(J) QslepU)項(xiàng)bheadCT(j)是用于編碼P編碼的畫(huà)面的頭比特的數(shù)目的估計(jì)值。T(j)是畫(huà)面j 的目標(biāo)比特率。利用對(duì)過(guò)去畫(huà)面編碼統(tǒng)計(jì)數(shù)據(jù)的線性回歸來(lái)估計(jì)參數(shù)C1和£2。然后求解 等式O)以得出量化步長(zhǎng)大小Atep(j),量化步長(zhǎng)大小Qstep(j)然后用于導(dǎo)出量化參數(shù),因?yàn)?它們共有一對(duì)一的關(guān)系。應(yīng)當(dāng)理解,如上所述的碼率控制算法中的一些避免了應(yīng)用現(xiàn)有的碼率控制模型, 所述現(xiàn)有的碼率控制模型在I編碼和B編碼的畫(huà)面上建模P編碼的畫(huà)面。例如,僅保存單 個(gè)碼率控制模型。向I編碼和B編碼的畫(huà)面分配的量化參數(shù)是向相鄰的P編碼的畫(huà)面分配 的值的啟發(fā)式函數(shù)。這樣的啟發(fā)式函數(shù)可以不必考慮緩沖器狀態(tài)和比特率。對(duì)I編碼和B 編碼的畫(huà)面編碼因此可能導(dǎo)致緩沖器溢出或下溢??梢詫?duì)每個(gè)編碼單元類(lèi)型使用不同碼率 控制模型來(lái)避免緩沖器溢出或下溢。然而,存儲(chǔ)器和計(jì)算復(fù)雜度增加。2. 0基于視頻編碼的切片依賴性的碼率控制模型適配的概述提供了用于確定用于利用來(lái)自其他先前經(jīng)編碼(不一定是同一類(lèi)型)的編碼單元 (例如,P編碼的畫(huà)面)的信息來(lái)估計(jì)給定編碼單元類(lèi)型(例如,B編碼或I編碼的畫(huà)面) 的量化參數(shù)所需的統(tǒng)計(jì)參數(shù)的技術(shù)。特定的技術(shù)使用在這樣的編碼單元類(lèi)型之間的比特率 和質(zhì)量關(guān)系以及用于編碼這樣的編碼單元類(lèi)型的量化參數(shù)。對(duì)編碼單元類(lèi)型之間的比特率 和質(zhì)量關(guān)系的估計(jì)使得能夠進(jìn)行精確的碼率控制,而不管與用于編碼畫(huà)面的編碼單元類(lèi)型 如何。此外,在編碼單元類(lèi)型之間的這樣的比特率和質(zhì)量關(guān)系可以與用于提高的壓縮性能 的多個(gè)碼率控制模型聯(lián)合使用。通過(guò)使用由運(yùn)動(dòng)估計(jì)和補(bǔ)償框架(MEMC)產(chǎn)生的統(tǒng)計(jì)數(shù)據(jù) 來(lái)進(jìn)一步優(yōu)化碼率控制參數(shù),這在此和在下面更詳細(xì)描述。應(yīng)當(dāng)理解,在此所述的新穎手段可以呈現(xiàn)出(a)低的存儲(chǔ)器復(fù)雜度;(b)低的計(jì)算復(fù)雜度;(c)精確的碼率控制;以及(d)較快的碼率控制模型收斂和初始化。應(yīng)當(dāng)理解,項(xiàng)目(a)和(b)可以導(dǎo)致減少的功率使用,項(xiàng)目(C)和(d)可以改善經(jīng) 壓縮的比特流的質(zhì)量。實(shí)施例可以應(yīng)用于任何碼率控制技術(shù),所述碼率控制技術(shù)依賴于估計(jì)質(zhì)量/失 真、復(fù)雜度以及比特率來(lái)進(jìn)行碼率控制。兩種這樣的碼率控制技術(shù)是二次模型和rho域模型。在一個(gè)實(shí)施例中,可以使用多個(gè)可用的畫(huà)面編碼類(lèi)型來(lái)編碼在圖像序列中的畫(huà)
面。此外,畫(huà)面編碼類(lèi)型的質(zhì)量-比特率折中受其編碼結(jié)構(gòu)(例如,幀內(nèi)對(duì)幀間編碼、單預(yù)
測(cè)對(duì)雙預(yù)測(cè)、切片或基本單元的數(shù)目和類(lèi)型、幀對(duì)場(chǎng)編碼、每個(gè)畫(huà)面的單個(gè)對(duì)多個(gè)切片等)
及其在運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)(MCP)結(jié)構(gòu)中的位置影響。應(yīng)當(dāng)理解,基本單元可以比切片更小,但是
也可以被定義為包括多個(gè)畫(huà)面。這允許保證例如在畫(huà)面組之間的恒定質(zhì)量或比特率的靈活
性。畫(huà)面編碼類(lèi)型和結(jié)構(gòu)位置在此可以被稱為編碼單元。在一個(gè)實(shí)施例中,為了對(duì)視頻比
特流應(yīng)用碼率控制,針對(duì)每個(gè)編碼單元保存不同的碼率控制模型,以便將每個(gè)編碼單元類(lèi)
型的編碼統(tǒng)計(jì)數(shù)據(jù)精確地建模。然而,這可能提高存儲(chǔ)器復(fù)雜度,因?yàn)榭赡苁褂妙~外的計(jì)算來(lái)更新所保存的碼率控制模型。例如,假定預(yù)測(cè)結(jié)構(gòu)包括N個(gè)編碼單元類(lèi)型。為了執(zhí)行有效 的碼率控制,利用編碼統(tǒng)計(jì)數(shù)據(jù)來(lái)保存、應(yīng)用和更新N個(gè)碼率控制模型。在一個(gè)實(shí)施例中, 保存、應(yīng)用和更新M個(gè)碼率控制模型,其中M < N。利用從使用N個(gè)編碼單元類(lèi)型被編碼的 經(jīng)編碼畫(huà)面收集的質(zhì)量和比特率來(lái)近似N-M個(gè)缺少的碼率控制模型。其他統(tǒng)計(jì)數(shù)據(jù)可以改 善丟失的N-M個(gè)模型的近似。這樣的統(tǒng)計(jì)數(shù)據(jù)包括內(nèi)容相關(guān)的統(tǒng)計(jì)數(shù)據(jù),諸如空間方差、運(yùn) 動(dòng)和紋理等。在一個(gè)實(shí)施例中,所收集的統(tǒng)計(jì)數(shù)據(jù)不僅用于近似N-M個(gè)丟失的模型,而且還 用于更新M個(gè)模型。用于近似N-M個(gè)丟失的模型的存儲(chǔ)器和計(jì)算復(fù)雜度可以反映對(duì)可以由 保存和更新N-M個(gè)真實(shí)模型導(dǎo)致的復(fù)雜度的節(jié)省,也許是顯著的節(jié)省。應(yīng)當(dāng)理解,復(fù)雜度可 能不僅與所述N-M個(gè)模型相關(guān),而且與所述M個(gè)模型相關(guān)。在一個(gè)實(shí)施例中,這是被考慮的 在復(fù)雜度上的相對(duì)節(jié)省。而且,一個(gè)實(shí)施例也處理以下高度實(shí)用的情況由于預(yù)測(cè)結(jié)構(gòu)的改 變而改變圖像序列中的編碼單元類(lèi)型的數(shù)目,以便更好地編碼圖像序列。除了在編碼期間收集的并用于導(dǎo)出在具有不同編碼單元類(lèi)型的畫(huà)面之間的比特 率和質(zhì)量關(guān)系的統(tǒng)計(jì)數(shù)據(jù)之外,一個(gè)實(shí)施例另外使用由空間-時(shí)間運(yùn)動(dòng)估計(jì)和補(bǔ)償框架 (MEMC)收集的統(tǒng)計(jì)數(shù)據(jù)。這樣的MEMC使用來(lái)自過(guò)去和可能未來(lái)的畫(huà)面的信息。此外,在 一個(gè)實(shí)施例中,編碼器可以收集在初始運(yùn)行中的統(tǒng)計(jì)數(shù)據(jù),并且使用所收集的統(tǒng)計(jì)數(shù)據(jù)或 在隨后的運(yùn)行中改善所收集的統(tǒng)計(jì)數(shù)據(jù),以最佳地導(dǎo)出在畫(huà)面之間的碼率。在一個(gè)實(shí)施例 中,MEMC框架使用源自過(guò)去和未來(lái)畫(huà)面的塊的線性組合來(lái)預(yù)測(cè)每個(gè)畫(huà)面。在此使用的塊可 以指的是nXn(例如,8X8)陣列的像素值,或者指的是包含色度和亮度信息的離散余弦變 換(DCT)、修改的DCT (mDCT)或其他傅立葉類(lèi)的變換值。應(yīng)當(dāng)注意,塊不必須是正方形尺寸 的,例如,它們可以是16 X8、8 X 4或4X 8尺寸的。也可以在同一編碼單元中考慮具有例如 16X16和8X8的不同大小的塊的組合。預(yù)測(cè)補(bǔ)償在塊級(jí)別上的平移(或其他)運(yùn)動(dòng)和照 度改變。MEMC框架可以可選地收集關(guān)于源畫(huà)面方差、亮度和色度、紋理以及邊緣信息的信 息。這樣的信息在內(nèi)部被處理,并且可以用于估計(jì)未來(lái)畫(huà)面的復(fù)雜度,以便可以優(yōu)化比特分 配。在一個(gè)實(shí)施例中,使用特定的布置來(lái)改善壓縮視頻的質(zhì)量。例如,使用以上在一般 概述部分中所述的與包括改變QP的5步驟碼率控制算法有關(guān)的碼率控制方法,以獲得經(jīng)壓 縮的圖像序列的不同類(lèi)型編碼單元的比特率和質(zhì)量統(tǒng)計(jì)數(shù)據(jù)。在這個(gè)實(shí)施例中,可以對(duì)其 他編碼單元類(lèi)型使用另外的碼率控制模型,實(shí)質(zhì)上不考慮對(duì)復(fù)雜度的影響。另外的模型的 使用允許精確的碼率控制,這可以減少延遲。為了實(shí)現(xiàn)高的壓縮效率(例如,針對(duì)相同數(shù)目 的比特最大化視覺(jué)質(zhì)量),除了選擇良好的編碼參數(shù)之外,謹(jǐn)慎地選擇被分配給每個(gè)編碼單 元類(lèi)型的總比特率的比例。使用所收集的這樣的比特率和質(zhì)量統(tǒng)計(jì)數(shù)據(jù)來(lái)導(dǎo)出最佳的碼率 分配,該最佳的碼率分配可以然后由碼率控制模型使用來(lái)改善給定目標(biāo)比特率下的視覺(jué)質(zhì) 量。因此可以加速碼率控制模型初始化和收斂,這可以改善圖像質(zhì)量或一致性。在一個(gè)實(shí)施例中,在此和上面所述的技術(shù)被應(yīng)用于將初始視頻比特流轉(zhuǎn)碼為最終 的視頻比特流。轉(zhuǎn)碼的原因可以包括導(dǎo)出新的比特流,所述新的比特流具有與原始比特流 相比較不同(有時(shí)更低)的緩沖和帶寬使用、在分辨率和/或幀率上的改變、在特定環(huán)境內(nèi) 的編碼工具的可用性等。在一個(gè)實(shí)施例中,原始畫(huà)面的比特率和質(zhì)量關(guān)系被計(jì)算并應(yīng)用到 新創(chuàng)建比特流的碼率控制,這可以改善圖像質(zhì)量并降低復(fù)雜度。應(yīng)當(dāng)理解,在一個(gè)實(shí)施例中,存在三種參數(shù)(a)限定每個(gè)碼率控制模型及其行為的碼率控制模型參數(shù)(QP線性或二次模型的系數(shù)、平均頭比特等);(b)通過(guò)應(yīng)用某個(gè)碼率 控制模型和比特或質(zhì)量約束(例如,QP)而產(chǎn)生的編碼參數(shù);以及(C)轉(zhuǎn)換或比例調(diào)節(jié)參 數(shù),所述轉(zhuǎn)換或比例調(diào)節(jié)參數(shù)(i)將來(lái)自一個(gè)編碼單元的編碼參數(shù)轉(zhuǎn)換為另外的參數(shù),或 者(ii)將與一個(gè)編碼單元對(duì)應(yīng)的碼率控制模型參數(shù)轉(zhuǎn)換為另外的參數(shù)。一個(gè)實(shí)施例具有以下部件(a)視頻編碼器;(b)可選地,運(yùn)動(dòng)估計(jì)和補(bǔ)償框架(MEMC);(c)可選的空間統(tǒng)計(jì)數(shù)據(jù)分析模塊;(d)用于保存模型狀態(tài)和進(jìn)行判定的一個(gè)或多個(gè)碼率控制模塊;(e)用于從編碼過(guò)程收集有益統(tǒng)計(jì)數(shù)據(jù)的多個(gè)統(tǒng)計(jì)模塊;(f)可選的統(tǒng)計(jì)模塊,其從運(yùn)動(dòng)估計(jì)和補(bǔ)償框架收集統(tǒng)計(jì)數(shù)據(jù);以及(g)判定模塊,其將來(lái)自可選的MEMC預(yù)處理器(如果可以獲得)與視頻編碼器的 統(tǒng)計(jì)數(shù)據(jù)融合,并向碼率控制模塊提供反饋。一個(gè)實(shí)施例具有以下部件(a)視頻編碼器;(b)可選地,運(yùn)動(dòng)估計(jì)和補(bǔ)償框架;(c)可選的空間統(tǒng)計(jì)數(shù)據(jù)分析模塊;(d)用于保存模型狀態(tài)和進(jìn)行判定的一個(gè)或多個(gè)碼率控制模塊;(e)用于從編碼過(guò)程收集有益統(tǒng)計(jì)數(shù)據(jù)的多個(gè)統(tǒng)計(jì)模塊;(f)可選的統(tǒng)計(jì)模塊,其從運(yùn)動(dòng)估計(jì)和補(bǔ)償框架收集統(tǒng)計(jì)數(shù)據(jù);以及(g)判定模塊,其將來(lái)自可選的MEMC預(yù)處理器(如果可以獲得)與視頻轉(zhuǎn)碼器的 統(tǒng)計(jì)數(shù)據(jù)融合,并向碼率控制模塊提供反饋。在此所述的實(shí)施例包括1.第一技術(shù)(在下面在2.0. 1節(jié)示例第一技術(shù)-碼率控制建模中描述)允許用 于對(duì)用不同編碼單元類(lèi)型編碼的序列的精確碼率控制,而無(wú)需為所有編碼單元類(lèi)型保存單 獨(dú)的碼率控制模型。通過(guò)從視頻編碼器和運(yùn)動(dòng)補(bǔ)償時(shí)間濾波器(MCTF)預(yù)處理器收集統(tǒng)計(jì) 數(shù)據(jù)來(lái)推動(dòng)這樣的技術(shù)。2.第二技術(shù)(在下面在2. 0. 2節(jié)示例第二技術(shù)-收集統(tǒng)計(jì)數(shù)據(jù)中描述)可選地 從運(yùn)動(dòng)估計(jì)和補(bǔ)償框架或者多輪次編碼器的第一或隨后輪次收集統(tǒng)計(jì)數(shù)據(jù),并使用所述統(tǒng) 計(jì)數(shù)據(jù)來(lái)改善現(xiàn)有的碼率控制方法,從而增強(qiáng)畫(huà)面復(fù)雜度估計(jì)并有助于檢測(cè)諸如褪色的場(chǎng) 景類(lèi)型,這可以幫助優(yōu)化碼率分配。應(yīng)當(dāng)理解,在此和下面針對(duì)這樣的第二技術(shù)來(lái)描述的算 法也可以用于增強(qiáng)第一技術(shù)。3.第三技術(shù)(在下面在2. 0.3節(jié)示例第三技術(shù)-比特分配中描述)使用由第一 技術(shù)產(chǎn)生的統(tǒng)計(jì)數(shù)據(jù)來(lái)與多個(gè)碼率控制模型相結(jié)合地最佳地分配比特,每個(gè)編碼單元類(lèi)型 一種碼率控制模型。這樣的技術(shù)可以獲得良好的壓縮效率,同時(shí)保持精確的碼率控制。4.第四技術(shù)(在下面在2. 0.4節(jié)示例第四技術(shù)-轉(zhuǎn)碼中描述)使用來(lái)自三種在 前技術(shù)(在2. 0. 1,2. 0. 2和2. 0. 3節(jié)中)的原理來(lái)在轉(zhuǎn)碼期進(jìn)行有效的碼率控制。2. 0. 1示例第一技術(shù)-碼率控制建模一個(gè)實(shí)施例在壓縮圖像序列時(shí)提供有效和低復(fù)雜度的碼率控制,所述圖像序列使用具有復(fù)雜的和多個(gè)編碼依賴性的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)結(jié)構(gòu),比如如上所述的在圖8-11中所示 的結(jié)構(gòu)。諸如在圖8-11中描述的復(fù)雜結(jié)構(gòu)可以包括多種編碼單元。這樣的復(fù)雜度可能影 響保持每個(gè)編碼單元類(lèi)型不同的碼率控制模型的實(shí)用性。對(duì)于N個(gè)編碼單元類(lèi)型,保存與 N個(gè)編碼單元類(lèi)型中的M個(gè)編碼單元類(lèi)型對(duì)應(yīng)的同一數(shù)目M個(gè)碼率控制模型。對(duì)于剩余的 N-M個(gè)編碼單元類(lèi)型,利用從編碼所述N個(gè)編碼單元類(lèi)型收集的統(tǒng)計(jì)數(shù)據(jù)來(lái)近似對(duì)應(yīng)的碼 率控制模型。最初,采用任意模型來(lái)導(dǎo)出用于控制比特率使用的編碼參數(shù)(例如,QP、拉格 朗日λ、閾值參數(shù)等)。首先,使用特定編碼單元類(lèi)型的統(tǒng)計(jì)數(shù)據(jù)來(lái)更新任意模型,然后使 用比特目標(biāo)T(j)作為輸入來(lái)確定用于控制比特率使用的編碼參數(shù)。一個(gè)實(shí)施例將從M個(gè) 編碼單元類(lèi)型中的至少一個(gè)編碼單元類(lèi)型導(dǎo)出并且與該至少一個(gè)編碼單元類(lèi)型對(duì)應(yīng)的碼 率控制模型轉(zhuǎn)換為與N-M個(gè)編碼單元類(lèi)型之一對(duì)應(yīng)的碼率控制模型。這樣的轉(zhuǎn)換包括修 改重要的碼率控制參數(shù),諸如比特目標(biāo)T(j)、復(fù)雜度估計(jì)(例如SAD)以及頭比特bheadCT(j) 的估計(jì)值。在一個(gè)實(shí)施例中,通過(guò)在視頻編碼器和/或MEMC框架上收集一批空間-時(shí)間統(tǒng)計(jì) 數(shù)據(jù)來(lái)方便轉(zhuǎn)換。這種收集的統(tǒng)計(jì)數(shù)據(jù)可以包括但是不限于(a)在視頻編碼器上利用運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)或幀內(nèi)預(yù)測(cè)而得到的在當(dāng)前塊和預(yù)測(cè)塊之 間的預(yù)測(cè)誤差(例如,SAD);(b)在MEMC框架上使用多個(gè)運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)的線性組合而得到的在當(dāng)前塊和預(yù)測(cè) 塊之間的預(yù)測(cè)誤差(例如,SAD);(c)源信號(hào)的亮度和/或色度分量的方差;(d)用于編碼當(dāng)前基本單元(或畫(huà)面)的比特的總數(shù);(e)被花費(fèi)用于將當(dāng)前基本單元(或畫(huà)面)的紋理編碼的比特?cái)?shù)目;(f)被花費(fèi)用于將當(dāng)前基本單元的頭和語(yǔ)法信息編碼的比特?cái)?shù)目;(g)運(yùn)動(dòng)參數(shù)(例如,平移、仿射或某個(gè)高階模型)和可以從所述參數(shù)計(jì)算出的統(tǒng) 計(jì)數(shù)據(jù),諸如第一和第二距;(h)基本單元的加權(quán)系數(shù),其通過(guò)使用加權(quán)預(yù)測(cè)以導(dǎo)出當(dāng)前塊的預(yù)測(cè)塊而被導(dǎo)出; 以及(i)編碼單元類(lèi)型可以參考圖12來(lái)描述一個(gè)實(shí)施例,圖12是示出利用經(jīng)轉(zhuǎn)換的碼率控制模型的編 碼的流程圖(1200)。圖12的處理可以包括下面的步驟1. (1202)初始化視頻編碼器。視頻編碼器使用N個(gè)編碼單元類(lèi)型來(lái)編碼輸入畫(huà) 面。建立、初始化并緩沖M個(gè)碼率控制模型。當(dāng)前畫(huà)面索引j被初始化為0。2. (1242)如果這是在圖像序列中的第一畫(huà)面,則用特定的或是反復(fù)地被確定的編 碼參數(shù)(例如QP)來(lái)編碼第一畫(huà)面,以滿足碼率約束。如果編碼單元類(lèi)型對(duì)應(yīng)于M個(gè)緩沖 的碼率控制模型之一,則更新該圖像所屬的對(duì)應(yīng)的碼率控制模型,并在為該編碼單元類(lèi)型 保留的統(tǒng)計(jì)數(shù)據(jù)緩沖器中緩沖包括所花費(fèi)的比特的數(shù)目的統(tǒng)計(jì)數(shù)據(jù)。對(duì)于所有編碼單元類(lèi) 型,將編碼數(shù)據(jù)標(biāo)準(zhǔn)化為相同的編碼參數(shù)(例如,QP)。3.如果這不是第一畫(huà)面,則查看編碼單元類(lèi)型(1204)。(a)如果該畫(huà)面是在序列中的具有特定編碼單元類(lèi)型的第一畫(huà)面,則使用初始的 一組編碼參數(shù)(例如,QP)來(lái)編碼該第一畫(huà)面。這些編碼參數(shù)可以被任意地選擇、估計(jì)(在給出關(guān)于編碼單元的某些初步的、基本的或完全的信息的情況下)或被反復(fù)地選擇?;蛘撸?使用在上面的步驟2收集的信息來(lái)估計(jì)用于當(dāng)前編碼單元的編碼參數(shù)。在一個(gè)實(shí)施例中, 在還沒(méi)有確定畫(huà)面之間的精確關(guān)系時(shí),用表示平均視頻序列的行為的值來(lái)初始化這樣的關(guān) 系。例如,反映P編碼的畫(huà)面是B編碼的畫(huà)面的子集的信息因此用于將QP相應(yīng)地適應(yīng)于B 編碼的畫(huà)面。在這種情況下,例如提高QP。例如,畫(huà)面之間的關(guān)系與通過(guò)編碼或分析視頻序 列的第一畫(huà)面而收集的統(tǒng)計(jì)數(shù)據(jù)組合,以獲得該畫(huà)面的良好的初始QP。如果編碼單元類(lèi)型 對(duì)應(yīng)于M個(gè)緩沖的模型之一,則更新與所述圖像所屬的編碼單元對(duì)應(yīng)的碼率控制模型。不 管編碼單元類(lèi)型如何,都在與該編碼單元類(lèi)型相關(guān)聯(lián)的統(tǒng)計(jì)數(shù)據(jù)緩沖器中緩沖一批統(tǒng)計(jì)數(shù) 據(jù),所述統(tǒng)計(jì)數(shù)據(jù)包括所花費(fèi)的比特?cái)?shù)目和在編碼后結(jié)果產(chǎn)生的失真。(b)否則,編碼器確定編碼單元類(lèi)型是否對(duì)應(yīng)于緩沖的M個(gè)模型之一或N-M個(gè)丟失 模型之一(1204)。在第一種情況下,當(dāng)編碼單元類(lèi)型對(duì)應(yīng)于緩沖的M個(gè)模型之一時(shí)(1206, 1208,1210),選擇適當(dāng)?shù)默F(xiàn)有模型來(lái)提供用于當(dāng)前畫(huà)面的編碼參數(shù)(1216,1218,1220)。將 當(dāng)前畫(huà)面(或切片)編碼(1226,1228,1230)。然后,更新與所述圖像所屬的編碼單元對(duì)應(yīng)的 碼率控制模型。在后一種情況下,編碼單元類(lèi)型對(duì)應(yīng)于N-M個(gè)丟失模型之一(1212或1214), 處理統(tǒng)計(jì)數(shù)據(jù)緩沖器中針對(duì)每個(gè)編碼單元類(lèi)型收集的數(shù)據(jù),以產(chǎn)生轉(zhuǎn)換(1222,12M)。這樣 的轉(zhuǎn)換將諸如比特目標(biāo)T(j)和頭比特的估計(jì)值bheadCT(j)等編碼參數(shù)從緩沖的M個(gè)模型之 一(或其組合)轉(zhuǎn)換為適合于用于N-M個(gè)編碼單元類(lèi)型的編碼參數(shù)(1222,12M)。使用結(jié) 果產(chǎn)生的編碼參數(shù)來(lái)編碼畫(huà)面(1232,1234)。各種編碼單元類(lèi)型在與該編碼單元類(lèi)型相關(guān) 聯(lián)的統(tǒng)計(jì)數(shù)據(jù)緩沖器中緩沖多個(gè)統(tǒng)計(jì)數(shù)據(jù),所述統(tǒng)計(jì)數(shù)據(jù)包括所花費(fèi)的比特的數(shù)目。4.在編碼當(dāng)前畫(huà)面之后,統(tǒng)計(jì)數(shù)據(jù)緩沖器中的數(shù)據(jù)被處理以捕獲最近的圖像統(tǒng)計(jì) 數(shù)據(jù)。5.編碼器確定是否還有畫(huà)面要編碼(1238)。如果是,則當(dāng)前畫(huà)面索引j增加 (1240),并控制進(jìn)行到步驟2。否則,可以結(jié)束編碼。參見(jiàn)圖2,一個(gè)實(shí)施例使用碼率控制模型(200)。例如,可以使用rho域碼率控制 算法作為碼率控制模型。碼率控制判定模塊(210)將目標(biāo)比特的數(shù)目作為輸入,該目標(biāo)比 特的數(shù)目諸如是紋理比特的數(shù)目(20 和頭比特的數(shù)目004)、畫(huà)面復(fù)雜度的估計(jì)值(例 如SAD) (206)和所使用的編碼模式(208)。碼率控制判定模塊(210)輸出編碼參數(shù),諸如 QP014)、編碼模式(216)、跳中貞(218)以及拉格朗日參數(shù)λ (220)等。另外,這樣的輸出編 碼參數(shù)(也稱為碼率控制模型參數(shù))被存儲(chǔ)在碼率控制存儲(chǔ)器012)中。在一個(gè)實(shí)施例 中,當(dāng)使用多個(gè)編碼參數(shù)(例如,QP)來(lái)編碼畫(huà)面時(shí),可以將輸出編碼參數(shù)計(jì)算為這樣的多 個(gè)(粒度)編碼參數(shù)的算術(shù)平均(平均值)、加權(quán)平均值、中值或非線性組合。在另一個(gè)實(shí) 施例中,如果編碼器使用多個(gè)編碼單元來(lái)編碼具有多個(gè)切片的單個(gè)畫(huà)面,則可以將輸出編 碼參數(shù)計(jì)算為這樣的多個(gè)(粒度)編碼參數(shù)的算術(shù)平均(平均值)、加權(quán)平均值、中值或非 線性組合等。在視頻編碼器的一個(gè)實(shí)施例中,預(yù)測(cè)結(jié)構(gòu)并且因此編碼單元以規(guī)則或不規(guī)則的間 隔被適配,以獲得與視頻序列的基礎(chǔ)統(tǒng)計(jì)數(shù)據(jù)的較好匹配。編碼單元的數(shù)目和類(lèi)型可以改 變,這可能影響所保存的碼率控制模型和編碼單元轉(zhuǎn)換。以下描述兩個(gè)示例情況(a)沒(méi)有任何保存的模型或統(tǒng)計(jì)數(shù)據(jù)的新編碼單元。在這種情況下,通過(guò)將先前保 存的碼率控制模型轉(zhuǎn)換為新的碼率控制模型來(lái)初始化新編碼單元的碼率控制模型(緩沖的或近似的)。該轉(zhuǎn)換也使用特定關(guān)系(例如,在給定QP的情況下,B編碼的畫(huà)面可以使用 平均而言比P編碼的畫(huà)面更少的比特)。應(yīng)當(dāng)理解,在在此和下面的2. 0. 2節(jié)“示例第二技 術(shù)-收集統(tǒng)計(jì)數(shù)據(jù)”中更詳細(xì)地描述了可以被應(yīng)用用于這些轉(zhuǎn)換的算法。(b)在先前結(jié)構(gòu)中也存在的具有新結(jié)構(gòu)的編碼單元。在這種情況下,先前收集的統(tǒng) 計(jì)數(shù)據(jù)和碼率控制模型被適配用于新結(jié)構(gòu)。在一個(gè)實(shí)施例中,識(shí)別當(dāng)前畫(huà)面的編碼類(lèi)型。例如,將當(dāng)前畫(huà)面的編碼類(lèi)型識(shí)別為 I、P和B編碼的畫(huà)面。如果當(dāng)前畫(huà)面是B編碼的畫(huà)面,并且這個(gè)畫(huà)面不是錨畫(huà)面(例如,在 級(jí)別0內(nèi)),則確定分級(jí)級(jí)別1。在圖8中描述了具有三個(gè)分級(jí)級(jí)別和二進(jìn)制分解結(jié)構(gòu)的示 例分級(jí)B編碼畫(huà)面結(jié)構(gòu)。根據(jù)可獲得的分級(jí)級(jí)別的最大數(shù)目,可以通過(guò)調(diào)整要被解碼的最 高期望級(jí)別來(lái)控制經(jīng)解碼的視頻序列的時(shí)間分辨率。例如,如果僅解碼在圖8中屬于時(shí)間 級(jí)別0的畫(huà)面,則可以再現(xiàn)具有1/4時(shí)間分辨率的圖像序列版本。如果解碼了屬于級(jí)別0 和1的畫(huà)面,則可以單獨(dú)以級(jí)別0的分辨率的兩倍(例如,原始分辨率的一半)來(lái)顯示圖像 序列。通過(guò)解碼所有的時(shí)間級(jí)別,可以以原始時(shí)間分辨率來(lái)顯示圖像序列。作為另一示例, 設(shè)編碼單元類(lèi)型的數(shù)目N = 3并且碼率控制模型的數(shù)目M = 1 (P編碼的畫(huà)面)。如果編碼 器使用P編碼的編碼單元來(lái)編碼當(dāng)前畫(huà)面,則現(xiàn)有的碼率控制模型可以用于等式2的比特 目標(biāo)。然而,如果編碼器使用I編碼或B編碼的編碼單元來(lái)編碼當(dāng)前畫(huà)面,則按比例調(diào)整最 終的比特目標(biāo)T(j)以考慮從P編碼的畫(huà)面統(tǒng)計(jì)數(shù)據(jù)導(dǎo)出如上所述的線性SAD模型以及二 次QP模型。為了針對(duì)這個(gè)視差進(jìn)行比例調(diào)整,引入比例調(diào)整參數(shù)朽和Q1,以導(dǎo)出的下面的 碼率分配
/β'(Γω) = ΖΜ if B —SLICE
權(quán)利要求
1.一種方法,包括以下步驟確定統(tǒng)計(jì)數(shù)據(jù),所述統(tǒng)計(jì)數(shù)據(jù)用于在視頻編碼器中從以下中的一個(gè)或更多個(gè)來(lái)估計(jì)在 經(jīng)編碼的視頻幀的流中的第一編碼單元類(lèi)型的第一幀的一個(gè)或更多個(gè)編碼量化參數(shù) 所述第一編碼單元類(lèi)型的至少第二幀; 至少第二編碼單元類(lèi)型的一個(gè)或更多個(gè)幀;或者一個(gè)或更多個(gè)先前經(jīng)編碼的編碼單元類(lèi)型;其中,所述第一、第二或先前經(jīng)編碼的編碼 單元類(lèi)型中的一個(gè)或更多個(gè)涉及內(nèi)幀(I幀)、預(yù)測(cè)幀(P幀)或雙向幀(B幀)中的至少一 個(gè);至少部分地基于所述確定的統(tǒng)計(jì)數(shù)據(jù)來(lái)估計(jì)在所述第一、第二或先前經(jīng)編碼的編碼單 元類(lèi)型中的一個(gè)或更多個(gè)之間的一個(gè)或更多個(gè)關(guān)系,其中,所述關(guān)系對(duì)應(yīng)于與所述編碼單 元類(lèi)型中的每個(gè)編碼單元類(lèi)型相關(guān)聯(lián)的比特率或圖像質(zhì)量中的一個(gè)或更多個(gè);以及基于所述量化參數(shù)或所述估計(jì)的關(guān)系中的一個(gè)或更多個(gè)來(lái)控制用于從所述視頻編碼 器發(fā)送所述經(jīng)編碼的視頻流的碼率。
2.根據(jù)權(quán)利要求1所述的方法,還包括以下步驟確定利用所述視頻編碼器的運(yùn)動(dòng)估計(jì)和補(bǔ)償功能(MECF)而產(chǎn)生的統(tǒng)計(jì)數(shù)據(jù); 其中,所述碼率控制步驟進(jìn)一步基于所述確定的MEMF統(tǒng)計(jì)數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述確定MEMF產(chǎn)生的統(tǒng)計(jì)數(shù)據(jù)包括以下步驟 從以下中的一個(gè)或更多個(gè)中接收信息一個(gè)或更多個(gè)運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償(MEMC)模塊;空間統(tǒng)計(jì)數(shù)據(jù)分析模塊;第一編碼輪次;多個(gè)編碼輪次中的先前輪次;執(zhí)行以下步驟中的一個(gè)或更多個(gè)根據(jù)以下中的至少一個(gè)來(lái)估計(jì)當(dāng)前畫(huà)面的預(yù)測(cè)誤差兩個(gè)或更多先前經(jīng)編碼的畫(huà)面的預(yù)測(cè)誤差;或者在所述MEMC上收集的統(tǒng)計(jì)數(shù)據(jù);或者根據(jù)利用所述空間統(tǒng)計(jì)數(shù)據(jù)分析模塊收集的先前經(jīng)編碼的畫(huà)面的空間方差來(lái)估計(jì)所 述當(dāng)前畫(huà)面的空間方差。
4.根據(jù)權(quán)利要求3所述的方法,還包括以下步驟 接收當(dāng)前幀;從與所述接收的當(dāng)前幀對(duì)應(yīng)的一個(gè)或更多個(gè)圖像特征確定表征所述當(dāng)前幀的場(chǎng)景類(lèi)型;其中,所述確定所述當(dāng)前畫(huà)面的場(chǎng)景類(lèi)型的步驟包括分析來(lái)自所述MEMC模塊中的至 少一個(gè)MEMC模塊或來(lái)自多輪次視頻編碼器的先前編碼輪次的空間-時(shí)間統(tǒng)計(jì)數(shù)據(jù); 基于所述確定的場(chǎng)景類(lèi)型,執(zhí)行以下步驟中的一個(gè)或更多個(gè) 選擇適合于所述場(chǎng)景類(lèi)型的碼率控制模型;或者 調(diào)整與默認(rèn)碼率控制模型相關(guān)聯(lián)的參數(shù);以及基于具有所述調(diào)整的相關(guān)聯(lián)的參數(shù)的所述默認(rèn)碼率控制來(lái)執(zhí)行所述碼率控制步驟。
5.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括以下步驟針對(duì)一個(gè)或更多個(gè)編碼單元,接收每畫(huà)面的編碼結(jié)構(gòu)、比例調(diào)整參數(shù)和比特目標(biāo); 使用以下中的至少一個(gè)來(lái)計(jì)算要向所述一個(gè)或更多個(gè)編碼單元中的每個(gè)編碼單元分 配的比特的數(shù)目 所述編碼結(jié)構(gòu); 所述比例調(diào)整參數(shù);或者 所述比特目標(biāo);其中,所述計(jì)算所述比特?cái)?shù)目的步驟包括以下步驟 根據(jù)所述比例調(diào)整參數(shù)來(lái)計(jì)算至少一個(gè)新的參數(shù);以及使向所述第一編碼單元類(lèi)型分配的所述量化參數(shù)(QP)值不同于向所述第二編碼單元 類(lèi)型或所述先前經(jīng)編碼的編碼單元類(lèi)型中的一個(gè)或更多個(gè)分配的QP值。
6.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括以下步驟 在用于N個(gè)編碼單元類(lèi)型的所述視頻編碼器上接收當(dāng)前幀;其中,所述視頻編碼器包括M個(gè)碼率控制模型,并且其中所述數(shù)目N大于所述數(shù)目M ;以及使用以下中的一個(gè)或更多個(gè)來(lái)編碼所述當(dāng)前幀 與所述當(dāng)前幀有關(guān)的特定信息;來(lái)自所述M個(gè)碼率控制模型中的至少一個(gè)碼率控制模型的一個(gè)或更多個(gè)編碼參數(shù);或者通過(guò)轉(zhuǎn)換來(lái)自所述M個(gè)碼率控制模型中的所述至少一個(gè)碼率控制模型的所述編碼參 數(shù)中的至少一個(gè)編碼參數(shù)而獲得的一個(gè)或更多個(gè)編碼參數(shù)。
7.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括以下步驟接收在所述經(jīng)編碼的視頻流中的圖像序列,其中,所述圖像序列中的第一數(shù)目的畫(huà)面 具有所述第一編碼單元類(lèi)型;使用與所述第一編碼單元類(lèi)型對(duì)應(yīng)的第一碼率控制模型來(lái)編碼所述圖像序列中的所 述第一數(shù)目的畫(huà)面;以及當(dāng)使用與所述第一編碼單元類(lèi)型對(duì)應(yīng)的所述第一碼率控制模型來(lái)編碼所述圖像序列 中的所述第一數(shù)目的畫(huà)面之后,編碼所述圖像序列中的當(dāng)前幀,其中,所述當(dāng)前幀對(duì)應(yīng)于與 所述第一編碼單元類(lèi)型不同的第二編碼單元類(lèi)型; 其中,所述編碼所述當(dāng)前幀的步驟包括以下步驟 轉(zhuǎn)換與所述第一碼率控制模型對(duì)應(yīng)的參數(shù);其中,所述轉(zhuǎn)換所述第一碼率控制模型的參數(shù)的步驟包括使用來(lái)自所述MEMC模塊或 先前編碼輪次中的至少一個(gè)的統(tǒng)計(jì)數(shù)據(jù);以及 基于所述轉(zhuǎn)換的參數(shù)來(lái)編碼所述當(dāng)前幀。
8.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括以下步驟 初始化M個(gè)碼率控制模型;針對(duì)N個(gè)編碼單元類(lèi)型的畫(huà)面,計(jì)算N個(gè)目標(biāo)比特; 其中,所述數(shù)目N大于或等于所述數(shù)目M ; 接收當(dāng)前畫(huà)面;確定所述N個(gè)編碼單元類(lèi)型的每一個(gè)中用于所述當(dāng)前畫(huà)面的編碼單元類(lèi)型;當(dāng)所述當(dāng)前畫(huà)面的編碼單元類(lèi)型是特定編碼單元類(lèi)型時(shí),執(zhí)行以下步驟 使用與所述特定編碼單元類(lèi)型對(duì)應(yīng)的特定編碼參數(shù),或者使用所述M個(gè)碼率控制模型 中的與所述特定編碼單元類(lèi)型對(duì)應(yīng)的特定碼率控制模型;基于所述特定編碼參數(shù)或特定碼率控制模型來(lái)編碼所述當(dāng)前畫(huà)面; 更新與所述特定編碼單元類(lèi)型對(duì)應(yīng)的比例調(diào)整參數(shù);以及 重新針對(duì)每一個(gè)編碼單元類(lèi)型計(jì)算所述N個(gè)目標(biāo)比特。
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)產(chǎn)品,包括經(jīng)編碼的指令,所述經(jīng)編碼的指令當(dāng)使用計(jì)算 機(jī)系統(tǒng)的處理器執(zhí)行時(shí),使得所述處理器執(zhí)行在權(quán)利要求1-9中的一個(gè)或更多個(gè)中所述的 處理。
10.一種系統(tǒng),包括用于確定統(tǒng)計(jì)數(shù)據(jù)的裝置,所述統(tǒng)計(jì)數(shù)據(jù)用于在視頻編碼器中從以下中的一個(gè)或更多 個(gè)來(lái)估計(jì)在經(jīng)編碼的視頻幀的流中的第一編碼單元類(lèi)型的第一幀的一個(gè)或更多個(gè)編碼量 化參數(shù)所述第一編碼單元類(lèi)型的至少第二幀; 至少第二編碼單元類(lèi)型的一個(gè)或更多個(gè)幀;或者一個(gè)或更多個(gè)先前經(jīng)編碼的編碼單元類(lèi)型;其中,所述第一、第二或先前經(jīng)編碼的編碼 單元類(lèi)型中的一個(gè)或更多個(gè)涉及內(nèi)幀(I幀)、預(yù)測(cè)幀(P幀)或雙向幀(B幀)中的至少一 個(gè);用于至少部分地基于所述確定的統(tǒng)計(jì)數(shù)據(jù)來(lái)估計(jì)在所述第一、第二或先前經(jīng)編碼的編 碼單元類(lèi)型中的一個(gè)或更多個(gè)之間的一個(gè)或更多個(gè)關(guān)系的裝置,其中,所述關(guān)系對(duì)應(yīng)于與 所述編碼單元類(lèi)型中的每個(gè)編碼單元類(lèi)型相關(guān)聯(lián)的比特率或圖像質(zhì)量中的一個(gè)或更多個(gè); 以及用于基于所述量化參數(shù)或所述估計(jì)的關(guān)系中的一個(gè)或更多個(gè)來(lái)控制用于從所述視頻 編碼器發(fā)送所述經(jīng)編碼的視頻流的碼率的裝置。
11.一種系統(tǒng),包括總線,其將所述系統(tǒng)的一個(gè)或更多個(gè)部件可通信地、電氣地、光學(xué)地或電子地相互耦接;計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其可通信地、電氣地、光學(xué)地或電子地耦接到所述總線,并且包 括經(jīng)編碼的指令;以及一個(gè)或更多個(gè)處理器,其可通信地、電氣地、光學(xué)地或電子地耦接到所述總線,并且與 所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)交互地相互耦接,其中,當(dāng)執(zhí)行所述經(jīng)編碼指令中的一個(gè)或更多 個(gè)時(shí),控制或引起包括以下步驟的處理確定統(tǒng)計(jì)數(shù)據(jù),所述統(tǒng)計(jì)數(shù)據(jù)用于在視頻編碼器中從以下中的一個(gè)或更多個(gè)來(lái)估計(jì)在 經(jīng)編碼的視頻幀的流中的第一編碼單元類(lèi)型的第一幀的一個(gè)或更多個(gè)編碼量化參數(shù) 所述第一編碼單元類(lèi)型的至少第二幀; 至少第二編碼單元類(lèi)型的一個(gè)或更多個(gè)幀;或者一個(gè)或更多個(gè)先前經(jīng)編碼的編碼單元類(lèi)型;其中,所述第一、第二或先前經(jīng)編碼的編碼 單元類(lèi)型中的一個(gè)或更多個(gè)涉及內(nèi)幀(I幀)、預(yù)測(cè)幀(P幀)或雙向幀(B幀)中的至少一至少部分地基于所述確定的統(tǒng)計(jì)數(shù)據(jù)來(lái)估計(jì)在所述第一、第二或先前經(jīng)編碼的編碼單 元類(lèi)型中的一個(gè)或更多個(gè)之間的一個(gè)或更多個(gè)關(guān)系,其中,所述關(guān)系對(duì)應(yīng)于與所述編碼單 元類(lèi)型中的每個(gè)編碼單元類(lèi)型相關(guān)聯(lián)的比特率或圖像質(zhì)量中的一個(gè)或更多個(gè);以及基于所述量化參數(shù)或所述估計(jì)的關(guān)系中的一個(gè)或更多個(gè)來(lái)控制用于從所述視頻編碼 器發(fā)送所述經(jīng)編碼的視頻流的碼率。
12.—種圖像編碼器,包括用于確定統(tǒng)計(jì)數(shù)據(jù)的部件或模塊,所述統(tǒng)計(jì)數(shù)據(jù)用于在視頻編碼器中從以下中的一個(gè) 或更多個(gè)來(lái)估計(jì)在經(jīng)編碼的視頻幀的流中的第一編碼單元類(lèi)型的第一幀的一個(gè)或更多個(gè) 編碼量化參數(shù)所述第一編碼單元類(lèi)型的至少第二幀;至少第二編碼單元類(lèi)型的一個(gè)或更多個(gè)幀;或者一個(gè)或更多個(gè)先前經(jīng)編碼的編碼單元類(lèi)型;其中,所述第一、第二或先前經(jīng)編碼的編碼 單元類(lèi)型中的一個(gè)或更多個(gè)涉及內(nèi)幀(I幀)、預(yù)測(cè)幀(P幀)或雙向幀(B幀)中的至少一 個(gè);用于至少部分地基于所述確定的統(tǒng)計(jì)數(shù)據(jù)來(lái)估計(jì)在所述第一、第二或先前經(jīng)編碼的編 碼單元類(lèi)型中的一個(gè)或更多個(gè)之間的一個(gè)或更多個(gè)關(guān)系的部件或模塊,其中,所述關(guān)系對(duì) 應(yīng)于與所述編碼單元類(lèi)型中的每個(gè)編碼單元類(lèi)型相關(guān)聯(lián)的比特率或圖像質(zhì)量中的一個(gè)或 更多個(gè);以及用于基于所述量化參數(shù)或所述估計(jì)的關(guān)系中的一個(gè)或更多個(gè)來(lái)控制用于從所述視頻 編碼器發(fā)送所述經(jīng)編碼的視頻流的碼率的部件或模塊。
13.一種集成電路(IC),包括多個(gè)共同起作用的結(jié)構(gòu)部件,所述多個(gè)共同起作用的結(jié) 構(gòu)部件當(dāng)執(zhí)行配置的、編程的或結(jié)構(gòu)上的功能操作時(shí),使得所述IC至少部分地控制在權(quán)利 要求1-8中的一個(gè)或更多個(gè)中所述的處理。
14.一種設(shè)備產(chǎn)品,其操作用于執(zhí)行計(jì)算或視頻編碼功能中的一個(gè)或更多個(gè),所述功能 包括在權(quán)利要求1-8中的一個(gè)或更多個(gè)中所述的處理中的一個(gè)或更多個(gè)。
15.一種計(jì)算機(jī)、視頻編碼器或IC中的一個(gè)或更多個(gè)的用途,包括在權(quán)利要求1-8中的 一個(gè)或更多個(gè)中所述的處理中的一個(gè)或更多個(gè)。
全文摘要
根據(jù)其他可能不同的(例如,P編碼的)畫(huà)面或先前經(jīng)編碼的編碼單元來(lái)確定用于估計(jì)一種編碼單元類(lèi)型的(例如,B編碼或I編碼的)畫(huà)面的量化因子的統(tǒng)計(jì)數(shù)據(jù)。在這樣的編碼單元類(lèi)型之間的比特率和質(zhì)量關(guān)系可以用于量化參數(shù)。估計(jì)在編碼單元類(lèi)型之間的比特率和質(zhì)量關(guān)系使得能夠?qū)Ξ?huà)面進(jìn)行精確的碼率控制,而不管它們的編碼單元類(lèi)型如何。在編碼單元類(lèi)型之間的比特率和質(zhì)量關(guān)系可以用于多個(gè)碼率控制模型,以提高壓縮率。可以利用由運(yùn)動(dòng)估計(jì)和補(bǔ)償框架產(chǎn)生的統(tǒng)計(jì)數(shù)據(jù)來(lái)調(diào)整碼率控制參數(shù)??梢栽谵D(zhuǎn)碼經(jīng)壓縮的比特流的過(guò)程中控制碼率控制性能。
文檔編號(hào)H04N7/26GK102067610SQ200980122603
公開(kāi)日2011年5月18日 申請(qǐng)日期2009年6月15日 優(yōu)先權(quán)日2008年6月16日
發(fā)明者亞歷山德羅斯·圖拉皮斯, 阿薩納西奧斯·萊昂塔里斯 申請(qǐng)人:杜比實(shí)驗(yàn)室特許公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
固镇县| 黄龙县| 衡阳县| 西乌| 高密市| 集贤县| 河东区| 景洪市| 丹巴县| 连山| 阳春市| 沁阳市| 那坡县| 米脂县| 泰州市| 合川市| 历史| 晴隆县| 广西| 曲水县| 定州市| 娄底市| 广宁县| 泊头市| 洞头县| 柳林县| 阳泉市| 衡南县| 龙州县| 贵溪市| 股票| 北辰区| 长沙市| 黄浦区| 白河县| 揭东县| 新宁县| 如皋市| 昭觉县| 双江| 漯河市|