本發(fā)明大體上涉及啟用計(jì)算機(jī)視覺(jué),且更具體來(lái)說(shuō),涉及使用計(jì)算機(jī)視覺(jué)改善檢測(cè)特征的效率。
背景技術(shù):
計(jì)算機(jī)視覺(jué)是包含獲取、處理、分析和理解圖像以用于各應(yīng)用中的方法的領(lǐng)域。傳統(tǒng)地,耦合到傳感器的處理器從傳感器獲取圖像數(shù)據(jù),并對(duì)從傳感器接收的信息執(zhí)行某些計(jì)算機(jī)視覺(jué)(CV)運(yùn)算以用于檢測(cè)CV特征且因此檢測(cè)與那些特征相關(guān)聯(lián)的對(duì)象。CV特征可包含例如邊緣、拐角等的特征。此等特征可用于確定宏特征,例如人臉、笑容和手勢(shì)。執(zhí)行于處理器上的程序可在例如平面檢測(cè)、人臉檢測(cè)、笑容檢測(cè)、手勢(shì)檢測(cè)等多種應(yīng)用中利用所檢測(cè)的特征。
近年來(lái)已付出許多努力以使得計(jì)算裝置能夠檢測(cè)在計(jì)算裝置的視野中的特征和對(duì)象。計(jì)算裝置(例如移動(dòng)裝置)經(jīng)設(shè)計(jì)對(duì)由移動(dòng)裝置使用的處理資源量和功率量以及熱消散具靈敏性。然而,傳統(tǒng)地,使用相機(jī)檢測(cè)計(jì)算裝置的視野中的特征和對(duì)象需要大量處理資源,從而導(dǎo)致計(jì)算裝置(例如移動(dòng)裝置)中的較高功率消耗及較低電池壽命。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明大體上涉及啟用計(jì)算機(jī)視覺(jué),且更具體來(lái)說(shuō),涉及使用計(jì)算機(jī)視覺(jué)改善檢測(cè)特征的效率。
各技術(shù)描述用于基于傳感器讀數(shù)產(chǎn)生經(jīng)計(jì)算的結(jié)果以供檢測(cè)例如邊緣、拐角等特征的設(shè)備和方法。所述傳感器設(shè)備可包含傳感器元件陣列,所述陣列包含多個(gè)傳感器元件。所述傳感器元件可被布置成2維陣列,例如列和行。所述傳感器元件可基于環(huán)境條件而能夠產(chǎn)生傳感器讀數(shù)。所述傳感器設(shè)備還可包含專用計(jì)算機(jī)視覺(jué)(CV)計(jì)算硬件,所述計(jì)算硬件包括用于通過(guò)在模式之間切換而以出自多個(gè)模式中的一個(gè)模式進(jìn)行運(yùn)算的可配置硬件塊。在某些實(shí)施例中,可通過(guò)使用開(kāi)關(guān)來(lái)執(zhí)行切換。開(kāi)關(guān)可包含晶體管、多個(gè)晶體管開(kāi)關(guān)電路或多路復(fù)用器。每一模式可使所述硬件能夠使用不同類型的CV特征計(jì)算技術(shù)檢測(cè)CV特征。舉例來(lái)說(shuō),第一模式可用于使用線性二值模式(linear binary pattern;LBP)標(biāo)記計(jì)算一或多個(gè)二維(2D)分塊的CV特征,第二模式可用于使用帶符號(hào)的梯度直方圖(histogram of signed gradient;HSG)標(biāo)記計(jì)算所述CV特征,且第三模式可用于使用加速分段測(cè)試特征(features from accelerated segment test;FAST)拐角計(jì)算CV特征。每一2D分塊可包含來(lái)自傳感器元件陣列中的傳感器元件的子集的讀數(shù)。在一個(gè)實(shí)施方案中,來(lái)自傳感器元件的傳感器元件陣列的傳感器讀數(shù)的CV特征由專用CV計(jì)算硬件以串行方式計(jì)算。
一種實(shí)例視覺(jué)傳感器可包含傳感器元件陣列,所述傳感器元件陣列包括多個(gè)傳感器元件,所述傳感器元件沿著所述傳感器元件陣列的至少一第一維度和第二維度布置,所述多個(gè)傳感器元件中的每一者能夠基于入射在所述傳感器元件上的光而產(chǎn)生信號(hào);且專用計(jì)算機(jī)視覺(jué)(CV)計(jì)算硬件能夠接收來(lái)自所述傳感器元件陣列的圖像數(shù)據(jù),并可配置以基于來(lái)自所述傳感器元件陣列內(nèi)的一或多個(gè)二維分塊中的每一者中的傳感器元件的信號(hào)而以串行方式計(jì)算一或多個(gè)二維分塊的CV特征;所述專用CV計(jì)算硬件包含開(kāi)關(guān)以允許所述CV計(jì)算硬件在第一模式中計(jì)算第一類型的CV特征且在第二模式中計(jì)算第二類型的CV特征。
一種實(shí)例方法可包含:接收基于入射在形成傳感器元件陣列的多個(gè)傳感器元件上的光的傳感器讀數(shù),其中所述多個(gè)傳感器元件沿著所述傳感器元件陣列的至少一第一維度和第二維度布置;確定操作專用計(jì)算機(jī)視覺(jué)(CV)計(jì)算硬件的模式,所述計(jì)算硬件能夠接收來(lái)自所述傳感器元件陣列的圖像數(shù)據(jù)并可配置以基于來(lái)自所述傳感器元件陣列內(nèi)的一或多個(gè)二維分塊中的每一者中的傳感器元件的信號(hào)而以串行方式計(jì)算一或多個(gè)二維分塊的CV特征,所述專用CV計(jì)算硬件包含開(kāi)關(guān)以允許所述CV計(jì)算硬件在第一模式中計(jì)算第一類型的CV特征且在第二模式中計(jì)算第二類型的CV特征;以及基于所確定的模式將所述專用CV計(jì)算硬件切換到所述第一模式或所述第二模式以供計(jì)算對(duì)應(yīng)類型的CV特征。
在說(shuō)明書(shū)中所描述的各種其它裝置可由上文所論述的方法和設(shè)備利用以供執(zhí)行本發(fā)明的各方面。此外,非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)媒體可包含可由處理器執(zhí)行以供執(zhí)行本發(fā)明的各種方面的指令。
在本發(fā)明的某些方面,專用CV計(jì)算硬件可以是傳感器元件陣列的外圍裝置。在一些情況下,第一類型的CV特征可以是局部二值模式(Local Binary Pattern;LBP)標(biāo)記,其為L(zhǎng)BP標(biāo)記或加速分段測(cè)試特征(FAST)拐角的變體。第二類型的CV特征可為L(zhǎng)BP標(biāo)記的第二變體,或?yàn)閹Х?hào)的梯度直方圖(HSG)標(biāo)記。專用CV計(jì)算硬件可耦合到專用微處理器或應(yīng)用程序處理器。所述專用CV計(jì)算硬件可包含比較器、用于執(zhí)行加權(quán)總和運(yùn)算的電路,和/或電荷按比例縮放電路。在本發(fā)明的某些方面,所述專用CV計(jì)算硬件可經(jīng)配置以切換到第三模式以供計(jì)算第一類型的CV特征和第二類型的CV特征。所述專用CV計(jì)算硬件的一部分可使用旁通路徑旁通以計(jì)算第一類型的CV特征或第二類型的CV特征。
前述內(nèi)容已經(jīng)相當(dāng)寬泛地概述了實(shí)例的特征和技術(shù)優(yōu)點(diǎn),使得可以更好地理解下文的詳細(xì)描述。額外特征和優(yōu)點(diǎn)將在下文描述。所揭示的概念和具體實(shí)例可以容易地用作修改或設(shè)計(jì)用于執(zhí)行本發(fā)明的相同目的的其它結(jié)構(gòu)的基礎(chǔ)。此類等效構(gòu)造并不脫離所附權(quán)利要求書(shū)的精神和范圍。當(dāng)結(jié)合附圖考慮時(shí),關(guān)于本文中所揭示的概念的組織和操作方法的被認(rèn)為是所述概念的特性的特征連同相關(guān)聯(lián)的優(yōu)點(diǎn)一起將從以下描述得到更好理解。圖式中的每一者都僅出于說(shuō)明和描述的目的而提供且并不提供為對(duì)權(quán)利要求書(shū)的限制的界定。
附圖說(shuō)明
本發(fā)明的各方面作為實(shí)例來(lái)說(shuō)明。參考各圖式提供以下描述,其中相同參考標(biāo)號(hào)始終用以指代相同元件。雖然本文中描述一或多種技術(shù)的各種細(xì)節(jié),但其它技術(shù)也是可能的。在一些情況下,以框圖形式展示熟知結(jié)構(gòu)和裝置以便促進(jìn)描述各種技術(shù)。
可參考說(shuō)明書(shū)和圖式的其余部分來(lái)實(shí)現(xiàn)對(duì)由本發(fā)明提供的實(shí)例的性質(zhì)和優(yōu)點(diǎn)的進(jìn)一步理解,其中貫穿若干圖式使用相似參考標(biāo)號(hào)來(lái)指代類似組件。在一些情況下,子標(biāo)記與參考標(biāo)號(hào)相關(guān)聯(lián)以標(biāo)示多個(gè)類似組件中的一者。當(dāng)在未指定現(xiàn)有子標(biāo)記的情況下參考一參考標(biāo)號(hào)時(shí),所述參考標(biāo)號(hào)指代所有此類類似組件。
圖1說(shuō)明包括布置成2維陣列的多個(gè)傳感器元件的實(shí)例傳感器。
圖2說(shuō)明包括傳感器元件和像素內(nèi)電路的實(shí)例像素。
圖3說(shuō)明耦合到傳感器陣列的實(shí)例外圍電路。
圖4說(shuō)明耦合到專用CV處理模塊的實(shí)例傳感器元件陣列。
圖5說(shuō)明包括可配置塊的實(shí)例傳感器元件陣列。
圖6說(shuō)明根據(jù)本發(fā)明各方面的展示于圖5中的實(shí)例總和庫(kù)塊。
圖7說(shuō)明根據(jù)本發(fā)明各方面的展示于圖5中的取樣與保存塊的實(shí)例。
圖8說(shuō)明根據(jù)本發(fā)明各方面的展示于圖5中的函數(shù)庫(kù)的實(shí)例。
圖9說(shuō)明描述于圖5中的可配置塊的實(shí)例已選配置。
圖10A說(shuō)明用于執(zhí)行帶符號(hào)的梯度直方圖(HSG)運(yùn)算的實(shí)例傳感元件讀數(shù)。
圖10B說(shuō)明用于執(zhí)行線性二值模式(LBP)運(yùn)算的實(shí)例傳感元件讀數(shù)。
圖11是根據(jù)本發(fā)明的某些方面的實(shí)例流程圖。
圖12說(shuō)明來(lái)自傳感器陣列的描繪圖像的幀的多個(gè)傳感器讀數(shù)。
圖13A、13B、13C、13D和13E說(shuō)明用于產(chǎn)生用于傳感器元件的HSG標(biāo)記的直方圖的實(shí)例方法。
圖14說(shuō)明所檢測(cè)到的垂直邊緣、水平邊緣和無(wú)邊緣。
圖15A和15B說(shuō)明產(chǎn)生HSG標(biāo)記。
圖16說(shuō)明使用用于多個(gè)傳感器元件讀數(shù)的HSG標(biāo)記的實(shí)例直方圖。
圖17A、17B和17C說(shuō)明針對(duì)在時(shí)間和處的九個(gè)傳感器元件讀數(shù)的網(wǎng)格所執(zhí)行的實(shí)例計(jì)算。
圖18表示三個(gè)連續(xù)時(shí)鐘循環(huán)和
圖19提供可用于本發(fā)明的各方面的電荷經(jīng)縮放的電路的實(shí)例實(shí)施方案。
圖20說(shuō)明用于執(zhí)行根據(jù)本發(fā)明的某些方面的運(yùn)算的實(shí)例像素內(nèi)電路和/或外圍電路。
圖21提供可用于本發(fā)明的各方面的比較器的實(shí)例實(shí)施方案。
圖22說(shuō)明用于使用來(lái)自加速分段測(cè)試特征(FAST)拐角檢測(cè)特征的柏生漢姆(Bresenham)圓形。
圖23說(shuō)明在軟件中用于檢測(cè)拐角的實(shí)例計(jì)算時(shí)間段。
圖24說(shuō)明用于檢測(cè)FAST拐角DE實(shí)例硬件實(shí)施方案。
圖25說(shuō)明可在其中實(shí)施一或多個(gè)實(shí)施例的計(jì)算裝置的實(shí)例。
具體實(shí)施方式
現(xiàn)將相對(duì)于附圖描述若干說(shuō)明性實(shí)施例,所述附圖形成本文的部分。雖然下文描述可在其中實(shí)施本發(fā)明的一或多個(gè)方面的特定實(shí)施例,但在不脫離本發(fā)明的范圍或所附權(quán)利要求書(shū)的精神的情況下可使用其它實(shí)施例并可進(jìn)行各種修改。
各技術(shù)描述用于基于傳感器讀數(shù)產(chǎn)生經(jīng)計(jì)算的結(jié)果以供檢測(cè)例如邊緣、拐角等特征的設(shè)備和方法。所述傳感器設(shè)備可包含傳感器元件陣列,所述陣列包含多個(gè)傳感器元件。所述傳感器元件可被布置成2維陣列,例如列和行。所述傳感器元件可基于環(huán)境條件而能夠產(chǎn)生傳感器讀數(shù)。所述傳感器設(shè)備還可包含專用計(jì)算機(jī)視覺(jué)(CV)計(jì)算硬件,所述計(jì)算硬件包括用于通過(guò)在模式之間切換而以出自多個(gè)模式中的一個(gè)模式進(jìn)行運(yùn)算的可配置硬件塊。在某些實(shí)施例中,可通過(guò)使用開(kāi)關(guān)來(lái)執(zhí)行切換。開(kāi)關(guān)可包含晶體管、多個(gè)晶體管開(kāi)關(guān)電路或多路復(fù)用器。每一模式可使所述硬件能夠使用不同類型的CV特征計(jì)算技術(shù)檢測(cè)CV特征。
舉例來(lái)說(shuō),第一模式可用于使用線性二值模式(LBP)標(biāo)記計(jì)算一或多個(gè)二維(2D)分塊的CV特征,第二模式可用于使用帶符號(hào)的梯度直方圖(HSG)標(biāo)記計(jì)算所述CV特征,且第三模式可用于使用加速分段測(cè)試特征(FAST)拐角計(jì)算CV特征。每一2D分塊可包含來(lái)自傳感器元件陣列中的傳感器元件的子集的讀數(shù)。在一個(gè)實(shí)施方案中,來(lái)自傳感器元件的傳感器元件陣列的傳感器讀數(shù)的CV特征由專用CV計(jì)算硬件以串行方式計(jì)算。
在一些實(shí)施方案中,所述專用CV計(jì)算硬件的可配置塊可包含用于執(zhí)行加權(quán)總和運(yùn)算的比較器和電路。在一個(gè)實(shí)施方案中,電荷按比例縮放電路可用于執(zhí)行加權(quán)總和運(yùn)算。在一個(gè)實(shí)施方案中,所述配置電路的部分可使用旁通路徑旁通以執(zhí)行某些CV運(yùn)算。在其它實(shí)施方案中,多路復(fù)用器可用于選擇某些輸入和輸出以供執(zhí)行CV運(yùn)算。
可配置塊可允許同一傳感器設(shè)備和相關(guān)聯(lián)的邏輯/電路以不同模式使用,以使用不同技術(shù)計(jì)算一或多個(gè)2D分塊的CV特征。舉例來(lái)說(shuō),在一個(gè)實(shí)施方案中,控制邏輯可控制所述可配置塊,使得使用所述可配置塊執(zhí)行HSG運(yùn)算。在另一個(gè)實(shí)施方案中,所述控制邏輯可控制所述可配置塊,使得使用所述可配置塊執(zhí)行LBP運(yùn)算。在一個(gè)實(shí)施方案中,所述控制邏輯中的模式或值可存儲(chǔ)在SRAM中以供以不同模式執(zhí)行運(yùn)算。雖然本發(fā)明論述產(chǎn)生HSG和LBP標(biāo)記以及FAST拐角檢測(cè),但在不背離本發(fā)明的范圍的情況下可使用類似技術(shù)以產(chǎn)生不同類型的CV特征。
舉例來(lái)說(shuō),在某些實(shí)施方案中,不同類型的CV特征還可包含計(jì)算LBP標(biāo)記的變體。此類變體可包含(CS)-LBP,其中未考慮中心像素/塊,并比較在中心塊周圍的所有相對(duì)拐角/邊緣,且因此產(chǎn)生4個(gè)比較標(biāo)記,所述比較標(biāo)記接著表示LBP標(biāo)記并且以與先前描述的LBP相同的方式使用。其它變體包含但不限于“分塊對(duì)稱”LBP(其中在比較中未考慮中心像素/塊,而是計(jì)算出整個(gè)3×3分塊的平均值,且接著將每一邊緣/拐角與平均值進(jìn)行比較)和“局部三值模式(local tertiary pattern;LTP)”(不只是包含1或零而是可包含+1、0和-1的結(jié)果的LBP的變體;零意指差值在閾值以下,且+1和-1意指差值大于閾值但還考慮差值的正負(fù)號(hào))。
傳感器可包含多個(gè)傳感器元件的傳感器元件陣列。所述傳感器元件陣列可為包含以傳感器元件陣列的兩個(gè)維度(例如列和行)布置的傳感器元件的2維陣列。所述傳感器元件中的每一者可基于環(huán)境條件而能夠產(chǎn)生傳感器讀數(shù)。在某些實(shí)施方案中,所述傳感器可為視覺(jué)傳感器且可基于入射在傳感器元件上的光產(chǎn)生傳感器讀數(shù)。圖1說(shuō)明包括布置成2維陣列的多個(gè)傳感器元件的實(shí)例傳感器100。在圖1中,傳感器100的說(shuō)明表示傳感器元件陣列中的64個(gè)(8×8)傳感器元件。在各種實(shí)施方案中,在不脫離本發(fā)明的范圍的情況下,傳感器元件的形狀、傳感器元件的數(shù)目和傳感器元件之間的間距可極大地變化。傳感器元件102表示來(lái)自64個(gè)傳感器元件網(wǎng)格的實(shí)例傳感器元件。
在某些實(shí)施方案中,傳感器元件可具有被實(shí)施為耦合到所述傳感器元件的像素內(nèi)電路(計(jì)算結(jié)構(gòu))的專用CV計(jì)算硬件。在一些實(shí)施方案中,傳感器元件和像素內(nèi)電路一起可被稱為像素。由耦合到傳感器元件的像素內(nèi)電路執(zhí)行的處理可被稱為像素內(nèi)處理。在一些情況下,所述傳感器元件陣列可被稱為像素陣列,差異在于像素陣列包含傳感器元件和與每一傳感器元件相關(guān)聯(lián)的像素內(nèi)電路兩者。圖2說(shuō)明具有傳感器元件202和像素內(nèi)電路204的實(shí)例像素200。在某些實(shí)施方案中,像素內(nèi)電路204可為模擬電路、數(shù)字電路或其任何組合。
在某些實(shí)施方案中,所述傳感器元件陣列可具有實(shí)施為耦合到一組傳感器元件的外圍電路(計(jì)算結(jié)構(gòu))的專用CV計(jì)算硬件。此類外圍電路可被稱為芯片上傳感器電路。圖3說(shuō)明耦合到傳感器元件陣列302的實(shí)例外圍電路(304和306)。
此外,如圖4中所展示,在某些實(shí)施方案中,所述傳感器元件陣列可具有實(shí)施為耦合到傳感器元件陣列402的專用CV處理模塊404和使用專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、嵌入型微處理器或任何類似模擬或數(shù)字計(jì)算邏輯來(lái)實(shí)施以用于執(zhí)行本發(fā)明的各方面的專用CV計(jì)算硬件。在某些實(shí)施方案中,實(shí)施為專用CV處理模塊404的專用CV計(jì)算硬件可經(jīng)配置以執(zhí)行存儲(chǔ)在非暫時(shí)性計(jì)算機(jī)可讀媒體上以用于計(jì)算CV特征的指令。
應(yīng)注意,至少在某些實(shí)施方案中,專用CV處理模塊404是對(duì)應(yīng)用程序處理器406的添加而非替代應(yīng)用程序處理器406。舉例來(lái)說(shuō),專用CV處理模塊404可處理和/或檢測(cè)計(jì)算機(jī)視覺(jué)特征,而應(yīng)用程序處理器406可接收這些所檢測(cè)到的計(jì)算機(jī)視覺(jué)特征的指示并進(jìn)行與先前存儲(chǔ)的圖像或參考指示符的模式匹配以確定宏特征,例如笑容、人臉、對(duì)象等。另外,應(yīng)用程序處理器406可相對(duì)極大地更復(fù)雜、計(jì)算更密集、高度耗電,并且負(fù)責(zé)執(zhí)行例如操作系統(tǒng)操作的系統(tǒng)級(jí)操作,實(shí)施與用戶互動(dòng)的用戶接口,執(zhí)行裝置的電力管理,管理存儲(chǔ)器和其它資源等。應(yīng)用程序處理器406可類似于圖25的處理器2510。
此外,本發(fā)明的各方面可實(shí)施于像素內(nèi)電路、外圍電路中,或?qū)S肅V處理模塊中,或其任何組合中。又,本發(fā)明的各方面可實(shí)施于模擬域和/或數(shù)字域或其任何組合中。
如本文中所描述,專用CV計(jì)算硬件至少部分基于與接近目標(biāo)傳感器元件的多個(gè)相鄰傳感器元件相關(guān)聯(lián)的信號(hào)來(lái)計(jì)算目標(biāo)傳感器元件中的每一者的CV特征或局部化CV特征。
如本文中所描述,相對(duì)接近目標(biāo)傳感器元件的傳感器元件可被稱為相鄰傳感器元件。在本發(fā)明的某些方面中,相鄰傳感器元件可包含緊鄰所述目標(biāo)傳感器元件的傳感器元件。在本發(fā)明的某些其它方面中,相鄰傳感器元件還可包含相對(duì)接近于所述目標(biāo)傳感器元件但不緊鄰的傳感器元件。舉例來(lái)說(shuō),在某些情況下,當(dāng)數(shù)個(gè)傳感器的寬度或高度為六十四個(gè)傳感器元件時(shí),距所述目標(biāo)傳感器元件三個(gè)傳感器元件范圍內(nèi)的傳感器元件可仍被視為相鄰傳感器元件。
如本文中所描述,CV特征或局域化CV特征可指代檢測(cè)低層級(jí)CV標(biāo)志或指示符,例如與每一傳感器元件或所述傳感器的像素相關(guān)聯(lián)的標(biāo)記。舉例來(lái)說(shuō),標(biāo)記可包含傳感器元件的LBP標(biāo)記。傳感器元件的LBP標(biāo)記可通過(guò)比較所述傳感器元件的傳感器讀數(shù)與其相鄰傳感器元件中的一些的傳感器讀數(shù)來(lái)產(chǎn)生。LBP標(biāo)記可指示來(lái)自所述傳感器元件的參考的CV特征是否表示邊緣、拐角、曲線、點(diǎn)等。在不背離本發(fā)明的范圍的情況下,例如HSG、FAST拐角檢測(cè)或LBP的其它合適變體的其它技術(shù)可用于檢測(cè)CV特征。
根據(jù)本發(fā)明的各方面,多種不同傳感器可根據(jù)本發(fā)明的各方面予以改善。實(shí)例傳感器可包含光傳感器、嗅覺(jué)傳感器和/或化學(xué)傳感器。雖然貫穿本發(fā)明論述光傳感器,但在不背離本發(fā)明的范圍的情況下可在其它類型的傳感器中使用類似技術(shù)。
圖5說(shuō)明包括傳感器元件502、控制邏輯516和可配置塊504到514的實(shí)例傳感器設(shè)備。在一個(gè)實(shí)施方案中,如圖2、3和4中所展示,包括所述可配置塊的專用CV計(jì)算硬件可實(shí)施于像素內(nèi)電路204、外圍電路304、專用CV處理模塊404或其任何組合中。圖5中的實(shí)例電路包含第一多路復(fù)用器504(MUX 1)、總和庫(kù)506、取樣與保存庫(kù)508、第二多路復(fù)用器510(MUX 2)、函數(shù)庫(kù)512和第三多路復(fù)用器514(MUX 3)。在一些實(shí)施方案中,所述總和庫(kù)506可為加權(quán)總和庫(kù)。每一庫(kù)可任選地具有旁通路徑。在某些模式中,多路復(fù)用器可經(jīng)配置以將參考電壓或接地連接到輸出。通過(guò)實(shí)施中間多路復(fù)用并旁通某些塊,可使若干電路組合能夠以串行方式或并行方式執(zhí)行各種運(yùn)算。
可配置塊可允許同一傳感器設(shè)備和相關(guān)聯(lián)的塊以不同模式使用,以使用不同計(jì)算技術(shù)計(jì)算一或多個(gè)2D分塊的不同類型的CV特征。舉例來(lái)說(shuō),在一個(gè)實(shí)施方案中,控制邏輯516可控制所述塊,使得使用所述可配置塊執(zhí)行HSG運(yùn)算。在另一個(gè)實(shí)施方案中,控制邏輯516可控制所述塊,使得使用所述可配置塊產(chǎn)生LBP標(biāo)記。在一個(gè)實(shí)施方案中,控制邏輯中的模式或值可存儲(chǔ)在靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)或任何其它合適的存儲(chǔ)緩沖器中以供以不同模式執(zhí)行運(yùn)算。
在某些實(shí)施方案中,可使用圖5中所論述的可配置塊以串行方式產(chǎn)生針對(duì)來(lái)自多個(gè)傳感器元件的傳感器元件中的每一者的例如LBP或HSG標(biāo)記或FAST拐角的CV特征。舉例來(lái)說(shuō),參考圖4,傳感器讀數(shù)可由專用CV處理模塊404接收。專用CV處理模塊404可使用來(lái)自目標(biāo)傳感器元件和對(duì)應(yīng)的傳感器元件組的傳感器讀數(shù)以串行方式產(chǎn)生用于傳感器元件中的每一者的標(biāo)記。在某些實(shí)施例中,以串行方式產(chǎn)生標(biāo)記可允許僅針對(duì)具有事件的傳感器讀數(shù)選擇性地產(chǎn)生標(biāo)記。另外,以串行方式產(chǎn)生標(biāo)記允許減少產(chǎn)生標(biāo)記所需的硬件,因?yàn)橄嗤布糜谝佬虍a(chǎn)生多個(gè)標(biāo)記。隨著處理技術(shù)的進(jìn)步,計(jì)算此類類型的CV特征所需的簡(jiǎn)單相加和比較計(jì)算可在高速度下以串行方式執(zhí)行,從而部分地緩解對(duì)以串行方式產(chǎn)生標(biāo)記的某些速度擔(dān)憂。
圖6說(shuō)明根據(jù)本發(fā)明各方面的展示于圖5中的實(shí)例總和庫(kù)。在一個(gè)實(shí)施方案中,總和庫(kù)506可包含若干開(kāi)關(guān)和電容器,如圖6中所描繪。開(kāi)關(guān)可包含晶體管、多個(gè)晶體管開(kāi)關(guān)電路或多路復(fù)用器。
在一個(gè)實(shí)施方案中,在期間,輸入電壓可寫(xiě)入在所述電容器上。在期間,電容器可短接在一起以計(jì)算可在輸出線處可得的加權(quán)平均值。所述電容器可為不同或相等值。在一個(gè)實(shí)施方案中,如圖6中所展示,可包含任選的旁通路徑以旁通所述電容器和所述求和運(yùn)算。在某些實(shí)施方案中,所述任選的旁通路徑可通過(guò)在控制邏輯516中編程合適的值而使用多路復(fù)用器進(jìn)行選擇。
圖7說(shuō)明根據(jù)本發(fā)明各方面的展示于圖5中的實(shí)例取樣與保存塊508。在一個(gè)實(shí)施方案中,取樣與保存塊508可包含若干開(kāi)關(guān)和電容器,如圖7中所描繪。開(kāi)關(guān)可包含晶體管、多個(gè)晶體管開(kāi)關(guān)電路或多路復(fù)用器。
在一個(gè)實(shí)施方案中,取樣與保存塊508的輸入值可使用電容器在時(shí)間t1處高速緩沖存儲(chǔ)。在稍后的時(shí)間t2處,存儲(chǔ)在取樣與保存塊508中的值可通過(guò)切換轉(zhuǎn)遞到所述旁通路徑。隨后的電路可將舊值與當(dāng)前值進(jìn)行比較以產(chǎn)生所述兩個(gè)值之間的時(shí)間對(duì)比。
圖8說(shuō)明根據(jù)本發(fā)明各方面的展示于圖5中的實(shí)例函數(shù)庫(kù)。函數(shù)塊512可提供用于一或多個(gè)函數(shù)的邏輯。實(shí)例函數(shù)可包含比較器、最大值、入選方通得、最小值、落選方通得函數(shù)。如圖8中所展示,在一個(gè)實(shí)例實(shí)施方案中,所述函數(shù)塊可包含非線性(例如,整流器/ReLu(經(jīng)整流的線性單元))和S型放大器。
圖9說(shuō)明描述于圖5中的可配置塊的實(shí)例已選配置。與圖5相比,展示于圖9中的塊中的一些以經(jīng)由控制邏輯516所配置的具體方式起作用。再次,與圖5相比,一些塊未在圖9中展示,因?yàn)橥ㄟ^(guò)取消選擇那些塊或?qū)ζ溥M(jìn)行配置使得其充當(dāng)徑直轉(zhuǎn)遞邏輯(例如,使用旁通邏輯),那些塊以此方式配置起作用,就像其并未出現(xiàn)在信號(hào)路徑中一樣。
具體來(lái)說(shuō),圖9經(jīng)配置以執(zhí)行HSG運(yùn)算。所述多路復(fù)用器(504和510)可經(jīng)配置以切換所述可配置塊的運(yùn)算以執(zhí)行HSG運(yùn)算。加權(quán)總和庫(kù)506可操作為單個(gè)加權(quán)總和塊。如圖6中所展示,加權(quán)總和庫(kù)506可具有三個(gè)輸入,且分別為電容器值1C、3C和1C。取樣與保存塊510未被展示,且可經(jīng)配置以充當(dāng)徑直轉(zhuǎn)遞或旁通塊。函數(shù)庫(kù)512可配置為比較器。
如圖10A中所展示,2D分塊的HSG CV特征可使用來(lái)自圖9的實(shí)例電路進(jìn)行計(jì)算。舉例來(lái)說(shuō),圖10A說(shuō)明所感測(cè)的傳感器元件的讀數(shù)和用于HSG運(yùn)算的以2D矩陣組織的梯度系數(shù)。所述可配置電路可如此使用控制邏輯516配置以計(jì)算HSG CV特征。對(duì)于計(jì)算與R2C2相關(guān)聯(lián)的HSG標(biāo)記,來(lái)自相鄰傳感器元件/像素R1C1(3)、R1C2(4)和R1C3(2)的值可使用MUX 504選擇為到加權(quán)總和庫(kù)的輸入。類似地且同時(shí)地,在鄰近像素或外圍區(qū)中的電路可使用MUX 504選擇R3C1、R3C2和R3C3以供計(jì)算所述行的相應(yīng)加權(quán)總和。
此外,MUX 510可經(jīng)配置以將所述行的加權(quán)總和傳遞到比較器,以將來(lái)自第一行的加權(quán)總和與來(lái)自由加權(quán)總和組506產(chǎn)生的第三行的加權(quán)總和進(jìn)行比較以提供Gy分量以供確定HSG標(biāo)記。類似地,垂直梯度分量和/或?qū)翘荻确至靠赏ㄟ^(guò)使用控制邏輯516選擇合適的塊而使用相同電路產(chǎn)生。
如圖10B中所展示,展示于圖5中的相同電路還可用于在未使用旁通路徑的情況下計(jì)算一或多個(gè)2D分塊的LBP CV特征。舉例來(lái)說(shuō),為了比較R2C2與R1C1,以上電路可經(jīng)配置以使用MUX 504選擇R1C1作為到加權(quán)總和庫(kù)506的輸入并將其它輸入接地。類似地且同時(shí)地,在鄰近像素或外圍區(qū)中的電路可選擇R2C2。此外,MUX 510可經(jīng)配置以選擇R1C1和R2C2以發(fā)送到比較器以供比較。類似地,在一個(gè)實(shí)施方案中,其它像素可使用同一電路(用于其它比較以及用于HSG計(jì)算的電路)與R2C2的值進(jìn)行比較以產(chǎn)生針對(duì)R2C2的LBP標(biāo)記。
在圖5中所描述的電路的一個(gè)變化形式中,旁通路徑可經(jīng)實(shí)施以用于加權(quán)總和庫(kù)506。此外,所述電路可包含三個(gè)輸入,且分別為電容器1C、3C和1C。由于所述HSG計(jì)算利用加權(quán)總和,控制邏輯516可與圖9中已描述的情況類似或相同以供產(chǎn)生HSG標(biāo)記。然而,為了產(chǎn)生其中未使用加權(quán)總和的LBP標(biāo)記,可使用旁通路徑以避免加重強(qiáng)度電壓。在圖10B中所描述的實(shí)例中,R1C1像素值可旁通加權(quán)總和庫(kù)506且經(jīng)選擇以在所述比較器處被比較。在一個(gè)實(shí)施方案中,加權(quán)總和電路506的其它三個(gè)輸入被接地。
除上文所論述的LBP標(biāo)記以外,不同類型的CV特征還可包含所述計(jì)算LBP標(biāo)記的變體。此類變體可包含(CS)-LBP,其中未考慮中心像素/塊,并比較在中心塊周圍的所有相對(duì)拐角/邊緣,且因此產(chǎn)生4個(gè)比較標(biāo)記,所述比較標(biāo)記接著表示LBP標(biāo)記并且以與先前描述的LBP相同的方式使用。其它變體包含但不限于“分塊對(duì)稱”LBP(其中在比較中未考慮中心像素/塊,而是計(jì)算出整個(gè)3×3分塊的平均值,且接著將每一邊緣/拐角與平均值進(jìn)行比較)和“局部三值模式(LTP)”(不只是包含1或零而是可包含+1、0和-1的結(jié)果的LBP的變體;零意指差值在閾值以下,且+1和-1意指差值大于閾值但還考慮差值的正負(fù)號(hào))。
圖11是根據(jù)本發(fā)明的某些方面的實(shí)例流程圖??捎呻娐坊蜻壿媹?zhí)行過(guò)程1100(或本文中所描述的任何其它過(guò)程或其變體及/或組合)中的一些或全部。所述電路或邏輯可實(shí)施在像素內(nèi)電路、外圍電路或?qū)S肅V處理模塊、或其任何組合中。在一些情況下,可使用執(zhí)行于數(shù)字電路上且存儲(chǔ)在非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)媒體上的指令來(lái)實(shí)施所述邏輯的全部或部分。
在框1102處,傳感器設(shè)備的組件接收基于入射在多個(gè)傳感器元件上的光的傳感器讀數(shù)。所述多個(gè)傳感器元件形成傳感器元件陣列。此外,所述多個(gè)傳感器元件沿著所述傳感器元件陣列的至少一第一維度和第二維度布置。
在框1104處,傳感器設(shè)備的組件確定操作專用CV計(jì)算硬件的模式,所述專用CV計(jì)算硬件能夠接收來(lái)自所述傳感器元件陣列的圖像數(shù)據(jù),并且包括硬件塊。所述硬件塊可配置以基于來(lái)自一或多個(gè)2D分塊中的每一者中的傳感器元件的信號(hào)而以串行方式計(jì)算一或多個(gè)2D分塊的CV特征,所述一或多個(gè)2D分塊包括所述傳感器元件陣列內(nèi)的多個(gè)目標(biāo)傳感器元件。所述專用CV計(jì)算硬件可包含開(kāi)關(guān)以允許所述CV計(jì)算硬件在第一模式中計(jì)算2D分塊的第一類型的CV特征且在第二模式中計(jì)算2D分塊的第二類型的CV特征。
在某些實(shí)施方案中,可使用圖5或其它圖中所論述的可配置塊以串行方式產(chǎn)生/檢測(cè)針對(duì)來(lái)自多個(gè)傳感器元件的傳感器元件中的每一者的例如LBP或HSG標(biāo)記或FAST拐角的CV特征。舉例來(lái)說(shuō),參考圖4,傳感器讀數(shù)可由專用CV處理模塊404接收。專用CV處理模塊404可使用來(lái)自目標(biāo)傳感器元件和對(duì)應(yīng)的傳感器元件組的傳感器讀數(shù)以串行方式產(chǎn)生用于傳感器元件中的每一者的標(biāo)記。在某些實(shí)施例中,以串行方式產(chǎn)生標(biāo)記可允許僅針對(duì)具有事件的傳感器讀數(shù)選擇性地產(chǎn)生標(biāo)記。另外,以串行方式產(chǎn)生標(biāo)記允許減少產(chǎn)生標(biāo)記所需的硬件,因?yàn)橄嗤布糜谝佬虍a(chǎn)生多個(gè)標(biāo)記。隨著處理技術(shù)的進(jìn)步,計(jì)算此類類型的CV特征所需的簡(jiǎn)單相加和比較計(jì)算可在高速度下以串行方式執(zhí)行,從而部分地緩解對(duì)以串行方式產(chǎn)生標(biāo)記的某些速度擔(dān)憂。
所述專用CV計(jì)算硬件可實(shí)施于像素內(nèi)電路204、外圍電路304、專用CV處理模塊404或其任何組合中。第一類型的CV特征和第二類型的CV特征可彼此不同且可能是產(chǎn)生/檢測(cè)LBP標(biāo)記、HSG標(biāo)記、FAST拐角或其它類型的CV特征中的一者。
在某些實(shí)施例中,所述專用CV計(jì)算硬件可包括比較器、加權(quán)總和運(yùn)算、“與”門、“或”門和/或電荷按比例縮放電路。在某些實(shí)施方案中,旁通邏輯可用于從一個(gè)模式切換到另一模式。
在框1106處,傳感器設(shè)備的組件基于所確定的模式將專用CV計(jì)算硬件切換到第一模式或第二模式以供計(jì)算對(duì)應(yīng)類型的CV特征。
應(yīng)了解,根據(jù)一個(gè)實(shí)施例,在圖11中說(shuō)明的具體步驟提供了一種在運(yùn)算模式之間切換的特定方法。在替代性實(shí)施例中也可執(zhí)行其它步驟順序。舉例來(lái)說(shuō),替代性實(shí)施例可以不同次序執(zhí)行上文概述的步驟/框。為進(jìn)行說(shuō)明,用戶可選擇從第三操作模式改變?yōu)榈谝徊僮髂J?、從第四模式改變?yōu)榈诙J剑蚱溟g的任何組合。此外,圖11中說(shuō)明的個(gè)別步驟/框可包含可以適合所述個(gè)別步驟的各種順序執(zhí)行的多個(gè)子步驟。此外,可取決于特定應(yīng)用而添加或移除額外的步驟/框。所屬領(lǐng)域的一般技術(shù)人員應(yīng)認(rèn)識(shí)并了解所述過(guò)程的許多變化、修改和替代例。
上文所論述的本發(fā)明的各方面能夠?qū)崿F(xiàn)使用HSG運(yùn)算計(jì)算CV特征,并且還在使用HSG計(jì)算CV特征和使用LBP計(jì)算CV特征之間切換。圖12到21揭示用于加速對(duì)用于計(jì)算機(jī)視覺(jué)的HSG的計(jì)算的額外技術(shù)。
用于CV特征的HSG計(jì)算的硬件加速
除在以上圖中所描述的技術(shù)之外,還描述用于產(chǎn)生針對(duì)來(lái)自傳感器元件的傳感器讀數(shù)的HSG標(biāo)記的額外技術(shù)。描述一種用于通過(guò)基于傳感器讀數(shù)產(chǎn)生經(jīng)計(jì)算的結(jié)果而檢測(cè)例如邊緣、拐角等特征的設(shè)備和方法。描述用于通過(guò)比較兩組相鄰傳感器元件的加權(quán)總和而產(chǎn)生針對(duì)傳感器元件中的每一者的HSG標(biāo)記的專用CV計(jì)算硬件。
描述用于基于傳感器讀數(shù)而產(chǎn)生經(jīng)計(jì)算的結(jié)果的方法和設(shè)備。所述傳感器讀數(shù)可來(lái)自包括多個(gè)傳感器元件的傳感器元件陣列。所述傳感器元件可沿著所述傳感器元件陣列的至少一第一維度和第二維度布置。所述傳感器元件中的每一者可基于環(huán)境條件而能夠產(chǎn)生傳感器讀數(shù)。用于執(zhí)行所述方法的設(shè)備可包含專用CV計(jì)算硬件。所述專用CV計(jì)算硬件可實(shí)施于耦合到所述傳感器元件的像素內(nèi)電路204、耦合到所述傳感器元件陣列的外圍電路304或?qū)S肅V處理模塊404中,且經(jīng)配置以接收來(lái)自多個(gè)傳感器元件的輸出。所述專用CV計(jì)算硬件可包含經(jīng)配置以通過(guò)比較兩組相鄰傳感器元件的加權(quán)總和而產(chǎn)生針對(duì)所述傳感器元件中的每一者的HSG標(biāo)記的計(jì)算結(jié)構(gòu)。在某些實(shí)施例中,所述計(jì)算結(jié)構(gòu)可包含三個(gè)電容器,其中每一電容器接收來(lái)自相鄰傳感器元件的所施加電壓。在某些其它實(shí)施例中,所述計(jì)算結(jié)構(gòu)包括用于對(duì)來(lái)自三個(gè)相鄰傳感器元件的電壓進(jìn)行倍增和求和的電荷按比例縮放電路。在某些其它實(shí)施例中,所述計(jì)算結(jié)構(gòu)包括計(jì)算僅針對(duì)三個(gè)相鄰感測(cè)元件的梯度的總和、并且重新使用所述感測(cè)元件的總和以用于額外三個(gè)相鄰元件以產(chǎn)生用于所參考的傳感器元件的HSG標(biāo)記。所述HSG標(biāo)記可針對(duì)所述傳感器元件中的每一者而產(chǎn)生以供檢測(cè)用于計(jì)算機(jī)視覺(jué)應(yīng)用的邊緣。
圖12說(shuō)明來(lái)自傳感器元件陣列的描繪圖像1200的幀的一組傳感器讀數(shù)。在一些情況下,來(lái)自所述傳感器元件陣列的每一傳感器讀數(shù)可被稱為圖像像素值。所述圖像的每一部分可包含來(lái)自多個(gè)傳感器元件的值。在一個(gè)實(shí)施方案中,可針對(duì)多個(gè)傳感器元件(例如塊1202的傳感器元件)產(chǎn)生直方圖。此種直方圖可表示關(guān)于所述多個(gè)傳感器元件1202的某些宏特征和信息。所述直方圖可基于統(tǒng)計(jì)學(xué)或探試法加以分析以供識(shí)別來(lái)自所述多個(gè)傳感器讀數(shù)1202的特征。在一個(gè)實(shí)施方案中,所述直方圖可與已存儲(chǔ)的直方圖進(jìn)行匹配。
在一個(gè)實(shí)施方案中,HSG可用于產(chǎn)生與所述直方圖的傳感器讀數(shù)相關(guān)聯(lián)的值。圖13A到E、圖14和15A及15B說(shuō)明用于確定傳感器元件的HSG標(biāo)記的實(shí)例技術(shù)。圖16描述使用此類HSG標(biāo)記產(chǎn)生直方圖。
圖13A說(shuō)明由傳感元件感測(cè)到的具有中心圖像像素值“5”(R2C2)連同八個(gè)相鄰圖像像素值的若干實(shí)例圖像像素值。展示于圖13A中的值是圖12中展示為塊1202的來(lái)自針對(duì)圖像1200的傳感器讀數(shù)的幀的相同圖像像素值。HSG標(biāo)記可針對(duì)每一傳感元件位置而產(chǎn)生。以下步驟(13B到13E、14A和14B)描述產(chǎn)生針對(duì)來(lái)自圖13A的R2C2(即,1302)的HSG標(biāo)記的過(guò)程。
圖13B說(shuō)明包括針對(duì)x軸的梯度系數(shù)的實(shí)例2維垂直邊緣檢測(cè)矩陣。在圖13B中,塊1202表示I,且展示于塊1202中的每一值乘以來(lái)自展示于圖13B中的2D垂直邊緣檢測(cè)矩陣的對(duì)應(yīng)值。來(lái)自所述相乘的所得值展示于圖13C中的2D陣列中。舉例來(lái)說(shuō),來(lái)自圖13A的R1C1處的值(即,“7”)乘以來(lái)自圖13B的Gx的-0.3,得到在圖13C處對(duì)應(yīng)于來(lái)自圖13A的R1C1的位置中的-2.1。類似地,來(lái)自圖13A的R2C3(即,“3”)乘以來(lái)自圖13B的Gx的1,得到在圖13C處對(duì)應(yīng)于來(lái)自圖13A的R2C3的位置中的3。展示于圖13C中的所有值一起求和,從而得到所述梯度的最終值或總和(即,-6.6)。
圖13D說(shuō)明包括針對(duì)y軸的梯度系數(shù)的實(shí)例2維水平邊緣檢測(cè)矩陣。在圖13D中,塊402表示I,且展示于塊402中的每一值乘以來(lái)自展示于圖13D中的2D水平邊緣檢測(cè)矩陣的對(duì)應(yīng)值。來(lái)自所述相乘的所得值展示于圖13E中的2D陣列中。舉例來(lái)說(shuō),來(lái)自圖13A的R1C1處的值(即,“7”)乘以來(lái)自圖13D的Gy的-0.3,得到在圖13E處對(duì)應(yīng)于來(lái)自圖13A的R1C1的位置中的-2.1。類似地,來(lái)自圖13A的R2C3(即,“3”)乘以來(lái)自圖13D的Gx的0,得到在圖13E處對(duì)應(yīng)于來(lái)自圖13A的R2C3的位置中的0。展示于圖13E中的所有值一起求和,從而得到所述梯度的最終值或總和(即,-6.4)。
圖14說(shuō)明所檢測(cè)到的針對(duì)傳感器元件位置的垂直邊緣特征、水平邊緣特征和無(wú)邊緣。每一邊緣符號(hào)分量可能為正或?yàn)樨?fù)。因此,對(duì)于兩個(gè)方向邊緣的每一像素存在四個(gè)可能性。舉例來(lái)說(shuō),如圖15A中所展示,針對(duì)傳感器元件的所檢測(cè)到的Gx的負(fù)值和所檢測(cè)到的Gy的正值可將所述傳感器元件位置與左上象限相關(guān)聯(lián)。類似地,針對(duì)傳感器元件的所檢測(cè)到的Gx的正值和所檢測(cè)到的Gy的負(fù)值可將所述傳感器元件位置與右下象限相關(guān)聯(lián)。
如圖15B中所說(shuō)明,來(lái)自與圖像像素相關(guān)聯(lián)的一組傳感器元件位置的每一傳感器元件位置可與基于圖15A中所確定的象限的標(biāo)記相關(guān)聯(lián)。因此,如果20個(gè)傳感器元件屬于一組傳感元件,那么那些圖像像素中的每一者會(huì)具有與所述傳感器元件相關(guān)聯(lián)的標(biāo)記。雖然圖15B中所指派的標(biāo)記是A、B、C和D,但也可產(chǎn)生第五標(biāo)記“E”。在一個(gè)實(shí)施方案中,“E”標(biāo)記可能僅在圖13C或圖13E中的求和運(yùn)算產(chǎn)生相應(yīng)軸的零或接近零(例如,在-0.5到0.5之間的范圍)的結(jié)果時(shí)產(chǎn)生。
用于來(lái)自一組傳感元件的傳感元件中的每一者的標(biāo)記被用于產(chǎn)生所述組傳感元件的直方圖。舉例來(lái)說(shuō),如圖16中所展示,出自與圖像的幀相關(guān)聯(lián)的20個(gè)傳感元件讀數(shù)的5個(gè)圖像像素可被標(biāo)記為“A”,8個(gè)圖像像素可被標(biāo)記為“B”,3個(gè)圖像像素可被標(biāo)記為“C”,4個(gè)圖像像素可被標(biāo)記為“D”,且0個(gè)圖像像素可被標(biāo)記為“E”。
應(yīng)注意,展示于圖16中的直方圖并非按比例繪制或基于所計(jì)算的值,而是簡(jiǎn)單地表示直方圖的視覺(jué)說(shuō)明。所產(chǎn)生的直方圖可用于檢測(cè)計(jì)算機(jī)視覺(jué)的特征。舉例來(lái)說(shuō),某些直方圖模式可表示來(lái)自所述傳感器元件陣列的傳感器元件的傳感器讀數(shù)中的拐角、邊緣等。
圖17A到C說(shuō)明使用電路產(chǎn)生表示在任何給定傳感器元件處所檢測(cè)到的邊緣和拐角的HSG標(biāo)記的過(guò)程。所產(chǎn)生的HSG標(biāo)記可用于產(chǎn)生如圖16中所描述的用于更復(fù)雜特征檢測(cè)的直方圖。本質(zhì)上,所述直方圖表示由多個(gè)傳感器讀數(shù)的一組HSB標(biāo)記表示的不同特征的分組。
圖17A到C可大幅度減少用于檢測(cè)任何給定像素的HSG標(biāo)記的功率并增大檢測(cè)效率,所述HSG標(biāo)記用于檢測(cè)任何給定傳感讀數(shù)的垂直或水平邊緣的指示。在一個(gè)實(shí)施方案中,鄰近微控制器、專用微處理器或計(jì)算機(jī)系統(tǒng)可接收來(lái)自傳感器的HSG標(biāo)記,并且由所述HSG標(biāo)記產(chǎn)生直方圖以供更復(fù)雜的特征檢測(cè)。
圖17A、17B和17C說(shuō)明根據(jù)本發(fā)明的實(shí)施例的分別用于兩個(gè)時(shí)鐘周期和期間(展示于圖18中)的垂直邊緣檢測(cè)的實(shí)例技術(shù)。從圖17A到圖17B,列C1的值(7、9和3)使用與圖20中所描述的電路類似的電路從上到下有效地乘以無(wú)符號(hào)梯度系數(shù)(0.3、1和0.3),且所得值存儲(chǔ)在R2C2處,如圖9B的R2C2處所展示(即,0.3*7+9*1*3*0.3=12)。根據(jù)本發(fā)明的各方面,由于圖20中所描述的電路執(zhí)行比較,梯度系數(shù)的符號(hào)隱含在所述比較的次序中。
如應(yīng)注意,相比于圖13,圖9A-C和圖20的各方面針對(duì)每一軸僅使用三個(gè)無(wú)符號(hào)梯度系數(shù)而非值陣列。
類似地,在列C2處的值(8、5和4)和在C3處的值(6、3和2)也使用與圖20中所描述的電路類似的電路從上到下有效地乘以梯度系數(shù)(0.3、1和0.3),且所得值分別存儲(chǔ)在R2C3處(8*0.3+5*1+5*0.3=8.9)和R2C4處(6*0.3+3*1+2*0.3=5.4)。
雖然全部三列的值在圖17B中展示為已被計(jì)算,但僅需要來(lái)自列C1和列C3的加權(quán)總和所得值以用于確定R2C2處的梯度Gx以供確定R2C2的標(biāo)記。如圖17C中所展示,在時(shí),執(zhí)行C1的值的加權(quán)總和(即,12)與C3的值的加權(quán)總和(即,5.4)之間的比較以導(dǎo)出R2C2的標(biāo)記的象限(如圖15A或15B中所展示)的x分量。如圖17C中所展示,所描述的比較取消對(duì)顯式地產(chǎn)生帶符號(hào)總和的需要,因?yàn)榉?hào)隱含在所執(zhí)行的比較中。由于12大于5.4,圖9C中的邏輯比較產(chǎn)生邏輯結(jié)果“1”。雖然與C1和C3同時(shí)產(chǎn)生,列C2的加權(quán)總和可用于產(chǎn)生R2C3的HSG標(biāo)記。
圖20說(shuō)明可用于計(jì)算圖17A、17B和17C中的列的加權(quán)總和的電路的實(shí)例。應(yīng)注意,雖然圖17A、17B和17C僅展示針對(duì)Gx分量的計(jì)算,但類似計(jì)算也可針對(duì)計(jì)算Gy分量的行而執(zhí)行以供確定與任何給定傳感器元件的傳感器元件讀數(shù)相關(guān)聯(lián)的標(biāo)記。
圖20中的電路可使用與電荷按比例縮放電路類似的電路加以實(shí)施以供計(jì)算傳感器元件的傳感器讀數(shù)的相應(yīng)行或列的加權(quán)總和。雖然與電荷按比例縮放電路類似的電路可用于實(shí)施展示于圖20中的電路,但展示于圖20中的電路可用于與電荷按比例縮放電路用于執(zhí)行數(shù)/模轉(zhuǎn)換的傳統(tǒng)預(yù)期目的不同的目的。圖19中展示具有三個(gè)電容器和開(kāi)關(guān)的實(shí)例電荷按比例縮放電路。
圖20說(shuō)明R2C2的x軸梯度值的產(chǎn)生。如圖20的塊2002中所展示,為了計(jì)算列C1的加權(quán)總和,電容器可通過(guò)合適梯度系數(shù)(例如1、3和1)的倍數(shù)(即,0.3、1和0.3的3x倍)加權(quán)。此外,來(lái)自列C1的強(qiáng)度電壓可應(yīng)用于所述電路。舉例來(lái)說(shuō),來(lái)自R1C1的強(qiáng)度電壓應(yīng)用于Va處,來(lái)自R2C1的強(qiáng)度電壓應(yīng)用于Vb處,且來(lái)自R3C1的強(qiáng)度電壓應(yīng)用于Vc處。
在塊2002處產(chǎn)生的值是列C1的Vout,并且通過(guò)比較器與由塊2004產(chǎn)生的列C3的Vout進(jìn)行比較。雖然不限于此種電路,圖21中展示實(shí)例比較器。在一個(gè)方面中,所述電路可經(jīng)實(shí)施以便利用針對(duì)多個(gè)傳感元件所產(chǎn)生的列的加權(quán)總和與行的加權(quán)總和之間的并行性。舉例來(lái)說(shuō),如圖20中所展示,為了產(chǎn)生用于R2C2的Gx,像素R2C2可能僅需要計(jì)算來(lái)自列C1的電壓強(qiáng)度的加權(quán)總和。針對(duì)列C3的加權(quán)總和的值可由用于R2C4的電路產(chǎn)生,以供產(chǎn)生其自身的針對(duì)x軸的梯度總和,且可重新使用以用于針對(duì)R2C2的比較。如本文中所描述的對(duì)像素內(nèi)電路的重新使用減小每一像素的“填充空間”或區(qū)域的量,且因此減小傳感器的大小、增大功率功效并且降低制造此種傳感器的成本。
此外,相同電路還可經(jīng)重新使用以供以類似方式計(jì)算針對(duì)y軸的梯度總和。舉例來(lái)說(shuō),在R2C2處的電路塊2002也可用于產(chǎn)生圖17A中所展示的行R1的加權(quán)總和。舉例來(lái)說(shuō),來(lái)自R1C1的值可應(yīng)用在Va處,來(lái)自R1C2的值可應(yīng)用在Vb處,且來(lái)自R1C3的值可應(yīng)用于Vc處,從而產(chǎn)生圖17A中所展示的來(lái)自行R1的值的加權(quán)總和。類似地,用于R3的值可由R4C2產(chǎn)生并與針對(duì)R1所產(chǎn)生的值相比較。
因此,如圖20中所展示,每一像素內(nèi)電路(例如針對(duì)R2C2的塊2002)可僅通過(guò)分別計(jì)算針對(duì)一個(gè)列或一個(gè)行的三個(gè)值的加權(quán)總和而產(chǎn)生針對(duì)每一傳感元件的x軸和y軸的梯度值的加權(quán)總和。在一個(gè)實(shí)施方案中,如圖20中所展示,使用來(lái)自與不同像素相關(guān)聯(lián)的不同像素內(nèi)電路的輸入的比較器邏輯可在外圍電路中實(shí)施。
雖然圖20說(shuō)明像素內(nèi)電路和外圍電路的特定實(shí)施方案,但可在不背離本發(fā)明的范圍的情況下實(shí)施分段像素內(nèi)電路與外圍電路之間的電路的若干其它變化。舉例來(lái)說(shuō),在一個(gè)實(shí)施方案中,所述電路的全部可實(shí)施在像素內(nèi)或外圍中。在另一實(shí)施方案中,所述列和行的加權(quán)總和可通過(guò)實(shí)施針對(duì)每一像素用于并行計(jì)算行和列的加權(quán)總和的類似于塊2002的兩個(gè)塊來(lái)同時(shí)計(jì)算。此種變化可增大用于實(shí)施所述電路的空間,同時(shí)減少用于產(chǎn)生與每一傳感元件相關(guān)聯(lián)的HSG標(biāo)記所需的時(shí)間。
本發(fā)明的各方面能夠?qū)崿F(xiàn)執(zhí)行CV運(yùn)算,例如使用傳感器上的專用CV計(jì)算硬件(像素內(nèi)電路、外圍電路、專用CV處理模塊或其某一組合)產(chǎn)生HSG標(biāo)記,而非在數(shù)字域中的處理器上執(zhí)行這些運(yùn)算。在應(yīng)用程序處理器上執(zhí)行CV運(yùn)算可能為功率和處理密集型。此外,通過(guò)在處理器上執(zhí)行例如產(chǎn)生HSG標(biāo)記的CV運(yùn)算來(lái)檢測(cè)特征可能為功率和處理密集型,因?yàn)樵谔幚砥魃蠄?zhí)行CV要求存儲(chǔ)來(lái)自存儲(chǔ)器中的傳感器的信息、觸發(fā)傳感器信息的處理、提取來(lái)自用于CV計(jì)算的存儲(chǔ)器的指令并且存儲(chǔ)結(jié)果。
圖21提供用于多個(gè)值的比較器的實(shí)例實(shí)施方案。所述比較器可比較兩個(gè)電壓或電流,并且輸出指示兩個(gè)值中的哪個(gè)較大(或較小)的數(shù)字信號(hào)。所述比較器可具有一或多個(gè)預(yù)定和/或可配置閾值以供執(zhí)行比較。展示于圖21中的比較器是電壓比較器的實(shí)例。
雖然本發(fā)明中所描述的各方面論述檢測(cè)垂直和水平邊緣,斜向邊緣也可在不背離本發(fā)明的范圍的情況下類似于上文所描述的內(nèi)容進(jìn)行檢測(cè)和處理。
用于CV特征的FAST拐角檢測(cè)計(jì)算的硬件加速
加速分段測(cè)試特征(FAST)是一種拐角檢測(cè)方法,其可用于提取特征點(diǎn)且稍后用于針對(duì)許多CV任務(wù)追蹤和映射對(duì)象。FAST拐角檢測(cè)器因?yàn)楦咚傩阅芏话氵m合于實(shí)時(shí)視頻處理應(yīng)用。
通常,如圖22中所展示,F(xiàn)AST拐角檢測(cè)器使用來(lái)自圖像的16個(gè)像素的圓形(半徑為n的柏生漢姆圓形)來(lái)歸類候選點(diǎn)p是否為拐角。圓形中的每一像素按順時(shí)針標(biāo)記為整數(shù)1到16。如果圓形中的一組N個(gè)連續(xù)像素全部比候選像素p(用Ip指示)加上閾值t的強(qiáng)度亮或全部比候選像素p減去閾值t的強(qiáng)度暗,那么p被歸類為拐角。N通常選擇為12。
高速測(cè)試方法可應(yīng)用于排除非拐角的點(diǎn)。用于排除非拐角的點(diǎn)的高速測(cè)試通過(guò)檢驗(yàn)4個(gè)實(shí)例像素(即像素1、9、5和13)予以操作。因?yàn)閼?yīng)存在至少12個(gè)全部比候選拐角亮或暗的連續(xù)像素,所以在這些4個(gè)實(shí)例像素中應(yīng)存在至少3個(gè)全部比候選拐角亮或暗的像素。首先檢驗(yàn)像素1和9,如果1和9均在Ip+t和Ip-t內(nèi),則候選p并非拐角。另外進(jìn)一步檢驗(yàn)像素5和13以校驗(yàn)所述像素中的三個(gè)是否比Ip+t亮或比Ip-t暗。如果所述像素中存在3個(gè)較亮或較暗,則接著檢驗(yàn)其余的像素以得出最終結(jié)論。
雖然N通常選擇為12,但在一些情況下N為9可產(chǎn)生更好的跨幀追蹤性能。
如圖23中所展示,在軟件中使用FAST拐角檢測(cè)來(lái)檢測(cè)拐角可在任何位置耗時(shí)幾毫秒到若干毫秒以用于通用處理器(比如由和制造的x86處理器)上的圖像。
本發(fā)明的各方面論述使用經(jīng)優(yōu)化的硬件實(shí)施方案快速檢測(cè)拐角的技術(shù)。在一些情況下,先前所論述的CV計(jì)算硬件還包括用于使用FAST拐角檢測(cè)來(lái)檢測(cè)拐角的可配置硬件。閾值可建置到比較器中。若干像素(彼此串行或并行或?yàn)槿航M)可與中心像素的強(qiáng)度和相應(yīng)閾值進(jìn)行比較,并相應(yīng)地以高速度進(jìn)行處理。
圖24揭示用于使用比較器邏輯、“與”門和“或非”門檢測(cè)FAST拐角的實(shí)例硬件實(shí)施方案。若干其它數(shù)字或模擬組件可在不背離本發(fā)明的范圍的情況下用在這個(gè)實(shí)施方案的變化形式中。圖24揭示感測(cè)圖像的傳感器陣列2402。在某些實(shí)施例中,所述圖像可在子感測(cè)滑動(dòng)窗陣列2404中予以處理。圖24還描繪在滑動(dòng)窗陣列2404中的柏生漢姆圓形2406和拐角2408。在一個(gè)實(shí)例實(shí)施例中,包括16個(gè)像素強(qiáng)度讀數(shù)的每一柏生漢姆圓形產(chǎn)生16個(gè)不同的連續(xù)像素群組(具有N個(gè)連續(xù)像素強(qiáng)度)。圖24揭示產(chǎn)生16個(gè)不同連續(xù)像素群組且每一群組包括12個(gè)連續(xù)像素的強(qiáng)度的實(shí)例N 12。返回參考圖22,實(shí)例16個(gè)群組將包含包括來(lái)自像素1到12、2到13、3到14…16到11的像素強(qiáng)度的群組。
在比較器邏輯2422處,每一像素的強(qiáng)度與通過(guò)預(yù)定閾值進(jìn)行偏置的中心像素的強(qiáng)度進(jìn)行比較。所述預(yù)定閾值可預(yù)配置或在通電之后但在比較操作之前動(dòng)態(tài)地確定。產(chǎn)生于比較器邏輯2422處針對(duì)每一連續(xù)像素群的比較的比較器值經(jīng)由對(duì)應(yīng)的N輸入“與”門一起經(jīng)“與”運(yùn)算。雖然未整體展示,但圖24表示用于針對(duì)每一連續(xù)像素群將所得比較器值一起進(jìn)行“與”運(yùn)算的16個(gè)12輸入“與”門。舉例來(lái)說(shuō),“與”門2410將連續(xù)像素1到12的所得比較器值2412一起進(jìn)行“與”運(yùn)算。如果比中心像素減去閾值(Ip-t)暗由“1”表示,且如果比中心像素加上閾值(Ip+t)亮由“0”表示,且如果全部所得比較器值2412是“1”,那么“與”門2410的結(jié)果將是“1”。從“與”門2410到“或”門2420的輸入“1”也產(chǎn)生來(lái)自“或”門2420的輸出“1”而不論到“或”門2420的其它輸入如何。因此,作為所得比較器值2412的所有“1”可導(dǎo)致在滑動(dòng)窗陣列2404中檢測(cè)到拐角。類似地,來(lái)自“與”門(2414、2416…2418)中的任一項(xiàng)的所得“1”將導(dǎo)致檢測(cè)到拐角。
所述比較的此種硬件實(shí)施方案可導(dǎo)致拐角檢測(cè)的顯著提速。舉例來(lái)說(shuō),當(dāng)與圖23中的時(shí)間比較時(shí),類似于圖24的實(shí)施方案的實(shí)施方案在大約極小周期中或一旦所述值被鎖存(在非時(shí)控邏輯中)就產(chǎn)生拐角檢測(cè)。
應(yīng)注意,揭示于圖24中的實(shí)施例是FAST拐角檢測(cè)的硬件實(shí)施方案的實(shí)例,且并不意在限制本發(fā)明的范圍。舉例來(lái)說(shuō),不同組門或集成電路可在不背離本發(fā)明的范圍的情況下用于實(shí)現(xiàn)類似結(jié)果。此外,信號(hào)可以各種配置布置以優(yōu)化空間和布線的使用。舉例來(lái)說(shuō),來(lái)自比較器邏輯2422的每一比較的所得值可饋入到多個(gè)“與”門中。舉例來(lái)說(shuō),中心像素與第12個(gè)像素的強(qiáng)度之間的比較可饋入到所述16個(gè)“與”門的12中。相同/類似邏輯可使用兩次以針對(duì)比中心像素亮的像素和比中心像素暗的像素執(zhí)行拐角檢測(cè)。
此外,圖24中所說(shuō)明的16個(gè)“與”門可在不背離本發(fā)明的范圍的情況下使用具有較多數(shù)目的輸入的較大集成電路或具有較小數(shù)目的輸入的較大數(shù)目的集成電路進(jìn)行合并。另外,雖然圖24論述N為12,但在某些實(shí)施例中,N可配置為不同值。
根據(jù)一或多個(gè)方面,本文中在圖1到24中所描述的方法和/或方法步驟中的任一者和/或全部可由例如光傳感器設(shè)備的傳感器設(shè)備實(shí)施和/或?qū)嵤┯谒鰝鞲衅髟O(shè)備中。在一個(gè)實(shí)施例中,所論述的方法步驟中的一或多者可由所述傳感器設(shè)備的感測(cè)元件和處理邏輯(例如像素內(nèi)電路和/或外圍電路)實(shí)施。另外或替代地,本文中所描述的方法和/或方法步驟中的任一者及/或全部可實(shí)施在計(jì)算機(jī)可讀指令中,例如存儲(chǔ)在計(jì)算機(jī)可讀媒體(例如存儲(chǔ)器、存儲(chǔ)裝置或另一計(jì)算機(jī)可讀媒體)上的計(jì)算機(jī)可讀指令。
圖25說(shuō)明并有在實(shí)踐本發(fā)明的實(shí)施例時(shí)所使用的裝置及傳感器100的部分的實(shí)例計(jì)算裝置。舉例來(lái)說(shuō),計(jì)算裝置2500可表示移動(dòng)裝置或任何其它計(jì)算裝置的組件中的一些。計(jì)算裝置2500的實(shí)例包含(但不限于)桌上型計(jì)算機(jī)、工作站、個(gè)人計(jì)算機(jī)、超級(jí)計(jì)算機(jī)、視頻游戲控制臺(tái)、平板計(jì)算機(jī)、智能電話、膝上型計(jì)算機(jī)、上網(wǎng)本或其它便攜式裝置。圖25提供計(jì)算裝置2500的一個(gè)實(shí)施例的示意性說(shuō)明,所述計(jì)算裝置可執(zhí)行如本文中所描述的各種其它實(shí)施例提供的方法,和/或可充當(dāng)主控計(jì)算裝置、遠(yuǎn)程查詢一體機(jī)/終端、銷售點(diǎn)裝置、移動(dòng)多功能裝置、機(jī)頂盒和/或計(jì)算裝置。圖25意在僅提供對(duì)各種組件的一般化說(shuō)明,可在適當(dāng)時(shí)利用所述組件中的任一者或全部。因此,圖25廣泛地說(shuō)明可如何以相對(duì)分離或相對(duì)較集成的方式實(shí)施個(gè)別系統(tǒng)元件。
展示計(jì)算裝置2500,其包括可經(jīng)由總線2505電耦合(或可在適當(dāng)時(shí)以其它方式通信)的硬件元件。所述硬件元件可包含:一或多個(gè)處理器2510,包含(但不限于)一或多個(gè)通用處理器和/或一或多個(gè)專用處理器(例如數(shù)字信號(hào)處理芯片、圖形加速處理器和/或其類似者);一或多個(gè)輸入裝置2515,其可包含(但不限于)一或多個(gè)相機(jī)傳感器2550、鼠標(biāo)、鍵盤和/或其類似者;以及一或多個(gè)輸出裝置2520,其可包含(但不限于)顯示單元、打印機(jī)和/或其類似者。傳感器2550模組可包含光傳感器、嗅覺(jué)傳感器和/或化學(xué)傳感器。圖1中描述實(shí)例傳感器100。
計(jì)算裝置2500可進(jìn)一步包含一或多個(gè)非暫時(shí)性存儲(chǔ)裝置2525和/或與其通信;所述非暫時(shí)性存儲(chǔ)裝置可包括(但不限于)本地和/或網(wǎng)絡(luò)可存取的存儲(chǔ)裝置,和/或可包含(但不限于)磁盤驅(qū)動(dòng)器、驅(qū)動(dòng)陣列、光學(xué)存儲(chǔ)裝置、例如隨機(jī)存取存儲(chǔ)器(“RAM”)和/或只讀存儲(chǔ)器(“ROM”)的固態(tài)存儲(chǔ)裝置,所述裝置可為可編程的、可快閃更新的和/或其類似者。此類存儲(chǔ)裝置可經(jīng)配置以實(shí)施任何適當(dāng)數(shù)據(jù)存儲(chǔ),包含但不限于各種文件系統(tǒng)、數(shù)據(jù)庫(kù)結(jié)構(gòu)及/或其類似者。
計(jì)算裝置2500還可包含通信子系統(tǒng)2530。通信子系統(tǒng)2530可包含用于接收和發(fā)射數(shù)據(jù)的收發(fā)器2550或有線和/或無(wú)線媒體。通信子系統(tǒng)2530還可包含(但不限于)調(diào)制解調(diào)器、網(wǎng)卡(無(wú)線或有線)、紅外線通信裝置、無(wú)線通信裝置和/或芯片組(例如,BluetoothTM裝置、802.11裝置、WiFi裝置、WiMax裝置、蜂窩式通信設(shè)施等)和/或其類似者。通信子系統(tǒng)2530可準(zhǔn)許與網(wǎng)絡(luò)(例如(作為一個(gè)實(shí)例),下文所描述的網(wǎng)絡(luò))、其它計(jì)算裝置和/或本文中所描述的任何其它裝置交換數(shù)據(jù)。在許多實(shí)施例中,計(jì)算裝置2500將進(jìn)一步包括非暫時(shí)性工作存儲(chǔ)器2535,其可包含RAM或ROM裝置,如上文所描述。
計(jì)算裝置2500可包括展示為當(dāng)前位于工作存儲(chǔ)器2535內(nèi)的軟件元件,所述軟件元件包含操作系統(tǒng)2540、裝置驅(qū)動(dòng)器、可執(zhí)行庫(kù)和/或其它代碼,例如一或多個(gè)應(yīng)用程序2545,其在各種實(shí)施例提供的情況中可包括計(jì)算機(jī)程序,和/或在其它實(shí)施例提供的情況中可經(jīng)設(shè)計(jì)以實(shí)施方法和/或配置系統(tǒng),如本文中所描述。僅作為實(shí)例,相對(duì)于上文所論述的方法所描述的一或多個(gè)程序可實(shí)施為可由計(jì)算機(jī)(和/或計(jì)算機(jī)內(nèi)的處理器)執(zhí)行的代碼和/或指令;在一方面中,此類代碼和/或指令接著可用以配置和/或調(diào)適通用計(jì)算機(jī)(或其它裝置)以根據(jù)所描述方法執(zhí)行一或多個(gè)操作。
一組這些指令和/或代碼可存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)媒體上,例如上文所描述的存儲(chǔ)裝置2525。在一些情況下,存儲(chǔ)媒體可并入例如計(jì)算裝置2500的計(jì)算裝置內(nèi)。在其它實(shí)施例中,所述存儲(chǔ)媒體可與計(jì)算裝置分離(例如,可裝卸式媒體,例如壓縮光盤),和/或提供于安裝包中,使得所述存儲(chǔ)媒體可用以編程、配置和/或調(diào)適上面存儲(chǔ)有指令/代碼的通用計(jì)算機(jī)。這些指令可能呈可由計(jì)算裝置2500執(zhí)行的可執(zhí)行碼的形式,和/或可能呈源和/或可安裝碼的形式,所述源和/或可安裝碼在計(jì)算裝置2500上編譯和/或安裝于計(jì)算裝置2500上(例如,使用多種通??捎玫木幾g程序、安裝程序、壓縮/解壓縮公用程序等中的任一者)后,則即刻呈可執(zhí)行碼的形式。
可根據(jù)具體要求作出實(shí)質(zhì)性變化。舉例來(lái)說(shuō),還可以使用定制硬件,和/或可將特定元件實(shí)施于硬件、軟件(包括便攜式軟件,例如,小程序等)或這兩者中。此外,可使用到其它計(jì)算裝置2500(例如,網(wǎng)絡(luò)輸入/輸出裝置)的連接。
一些實(shí)施例可使用計(jì)算裝置(例如計(jì)算裝置2500)執(zhí)行根據(jù)本發(fā)明的方法。舉例來(lái)說(shuō),可由計(jì)算裝置2500響應(yīng)于處理器2510執(zhí)行工作存儲(chǔ)器2535中所含有的一或多個(gè)指令(其可并入到操作系統(tǒng)2540和/或其它代碼中,例如應(yīng)用程序2545)的一或多個(gè)序列而執(zhí)行所描述的方法的程序中的一些或全部。此類指令可從另一計(jì)算機(jī)可讀媒體(例如,存儲(chǔ)裝置2525中的一或多者)讀取到工作存儲(chǔ)器2535中。僅作為實(shí)例,工作存儲(chǔ)器2535中所含有的指令序列的執(zhí)行可能致使處理器2510執(zhí)行本文所描述的方法的一或多個(gè)程序。
如本文中所使用,術(shù)語(yǔ)“機(jī)器可讀媒體”和“計(jì)算機(jī)可讀媒體”是指參與提供使機(jī)器以具體方式操作的數(shù)據(jù)的任何媒體。在使用計(jì)算裝置2500實(shí)施的實(shí)施例中,各種計(jì)算機(jī)可讀媒體可能涉及到將指令/代碼提供到處理器2510以供執(zhí)行,和/或可能用以存儲(chǔ)和/或攜載此類指令/代碼(例如作為信號(hào))。在許多實(shí)施方案中,計(jì)算機(jī)可讀媒體為物理和/或有形存儲(chǔ)媒體。此類媒體可呈許多形式,包含(但不限于)非易失性媒體、易失性媒體和傳輸媒體。非易失性媒體包含(例如)光盤和/或磁盤,例如存儲(chǔ)裝置2525。易失性媒體包含(但不限于)動(dòng)態(tài)存儲(chǔ)器,例如工作存儲(chǔ)器2535。傳輸媒體包含(但不限于)同軸電纜、銅線和光纖(包含包括總線2505的電線)以及通信子系統(tǒng)2530的各種組件(和/或通信子系統(tǒng)2530借以提供與其它裝置的通信的媒體)。因此,傳輸媒體還可呈波的形式(包含但不限于無(wú)線電、聲波和/或光波,例如在無(wú)線電波和紅外線數(shù)據(jù)通信期間產(chǎn)生的那些波)。在替代實(shí)施例中,可使用事件驅(qū)動(dòng)組件和裝置(例如相機(jī)),其中所述處理中的一些可在模擬域中執(zhí)行。
常見(jiàn)形式的物理和/或有形計(jì)算機(jī)可讀媒體包含(例如)軟性磁盤、柔性磁盤、硬盤、磁帶或任何其它磁性媒體、CD-ROM、任何其它光學(xué)媒體、打孔卡、紙帶、具有孔圖案的任何其它物理媒體、RAM、PROM、EPROM、FLASH-EPROM、任何其它存儲(chǔ)器芯片或盒帶、如下文所描述的載波,或計(jì)算機(jī)可從中讀取指令和/或代碼的任何其它媒體。
在將一或多個(gè)指令的一或多個(gè)序列攜載到處理器2510以供執(zhí)行的過(guò)程中可涉及各種形式的計(jì)算機(jī)可讀媒體。僅作為實(shí)例,最初可將所述指令攜載于遠(yuǎn)程計(jì)算機(jī)的磁盤和/或光盤上。遠(yuǎn)程計(jì)算機(jī)可將所述指令加載到其動(dòng)態(tài)存儲(chǔ)器中,并經(jīng)由傳輸媒體將所述指令作為信號(hào)發(fā)送以由計(jì)算裝置2500接收和/或執(zhí)行。根據(jù)本發(fā)明的各種實(shí)施例,可呈電磁信號(hào)、聲學(xué)信號(hào)、光信號(hào)和/或其類似者的形式的這些信號(hào)都是可在上面編碼指令的載波的實(shí)例。
通信子系統(tǒng)2530(和/或其組件)通常將接收信號(hào),且總線2505可接著將所述信號(hào)(和/或由所述信號(hào)攜載的數(shù)據(jù)、指令等)攜載到工作存儲(chǔ)器2535,處理器2510從所述工作存儲(chǔ)器檢索并執(zhí)行所述指令。工作存儲(chǔ)器2535所接收的指令可任選地在由處理器2510執(zhí)行之前或之后存儲(chǔ)在非暫時(shí)性存儲(chǔ)裝置2525上。
上文所論述的方法、系統(tǒng)和裝置為實(shí)例。各種實(shí)施例可在適當(dāng)時(shí)省略、替換或添加各種程序或組件。舉例來(lái)說(shuō),在替代配置中,可以與所描述的次序不同的次序來(lái)執(zhí)行所描述的方法,和/或可添加、省略和/或組合各個(gè)階段。又,相對(duì)于某些實(shí)施例描述的特征可在各種其它實(shí)施例中加以組合??梢灶愃品绞浇M合實(shí)施例的不同方面和元件。又,技術(shù)在演進(jìn),且因此,許多元件是實(shí)例,其并不將本發(fā)明的范圍限制于那些具體實(shí)例。
描述中給出具體細(xì)節(jié)以提供對(duì)實(shí)施例的透徹理解。然而,可在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐實(shí)施例。舉例來(lái)說(shuō),展示熟知電路、過(guò)程、算法、結(jié)構(gòu)和技術(shù)而無(wú)不必要的細(xì)節(jié),以便避免混淆所述實(shí)施例。此描述僅提供實(shí)例實(shí)施例,且并不意圖限制本發(fā)明的范圍、適用性或配置。確切地說(shuō),所述實(shí)施例的先前描述將向所屬領(lǐng)域的技術(shù)人員提供用于實(shí)施本發(fā)明的實(shí)施例的啟迪性描述。可在不脫離本發(fā)明的精神和范圍的情況下對(duì)元件的功能和布置做出各種改變。
又,一些實(shí)施例被描述為過(guò)程,所述過(guò)程被描繪為流程圖或框圖。雖然每一流程圖或框圖可能將操作描述為依序過(guò)程,但許多操作可并行地或同時(shí)執(zhí)行。另外,可重新布置所述操作的次序。過(guò)程可具有未包含在圖中的額外步驟。此外,可通過(guò)硬件、軟件、固件、中間件、微碼、硬件描述語(yǔ)言或其任何組合來(lái)實(shí)施所述方法的實(shí)施例。當(dāng)在軟件、固件、中間件或微碼中實(shí)施時(shí),用以執(zhí)行相關(guān)聯(lián)任務(wù)的程序代碼或代碼段可存儲(chǔ)在計(jì)算機(jī)可讀媒體(例如存儲(chǔ)媒體)中。處理器可執(zhí)行所述相關(guān)聯(lián)任務(wù)。
已描述若干實(shí)施例,可在不脫離本發(fā)明的精神的情況下使用各種修改、替代構(gòu)造和等效物。舉例來(lái)說(shuō),以上元件可能僅為較大系統(tǒng)的組件,其中其它規(guī)則可優(yōu)先于本發(fā)明的應(yīng)用或以其它方式修改本發(fā)明的應(yīng)用。又,可在考慮以上元件之前、期間或之后進(jìn)行數(shù)個(gè)步驟。因此,以上描述并不限制本發(fā)明的范圍。