本發(fā)明涉及具有由固件控制的硬件的裝置的領(lǐng)域。具體地,本發(fā)明涉及一種裝置和在裝置的固件的升級(jí)期間幫助裝置運(yùn)轉(zhuǎn)的方法。
背景技術(shù):
常見的是,諸如視頻相機(jī)、移動(dòng)式電話之類的電子裝置和其他嵌入式裝置使用固件來(lái)控制裝置的硬件。固件是提供對(duì)裝置和系統(tǒng)的控制的一類軟件。例如為了添加新特征或校正錯(cuò)誤的目的,時(shí)常需要對(duì)固件進(jìn)行升級(jí)。
在固件升級(jí)期間,處理可能花費(fèi)若干分鐘,裝置的操作通常被中斷。在一些情形中這可能是高度不期望的,例如當(dāng)需要電子裝置提供全天候服務(wù)時(shí)。此類情形比如可以關(guān)于被用于監(jiān)測(cè)目的的視頻相機(jī)、在訪問(wèn)系統(tǒng)中使用的電子裝置,或者移動(dòng)式電話發(fā)生。
在公布的專利申請(qǐng)us2009/0178033a中公開了有關(guān)的情形。該專利申請(qǐng)涉及附接具有硬件的外圍裝置的計(jì)算機(jī)系統(tǒng)。該計(jì)算機(jī)系統(tǒng)具有允許包括特許操作系統(tǒng)和客戶操作系統(tǒng)的若干操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)上運(yùn)行的虛擬化環(huán)境。在對(duì)涉及裝置的固件進(jìn)行更新期間,特許操作系統(tǒng)拒絕客戶操作系統(tǒng)對(duì)裝置的訪問(wèn)。以這種方式,人們可以避免在固件升級(jí)期間整個(gè)計(jì)算機(jī)系統(tǒng)的關(guān)閉。然而,固件所涉及的裝置在升級(jí)期間將不運(yùn)轉(zhuǎn)。因此,存在作出改進(jìn)的需要。
技術(shù)實(shí)現(xiàn)要素:
基于以上所述,因此本發(fā)明的目的是在用于控制裝置的硬件的固件的升級(jí)期間幫助裝置運(yùn)轉(zhuǎn)。
根據(jù)本發(fā)明的第一方面,通過(guò)包括以下項(xiàng)的裝置實(shí)現(xiàn)以上目的:
硬件,
用于控制硬件的可升級(jí)的第一固件,以及
將第一固件鏈接至硬件以便控制第一固件對(duì)硬件的訪問(wèn)的超管理器,
其中,超管理器被配置為:作為第一固件的升級(jí)的準(zhǔn)備,拒絕第一固件對(duì)硬件的訪問(wèn),訪問(wèn)第二固件,并且通過(guò)第二固件控制硬件。
因此提出在硬件和第一固件之間布置額外的層——超管理器。在裝置正常運(yùn)轉(zhuǎn)期間,通過(guò)第一硬件控制硬件。當(dāng)?shù)谝还碳⒁簧?jí)時(shí),超管理器拒絕第一固件對(duì)硬件的訪問(wèn),并且替代地使用第二固件控制硬件。以這種方式,超管理器使用第二固件接管裝置的控制,并且作為結(jié)果,即使在第一固件的升級(jí)期間,裝置也是可操作的。
具有超管理器的附加的優(yōu)點(diǎn)是:當(dāng)超管理器控制硬件時(shí),超管理器可以對(duì)由第一固件執(zhí)行的每個(gè)寄存器寫入和讀取執(zhí)行安全控制。以這種方式,人們可以阻止惡意軟件破壞硬件。
超管理器可以大體包括軟件、固件、硬件、或者其組合以控制硬件并且向第一固件提供與硬件的接口相同的接口。
超管理器可以進(jìn)一步被配置為在第一固件的升級(jí)之后重建第一固件對(duì)硬件的訪問(wèn),并且把對(duì)硬件的控制權(quán)轉(zhuǎn)交給第一固件。以這種方式,當(dāng)升級(jí)完成時(shí),第一固件可以因此恢復(fù)對(duì)硬件的控制。
優(yōu)選地,超管理器包括第二固件的至少一部分。第二固件的剩余部分可以被存儲(chǔ)在裝置中的其它地方,使得其對(duì)于超管理器是可訪問(wèn)的。在一些實(shí)施例中,超管理器包括第二固件。出于安全的原因,這是有利的。更詳細(xì)地,與第二固件被存儲(chǔ)在裝置中的其它地方相比,當(dāng)超管理器包括第二固件或者包括第二固件的至少一部分時(shí),對(duì)第二固件的操縱將變得更困難。如果有人試圖操縱第二固件,裝置的運(yùn)轉(zhuǎn)將被損害。
與第一固件相比,第二固件可以“較精簡(jiǎn)”。這尤其表示與使用第一固件運(yùn)轉(zhuǎn)裝置相比,當(dāng)使用第二固件運(yùn)轉(zhuǎn)裝置時(shí),裝置將具有簡(jiǎn)化的功能。更詳細(xì)地,第一固件可以被配置為控制硬件,使得裝置在第一功能的情況下是可運(yùn)轉(zhuǎn)的,并且第二固件可以被配置為控制硬件,使得裝置在第二功能的情況下是可運(yùn)轉(zhuǎn)的,第二功能相對(duì)于第一功能被簡(jiǎn)化。以這種方式,裝置在固件升級(jí)期間是可運(yùn)轉(zhuǎn)的,雖然具有簡(jiǎn)化的功能。出于節(jié)約處理資源、網(wǎng)絡(luò)帶寬、存儲(chǔ)器資源等等的原因,這是有利的。替代地,可以將大部分可用資源花費(fèi)在第一固件和第一固件的升級(jí)上。
通常,裝置具有有限量的存儲(chǔ)器。在第一固件的升級(jí)期間,可用存儲(chǔ)空間中的大多數(shù)用于升級(jí)處理并且僅保留少量以用于超管理器運(yùn)行第二固件。由于存儲(chǔ)器的限制,如果第二固件的存儲(chǔ)空間占用(包括運(yùn)行時(shí)的存儲(chǔ)空間和用于存儲(chǔ)固件本身的存儲(chǔ)空間)小于第一固件的存儲(chǔ)空間占用,這因此是進(jìn)一步有利的。更詳細(xì)地,第一固件可以被配置為控制硬件,該硬件具有由該硬件支配的第一存儲(chǔ)器資源,并且第二固件可以被配置為控制硬件,該硬件具有由該硬件支配的第二存儲(chǔ)器資源,其中,第二存儲(chǔ)器資源小于第一存儲(chǔ)器資源。
優(yōu)選地,超管理器是1型超管理器,其也被稱為本地或者裸機(jī)超管理器。這是直接地在硬件上運(yùn)行的超管理器。1型超管理器是有利的,這是因?yàn)槠鋵?duì)硬件具有直接控制沒有對(duì)其他軟件的依賴性。
替換地,超管理器可以是2型超管理器,其是在主操作系統(tǒng)上運(yùn)行的計(jì)算機(jī)程序。
裝置大體可以是具有通過(guò)固件控制的硬件的任何類型的裝置,諸如任何嵌入式裝置。根據(jù)一個(gè)實(shí)施例,裝置是視頻相機(jī)。由于超管理器使用第二固件接管對(duì)硬件的控制,所以在第一固件的升級(jí)期間,視頻相機(jī)是可運(yùn)轉(zhuǎn)的。因此,即使在固件升級(jí)期間,視頻相機(jī)可以不停地遞送視頻。在視頻相機(jī)用于視頻相機(jī)的運(yùn)轉(zhuǎn)中斷是安全風(fēng)險(xiǎn)的監(jiān)測(cè)目的的情況下,這是尤其有利的。
視頻相機(jī)可以具有成像流水線。在本文所使用的“成像流水線”大體表示用于處理相機(jī)的傳感器原始數(shù)據(jù)以產(chǎn)生被格式化以通過(guò)網(wǎng)絡(luò)傳送的被編碼的視頻數(shù)據(jù)的比特流的組件集合。第一和第二固件可以各自包括用于控制相機(jī)的成像流水線的驅(qū)動(dòng)器和軟件指令。因此,在固件升級(jí)期間,相機(jī)的成像流水線仍然操作為處理傳感器原始數(shù)據(jù)以產(chǎn)生可通過(guò)網(wǎng)絡(luò)傳送的被編碼的視頻數(shù)據(jù)的比特流。
第一固件的驅(qū)動(dòng)器和軟件指令和第二固件的驅(qū)動(dòng)器和軟件指令可以是不同的。具體地,就與第一固件相比較第二固件的驅(qū)動(dòng)器和軟件指令引起簡(jiǎn)化的功能的成像流水線的意義而言,第二固件的驅(qū)動(dòng)器和軟件指令可以是不同的。
在本文所使用的“驅(qū)動(dòng)器”是控制一件硬件的計(jì)算機(jī)程序。驅(qū)動(dòng)器向該件硬件提供軟件接口,使得固件的軟件指令可以在無(wú)需了解所使用的該件硬件的精確細(xì)節(jié)的情況下訪問(wèn)硬件功能。
成像流水線的組件可以大體包括具有對(duì)應(yīng)固件的硬件塊。根據(jù)實(shí)施例,成像流水線可以包括被配置為用于成像、圖像縮放、視頻編碼、以及提供網(wǎng)絡(luò)接口的硬件塊。此外,第一和第二固件可以各自包括與硬件塊相對(duì)應(yīng)的驅(qū)動(dòng)器和軟件指令。
成像塊和其對(duì)應(yīng)的固件大體被配置為處理原始傳感器圖像數(shù)據(jù)以產(chǎn)生增強(qiáng)的圖像數(shù)據(jù)。圖像縮放塊和其對(duì)應(yīng)的固件大體被配置為縮放圖像數(shù)據(jù),通常,縮放通過(guò)成像塊所產(chǎn)生的增強(qiáng)的圖像數(shù)據(jù)。視頻編碼塊和其對(duì)應(yīng)的固件大體被配置為對(duì)增強(qiáng)并縮放的圖像數(shù)據(jù)或確切地說(shuō)對(duì)增強(qiáng)并縮放的圖像數(shù)據(jù)流進(jìn)行編碼,以產(chǎn)生編碼的視頻流。網(wǎng)絡(luò)接口塊和其對(duì)應(yīng)的固件大體被配置為對(duì)編碼的視頻流進(jìn)行格式化以通過(guò)網(wǎng)絡(luò)傳輸,并且通過(guò)網(wǎng)絡(luò)傳送編碼的視頻流。
超管理器大體控制第一固件對(duì)硬件的訪問(wèn)。即,超管理器控制何時(shí)允許第一固件從硬件寄存器進(jìn)行讀取和對(duì)硬件寄存器進(jìn)行寫入。具體地,超管理器被配置為控制第一固件的驅(qū)動(dòng)器和軟件指令對(duì)對(duì)應(yīng)的硬件塊的訪問(wèn)。以這種方式,超管理器可以因此控制第一固件對(duì)不同硬件塊的訪問(wèn)。
根據(jù)本發(fā)明的第二方面,通過(guò)用于在第一固件的升級(jí)期間幫助裝置運(yùn)轉(zhuǎn)的方法來(lái)實(shí)現(xiàn)以上目的,其中該第一固件被配置為控制裝置的硬件。該方法通過(guò)將第一固件鏈接至硬件的超管理器來(lái)執(zhí)行。該方法包括:作為第一固件的升級(jí)的準(zhǔn)備,拒絕第一固件對(duì)硬件的訪問(wèn),訪問(wèn)第二固件,并且通過(guò)第二固件控制硬件。
該方法可以進(jìn)一步包括:在第一固件的升級(jí)之后,重建第一固件對(duì)硬件的訪問(wèn),并且把對(duì)硬件的控制權(quán)轉(zhuǎn)交給第一固件。
第二方面可以大體具有與第一方面相同的特征和優(yōu)點(diǎn)。還需注意,除非另外明確地陳述,本發(fā)明涉及所有可能的特征的組合。
附圖說(shuō)明
通過(guò)參考所附附圖(其中將對(duì)類似的要素使用相同的附圖標(biāo)記)進(jìn)行的以下對(duì)本發(fā)明的優(yōu)選實(shí)施例的說(shuō)明性的且非限制性的詳細(xì)描述將更好地理解本發(fā)明的以上以及附加的目的、特征和優(yōu)點(diǎn),在附圖中:
圖1是根據(jù)實(shí)施例的具有可升級(jí)固件的裝置的示意性圖示。
圖2是在用于在固件升級(jí)期間幫助裝置運(yùn)轉(zhuǎn)的根據(jù)實(shí)施例的方法的流程圖。
圖3是根據(jù)實(shí)施例的具有可升級(jí)固件的視頻相機(jī)的示意性圖示。
具體實(shí)施方式
現(xiàn)在將在下文參考其中示出本發(fā)明的實(shí)施例的附圖來(lái)更全面地描述本發(fā)明。將對(duì)在本文公開的運(yùn)轉(zhuǎn)期間系統(tǒng)和裝置進(jìn)行描述。
圖1示出了根據(jù)實(shí)施例的裝置100。裝置100包括硬件102、超管理器104、和第一固件106。提起一些示例,裝置100可以是嵌入式裝置,諸如移動(dòng)式電話、視頻相機(jī)、和訪問(wèn)系統(tǒng)中的裝置。訪問(wèn)系統(tǒng)中的裝置的示例是訪問(wèn)控制器、門站(doorstation)、和讀卡機(jī)。
超管理器104被布置在硬件102和第一固件106之間。超管理器104因此將第一固件鏈接至硬件。以這種方式,第一固件106可以僅經(jīng)由超管理器104訪問(wèn)硬件102,即,由第一固件106進(jìn)行的來(lái)自硬件寄存器的每個(gè)讀取以及對(duì)硬件寄存器的每個(gè)寫入都經(jīng)由超管理器104進(jìn)行。超管理器104可以進(jìn)一步控制第一固件106對(duì)硬件102的訪問(wèn)。
具體地,超管理器104可以例如通過(guò)切斷經(jīng)由超管理器104將第一固件106鏈接至硬件102的控制鏈接110來(lái)拒絕第一固件對(duì)硬件102的訪問(wèn)。超管理器104可以例如通過(guò)重建控制鏈接110來(lái)進(jìn)一步重建第一固件106對(duì)硬件102的訪問(wèn)。
可以以軟件、固件、硬件或者其組合實(shí)施的超管理器104大體向第一固件106提供與硬件102的接口相同的接口。超管理器104優(yōu)選地是1類超管理器,其也被稱為本地或者裸機(jī)超管理器。替換地,超管理器104可以是2類超管理器,也被稱為托管超管理器,即,在操作系統(tǒng)上運(yùn)行的計(jì)算機(jī)程序。超管理器104的軟件和固件可以被存儲(chǔ)在裝置100的非易失性存儲(chǔ)器中,優(yōu)選地儲(chǔ)存在只讀非易失性存儲(chǔ)器中。
第一固件106包括用于控制硬件102的軟件。第一固件106是可升級(jí)的,表示其可以被替換、重寫、或者重新編程。第一固件106通常被存儲(chǔ)在裝置100的非易失性可寫入存儲(chǔ)器(諸如eeprom或閃速存儲(chǔ)器)中。第一固件106以及超管理器104的軟件和固件可以被存儲(chǔ)在同一非易失性存儲(chǔ)器中(這是有成本效率的)或被存儲(chǔ)在單獨(dú)的非易失性存儲(chǔ)器中。在后一種情況中,第一固件106的非易失性存儲(chǔ)器可以是可寫入的,而超管理器104的非易失性存儲(chǔ)器可以是只讀的,從安全角度講這是更優(yōu)選的。
裝置100進(jìn)一步包括與第一固件108不同的第二固件108。第二固件108還包括用于控制硬件102的軟件。第二固件108被布置為對(duì)于超管理器104可訪問(wèn)。優(yōu)選地,出于安全的原因,第二固件108被包括在超管理器104中,表示第二固件108形成超管理器104的固件的一部分。例如,如上所述,第一固件106和包括第二固件108的超管理器104的固件可以被存儲(chǔ)在單獨(dú)的非易失性存儲(chǔ)器中。然而,在一些實(shí)施例中,第二固件108不是超管理器104的一部分。第二固件108例如可以被存儲(chǔ)在超管理器104外部,諸如被存儲(chǔ)在單獨(dú)的文件、公共存儲(chǔ)貯存器的單獨(dú)的部分中、或者單獨(dú)的存儲(chǔ)貯存器中。然而,超管理器104可以仍然訪問(wèn)第二固件108并且繼續(xù)進(jìn)行至執(zhí)行任何第二固件108的軟件指令和驅(qū)動(dòng)器以控制硬件102。第二固件108被部分地包括在超管理器108中,并且被部分地存儲(chǔ)在超管理器104的外部,也是可能的。
裝置100可以進(jìn)一步包括用于執(zhí)行諸如由第一固件106、超管理器104,和第二固件108實(shí)施的指令之類的軟件和固件指令的一個(gè)或多個(gè)處理器。第一和第二固件106、108可以各自包括不同的層。通常,第一和第二固件106、108可以各自包括驅(qū)動(dòng)器和其他軟件指令。驅(qū)動(dòng)器形成第一層并且向硬件102提供使形成另外的層的其他軟件指令可用的軟件接口,以在沒有了解被使用的硬件102的任何細(xì)節(jié)的情況下訪問(wèn)硬件102。
如上所述,第一和第二固件106、108兩者都被配置為用于控制裝置100的硬件102。然而,第二固件108通常不同于第一固件106:與第一固件相比較,其控制具有簡(jiǎn)化的功能的相機(jī)。例如,與第一固件108相比,第二固件108可以實(shí)施較少的功能,和/或與第一固件108相比,第二固件108可以實(shí)施較簡(jiǎn)單的、存儲(chǔ)較不密集的功能。這將在以下結(jié)合圖2進(jìn)一步例示。以這種方式,與第一固件108相比,第二固件106的存儲(chǔ)空間占用(關(guān)于運(yùn)行時(shí)的存儲(chǔ)空間和貯存空間兩者)可以保持在較低水平。
在下文中,將描述裝置100的運(yùn)轉(zhuǎn)。裝置100可以以兩種模式運(yùn)轉(zhuǎn):其中第一固件106控制硬件102的正常運(yùn)轉(zhuǎn)模式,以及其中超管理器104通過(guò)第二固件108控制硬件102的固件升級(jí)模式??梢酝ㄟ^(guò)第一固件106觸發(fā)超管理器104來(lái)從正常運(yùn)轉(zhuǎn)模式切換到固件升級(jí)模式。更詳細(xì)地,第一固件106中的軟件可以啟用超管理器104中的功能以從正常運(yùn)轉(zhuǎn)模式切換到固件升級(jí)模式。
當(dāng)處于正常運(yùn)轉(zhuǎn)模式時(shí),第一固件106可以經(jīng)由超管理器104訪問(wèn)硬件102。換言之,存在由超管理器104建立的、在第一固件106和硬件102之間的控制鏈接110,使得第一固件106可以對(duì)硬件102的寄存器進(jìn)行讀取和寫入。在正常運(yùn)轉(zhuǎn)模式中,超管理器104直接向第一固件106暴露硬件功能,由此允許第一固件控制硬件102。
當(dāng)處于固件升級(jí)模式時(shí),第一固件106被升級(jí)。同時(shí),超管理器104對(duì)硬件102采取控制?,F(xiàn)在將參考圖1和圖2的流程圖來(lái)公開用于在第一固件106的升級(jí)期間幫助裝置100運(yùn)轉(zhuǎn)的方法。
在步驟s02中,作為第一固件106的升級(jí)的準(zhǔn)備,超管理器104訪問(wèn)第二固件108。如以上進(jìn)一步討論的,第二固件108可以被全部或部分地包括在超管理器104中,或者其可以被全部或部分地存儲(chǔ)在超管理器104外部。當(dāng)超管理器104已經(jīng)訪問(wèn)第二固件108時(shí),其可以拒絕第一固件106對(duì)硬件102的訪問(wèn)(s04)。這表示超管理器104斷開第一固件106和硬件102之間的控制鏈接110。由此將第一固件106從硬件102的連接斷開,并且禁止第一固件106控制硬件102。替代地,為了提供裝置100的連續(xù)運(yùn)轉(zhuǎn),超管理器104開始使用第二固件108控制硬件102(s06)。更詳細(xì)地,超管理器104繼續(xù)進(jìn)行至執(zhí)行第二固件108的軟件指令和驅(qū)動(dòng)器以控制硬件102。此刻,可以在不使裝置的運(yùn)轉(zhuǎn)失敗的情況下對(duì)第一固件106進(jìn)行升級(jí)。然而,裝置100可以根據(jù)第二固件108可運(yùn)轉(zhuǎn)簡(jiǎn)化的功能。
在步驟s08中,當(dāng)?shù)谝还碳?06的升級(jí)完成時(shí),超管理器104可以重建第一固件106對(duì)硬件102的訪問(wèn),即,重建控制鏈接110,并且把對(duì)硬件102的控制權(quán)轉(zhuǎn)交給第一固件106。
圖3圖示出裝置是視頻相機(jī)200的實(shí)施例。視頻相機(jī)200具有成像流水線,其包括用于處理從傳感器212接收到的傳感器原始數(shù)據(jù)以產(chǎn)生被格式化以通過(guò)網(wǎng)絡(luò)傳送的被編碼的視頻流的組件集合。在該示例中,假設(shè)成像流水線包括成像組件、圖像縮放組件、編碼組件、以及網(wǎng)絡(luò)接口組件。成像流水線中的每個(gè)組件通常包括被配置為控制對(duì)應(yīng)硬件塊的包括驅(qū)動(dòng)器和軟件指令的固件塊。在所圖示出的實(shí)施例中,第一固件106包括與成像硬件塊202a相對(duì)應(yīng)的成像固件塊206a、與縮放器硬件塊202b相對(duì)應(yīng)的縮放器固件塊206b、與編碼器硬件塊202c相對(duì)應(yīng)的編碼器固件塊206c、和與網(wǎng)絡(luò)接口硬件塊202d相對(duì)應(yīng)的網(wǎng)絡(luò)接口固件塊206d。類似地,第二固件104包括與成像硬件塊202a相對(duì)應(yīng)的成像固件塊208a、與縮放器硬件塊202b相對(duì)應(yīng)的縮放器固件塊208b、與編碼器硬件塊202c相對(duì)應(yīng)的編碼器固件塊208c和與網(wǎng)絡(luò)接口硬件塊202d相對(duì)應(yīng)的網(wǎng)絡(luò)接口固件塊208d。
成像流水線的成像組件的作用是例如通過(guò)執(zhí)行去馬賽克處理、白平衡、漸暈校正、銳化、色彩矩陣化、暗電流校正、列固定模式噪聲校正、缺陷像素校正、和噪聲過(guò)濾來(lái)處理并且增強(qiáng)傳感器原始數(shù)據(jù)的視頻流。
成像流水線的縮放器組件的作用是對(duì)作為成像塊202a的輸出的圖像數(shù)據(jù)的增強(qiáng)的視頻流進(jìn)行縮放??s放器組件還可以包括變換圖像數(shù)據(jù),諸如執(zhí)行展開(dewarping)和桶形失真校正,并且將重疊包括在圖像中。
編碼器組件的作用是對(duì)從縮放器塊202b輸出的圖像數(shù)據(jù)的被增強(qiáng)并縮放的流進(jìn)行編碼以產(chǎn)生諸如mjpeg、h.264或h.265的視頻編碼格式的編碼的視頻流。
網(wǎng)絡(luò)接口組件的作用是將編碼的視頻流處理為適于通過(guò)網(wǎng)絡(luò)傳輸?shù)母袷?,并且通過(guò)網(wǎng)絡(luò)來(lái)傳送格式化的視頻流。這例如可以包括以太網(wǎng)接口、wifi接口、3g/4g接口、z波接口等。
如以上進(jìn)一步討論的,例如,結(jié)合圖1,在第一固件106的升級(jí)期間,超管理器104通過(guò)第二固件108控制硬件102。在該示例中,超管理器104因此使用第二固件108在第一固件106的升級(jí)期間驅(qū)動(dòng)視頻相機(jī)200的成像流水線。換言之,超管理器104使用第二固件108的成像固件塊208a、縮放器固件塊208b、編碼器固件塊208c、和網(wǎng)絡(luò)接口塊208d在第一固件106的升級(jí)期間控制對(duì)應(yīng)的硬件塊202a、202b、202c、202d。
通常,在該處理期間僅為超管理器104保留少量的系統(tǒng)存儲(chǔ)空間,其余用于在系統(tǒng)啟動(dòng)之后升級(jí)第一固件106。為了應(yīng)對(duì)有限的存儲(chǔ)器資源,第二固件108可以被配置為控制具有簡(jiǎn)化的功能的硬件102,在這種情況下,這表示與正常運(yùn)轉(zhuǎn)模式相比,在固件升級(jí)模式期間,視頻相機(jī)200的成像流水線具有簡(jiǎn)化的功能。
更詳細(xì)地,與第一固件106相比,第二固件108可以實(shí)施較少的功能。通常,與第一固件106相比,對(duì)于視頻相機(jī)200的運(yùn)轉(zhuǎn)不是基本的功能和/或處理、帶寬或存儲(chǔ)密集的功能將被關(guān)閉。通常,第二固件108不會(huì)實(shí)施屬于操作系統(tǒng)的任何特征,諸如存儲(chǔ)器管理或進(jìn)程調(diào)度。這表示諸如解析或元數(shù)據(jù)流之類的特定功能不被支持。這與第一固件106形成對(duì)比。解析可以包括在軟件中執(zhí)行的解析或與特定指定有關(guān)的解析。通常在第二固件108中禁用此類解析,這是因?yàn)槠淇赡芤髥为?dú)的視頻流和額外的處理。例如,第二固件108可以向運(yùn)動(dòng)檢測(cè)算法發(fā)送僅具有圖像數(shù)據(jù)的亮度分量(即,僅僅y、而不是cbcr)的低分辨率流。
例如,一方面,第一固件106的成像固件塊206a可以被配置為包括各種圖像處理,諸如去馬賽克處理、白平衡、漸暈校正、銳化、色彩矩陣化、暗電流校正、列固定模式噪聲校正、缺陷像素校正、(時(shí)間)噪聲濾波、串?dāng)_校正、和曝光合并。另一方面,第二固件108的成像固件塊208a可以被配置為僅運(yùn)行基本的處理步驟,諸如去馬賽克處理和缺陷像素校正。不是基本的并且耗費(fèi)許多系統(tǒng)存儲(chǔ)器和/或處理功率的諸如曝露合并和時(shí)間濾波之類的其他處理步驟將被關(guān)閉。
類似地,一方面,第一固件106的縮放器固件塊206b可以被配置為對(duì)圖像數(shù)據(jù)進(jìn)行縮放、(例如通過(guò)執(zhí)行展開和桶形失真校正)來(lái)變換圖像數(shù)據(jù),并且將重疊包括在圖像中。另一方面,第二固件108的縮放器固件塊208b可以被配置為使視頻流不經(jīng)任何縮放、變換或添加重疊。
與第一固件106相比,第二固件108可以進(jìn)一步實(shí)施存儲(chǔ)較不密集的和/或處理較不密集的和/或較小帶寬要求的功能。這可以包括處理一個(gè)視頻流而非多個(gè)視頻流、和/或處理較低分辨率而非正常分辨率下的圖像數(shù)據(jù)。以這種方式,大多數(shù)的存儲(chǔ)、處理和帶寬資源被花費(fèi)在裝置的正常運(yùn)轉(zhuǎn)期間所使用的第一固件106上(或花費(fèi)在第一固件106的升級(jí)上)。
根據(jù)另外的示例,第一固件106的編碼固件塊206c可以被配置為支持許多視頻編碼格式,諸如h.264、h.265,和mjpeg。第二固件塊208c可以被配置為僅支持mjpeg,這是因?yàn)槠洳恍枰獙⒖紟鎯?chǔ)在存儲(chǔ)器中,由此存儲(chǔ)較不密集。
類似地,第一固件106的網(wǎng)絡(luò)接口固件塊206d可以具有充分的以太網(wǎng)支持和完整的http服務(wù)器,而第二固件108的網(wǎng)絡(luò)接口固件塊208d可以僅具有基本的以太網(wǎng)支持和簡(jiǎn)化的http服務(wù)器。
將理解的是,本領(lǐng)域技術(shù)人員能夠在許多方面修改以上所描述的實(shí)施例并且仍然使用在以上實(shí)施例中示出的本發(fā)明的優(yōu)點(diǎn)。例如,裝置不局限于視頻相機(jī),而是可以比如例如是移動(dòng)式電話。在此類示例中,與第一固件相比較,第二固件可以具有簡(jiǎn)化的功能,因?yàn)槠淅缭诠碳?jí)期間僅僅允許緊急呼叫。根據(jù)其他示例,裝置可以是訪問(wèn)控制器、可視門禁、無(wú)線揚(yáng)聲器等等。因而,本發(fā)明不應(yīng)當(dāng)被限制到示出的實(shí)施例,而是應(yīng)當(dāng)通過(guò)所附權(quán)利要求來(lái)限定。另外地,如本領(lǐng)域技術(shù)人員所理解的,可以將示出的實(shí)施例組合。