国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      實(shí)時(shí)視頻幀預(yù)處理硬件的制作方法

      文檔序號(hào):11135232閱讀:494來(lái)源:國(guó)知局
      實(shí)時(shí)視頻幀預(yù)處理硬件的制造方法與工藝

      優(yōu)先權(quán)

      本申請(qǐng)權(quán)利要求于2010年12月2日提交的美國(guó)專利申請(qǐng)序列號(hào)12/959,281和2010年7月7日提交的美國(guó)臨時(shí)專利申請(qǐng)序列號(hào)61/362,247的優(yōu)先權(quán)。



      背景技術(shù):

      在通過(guò)數(shù)字成像系統(tǒng)內(nèi)的圖像傳感器獲取圖像之后,典型地在設(shè)備上顯示或存儲(chǔ)之前,對(duì)圖像進(jìn)行處理。圖1中示出了典型的圖像處理鏈或圖像處理管線或IPP。圖1中示出的示例IPP包括曝光和白平衡模塊2、去馬賽克塊、顏色校正塊6、伽瑪校正塊8、顏色轉(zhuǎn)換塊10和下采樣模塊12。

      當(dāng)希望實(shí)現(xiàn)實(shí)時(shí)視頻成像系統(tǒng)時(shí),通常在使用這種IIPP時(shí)存在明顯的約束,因?yàn)閳D像數(shù)據(jù)典型地在IPP的每一級(jí)上從存儲(chǔ)器讀取且然后在一些操作之后被寫回。對(duì)于HD視頻,存儲(chǔ)器帶寬經(jīng)受巨大挑戰(zhàn)。因而,希望在視頻獲取設(shè)備的硬件實(shí)施例中直接實(shí)現(xiàn)IPP的元件。這將是有利的:IPP的元件避免了在每一級(jí)處理之后向存儲(chǔ)器寫入圖像數(shù)據(jù)以及讀回用于每個(gè)后續(xù)IPP操作的數(shù)據(jù)的挑戰(zhàn)。然而,它暗示著在IPP的每一級(jí)應(yīng)用的方法將具有較差適應(yīng)性,因?yàn)檎麄€(gè)IPP鏈將在從單個(gè)圖像幀輸入數(shù)據(jù)之前配置。

      與用在圖1的一些示例塊所示出的基本IPP可以提供的圖像和場(chǎng)景分析相比,現(xiàn)代數(shù)字靜態(tài)照相機(jī)(DSC)實(shí)現(xiàn)了更復(fù)雜的圖像和場(chǎng)景分析。具體而言,圖像獲取設(shè)備可以檢測(cè)且跟蹤圖像場(chǎng)景中的面部區(qū)域(見美國(guó)專利7,620,218、7,460,695、7,403,643、7,466,866和7,315,631以及美國(guó)公布的申請(qǐng)序列號(hào)2009/0263022、2010/0026833、2008/0013798、2009/0080713、2009/0196466和2009/0303342以及美國(guó)序列號(hào)12/374,040和12/572,930,它們?nèi)嫁D(zhuǎn)讓給相同的受讓人且此處通過(guò)引用而結(jié)合于此),且這些設(shè)備可以分析和檢測(cè)這些區(qū)域中的瑕疵和缺陷并動(dòng)態(tài)地(on the fly)校正這些疵點(diǎn)(見上面的專利以及此處通過(guò)引用而結(jié)合的美國(guó)專利7,565,030和美國(guó)專利公布申請(qǐng)序列號(hào)2009/0179998)。諸如灰塵瑕疵或“小瑕疵”之類的全局缺陷可以被檢測(cè)和校正(例如見美國(guó)專利序列號(hào)12/710,271和12/558,227以及美國(guó)專利7,206,461、7,702,236、7,295,233和7,551,800,它們?nèi)嫁D(zhuǎn)讓給相同的受讓人且此處通過(guò)引用結(jié)合于此)。可以應(yīng)用面部增強(qiáng)??梢源_定并補(bǔ)償圖像模糊和圖像移動(dòng)、平移和旋轉(zhuǎn)(例如見此處通過(guò)引用而結(jié)合的7,660,478和美國(guó)專利公布申請(qǐng)序列號(hào)2009/0303343、2007/0296833、2008/0309769、2008/0231713和2007/0269108以及WO/2008/131438)。面部區(qū)域可以被識(shí)別且與已知人相關(guān)聯(lián)(例如見此處通過(guò)引用而結(jié)合的美國(guó)專利7,567,068、7,515,740和7,715,597和US2010/0066822、US2008/0219517和US2009/0238419以及美國(guó)專利序列號(hào)12/437,464)。所有這些技術(shù)和其他技術(shù)(例如見美國(guó)專利6,407,777、7,587,085、7,599,577、7,469,071、7,336,821、7,606,417和2009/0273685、2007/0201725、2008/0292193、2008/0175481、2008/0309770、2009/0167893、2009/0080796、2009/0189998、2009/0189997、2009/0185753、2009/0244296、2009/0190803、2009/0179999以及美國(guó)專利申請(qǐng)序列號(hào)12/636,647,它們?nèi)嫁D(zhuǎn)讓給相同的受讓人且此處通過(guò)引用而結(jié)合于此)依賴于對(duì)圖像場(chǎng)景的分析。典型地,這涉及從存儲(chǔ)器存儲(chǔ)裝置(memory store)讀取圖像數(shù)據(jù)塊且接著是該數(shù)據(jù)的各種處理階段。中間數(shù)據(jù)結(jié)構(gòu)可以臨時(shí)存儲(chǔ)在圖像存儲(chǔ)裝置中以方便每個(gè)場(chǎng)景分析算法。在一些情況中,這些數(shù)據(jù)專用于單個(gè)算法,而在其他情況中,數(shù)據(jù)結(jié)構(gòu)可以在若干不同場(chǎng)景分析算法上保持。在這些情況中,圖像數(shù)據(jù)在圖像存儲(chǔ)器存儲(chǔ)裝置和CPU之間移動(dòng)以執(zhí)行各種圖像處理操作。在應(yīng)用多個(gè)算法的情況中,圖像數(shù)據(jù)典型地被讀取若干次,以針對(duì)每個(gè)圖像執(zhí)行不同的圖像和場(chǎng)景處理操作。

      對(duì)于大多數(shù)上述技術(shù)而言,分析可以涉及先前圖像流,該先前圖像流是通過(guò)大多數(shù)數(shù)碼相機(jī)捕獲的相對(duì)低分辨率的流且用于在照相機(jī)顯示器上提供實(shí)時(shí)顯示。因而,為了適當(dāng)?shù)胤治鲋鲌D像場(chǎng)景,使得基本相同的場(chǎng)景的至少兩個(gè)圖像可用是有用的。在一個(gè)或多個(gè)先前圖像也被存儲(chǔ)的情況中,在許多時(shí)候還典型地存在與主獲取(全分辨率)圖像的組合的讀取。另外,處理可能涉及臨時(shí)存儲(chǔ)預(yù)覽圖像的未采樣拷貝或主獲取圖像的下采樣拷貝,以便于各種場(chǎng)景分析算法。

      在數(shù)字照相機(jī)內(nèi),圖像典型地被分別獲取且在用于場(chǎng)景分析的圖像獲取和各個(gè)圖像的后處理之間有典型地一秒或更多秒量級(jí)的基本時(shí)間間隔可用。即使在時(shí)間十分靠近地獲取多個(gè)圖像的情況中,例如,在專業(yè)DSC的突發(fā)模式中,由于受限的存儲(chǔ)器,可以獲取有限數(shù)目的圖像。再者,這些圖像不能在突發(fā)獲取期間被處理,而是通常一直等待直到它在可以實(shí)現(xiàn)更復(fù)雜的基于場(chǎng)景的處理之前完成。

      在現(xiàn)代視頻設(shè)備中,數(shù)據(jù)通常以30fps或更快的幀速率處理,且由于存儲(chǔ)器約束,數(shù)據(jù)被數(shù)字壓縮且被或快或慢地立即寫入到長(zhǎng)期存儲(chǔ)器存儲(chǔ)裝置。再者,在DSC的情況中,低分辨率預(yù)覽流一般不可用。最后,處理全HD視頻流的需求暗示著存儲(chǔ)器帶寬在這種設(shè)備中是挑戰(zhàn)性的。

      為了獲得諸如目前在用于HD視頻獲取設(shè)備的DSC內(nèi)可用的現(xiàn)代場(chǎng)景分析技術(shù)的益處,我們因而可以意識(shí)到若干關(guān)鍵挑戰(zhàn)。首先,難以在視頻幀獲取之間可用的時(shí)間內(nèi)存儲(chǔ)和執(zhí)行關(guān)于完整HD的復(fù)雜場(chǎng)景分析。這并不簡(jiǎn)單地是CPU功率的問(wèn)題,而更重要的可能是數(shù)據(jù)帶寬的問(wèn)題。完整HD圖像的大小暗示著簡(jiǎn)單地通過(guò)IPP移動(dòng)這種圖像且移動(dòng)到長(zhǎng)期存儲(chǔ)裝置上的視頻壓縮單元是十分挑戰(zhàn)性的。盡管通過(guò)向IPP添加硬件可以實(shí)現(xiàn)一些有限的場(chǎng)景分析,但是這將很可能涉及在開始視頻流的實(shí)時(shí)獲取之前固定的很多設(shè)置和配置,這使得它們將并不響應(yīng)于進(jìn)行的場(chǎng)景分析而動(dòng)態(tài)調(diào)適。

      其次,沒(méi)有余地來(lái)在場(chǎng)景分析算法之間共享圖像處理數(shù)據(jù)基元(primative)而不向IPP引入極大的共享存儲(chǔ)器緩沖器。這將導(dǎo)致不合理且有效模仿單個(gè)IC內(nèi)(圖2中示出)的現(xiàn)有技術(shù)的硬件設(shè)計(jì)需求。圖2示出用于實(shí)現(xiàn)IPP和軟件中的其他高級(jí)功能的常規(guī)硬件。存儲(chǔ)器14被示出為包括圖像和數(shù)據(jù)緩存器16以及長(zhǎng)期數(shù)據(jù)存儲(chǔ)裝置18。緩存器16可以存儲(chǔ)原始數(shù)據(jù)20、RGB格式化數(shù)據(jù)22和RGB處理數(shù)據(jù)24,而長(zhǎng)期數(shù)據(jù)存儲(chǔ)裝置18可以保存MPEG圖像26和/或JPEG圖像28。傳感器32向存儲(chǔ)器14和IPP 34通信傳送原始數(shù)據(jù)。IPP 34還從存儲(chǔ)器14接收數(shù)據(jù)。IPP 34還向存儲(chǔ)器14、16提供RGB數(shù)據(jù)22。RGB數(shù)據(jù)22、24也被CPU 36檢索,該CPU 36向存儲(chǔ)器14提供已處理RGB數(shù)據(jù)24,且向譯碼模塊38提供RGB數(shù)據(jù)22。譯碼模塊38向存儲(chǔ)器14、18提供數(shù)據(jù)且從存儲(chǔ)器14、18檢索數(shù)據(jù)。譯碼模塊還提供例如將在LCD/TFT顯示器40上顯示的數(shù)據(jù)。

      由于各種實(shí)際原因,這不提供最佳圖像處理機(jī)制。備選方案是針對(duì)每個(gè)場(chǎng)景分析算法具有單獨(dú)的硬件實(shí)施,但這還將導(dǎo)致極大的硬件尺寸,因?yàn)槊總€(gè)算法將緩沖完整圖像幀以執(zhí)行完整場(chǎng)景分析。

      在這些寬區(qū)域中的每一個(gè)中存在很多附加工程細(xì)微區(qū)別,但是可以認(rèn)識(shí)到寬廣范圍的挑戰(zhàn),其中當(dāng)前場(chǎng)景分析技術(shù)和所得的圖像益處并未明顯地應(yīng)用于使用當(dāng)前現(xiàn)有技術(shù)的實(shí)時(shí)視頻。因此,下面提供一組有利的實(shí)施例。

      附圖說(shuō)明

      圖1示出常規(guī)圖像處理管線(IPP)。

      圖2示出用于實(shí)現(xiàn)IPP和軟件中的其他高級(jí)功能的常規(guī)硬件。

      圖3示出同質(zhì)脈動(dòng)陣列架構(gòu)。

      圖4示出根據(jù)某些實(shí)施例具有用于圖像處理的高級(jí)硬件或包括穿過(guò)(pass-through)特性的AHIP的IPP硬件。

      圖5示出根據(jù)某些實(shí)施例的AHIP模塊,該AHIP模塊包括布置到用于各種圖像處理基元的處理鏈中的若干通用處理模塊。

      圖6示出根據(jù)某些實(shí)施例在主CPU、硬件模塊、圖像傳感器和SDRAM讀/寫通道之間的相互關(guān)系。

      圖7示出根據(jù)某些實(shí)施例包括圖像和數(shù)據(jù)緩存的存儲(chǔ)器存儲(chǔ)裝置和AHIP模塊之間的相互關(guān)系。

      圖8示出根據(jù)某些實(shí)施例的顏色閾值處理模塊。

      圖9示出根據(jù)某些實(shí)施例的原始圖像和具有16個(gè)閾值(4位)的膚色圖(skin-color map)。

      圖10示出根據(jù)某些實(shí)施例的AHIP模塊,其輸出顏色空間轉(zhuǎn)換、顏色閾值處理、幀-幀配準(zhǔn)、積分圖像和/或積分平方圖像基元和/或圖像幀直方圖數(shù)據(jù)。

      圖11示出根據(jù)某些實(shí)施例在AHIP模塊和其他圖像處理組件之間的處理關(guān)系。

      具體實(shí)施方式

      下面描述包括硬件子系統(tǒng)的實(shí)施例,該硬件子系統(tǒng)從連續(xù)地逐個(gè)像素輸入的具有延時(shí)的圖像幀而產(chǎn)生實(shí)時(shí)推導(dǎo)的圖像處理基元范圍,所述延時(shí)明顯小于與獲取完整圖像幀相關(guān)的時(shí)間。這些基元在圖像幀已獲取之后極快地可用或甚至立即可用,且可以用于在獲取下一圖像幀時(shí)進(jìn)一步處理該圖像。

      另外,依次從先前圖像幀的處理確定的數(shù)據(jù)可以變得可用,以用于與從當(dāng)前圖像幀推導(dǎo)的圖像處理基元組合。這通過(guò)幀場(chǎng)景處理實(shí)現(xiàn)了細(xì)節(jié)幀而無(wú)需單獨(dú)捕獲圖像的低分辨率預(yù)覽流(盡管這在某些實(shí)施例中這可以可選地使用)。

      還描述了在每個(gè)時(shí)鐘周期輸入使用一個(gè)像素操作和/或產(chǎn)生提供關(guān)于當(dāng)前圖像/視頻幀的有用知識(shí)的很多不同類型的圖像處理基元的實(shí)施例。每個(gè)基元通過(guò)包括一個(gè)或多個(gè)像素處理塊或模塊的處理鏈產(chǎn)生。這些塊或模塊通過(guò)可以動(dòng)態(tài)切換的多個(gè)內(nèi)部數(shù)據(jù)總線鏈接在一起。在某些不那么復(fù)雜的實(shí)施例中,模塊可能具有直接鏈接的數(shù)據(jù)路徑,不過(guò)主輸入模塊可以從圖像傳感器/IPP來(lái)共享公共輸入數(shù)據(jù)路徑。多個(gè)模塊可以共享相同的輸入數(shù)據(jù)。而且,各個(gè)處理塊的輸出可以邏輯地組合。來(lái)自多個(gè)處理鏈的各個(gè)輸出典型地在被輸出到外部存儲(chǔ)器(SDRAM)之前組合到單個(gè)數(shù)據(jù)字中,因?yàn)檫@有利于存儲(chǔ)器和外部存儲(chǔ)器總線的優(yōu)化使用。因?yàn)樘幚礞溨g處理時(shí)間的差異,同步模塊與邏輯電路集成以確保輸出數(shù)據(jù)的正確對(duì)準(zhǔn)。

      在很多更加可應(yīng)用的圖像處理技術(shù)之中,產(chǎn)生的圖像基元可以有利地用于促進(jìn)一系列圖像處理操作的性能,所述圖像處理操作包括紅眼檢測(cè)、面部檢測(cè)和識(shí)別、面部美化、幀-幀圖像重合以及用于創(chuàng)建全景圖像的多幀圖像接合。而且,這些基元的可用性極大地簡(jiǎn)化了場(chǎng)景分析和處理算法的實(shí)現(xiàn)。這尤其可以有利地減小從內(nèi)存存儲(chǔ)裝置(memory store)讀取和寫入完整圖像幀以用于CPU或GPU上的后續(xù)處理的趨勢(shì)。在大多數(shù)情況中,(多個(gè))相關(guān)圖像基元和主圖像僅被讀取一次以使用特定算法分析和/或增強(qiáng)圖像。還可以與主要獲取圖像的單次讀取一起從多個(gè)算法加載基元,以基于單個(gè)圖像讀取執(zhí)行這多個(gè)算法。這極大地減小了用于處理視頻流的存儲(chǔ)器帶寬。在單獨(dú)的讀/寫總線可用的情況中,還可以在主CPU/GPU上處理一個(gè)圖像幀,同時(shí)在通過(guò)IPP和AHIP模塊獲取和預(yù)處理第二圖像幀。

      而且,該系統(tǒng)配置使得從圖像幀的分析推導(dǎo)的數(shù)據(jù)被CPU/GPU處理,以反饋回IPP或AHIP模塊,以便調(diào)適后續(xù)圖像幀的預(yù)處理。通過(guò)IPP應(yīng)用的全局圖像處理和通過(guò)AHIP應(yīng)用的場(chǎng)景專用圖像處理二者的詳細(xì)調(diào)適實(shí)現(xiàn)了視頻獲取設(shè)備的更快或更具響應(yīng)性的性能。在例如基于面部區(qū)域和皮膚的相關(guān)色圖的分析而改變發(fā)光條件的情況中,這進(jìn)而允許視頻獲取的更快的調(diào)適。根據(jù)某些實(shí)施例,這種技術(shù)現(xiàn)在可以有利地應(yīng)用于視頻獲取。

      就這方面而言,在某些實(shí)施例中也可以使用幀計(jì)數(shù)器和相關(guān)邏輯。在每個(gè)幀處理周期的結(jié)尾,可以重配置內(nèi)部像素處理鏈。這可能涉及加載新LUT、改變各個(gè)像素處理塊的處理參數(shù)或在某些情況中重配置處理鏈中塊的順序或邏輯組合。在某些實(shí)施例中,模塊被選擇或者被旁路。在更復(fù)雜的實(shí)施例中,數(shù)據(jù)處理模塊在一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)總線上共享I/O端口。在某些實(shí)施例中,可以使用雙緩沖I/O來(lái)實(shí)現(xiàn)幾乎同時(shí)的對(duì)模塊的讀/寫操作。

      根據(jù)某些實(shí)施例中,動(dòng)態(tài)可重配置異質(zhì)脈動(dòng)陣列被配置成處理第一圖像幀,且從圖像幀產(chǎn)生圖像處理基元,且在存儲(chǔ)器存儲(chǔ)設(shè)備中存儲(chǔ)基元和相應(yīng)圖像幀?;趫D像幀的確定特性,動(dòng)態(tài)可重配置異質(zhì)脈動(dòng)陣列可重配置為處理后續(xù)圖像幀。

      圖像幀的特性的確定可以在脈動(dòng)陣列外部執(zhí)行。至少一個(gè)特性的確定可以基于對(duì)圖像幀的至少一部分的處理以及基于圖像處理基元其中至少一個(gè)。

      根據(jù)某些實(shí)施例的圖像獲取和處理設(shè)備包括處理器、用于獲取數(shù)字圖像幀的透鏡和圖像傳感器以及根據(jù)此處實(shí)施例其中任意一個(gè)描述而配置的動(dòng)態(tài)可重配置異質(zhì)結(jié)脈動(dòng)陣列其中任意一個(gè)。

      根據(jù)某些實(shí)施例使用動(dòng)態(tài)可重配置異質(zhì)結(jié)脈動(dòng)陣列的圖像處理的方法包括獲取和處理第一圖像幀。從圖像幀產(chǎn)生圖像處理基元。將所述基元和相應(yīng)圖像幀存儲(chǔ)在存儲(chǔ)器存儲(chǔ)裝置中。確定圖像幀的至少一個(gè)特性,且基于該至少一個(gè)特性,該方法包括重配置陣列以處理后續(xù)圖像幀。

      該至少一個(gè)特性的確定可以在脈動(dòng)陣列的外部執(zhí)行。該至少一個(gè)特性的確定可以基于處理圖像幀的至少一部分以及圖像處理基元其中至少一個(gè)。

      根據(jù)某些實(shí)施例,提供又一數(shù)字圖像獲取和處理設(shè)備。該設(shè)備包括用于獲取數(shù)字圖像的透鏡和圖像傳感器。該設(shè)備的圖像處理管線(IPP)模塊被配置成接收?qǐng)D像幀的原始圖像數(shù)據(jù)且向存儲(chǔ)器和配置成執(zhí)行圖像處理的硬件模塊分發(fā)相應(yīng)的格式化圖像數(shù)據(jù)。硬件模塊從IPP模塊接收?qǐng)D像幀的格式化圖像數(shù)據(jù)且向存儲(chǔ)器提供場(chǎng)景處理基元。處理單元被配置成基于從存儲(chǔ)器接收且通過(guò)硬件模塊提供的場(chǎng)景處理基元處理后續(xù)的圖像幀。

      場(chǎng)景處理基元可以包括已處理圖像圖(image map)或其他已處理硬件模塊數(shù)據(jù),或二者。硬件模塊還可以配置成向存儲(chǔ)器提供格式化圖像數(shù)據(jù)。已處理圖像TU可以包括閾值圖(threshold map)或積分圖像圖(integral image maps)或二者。場(chǎng)景處理基元可以包括區(qū)域基元或幀數(shù)據(jù)基元,或二者。處理單元還可以接收來(lái)自存儲(chǔ)器的格式化圖像數(shù)據(jù)。

      此設(shè)備可以包括譯碼模塊,該譯碼模塊配置成從處理單元接收已處理圖像數(shù)據(jù),且向存儲(chǔ)器提供或從其接收壓縮圖像或視頻數(shù)據(jù)或二者。譯碼模塊可以配置成向顯示器輸出圖像數(shù)據(jù)或視頻數(shù)據(jù)或二者的所選子集。

      硬件模塊可以配置成在單個(gè)時(shí)鐘周期內(nèi)處理圖像數(shù)據(jù)。處理單元還可以配置成編程硬件模塊或IPP模塊或二者。

      根據(jù)某些實(shí)施例提供了獲取和處理數(shù)字圖像的另一方法,其包括:獲取數(shù)字圖像以及接收?qǐng)D像幀的原始圖像數(shù)據(jù)且向存儲(chǔ)器和基于硬件的圖像處理模塊分發(fā)相應(yīng)的格式化圖像數(shù)據(jù)。該方法還包括在基于硬件的圖像處理模塊處接收?qǐng)D像幀的格式化圖像數(shù)據(jù)且向存儲(chǔ)器提供場(chǎng)景處理基元,以及在存儲(chǔ)器中存儲(chǔ)由基于硬件的圖像處理模塊所提供的場(chǎng)景處理基元?;趶拇鎯?chǔ)器接收且通過(guò)基于硬件的圖像處理模塊提供的場(chǎng)景處理基元來(lái)處理后續(xù)圖像幀。

      場(chǎng)景處理基元可以包括已處理圖像圖或其他已處理硬件模塊數(shù)據(jù)或二者。格式化圖像數(shù)據(jù)可以從基元硬件的圖像處理模塊提供到存儲(chǔ)器??梢詫?duì)包括閾值圖或積分圖像圖或二者的圖像圖進(jìn)行處理。場(chǎng)景處理基元可以包括區(qū)域基元或幀數(shù)據(jù)基元或二者。格式化圖像數(shù)據(jù)可以從存儲(chǔ)器接收。已處理圖像數(shù)據(jù)可以被傳輸?shù)阶g碼模塊,且壓縮圖像或視頻數(shù)據(jù)可以被通信傳送到譯碼模塊或從譯碼模塊進(jìn)行通信傳送或其組合。圖像數(shù)據(jù)或視頻數(shù)據(jù)的所選子集或兩者可以被輸出到顯示器??梢允褂没谟布膱D像處理模塊,在單個(gè)時(shí)鐘周期內(nèi)處理圖像數(shù)據(jù)?;谟布膱D像處理模塊可以是可編程和/或可重配置的。

      基于硬件的圖像處理模塊被進(jìn)一步提供以用于在圖像獲取和處理設(shè)備中操作,該圖像獲取和處理設(shè)備獲取原始圖像數(shù)據(jù)且向基于硬件的圖像處理模塊分發(fā)給相應(yīng)的格式化數(shù)據(jù),該基于硬件的圖像處理模塊配置成基于存儲(chǔ)在存儲(chǔ)器中的格式化圖像數(shù)據(jù)產(chǎn)生且向存儲(chǔ)器提供場(chǎng)景處理基元,以用于基于從存儲(chǔ)器接收且通過(guò)基于硬件的圖像處理模塊提供的場(chǎng)景處理基元處來(lái)理后續(xù)圖像幀。

      場(chǎng)景處理基元可以包括已處理圖像圖或其他已處理硬件模塊數(shù)據(jù)或二者。該模塊可以配置成向存儲(chǔ)器提供格式化圖像數(shù)據(jù),和/或處理包括閾值圖和積分圖像圖或二者的圖像圖。場(chǎng)景處理基元可以包括區(qū)域基元或幀數(shù)據(jù)基元或二者。該模塊可以配置成接收并處理來(lái)自存儲(chǔ)器的格式化數(shù)據(jù),和/或向譯碼模塊發(fā)射已處理圖像數(shù)據(jù),且向譯碼模塊或從譯碼模塊通信傳輸壓縮圖像或視頻數(shù)據(jù)或其結(jié)合。該模塊還可以配置成向顯示器輸出圖像數(shù)據(jù)或視頻數(shù)據(jù)或二者的所選子集,和/或使用基于硬件的圖像處理模塊在單個(gè)時(shí)鐘周期內(nèi)處理圖像數(shù)據(jù)。該模塊可以是可編程和/或可重配置的。

      根據(jù)某些實(shí)施例,將動(dòng)態(tài)可重配置異質(zhì)脈動(dòng)陣列被配置為處理第一圖像數(shù)據(jù);從所述圖像幀產(chǎn)生多個(gè)圖像處理基元;識(shí)別所述圖像幀的至少一個(gè)子區(qū)域的位置且從所述子區(qū)域產(chǎn)生至少一個(gè)圖像處理基元;以及將所述基元與圖像幀和子區(qū)域位置一起存儲(chǔ)在存儲(chǔ)器存儲(chǔ)裝置中。該動(dòng)態(tài)可重配置異質(zhì)脈動(dòng)陣列可重配置為基于圖像幀或子區(qū)域或二者的一個(gè)或多個(gè)確定的特性來(lái)處理后續(xù)圖像幀。

      至少一個(gè)特性的確定可以在脈動(dòng)陣列外部執(zhí)行。至少一個(gè)特性的確定可以基于對(duì)圖像幀的至少一部分的處理以及圖像處理基元其中至少一個(gè)。

      根據(jù)某些實(shí)施例的圖像獲取和處理設(shè)備包括處理器;用于獲取數(shù)字圖像幀的透鏡和圖像傳感器;以及根據(jù)此處描述的實(shí)施例其中任意一個(gè)而配置的動(dòng)態(tài)可重配置異質(zhì)結(jié)脈動(dòng)陣列。

      還提供了一種使用動(dòng)態(tài)可重配置異質(zhì)脈動(dòng)陣列進(jìn)行圖像處理的方法,該方法包括:獲取和處理第一圖像幀;從所述圖像幀產(chǎn)生多個(gè)圖像處理基元;識(shí)別所述圖像幀的至少一個(gè)子區(qū)域的位置且從所述子區(qū)域產(chǎn)生至少一個(gè)圖像處理基元;將所述基元與圖像幀和子區(qū)域位置一起存儲(chǔ)在存儲(chǔ)器存儲(chǔ)裝置中,確定圖像幀或子區(qū)域或二者的至少一個(gè)特性;以及基于所述特性,重配置所述陣列以處理后續(xù)圖像幀。

      該至少一個(gè)特性的確定可以部分地在動(dòng)態(tài)可重配置異質(zhì)脈動(dòng)陣列外部執(zhí)行。該至少一個(gè)特性的確定可以基于對(duì)圖像幀的至少一部分的處理和所述圖像處理基元其中至少一個(gè)。

      脈動(dòng)陣列

      脈動(dòng)陣列范例,即由數(shù)據(jù)計(jì)數(shù)器驅(qū)動(dòng)的數(shù)據(jù)流,是馮·諾依曼(von Neumann)范例,即程序計(jì)數(shù)器驅(qū)動(dòng)的指令流。因?yàn)槊}動(dòng)陣列通常發(fā)送和接收多個(gè)數(shù)據(jù)流,且使用多個(gè)數(shù)據(jù)計(jì)數(shù)器來(lái)產(chǎn)生這些數(shù)據(jù)流,所以它支持?jǐn)?shù)據(jù)并行。該名稱因與心臟的規(guī)則血流泵浦的詳細(xì)而得出。

      脈動(dòng)陣列由被稱為胞元(cell)數(shù)據(jù)處理單元的矩陣狀行組成。數(shù)據(jù)處理單元或DPU類似于中央處理單元(CPU),只不過(guò)缺少程序計(jì)數(shù)器,因?yàn)椴僮魇莻鬏斢|發(fā)的,即由數(shù)據(jù)對(duì)象的到達(dá)而觸發(fā)。每個(gè)胞元在處理之后立即與其相鄰胞元共享信息。脈動(dòng)陣列通常是矩形的,或者使其胞元成列和/或成行布置,其中數(shù)據(jù)跨越相鄰DPU之間的陣列流動(dòng),通常不同數(shù)據(jù)在不同方向中流動(dòng)。圖3示出這種同質(zhì)脈動(dòng)陣列架構(gòu)的示例。進(jìn)入且離開陣列端口的數(shù)據(jù)流通過(guò)自排序存儲(chǔ)器單元或ASM產(chǎn)生。每個(gè)ASM包括數(shù)據(jù)計(jì)數(shù)器。在嵌入式系統(tǒng)中,數(shù)據(jù)流還可以從外部源輸入和/或向外部源輸出。

      脈動(dòng)陣列可以包括網(wǎng)狀拓?fù)涞腄PU陣列,這些DPU連接到少量最近相鄰的DPU。DPU對(duì)在其間流動(dòng)的數(shù)據(jù)執(zhí)行一系列操作。因?yàn)槌R?guī)脈動(dòng)陣列合成方法已經(jīng)通過(guò)代數(shù)算法來(lái)實(shí)踐,所以僅可以獲得僅具有線性管線的均勻陣列,使得在所有DPU中架構(gòu)都是相同的。結(jié)果是在典型脈沖陣列上通常僅實(shí)現(xiàn)具有規(guī)則數(shù)據(jù)依賴關(guān)系的應(yīng)用。

      像SIMD(單指令/多數(shù)據(jù))機(jī)器一樣,鐘控的脈動(dòng)陣列在“鎖步”中進(jìn)行計(jì)算,每個(gè)處理器采取交替的計(jì)算/通信狀態(tài)。然而,在DPU之間具有異步握手的脈動(dòng)陣列通常被稱為波前陣列。一個(gè)已知的脈動(dòng)陣列是已經(jīng)由Intel制造的卡內(nèi)基梅隆大學(xué)的iWarp處理器。iWarp系統(tǒng)具有通過(guò)在兩個(gè)方向中行進(jìn)的數(shù)據(jù)總線而連接的線性陣列處理器。

      AHIP(用于圖像處理的高級(jí)硬件)

      圖4示意性示出包括使用AHIP(用于圖像處理的高級(jí)硬件)的IPP硬件的實(shí)施例。在圖4示出的AHIP具有穿過(guò)(pass-through)屬性。圖4示出包括圖像和數(shù)據(jù)緩存46以及長(zhǎng)期數(shù)據(jù)存儲(chǔ)裝置48的存儲(chǔ)器存儲(chǔ)裝置44。緩存46包括原始數(shù)據(jù)50、RGB數(shù)據(jù)52和已處理RGB數(shù)據(jù)54,而長(zhǎng)期數(shù)據(jù)存儲(chǔ)裝置可以包括MPEG圖像56和/或JPEG圖像58。在圖4示出的實(shí)施例還有利地包括場(chǎng)景處理基元60,該場(chǎng)景處理基元例如包括區(qū)域基元62、幀數(shù)據(jù)基元64、閾值圖66和/或積分圖像圖68。

      圖4還示出向存儲(chǔ)器44和IPP 74通信傳送原始數(shù)據(jù)的傳感器72。IPP 74還從存儲(chǔ)器44接收原始數(shù)據(jù)。IPP 74還向存儲(chǔ)器44、46提供RGB數(shù)據(jù)52。RGB數(shù)據(jù)通過(guò)IPP 74提供到有利的AHIP模塊75。AHIP模塊75向存儲(chǔ)器44、46提供已處理圖像圖、AHIP模塊數(shù)據(jù)和RGB數(shù)據(jù)。存儲(chǔ)器44、46向CPU/GPU 76提供RGB數(shù)據(jù)、圖像圖和AHIP模塊數(shù)據(jù).CPU 76向存儲(chǔ)器44和譯碼模塊78提供已處理RGB數(shù)據(jù)54。如圖4示意性所示,CPU 76還可以對(duì)IPP模塊74和/或AHIP模塊74進(jìn)行編程。譯碼模塊78向存儲(chǔ)器44、48提供數(shù)據(jù),且從存儲(chǔ)器44、48檢索數(shù)據(jù)。譯碼模塊78還提供例如將在LCD/TFT顯示器80上顯示的數(shù)據(jù)。

      有利地,在某些實(shí)施例中,在每個(gè)時(shí)鐘周期獲取一個(gè)標(biāo)準(zhǔn)圖像像素,且以各種方式中的一種或多種來(lái)處理該像素。若干不同類型的輸出可以并行地從每個(gè)獨(dú)立像素的處理而產(chǎn)生。每個(gè)輸出類型的多于一個(gè)實(shí)例可以通過(guò)硬件元件的復(fù)制提供。因?yàn)樵撚布酉到y(tǒng)可以在每個(gè)時(shí)鐘周期處理像素,它并不延時(shí)來(lái)自傳感器的圖像像素的傳輸,且因而它可以在任意IPP級(jí)插入。

      很多通用類型的圖像處理基元可以通過(guò)AHIP模塊識(shí)別和產(chǎn)生。為了使得下面的討論清晰,圖像數(shù)據(jù)可以被稱為“像素”(圖像元素)且輸出基元中的數(shù)據(jù)值可以被稱為“圖像素(map pixel)”。典型地,圖像素將明顯地小于像素(24或32比特)。作為示例,用于皮膚圖(skin map)的圖像素的一種形式僅具有對(duì)應(yīng)于作為皮膚像素的原始像素的4個(gè)概率的兩個(gè)比特。另一圖像素具有對(duì)應(yīng)于16個(gè)閾值的4比特,該16個(gè)閾值描述它與預(yù)定顏色空間中的特定顏色有多相似。對(duì)應(yīng)于16個(gè)相似度級(jí)別的顏色空間閾值被存儲(chǔ)在LUT中,最終的輸出數(shù)據(jù)基元圖包括圖像素。

      第一這種基元包括直接像素到映射像素的映射。在某些實(shí)施例中,這可以包括顏色或亮度閾值,其確定特定像素與顏色空間中的預(yù)定值有多接近。在某些實(shí)施例中,該數(shù)據(jù)可以作為15個(gè)閾值的范圍而被捕獲且寫入到4比特圖像圖中。這些閾值可以通過(guò)CPU/GPU隨著圖像幀不同而進(jìn)行調(diào)節(jié)。

      在示例性實(shí)施例中,每個(gè)閾值的數(shù)據(jù)值被設(shè)置為測(cè)量圖像像素與皮膚顏色有多接近。這種圖像圖可以有利地用于區(qū)分面部區(qū)域的不同皮膚區(qū)域且可以用于諸如面部跟蹤和面部美化之類的應(yīng)用。

      就時(shí)鐘周期而言,這種形式的圖像基元僅招致了小固定延時(shí)。在圖像幀的最后像素被輸入到AHIP之后,輸出圖像圖典型地在幾十個(gè)時(shí)鐘周期內(nèi)可用。

      像素到圖像素處理的一種變型是當(dāng)處理多個(gè)像素時(shí),產(chǎn)生單個(gè)輸出像素。這對(duì)應(yīng)于對(duì)原始輸入圖像的子采樣。在一些實(shí)施例中,像素塊在被處理以產(chǎn)生相應(yīng)的輸出基元數(shù)據(jù)之前,臨時(shí)存儲(chǔ)在硬件線路緩沖器中。在備選實(shí)施例中,像素繼續(xù)被單獨(dú)處理,但是來(lái)自處理每個(gè)相應(yīng)像素的輸出以某一預(yù)定方式被組合,以產(chǎn)生單個(gè)圖像素。

      第二種形式的基元是內(nèi)核推導(dǎo)基元。用于這種基元的圖像素從當(dāng)前圖像像素和該圖像的至少一個(gè)先前像素的知識(shí)而推導(dǎo)得出。很多技術(shù)指定N×N內(nèi)核,這暗示著對(duì)應(yīng)于當(dāng)前像素的輸出值從在圖像內(nèi)在水平和垂直兩個(gè)方向中的N個(gè)相鄰的像素確定。因?yàn)橄袼財(cái)?shù)據(jù)在某些實(shí)施例中典型地僅對(duì)于AHIP模塊順序可用,在某些實(shí)施例中它將通過(guò)IPP從圖像傳感器逐行(和/或逐列)被直接鐘控。在這些實(shí)施例中圖像數(shù)據(jù)的所有行將典型地被緩沖以支持內(nèi)核推導(dǎo)基元。

      在某些實(shí)施例中,七(7)行圖像數(shù)據(jù)被完整地存儲(chǔ)且第8個(gè)圖像行滾動(dòng)。這使得模塊能夠產(chǎn)生從高達(dá)8×8個(gè)內(nèi)核而推導(dǎo)的圖像處理基元。在該實(shí)施例中,在完整內(nèi)核基元圖像圖針對(duì)當(dāng)前圖像幀可用之前,存在8乘以圖像的行大小(針對(duì)1080p,8×1920)的量級(jí)的延時(shí)。然而,這仍小于獲取完圖像幀(1000個(gè)像素行)花費(fèi)的總時(shí)間的1%,所以圖像幀基元數(shù)據(jù)在完成最終幀獲取之后很快可用。

      內(nèi)核推導(dǎo)圖像處理基元的一個(gè)特定示例是紅眼分段的基元。例如在通過(guò)引用結(jié)合的美國(guó)專利6,873,743中,描述了針對(duì)圖像執(zhí)行執(zhí)行2×2分段的技術(shù)。這在LAB顏色空間上操作。內(nèi)核推導(dǎo)基元的另一示例是在圖像的亮度分量上執(zhí)行的積分圖像的計(jì)算。如將簡(jiǎn)要地解釋的那樣,在某些實(shí)施例中AHIP并入了顏色空間轉(zhuǎn)變模塊,該顏色空間轉(zhuǎn)變模塊實(shí)現(xiàn)了在若干常用顏色空間之間的輸入圖像數(shù)據(jù)的動(dòng)態(tài)轉(zhuǎn)換。因而單獨(dú)RGB像素?cái)?shù)據(jù)可以在AHIP內(nèi)以可忽略的延時(shí)轉(zhuǎn)換到Y(jié)CC或Lab顏色空間。

      第三種形式的基元包括幀推導(dǎo)基元。這些基元是其中單個(gè)像素或像素塊并未產(chǎn)生相應(yīng)的單個(gè)圖像素輸出的數(shù)據(jù)基元的示例。這種形式的圖像處理基元的一個(gè)示例是使用很多組距(bin)預(yù)配置的直方圖模塊。針對(duì)一組閾值對(duì)輸入像素?cái)?shù)據(jù)進(jìn)行分析,且基于其值將其分類到直方圖。在圖像幀的結(jié)尾,每個(gè)直方圖組距包括滿足其上閾值限制和下閾值限制的像素?cái)?shù)目的計(jì)數(shù)。

      當(dāng)與針對(duì)基元類型一種給定的示例組合時(shí),可以測(cè)量特定圖像幀中多少像素落在一組16個(gè)皮膚顏色直方圖組距內(nèi)。這進(jìn)而可以在例如在跟蹤的面部區(qū)域內(nèi)檢測(cè)到太多或太少的皮膚像素時(shí)提議需要針對(duì)下一圖像幀調(diào)節(jié)皮膚顏色閾值。AHIP內(nèi)的硬件架構(gòu)被設(shè)計(jì)成使得處理塊能夠在處理圖像幀之前動(dòng)態(tài)重配置。根據(jù)某些實(shí)施例,附加并行處理塊可以被添加到這種硬件架構(gòu)中。

      在其他實(shí)施例中,顏色相關(guān)圖或其他形式的直方圖狀數(shù)據(jù)可以通過(guò)AHIP確定。這種基元可以有利地從用于產(chǎn)生內(nèi)核數(shù)據(jù)的相同一組行緩沖器確定,差異是直方圖或相關(guān)圖數(shù)據(jù)提供從多個(gè)像素確定的幀推導(dǎo)基元,而非由內(nèi)核推導(dǎo)基元提供的輸入到輸出像素的一對(duì)一映射。

      另一種形式的幀推導(dǎo)基元包括執(zhí)行像素行和像素列值的求和的基元。這實(shí)現(xiàn)了當(dāng)前圖像幀與一個(gè)或多個(gè)先前圖像幀的關(guān)聯(lián)。這種基元引入AHIP的另一方面,其中從當(dāng)前幀確定的基元中的一個(gè)或多個(gè)可以被記錄以用于一個(gè)或多個(gè)后續(xù)圖像幀。這種基元可以明顯小于全圖像幀,或者實(shí)時(shí)處理的益處將并不被完全實(shí)現(xiàn)。在某些實(shí)施例中,針對(duì)這種基元的典型大小限制是它們不大于已處理圖像的最大行大小。

      在某些實(shí)施例中,這種數(shù)據(jù)可以保留在AHIP模塊中而不是被寫入到外部存儲(chǔ)裝置。因而圖像幀推導(dǎo)數(shù)據(jù)和/或像素推導(dǎo)數(shù)據(jù)可以在AHIP中累積,以有利于圖像幀基元的更快處理。

      第四種形式的基元是從主圖像幀的特定空間區(qū)域推導(dǎo)得到的。這些基元本質(zhì)上可以更加復(fù)雜,且可以將區(qū)域的更復(fù)雜的硬件處理與從CPU/GPU推導(dǎo)且涉及一個(gè)或多個(gè)在前幀圖像的外部數(shù)據(jù)和一些基本基元組合。

      硬件緩沖器可以用在涉及預(yù)測(cè)數(shù)字圖像中面部區(qū)域的位置處理中(例如見上面通過(guò)引用而結(jié)合的美國(guó)專利7,315,631及其后續(xù)申請(qǐng)以及7,466,866)。在某些實(shí)施例中,在一個(gè)或多個(gè)先前幀中收集關(guān)于在當(dāng)前圖像幀內(nèi)有望在何處檢測(cè)到面部的知識(shí)。與在當(dāng)前幀中執(zhí)行面部檢測(cè)相比,該方法具有更加快速的優(yōu)點(diǎn),且收集的信息甚至可以當(dāng)前圖像幀之前用于各種目的。

      具體而言,一般難以在圖像幀的單一處理期間判斷這種區(qū)域的高度精確的位置,因?yàn)檫@依賴于在GPU/CPU上的軟件中執(zhí)行的附加圖像處理。因此,在AHIP的圖像幀的第一硬件處理期間一般僅近似確定空間區(qū)域位于何處。然而,這些近似位置可以被有利地標(biāo)記,且典型地明顯小于主圖像。在一個(gè)實(shí)施例中,若干這種預(yù)測(cè)區(qū)域可以存儲(chǔ)在AHIP的緩沖器中,以用于下一幀周期上的進(jìn)一步處理。在備選實(shí)施例中,這些區(qū)域與主圖像一起被寫入存儲(chǔ)器中,但是通過(guò)專門配置成處理這種區(qū)域的第二AHIP模塊加載回來(lái)。在該第二實(shí)施例中,優(yōu)點(diǎn)在于存儲(chǔ)器子系統(tǒng)是雙端口的這一事實(shí)。因而當(dāng)下一圖像幀被主AHIP處理且被寫入到存儲(chǔ)器時(shí),來(lái)自先前圖像幀的一個(gè)或多個(gè)預(yù)測(cè)區(qū)域可以被讀回到第二AHIP模塊,以用于更加專用的處理。在該實(shí)施例中,典型地僅在下一圖像幀被一般化處理時(shí)才處理特定圖像區(qū)域。不過(guò)單個(gè)幀延時(shí)可以被容易地補(bǔ)償且不折中實(shí)現(xiàn)接近視頻序列的實(shí)時(shí)處理的目標(biāo)。

      一個(gè)非常常見的空間區(qū)域是預(yù)測(cè)的面部區(qū)域。其是當(dāng)前圖像幀中面部區(qū)域?qū)⒑芸赡芪挥谄渲械膮^(qū)域。這種區(qū)域被頻繁地用在面部跟蹤算法(同樣見上面通過(guò)引用結(jié)合的美國(guó)專利7,315,632以及其后續(xù)申請(qǐng))。這種區(qū)域的一種通常用途是將諸如紅眼檢測(cè)的圖像處理算法的應(yīng)用限制到面部出現(xiàn)高概率的圖像區(qū)域。

      圖5示意性示出AHIP模塊,所述AHIP模塊具有布置到處理鏈中以用于各種圖像處理基元的若干通用處理模塊。圖5中示出圖像傳感器82、SDRAM存儲(chǔ)器84、AHIP模塊85本身以及CPU 86。AHIP模塊包括與CPU 86通信的AHIP配置管理器90。AHIP模塊85還包括查找表(LUT)模塊92、數(shù)據(jù)配置模塊94、邏輯模塊96和同步模塊98。如前面圖4所述,某一RGB數(shù)據(jù)102被直接存儲(chǔ)到存儲(chǔ)器84。然而,某些其他RGB數(shù)據(jù)103在一個(gè)或多個(gè)像素處理模塊106、一個(gè)或多個(gè)幀處理模塊107、一個(gè)或多個(gè)區(qū)域處理模塊108以及一個(gè)或多個(gè)內(nèi)核處理模塊110處由AHIP模塊85進(jìn)行處理。某些RGB數(shù)據(jù)103可以在幀處理模塊處被處理,且該幀數(shù)據(jù)112被存儲(chǔ)在存儲(chǔ)器84中。某些RGB數(shù)據(jù)103可以在一個(gè)或多個(gè)像素處理模塊106被處理,且然后像素?cái)?shù)據(jù)114被存儲(chǔ)在存儲(chǔ)器84中或者該數(shù)據(jù)在內(nèi)核處理模塊110和/或幀處理模塊107和/或區(qū)域處理模塊108被進(jìn)一步處理。諸如先前幀(由N-1指示)的相鄰幀的RGG數(shù)據(jù)116可以在區(qū)域處理模塊108與RGB數(shù)據(jù)103一同處理。在區(qū)域處理模塊108處已被處理的數(shù)據(jù)然后可以作為區(qū)域數(shù)據(jù)118存儲(chǔ)在存儲(chǔ)器84中。

      通常希望例如在甚至可以做出面部區(qū)域的精確位置的完全確認(rèn)之前向圖像的一些部分應(yīng)用算法。這些預(yù)測(cè)面部區(qū)域可以從先前圖像幀確定,且可以利用大量在前幀上的面部和照相機(jī)移動(dòng)的歷史。就這方面而言,幀-幀dX和dY位移可以通過(guò)AHIP模塊確定,且在幀的最后像素被處理之后的短延時(shí)內(nèi)可用。類似地,面部區(qū)域的位置和大小可以從面部跟蹤器算法的一個(gè)或多個(gè)幀的最終數(shù)目獲得,且這兩個(gè)數(shù)據(jù)可以在AHIP開始新圖像幀的處理之后極快地可用。這些數(shù)據(jù)可以有利地實(shí)現(xiàn)針對(duì)當(dāng)前圖像幀的預(yù)測(cè)面部區(qū)域的精確和動(dòng)態(tài)估算(見美國(guó)公布的申請(qǐng)序列號(hào)US2009/0303342和US2009/0263022以及美國(guó)專利7,460,695、7,403,643和7,315,631以及US2009/00123063、US2009/0190803、US2009/0189998、US2009-0179999和US專利申請(qǐng)序列號(hào)12/572,930、12/824,214和12/815,396,這些專利和專利申請(qǐng)均轉(zhuǎn)讓給相同的受讓人,且通過(guò)引用而結(jié)合于此)。

      諸如眼睛區(qū)域和/或嘴部區(qū)域和/或半面部區(qū)域的面部區(qū)域或面部特征區(qū)域(見美國(guó)序列號(hào)12/790,594和12/825,280,它們與本申請(qǐng)均被轉(zhuǎn)讓給相同的受讓人且此處通過(guò)引用結(jié)合于此)初始時(shí)可以被保存到本地存儲(chǔ)器緩沖器。典型地,因?yàn)榇鎯?chǔ)器在硬件核中是昂貴的,因此可能存在有限數(shù)目的“面部緩沖器”,且它們可以優(yōu)化以使大小最小化。實(shí)際上,在一些實(shí)施例中,這種緩沖器可以在AHIP外部,且可以包括用于將這些區(qū)域?qū)懭氲街魍獠看鎯?chǔ)器存儲(chǔ)裝置的帶寬。在其他實(shí)施例中,其在主圖像內(nèi)的位置可以被記錄,使得它們稍后可以從主存儲(chǔ)存儲(chǔ)裝置在主圖像幀數(shù)據(jù)內(nèi)可存取。在一個(gè)實(shí)施例中,這種區(qū)域?qū)⒈粌?nèi)部存儲(chǔ)在AHIP模塊中。然而,因?yàn)锳HIP緩沖器的大小對(duì)于全HD視頻可能太大或者并不是太大,因此在備選實(shí)施例中,這些面部區(qū)域與主圖像一起存儲(chǔ)在主存儲(chǔ)器中,且在下一主圖像幀被處理且寫入到主存儲(chǔ)器的同時(shí)將這些面部區(qū)域再次加載到輔助AHIP模塊中。

      在這些實(shí)施例中,因?yàn)楹芏嗝娌繖z測(cè)和識(shí)別技術(shù)可以應(yīng)用于固定大小的面部圖像,這些存儲(chǔ)器緩沖器可以足夠大以容納這種固定大小面部區(qū)域且具有一些附加容量。附加容量可以用于針對(duì)很多因素進(jìn)行補(bǔ)償:(1)圖像數(shù)據(jù)被預(yù)測(cè),并且因而高度精確的面部位置在圖像的初始AHIP處理時(shí)是未知的;(ii)面部區(qū)域可以并不正確地豎直且可能需要面內(nèi)旋轉(zhuǎn)以獲得適當(dāng)?shù)呢Q直面部區(qū)域;該信息可以在面部區(qū)域的精確位置被確定且該面部區(qū)域內(nèi)的眼睛區(qū)域的位置被確定之后在稍后可用;此時(shí),面內(nèi)校正角和尺寸縮放信息可以提供到AHIP,但是直到這時(shí)面部區(qū)域才可能處于面內(nèi)角度,這涉及附加存儲(chǔ)器空間以容納對(duì)角取向的面部區(qū)域;(iii)面部區(qū)域可以以全局大小隨著幀不同變化;在可以從過(guò)去的圖像幀的歷史獲知一些趨勢(shì)時(shí),也可能存在來(lái)自這些趨勢(shì)的變化。因而直到在主圖像幀處理完成之后區(qū)域數(shù)據(jù)被CPU/GPU處理時(shí),面部的精確大小可能是已知的或者是未知的。在下一原始圖像幀被處理和寫入的同時(shí)來(lái)加載和處理面部區(qū)域的備選實(shí)施例中,主圖像及相關(guān)基元的一些附加處理可以從CPU/GPU獲得。在這些情況中,面部區(qū)域位置的更精確的估算可能是可用的。

      在另一示例性實(shí)施例中,假設(shè)考慮最大尺寸32×32的最終固定大小的面部區(qū)域。存儲(chǔ)器緩沖器可以用于64×64的面部區(qū)域以適應(yīng)高達(dá)1.99的潛在部分尺寸縮放且高達(dá)46度的旋轉(zhuǎn)。這定義了用于精確定位的面部區(qū)域的緩沖器大小,然而在當(dāng)前幀首次被AHIP處理時(shí),我們僅知道其中該圖像幀中可能存在面部的預(yù)測(cè)區(qū)域。因此,存儲(chǔ)較大區(qū)域可能是有用的,可以使用例如96×96或128×128個(gè)像素的緩沖器,以提供比期望的面部區(qū)域的尺寸大50%或100%的預(yù)測(cè)面部區(qū)域緩沖器。

      當(dāng)關(guān)于預(yù)測(cè)面部區(qū)域的位置和尺寸的數(shù)據(jù)從先前圖像幀的軟件處理而傳遞到AHIP時(shí),這些預(yù)測(cè)面部區(qū)域被整數(shù)縮小到96×96或128×128的相應(yīng)AHIP緩沖器。典型地對(duì)于面部區(qū)域的處理,僅須保持亮度值,且因而這些緩沖器是單值的且典型地不保持全色數(shù)據(jù)。然而在一些實(shí)施例中,皮膚圖的形式可以被產(chǎn)生且與面部區(qū)域的亮度圖像一同存儲(chǔ)。典型地,用于面部跟蹤目的的皮膚圖可以僅是2位的,代表皮膚像素的僅3或4個(gè)狀態(tài)。

      這種基元的示例是面部分類器在被跟蹤面部區(qū)域的應(yīng)用。典型地,面部區(qū)域?qū)⒉⒉皇蔷_地水平且所以來(lái)自預(yù)測(cè)面部區(qū)域的數(shù)據(jù)可以在應(yīng)用面部分類器之前首先被旋轉(zhuǎn)到水平取向。這種操作需要用于圖像數(shù)據(jù)的較大緩沖器且所以區(qū)域緩沖器的數(shù)目和每個(gè)緩沖器的大小可能略微受限。在該示例中輸出的基元是對(duì)應(yīng)于特征向量組的一組數(shù)據(jù)值,該特征向量組可以用于確認(rèn)和/或(i)該區(qū)域仍包括確認(rèn)的面部;(ii)特征向量組可以與一組已知面部匹配以指示相似的匹配。

      圖6示出主CPU、AHIP硬件模塊、圖像傳感器和SDRAM存儲(chǔ)器126的讀/寫通道125之間的相互關(guān)系。AHIP/CPU接口128提供某些寄存器和/或中斷。在圖6中示出傳感器124和AHIP塊122之間的用于YUV數(shù)據(jù)的B2Y接口130。

      在AHP內(nèi)實(shí)現(xiàn)若干原理類型的圖像幀處理。下面將描述這些處理中的一些。

      幀到幀AHIP處理

      圖7示出來(lái)自幀N-1的數(shù)據(jù)與當(dāng)前幀N組合的使用。在圖7的說(shuō)明性示例中,存儲(chǔ)器存儲(chǔ)裝置(圖像數(shù)據(jù)和緩存)140被相應(yīng)地分段成兩個(gè)幀。一些特征已經(jīng)參考圖4描述且此處不重復(fù)。參考作為示例的面部跟蹤,在存儲(chǔ)器140中存儲(chǔ)預(yù)測(cè)區(qū)域142以用于幀N-1和幀N二者。在存儲(chǔ)器140的幀N-1部分內(nèi),存儲(chǔ)精確區(qū)域和區(qū)域基元數(shù)據(jù)143。這些數(shù)據(jù)用于產(chǎn)生用于幀N的RGB圖像幀數(shù)據(jù)和幀基元145。幀N-1區(qū)域數(shù)據(jù)144與幀N RGB數(shù)據(jù)149一起被輸入到AHIP塊148。在塊150,AHIP塊對(duì)幀N-1區(qū)域數(shù)據(jù)中的某一些進(jìn)行子采樣和/或顏色空間重新映射,且然后通過(guò)像素處理塊154移動(dòng)所有幀N-1區(qū)域數(shù)據(jù)144以在幀N部分向存儲(chǔ)器140輸出。在塊160,幀N RGB數(shù)據(jù)149可以被子采樣156和/或在被像素處理之前被顏色空間重新映射158。像素處理160可以包括累積、直接、內(nèi)核、區(qū)域和/或混合像素處理。數(shù)據(jù)然后存儲(chǔ)在存儲(chǔ)器140的幀N部分。

      現(xiàn)在將簡(jiǎn)要描述根據(jù)某些實(shí)施例的AHIP模塊的各種子元件中的某一些的描述。AHIP模塊可以包括這些示例子元件其中的任意一個(gè)、所有元件或不包括這些元件。

      色圖單元

      色圖單元模塊產(chǎn)生具有相似顏色的像素的圖。參考點(diǎn)R可以在輸入顏色空間(例如RGB)中被預(yù)編程。然后,針對(duì)每個(gè)輸入像素P,色圖模塊可以計(jì)算P和R之間的歐幾里德距離d,且然后將它與15個(gè)可編程閾值(T1...15)進(jìn)行比較。這些閾值可以被級(jí)聯(lián)地評(píng)估,使得它們優(yōu)選地以遞增順序設(shè)置(T1<T2...<T15-從非常嚴(yán)格到非常寬容)。如果d<Tn,則模塊輸出值16-n。如果沒(méi)有閾值匹配,則0被送出。圖8示出根據(jù)某些實(shí)施例的顏色閾值模塊。

      色圖的輸出典型地可以由4位表示。在一些實(shí)施例中,例如可以僅使用8(3位)或4(2位)或2(1位)實(shí)現(xiàn)較小一組閾值。色圖模塊可以針對(duì)輸入全分辨率圖像操作。輸出圖可以具有與輸入相同的分辨率且每個(gè)像素可以產(chǎn)生指示在3D顏色空間中它與預(yù)編程的參考像素有多匹配的匹配輸出。

      在備選實(shí)施例中,附加并行顏色模塊可以通過(guò)設(shè)置輸入通道之一為零或中點(diǎn)值來(lái)實(shí)現(xiàn)像素與3個(gè)顏色通道中的2個(gè)有多相似的確定。其他實(shí)施例實(shí)現(xiàn)2D顏色模塊,其中3個(gè)通道中僅2個(gè)用于比較。

      因?yàn)樯珗D模塊的功能性依賴于歐幾里德距離,輸入顏色空間將是距離有意義(接近度等于視覺相似度)的顏色空間。通常,此模塊應(yīng)當(dāng)與RGB輸入一起使用,但不限于此。

      在圖9中,提供應(yīng)用于圖像的色圖模塊的示例。該示例中的參考點(diǎn)是在RGB坐標(biāo)中給出的類似皮膚的顏色。在圖9中的左側(cè),示出輸入圖像,而在右側(cè)是色圖(白色代表最大值,范圍是0至15)。在圖9的示例中,使用16個(gè)閾值(4位)。

      顏色空間轉(zhuǎn)換(CSC)單元

      CSC可以用于實(shí)現(xiàn)如下定義的可編程矩陣乘法器:

      x=[Y,U,V]=輸入像素,A和B=具有可編程系數(shù)的矩陣。

      該結(jié)構(gòu)可以執(zhí)行像YUV-2-RGB或RGB-2-YUV這樣的轉(zhuǎn)換。還可以執(zhí)行YUV和定制顏色空間之間的轉(zhuǎn)換。這些轉(zhuǎn)換可以結(jié)合其他模塊使用以識(shí)別具有特殊屬性的像素。

      可以在CSC的輸出處執(zhí)行飽和功能(以限制值為0…255的整數(shù)范圍)。

      圖10示出從圖像傳感器172接收RGB數(shù)據(jù)且向存儲(chǔ)器174提供數(shù)據(jù)(包括像素?cái)?shù)據(jù)和/或幀數(shù)據(jù))的AHIP模塊170。圖10的示例AHIP模塊170包括像素處理模塊176。模塊176中的兩個(gè)饋入閾值化模塊178,且模塊176中的兩個(gè)饋入計(jì)數(shù)模塊:一個(gè)直方圖180和其他登記182。邏輯模塊184從閾值化模塊178接收輸入且向存儲(chǔ)器174輸出像素?cái)?shù)據(jù)。組距計(jì)數(shù)器186從計(jì)數(shù)(直方圖)模塊180接收輸入且向存儲(chǔ)器174輸出幀數(shù)據(jù)。dX、dY偏移塊188從計(jì)數(shù)(登記)模塊182接收輸入且向存儲(chǔ)器174輸出幀數(shù)據(jù)。第一RGB-2-YUV塊190向累加器(積分圖像)模塊192輸出像素?cái)?shù)據(jù),該累加器模塊進(jìn)而向存儲(chǔ)器174輸出像素?cái)?shù)據(jù)。第二RGB-2-YUV塊190向平方模塊194和累加器(積分平方圖像)模塊196輸出像素?cái)?shù)據(jù),且該累加器模塊進(jìn)而向存儲(chǔ)器174輸出像素?cái)?shù)據(jù)。

      圖11示出與CPU 202通信的AHIP塊200,所述通信包括向CPU 202提供中斷204且從CPU 202接收配置命令206。AHIP塊200經(jīng)由B2Y塊210從傳感器/B2Y 208接收數(shù)據(jù)且向存儲(chǔ)器212輸出。

      閾值化(THR)

      該模塊包括8×1LUT以用于對(duì)其他模塊的輸出進(jìn)行閾值化并將它們轉(zhuǎn)換成二進(jìn)制值(1比特)??梢栽贏HIP中并入多個(gè)閾值單元。

      邏輯功能(LF)

      該模塊包括6×6LUT,該LUT可以用于進(jìn)一步組合THR或諸如色圖模塊之類的AHIP模塊的結(jié)果。它可以使用來(lái)自THR和SKIN模塊的輸入來(lái)實(shí)現(xiàn)6個(gè)不同邏輯功能??梢栽贏HIP中并入多個(gè)邏輯單元。

      直方圖(HIST)

      計(jì)算直方圖可以應(yīng)用于原始輸入數(shù)據(jù)(YUV)和/或CSC模塊的輸出。這些模塊累積來(lái)自每個(gè)像素的計(jì)數(shù)值且其輸出在圖像幀的每個(gè)像素通過(guò)AHIP時(shí)進(jìn)行鐘控之后可用。直方圖組距的數(shù)目典型地是16且用于每個(gè)組距的閾值可編程。

      積分圖像累計(jì)器(II)-AKA

      面積計(jì)算模塊

      這些模塊包括用于計(jì)算積分圖像的塊(允許矩形區(qū)域中的最快面積計(jì)算;例如見上面通過(guò)引用而結(jié)合的美國(guó)專利7,315,631以及通過(guò)引用而結(jié)合的美國(guó)專利申請(qǐng)US 2002/0102024)。它們通常用在實(shí)時(shí)對(duì)象檢測(cè)算法中。可以存在可用的三個(gè)標(biāo)準(zhǔn)塊其中任意一個(gè):

      II(原始Y通道的總和面積,用于面積計(jì)算)

      112(Y平方之和,用于方差計(jì)算)

      皮膚II(皮膚由上的積分圖像,給出區(qū)域中的皮膚密度)。

      這些模塊可以用于在每個(gè)輸入像素上累積它們值且輸出當(dāng)前累積值以提供積分圖像的相應(yīng)像素值、或者積分變量或皮膚積分圖像圖(例如見通過(guò)引用結(jié)合的美國(guó)公布的申請(qǐng)序列號(hào)no.2010/0053368)。

      復(fù)雜下采樣器(DS)

      該下采樣器對(duì)圖像進(jìn)行縮放以用于其他模塊。該模塊被設(shè)計(jì)成在具有低門計(jì)數(shù)的同時(shí)提供合適的質(zhì)量水平。其可以編程為實(shí)現(xiàn)主圖像的可變尺寸縮小。

      固定下采樣器(XDS)

      使用最近相鄰內(nèi)差,較簡(jiǎn)單的下采樣器實(shí)現(xiàn)是可用的。這允許以固定分辨率同時(shí)計(jì)算圖。典型地,x2、x4和x8下采樣器將是可用的。

      工作流

      AHIP可以設(shè)計(jì)為在De-bayer模塊(傳感器接口)之后集成在圖像管線的末端。盡管YUV被認(rèn)為是AHIP的固有顏色空間,一些內(nèi)部模塊也可以處理其他顏色空間。除了傳感器接口,AHIP提供用于從存儲(chǔ)器讀取數(shù)據(jù)的回放接口。在預(yù)覽模式中,AHIP可以配置成以傳感器時(shí)鐘速率(每個(gè)像素一個(gè)時(shí)鐘)處理數(shù)據(jù)。AHIP處理的數(shù)據(jù)可以被寫入到目標(biāo)系統(tǒng)的主存儲(chǔ)器(SDRAM)中。模塊中的一個(gè)或多個(gè)可以向寄存器輸出值。AHIP可以或可以不配置成向其他模塊提供流輸出接口。

      使用AHIP的典型工作流的示例如下:

      來(lái)自傳感器或來(lái)自存儲(chǔ)器的實(shí)況數(shù)據(jù)被發(fā)送到AHIP(一次一個(gè)像素)。

      在幀周期中,AHIP執(zhí)行其計(jì)算:

      一個(gè)或多個(gè)模塊更新內(nèi)部統(tǒng)計(jì)。

      一個(gè)或多個(gè)其他模塊向系統(tǒng)存儲(chǔ)器寫入數(shù)據(jù)(圖)。這典型地可以相對(duì)于輸入以最小延時(shí)完成(即數(shù)據(jù)隨著像素進(jìn)入而離開)。

      在幀結(jié)束之后,AHIP觸發(fā)對(duì)CPU的中斷:

      在正常條件中,中斷告知CPU全新數(shù)據(jù)可用。

      也可以存在告知錯(cuò)誤條件的中斷。

      CPU中斷處理器被調(diào)用:

      它讀取AHIP寄存器以發(fā)現(xiàn)中斷的原因。

      它然后可選地重配置AHIP(例如基于這樣做將有利的確定)且確認(rèn)中斷。

      它還可以告知其他CPU線程來(lái)自硬件的數(shù)據(jù)可用(并且算法使用它開始)。

      盡管已經(jīng)描述和示出了本發(fā)明的示例性附圖和特定實(shí)施例,應(yīng)當(dāng)理解本發(fā)明的范圍不限于討論的特定實(shí)施例。因而,這些實(shí)施例將被認(rèn)為是說(shuō)明性的而非限制性的,且應(yīng)當(dāng)理解本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的范圍的條件下在這些實(shí)施例中做出改變。

      另外,在可以根據(jù)此處的優(yōu)選實(shí)施例來(lái)執(zhí)行且上面已經(jīng)描述的方法中,以所選的拓?fù)湫蛄忻枋隽瞬僮?。然而,序列被選擇為因此被排序是出于用于拓?fù)浞奖隳康?,且并非旨在暗示用于?zhí)行操作的任意特定順序,除非可以明確設(shè)置特定順序或者本領(lǐng)域技術(shù)人員可以斷定特定順序是必須的。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1