專利名稱:基于變換系數(shù)直方圖的視頻速率控制的制作方法
基于變換系數(shù)直方圖的視頻速率控制
背景技術(shù):
視頻速率控制動態(tài)地調(diào)節(jié)經(jīng)編碼的視頻質(zhì)量以便幫助在給定變化的聯(lián)網(wǎng)條件中提供滿意的用戶體驗(yàn)。一般而言,給視頻編碼器將恒定比特率或局部恒定的比特率與變化的聯(lián)網(wǎng)條件匹配的任務(wù)。由運(yùn)動或者電影攝像改變造成的場景復(fù)雜度的改變,可以導(dǎo)致與基線明顯的偏差,從而預(yù)測的壓縮率將導(dǎo)致降級的視頻質(zhì)量。
發(fā)明內(nèi)容
提供本發(fā)明內(nèi)容以便以簡化形式介紹將在以下的具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
使用通過變換的視頻幀產(chǎn)生的變換系數(shù)的直方圖信息來確定量化因子。該直方圖用來估計(jì)當(dāng)前正處于編碼過程中的視頻幀的經(jīng)編碼的幀大小?;谠撝狈綀D的信息為當(dāng)前視頻幀調(diào)節(jié)在視頻編碼的量化步驟中使用的量化因子。選擇合適的量化因子有助于響應(yīng)視頻幀中的改變(例如,運(yùn)動、場景變化),從而提供了對視頻顯示質(zhì)量的平穩(wěn)調(diào)節(jié)。針對所需的經(jīng)編碼的幀大小的長度來平衡該直方圖。直方圖中的截止閾值與對量化因子的不同選擇相關(guān)聯(lián),并且那些閾值以上或者以下的點(diǎn)的比率用來估計(jì)經(jīng)編碼的幀的大小。歷史趨勢還可以用來調(diào)節(jié)相關(guān)性公式的系數(shù)從而提高計(jì)算的準(zhǔn)確性。
圖I示出計(jì)算機(jī)的計(jì)算機(jī)架構(gòu);圖2示出將直方圖的使用合并到視頻速率控制中的視頻編碼系統(tǒng);圖3示出壓縮率對比量化步長值以及壓縮率對比非零系數(shù)的百分比的示例圖;圖4示出使用變換系數(shù)的直方圖來調(diào)節(jié)量化因子的示例性基于塊的幀內(nèi)/幀間壓縮路徑;以及圖5示出使用通過未量化的變換系數(shù)創(chuàng)建的直方圖信息來更新量化因子的過程500。
具體實(shí)施例方式現(xiàn)在參考其中相同的標(biāo)號代表相同的元素的附圖,描述各實(shí)施例。具體地,圖I和相應(yīng)的討論旨在提供對在其中可以實(shí)現(xiàn)各實(shí)施例的合適計(jì)算環(huán)境的簡要、概括描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其他類型的結(jié)構(gòu)。也可使用其他計(jì)算機(jī)系統(tǒng)配置,包括多處理器系統(tǒng)、基于微處理器的或可編程的消費(fèi)電子產(chǎn)品、小型計(jì)算機(jī)、大型計(jì)算機(jī)等等。也可使用在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲器存儲設(shè)備中?,F(xiàn)在參考圖1,將描述在各實(shí)施例中利用的計(jì)算機(jī)100的說明性計(jì)算機(jī)架構(gòu)。圖I所示的計(jì)算機(jī)架構(gòu)可被配置為臺式計(jì)算機(jī)、服務(wù)器或移動計(jì)算機(jī),并且包括中央處理單元5(“CPU”)、包括隨機(jī)存取存儲器9 (“RAM”)和只讀存儲器(“ROM”)11在內(nèi)的系統(tǒng)存儲器7、以及將存儲器耦合至CPU 5的系統(tǒng)總線12?;据斎?輸出系統(tǒng)存儲在ROM 11中,它包含幫助在諸如啟動期間在計(jì)算機(jī)內(nèi)元件之間傳遞信息的基本例程。計(jì)算機(jī)100還包括用于存儲操作系統(tǒng)16、應(yīng)用程序和其他程序模塊的大容量存儲設(shè)備14,這將在以下更為詳細(xì)地描述。大容量存儲設(shè)備14通過連接至總線12的大容量存儲控制器(未示出)連接到CPU
5。大容量存儲設(shè)備14及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為計(jì)算機(jī)100提供非易失性存儲。雖然此處包含的對計(jì)算機(jī)可讀介質(zhì)的描述針對諸如硬盤或CD-ROM驅(qū)動器等大容量存儲設(shè)備,但是計(jì)算機(jī)可讀介質(zhì)可以是能夠由計(jì)算機(jī)100訪問的任何可用介質(zhì)存儲設(shè)備。
此處所使用的術(shù)語計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲介質(zhì)。計(jì)算機(jī)存儲介質(zhì)可包括以用于存儲諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。系統(tǒng)存儲器7、可移動存儲和不可移動存儲都是計(jì)算機(jī)存儲介質(zhì)示例(即,存儲器存儲)。計(jì)算機(jī)存儲介質(zhì)可以包括,但不限于,RAM、ROM、電可擦除只讀存儲器(EEPR0M)、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD )或其他光存儲、磁帶盒、磁帶、磁盤存儲或其他磁性存儲設(shè)備、或可用于存儲信息且可以由計(jì)算設(shè)備100訪問的任何其他介質(zhì)。任何這樣的計(jì)算機(jī)存儲介質(zhì)可以是設(shè)備100的一部分。計(jì)算設(shè)備100還可具有輸入設(shè)備28,諸如鍵盤、鼠標(biāo)、筆、聲音輸入設(shè)備、觸摸輸入設(shè)備等。也可包括輸出設(shè)備28,諸如顯示器、揚(yáng)聲器、打印機(jī)等等。上述設(shè)備是示例且可以使用其他設(shè)備。此處所使用的術(shù)語計(jì)算機(jī)可讀介質(zhì)還可包括通信介質(zhì)。通信介質(zhì)可由諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)來體現(xiàn),并包括任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”可以描述以對該信號中的信息進(jìn)行編碼的方式設(shè)定或者改變其一個或多個特征的信號。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接等有線介質(zhì),以及諸如聲學(xué)、射頻(RF)、紅外線和其他無線介質(zhì)等無線介質(zhì)。根據(jù)各實(shí)施例,計(jì)算機(jī)100使用通過諸如因特網(wǎng)等網(wǎng)絡(luò)18至遠(yuǎn)程計(jì)算機(jī)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作。計(jì)算機(jī)100可以通過連接至總線12的網(wǎng)絡(luò)接口單元20來連接到網(wǎng)絡(luò)18。網(wǎng)絡(luò)連接可以是無線的和/或有線的。網(wǎng)絡(luò)接口單元20也可用于連接到其他類型的網(wǎng)絡(luò)和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)100還可以包括用于接收和處理來自多個其他設(shè)備的輸入的輸入/輸出控制器22,這些設(shè)備包括鍵盤、鼠標(biāo)或者電子指示筆(未在圖I中示出)。類似地,輸入/輸出控制器22可以為顯示屏28、打印機(jī)或其他類型的輸出設(shè)備提供輸出。顯示器28被設(shè)計(jì)成在視頻會議期間顯示視頻,諸如視頻饋送。如前簡述,多個程序模塊和數(shù)據(jù)文件可以存儲在計(jì)算機(jī)100的大容量存儲設(shè)備14和RAM 9內(nèi),包括適于控制聯(lián)網(wǎng)計(jì)算機(jī)的操作的操作系統(tǒng)16,如華盛頓州雷蒙德市的微軟公司的WINDOWS 7 操作系統(tǒng)。大容量存儲設(shè)備14和RAM 9還可存儲一個或多個程序模塊。具體地,大容量存儲設(shè)備14和RAM 9可以存儲一個或多個應(yīng)用程序。應(yīng)用程序之一是會議應(yīng)用24,諸如視頻會議應(yīng)用。一般而言,會議應(yīng)用24是用戶在參與兩個或更多個用戶之間的視頻會議時使用的應(yīng)用。應(yīng)用還可涉及編碼視頻的其他程序。例如,應(yīng)用可編碼向web瀏覽器傳遞的視頻。視頻管理器26被配置為部分地基于當(dāng)前視頻幀未量化的變換系數(shù)的直方圖來確定當(dāng)前視頻幀的量化因子。變換系數(shù)的直方圖用來估計(jì)當(dāng)前視頻幀經(jīng)編碼的幀大小。針對經(jīng)編碼的幀大小的所需的大小來平衡該直方圖。直方圖中的截止閾值與對量化因子的不同選擇相關(guān)聯(lián),并且那些閾值以上或者以下的點(diǎn)的比率被用來估計(jì)經(jīng)編碼的幀的大小。歷史趨勢還可被用來調(diào)節(jié)相關(guān)性公式的系數(shù)從而提高計(jì)算的準(zhǔn)確性。根據(jù)一個實(shí)施例,所選擇的量化因子導(dǎo)致與先前產(chǎn)生的其他經(jīng)編碼的幀大小類似的經(jīng)編碼的幀大小。圖2示出將直方圖的使用合并到視頻速率控制中的視頻編碼系統(tǒng)。如示,系統(tǒng)200包括顯示器28、視頻管理器26、輸入205、視頻應(yīng)用220、數(shù)據(jù)存儲240、以及其他應(yīng)用230。視頻管理器26可以如圖2所示在視頻應(yīng)用220中實(shí)現(xiàn),或者可以如圖I所示從應(yīng)用220外部地實(shí)現(xiàn)。為了便于與視頻管理器26的通信,可實(shí)現(xiàn)在圖2中示為回調(diào)代碼210的一個或多個回調(diào)例程。通過使用回調(diào)代碼210,視頻管理器26可查詢編碼視頻中使用的額外信息?!だ?,視頻管理器26可以向諸如存儲器240等緩沖器或某個其他位置請求視頻。還可提供與視頻應(yīng)用的特征有關(guān)的其他信息。顯示器28被配置為將經(jīng)編碼的視頻的可視顯示提供給用戶。輸入205被配置為從諸如攝像機(jī)、鍵盤、鼠標(biāo)、觸摸屏、和/或某個其他輸入設(shè)備等一個或多個輸入源接收輸入。例如,輸入可以來自支持諸如(正、¥64、720 、10801、1080 等一種或多種視頻分辨率的攝像機(jī)。存儲器240被配置為存儲視頻應(yīng)用220可以在操作期間利用的數(shù)據(jù)。視頻管理器26還可被耦合至其他應(yīng)用230從而使該視頻數(shù)據(jù)還可被提供給其他應(yīng)用和/或從其他應(yīng)用接收。例如,視頻管理器26可被耦合至另一視頻應(yīng)用和/或聯(lián)網(wǎng)站點(diǎn)。如示,視頻管理器26包括視頻速率控制器225,示出在視頻幀的編碼過程中使用的示例性步驟212、214、216和218。在編碼過程期間執(zhí)行的步驟可取決于所執(zhí)行的編碼的類型來改變。與標(biāo)準(zhǔn)編碼方案(例如H. 26*和WMV*)比較,在編碼過程期間包括了直方圖階段216。直方圖階段216被用來確定量化器218使用的量化因子。在執(zhí)行初步的功能之后并且有時是在量化器218之前,可確定或不確定對量化因子“QP”的估計(jì)。例如,可以使用先前編碼的歷史信息以及試探法來確定QP?,F(xiàn)在將描述示例性編碼過程的一部分。當(dāng)前幀212被接收并且被傳遞到變換過程214。取決于所利用的編碼過程,幀可被拆分成像素塊,諸如8x8、4x4等等。根據(jù)一個實(shí)施例,變換是離散余弦變換(“DCT”)。DCT是將塊(空間信息)轉(zhuǎn)換成DCT系數(shù)塊的一類頻率變換,DCT系數(shù)是頻率信息。DCT操作本身是無損的或幾乎無損的。然而,與原始像素值相比,DCT系數(shù)壓縮起來更高效,因?yàn)榇蟛糠种匾畔⒓性诘皖l系數(shù)中。修改所得DCT變換以將所得AC系數(shù)映射到階段216的直方圖。在收集到系數(shù)之后,視頻速率控制器225分析該直方圖以確定正被處理的當(dāng)前幀估計(jì)的經(jīng)編碼的幀大小。然后使用估計(jì)的經(jīng)編碼的幀大小來更新/確定將在量化過程期間使用的量化因子(見圖5更詳細(xì)的描述)。量化器218使用所確定的量化因子來量化經(jīng)變換的系數(shù)。一般而言,量化因子被應(yīng)用于每個系數(shù),這類似于將每個系數(shù)除以相同值并舍入。例如,若系數(shù)值為130且量化因子為10,則經(jīng)量化的系數(shù)值為13。由于低頻DCT系數(shù)往往具有更高的值,因此量化導(dǎo)致精度的損失,但是不會完全損失關(guān)于系數(shù)的信息。另一方面,由于高頻DCT系數(shù)往往具有零或接近零的值,因此高頻系數(shù)的量化通常導(dǎo)致連續(xù)的零值區(qū)域?;诋?dāng)前幀調(diào)節(jié)量化因子旨在為用戶提供更一致的視頻體驗(yàn)。圖3示出壓縮率對比量化步長值以及壓縮率對比非零系數(shù)的百分比的示例圖。圖310示出壓縮率對比量化步長值的圖。圖310包括了 12個不同視頻的繪圖??梢钥吹剑槍嚎s率來繪出量化步長值不能導(dǎo)致一致或總體的趨勢。此外,可以看到某些視頻之間的差異明顯。圖350示出基于未量化的變換值的直方圖的壓縮率對比非零系數(shù)的百分比的示圖。圖350包括了也在圖310中繪出的12個不同視頻的繪圖。參考圖350,可以看到非零系數(shù)百分比和最終經(jīng)編碼的大小之間的相關(guān)性。這一關(guān)系也是線性的。盡管圖350的趨勢線有一些誤差余量,但是它明顯小于圖310。每像素比特?cái)?shù)的值可近似為特定量化因子的非 零系數(shù)比率的仿射函數(shù)·Μ> = k*^Mi+c θ根據(jù)一個實(shí)施例,盡管可使用訓(xùn)練數(shù)據(jù)和試
iV所冇系數(shù)
探法來近似常數(shù)k和C,但是可以跨視頻饋送(諸如視頻會議)的期間連續(xù)調(diào)節(jié)這些值。這幫助了確保那些因子的作用不直接與非零系數(shù)比率有關(guān)(例如,DC-面復(fù)雜度、通過頻率域預(yù)測來保存,等等)。根據(jù)一個實(shí)施例,已經(jīng)發(fā)現(xiàn)在示例性視頻會議中k的值大約為I. 1875。圖4示出使用變換系數(shù)的直方圖來調(diào)節(jié)量化因子的示例性基于塊的幀內(nèi)/幀間壓縮路徑。編碼器系統(tǒng)接收包括當(dāng)前幀的視頻幀序列,并產(chǎn)生經(jīng)壓縮的視頻作為輸出。所示的編碼器系統(tǒng)壓縮預(yù)測幀和關(guān)鍵幀。圖4示出了關(guān)鍵幀通過編碼器系統(tǒng)的路徑410以及前向預(yù)測幀的路徑470。該編碼器系統(tǒng)的許多組件既用于壓縮關(guān)鍵幀也用于壓縮預(yù)測幀。由那些組件執(zhí)行的確切操作可以依據(jù)正在被壓縮的信息的類型而變化。一般而言,關(guān)鍵幀對比特率的貢獻(xiàn)比預(yù)測幀更大。在低或中比特率應(yīng)用中,關(guān)鍵幀可能成為性能瓶頸。預(yù)測幀(也被稱為P幀、用于雙向預(yù)測的b幀、或幀間編碼幀)按照從一個或多個其他幀進(jìn)行的預(yù)測(或差)來表示。預(yù)測殘差是所預(yù)測的和原始幀之差。相反,關(guān)鍵幀(也被稱為i幀、幀內(nèi)編碼幀)是在不參考其他幀的情況下壓縮的。在當(dāng)前幀420是前向預(yù)測幀時,運(yùn)動估計(jì)器425估計(jì)當(dāng)前幀420的宏塊或其他像素集相對于參考幀的運(yùn)動,其中參考幀是可緩沖在幀存儲中的重構(gòu)的先前幀。在替換實(shí)施例中,參考幀是后幀,或者當(dāng)前幀是雙向預(yù)測的。運(yùn)動估計(jì)器425可按照像素、1/2像素、1/4像素或其他增量來估計(jì)運(yùn)動,并可在逐幀基礎(chǔ)或其他基礎(chǔ)上切換運(yùn)動估計(jì)的分辨率。運(yùn)動估計(jì)的分辨率在水平和垂直上可以相同或不同。運(yùn)動補(bǔ)償器430將運(yùn)動估計(jì)信息應(yīng)用于重構(gòu)的先前幀以形成經(jīng)運(yùn)動補(bǔ)償?shù)漠?dāng)前幀。一般而言,運(yùn)動估計(jì)器425和運(yùn)動補(bǔ)償器435可被配置成應(yīng)用任何類型的運(yùn)動估計(jì)/補(bǔ)償。頻率變換器435將空間域視頻信息轉(zhuǎn)換為頻率域(即頻譜)數(shù)據(jù)。對于基于塊的視頻幀,頻率變換器435向像素?cái)?shù)據(jù)或預(yù)測殘差數(shù)據(jù)的各塊應(yīng)用DCT或DCT的變體,從而產(chǎn)生DCT系數(shù)塊?;蛘撸儞Q器435應(yīng)用諸如傅立葉變換等另一常規(guī)頻率變換或使用小波或子帶分析。頻率變換器435可被配置成向各幀應(yīng)用8χ8、8χ4、4χ8或其他大小的頻率變換(例如,DCT) ο
變換系數(shù)直方圖步驟440被配置為部分地基于通過當(dāng)前視頻幀未量化的變換系數(shù)創(chuàng)建的直方圖來調(diào)節(jié)當(dāng)前視頻幀的量化因子。變換系數(shù)的直方圖用來確定估計(jì)的當(dāng)前視頻幀經(jīng)編碼的幀大小。針對經(jīng)編碼的幀大小的所需的大小來平衡該直方圖。直方圖中的截止閾值與對量化因子的不同選擇相關(guān)聯(lián),并且那些閾值以上或者以下的點(diǎn)的比率用來估計(jì)經(jīng)編碼的幀的大小。如直方圖步驟440所確定的,基于估計(jì)的經(jīng)編碼的幀大小來選擇量化因子。量化445使用由直方圖440確定的量化因子來量化頻譜數(shù)據(jù)系數(shù)塊。當(dāng)后續(xù)的運(yùn)動估計(jì)/補(bǔ)償需要重構(gòu)的當(dāng)前幀時,參考幀重構(gòu)器447對量化的頻譜數(shù)據(jù)系數(shù)執(zhí)行反量化。頻率反變換器然后執(zhí)行頻率變換器435的操作的逆操作,從而產(chǎn)生重構(gòu)的預(yù)測殘差(對于預(yù)測幀)或重構(gòu)的關(guān)鍵幀。在當(dāng)前幀420是關(guān)鍵幀時,取重構(gòu)的關(guān)鍵幀作為重構(gòu)的當(dāng)前幀(未示出)。如果當(dāng)前幀420是預(yù)測幀,則將重構(gòu)的預(yù)測殘差加到經(jīng)運(yùn)動補(bǔ)償?shù)漠?dāng)前幀以形成重構(gòu)的當(dāng)前幀。幀 存儲可被用于緩沖重構(gòu)的當(dāng)前幀,以供在預(yù)測下一幀時使用。熵編碼器450壓縮量化器445的輸出以及某些輔助信息(例如,運(yùn)動信息、空間外插模式、量化步長)。典型的熵編碼技術(shù)包括算術(shù)編碼、差分編碼、霍夫曼編碼、游程長度編碼、LZ編碼、詞典編碼,和以上的組合。熵編碼器450通常對不同種類的信息(例如,DC系數(shù)、AC系數(shù)、不同種類的輔助信息)使用不同的編碼技術(shù),并可從特定編碼技術(shù)內(nèi)的多個代碼表中進(jìn)行選擇。熵編碼器450將經(jīng)壓縮的視頻信息置于緩沖器455中。一般而言,以恒定或相對恒定的比特率從緩沖器455中耗盡經(jīng)壓縮的視頻信息,該信息被存儲以用于以該比特率進(jìn)行的后續(xù)流傳送。現(xiàn)在參考圖5,描述了使用未量化的變換系數(shù)的直方圖信息來編碼視頻幀的說明性過程。當(dāng)閱讀對在此提供的例程的討論時,應(yīng)當(dāng)理解,各實(shí)施例的邏輯操作被實(shí)現(xiàn)為(I)運(yùn)行于計(jì)算系統(tǒng)上的一系列計(jì)算機(jī)實(shí)現(xiàn)的動作或程序模塊,和/或(2)計(jì)算系統(tǒng)內(nèi)互連的機(jī)器邏輯電路或電路模塊。該實(shí)現(xiàn)是取決于實(shí)現(xiàn)本發(fā)明的計(jì)算系統(tǒng)的性能要求來選擇的。因此,所例示的并且構(gòu)成此處所描述的實(shí)施例的邏輯操作被不同地表示為操作、結(jié)構(gòu)設(shè)備、動作或模塊。這些操作、結(jié)構(gòu)設(shè)備、動作和模塊可用軟件、固件、專用數(shù)字邏輯,及其任何組合來實(shí)現(xiàn)。圖5示出使用通過未量化的變換系數(shù)創(chuàng)建的直方圖信息來更新量化因子的過程500。在開始操作之后,過程流動至操作510,在該操作處接收用于處理的視頻幀。在執(zhí)行取決于架構(gòu)和算法的任何初始功能之后,過程流動至操作520。在操作520,確定對將在量化操作期間使用的量化因子“QP”的估計(jì)。該估計(jì)的QP可以是任何選擇的QP并且可對應(yīng)于在不同壓縮標(biāo)準(zhǔn)(即MPEG-1、MPEG-2、MPEG-4 ASP、
H.26*、VC-3、WMV7、WMV8、VP5、VP6、MJPEG等)中使用的QP值。例如,可使用歷史信息和試探法確定QP。QP因子被用于減小變換系數(shù)的幅度以便提供對幀更壓縮的表示。移動至操作530,將幀從一個域變換到另一個域。根據(jù)一個實(shí)施例,應(yīng)用于幀的變換是DCT。流動至操作540,修改所得DCT以將所得AC系數(shù)映射到直方圖。根據(jù)一個實(shí)施例,直方圖跨與量化水平對應(yīng)的所有值的范圍,量化水平可以被或者可以不被分為各個柱在收集各系數(shù)之后,分析直方圖以確定對量化因子的更新。移動到操作550,計(jì)算量化因子與非零系數(shù)的比率。每個可能的量化因子將系數(shù)分為兩組(I)在量化步驟之后將被舍入到O的系數(shù);以及(2)在量化步驟之后將不會被舍入到O的系數(shù)。根據(jù)一個實(shí)施例,創(chuàng)建其中在對應(yīng)量化步驟之后將每個量化因子映射到非零系數(shù)與零系數(shù)的比率的表。流動至操作560,使用多參數(shù)多項(xiàng)式將該比率映射到經(jīng)編碼的每像素比特?cái)?shù)值。已知幀大小(即圖像大小),則那些值可被映射到預(yù)測的經(jīng)編碼的幀大小。轉(zhuǎn)到操作570,更新初始估計(jì)的量化因子以反映在操作540-560獲得的信息。根據(jù)一個實(shí)施例,修改量化因子以使得經(jīng)編碼的幀大小與先前經(jīng)編碼的幀大小相似。將經(jīng)編碼的幀大小保持在可接受值的范圍內(nèi)幫助維護(hù)經(jīng)編碼的視頻質(zhì)量水平而不超出緩沖器。相比于僅使用歷史,基于當(dāng)前幀調(diào)節(jié)量化因子幫助更快地對場景復(fù)雜度中的改變做出反應(yīng),從 而導(dǎo)致更好的終端用戶體驗(yàn)、更少的丟失幀,并且QP水平信息波動量的減少被用來提高初始的量化因子估計(jì)。移動至操作580,當(dāng)前幀用更新的量化因子來量化并且接著進(jìn)行熵編碼。過程然后流動至結(jié)束操作并且返回至處理其他動作。以上說明、示例和數(shù)據(jù)提供了對本發(fā)明的組成部分的制造和使用的全面描述。因?yàn)榭梢栽诓槐畴x本發(fā)明的精神和范圍的情況下做出本發(fā)明的許多實(shí)施例,所以本發(fā)明落在所附權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種用于在編碼視頻幀期間確定量化因子的方法,包括 接收包括像素的視頻幀; 將變換應(yīng)用到所述視頻幀;其中所述變換是產(chǎn)生變換系數(shù)的頻率變換; 使用經(jīng)變換的視頻幀的變換系數(shù)創(chuàng)建直方圖;以及 使用所述直方圖的信息確定量化因子;所述量化因子在量化變換系數(shù)期間使用。
2.如權(quán)利要求I所述的方法,其特征在于,還包括在視頻幀被編碼之前使用直方圖估計(jì)視頻幀經(jīng)編碼的大小。
3.如權(quán)利要求2所述的方法,其特征在于,所述視頻幀是正在被編碼的過程中的當(dāng)前視頻幀,并且其中創(chuàng)建直方圖包括通過當(dāng)前視頻幀的變換系數(shù)來創(chuàng)建直方圖。
4.如權(quán)利要求2所述的方法,其特征在于,其中創(chuàng)建直方圖包括使用截止閾值以確定量化因子。
5.如權(quán)利要求2所述的方法,其特征在于,還包括使用歷史趨勢來調(diào)節(jié)確定的量化因子。
6.如權(quán)利要求2所述的方法,其特征在于,還包括在量化之后使用不同的量化值計(jì)算非零系數(shù)的比率,以及將非零系數(shù)比率映射到經(jīng)編碼的每像素比特?cái)?shù)值,并且其中確定量化因子包括修改在創(chuàng)建直方圖之前確定的估計(jì)的量化因子。
7.一種用于確定量化因子的系統(tǒng),包括 處理器和計(jì)算機(jī)可讀介質(zhì); 存儲在所述計(jì)算機(jī)可讀介質(zhì)上并在所述處理器上執(zhí)行的操作環(huán)境; 在所述處理器上操作并被配置為執(zhí)行任務(wù)的視頻應(yīng)用以及視頻管理器,所述任務(wù)包括 接收包括像素的視頻幀,其中所述視頻幀是正在被編碼的過程中的當(dāng)前視頻幀; 將頻率變換應(yīng)用到所述視頻幀;其中所述變換產(chǎn)生變換系數(shù); 在量化所述變換系數(shù)之前,使用所述變換系數(shù)創(chuàng)建直方圖;以及 使用所述直方圖的信息確定量化因子,以及確定所述視頻幀的估計(jì)的經(jīng)編碼的大小。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,還包括在量化之后使用不同的量化值確定非零AC系數(shù)的比率;以及將所述比率映射到經(jīng)編碼的每像素比特?cái)?shù)值。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于,其中確定量化因子包括更新在創(chuàng)建直方圖之前確定的估計(jì)的量化值。
10.一種具有用于確定量化因子的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)存儲介質(zhì),包括 接收包括像素的視頻幀; 將頻率變換應(yīng)用到所述視頻幀;所述變換產(chǎn)生變換系數(shù); 估計(jì)將在量化所述變換系數(shù)期間使用的量化因子; 在量化所述變換系數(shù)之前,使用所述變換系數(shù)創(chuàng)建直方圖; 在編碼所述視頻幀之前使用所述直方圖估計(jì)視頻幀經(jīng)編碼的大小;以及 使用所述直方圖的信息更新量化因子。
全文摘要
使用通過變換的視頻幀產(chǎn)生的變換系數(shù)的直方圖信息來確定量化因子。該直方圖用來估計(jì)當(dāng)前正處于被編碼過程中的視頻幀的經(jīng)編碼的幀大小。基于該直方圖的信息為當(dāng)前視頻幀調(diào)節(jié)在視頻編碼的量化步驟中使用的量化因子。針對所需的經(jīng)編碼的幀大小的長度來平衡該直方圖。直方圖中的截止閾值與對量化因子的不同選擇相關(guān)聯(lián),并且那些閾值以上或者以下的點(diǎn)的比率用來估計(jì)經(jīng)編碼的幀的大小。
文檔編號H04N1/387GK102948147SQ201180029273
公開日2013年2月27日 申請日期2011年6月2日 優(yōu)先權(quán)日2010年6月17日
發(fā)明者R·博斯科維奇, 錢挺 申請人:微軟公司