專利名稱:用于網(wǎng)絡(luò)環(huán)境中在視頻會議期間跳過編碼的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及視頻領(lǐng)域,更具體地涉及網(wǎng)絡(luò)環(huán)境中在視頻會議期間跳過編碼(skip coding)。
背景技術(shù):
跳過編碼是用于幀間視頻編碼的高效協(xié)議,其中,一宏塊作為被跳過的宏塊被指示給視頻解碼器。對這種宏塊的解碼涉及將解碼后的數(shù)據(jù)復(fù)制到參考圖片中的相同位置。跳過編碼在視頻會議情形中特別有價值,在這種視頻會議情形中背景通常保持靜止且很少變化。判斷一宏塊是否可被編碼為被跳過通常是編碼器的任務(wù)?;趲町惗攘康呐袥Q將遭受視頻幀中的時間噪聲。這可歸因于圖像傳感器,其中,在照明條件較差等時,對于消費級相機而言時間噪聲會變得相當(dāng)大。在當(dāng)今的許多視頻環(huán)境中,時間噪聲減小要不無法獲得要不價格昂貴。因此,由于時間噪聲的緣故使得必須對大量靜止視頻塊進(jìn)行編碼,從而跳過編碼可能會失去其功效。恰當(dāng)?shù)貐f(xié)調(diào)這種環(huán)境中的視頻數(shù)據(jù)的能力對設(shè)備商、服務(wù)提供商和網(wǎng)絡(luò)運營者等提出了極大的挑戰(zhàn)。
為了提供對本發(fā)明及其特征和優(yōu)點的更完整理解,結(jié)合附圖來參考下文的描述,在附圖中,相似標(biāo)號表不相似部分,其中:圖1是圖示出根據(jù)本發(fā)明一個實施例的一種視頻會議系統(tǒng)的簡化示意圖;圖2是圖示出根據(jù)本發(fā)明一個實施例在端點內(nèi)的一個示例數(shù)據(jù)流的簡化開圖;圖3是示出根據(jù)本發(fā)明一個實施例的多級柱狀圖的簡化圖形;圖4是圖示出用于針對輸入視頻的一部分進(jìn)行跳過編碼判斷的一示例判決樹的簡化示意圖;以及圖5是圖示出與系統(tǒng)相關(guān)聯(lián)的潛在操作的簡化流程圖。
具體實施例方式概沭在一個示例中提供了一種方法,該方法包括:接收輸入視頻,以及從與該視頻輸入內(nèi)的當(dāng)前視頻圖像相關(guān)聯(lián)的噪聲中識別出像素值。該方法還包括:創(chuàng)建與識別出的像素值相關(guān)聯(lián)的跳過參考視頻圖像,以及將當(dāng)前視頻圖像的一部分與該跳過參考視頻圖像進(jìn)行比較。該方法還包括:在發(fā)生編碼操作之前確定要跳過的與當(dāng)前視頻圖像相關(guān)聯(lián)的宏塊。該方法還可以包括基于高于指定噪聲閾值的一噪聲水平來編碼與當(dāng)前視頻圖像相關(guān)聯(lián)的不跳過的宏塊。識別還可以包括生成多個柱狀圖,用以表示當(dāng)前輸入視頻幀與時間上在前的視頻幀之間的變化統(tǒng)計。在某些實現(xiàn)方式中,每一個柱狀圖包括輸入視頻內(nèi)的不同亮度水平。如果選擇的一個柱狀圖達(dá)到了某一亮度水平,則關(guān)聯(lián)視頻圖像的對應(yīng)像素被標(biāo)記為要登記到參考緩沖器。在更具體的示例中,方法可以包括對與當(dāng)前視頻圖像相關(guān)聯(lián)的不跳過宏塊和跳過宏塊進(jìn)行聚合,以及在隨后將這些宏塊經(jīng)由網(wǎng)絡(luò)連接傳送到與視頻會議相關(guān)聯(lián)的端點。對當(dāng)前視頻圖像的一部分與跳過參考視頻圖像的比較可以在單個參考緩沖器中執(zhí)行,或者在多個參考緩沖器中執(zhí)行。示例實施例轉(zhuǎn)向圖1,圖1是圖示出根據(jù)本發(fā)明一個實施例的用于視頻會議行為的系統(tǒng)的簡化示意圖。在此特定實現(xiàn)方式中,系統(tǒng)10是利用高級跳過編碼協(xié)議(或者其任何合適的變體)來輔助經(jīng)由網(wǎng)絡(luò)的視頻會議的架構(gòu)的代表。系統(tǒng)10包括被表示為端點12和13的兩個不同通信系統(tǒng),這兩個系統(tǒng)被提供在不同的地理位置。端點12可以包括顯示器14、多個揚聲器15、相機16和視頻處理單元17。在此實施例中,視頻處理單元17被集成到顯示器14中,但是視頻處理單元17也容易地可以是獨立單元。端點13可以類似地包括顯示器24、多個揚聲器25、相機26和視頻處理單元27。另外,端點12和13可分別被耦合到服務(wù)器20、22,其中,端點經(jīng)由網(wǎng)絡(luò)18相互連接。每一個視頻處理單元17、27還可以包括各自的處理器30a、30b、各自的存儲器元件32a、32b、各自的視頻編碼器34a、34b以及各自的高級跳過編碼模塊36a、36b。這些元件的功能和操作在下文中詳細(xì)論述。在涉及(出現(xiàn)在端點12處的)參與者19和(出現(xiàn)在端點13處的)參與者29的會議的上下文中,分組信息可以在會議期間經(jīng)由網(wǎng)絡(luò)18傳播。當(dāng)每一個參與者19和29通信時,相機16、26適當(dāng)?shù)夭蹲揭曨l圖像作為數(shù)據(jù)。每一個視頻處理單元17、27對該視頻數(shù)據(jù)進(jìn)行評估,然后判斷將哪些數(shù)據(jù)發(fā)送到另一位置以供在顯示器14、24上渲染(rendering)。注意,為了闡述系統(tǒng)10的某些示例技術(shù),重要的是理解許多視頻應(yīng)用中出現(xiàn)的數(shù)據(jù)問題。下面的基本信息可被視為可據(jù)其恰當(dāng)?shù)卣f明本發(fā)明的基礎(chǔ)。視頻處理單元可被配置為在編碼視頻序列期間跳過視頻信號的一些宏塊。這意味著將不傳輸針對這些宏塊的任何編碼數(shù)據(jù)。這可以包括帶寬和網(wǎng)絡(luò)擁塞極大關(guān)注的編解碼器(例如,MPEG-4、H.263等)。另外,對于移動視頻電話和基于計算機的會議,處理資源是非常珍貴的。這包括個人計算機(PC)應(yīng)用,以及用于視頻會議的魯棒系統(tǒng)(例如,遠(yuǎn)程呈現(xiàn)(Tel印resence))。編碼性能通常受限于運算復(fù)雜度。運算復(fù)雜度可通過在預(yù)期要跳過視頻數(shù)據(jù)的某些宏塊時(例如在編碼之前)不對這些宏塊進(jìn)行處理來降低。跳過宏塊節(jié)約了相當(dāng)多的運算資源,因為可以避免對宏塊的后續(xù)處理(例如,運動估計、變換和量化、熵編碼等)。一些軟件視頻應(yīng)用通過在編碼行為期間丟棄幀來控制處理器利用率:這通常產(chǎn)生解碼后的視頻序列中的急跳動作。當(dāng)宏塊被隨意(不正確地)跳過時,失真也是普遍的。重要的是在降低運算復(fù)雜度并對帶寬進(jìn)行管理的同時遞送對參與觀眾足夠的視頻信號(即,視頻信號不具有可辨知的劣化、失真等)。根據(jù)本發(fā)明的教導(dǎo),系統(tǒng)10采用了一種高級跳過編碼(ASC)方法,該方法有效地解決了前述問題。特別地,協(xié)議可以包括三個重要組成部分,它們能夠集體地解決時間視頻噪聲所呈現(xiàn)的問題。第一,系統(tǒng)10能夠高效地表示時間在前幀的變化統(tǒng)計。第二,系統(tǒng)10能夠識別每一個圖片元素的最可能“可跳過”的值。第三,聯(lián)合被提供以參考圖片,系統(tǒng)10能夠判斷當(dāng)前經(jīng)編碼的圖片元素是否應(yīng)當(dāng)被編碼為跳過。這些組成部分的每一個將在下文中進(jìn)一步詳細(xì)論述。
通過一起操作,這些編碼組件可被配置為判斷哪些新數(shù)據(jù)應(yīng)當(dāng)被編碼并發(fā)送到其他配對端點,以及(已經(jīng)被捕捉和編碼的)哪些數(shù)據(jù)可用作參考數(shù)據(jù)。通過最小化將被編碼的新數(shù)據(jù)量,該架構(gòu)能夠最小化端點12、13之間的網(wǎng)絡(luò)中的處理能力和帶寬消耗。在詳述與本發(fā)明相關(guān)聯(lián)的附加操作之前,提供有關(guān)圖1的相應(yīng)基礎(chǔ)設(shè)施的一些初步信息。顯示器14、24是可為一個或多個端用戶渲染視頻數(shù)據(jù)的屏幕。注意,本文中所使用的術(shù)語“顯示器”意指能夠向端用戶呈遞(包括視頻信息的)圖像數(shù)據(jù)、文本、聲音、音視頻數(shù)據(jù)等的任何元件。這必然將包含任何面板、等離子元件、電視、顯示器、計算機界面、屏幕、遠(yuǎn)程呈現(xiàn)設(shè)備(包括遠(yuǎn)程呈現(xiàn)板、面板、屏幕、墻壁、表面等)或者能夠遞送、渲染或投射這種信息的任何其他合適元件。揚聲器15、25和相機16、26 —般被安裝在相應(yīng)顯不器14、24的周圍。相機16、26可以是無線相機、高清相機或者被配置為捕捉圖像數(shù)據(jù)的任何其他合適的相機設(shè)備。類似地,任何合適的音頻接收機構(gòu)可被提供來捕捉各個位置處的音頻數(shù)據(jù)。就其物理配置而言,在一個具體實現(xiàn)方式中,相機16、26是數(shù)字相機,它們被安裝在顯示器14、24的頂部(且在中間)??稍诿恳粋€相應(yīng)顯示器14、24上安裝一個相機。其他相機布置和相機定位當(dāng)然在本發(fā)明的寬泛范圍內(nèi)。相應(yīng)參與者19和29可駐留在為其提供了相應(yīng)端點12、13的各個位置處。端點12和13是可用于輔助數(shù)據(jù)傳播的設(shè)備的代表。在一個具體示例中,端點12和13是個人實質(zhì)上可針對任何通信目的而使用的視頻會議端點的代表。然而,應(yīng)當(dāng)注意,該寬泛術(shù)語“端點”可以包括用于發(fā)起通信的設(shè)備,例如任何類型的計算機、個人數(shù)字助理(PDA)、膝上型筆記本或電子筆記本、蜂窩電話、iPhone、IP電話、iPad、Google Droid,或者能夠發(fā)起或輔助系統(tǒng)10內(nèi)的語音、音頻、視頻、媒體或者數(shù)據(jù)交換的任何其他設(shè)備、組件、元件或?qū)ο?。因此,可在任何這樣的端點中容易地提供視頻處理單元17。端點12和13也可以包括對人類用戶的合適接口,例如,麥克風(fēng)、顯示器或鍵盤,或者能夠發(fā)起系統(tǒng)10內(nèi)的交換的任何其他組件、設(shè)備、元件或?qū)ο?。本文中所使用的?shù)據(jù)指的是任何類型的數(shù)字、語音、視頻、媒體或腳本數(shù)據(jù),或者任何類型的源或目標(biāo)代碼,或者可從一個點傳送到另一個點的任何合適格式的任何其他合適信息。每一個端點12、13還可被配置來包括接收模塊、發(fā)送模塊、處理器、存儲器、網(wǎng)絡(luò)接口、諸如撥號盤、一個或多個揚聲器、一個或多個顯示器等的呼叫發(fā)起和接受設(shè)備。這些項中的任何一個或多個可被合并、組合、或者整體去除、或者進(jìn)行相當(dāng)大的變更,其中這些修改可基于具體的通信需求來進(jìn)行。注意,在一個示例中,每一個端點12、13可以具有用于輔助本文所描述的操作的內(nèi)部結(jié)構(gòu)(例如,處理器、存儲元件等)。在其他實施例中,這些音頻和/或視頻特征可被外部地提供給這些元件或者包括在某些其他私有設(shè)備中用以實現(xiàn)它們所想要的功能。在其他實施例中,每一個端點12、13可以包括輔助其操作的任何合適算法、硬件、軟件、組件、模塊、接口、或者對象。網(wǎng)絡(luò)18表示用于接收和發(fā)送通過系統(tǒng)10傳播的信息分組的互聯(lián)通信路徑的一系列點或節(jié)點。網(wǎng)絡(luò)18提供圖1的任何節(jié)點之間的通信接口,并且可以是任何局域網(wǎng)(LAN)、無線局域網(wǎng)(WLAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN)、虛擬專用網(wǎng)絡(luò)(VPN)、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng),或者輔助網(wǎng)絡(luò)環(huán)境中的通信的任何其他合適架構(gòu)或系統(tǒng)。注意,在使用網(wǎng)絡(luò)18時,系統(tǒng)10可以包括能夠在網(wǎng)絡(luò)中針對分組的發(fā)送和/或接收進(jìn)行傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)通信的配置。在適當(dāng)情形下或者基于具體需求,系統(tǒng)10還可以聯(lián)合用戶數(shù)據(jù)報協(xié)議/IP (UDP/IP)或者任何其他合適協(xié)議來操作。每一個視頻處理單元17、27被配置為對視頻數(shù)據(jù)進(jìn)行評估并判斷哪些數(shù)據(jù)應(yīng)當(dāng)在系統(tǒng)10內(nèi)被渲染、被編碼、被跳過、被操縱、被分析或者以其他方式被處理。本文中所使用的術(shù)語“視頻元件”應(yīng)該包含任何合適的單元、模塊、軟件、硬件、服務(wù)器、程序、應(yīng)用、應(yīng)用程序接口(API)、代理、處理器、現(xiàn)場可編程門陣列(FPGA)、可擦除可編程只讀存儲器(EPROM)、電可擦除可編程ROM (EEPR0M)、專用集成電路(ASIC)、數(shù)字信號處理器(DSP),或者被配置為處理視頻數(shù)據(jù)的任何其他合適的設(shè)備、組件、元件或?qū)ο?。該視頻元件可包括輔助其操作的任何合適的硬件、軟件、組件、模塊、接口或者對象。這可以包括允許數(shù)據(jù)或信息的有效交換(接收和/或發(fā)送)的適當(dāng)算法和通信協(xié)議。注意,每一個視頻處理單元17、27可以(例如,與各個端點12、13)分享(或協(xié)調(diào))某些處理操作。原理類似,它們各自的存儲器元件可以以任何數(shù)目的可能方式來存儲、維護(hù)、和/或更新數(shù)據(jù)。另外,因為這些視頻元件中的一些可被容易地組合成單個單元、設(shè)備或服務(wù)器(或者這些元件的某些方面可在彼此內(nèi)被提供),所以所闡述的處理器中的一些可被移除或者以其他方式被合并以使得單個處理器和/或單個存儲器位置就可負(fù)責(zé)與跳過編碼控制相關(guān)聯(lián)的某些行為。從一般意義上講,圖1所示的布置在其表示方面可能是更加邏輯性的,而物理架構(gòu)可以包括這些元件的各種排列/組合/混合。在一個示例實現(xiàn)方式中,視頻處理單元17、27包括用以實現(xiàn)智能跳過編碼操作的軟件(例如,分別作為高級跳過編碼模塊36a-36b的一部分),如本文中所概述的。在其他實施例中,此特征可從外部被提供給前述元件中的任一者,或者被包括在某種其他視頻元件或端點(它們中的任一者都可能是私有的)中以實現(xiàn)該想要的功能。或者,若干元件可包括能夠協(xié)調(diào)以實現(xiàn)這些操作的軟件(或交替式軟件),如本文中所概述的。在其他實施例中,所圖示附圖的設(shè)備中的任一者可以包括輔助這些跳過編碼管理操作的任何合適的算法、硬件、軟件、組件、模塊、接口或?qū)ο?,如本文中所公開的。集成視頻處理單元17被配置為經(jīng)由某種連接從相機16接收信息,該相機16可以附接于能夠坐落于顯示器上方的集成設(shè)備(例如,機頂盒、私有盒等)。視頻處理單元17還可以被配置為控制壓縮行為、或者與從相機接收的數(shù)據(jù)相關(guān)聯(lián)的額外處理?;蛘撸锢砩戏蛛x的一設(shè)備可以在圖像數(shù)據(jù)被發(fā)送到其接下去要去的目的地之前執(zhí)行該額外處理。視頻處理單元17還可被配置為以任何適當(dāng)?shù)母袷絹泶鎯?、聚合、處理、?dǎo)出和/或以其他方式維護(hù)圖像數(shù)據(jù)和日志,其中,這些行為可以涉及處理器30a和存儲器元件32a。在某些示例實現(xiàn)方式中,視頻處理單元17和27是機頂盒配置的一部分。在其他實例中,視頻處理單元17、27是服務(wù)器(例如,服務(wù)器20和22)的一部分。在其他示例中,視頻處理單元17、27是輔助與其相應(yīng)的配對之間的數(shù)據(jù)流的網(wǎng)絡(luò)元件。本文中所使用的術(shù)語“網(wǎng)絡(luò)元件”應(yīng)當(dāng)包含路由器、交換機、網(wǎng)關(guān)、網(wǎng)橋、負(fù)載平衡器、防火墻、服務(wù)器、處理器、模塊,或者可操作來在網(wǎng)絡(luò)環(huán)境中交換信息的任何其他合適的設(shè)備、組件、元件或?qū)ο?。這同樣包括私有元件,這些私有元件可被提供以特定特征來滿足獨特情形或不同環(huán)境。視頻處理單元17可通過無線連接或者經(jīng)由一個或多個線纜或配線與相機16接口,所述無線連接或者一個或多個線纜或配線允許在這兩個元件之間傳播信號。這些設(shè)備還可以從中間設(shè)備、遠(yuǎn)程控制等接收信號,其中,所述信號一般可以利用紅外、藍(lán)牙、WiF1、電磁波,或者用于從一個元件向另一個元件傳送數(shù)據(jù)(例如,可能經(jīng)由網(wǎng)絡(luò))的任何其他合適的傳輸協(xié)議。事實上,可以利用任何控制路徑來在視頻處理單元17和相機16之間遞送信息。在某些實施例中,在這兩組設(shè)備之間的傳輸可以是雙向的,以使得這些設(shè)備能夠(例如,動態(tài)地、實時地等)相互交互。這將允許設(shè)備在適當(dāng)時對來自彼此的傳輸進(jìn)行確認(rèn)并提供反饋。這些設(shè)備中的任一者可被相互合并,或者基于特定的配置需求來獨立地操作。例如,單個盒可以包含音頻和視頻接收能力(例如,機頂盒包括視頻處理單元17以及用于捕捉視頻和音頻數(shù)據(jù)的相機和麥克風(fēng)組件)。轉(zhuǎn)向圖2,圖2是圖示出根據(jù)本發(fā)明一個實施例的在單個端點內(nèi)的示例數(shù)據(jù)流的簡化框圖。在此具體實現(xiàn)方式中,相機16和視頻處理單元17正被示出。視頻處理單元17包括變化測試42、閾值判斷44、柱狀圖更新46、參考登記48和參考50。視頻處理單元17還可以包括前述視頻編碼器34a和高級跳過編碼模塊36a。就操作而言,相機16能夠捕捉與參與者19相關(guān)聯(lián)的輸入視頻。此數(shù)據(jù)能夠從相機16流向視頻處理單元17。數(shù)據(jù)流能夠被導(dǎo)向視頻編碼器34a (其可包括高級跳過編碼模塊36a),并在隨后傳播到閾值判斷44和變化測試42。所述數(shù)據(jù)能夠作為一系列靜止圖像或幀來被分析,這一系列靜止圖像或幀是在時間上彼此位移的。如下文要詳述的,由閾值判斷44和變化測試42對這些圖像進(jìn)行分析?,F(xiàn)在參考圖3,圖3是示出根據(jù)本發(fā)明一個實施例的多級柱狀圖的簡化圖形。此具體行為可在閾值判斷44和變化測試42內(nèi)發(fā)生。在此實施例中,數(shù)據(jù)在多級柱狀圖中被分析以表示每兩個連續(xù)幀的變化統(tǒng)計。應(yīng)當(dāng)注意,這個概念是基于如下內(nèi)在知識的:典型的視頻會議場景(例如,遠(yuǎn)程呈現(xiàn)場景)并不頻繁和/或顯著地變化。每一個柱狀圖記錄一個圖片元素(例如,視頻圖像)的變化統(tǒng)計。圖片元素可被認(rèn)為是原始圖像或者分辨率降低(尺寸縮小)的圖像中的一個像素。像素可被組合來形成圖像的宏塊,并且在此具體示例中,圖像可被分組成16X16的宏塊網(wǎng)格。也可容易地使用其他分組法,其中,這種分組法或柱狀圖配置可以基于特定需求。在此實施例中,多級柱狀圖具有三個級別60、62、64。在此示例中,每一個級別包含8個柱倉(bin)。第一級柱狀圖60將256個亮度水平劃分到8個柱倉中:每一個柱倉對應(yīng)于32個亮度水平(256/8=32)。第二級柱狀圖62對應(yīng)于第一級柱狀圖中最佳的兩個相鄰柱倉,此外將對應(yīng)的64個亮度水平劃分到8個柱倉中(即,每一個柱倉8個水平)。類似地,第三級柱狀圖64將第二級柱狀圖中最佳的兩個相鄰柱倉劃分到8個柱倉中:每一個柱倉對應(yīng)于2個亮度水平(16/8=2)。這種數(shù)據(jù)分解對于變化測試42和閾值判斷44兩者都發(fā)生。再次參考圖2,在閾值判斷44內(nèi),可以根據(jù)估計的時間噪聲水平來分析圖像。這是通過評估當(dāng)前環(huán)境來估計的:更具體而言,通過評估各種燈光水平(light levels),例如背景燈光的量。一旦時間噪聲水平得到合適確定,就能夠進(jìn)行閾值判斷,其中,此數(shù)據(jù)被發(fā)送到變化測試42。對于每兩個連續(xù)幀,可以針對每一個圖片元素執(zhí)行變化測試。連同來自閾值判斷44的閾值判斷一起,該測試能夠?qū)⒚恳粋€圖像與在前圖像相比較。如果圖片元素被檢測為相對于在前幀沒有變化,則柱狀圖的相應(yīng)柱倉被遞增I。當(dāng)柱狀圖中的第三級柱倉達(dá)到其最大高度時,對應(yīng)的圖片元素被標(biāo)記為“將被登記”用于下面詳述的處理。注意,在具有察看比僅僅兩個幀長得多的歷史的能力的情況下,上述多級柱狀圖能夠提供一種存儲器高效的方法來識別視頻中“最靜止”像素的無噪聲值。當(dāng)一圖片元素被標(biāo)記為“將被登記”時,該數(shù)據(jù)可被發(fā)送到參考登記48。對應(yīng)像素的值可被登記得到參考緩沖器。柱狀圖60、62、64的柱倉隨后被重置并且整個處理可被重復(fù)??梢允褂萌魏魏线m數(shù)目的參考緩沖器。通過采用單個緩沖器,可用較新值來系統(tǒng)地替換所登記的參考?;蛘撸ㄟ^采用多個緩沖器,可以存儲多于一個的參考。與老值不同的較新值可被登記到新緩沖器。這些值可在參考登記48中被確定,并在隨后被發(fā)送到視頻編碼器34a,在那里他們被存儲在適當(dāng)?shù)拇鎯ξ恢?例如,參考50)以供在跳過編碼判決處理期間使用?,F(xiàn)在參考圖4,圖4是圖示出針對輸入視頻的一片斷進(jìn)行跳過編碼判斷的示例判決樹70的簡化示意圖。判決樹70示出了在此具體實現(xiàn)方式中在視頻編碼器34a的高級跳過編碼模塊36a內(nèi)發(fā)生的邏輯處理。高級跳過編碼模塊36a能夠從三個源接收數(shù)據(jù):來自視頻編碼器34a閾值判斷44的預(yù)測參考72 (其是經(jīng)編碼的在先圖像的副本),來自相機16的當(dāng)前圖像74以及來自存儲元件的跳過參考76 (例如,參考50),跳過參考76可以包括從參考登記48登記的像素。預(yù)測參考72和當(dāng)前圖像74可被比較以便創(chuàng)建幀參考82。當(dāng)前圖像74和跳過參考76可被比較來創(chuàng)建第一參考差異84。預(yù)測參考72和跳過參考76可被比較來創(chuàng)建第二參考差異86。當(dāng)對視頻幀進(jìn)行編碼時,可以使用跳過參考76來幫助跳過編碼判決。在此實施例中,采用了單個參考緩沖器,其中,也可以很容易地采用多個參考緩沖器。在圖4的這個實施例中,當(dāng)在一視頻塊的最接近的鄰居中的運動搜索支持直接預(yù)測(即,零運動)時,該視頻塊被考慮用于跳過編碼。在這種情況中,相對于兩個嚴(yán)格閾值來評估幀差異82的度量。取決于噪聲水平,這些閾值可被選擇為使得當(dāng)在判決塊88處幀差異度量低于較低閾值時,視頻塊可置信地被編碼為跳過。或者,如果在判決塊90處幀差異度量高于較高閾值,則視頻塊可置信地被編碼為不跳過。對于介于這些值之間的那些,在判決塊92處在當(dāng)前圖像74和跳過參考76之間進(jìn)一步評估參考差異84度量。隨后,可在判決塊94處相對于另一個恰當(dāng)定義的閾值來在(用于幀間預(yù)測的)參考圖片和跳過參考76之間進(jìn)一步評估。如果對于這兩次比較,度量都低于閾值,則視頻塊可被編碼為跳過候選?,F(xiàn)在參考圖5,圖5是圖示出與系統(tǒng)10相關(guān)聯(lián)的一個可能操作的簡化流程圖。該流程開始于步驟110,其中,視頻信號被捕捉為一系列時間上位移的圖像。在步驟112,可將原始圖像數(shù)據(jù)發(fā)送到合適的視頻處理單元。步驟114可包括針對變化統(tǒng)計對數(shù)據(jù)進(jìn)行分析。在步驟116,可以登記并存儲參考幀以供隨后比較。在視頻捕捉的開頭,第一圖像可以形成第一參考中貞??稍诓襟E118進(jìn)行跳過編碼判決并在步驟120對不跳過的幀進(jìn)行編碼。可在步驟122經(jīng)由網(wǎng)絡(luò)將新編碼的數(shù)據(jù)連同來自跳過部分的經(jīng)參考編碼的數(shù)據(jù)一起發(fā)送到第二位置。這個數(shù)據(jù)然后可如步驟124所示出那樣在第二位置的顯示器上被顯示為視頻圖像。在一些實施例中,類似處理發(fā)生在第二位置(即,配對端點),其中,視頻數(shù)據(jù)也被從第二位置發(fā)送到第一位置。注意,在某些示例實現(xiàn)方式中,本文所概述的視頻處理功能可由編碼在一個或多個有形介質(zhì)中的邏輯(例如,在專用集成電路[ASIC]中提供的嵌入式邏輯,數(shù)字信號處理器[DSP]指令,要由處理器執(zhí)行的[可能包括目標(biāo)代碼和源代碼的]軟件,或者其他類似機器等)來實施。在這些實例的一些中,[如圖1所示的]存儲器元件可以存儲用于本文所描述的操作的數(shù)據(jù)。這包括能夠存儲被運行來執(zhí)行在本說明書中描述的行為的軟件、邏輯、代碼或處理器質(zhì)量的存儲器元件。處理器能夠執(zhí)行與所述數(shù)據(jù)相關(guān)聯(lián)的任何類型的指令以實現(xiàn)在本說明書中詳述的操作。在一個示例中,[如圖1所示的]處理器可將元素或要件(例如,數(shù)據(jù))從一種狀態(tài)或事物變換到另一種狀態(tài)或事物。在另一個示例中,本文所概述的行為可利用固定邏輯或可編程邏輯(例如,由處理器執(zhí)行的軟件/計算機指令)來實施,并且本文所標(biāo)識的元件可以是包括數(shù)字邏輯、軟件、代碼、電子指令或其任意合適組合的可編程處理器、可編程數(shù)字邏輯(例如,現(xiàn)場可編程門陣列[FPGA]、可擦除可編程只讀存儲器[EPROM]、電可擦除可編程ROM[EEPROM]或ASIC中的某一種。在一個示例實現(xiàn)方式中,端點12、13可以包括便于實現(xiàn)本文所概述的智能跳過編碼的軟件。這可通過視頻處理單元17、27的實例來提供。另外,這些端點中的每一個可以包括能夠執(zhí)行用于執(zhí)行跳過編碼行為的軟件或算法的處理器,如本說明書中所論述的。這些設(shè)備可進(jìn)一步將信息保持在任何合適的存儲器元件[隨機訪問存儲器(RAM)、ROM、EPROM、EEPROM、ASIC等]、軟件、硬件中,或者在適當(dāng)情形中并且基于具體需求來保持在任何其他合適的組件、設(shè)備、元件或?qū)ο笾?。本文所論述的任何存儲器項?例如,數(shù)據(jù)庫、表格、高速緩存、密鑰等)應(yīng)當(dāng)被理解為包含在寬泛的術(shù)語“存儲器元件”內(nèi)。類似地,本說明書中描述的任何可能的處理元件、模塊和機器應(yīng)當(dāng)被理解為包含在寬泛術(shù)語“處理器”內(nèi)。每一個端點12、13還可以包括用于接收、發(fā)送和/或以其他方式在網(wǎng)絡(luò)環(huán)境中傳送數(shù)據(jù)或信息的合適接口。也很重要的是要注意到,前面的流程圖中的步驟僅僅圖示出了可由系統(tǒng)10或在系統(tǒng)10內(nèi)執(zhí)行的可能會議情形和模式中的一些。這些步驟中的一些可在適當(dāng)情況下被刪除或移除,或者這些步驟可被大大地修改或改變,而不脫離本發(fā)明的范圍。另外,這些操作中的許多個已被描述為與一個或多個另外的操作同時執(zhí)行或者并行執(zhí)行。但是,這些操作的定時可被大大地變更。已經(jīng)為了示例和討論的目的提供了前面的操作流程。由于可以結(jié)合此架構(gòu)來使用任何合適的布置、時間排列、配置和定時而不會脫離本發(fā)明的教導(dǎo),所以系統(tǒng)10提供了實質(zhì)上的靈活性。注意,在上面提供的示例以及這里提供的許多其他示例的情況下,可以就兩個或三個組件而言來描述交互。但是,這僅僅是為了清楚和示例的目的。在某些情況中,通過僅參考有限數(shù)目的組件可以更容易地描述給定一組流程的功能中的一個或多個。應(yīng)當(dāng)了解,系統(tǒng)10 (及其教導(dǎo))是很容易可擴展的并且能夠容納大量的組件、參與者、房間、端點、站點等,以及更復(fù)雜/尖端的布置和配置。因此,所提供的示例不應(yīng)當(dāng)限制范圍或者約束系統(tǒng)10的寬泛教導(dǎo),因為其可能適用于無數(shù)其他架構(gòu)。雖然已經(jīng)參考具體實施例詳細(xì)描述了本發(fā)明,但是應(yīng)當(dāng)理解,在不脫離本發(fā)明的精神和范圍的情況下可以對這些實施例作出各種其他改變、替換和變更。例如,雖然本發(fā)明的討論聚焦于與特定類型的端點相關(guān)聯(lián)的視頻會議,但是使用視頻應(yīng)用的手持式設(shè)備可以很容易地采用本發(fā)明的教導(dǎo)。例如,iPhone、iPad、Google Droid、個人計算應(yīng)用(即,桌上視頻解決方案)等可以容易地采用和使用上面詳述的跳過編碼操作。對視頻數(shù)據(jù)進(jìn)行編碼的任何通信系統(tǒng)或設(shè)備都能夠?qū)Ρ疚乃撌龅奶^編碼特征進(jìn)行修改。本領(lǐng)域技術(shù)人員可以確定許多其他改變、替換、變化、變更和修改,并且本發(fā)明意欲包含落入所附權(quán)利要求的范圍內(nèi)的所有這種修改、替換、變化、變更和修改。
權(quán)利要求
1.一種方法,包括: 接收輸入視頻; 從該視頻輸入內(nèi)的與當(dāng)前視頻圖像相關(guān)聯(lián)的噪聲中識別像素值; 創(chuàng)建與所識別的像素值相關(guān)聯(lián)的跳過參考視頻圖像; 將所述當(dāng)前視頻圖像的一部分與所述跳過參考視頻圖像相比較;以及 在編碼操作發(fā)生之前,將與所述當(dāng)前視頻圖像相關(guān)聯(lián)的宏塊確定為要跳過。
2.根據(jù)權(quán)利要求1所述的方法,還包括: 基于高于指定噪聲閾值的噪聲水平來編碼與所述當(dāng)前視頻圖像相關(guān)聯(lián)的不跳過宏塊。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述識別還包括生成多個柱狀圖,用以表示當(dāng)前輸入視頻幀與時間上在前的視頻幀之間的變化統(tǒng)計。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述柱狀圖中的每一個包括與所述輸入視頻相關(guān)聯(lián)的不同亮度水平,并且其中,如果所述柱狀圖中選中的一個柱狀圖達(dá)到了一定亮度水平,則關(guān)聯(lián)視頻圖像的相應(yīng)像素被標(biāo)記為要登記到參考緩沖器。
5.根據(jù)權(quán)利要求1所述的方法,還包括: 對與所述當(dāng)前視頻圖像相關(guān)聯(lián)的不跳過宏塊和跳過宏塊進(jìn)行聚合;以及 將所述宏塊經(jīng)由網(wǎng)絡(luò)連接傳 送到與視頻會議相關(guān)聯(lián)的端點。
6.根據(jù)權(quán)利要求1所述的方法,其中,將所述當(dāng)前視頻圖像的一部分與所述跳過參考視頻圖像相比較是在單個參考緩沖器中執(zhí)行的。
7.根據(jù)權(quán)利要求1所述的方法,其中,將所述當(dāng)前視頻圖像的一部分與所述跳過參考視頻圖像相比較是在多個參考緩沖器中執(zhí)行的。
8.碼在一個或多個有形介質(zhì)中的邏輯,所述一個或多個有形介質(zhì)包括用于執(zhí)行且在被處理器執(zhí)行時可操作來執(zhí)行操作的代碼,所述操作包括: 接收輸入視頻; 從該視頻輸入內(nèi)的與當(dāng)前視頻圖像相關(guān)聯(lián)的噪聲中識別像素值; 創(chuàng)建與所識別的像素值相關(guān)聯(lián)的跳過參考視頻圖像; 將所述當(dāng)前視頻圖像的一部分與所述跳過參考視頻圖像相比較;以及 在編碼操作發(fā)生之前,將與所述當(dāng)前視頻圖像相關(guān)聯(lián)的宏塊確定為要跳過。
9.根據(jù)權(quán)利要求8所述的邏輯,所述操作還包括: 基于高于指定噪聲閾值的噪聲水平來編碼與所述當(dāng)前視頻圖像相關(guān)聯(lián)的不跳過宏塊。
10.根據(jù)權(quán)利要求8所述的邏輯,其中,所述識別還包括生成多個柱狀圖,用以表示當(dāng)前輸入視頻幀與時間上在前的視頻幀之間的變化統(tǒng)計。
11.根據(jù)權(quán)利要求10所述的邏輯,其中,所述柱狀圖中的每一個包括與所述輸入視頻相關(guān)聯(lián)的不同亮度水平,并且其中,如果所述柱狀圖中選中的一個柱狀圖達(dá)到了一定亮度水平,則關(guān)聯(lián)視頻圖像的相應(yīng)像素被標(biāo)記為要登記到參考緩沖器。
12.根據(jù)權(quán)利要求8所述的邏輯,所述操作還包括: 對與所述當(dāng)前視頻圖像相關(guān)聯(lián)的不跳過宏塊和跳過宏塊進(jìn)行聚合;以及 將所述宏塊經(jīng)由網(wǎng)絡(luò)連接傳送到與視頻會議相關(guān)聯(lián)的端點。
13.根據(jù)權(quán)利要求8所述的邏輯,其中,將所述當(dāng)前視頻圖像的一部分與所述跳過參考視頻圖像相比較是在單個參考緩沖器中執(zhí)行的。
14.根據(jù)權(quán)利要求8所述的邏輯,其中,將所述當(dāng)前視頻圖像的一部分與所述跳過參考視頻圖像相比較是在多個參考緩沖器中執(zhí)行的。
15.一種設(shè)備,包括: 存儲器元件,被配置為存儲代碼; 處理器,可操作來執(zhí)行與所述代碼相關(guān)聯(lián)的指令;以及 跳過編碼模塊,被配置為與所述存儲器元件和所述處理器接口以使得所述設(shè)備能夠: 接收輸入視頻; 從該視頻輸入內(nèi)的與當(dāng)前視頻圖像相關(guān)聯(lián)的噪聲中識別像素值; 創(chuàng)建與所識別的像素值相關(guān)聯(lián)的跳過參考視頻圖像; 將所述當(dāng)前視頻圖像的一部分與所述跳過參考視頻圖像相比較;以及 在編碼操作發(fā)生之前,將與所述當(dāng)前視頻圖像相關(guān)聯(lián)的宏塊確定為要跳過。
16.根據(jù)權(quán)利要求15所述的設(shè)備,其中,所述設(shè)備還被配置為: 基于高于指定噪聲閾值的噪聲水平來編碼與所述當(dāng)前視頻圖像相關(guān)聯(lián)的不跳過宏塊。
17.根據(jù)權(quán)利要求15所述的設(shè)備,其中,所述設(shè)備還被配置為: 生成多個柱狀圖,用以表示當(dāng)前輸入視頻幀與時間上在前的視頻幀之間的變化統(tǒng)計。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其中,所述柱狀圖中的每一個包括與所述輸入視頻相關(guān)聯(lián)的不同亮度水平,并且其中,如果所述柱狀圖中選中的一個柱狀圖達(dá)到了一定亮度水平,則關(guān)聯(lián)視頻圖 像的相應(yīng)像素被標(biāo)記為要登記到參考緩沖器。
19.根據(jù)權(quán)利要求15所述的設(shè)備,其中,所述設(shè)備還被配置為: 對與所述當(dāng)前視頻圖像相關(guān)聯(lián)的不跳過宏塊和跳過宏塊進(jìn)行聚合;以及 將所述宏塊經(jīng)由網(wǎng)絡(luò)連接傳送到與視頻會議相關(guān)聯(lián)的端點。
20.根據(jù)權(quán)利要求15所述的設(shè)備,其中,將所述當(dāng)前視頻圖像的一部分與所述跳過參考視頻圖像相比較是在單個參考緩沖器中執(zhí)行的。
全文摘要
在一個示例中提供了一種方法,該方法包括接收輸入視頻,以及從與該視頻輸入內(nèi)的當(dāng)前視頻圖像相關(guān)聯(lián)的噪聲中識別出像素值。該方法還包括創(chuàng)建與識別出的像素值相關(guān)聯(lián)的跳過參考視頻圖像,以及將當(dāng)前視頻圖像的一部分與該跳過參考視頻圖像進(jìn)行比較。該方法還包括在發(fā)生編碼操作之前確定要跳過的與當(dāng)前視頻圖像相關(guān)聯(lián)的宏塊。
文檔編號H04N7/14GK103098460SQ201180043174
公開日2013年5月8日 申請日期2011年9月2日 優(yōu)先權(quán)日2010年9月8日
發(fā)明者田第鴻, 約瑟夫·T·福瑞爾, 安德魯·P·維爾 申請人:思科技術(shù)公司