專利名稱:計(jì)算受限的視頻編碼的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字視頻處理,尤其涉及視頻序列的編碼。
背景技術(shù):
數(shù)字視頻能力可加入到多種設(shè)備中,包括數(shù)字電視、數(shù)字直播系統(tǒng)、無(wú)線通信設(shè)備、個(gè)人數(shù)字助理(PDA)、膝上電腦、臺(tái)式電腦、數(shù)碼相機(jī)、數(shù)字錄像設(shè)備、蜂窩或衛(wèi)星無(wú)線電話及類似設(shè)備。相比常規(guī)的模擬視頻系統(tǒng),這些設(shè)備和其它數(shù)字視頻設(shè)備在制作、修改、傳輸、儲(chǔ)存、記錄和播放全運(yùn)動(dòng)視頻序列方面都有顯著的進(jìn)步。
對(duì)于數(shù)字視頻序列通信,現(xiàn)已建立起大量不同的視頻編碼標(biāo)準(zhǔn)。例如,運(yùn)動(dòng)圖像專家組(MPEG)開發(fā)了許多標(biāo)準(zhǔn),包括MPEG-1、MPEG-2和MPEG-4。其它標(biāo)準(zhǔn)包括ITU H.263、加利福尼亞卡帕地諾的蘋果公司開發(fā)的QuickTimeTM、華盛頓雷德蒙德的微軟公司開發(fā)的Video for Windows、英特爾公司開發(fā)的IndeoTM、西雅圖RealNetworks公司開發(fā)的RealVideoTM和SuperMac公司開發(fā)的CinepakTM。這些和其它的標(biāo)準(zhǔn),包括尚未開發(fā)的標(biāo)準(zhǔn),將不斷地進(jìn)化。
許多視頻編碼標(biāo)準(zhǔn)通過(guò)以壓縮方式編碼數(shù)據(jù)來(lái)獲得更高的傳輸速率。壓縮可以降低為圖像幀的有效傳輸而需要傳輸?shù)目倲?shù)據(jù)量。舉例說(shuō)明,MPEG標(biāo)準(zhǔn)使用圖形和視頻壓縮技術(shù),這些技術(shù)被設(shè)計(jì)成方便在比沒(méi)有壓縮時(shí)更窄的帶寬上的視頻和圖像傳輸。具體而言,MPEG標(biāo)準(zhǔn)支持利用連續(xù)圖像幀之間的相似性(也稱為時(shí)間相關(guān)性或幀間相關(guān)性)的編碼技術(shù),來(lái)進(jìn)行幀間壓縮。幀間壓縮技術(shù)通過(guò)將圖像幀的基于像素的表示轉(zhuǎn)化為運(yùn)動(dòng)表示,來(lái)充分利用跨幀的數(shù)據(jù)冗余。另外,視頻編碼技術(shù)還可以利用圖像幀內(nèi)的相似性,稱為空間相關(guān)性或幀內(nèi)相關(guān)性,來(lái)實(shí)現(xiàn)在其中進(jìn)一步壓縮圖像幀中的運(yùn)動(dòng)表示的幀內(nèi)壓縮。幀內(nèi)壓縮通常基于壓縮靜止圖像的紋理編碼過(guò)程,如離散余弦變換(DCT)編碼。
為支持壓縮技術(shù),許多數(shù)字視頻設(shè)備都包括一個(gè)壓縮數(shù)字視頻序列的編碼器和一個(gè)解壓數(shù)字視頻序列的解碼器。在許多情況下,編碼器和解碼器組成一個(gè)集成的編碼器/解碼器(編解碼器(CODEC)),它對(duì)在限定視頻圖像序列的各幀中的像素塊進(jìn)行操作。舉例說(shuō)明,在MPEG-4標(biāo)準(zhǔn)中,發(fā)送設(shè)備的編碼器通常將要發(fā)送的視頻圖像幀劃分成16×16像素陣列的宏塊。對(duì)圖像幀中的每一宏塊,編碼器搜索直接前導(dǎo)幀的宏塊以標(biāo)識(shí)中最相似的宏塊,并對(duì)宏塊的差值進(jìn)行編碼,用于與指示前一幀中哪一宏塊用于編碼的運(yùn)動(dòng)矢量一起發(fā)送。接收設(shè)備的解碼器接收運(yùn)動(dòng)矢量和已編碼差值,并執(zhí)行運(yùn)動(dòng)補(bǔ)償,以生成視頻序列。
視頻編碼過(guò)程是計(jì)算密集型的,尤其當(dāng)使用運(yùn)動(dòng)估計(jì)技術(shù)時(shí)。舉例說(shuō)明,比較視頻塊與先前發(fā)送的幀的視頻塊的過(guò)程要求大量的計(jì)算。迫切需要改進(jìn)的編碼技術(shù),尤其是用于計(jì)算資源更有限并更關(guān)心能量消耗的無(wú)線設(shè)備或其它便攜式視頻設(shè)備。另外,也需要方便這類無(wú)線設(shè)備中的實(shí)時(shí)編碼的技術(shù)。
概述本揭示描述了視頻編碼技術(shù)。視頻編碼技術(shù)可涉及確定在對(duì)視頻幀編碼的過(guò)程中使用的處理循環(huán)的數(shù)量,并基于所確定的處理循環(huán)數(shù)量,使用不同的編碼模式選擇性地編碼視頻幀。如果確定的處理循環(huán)數(shù)量未超出閾值,則視頻幀的編碼可以使用運(yùn)動(dòng)估計(jì)技術(shù)的第一編碼模式進(jìn)行。然而,,如果確定的處理循環(huán)數(shù)量超出閾值,則可使用不使用運(yùn)動(dòng)估計(jì)技術(shù)的視頻幀第二編碼模式。
閾值可以限定可用于給定視頻幀的編碼的處理循環(huán)數(shù)量,而確定的處理循環(huán)數(shù)量可以是在對(duì)給定視頻幀編碼的過(guò)程中所用循環(huán)的計(jì)數(shù)值。如果確定的處理循環(huán)數(shù)量超出閾值,則中止運(yùn)動(dòng)估計(jì)技術(shù),對(duì)該幀的后繼視頻塊,或一個(gè)或多個(gè)后繼視頻幀改用更小計(jì)算強(qiáng)度的編碼技術(shù),如紋理編碼。因此,可以在選擇基礎(chǔ)上使用不同的編碼模式來(lái)提高計(jì)算性能。以這一方式,可加速視頻編碼,允許在具有相對(duì)有限的處理能力的設(shè)備中實(shí)現(xiàn)實(shí)時(shí)編碼。
本技術(shù)可以硬件、軟件、固件或其任一組合實(shí)現(xiàn)。如果以軟件來(lái)實(shí)現(xiàn),本技術(shù)可針對(duì)一種包括程序代碼的計(jì)算機(jī)可讀媒質(zhì)。當(dāng)執(zhí)行時(shí),運(yùn)行本發(fā)明描述的一種或多種編碼技術(shù)。各種實(shí)施例的其它細(xì)節(jié)在附圖中和以下描述中提出。閱讀描述和附圖以及權(quán)利要求書,可以清楚其它特征、目的和優(yōu)點(diǎn)。
附圖簡(jiǎn)述
圖1所示是一示例系統(tǒng)的框圖,其中源設(shè)備向接收設(shè)備發(fā)送視頻數(shù)據(jù)的已編碼序列。
圖2所示是一示例數(shù)字視頻設(shè)備,它結(jié)合了一壓縮數(shù)字視頻序列的視頻編碼器。
圖3是視頻數(shù)據(jù)的示例宏塊的概念圖示。
圖4是示例搜索空間的概念圖示。
圖5-7是可在數(shù)字視頻設(shè)備中實(shí)現(xiàn)的視頻編碼技術(shù)流程圖。
詳細(xì)描述一般而言,本揭示針對(duì)可用于以壓縮比作為交換令視頻編碼模式適合資源有限平臺(tái)的編碼方案。該技術(shù)可由數(shù)字視頻設(shè)備的編碼器執(zhí)行,以在某些場(chǎng)合減少計(jì)算量、加速處理時(shí)間、并可降低視頻編碼期間的功率消耗。以這一方式,編碼技術(shù)能改進(jìn)依照諸如MPEG-4等標(biāo)準(zhǔn)的視頻編碼,并更有助于在計(jì)算資源更有限和更關(guān)注功率消耗的無(wú)線設(shè)備中實(shí)現(xiàn)視頻編碼。此外,該技術(shù)還可被配置成保留與諸如MPEG-4解碼標(biāo)準(zhǔn)等解碼標(biāo)準(zhǔn)的互操作性。
本發(fā)明描述的視頻編碼技術(shù)采用選擇性編碼技術(shù),它響應(yīng)于給定視頻幀的編碼過(guò)程中的計(jì)算度量。該技術(shù)使用第一編碼模式,直到計(jì)算度量超出閾值,此后轉(zhuǎn)向第二編碼模式。以這一方式,視頻編碼技術(shù)能限制專用于編碼特定幀的計(jì)算資源。
更具體地,該視頻編碼技術(shù)對(duì)視頻幀的編碼建立一計(jì)算預(yù)算。只要計(jì)算預(yù)算不被耗盡,就能夠使用高計(jì)算強(qiáng)度運(yùn)動(dòng)估計(jì)技術(shù)(或視頻編碼中任一其它高計(jì)算代價(jià)的模塊)。然而,如果在編碼給定視頻幀期間計(jì)算預(yù)算被耗盡,高計(jì)算強(qiáng)度技術(shù)可被終止,轉(zhuǎn)向低計(jì)算強(qiáng)度的編碼技術(shù),如幀內(nèi)紋理編碼或在更小的搜索范圍內(nèi)進(jìn)行的運(yùn)動(dòng)估計(jì)編碼。紋理編碼或減小搜索范圍的運(yùn)動(dòng)估計(jì)可更快速地執(zhí)行,但壓縮率較小。以這一方式,可以確保對(duì)任一給定視頻幀的編碼過(guò)程不會(huì)花費(fèi)過(guò)多的時(shí)間,否則它會(huì)損害視頻序列的實(shí)時(shí)傳輸。此外,通過(guò)動(dòng)態(tài)地限定給定視頻幀的編碼方式,可更有效地使用計(jì)算資源,從而在計(jì)算資源充足時(shí)可以充分利用與運(yùn)動(dòng)估計(jì)相關(guān)的數(shù)據(jù)壓縮。
根據(jù)諸如MPEG-4標(biāo)準(zhǔn)等標(biāo)準(zhǔn)編碼數(shù)字視頻數(shù)據(jù)的數(shù)字視頻設(shè)備可實(shí)現(xiàn)一處理器,如數(shù)字信號(hào)處理器(DSP),來(lái)執(zhí)行編碼算法。該編碼算法可實(shí)現(xiàn)運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼組成視頻幀的各個(gè)視頻塊。如上所述,運(yùn)動(dòng)估計(jì)技術(shù)的計(jì)算強(qiáng)度非常大。具體地,運(yùn)動(dòng)估計(jì)技術(shù)通常涉及要被編碼的視頻塊與先前發(fā)送的幀(或后續(xù)幀)的部分或所有視頻塊之間的比較,來(lái)標(biāo)識(shí)可用于限定運(yùn)動(dòng)矢量的可接受的匹配。此外,一個(gè)塊與另一塊的每一個(gè)別比較要求大量的計(jì)算來(lái)進(jìn)行像素范圍的比較。然而,DSP執(zhí)行算法的處理速度通常是固定的。換言之,DSP通常工作在按照每秒的循環(huán)數(shù)(Hz)來(lái)計(jì)算的確定頻率。舉例說(shuō)明,以在50兆赫茲時(shí)鐘速度操作的DSP通常每秒執(zhí)行約5千萬(wàn)條指令。
可接受運(yùn)動(dòng)估計(jì)編碼所需的計(jì)算量對(duì)給定的視頻幀是未知的。如,使用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼任一給定視頻幀所需的計(jì)算量可隨視頻幀的內(nèi)容和所涉及的搜索算法而變化。然而,為了促進(jìn)視頻幀以期望的分辨率實(shí)時(shí)傳輸,可能需要在給定時(shí)間量?jī)?nèi)編碼圖像幀。具體地,通常需要大約每秒15幀或更多來(lái)確保視頻序列的期望的分辨率。
由于使用運(yùn)動(dòng)估計(jì)技術(shù)時(shí)某些幀比其它幀要花費(fèi)更長(zhǎng)的時(shí)間來(lái)編碼,因此確保DSP能支持可接受編碼的一種方法是提高DSP的時(shí)鐘速度,并由此確保DSP總數(shù)能夠?qū)Α白顗那闆r”進(jìn)行編碼。亦即,如果DSP足夠快,以在確保每秒編碼15幀所需的時(shí)間內(nèi)對(duì)要求最大計(jì)算量的視頻幀進(jìn)行編碼,則可支持實(shí)時(shí)視頻序列。然而,無(wú)論從實(shí)現(xiàn)角度,還是從操作角度,提高DSP時(shí)鐘速度的代價(jià)都很昂貴。尤其是,時(shí)鐘速度增加可能要求DSP消耗更多的功率,以及額外的設(shè)計(jì)復(fù)雜度。因此,迫切需要允許實(shí)時(shí)視頻編碼由在不夠快以在由視頻序列的實(shí)時(shí)傳輸所施加的時(shí)間約束中對(duì)“最壞情況”進(jìn)行編碼的時(shí)鐘速度上操作的DSP支持。
通過(guò)對(duì)給定視頻幀的編碼限定一計(jì)算預(yù)算,對(duì)給定的編碼場(chǎng)合,可降低DSP所需的速度。在某些情況下,計(jì)算預(yù)算可以至少部分地根據(jù)編碼先前的視頻幀所使用的平均循環(huán)數(shù)來(lái)限定。換言之,如果非??斓鼐幋a了前一視頻幀,則計(jì)算節(jié)余可被加入到后一幀的計(jì)算預(yù)算中,這可允許執(zhí)行增加數(shù)量的計(jì)算來(lái)編碼后續(xù)的視頻幀。在后文更詳細(xì)地描述的一個(gè)例子中,可以部分地使用限定與若干前導(dǎo)視頻幀相關(guān)聯(lián)的處理循環(huán)的移動(dòng)均值,來(lái)限定用于編碼后續(xù)視頻幀的計(jì)算預(yù)算。因此,如有需要,可重復(fù)利用在編碼先前發(fā)送的視頻幀過(guò)程中的計(jì)算節(jié)余,使得編碼后一視頻幀可使用先前的計(jì)算節(jié)余。換言之,如果較早的幀的編碼產(chǎn)生了計(jì)算節(jié)余,即,較早的幀的編碼以比現(xiàn)有閾值更少的處理循環(huán)來(lái)執(zhí)行,則可提高較后幀的閾值。另一方面,也可標(biāo)識(shí)前導(dǎo)幀中的計(jì)算預(yù)算的透支,并在此情況下,可相應(yīng)地降低較后幀的閾值。在其它情況下,計(jì)算預(yù)算可由應(yīng)用到每一幀并且不隨時(shí)間變化的固定閾值來(lái)限定。
本發(fā)明描述的技術(shù)能提供某些優(yōu)點(diǎn)。例如,本技術(shù)可有助于降低視頻編碼過(guò)程中的功率消耗、可有助于使用以不必足夠快以在實(shí)時(shí)編碼所需的時(shí)間約束內(nèi)對(duì)“最壞情況”進(jìn)行編碼的時(shí)鐘速度操作的DSP的高效實(shí)時(shí)視頻編碼。本技術(shù)尤其適用于計(jì)算資源更有限且關(guān)注功率消耗的無(wú)線數(shù)字視頻設(shè)備或其它便攜視頻設(shè)備隨著未來(lái)DSP技術(shù)的進(jìn)步,DSP時(shí)鐘速度必將增加,并且對(duì)給定的時(shí)鐘速度,功率消耗將降低。然而,盡管有更快和更省電的DSP,然而本發(fā)明所述的技術(shù)仍然是非常有用的。例如,更快的時(shí)鐘速度可通過(guò)支持每秒編碼更多幀,或者通過(guò)支持諸如三維影像等更復(fù)雜的影像,來(lái)允許改進(jìn)的實(shí)時(shí)分辨率。同樣,更快的時(shí)鐘速度可以允許實(shí)時(shí)編碼更大的視頻幀。簡(jiǎn)言之,本發(fā)明所述的技術(shù)不限于用于使用以任一給定時(shí)鐘速度操作的DSP,隨著信號(hào)處理技術(shù)的持續(xù)進(jìn)步,也可同等地用于更快速的DSP。同理,如以硬件實(shí)現(xiàn),則硬件速度也可相應(yīng)降低。
圖1所示是示例系統(tǒng)2的框圖,其中,源設(shè)備4通過(guò)通信鏈路6向接收設(shè)備8發(fā)送視頻數(shù)據(jù)的已編碼序列。源設(shè)備4和接收設(shè)備8都是數(shù)字視頻設(shè)備。具體地,源設(shè)備4使用諸如由運(yùn)動(dòng)圖像專家組開發(fā)的MPEG-4等各種視頻壓縮標(biāo)準(zhǔn)中的任一種來(lái)編碼和發(fā)送視頻數(shù)據(jù)。其它標(biāo)準(zhǔn)可包括運(yùn)動(dòng)圖像專家組開發(fā)的MPEG-1、MPEG-2或者其它MPEG標(biāo)準(zhǔn)、ITU H.263、Motion JPEG2000、加利福尼亞卡帕地諾的蘋果公司開發(fā)的QuickTimeTM、華盛頓雷德蒙德的微軟公司開發(fā)的Video forWindowsTM、英特爾公司開發(fā)的IndeoTM和SuperMac公司開發(fā)展的CinepakTM。
通信鏈路6可包括無(wú)線通信鏈路、物理傳輸線、基于分組的網(wǎng)絡(luò),如局域網(wǎng)、廣域網(wǎng)、或諸如因特網(wǎng)等全球網(wǎng)絡(luò)、公共交換電話網(wǎng)(PSTN)或各種鏈路和網(wǎng)絡(luò)的組合。換言之,通信鏈路6代表了任意適當(dāng)?shù)耐ㄐ琶劫|(zhì),或可能是不同網(wǎng)絡(luò)和鏈路的集合,用于從源設(shè)備4向接收設(shè)備8發(fā)送視頻數(shù)據(jù)。
源設(shè)備4可以是能夠編碼和發(fā)送視頻數(shù)據(jù)的任何數(shù)字視頻設(shè)備。舉例說(shuō)明,源設(shè)備4可包含用于儲(chǔ)存數(shù)字視頻序列的存儲(chǔ)器22、用于編碼序列的視頻編碼器20、以及用于在通信鏈路6上發(fā)送已編碼的序列的發(fā)送器14。舉例而言,視頻編碼器20可包含執(zhí)行限定編碼技術(shù)的可編程軟件模塊的DSP和/或微處理器。
源設(shè)備4也可包含圖像傳感器23,如用于捕捉視頻序列并將捕捉的序列儲(chǔ)存到存儲(chǔ)器22的攝像機(jī)。在某些情況下,源設(shè)備4可在通信鏈路6上發(fā)送實(shí)時(shí)視頻序列。在這些情況下,接收設(shè)備8可以接收實(shí)時(shí)視頻序列并向用戶顯示視頻序列。
接收設(shè)備8可以是能夠接收和解碼視頻數(shù)據(jù)的的任何數(shù)字視頻設(shè)備。舉例而言,接收設(shè)備8可包括用于接收已編碼的數(shù)字視頻序列的接收器15、用于解碼序列的解碼器16、以及用于向用戶顯示序列的顯示器18。
源設(shè)備4和接收設(shè)備8的示例設(shè)備包括位于計(jì)算機(jī)網(wǎng)絡(luò)上的服務(wù)器、工作站或其它臺(tái)式計(jì)算設(shè)備、以及諸如膝上計(jì)算機(jī)等移動(dòng)計(jì)算設(shè)備。其它示例包括數(shù)字電視廣播衛(wèi)星和接收設(shè)備,如數(shù)字電視機(jī)、數(shù)碼相機(jī)、數(shù)碼攝像機(jī)或其它數(shù)字式錄制設(shè)備、諸如具備視頻功能的蜂窩無(wú)線電話和衛(wèi)星無(wú)線電話等數(shù)字視頻電話、其它無(wú)線視頻設(shè)備及類似設(shè)備。
在某些情況下,源設(shè)備4和接收設(shè)備8的每一個(gè)包含編碼器\解碼器(編解碼器)(未示出),用于編碼和解碼數(shù)字視頻數(shù)據(jù)。在該情況下,源設(shè)備4和接收設(shè)備8都可以包含發(fā)送器和接收器,及存儲(chǔ)器和顯示器。以下概述的許多編碼技術(shù)都是在含有編碼器的數(shù)字視頻設(shè)備的上下文中描述的。然而,可以理解,編碼器可以形成編解碼器的一部分。在該情況下,編解碼器可以DSP、微處理器、專用集成電路(ASIC)、離散硬件組件或其各種組合來(lái)實(shí)現(xiàn)。
舉例說(shuō)明,源設(shè)備4對(duì)視頻圖像的序列中的像素塊進(jìn)行操作,以編碼視頻數(shù)據(jù)。例如,源設(shè)備4的編碼器20可執(zhí)行運(yùn)動(dòng)估計(jì)編碼技術(shù),其中,將要發(fā)送的視頻圖像幀劃分成由大量較小圖像塊構(gòu)成的宏塊。對(duì)圖像幀中的每一宏塊,源設(shè)備4的視頻編碼器20搜索儲(chǔ)存在存儲(chǔ)器22中已發(fā)送的前導(dǎo)視頻幀(或后繼視頻幀)的宏塊,來(lái)標(biāo)識(shí)類似的宏塊,并對(duì)宏塊間的差值,以及標(biāo)識(shí)前一幀中用于編碼的宏塊的運(yùn)動(dòng)矢量進(jìn)行編碼。在某些情況下,為了降低計(jì)算量和并保存能量,源設(shè)備4可支持可編程閾值,它能夠在編碼過(guò)程中促使各種任務(wù)或迭代的終止。
在運(yùn)動(dòng)估計(jì)中,術(shù)語(yǔ)“任務(wù)”指比較當(dāng)前視頻塊和搜索空間中一個(gè)不同視頻塊的公用計(jì)算集。換言之,任務(wù)指當(dāng)前視頻塊和搜索空間中一個(gè)不同的視頻塊的單個(gè)比較。舉例而言,任務(wù)可以涉及執(zhí)行大量的計(jì)算來(lái)比較當(dāng)前視頻塊的像素量和不同視頻塊的像素量。例如,64次計(jì)算(在圖像塊的情況下)或256次計(jì)算(在宏塊的情況下)可以構(gòu)成一個(gè)任務(wù)。每一任務(wù)期間,可累積計(jì)算,來(lái)限定任務(wù)的進(jìn)行中差值(有時(shí)稱為差度量)??擅看斡?jì)算后,,或者可選地,在計(jì)算的子集之后,即,限定任務(wù)子集的整數(shù)計(jì)算量,作出是否終止任一給定任務(wù)的判斷。在后一情況下,整數(shù)計(jì)算量可以是可編程的,以向編碼例程提供額外的靈活性。
在運(yùn)動(dòng)估計(jì)中,術(shù)語(yǔ)“迭代”指視頻編碼期間所執(zhí)行的任務(wù)的公同集。與當(dāng)前視頻塊相關(guān)聯(lián)的完整任務(wù)序列是一個(gè)迭代。換言之,迭代是比較的集合,其中,將當(dāng)前視頻塊與搜索空間中的一組前導(dǎo)視頻塊(或后續(xù)視頻塊)進(jìn)行比較。每一單獨(dú)的比較是涉及若干計(jì)算的一個(gè)任務(wù)。由此,搜索空間限定了在一次迭代期間與當(dāng)前視頻塊進(jìn)行比較的視頻塊集。迭代的每一比較被稱為一個(gè)任務(wù),每一任務(wù),即每一比較,可涉及若干計(jì)算。迭代可被永久終止,例如,如果在迭代過(guò)程中標(biāo)識(shí)了一可接受的匹配。
在執(zhí)行運(yùn)動(dòng)估計(jì)來(lái)編碼圖像幀時(shí),對(duì)每一視頻塊都能執(zhí)行一次迭代,例如對(duì)幀的宏塊或圖像塊。對(duì)每一迭代執(zhí)行若干任務(wù),每一任務(wù)由若干計(jì)算組成。因此,采用運(yùn)動(dòng)估計(jì)技術(shù)編碼圖像幀需要非常大量的計(jì)算。如下文將更詳述的,為編碼圖像幀所建立的計(jì)算預(yù)算能確保運(yùn)動(dòng)估計(jì)不會(huì)導(dǎo)致計(jì)算預(yù)算在妨礙高效實(shí)時(shí)視頻傳輸?shù)囊饬x上被耗盡。
接收設(shè)備8的接收器15可接收諸如運(yùn)動(dòng)矢量和已編碼差值形式的已編碼視頻數(shù)據(jù)。在該情況下,解碼器16執(zhí)行紋理解碼和運(yùn)動(dòng)補(bǔ)償技術(shù),來(lái)生成通過(guò)顯示器16向用戶顯示的視頻序列。接收設(shè)備8的解碼器16也可被實(shí)現(xiàn)為編碼器\解碼器(編解碼器)。在該情況下,源設(shè)備和接收設(shè)備都能夠編碼、發(fā)送、接收和解碼數(shù)字視頻序列。
在編碼任一給定視頻幀期間,可確定是否應(yīng)當(dāng)中止運(yùn)動(dòng)估計(jì)技術(shù)而采用更小計(jì)算強(qiáng)度的編碼技術(shù)。換言之,使用運(yùn)動(dòng)估計(jì)進(jìn)行編碼的第一編碼模式首先被使用,但是如果使用的處理循環(huán)數(shù)超出閾值時(shí)可以被動(dòng)態(tài)地終止。在該情況下,將使用不使用運(yùn)動(dòng)估計(jì)的第二編碼模式來(lái)代替第一編碼模式,以減少完成編碼該幀所需的計(jì)算量。如前文所提及的,可建立一計(jì)算預(yù)算,并監(jiān)控它來(lái)確定在任一給定的實(shí)例中是否應(yīng)該終止運(yùn)動(dòng)估計(jì)。如需如此,則可使用通常用于壓縮靜止圖像的幀內(nèi)壓縮技術(shù)來(lái)取代運(yùn)動(dòng)估計(jì)。
較小計(jì)算強(qiáng)度的編碼技術(shù)的一個(gè)示例是使用本領(lǐng)域內(nèi)已知的離散余弦變換(DCT)的紋理編碼。紋理編碼的執(zhí)行遠(yuǎn)較運(yùn)動(dòng)估計(jì)編碼為快,并且其計(jì)算量更小。然而,紋理編碼在數(shù)據(jù)壓縮方面不提供同等優(yōu)點(diǎn)。當(dāng)使用運(yùn)動(dòng)估計(jì)時(shí),除運(yùn)動(dòng)估計(jì)技術(shù)之外還可使用紋理編碼。然而,當(dāng)不使用運(yùn)動(dòng)估計(jì)時(shí),可使用紋理編碼或另一較小計(jì)算強(qiáng)度的編碼技術(shù)來(lái)取代運(yùn)動(dòng)估計(jì),以收計(jì)算節(jié)余之效。
圖2所示是示例數(shù)字視頻設(shè)備10的框圖,如結(jié)合了根據(jù)本發(fā)明所述的技術(shù)來(lái)壓縮數(shù)字視頻序列的視頻編碼器20的源設(shè)備4。示例性數(shù)字視頻設(shè)備10被示出為無(wú)線設(shè)備,如移動(dòng)計(jì)算設(shè)備、個(gè)人數(shù)字助理(PDA)、無(wú)線通信設(shè)備、無(wú)線電話和類似設(shè)備。然而,本揭示中的技術(shù)不限于無(wú)線設(shè)備,并可以方便地應(yīng)用于其它數(shù)字視頻設(shè)備,包括非無(wú)線設(shè)備。
在圖2的示例中,數(shù)字視頻設(shè)備10通過(guò)發(fā)送器14和天線12發(fā)送壓縮的數(shù)字視頻序列。視頻編碼器20在發(fā)送之前編碼視頻序列并將已編碼的數(shù)字視頻序列緩存在視頻存儲(chǔ)器22中。舉例而言,視頻編碼器20可包括可編程數(shù)字信號(hào)處理器(DSP)、微處理器、一個(gè)或多個(gè)專用集成電路(ASIC)、特定硬件組件或這些設(shè)備和組件的各種組合。存儲(chǔ)器22可儲(chǔ)存視頻編碼器20在編碼過(guò)程使用的計(jì)算機(jī)可讀指令和數(shù)據(jù)。舉例而言,存儲(chǔ)器22可包括是同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)、閃存、電可擦除可編程只讀存儲(chǔ)器(EEROM)或類似存儲(chǔ)器。
在某些情況下,數(shù)字視頻設(shè)備10包括了用于捕捉視頻序列的圖像傳感器23。舉例而言,圖像傳感器23可捕捉視頻序列并將它們儲(chǔ)村在存儲(chǔ)器22中用于編碼。圖像傳感器23也可以直接耦合到視頻編碼器20,來(lái)改進(jìn)實(shí)時(shí)視頻編碼。對(duì)每一幀使用計(jì)算預(yù)算的編碼技術(shù)可以確保編碼在允許實(shí)現(xiàn)視頻序列的實(shí)時(shí)傳輸?shù)臅r(shí)間段內(nèi)完成,即使視頻編碼器20以相對(duì)較慢的時(shí)鐘速度操作。
作為示例,圖像傳感器23可包括照相機(jī)。具體地,圖像傳感器23可包括電荷耦合器件(CCD)、電荷注入器件、光電二極管陣列、互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)器件、或任一其它能捕捉視頻圖像或數(shù)字視頻序列的光敏器件。
作為示例,視頻編碼器20可包括DSP。視頻編碼器20可包括編碼控制器24來(lái)選擇性地控制運(yùn)動(dòng)編碼器26和紋理編碼器28。換言之,這些組件的每一個(gè)都可由在DSP上執(zhí)行的軟件模塊構(gòu)成??蛇x地,視頻編碼器20的一個(gè)或多個(gè)組件可包括執(zhí)行本發(fā)明描述的技術(shù)的一個(gè)或多個(gè)方面的專門設(shè)計(jì)的硬件組件,或一個(gè)或多個(gè)ASIC。在任何情況下,編碼控制器24通過(guò)選擇性地調(diào)用運(yùn)動(dòng)編碼器26和紋理編碼器28來(lái)控制視頻幀的編碼。在許多情況下,在與視頻幀相關(guān)聯(lián)的編碼過(guò)程中,都使用了運(yùn)動(dòng)編碼器26和紋理編碼器28。
運(yùn)動(dòng)編碼器26執(zhí)行計(jì)算強(qiáng)度大運(yùn)動(dòng)估計(jì)編碼技術(shù),如以下將詳盡描述的。另一方面,紋理編碼器28執(zhí)行計(jì)算強(qiáng)度小的紋理編碼技術(shù),如通常用于壓縮靜止圖像的幀內(nèi)壓縮。舉例而言,紋理編碼器28可執(zhí)行本領(lǐng)域內(nèi)已知的離散余弦變換(DCT)編碼。在第一編碼模式中,當(dāng)使用運(yùn)動(dòng)估計(jì)技術(shù)時(shí),除運(yùn)動(dòng)編碼器26之外可調(diào)用紋理編碼器28,或者在第二編碼模式中,當(dāng)不使用運(yùn)動(dòng)估計(jì)技術(shù)時(shí),可以調(diào)用紋理編碼器28來(lái)取代運(yùn)動(dòng)估計(jì)器26。
編碼控制器24可建立閾值來(lái)限定用于編碼給定視頻幀的計(jì)算預(yù)算。編碼控制器24可將該閾值存入存儲(chǔ)器22,并在編碼例程中訪問(wèn)該閾值以評(píng)估計(jì)算預(yù)算是否已經(jīng)被耗盡。只要計(jì)算預(yù)算尚未被耗盡,編碼控制器24可使運(yùn)動(dòng)編碼器26能夠執(zhí)行運(yùn)動(dòng)估計(jì)技術(shù)。然而,如果計(jì)算預(yù)算已經(jīng)被耗盡,則編碼控制器24可禁用運(yùn)動(dòng)編碼器26。在該情況下,視頻幀的任何剩余的編碼能簡(jiǎn)單地用紋理編碼器28來(lái)完成,這需要少得多的計(jì)算量,從而需要更少的處理循環(huán)。以此方式,編碼控制器24能確保視頻幀的編碼可以在分配的時(shí)間量?jī)?nèi)完成,確保實(shí)時(shí)視頻序列能被發(fā)送。
編碼控制器24可部份地基于與視頻編碼器20相關(guān)聯(lián)的已知頻率來(lái)建立閾值。如上文所提及的,視頻編碼器20可包括數(shù)字信號(hào)處理器(DSP),它執(zhí)行與編碼控制器24,紋理編碼器28和運(yùn)動(dòng)控制器26相對(duì)應(yīng)的各種軟件模塊。視頻編碼器20的速度一般是固定的。換言之,視頻編碼器20通常以按照每秒的循環(huán)數(shù)(Hz)來(lái)計(jì)算的固定頻率操作。在一個(gè)示例中,視頻編碼器20可以50兆赫茲的時(shí)鐘速度操作,如此它每秒能執(zhí)行約5千萬(wàn)條指令。也可使用更快或更慢的時(shí)鐘速度。在任一情況下,閾值可部分地基于視頻編碼器20的已知時(shí)鐘速度。在某些情況下,閾值可以是編程在視頻控制器24內(nèi)部的固定值,在其它情況下,閾值可以是基于用于對(duì)一個(gè)或多個(gè)前導(dǎo)視頻幀進(jìn)行編碼的處理循環(huán)數(shù)進(jìn)行調(diào)整的動(dòng)態(tài)值。
舉例說(shuō)明,編碼控制器24可基于用于對(duì)一個(gè)或多個(gè)前導(dǎo)視頻進(jìn)行編碼的處理循環(huán)數(shù),在逐幀的基礎(chǔ)上建立閾值。使用運(yùn)動(dòng)估計(jì)技術(shù)時(shí),某些幀的編碼的花時(shí)比其它幀更長(zhǎng)。因此,計(jì)算預(yù)算可以至少部份地由用于對(duì)前導(dǎo)幀進(jìn)行編碼的平均處理循環(huán)數(shù)來(lái)限定。換言之,如前導(dǎo)視頻幀被快速地編碼,則計(jì)算量的節(jié)余能被加入到后繼幀的計(jì)算預(yù)算中,這可允許執(zhí)行增加的計(jì)算量來(lái)編碼后繼視頻幀。在一個(gè)示例中,可使用限定與若干先前已編碼的視頻幀相關(guān)聯(lián)的處理循環(huán)數(shù)的移動(dòng)均值來(lái)限定用于編碼后繼視頻幀的計(jì)算預(yù)算。以此方式,如需要,在編碼先前發(fā)送的視頻幀的過(guò)程中的計(jì)算節(jié)余可被重復(fù)利用,使得編碼后繼視頻幀可以使用先前的計(jì)算節(jié)余。
編碼控制器24可通過(guò)專門對(duì)所用的時(shí)鐘循環(huán)進(jìn)行計(jì)數(shù),或通過(guò)跟蹤與編碼視頻幀向關(guān)聯(lián)的定時(shí),來(lái)確定在對(duì)給定視頻幀進(jìn)行編碼期間所使用的處理循環(huán)數(shù),。在任何情況下,編碼控制器24監(jiān)控在編碼給定視頻幀期間使用的處理循環(huán)數(shù),并將所使用的循環(huán)數(shù)與閾值比較,以確定計(jì)算預(yù)算是否被耗盡。如已耗盡,則編碼控制器24可禁用運(yùn)動(dòng)編碼器26,并只用紋理編碼器28來(lái)執(zhí)行該幀的剩余的編碼。然而,只要計(jì)算預(yù)算未被耗盡,就可使用運(yùn)動(dòng)編碼器26,因?yàn)檫\(yùn)動(dòng)估計(jì)技術(shù)一般允許提高的壓縮率,從而降低視頻幀傳輸期間的帶寬消耗。
在運(yùn)動(dòng)估計(jì)編碼期間,運(yùn)動(dòng)編碼器26將與要編碼的當(dāng)前視頻幀相關(guān)聯(lián)的當(dāng)前視頻塊與前導(dǎo)圖像幀或其子集(或后繼圖像幀或其子集)的各種視頻塊相比較。在標(biāo)識(shí)了類似的視頻塊之后,運(yùn)動(dòng)編碼器26確定當(dāng)前視頻塊和類似視頻塊之間的差值。編碼控制器24可從運(yùn)動(dòng)編碼器26處接收此信息,并可將該信息轉(zhuǎn)發(fā)到發(fā)送器14。發(fā)送器然后能發(fā)送指示類似視頻塊的運(yùn)動(dòng)矢量以及由運(yùn)動(dòng)編碼器26標(biāo)識(shí)的差值。發(fā)送器14可發(fā)送每一圖像塊的已編碼的信息,或者也可以在一旦幀編碼完成時(shí)發(fā)送完整圖像幀的信息。通過(guò)使用運(yùn)動(dòng)矢量編碼圖像塊,能顯著減小發(fā)送視頻數(shù)據(jù)流所需的帶寬。但是,通過(guò)在某些情況下避免使用運(yùn)動(dòng)估計(jì),可確保實(shí)時(shí)發(fā)送。
圖3示出了能儲(chǔ)存在存儲(chǔ)器22內(nèi)的宏塊31。MPEG標(biāo)準(zhǔn)和其它視頻編碼模式在運(yùn)動(dòng)估計(jì)視頻編碼期間都使用宏塊。在MPEG標(biāo)準(zhǔn)中,術(shù)語(yǔ)“宏塊”指形成視頻圖像幀的一個(gè)子集的16×16的像素集合。每一像素值可用一個(gè)字節(jié)的數(shù)據(jù)表示,盡管為得到期望的成像質(zhì)量,也可使用更多或更少的比特?cái)?shù)來(lái)限定每一像素。宏塊也可由若干較小的8×8像素圖像塊32組成。然而,一般而言,如有需要,本發(fā)明描述的編碼技術(shù)可使用任何確定大小的塊來(lái)操作,諸如16比特×16比特的宏塊、8比特×8比特的圖像塊、或不同大小的視頻塊。
圖4示出了可儲(chǔ)存在存儲(chǔ)器內(nèi)的示例搜索空間41。搜索空間41是對(duì)應(yīng)于先前發(fā)送的圖像幀(或幀序列中的后繼圖像幀)的視頻塊緩沖集。如有需要,搜索空間可由完整的前導(dǎo)或后繼圖像幀構(gòu)成,或圖像幀的子集。一般而言,由于較大的搜索空間限定可以與要編碼的當(dāng)前幀比較的更多的塊,即,每次迭代有更多的任務(wù),因此更大的搜索空間將導(dǎo)致運(yùn)動(dòng)估計(jì)期間更多的計(jì)算。再一次,將當(dāng)前圖像幀與搜索空間41中的塊相比較,以標(biāo)識(shí)一個(gè)適當(dāng)?shù)钠ヅ洌沟卯?dāng)前塊與前導(dǎo)幀中的類似圖像塊之間的差值可以連同指示前導(dǎo)幀的類似圖像塊的運(yùn)動(dòng)矢量一起發(fā)送。
更具體地,在運(yùn)動(dòng)估計(jì)視頻幀編碼期間,運(yùn)動(dòng)編碼器26可使用諸如視頻編碼領(lǐng)域中眾所周知的絕對(duì)差和(SAD)技術(shù)和方差和(SSD)技術(shù)等比較技術(shù),將要編碼的當(dāng)前視頻塊與前導(dǎo)視頻塊進(jìn)行比較。也可使用其它的比較技術(shù)。
SAD技術(shù)涉及在要編碼的當(dāng)前塊的像素值與要與當(dāng)前塊比較的前導(dǎo)塊的像素值之間執(zhí)行絕對(duì)差計(jì)算的任務(wù)。將這些絕對(duì)差計(jì)算的結(jié)果相加,即累加,來(lái)限定一指示當(dāng)前視頻塊和與當(dāng)前視頻塊比較的前導(dǎo)視頻塊之差的差值。對(duì)8×8像素圖像塊,要計(jì)算并相加64個(gè)差值,而對(duì)16×16像素宏塊,要計(jì)算并相加256個(gè)差值。在某些情況下,當(dāng)累加的差值超出任務(wù)閾值時(shí),任務(wù)計(jì)算可被終止。這該情況下,額外的計(jì)算是不必要的。
SSD技術(shù)也涉及在要編碼的當(dāng)前塊的像素值與要與當(dāng)前塊比較的前導(dǎo)塊的像素值之間執(zhí)行差計(jì)算的任務(wù)。在SSD技術(shù)中,對(duì)絕對(duì)差計(jì)算的結(jié)果進(jìn)行平方運(yùn)算,然后將平方的值相加,即累加,來(lái)限定一指示當(dāng)前視頻塊和與當(dāng)前視頻塊比較的前視頻導(dǎo)塊之差的差值。
可選地,可以執(zhí)行其它比較技術(shù),諸如均方誤差(MSE)、歸一化互相關(guān)函數(shù)(NCCF),或另一適當(dāng)?shù)谋容^算法。但是在任何情況下,運(yùn)動(dòng)估計(jì)技術(shù)需要大量的計(jì)算,來(lái)標(biāo)識(shí)使用運(yùn)動(dòng)矢量的視頻編碼可接受的匹配。因此,在確定計(jì)算預(yù)算不足以允許在分配的時(shí)間內(nèi)執(zhí)行運(yùn)動(dòng)估計(jì)技術(shù)的某些情況下,可避免使用運(yùn)動(dòng)估計(jì)技術(shù)。
圖5所示是依照本揭示的原理的視頻編碼技術(shù)的流程圖。如圖所示,在編碼視頻幀期間,編碼控制器24監(jiān)控計(jì)算量(51),如通過(guò)在處理循環(huán)出現(xiàn)時(shí)對(duì)其數(shù)量進(jìn)行計(jì)數(shù)或相加,或通過(guò)對(duì)編碼過(guò)程進(jìn)行計(jì)時(shí)。如果超出計(jì)算預(yù)算(52的“是”分支),例如,當(dāng)處理循環(huán)數(shù)超過(guò)建立的閾值時(shí),編碼過(guò)程不采用運(yùn)動(dòng)估計(jì)技術(shù)進(jìn)行(53)。舉例而言,當(dāng)超出計(jì)算預(yù)算時(shí)(52的“是”分支),則可使用紋理編碼,或其它更小計(jì)算強(qiáng)度的編碼技術(shù)。然而,只要未超出計(jì)算預(yù)算(52的“否”分支),就使用運(yùn)動(dòng)估計(jì)技術(shù)進(jìn)行編碼(54)。因?yàn)檫\(yùn)動(dòng)估計(jì)編碼可以獲得提高的數(shù)據(jù)壓縮率,從而降低視頻序列發(fā)送期間的帶寬消耗,因此,如果計(jì)算資源可用,則優(yōu)先使用運(yùn)動(dòng)估計(jì)。
可選地,運(yùn)動(dòng)估計(jì)技術(shù)可以基于剩余計(jì)算資源的程度來(lái)加以修改。換言之,當(dāng)使用的處理循環(huán)數(shù)接近閾值時(shí),編碼控制器可動(dòng)態(tài)地改變運(yùn)動(dòng)編碼器26執(zhí)行的運(yùn)動(dòng)估計(jì)技術(shù),如通過(guò)對(duì)任一給定的迭代減小搜索空間的大小。以此方法,運(yùn)動(dòng)估計(jì)可以在計(jì)算約束條件下被更容易地充分利用。
圖6所示是依照本揭示的原理的視頻編碼技術(shù)的更詳細(xì)的流程圖。如圖6所示,數(shù)字視頻設(shè)備10的編碼控制器20通過(guò)計(jì)算每幀的循環(huán)的移動(dòng)均值(61),開始對(duì)視頻幀進(jìn)行編碼。換言之,編碼控制器24確定用于對(duì)若干前導(dǎo)視頻幀進(jìn)行編碼所用的每幀的循環(huán)數(shù)的均值。然后,編碼控制器24為編碼當(dāng)前視頻幀建立一計(jì)算預(yù)算。具體地,編碼控制器24可限定一閾值來(lái)限定可用于運(yùn)動(dòng)估計(jì)的處理循環(huán)數(shù)。該閾值可由視頻編碼器20的時(shí)鐘速度來(lái)限定,也可部份地由所計(jì)算的移動(dòng)均值來(lái)進(jìn)一步限定。舉例而言,如果編碼若干前導(dǎo)視頻幀所需的每幀的平均循環(huán)數(shù)顯著小于期望值時(shí),則可將計(jì)算量節(jié)余加入該閾值中,以允許執(zhí)行額外的計(jì)算。類似地,如果編碼若干前導(dǎo)視頻幀所需的每幀的平均循環(huán)數(shù)顯著大于期望值時(shí),則可將計(jì)算量透支加入該閾值中,使對(duì)后繼幀只能執(zhí)行更少的計(jì)算。編碼控制器24可在存儲(chǔ)器22中儲(chǔ)存該閾值,以使在編碼例程期間可以訪問(wèn)該閾值。
編碼控制器24使運(yùn)動(dòng)編碼器26能夠采用諸如上文所列出的那些運(yùn)動(dòng)估計(jì)技術(shù)對(duì)圖像塊進(jìn)行編碼(63)。在編碼期間,編碼控制器24監(jiān)控并確定所用的處理循環(huán)數(shù),如通過(guò)對(duì)視頻編碼器20所用的處理循環(huán)數(shù)進(jìn)行計(jì)數(shù),或通過(guò)跟蹤在編碼當(dāng)前視頻塊期間所流逝的時(shí)間量。也可使用其它估計(jì)技術(shù)來(lái)確定所用的循環(huán)數(shù)。編碼控制器24隨后確定是否超出計(jì)算預(yù)算(64),如通過(guò)將在編碼當(dāng)前視頻幀期間所用的處理循環(huán)數(shù)與儲(chǔ)存在存儲(chǔ)器22中的閾值進(jìn)行比較。如果未超出計(jì)算預(yù)算(64的“否”分支),則使用運(yùn)動(dòng)估計(jì)來(lái)編碼視頻塊(65)。在某些情況下,如果使用運(yùn)動(dòng)估計(jì),除運(yùn)動(dòng)估計(jì)編碼技術(shù)之外也可使用紋理編碼。只要該幀仍有另外的視頻塊需要編碼(66的“是”分支),就重復(fù)監(jiān)控計(jì)算閾值的過(guò)程。
如果編碼控制器24確定超出了計(jì)算預(yù)算(64的“是”分支),如通過(guò)確定在編碼當(dāng)前視頻幀期間使用的處理循環(huán)數(shù)超出儲(chǔ)存于存儲(chǔ)器22中的閾值,則編碼控制器禁用運(yùn)動(dòng)編碼器26(67)。在該情況下,視頻編碼器20不使用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼任何剩余視頻塊。舉例說(shuō)明,編碼控制器24可禁用運(yùn)動(dòng)編碼器26,并僅啟用紋理編碼器28,使得剩余的視頻塊可使用紋理編碼技術(shù)來(lái)編碼。除紋理編碼器28之外或作為其替代,也可添加實(shí)現(xiàn)其它編碼技術(shù)的額外的編碼器。在某些情況下,當(dāng)運(yùn)動(dòng)估計(jì)被禁用,整個(gè)視頻幀可以僅使用紋理編碼技術(shù)來(lái)編碼,丟棄所計(jì)算的運(yùn)送矢量。但是在大多數(shù)情況下,在運(yùn)動(dòng)編碼器26啟用期間所計(jì)算的運(yùn)動(dòng)矢量是可以使用的。在后一種情況下,只有未使用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼的那些剩余視頻塊需要僅使用紋理編碼技術(shù)來(lái)編碼。
圖7所示是圖6的視頻編碼技術(shù)的一個(gè)變異的流程圖。在此情況下,編碼控制器24為編碼當(dāng)前視頻幀設(shè)定一計(jì)算預(yù)算(71)。舉例說(shuō)明,編碼控制器可計(jì)算每幀循環(huán)數(shù)的移動(dòng)均值,并限定一閾值來(lái)限定能用于編碼的處理循環(huán)數(shù)。該閾值可由視頻編碼器20的時(shí)鐘速度來(lái)限定,也可部份地由所計(jì)算的移動(dòng)均值來(lái)進(jìn)一步限定。
編碼控制器24然后確定是否超出計(jì)算預(yù)算(72),如通過(guò)將編碼當(dāng)前幀所用的處理循環(huán)數(shù)與儲(chǔ)存在存儲(chǔ)器22中的閾值進(jìn)行比較。如果未超出計(jì)算預(yù)算(72的“否”分支),則增加該閾值,以表示前導(dǎo)幀的未充分使用,并且可以使用運(yùn)動(dòng)估計(jì)來(lái)編碼視頻塊(75)。另一方面,如果超出了計(jì)算預(yù)算(72的“是”分支),則可減小用于后繼視頻塊的運(yùn)動(dòng)估計(jì)的搜索大小,并仍能使用運(yùn)動(dòng)估計(jì)(75)。換言之,在確定超出了計(jì)算預(yù)算,并不完全終止運(yùn)動(dòng)估計(jì)(如圖6所示),在圖7中,該技術(shù)在動(dòng)態(tài)的基礎(chǔ)上修改所執(zhí)行的運(yùn)動(dòng)估計(jì)的范圍。以此方法,本技術(shù)可動(dòng)態(tài)地調(diào)整要執(zhí)行的計(jì)算數(shù)量。可循環(huán)性地在恒定的基礎(chǔ)上檢查所測(cè)定的或估算的與所建立的計(jì)算預(yù)算有關(guān)的計(jì)算使用,以動(dòng)態(tài)地調(diào)整編碼算法。這類技術(shù)對(duì)壓縮比進(jìn)行權(quán)衡,能改善實(shí)時(shí)編碼,尤其是在資源有限的平臺(tái)上。
一旦完成對(duì)幀的編碼,編碼控制器24將已編碼幀從存儲(chǔ)器22轉(zhuǎn)發(fā)到發(fā)送器14。發(fā)送器14然后可發(fā)送已編碼的幀(77)。圖7所示技術(shù)然后可重復(fù),來(lái)編碼另外的視頻幀(70)。在其它示例中,圖7所示的技術(shù)可跨對(duì)兩個(gè)或多個(gè)視頻幀進(jìn)行編碼來(lái)擴(kuò)展。換言之,與一個(gè)幀相關(guān)聯(lián)的計(jì)算節(jié)余或透支可在建立和\或修改后繼幀的預(yù)算閾值中,或在限定對(duì)任一給定幀或幀的任一個(gè)別視頻塊的搜索大小中得以體現(xiàn)。
在某些情況下,依照按照本發(fā)明所述的技術(shù)編碼的幀,可以有符合諸如MPEG-4標(biāo)準(zhǔn)等一個(gè)或多個(gè)MPEG標(biāo)準(zhǔn)的唯一格式。舉例而言,如果視頻幀限定了(N)個(gè)視頻塊,則限定塊序列(1到M)的第一視頻塊集可基本上使用運(yùn)動(dòng)矢量來(lái)編碼。在某些情況下,第一序列中的幾個(gè)視頻塊可以不用運(yùn)動(dòng)矢量來(lái)編碼,例如,當(dāng)對(duì)一個(gè)或多個(gè)塊未標(biāo)識(shí)可接受的運(yùn)動(dòng)矢量時(shí),而在其它情況下,第一序列中的所有視頻塊可使用運(yùn)動(dòng)矢量來(lái)編碼。限定塊序列(M+1到N)的第二視頻塊集可不使用運(yùn)動(dòng)矢量來(lái)編碼。例如,當(dāng)運(yùn)動(dòng)估計(jì)器26如上文所述的被禁用時(shí),剩余的視頻塊可以只使用紋理編碼器28來(lái)編碼。按此格式限定的幀可儲(chǔ)存在計(jì)算機(jī)可讀媒質(zhì)上,諸如設(shè)備10的存儲(chǔ)器22。另外,按此格式限定的幀可儲(chǔ)存在用已編碼數(shù)據(jù)調(diào)制的載波形式的計(jì)算機(jī)可讀媒質(zhì)上。舉例而言,已調(diào)制載波可以是用來(lái)通過(guò)發(fā)送器14和天線12從設(shè)備10發(fā)送幀的媒質(zhì)。在任一情況下,計(jì)算機(jī)可讀媒質(zhì)可以包括存儲(chǔ)在其上的圖像幀。
已經(jīng)描述了許多不同的實(shí)施例。例如,描述了為編碼視頻幀建立計(jì)算預(yù)算的視頻編碼技術(shù)。所描述的技術(shù)能通過(guò)在某些場(chǎng)合避免計(jì)算來(lái)改善視頻編碼、加速編碼過(guò)程、并可能減少視頻編碼期間的功率消耗。以此方式,本技術(shù)能改善符合諸如MPEG-4等標(biāo)準(zhǔn)的視頻編碼,并更有利于在計(jì)算資源更有限,并且關(guān)注功率消耗的無(wú)線設(shè)備中實(shí)現(xiàn)視頻編碼。另外,本技術(shù)不會(huì)影響與諸如MPEG-4解碼標(biāo)準(zhǔn)等解碼標(biāo)準(zhǔn)的互操作性。
然而,在不背離權(quán)利要求書的精神和范圍的前提下,可以作各種修改。例如,在某些情況下,運(yùn)動(dòng)估計(jì)技術(shù)可基于當(dāng)前可用的計(jì)算資源來(lái)修改。例如,在編碼任意給定視頻幀期間,搜索技術(shù)可基于可用計(jì)算資源來(lái)修改。換言之,在某些情況下,可更緊密地監(jiān)控計(jì)算預(yù)算,來(lái)動(dòng)態(tài)限定所使用的運(yùn)動(dòng)估計(jì)技術(shù)的范圍。具體地,運(yùn)動(dòng)估計(jì)期間使用的比較和搜索次數(shù)可基于由已使用的計(jì)算量所確定的與閾值相關(guān)的可用計(jì)算量來(lái)動(dòng)態(tài)地調(diào)整或限定。舉例說(shuō)明,如果有更多的計(jì)算資源可用,則可在運(yùn)動(dòng)估計(jì)期間使用更窮盡的搜索。相反,當(dāng)在編碼任一給定視頻幀的過(guò)程中計(jì)算資源變得更有限時(shí),可使用較不窮盡的搜索。在某一點(diǎn)上,可如上所述完全不用運(yùn)動(dòng)估計(jì)??山⒋罅坎煌拈撝祦?lái)限定應(yīng)當(dāng)何時(shí)對(duì)運(yùn)動(dòng)估計(jì)技術(shù)進(jìn)行修改、調(diào)整或終止。這些或其它的對(duì)上述技術(shù)的修改和擴(kuò)展可被實(shí)現(xiàn)以改進(jìn)編碼過(guò)程。
本技術(shù)可用硬件、軟件、固件或其任一組合來(lái)實(shí)現(xiàn)。如以軟件實(shí)現(xiàn),則本技術(shù)可以針對(duì)一種包括程序代碼的計(jì)算機(jī)可讀媒質(zhì),當(dāng)在編碼符合MPEG-4標(biāo)準(zhǔn)的視頻流的設(shè)備中執(zhí)行該程序代碼時(shí),可執(zhí)行上述一種或多種方法。在此情況下,該計(jì)算機(jī)可讀媒質(zhì)可包括隨機(jī)存取存儲(chǔ)器(RAM),如同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)、只讀存儲(chǔ)器(ROM)、非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、閃存及類似器件。
程序代碼可以計(jì)算機(jī)可讀指令的形式儲(chǔ)存在存儲(chǔ)器中。在此情況下,諸如DSP等處理器可執(zhí)行儲(chǔ)存在存儲(chǔ)器中的指令來(lái)實(shí)現(xiàn)本發(fā)明描述的一項(xiàng)或多項(xiàng)技術(shù)。在某些情況下,這些技術(shù)可由調(diào)用各種硬件組件來(lái)加速編碼過(guò)程的DSP執(zhí)行。在其它情況下,視頻編碼器可被實(shí)現(xiàn)為微處理器、一個(gè)或多個(gè)專用集成電路(ASIC)、一個(gè)或多個(gè)現(xiàn)場(chǎng)可編程門陣列(FPGA)、或某些其它的硬件-軟件的組合。這些和其它實(shí)施例都包括在所附權(quán)利要求書的范圍之內(nèi)。
權(quán)利要求
1.一種設(shè)備,其特征在于,它包括一編碼器,它通過(guò)確定在編碼一給定視頻幀時(shí)所使用的處理循環(huán)數(shù)、及基于所確定的處理循環(huán)數(shù)來(lái)選擇一編碼模式,以對(duì)視頻幀進(jìn)行編碼;以及一發(fā)送器,它發(fā)送已編碼視頻幀。
2.如權(quán)利要求1所述的設(shè)備,其特征在于,當(dāng)編碼期間所使用的處理循環(huán)數(shù)超過(guò)一閾值時(shí),所述編碼器選擇一不使用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述給定視頻幀的編碼模式。
3.如權(quán)利要求2所述的設(shè)備,其特征在于,當(dāng)編碼期間所使用的處理循環(huán)數(shù)小于所述閾值時(shí),所述編碼器選擇一使用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述給定視頻幀的編碼模式。
4.如權(quán)利要求2所述的設(shè)備,其特征在于,所述編碼器建立所述閾值,以限定一用于對(duì)所述給定視頻幀進(jìn)行編碼的計(jì)算預(yù)算。
5.如權(quán)利要求2所述的設(shè)備,其特征在于,所述編碼器通過(guò)計(jì)算與若干先前所編碼的幀相關(guān)聯(lián)的平均處理循環(huán)數(shù),并至少部分地基于所計(jì)算的平均處理循環(huán)數(shù)限定所述閾值,來(lái)建立所述閾值。
6.如權(quán)利要求1所述的設(shè)備,其特征在于,確定所述處理循環(huán)數(shù)包括對(duì)在編碼所述給定視頻幀期間所使用的處理循環(huán)數(shù)進(jìn)行計(jì)數(shù)。
7.如權(quán)利要求1所述的設(shè)備,其特征在于,它還包括一實(shí)時(shí)捕捉視頻幀的圖像傳感器,其中,所述編碼器實(shí)時(shí)編碼所述視頻幀,并且其中,所述發(fā)送器實(shí)時(shí)發(fā)送已編碼的視頻幀。
8.如權(quán)利要求1所述的設(shè)備,其特征在于所述視頻幀按照MPEG-4標(biāo)準(zhǔn)來(lái)編碼。
9.如權(quán)利要求1所述的設(shè)備,其特征在于,所述設(shè)備是無(wú)線設(shè)備。
10.如權(quán)利要求1所述的設(shè)備,其特征在于,所述設(shè)備是由電池供電的設(shè)備。
11.如權(quán)利要求1所述的設(shè)備,其特征在于,所述編碼器包括一執(zhí)行機(jī)器可讀指令的數(shù)字信號(hào)處理器。
12.一種方法,其特征在于,它包括確定在編碼視頻幀期間所使用的處理循環(huán)數(shù);以及基于所確定的處理循環(huán)數(shù),選擇性地編碼所述視頻幀。
13.如權(quán)利要求12所述的方法,其特征在于,它還包括當(dāng)編碼期間所使用的處理循環(huán)數(shù)超過(guò)一閾值時(shí),為所述視頻幀選擇一不使用運(yùn)動(dòng)估計(jì)技術(shù)的編碼模式。
14.如權(quán)利要求13所述的方法,其特征在于,它還包括當(dāng)編碼期間所使用的處理循環(huán)數(shù)小于所述閾值時(shí),為所述視頻幀選擇一使用運(yùn)動(dòng)估計(jì)技術(shù)的編碼模式。
15.如權(quán)利要求13所述的方法,其特征在于,它還包括建立所述閾值以限定一用于編碼所述視頻幀的計(jì)算預(yù)算。
16.如權(quán)利要求15所述的方法,其特征在于,建立所述閾值包括計(jì)算一與若干先前編碼的視頻幀相關(guān)聯(lián)的平均處理循環(huán)數(shù)、及至少部份地基于所計(jì)算的平均處理循環(huán)數(shù)來(lái)限定所述閾值。
17.如權(quán)利要求12所述的方法,其特征在于,確定所述處理循環(huán)數(shù)包括對(duì)編碼所述視頻幀的過(guò)程中所使用的處理循環(huán)數(shù)進(jìn)行計(jì)數(shù)。
18.如權(quán)利要求12所述的方法,其特征在于,選擇性地編碼所述視頻幀包括動(dòng)態(tài)地調(diào)整要執(zhí)行的計(jì)算次數(shù)。
19.一種方法,其特征在于,它包括建立一閾值以限定用于編碼一視頻幀的可用處理循環(huán)數(shù);確定在編碼所述視頻幀的過(guò)程中所使用的處理循環(huán)數(shù);當(dāng)編碼期間所使用的處理循環(huán)數(shù)小于所述閾值時(shí),采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀;當(dāng)編碼期間所使用的處理循環(huán)數(shù)大于所述閾值時(shí),不采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀;
20.如權(quán)利要求19所述的方法,其特征在于,確定所述處理循環(huán)數(shù)包括對(duì)在編碼所述視頻幀的過(guò)程中所使用的處理循環(huán)數(shù)進(jìn)行計(jì)數(shù)。
21.如權(quán)利要求19所述的方法,其特征在于,建立所述閾值包括計(jì)算一與若干先前編碼的視頻幀相關(guān)聯(lián)的平均處理循環(huán)數(shù)、及至少部份地基于所計(jì)算的平均處理循環(huán)數(shù)來(lái)限定所述閾值。
22.一種設(shè)備,其特征在于,它包括一編碼器,它通過(guò)建立一閾值來(lái)限定用于編碼一給定視頻幀的計(jì)算預(yù)算、確定在編碼所述給定視頻幀期間所使用的處理循環(huán)數(shù)、當(dāng)在編碼期間所使用的處理循環(huán)數(shù)小于所述閾值時(shí)采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀、以及當(dāng)編碼期間所使用的處理循環(huán)數(shù)大于所述閾值時(shí)不采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀,來(lái)編碼視頻幀;以及一發(fā)送器,它發(fā)送已編碼視頻幀。
23.如權(quán)利要求22所述的設(shè)備,其特征在于,所述選自以下組數(shù)字電視、無(wú)線通信設(shè)備、個(gè)人數(shù)字助理、膝上型計(jì)算機(jī)、臺(tái)式機(jī)、數(shù)碼相機(jī)、數(shù)字錄制設(shè)備、具備視頻功能的蜂窩無(wú)線電話、以及具備視頻功能的衛(wèi)星無(wú)線電話。
24.一種裝置,其特征在于,它包括一存儲(chǔ)器,它儲(chǔ)存計(jì)算機(jī)可執(zhí)行指令;以及一處理器,它執(zhí)行所述指令來(lái)確定在編碼一給定視頻幀期間所使用的處理循環(huán)數(shù),并基于所確定的處理循環(huán)數(shù)來(lái)選擇一編碼模式以對(duì)所述給定視頻幀進(jìn)行編碼。
25.如權(quán)利要求24所述的裝置,其特征在于,所述存儲(chǔ)器儲(chǔ)存一限定一用于視頻編碼例程的計(jì)算預(yù)算的閾值,并且其中,所述處理器執(zhí)行所述指令,以當(dāng)編碼期間所使用的處理循環(huán)數(shù)超出所述閾值時(shí),選擇一不采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述給定視頻幀的編碼模式。
26.如權(quán)利要求25所述的裝置,其特征在于,所述處理器還執(zhí)行所述指令,以當(dāng)編碼期間所使用的處理循環(huán)數(shù)小于所述閾值時(shí),選擇一采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述給定視頻幀的編碼模式。
27.如權(quán)利要求25所述的裝置,其特征在于,所述處理器還執(zhí)行所述指令來(lái)建立所述閾值,以限定一用于編碼所述給定視頻幀的計(jì)算預(yù)算。
28.如權(quán)利要求27所述的裝置,其特征在于,所述處理器執(zhí)行所述指令,以通過(guò)計(jì)算一與若干先前所編碼的視頻幀相關(guān)聯(lián)的平均處理循環(huán)數(shù)、及至少部份地基于所計(jì)算的平均處理循環(huán)數(shù)限定所述閾值,來(lái)建立所述閾值。
29.如權(quán)利要求24所述的裝置,其特征在于,所述處理器執(zhí)行指令,以通過(guò)執(zhí)行指令來(lái)對(duì)在編碼所述給定視頻幀的過(guò)程中所使用的處理循環(huán)數(shù)進(jìn)行計(jì)數(shù),來(lái)確定所述處理循環(huán)數(shù)。
30.一種裝置,其特征在于,它包括一存儲(chǔ)器,它儲(chǔ)存計(jì)算機(jī)可執(zhí)行指令和一限定一用于視頻編碼例程的計(jì)算預(yù)算的閾值;以及一處理器,它執(zhí)行所述指令來(lái)建立儲(chǔ)存在所述存儲(chǔ)器中的所述閾值、確定在編碼一給定視頻幀期間所使用的處理循環(huán)數(shù)、當(dāng)編碼期間所使用的處理循環(huán)數(shù)小于所述閾值時(shí)采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述給定視頻幀、而當(dāng)編碼期間所使用的處理循環(huán)數(shù)大于所述閾值時(shí)不采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述給定視頻幀。
31.如權(quán)利要求30所述的裝置,其特征在于,所述處理器執(zhí)行所述指令,以通過(guò)執(zhí)行指令來(lái)對(duì)在編碼所述給定視頻幀的過(guò)程中所使用的處理循環(huán)數(shù)進(jìn)行計(jì)算,來(lái)確定所述處理循環(huán)數(shù)。
32.如權(quán)利要求30所述的裝置,其特征在于,所述處理器執(zhí)行指令,以通過(guò)執(zhí)行指令來(lái)計(jì)算一與若干先前所編碼的視頻幀相關(guān)聯(lián)的平均處理循環(huán)數(shù)、及至少部份地基于所計(jì)算的平均處理循環(huán)數(shù)來(lái)限定所述閾值,來(lái)建立所述閾值。
33.一種依照MPEG-4標(biāo)準(zhǔn)編碼視頻塊的裝置,其特征在于,它通過(guò)以下步驟來(lái)編碼確定在編碼一視頻幀期間所使用的處理循環(huán)數(shù);以及基于所確定的處理循環(huán)數(shù),使用不同的編碼模式選擇性地編碼所述視頻幀。
34.如權(quán)利要求33所述的裝置,其特征在于,當(dāng)編碼期間所使用的處理循環(huán)數(shù)超過(guò)一閾值時(shí),不使用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀。
35.如權(quán)利要求33所述的裝置,其特征在于,確定所述處理循環(huán)數(shù)包括對(duì)在編碼所述視頻幀的過(guò)程中所使用的處理循環(huán)數(shù)進(jìn)行計(jì)數(shù)。
36.一種依照MPEG-4標(biāo)準(zhǔn)編碼視頻塊的裝置,其特征在于,它通過(guò)以下步驟來(lái)編碼建立一處理循環(huán)數(shù)閾值;確定在編碼所述視頻幀的過(guò)程中所使用的處理循環(huán)數(shù);當(dāng)編碼期間所使用的處理循環(huán)數(shù)小于所述閾值時(shí),采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀;當(dāng)編碼期間所使用的處理循環(huán)數(shù)大于所述閾值時(shí),不采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀。
37.如權(quán)利要求36所述的裝置,其特征在于,確定所述處理循環(huán)數(shù)包括對(duì)在編碼所述視頻幀的過(guò)程中所使用的處理循環(huán)數(shù)進(jìn)行計(jì)數(shù)。
38.如權(quán)利要求36所述的裝置,其特征在于,建立所述閾值包括計(jì)算一與若干先前所編碼的視頻幀相關(guān)聯(lián)的平均處理循環(huán)數(shù)、及至少部分地基于所計(jì)算的平均處理循環(huán)數(shù)來(lái)限定所述閾值。
39.一種包含指令的計(jì)算機(jī)可讀媒質(zhì),其特征在于,當(dāng)所述指令在編碼符合MPEG-4標(biāo)準(zhǔn)的視頻流的設(shè)備中執(zhí)行時(shí)確定在編碼一視頻幀期間所使用的處理循環(huán)數(shù);以及基于所確定的處理循環(huán)數(shù),使用不同的編碼模式選擇性地編碼所述視頻幀。
40.如權(quán)利要求39所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,當(dāng)被執(zhí)行時(shí),所述指令在編碼期間所使用的處理循環(huán)數(shù)超過(guò)一閾值時(shí)不使用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀。
41.如權(quán)利要求40所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,當(dāng)被執(zhí)行時(shí),所述指令在編碼期間所使用的處理循環(huán)數(shù)小于所述閾值時(shí)使用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀。
42.如權(quán)利要求40所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,當(dāng)被執(zhí)行時(shí),所述指令建立所述閾值,以限定一用于編碼所述視頻幀的計(jì)算預(yù)算。
43.如權(quán)利要求42所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,當(dāng)被執(zhí)行時(shí),所述指令通過(guò)計(jì)算一與若干先前所編碼的視頻幀相關(guān)聯(lián)的平均處理循環(huán)數(shù)、及至少部份地基于所計(jì)算的平均處理循環(huán)數(shù)限定閾值,來(lái)建立所述閾值。
44.如權(quán)利要求39所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,當(dāng)被執(zhí)行時(shí),所述指令通過(guò)對(duì)在編碼所述視頻幀的過(guò)程中所使用的處理循環(huán)數(shù)進(jìn)行計(jì)數(shù),來(lái)確定所述處理循環(huán)數(shù)。
45.一種包含指令的計(jì)算機(jī)可讀媒質(zhì),其特征在于,當(dāng)在編碼符合MPEG-4標(biāo)準(zhǔn)的視頻流的設(shè)備中執(zhí)行所述指令時(shí)建立一閾值,以限定一用于編碼視頻幀的計(jì)算預(yù)算;確定在編碼所述視頻幀過(guò)程中所使用的處理循環(huán)數(shù);當(dāng)編碼期間所使用的處理循環(huán)數(shù)小于所述閾值時(shí),采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀;以及當(dāng)編碼期間所使用的處理循環(huán)數(shù)大于所述閾值時(shí),不采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀。
46.如權(quán)利要求45所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,當(dāng)被執(zhí)行時(shí),所述指令通過(guò)對(duì)在編碼所述視頻幀的過(guò)程中所使用的處理循環(huán)數(shù)進(jìn)行計(jì)數(shù),來(lái)確定所述處理循環(huán)數(shù)。
47.如權(quán)利要求45所述的計(jì)算機(jī)可讀媒質(zhì),其特征在于,當(dāng)被執(zhí)行時(shí),所述指令通過(guò)計(jì)算一與若干先前所編碼的視頻幀相關(guān)聯(lián)的平均處理循環(huán)數(shù)、及至少部份地基于所計(jì)算的平均處理循環(huán)數(shù)來(lái)限定所述閾值,而建立所述閾值。
48.一種裝置,其特征在于,它包括用于確定在編碼一視頻幀的過(guò)程中所使用的處理循環(huán)數(shù)的裝置;用于當(dāng)編碼期間所使用的處理循環(huán)數(shù)超出一閾值時(shí),不采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀的裝置。
49.一種裝置,其特征在于,它包括用于建立一閾值以限定一用于編碼視頻幀的計(jì)算預(yù)算的裝置;用于確定在編碼所述視頻幀的過(guò)程中所使用的處理循環(huán)數(shù)的裝置;用于當(dāng)編碼期間所使用的處理循環(huán)數(shù)小于所述閾值時(shí),采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀的裝置;以及用于當(dāng)編碼期間所使用的處理循環(huán)數(shù)大于所述閾值時(shí),不采用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)編碼所述視頻幀的裝置。
50.一種方法,其特征在于,它包括建立一閾值,以限定一用于編碼視頻幀的計(jì)算預(yù)算;確定當(dāng)編碼所述視頻幀時(shí)所使用的處理循環(huán)數(shù);以及基于所確定的與所述閾值相關(guān)的處理循環(huán)數(shù)調(diào)整一編碼例程。
51.一種包含指令的計(jì)算機(jī)可讀媒質(zhì),其特征在于,當(dāng)所述指令在編碼符合MPEG-4標(biāo)準(zhǔn)的視頻流的設(shè)備中執(zhí)行時(shí)建立一閾值,以限定一用于編碼視頻幀的計(jì)算預(yù)算;確定當(dāng)編碼所述視頻幀時(shí)所使用的處理循環(huán)數(shù);以及基于所確定的與所述閾值相關(guān)的處理循環(huán)數(shù)來(lái)調(diào)整一編碼例程。
52.一種裝置,其特征在于,它包括一存儲(chǔ)器,它儲(chǔ)存計(jì)算機(jī)可執(zhí)行指令以及一限定一用于視頻編碼例程的計(jì)算預(yù)算的閾值;以及一處理器,它執(zhí)行所述指令來(lái)建立所述閾值、確定當(dāng)編碼所述視頻幀時(shí)所使用的處理循環(huán)數(shù)、以及基于所確定的與所述閾值相關(guān)的處理循環(huán)數(shù)來(lái)調(diào)整所述編碼例程。
53.一種方法,其特征在于,它包括使用第一編碼技術(shù)來(lái)編碼一視頻幀的第一部分;以及使用第二編碼技術(shù)來(lái)編碼所述視頻幀的第二部分。
54.如權(quán)利要求53所述的方法,其特征在于,所述第一編碼技術(shù)包括基于運(yùn)動(dòng)和紋理的編碼技術(shù),并且所述第二編碼技術(shù)包括基于非運(yùn)動(dòng)的編碼技術(shù)。
55.一種方法,其特征在于,它包括當(dāng)在編碼一視頻幀期間所使用的處理循環(huán)數(shù)小于一閾值時(shí),依照第一編碼模式來(lái)編碼所述視頻幀的第一視頻塊集合;以及當(dāng)所述處理循環(huán)數(shù)超出所述閾值時(shí),依照第二編碼模式來(lái)編碼所述視頻幀的第二視頻塊集合。
56.如權(quán)利要求55所述的方法,其特征在于,所述第一編碼模式包括基于運(yùn)動(dòng)的編碼,并且所述第二編碼模式排除基于運(yùn)動(dòng)的編碼。
57.一種包含依照MPEG-4標(biāo)準(zhǔn)來(lái)編碼的視頻幀的計(jì)算機(jī)可讀媒質(zhì),其特征在于,所述視頻幀包括(N)視頻塊,其中,第一視頻塊序列(1到M)基本上使用運(yùn)動(dòng)矢量來(lái)編碼,并且其中,第二視頻塊序列(M+1到N)不使用運(yùn)動(dòng)矢量來(lái)編碼。
全文摘要
描述了涉及確定在編碼視頻幀期間所使用的處理循環(huán)數(shù)、及當(dāng)編碼期間所使用的處理循環(huán)數(shù)超出一閾值時(shí)不使用運(yùn)動(dòng)估計(jì)技術(shù)來(lái)來(lái)編碼視頻幀的視頻編碼計(jì)數(shù)。例如,該閾值可以限定可用于編碼給定的視頻幀的處理循環(huán)數(shù),并且所確定的處理循環(huán)數(shù)可以是在編碼給定視頻幀的過(guò)程中所使用的已計(jì)數(shù)的循環(huán)數(shù)。如果在編碼期間所使用的處理循環(huán)數(shù)超出閾值,則中止運(yùn)動(dòng)估計(jì)技術(shù)而采用更小計(jì)算強(qiáng)度的編碼技術(shù),如紋理編碼。
文檔編號(hào)H04N7/32GK1666529SQ03815068
公開日2005年9月7日 申請(qǐng)日期2003年6月18日 優(yōu)先權(quán)日2002年6月28日
發(fā)明者C·常 申請(qǐng)人:高通股份有限公司