專利名稱:使用存儲(chǔ)器破壞來快速估計(jì)二進(jìn)制數(shù)據(jù)長(zhǎng)度的制作方法
技術(shù)領(lǐng)域:
本文所述的各種實(shí)施例總體上涉及用于處理可變長(zhǎng)度數(shù)據(jù)的方法和系統(tǒng)。
背景技術(shù):
在電子設(shè)備中持續(xù)增加新的應(yīng)用。例如,各種電子設(shè)備現(xiàn)在包括用于捕捉圖像的相機(jī)單元。相機(jī)單元產(chǎn)生圖像數(shù)據(jù),該圖像數(shù)據(jù)一般是使用用于產(chǎn)生JPEG圖像數(shù)據(jù)的JPEG標(biāo)準(zhǔn)來編碼的。此外,產(chǎn)生與JPEG圖像數(shù)據(jù)相對(duì)應(yīng)的未壓縮的或原始的縮略像數(shù)據(jù),并將其附加到JPEG數(shù)據(jù)之后。然后處理該原始縮略像數(shù)據(jù),并將其顯示在電子設(shè)備的顯示器上,以供用戶查看。相機(jī)可以連續(xù)獲取圖像,以該方式處理并在顯示器上顯示圖像,同時(shí)用戶決定捕捉哪個(gè)或哪些圖像并在設(shè)備存儲(chǔ)器中存儲(chǔ)哪個(gè)或哪些圖像。由于基于相機(jī)單元捕捉的場(chǎng)景中的元素,JPEG圖像數(shù)據(jù)具有可變數(shù)據(jù)大小,因此其是可變長(zhǎng)度數(shù)據(jù)。例如,作為針對(duì)完全不同的場(chǎng)景捕捉的圖像的結(jié)果,或作為在場(chǎng)景中的光或噪聲的量存在巨大變化的條件下捕捉的圖像的結(jié)果,JPEG數(shù)據(jù)集的大小可以有很大不同。因此,JPEG圖像數(shù)據(jù)的大小可以根據(jù)相機(jī)單元捕捉的場(chǎng)景的圖像或捕捉圖像所處的條件而發(fā)生變化。由于在特定情況下,處理可變長(zhǎng)度圖像數(shù)據(jù)會(huì)是非常有挑戰(zhàn)性的,因此這可能導(dǎo)致一些困難
發(fā)明內(nèi)容
為了更好的理解本文描述的各種實(shí)施例,且更清楚地示出如何實(shí)現(xiàn)這些各種實(shí)施例,將參考作為示例的附圖,這些附圖示出了至少一個(gè)示例實(shí)施例,且在這些附圖中圖I是具有一個(gè)示例實(shí)施例的相機(jī)單元的移動(dòng)設(shè)備的框圖;圖2是圖I的移動(dòng)設(shè)備的通信子系統(tǒng)組件的示例實(shí)施例的框圖;圖3是一個(gè)示例實(shí)施例的無線網(wǎng)絡(luò)的節(jié)點(diǎn)的框圖;圖4是處理包括可變長(zhǎng)度數(shù)據(jù)在內(nèi)的圖像數(shù)據(jù)的方法的示例實(shí)施例的流程圖;圖5a是在根據(jù)圖4的方法的預(yù)處理之后的存儲(chǔ)器單元的說明圖;圖5b是在存儲(chǔ)圖像數(shù)據(jù)之后的圖5a的存儲(chǔ)器單元的第一示例的說明圖;圖6a是在根據(jù)圖4的方法的預(yù)處理之后的存儲(chǔ)器單元的說明圖;圖6b是在存儲(chǔ)圖像數(shù)據(jù)之后的圖6a的存儲(chǔ)器單元的第二示例的說明圖;圖7a是在根據(jù)圖4的方法的預(yù)處理之后的存儲(chǔ)器單元的說明圖;以及圖7b是在根據(jù)圖4的方法的備選版本的部分預(yù)處理之后的存儲(chǔ)器單元的說明具體實(shí)施例方式應(yīng)當(dāng)意識(shí)到為了說明的簡(jiǎn)單和清楚,在認(rèn)為恰當(dāng)?shù)牡胤?,在附圖之間可以重復(fù)引用標(biāo)號(hào),以指示對(duì)應(yīng)或相似的單元。此外,為了提供對(duì)本文所述實(shí)施例的全面理解,闡述了大量具體細(xì) 節(jié)。然而,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解,可以在沒有這些具體細(xì)節(jié)的情況下實(shí)現(xiàn)本文所述的實(shí)施例。在其它實(shí)例中,并未詳細(xì)描述眾所周知的方法、過程和組件,以突出本文所述的實(shí)施例。此外,不應(yīng)將描述視為對(duì)本文所述的實(shí)施例的范圍加以限制。還應(yīng)當(dāng)注意到,術(shù)語“耦合”指示了兩個(gè)單元可以直接彼此耦合或通過一個(gè)或多個(gè)中間單元彼此耦合。
具體實(shí)施方式
將首先對(duì)具有相機(jī)單元的移動(dòng)設(shè)備進(jìn)行一般性描述,然后進(jìn)展到對(duì)可以與用于處理包括可變長(zhǎng)度數(shù)據(jù)在內(nèi)的圖像數(shù)據(jù)的設(shè)備一起使用的方法的示例實(shí)施例進(jìn)行描述。為了幫助讀者理解移動(dòng)設(shè)備的結(jié)構(gòu),現(xiàn)在將參考圖I至3。然而,應(yīng)當(dāng)理解本文所述實(shí)施例不局限于移動(dòng)設(shè)備,而是可以擴(kuò)展到包括相機(jī)的或處理可變長(zhǎng)度數(shù)據(jù)的任何電子設(shè)備。這種電子設(shè)備一般包括具有相機(jī)的任何便攜式電子設(shè)備,比如蜂窩電話、蜂窩智能電話、無線組織器、個(gè)人數(shù)字助理、計(jì)算機(jī)、膝上型計(jì)算機(jī)、手持無線通信設(shè)備、支持無線通信的筆記本計(jì)算機(jī)、平板計(jì)算機(jī)或電子閱讀器、電子安保設(shè)備、無線互聯(lián)網(wǎng)裝置等等。本文列出的可以移動(dòng)的電子設(shè)備一般是便攜式的,且從而是電池供電的,并可以具有有限的處理能力。盡管這些設(shè)備中的一些設(shè)備包括無線通信能力,但是另一些是不與其他設(shè)備通信的孤立設(shè)備。參見圖I,其中不出了移動(dòng)設(shè)備100的一個(gè)不例的框圖。移動(dòng)設(shè)備100包括大量組件,控制組件是微處理器102,其控制移動(dòng)設(shè)備100的整體操作。通過通信子系統(tǒng)104來執(zhí)行包括數(shù)據(jù)和語音通信在內(nèi)的通信功能。通信子系統(tǒng)104從無線網(wǎng)絡(luò)200接收消息并向無線網(wǎng)絡(luò)200發(fā)送消息。在本示例中,根據(jù)全球移動(dòng)通信系統(tǒng)(GSM)和通用分組無線服務(wù)(GPRS)標(biāo)準(zhǔn)來配置通信子系統(tǒng)104。在其它實(shí)施例中,可以根據(jù)如下所述的其他通信標(biāo)準(zhǔn)來配置通信子系統(tǒng)104。依然在定義新的標(biāo)準(zhǔn),但是相信它們將具有與本文所述的網(wǎng)絡(luò)行為相似之處,且本領(lǐng)域技術(shù)人員將理解本文所述的各種實(shí)施例應(yīng)當(dāng)能夠適于與未來開發(fā)出的任何其他合適的標(biāo)準(zhǔn)一起工作。將通信子系統(tǒng)104與無線網(wǎng)絡(luò)200相連的無線鏈路表示一個(gè)或多個(gè)不同的射頻(RF)信道,這些射頻信道根據(jù)GSM/GPRS通信所指定的限定協(xié)議來工作。在較新的網(wǎng)絡(luò)協(xié)議中,這些信道能夠既支持電路交換語音通信,也支持分組交換數(shù)據(jù)通f目。盡管與移動(dòng)設(shè)備100相關(guān)聯(lián)的無線網(wǎng)絡(luò)200在本示例中是GSM/GPRS無線網(wǎng)絡(luò),但是在變形實(shí)施例中,移動(dòng)設(shè)備100可以使用其他無線網(wǎng)絡(luò)。例如,可以利用的不同類型的無線網(wǎng)絡(luò)包括(但不限于)數(shù)據(jù)中心型無線網(wǎng)絡(luò)、語音中心型無線網(wǎng)絡(luò)、和能夠通過相同物理基站既支持語音通信也支持?jǐn)?shù)據(jù)通信的雙模網(wǎng)絡(luò)。網(wǎng)絡(luò)的示例還包括(但不限于)碼分多址(CDMA) ,CDMA2000 網(wǎng)絡(luò)、GSM/GPRS 網(wǎng)絡(luò)、3G 網(wǎng)絡(luò)(比如 EDGE、W_CDMA 和 UMTS)、4G/LTE網(wǎng)絡(luò)和未來技術(shù)(比如5G網(wǎng)絡(luò))。數(shù)據(jù)中心型網(wǎng)絡(luò)的一些其他示例包括802. lUMobitex 和DataTAC 網(wǎng)絡(luò)通信系統(tǒng)。語音中心型數(shù)據(jù)網(wǎng)絡(luò)的示例包括個(gè)人通信系統(tǒng)(PCS)網(wǎng)絡(luò)(如GSM)和時(shí)分多址(TDMA)系統(tǒng)。移動(dòng)設(shè)備100可以適于使用的通信協(xié)議/標(biāo)準(zhǔn)的示例包括(但不限于)3GPP和3GPP2、高速分組接入(HSPA)標(biāo)準(zhǔn)(比如高速下行鏈路分組接A (HSDPA))、3GPP LTE、LTE、高級(jí) LTE、WiMax 和 Flash-OFDM。微處理器102還與附加子系統(tǒng)交互,比如隨機(jī)存取存儲(chǔ)器(RAM) 106、閃存108、顯示器110、輔助輸入/輸出(I/O)子系統(tǒng)112、數(shù)據(jù)端口 114、鍵盤116、揚(yáng)聲器118、麥克風(fēng)120、短距通信122和其它設(shè)備子系統(tǒng)124。移動(dòng)設(shè)備100的一些子系統(tǒng)執(zhí)行通信相關(guān)功能,反之其他子系統(tǒng)可以提供“駐留”功能或機(jī)載(on-device)功能。作為示例,顯示器110和鍵盤116可以既用于通信相關(guān)功能,比如輸入通過網(wǎng)絡(luò)200發(fā)送的文本消息,也可以用于設(shè)備駐留功能,比如計(jì)算器或任務(wù)列表。一般在持久性存儲(chǔ)器(比如閃存108)中存儲(chǔ)由微處理器102使用的操作系統(tǒng)軟件,閃存108備選地可以是只讀存儲(chǔ)器(ROM)或類似的存儲(chǔ)器單元(未示出)。本領(lǐng)域技術(shù)人員將意識(shí)到,可以將操作系統(tǒng)、特定設(shè)備應(yīng)用或它們的一部分臨時(shí)加載到易失性存儲(chǔ)器中,
比如 RAM106。移動(dòng)設(shè)備100可以在已完成了網(wǎng)絡(luò)注冊(cè)或激活過程之后,通過無線網(wǎng)絡(luò)200發(fā)送和接收通信信號(hào)。網(wǎng)絡(luò)接入與移動(dòng)設(shè)備100的訂戶或用戶相關(guān)聯(lián)。為了識(shí)別訂戶,移動(dòng)設(shè)備100可以使用要插入SM/RUM接口 128的SM/RUM卡126 (即,訂戶識(shí)別模塊或可拆卸式用戶識(shí)別模塊),以與網(wǎng)絡(luò)通信。SM卡或RUM卡126是一種類型的常規(guī)“智能卡”,其可以用于識(shí)別移動(dòng)設(shè)備100的訂戶,并對(duì)移動(dòng)設(shè)備100進(jìn)行個(gè)性化等。在沒有SIM 126的情況下,在與無線網(wǎng)絡(luò)200的通信方面,移動(dòng)設(shè)備100不是完全可操作的。通過向SM/RUM接口 128插入SM卡/RUM 126,訂戶可以接入所有訂購的服務(wù)。服務(wù)可以包括網(wǎng)頁瀏覽和通訊(比如,電子郵件、語音郵件、SMS和^S)。更高級(jí)的服務(wù)可以包括銷售點(diǎn)(pointof sale)、現(xiàn)場(chǎng)服務(wù)和銷售隊(duì)伍自動(dòng)化。SM卡/RUM 126包括處理器和用于存儲(chǔ)信息的存儲(chǔ)器。一旦將SM卡/RUM 126插入SM/RU頂接口 128時(shí),其耦合到微處理器102。為了識(shí)別訂戶,SM卡/RUM 126包含一些用戶參數(shù),比如國(guó)際移動(dòng)訂戶標(biāo)識(shí)(MSI)。使用SM卡/RUM 126的優(yōu)點(diǎn)是訂戶不需要與任何單一物理移動(dòng)設(shè)備綁定。SM卡/RUM 126還可以存儲(chǔ)移動(dòng)設(shè)備的附加訂戶信息,包括記事簿(或日歷)信息以及最近的呼叫信息。備選地,也可以將用戶識(shí)別信息編程到閃存108中。移動(dòng)設(shè)備100是電池供電的設(shè)備,且包括電池接口 132,并使用電池單元130中的一個(gè)或多個(gè)可充電電池。電池接口 132耦合到調(diào)節(jié)器(未示出),調(diào)節(jié)器在向移動(dòng)設(shè)備100提供功率V+方面協(xié)助電池單元130。備選地,電池單元130可以是本領(lǐng)域中已知的智能電池。智能電池一般包括電池處理器、電池存儲(chǔ)器、切換和保護(hù)電路、測(cè)量電路和包括一個(gè)或多個(gè)電池的電池組,該一個(gè)或多個(gè)電池一般是可充電的。在任一情況下,電池單元130中的一個(gè)或多個(gè)電池可以由鋰、鎳鎘、鋰離子或其他合適的合成材料制成。微處理器102,除了其操作系統(tǒng)功能之外,還使得能夠在移動(dòng)設(shè)備100上執(zhí)行軟件應(yīng)用134。一般在制造移動(dòng)設(shè)備100期間在移動(dòng)設(shè)備100上安裝包括數(shù)據(jù)和語音通信應(yīng)用在內(nèi)的控制基本設(shè)備操作的軟件應(yīng)用134的子集。當(dāng)微處理器102執(zhí)行任何軟件應(yīng)用134時(shí),可以將微處理器102視為被配置為執(zhí)行根據(jù)軟件應(yīng)用134的代碼所指定的方法的一定數(shù)目的步驟。軟件應(yīng)用134包括消息應(yīng)用136,消息應(yīng)用136可以是允許移動(dòng)設(shè)備100的用戶發(fā)送和接收電子消息的任何合適的軟件應(yīng)用。如本領(lǐng)域技術(shù)人員眾所周知的,對(duì)于消息應(yīng)用136,可以存在各種備選。一般將用戶已發(fā)送或接收的消息存儲(chǔ)在移動(dòng)設(shè)備100的閃存108或移動(dòng)設(shè)備100中的其它合適存儲(chǔ)單元中。在備選實(shí)施例中,可以將已發(fā)送和接收到的消息中的一些遠(yuǎn)離設(shè)備100加以存儲(chǔ),比如在與移動(dòng)設(shè)備100通信的相關(guān)聯(lián)的主機(jī)系統(tǒng)的數(shù)據(jù)存儲(chǔ)器中。例如,在一些情況下,在設(shè)備100中可以僅存儲(chǔ)最近的消息,同時(shí)可以在遠(yuǎn)程位置中存儲(chǔ)較老的消息,比如在與消息服務(wù)器相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)器中。當(dāng)設(shè)備100的內(nèi)部存儲(chǔ)器滿了或當(dāng)消 息已達(dá)到特定“年齡”時(shí),這可以發(fā)生,例如可以在遠(yuǎn)程位置處存儲(chǔ)老于3個(gè)月的消息。在備選實(shí)施例中,可以在遠(yuǎn)程位置中存儲(chǔ)所有消息,同時(shí)可以在移動(dòng)設(shè)備100上僅存儲(chǔ)最近的消息。移動(dòng)設(shè)備100還包括相機(jī)模塊138、設(shè)備狀態(tài)模塊140、地址簿142、個(gè)人信息管理器(PIM) 144、和其他模塊146。相機(jī)模塊138用于控制移動(dòng)設(shè)備100的相機(jī)操作,相機(jī)操作包括獲得與移動(dòng)設(shè)備100拍攝的圖像相關(guān)聯(lián)的原始縮略像數(shù)據(jù),預(yù)處理該原始縮略像數(shù)據(jù),以及在顯示器110上顯示處理過的縮略像數(shù)據(jù)。下文中更詳細(xì)地討論相機(jī)模塊138的操作。設(shè)備狀態(tài)模塊140提供持久性,即,設(shè)備狀態(tài)模塊140確保在持久性存儲(chǔ)器(比如閃存108)中存儲(chǔ)重要的設(shè)備數(shù)據(jù),使得在移動(dòng)設(shè)備100關(guān)閉或掉電時(shí)該數(shù)據(jù)不丟失。地址簿142提供用戶的聯(lián)系人列表的信息。對(duì)于地址簿142中的給定聯(lián)系人,該信息可以包括聯(lián)系人的姓名、電話號(hào)碼、工作地址和電子郵件地址等信息。其它模塊146可以包括配置模塊以及可以結(jié)合SM/RUIM接口 128 —起使用的其它模塊。PIM 144具有用于組織和管理訂戶感興趣的數(shù)據(jù)項(xiàng)的功能,數(shù)據(jù)項(xiàng)是例如(但不限于)電子郵件、日歷事件、語音郵件、約會(huì)和任務(wù)項(xiàng)。PM應(yīng)用具有經(jīng)由無線網(wǎng)絡(luò)200發(fā)送和接收數(shù)據(jù)項(xiàng)的能力。PIM數(shù)據(jù)項(xiàng)可以經(jīng)由無線網(wǎng)絡(luò)200與移動(dòng)設(shè)備訂戶在主機(jī)計(jì)算機(jī)系統(tǒng)上存儲(chǔ)的和/或關(guān)聯(lián)的對(duì)應(yīng)數(shù)據(jù)項(xiàng)進(jìn)行無縫整合、同步和更新。該功能在移動(dòng)設(shè)備100上關(guān)于這種項(xiàng)創(chuàng)建了鏡像的主機(jī)計(jì)算機(jī)系統(tǒng)。當(dāng)主機(jī)計(jì)算機(jī)系統(tǒng)是移動(dòng)設(shè)備訂戶的辦公室計(jì)算機(jī)系統(tǒng)時(shí),這是特別有利的。還可以通過以下至少一項(xiàng)將附加應(yīng)用加載到移動(dòng)設(shè)備100上無線網(wǎng)絡(luò)200、輔助I/o子系統(tǒng)112、數(shù)據(jù)端口 114、短距通信子系統(tǒng)122或任何其它合適的設(shè)備子系統(tǒng)124。該應(yīng)用安裝的靈活性增加了移動(dòng)設(shè)備100的功能,并可以提供增強(qiáng)的機(jī)載功能、通信相關(guān)功能、或二者兼而有之。例如,安全通信應(yīng)用可以使得能夠使用移動(dòng)設(shè)備100來執(zhí)行電子商務(wù)功能和其它這種金融交易。數(shù)據(jù)端口 114通過向移動(dòng)設(shè)備100提供不同于經(jīng)由除無線通信網(wǎng)絡(luò)的信息或軟件下載的提供,使得訂戶能夠通過外部設(shè)備或軟件應(yīng)用來設(shè)置首選項(xiàng),以及擴(kuò)展移動(dòng)設(shè)備100的能力。備選的下載路徑可以例如用于通過直接并從而可靠和可信的連接向移動(dòng)設(shè)備100加載加密密鑰,來提供安全設(shè)備通信。數(shù)據(jù)端口 114可以是使得在移動(dòng)設(shè)備100和另一計(jì)算設(shè)備之間的數(shù)據(jù)通信成為可能的端口。數(shù)據(jù)端口 114可以是串行端口或并行端口。在一些實(shí)例中,數(shù)據(jù)端口 114可以是USB端口,USB端口包括用于數(shù)據(jù)傳輸?shù)臄?shù)據(jù)線和可以提供用于向移動(dòng)設(shè)備100充電的充電電流的供電線。短距通信子系統(tǒng)122在不使用無線網(wǎng)絡(luò)200的情況下提供移動(dòng)設(shè)備100和不同系統(tǒng)或設(shè)備之間的通信。例如,子系統(tǒng)122可以包括紅外設(shè)備和相關(guān)聯(lián)的電路,以及包括用于短距通信的組件。短距通信的示例包括由紅外數(shù)據(jù)聯(lián)盟(IrDA)開發(fā)的標(biāo)準(zhǔn)、Bluetooth、以及由IEEE開發(fā)的802. 11標(biāo)準(zhǔn)族。在實(shí)際使用中,將由通信子系統(tǒng)104來處理接收到的信號(hào),比如文本消息、電子郵件消息或網(wǎng)頁下載,并將接收到的信號(hào)輸入微處理器102。然后微處理器102將處理接收到的信號(hào),用于輸出到顯示器110或備選地輸出到輔助I/O子系統(tǒng)112。訂戶還可以使用例如鍵盤116與顯示器110和可能的輔助I/O子系統(tǒng)112來撰寫數(shù)據(jù)項(xiàng),比如電子郵件消息。輔助子系統(tǒng)112可以包括諸如觸摸屏、鼠標(biāo)、軌跡球、紅外指紋檢測(cè)器、或具有動(dòng)態(tài)按鈕按壓能力的滾輪之類的設(shè)備。鍵盤116優(yōu)選地是字母數(shù)字鍵盤和/或電話類型鍵區(qū)。然而,也可以使用其他類型的鍵盤??梢酝ㄟ^通信子系統(tǒng)104在無線網(wǎng)絡(luò)200上發(fā)送撰寫的項(xiàng)。對(duì)于語音通信,移動(dòng)設(shè)備100的整體操作基本類似,不同在于將接收到的信號(hào)輸出到揚(yáng)聲器118,由麥克風(fēng)120來產(chǎn)生用于發(fā)送的信號(hào)。可以在移動(dòng)設(shè)備100上實(shí)現(xiàn)備選的語音或音頻I/O子系統(tǒng),比如語音消息記錄子系統(tǒng)。盡管主要通過揚(yáng)聲器118來完成語音或音頻信號(hào)輸出,顯示器110也可以用于提供附加信息,比如主叫方的標(biāo)識(shí)、語音呼叫的時(shí)間長(zhǎng)度、或其它涉及語音呼叫的信息。移動(dòng)設(shè)備100還包括允許移動(dòng)設(shè)備100的用戶拍攝照片的相機(jī)單元148。相機(jī)單元148包括相機(jī)控制器150、電流驅(qū)動(dòng)單元152、相機(jī)鏡頭子單元154、相機(jī)閃光燈子單元156、相機(jī)傳感器子單元158和圖像捕捉輸入160。相機(jī)控制器150使用從微處理器102和相機(jī)模塊138接收到的信息和指令,配置相機(jī)單元148的操作。應(yīng)當(dāng)注意到,針對(duì)相機(jī)單元148所示的結(jié)構(gòu)和相關(guān)描述僅是一個(gè)示例實(shí)施例,且應(yīng)當(dāng)注意到,獲得用于在顯示器110上查看的相機(jī)圖像的技術(shù)不應(yīng)當(dāng)受限于本示例實(shí)施例。當(dāng)用戶選擇移動(dòng)設(shè)備100的相機(jī)模式時(shí),相機(jī)控制器150從微處理器102接收激活信號(hào)。然后相機(jī)單元148確定可以從電池單元130中抽取的最大相機(jī)閃光燈電流以及針對(duì)移動(dòng)設(shè)備100的當(dāng)前物理環(huán)境需要由相機(jī)閃光燈產(chǎn)生的光的量,使得拍攝到該場(chǎng)景的良好質(zhì)量的照片;在這點(diǎn)上,可以采用對(duì)于本領(lǐng)域技術(shù)人員而言公知的各種技術(shù)。例如,可以使用變化長(zhǎng)度的當(dāng)前脈沖來產(chǎn)生相機(jī)閃光。備選地,可以使用恒定的脈沖長(zhǎng)度以及最大幅度設(shè)置,且其他元素(比如鏡頭的光圈)可以變化,以得到具有不同光輸出的相機(jī)閃光的預(yù)期效果。于是,相機(jī)控制器150指示電流驅(qū)動(dòng)單元152在不抽取多于電池單元130所能夠允許的最大相機(jī)閃光燈電流的前提下產(chǎn)生由相機(jī)閃光燈子單元156所使用的相機(jī)閃光燈電流。相機(jī)控制器150還配置電流驅(qū)動(dòng)單元152,以產(chǎn)生用于致動(dòng)相機(jī)鏡頭子單元154的電流。電流驅(qū)動(dòng)單元152可以是線性穩(wěn)壓器,其中,線性穩(wěn)壓器的輸入電流和線性穩(wěn)壓器的輸出電流是相等的。備選地,電流驅(qū)動(dòng)單元152可以是升壓穩(wěn)壓器和線性穩(wěn)壓器的組合,以在需要時(shí)向相機(jī)閃光燈子單元158提供比從電池單元130獲得的電流更多數(shù)量的電流。備選地,電流驅(qū)動(dòng)單元152可以是降壓穩(wěn)壓器和線性穩(wěn)壓器的組合,如果相機(jī)閃光燈電壓始終小于電池單元電壓,則可以使用該組合。備選地,降壓和升壓電路可以與線性穩(wěn)壓器一起用于電流驅(qū)動(dòng)單元152。取決于采用的具體配置,相機(jī)鏡頭子單元154包括具有快門和/或光圈的鏡頭,以及用于打開和關(guān)閉快門和/或光圈的組件。備選地,相機(jī)鏡頭子單元154可以包括提供伸縮功能以允許用戶拍攝“放大”或“縮小”照片的組件。在其他備選中,相機(jī)鏡頭子單元154、可以包括全部這些組件。用于這些備選中每個(gè)備選的結(jié)構(gòu)對(duì)于本領(lǐng)域技術(shù)人員而言是公知的。相機(jī)閃光燈子單元156包括用于產(chǎn)生具有恰當(dāng)量值或流明(lumen)的光的相機(jī)閃光燈,以增加相機(jī)單元148所獲得的圖像質(zhì)量。然而,由于可以從電池單元130中抽取的用于閃光目的的電流的限制(該限制由最大相機(jī)閃光電流所指定),因此相機(jī)閃光燈子單元156的輸出是受限的。相機(jī)閃光燈子單兀156 —般基于LED閃光技術(shù)。在備選實(shí)施例中,可以使用其它類型的恰當(dāng)閃光燈。相機(jī)傳感器子單元158捕捉圖像數(shù)據(jù)并向相機(jī)控制器150發(fā)送圖像數(shù)據(jù)。相機(jī)傳感器子單元158還使用用于操作的電流,并從電流驅(qū)動(dòng)單元152接收該電流。如本領(lǐng)域技術(shù)人員眾所周知的,相機(jī)傳感器子單元158可以基于CMOS傳感器技術(shù)、CCD傳感器技術(shù)等。相機(jī)控制器150將圖像數(shù)據(jù)轉(zhuǎn)換為所需格式,比如JPEG圖像數(shù)據(jù),并產(chǎn)生與JPEG圖像數(shù)據(jù)相對(duì)應(yīng)的原始縮略像數(shù)據(jù)。然后相機(jī)控制器150將JPEG圖像數(shù)據(jù)和原始的縮略像數(shù)據(jù)相結(jié)合,以形成之后在移動(dòng)設(shè)備100的存儲(chǔ)器單元(比如RAM 106)中存儲(chǔ)的圖像數(shù)據(jù)。 一般而言,圖像捕捉輸入160是按壓按鈕致動(dòng)器,當(dāng)用戶想要拍攝照片時(shí),由用戶按動(dòng)該按壓按鈕。在備選實(shí)施例中,圖像捕捉輸入160可以是開關(guān)或本領(lǐng)域技術(shù)人員所公知的某種其他恰當(dāng)?shù)妮斎霗C(jī)制。在實(shí)際使用中,用戶選擇移動(dòng)設(shè)備100的相機(jī)模式,且相機(jī)控制器150操作相機(jī)單元148以連續(xù)拍攝圖像,并連續(xù)產(chǎn)生幀序列的JPEG和原始縮略像數(shù)據(jù)。然后由微處理器102獲得并處理每一幀的原始縮略像數(shù)據(jù),以產(chǎn)生在顯示器110上顯示的經(jīng)預(yù)處理的圖像數(shù)據(jù)。使用來自后續(xù)幀的圖像數(shù)據(jù)的已處理的縮略圖數(shù)據(jù)來連續(xù)更新顯示器110。當(dāng)用戶在顯示器110上看到他或她想要捕捉的圖像時(shí),用戶激活圖像捕捉輸入160,然后由微處理器102在恰當(dāng)?shù)拇鎯?chǔ)器單元(比如閃存108)中保存最新的圖像。參照?qǐng)D4來更詳細(xì)地描述涉及這些步驟的微處理器102的操作。現(xiàn)在參見圖2,示出了圖I的通信子系統(tǒng)組件104的框圖。通信子系統(tǒng)104包括接收機(jī)180、發(fā)射機(jī)182、一個(gè)或多個(gè)嵌入式或內(nèi)置天線單元184、186、本地振蕩器(LO) 188、以及諸如數(shù)字信號(hào)處理器(DSP) 190之類的處理模塊。通信子系統(tǒng)104的具體設(shè)計(jì)取決于移動(dòng)設(shè)備100預(yù)期工作所處的網(wǎng)絡(luò)200 ;從而應(yīng)當(dāng)理解圖2所示的設(shè)計(jì)僅作為一個(gè)示例。將天線184通過網(wǎng)絡(luò)200接收到的信號(hào)輸入接收機(jī)180,接收機(jī)180可以執(zhí)行諸如信號(hào)放大、降頻轉(zhuǎn)換、濾波、信道選擇和模數(shù)(A/D)轉(zhuǎn)換之類的公共接收機(jī)功能。對(duì)接收信號(hào)的A/D轉(zhuǎn)換允許更復(fù)雜的通信技術(shù),比如要在DSP 190中執(zhí)行的解調(diào)和解碼。類似地,由DSP 190處理要發(fā)送的信號(hào),包括調(diào)制和編碼。將這些DSP處理過的信號(hào)輸入到發(fā)射機(jī)182,以進(jìn)行數(shù)模(D/A)轉(zhuǎn)換、升頻轉(zhuǎn)換、濾波、放大以及經(jīng)由天線186通過網(wǎng)絡(luò)200發(fā)送。DSP 190不僅處理通信信號(hào),還提供接收機(jī)和發(fā)射機(jī)控制。例如,可以通過在DSP 190中實(shí)現(xiàn)的自動(dòng)增益控制算法來自適應(yīng)地控制施加到接收機(jī)180和發(fā)射機(jī)182中的通信信號(hào)的增益。移動(dòng)設(shè)備100和網(wǎng)絡(luò)200之間的無線鏈路可以包含一個(gè)或多個(gè)不同的信道(一般是不同的RF信道)以及在移動(dòng)設(shè)備100和網(wǎng)絡(luò)200之間使用的相關(guān)聯(lián)的協(xié)議。由于整體帶寬的限制和移動(dòng)設(shè)備100的有限電池功率,因此RF信道是必須保留的有限資源。
當(dāng)移動(dòng)設(shè)備100處于完全工作狀態(tài)時(shí),發(fā)射機(jī)182 —般僅在其向網(wǎng)絡(luò)200發(fā)送時(shí)才鍵入(keyed)或打開,且在其他情況下關(guān)閉以保留資源。類似地,周期性地關(guān)閉接收機(jī)180以保留資源,直到需要在指定時(shí)間段期間接收信號(hào)或信息(如果有的話)?,F(xiàn)在參見圖3,將無線網(wǎng)絡(luò)的節(jié)點(diǎn)的框圖示出為202。在本示例實(shí)施例中,在使用通用分組無線服務(wù)(GPRS)和全球移動(dòng)系統(tǒng)(GSM)技術(shù)進(jìn)行操作的情況下,來描述網(wǎng)絡(luò)及其組件。然而應(yīng)當(dāng)理解,在其他實(shí)施例中,可以根據(jù)其他通信協(xié)議來實(shí)現(xiàn)網(wǎng)絡(luò)。在實(shí)際中,網(wǎng)絡(luò)200包括一個(gè)或多個(gè)節(jié)點(diǎn)202。移動(dòng)設(shè)備100與無線網(wǎng)絡(luò)200中的節(jié)點(diǎn)202通信。根據(jù)GPRS和GSM技術(shù)來配置節(jié)點(diǎn)202。節(jié)點(diǎn)202包括具有相關(guān)聯(lián)的塔站206的基站控制器(BSC) 204、為了在GSM中支持GPRS而添加的分組控制單元(PCU) 208、移動(dòng)交換中心(MSC) 210、歸屬位置寄存器(HLR) 212、訪客位置寄存器(VLR) 214、服務(wù)GPRS支持節(jié)點(diǎn)(SGSN) 216、網(wǎng)關(guān)GPRS支持節(jié)點(diǎn)(GGSN) 218、以及動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP) 220。該組件列表不意味著其是GSP/GPRS網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)202的組件的無遺漏的列表,而是在通過網(wǎng)絡(luò)200進(jìn)行通信中所常用的組件列表。在GSM網(wǎng)絡(luò)中,MSC 210耦合到BSC 204以及陸地線路網(wǎng)絡(luò)(比如公共交換電話網(wǎng)絡(luò)(PSTN) 222),以滿足電路交換條件。通過PCU208、SGSN 216和GGSN 218到公共或私有網(wǎng)絡(luò)(互聯(lián)網(wǎng))224(也被稱為共享網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu))的連接表示用于支持GPRS的移動(dòng)設(shè)備的數(shù)據(jù)路徑。在具有GPRS能力擴(kuò)展的GSM網(wǎng)絡(luò)中,BSC 204還包含分組控制單元(P⑶)208,分組控制單元208連接到SGSN 216以控制分段、無線信道分配并滿足分組交換條件。為了針對(duì)電路交換和分組交換管理來跟蹤移動(dòng)設(shè)備的位置和可用性,在MSC 210和SGSN216之間共享HLR 212。對(duì)VLR 214的接入由MSC 210來控制。站206可以是固定收發(fā)信機(jī)站,在該情況下,站206和BSC 204—起形成了固定的收發(fā)信機(jī)設(shè)備。固定收發(fā)信機(jī)設(shè)備針對(duì)通常被稱為“小區(qū)”的特定覆蓋區(qū)域提供了無線網(wǎng)絡(luò)覆蓋。固定的收發(fā)信機(jī)設(shè)備在其小區(qū)內(nèi)經(jīng)由站206向移動(dòng)設(shè)備發(fā)送通信信號(hào)并從移動(dòng)設(shè)備接收通信信號(hào)。固定的收發(fā)信機(jī)設(shè)備一般執(zhí)行如下功能在其控制器的控制下根據(jù)特定的(通常是預(yù)定的)通信協(xié)議和參數(shù)對(duì)要發(fā)送到移動(dòng)設(shè)備的信號(hào)進(jìn)行調(diào)制和可能的編碼和/或加密。固定的收發(fā)信機(jī)設(shè)備類似地對(duì)從在其小區(qū)內(nèi)的移動(dòng)設(shè)備100接收到的任何通信信號(hào)進(jìn)行解調(diào)和可能的解碼和解密(如果需要)。通信協(xié)議和參數(shù)在不同的節(jié)點(diǎn)之間可以變化。例如,一個(gè)節(jié)點(diǎn)可以采用與其他節(jié)點(diǎn)不同的調(diào)制方案,并在不同的頻率上工作。對(duì)于注冊(cè)到特定網(wǎng)絡(luò)的所有移動(dòng)設(shè)備100,在HLR 212中存儲(chǔ)諸如用戶簡(jiǎn)檔之類的永久配置數(shù)據(jù)。HLR 212還包含每個(gè)注冊(cè)的移動(dòng)設(shè)備的位置信息,且可以對(duì)其進(jìn)行查詢以確定移動(dòng)設(shè)備的當(dāng)前位置。MSC 210負(fù)責(zé)一組位置區(qū)域,并在VLR 214中存儲(chǔ)當(dāng)前在其負(fù)責(zé)區(qū)域內(nèi)的移動(dòng)設(shè)備的數(shù)據(jù)。此外,VLR 214還包含與訪問其他網(wǎng)絡(luò)的移動(dòng)設(shè)備相關(guān)的信息。VLR 214中的信息包括從HLR 212向VLR 214發(fā)送的用于更快速接入的永久移動(dòng)設(shè)備數(shù)據(jù)的一部分。通過將附加信息從HLR 212的遠(yuǎn)程節(jié)點(diǎn)移動(dòng)至VLR 214,可以減少這些節(jié)點(diǎn)之間的業(yè)務(wù)量,使得可以用更快速的響應(yīng)時(shí)間來提供語音和數(shù)據(jù)服務(wù),同時(shí)使用更少的計(jì)算資源。SGSN 216和GGSN 218是在GSM中為了支持GPRS (即分組交換數(shù)據(jù)支持)所添加的單元。在無線網(wǎng)絡(luò)200中,通過跟蹤每個(gè)移動(dòng)設(shè)備100的位置,SGSN 216和MSC 210具有類似責(zé)任。SGSN 216還針對(duì)網(wǎng)絡(luò)200上的數(shù)據(jù)業(yè)務(wù)執(zhí)行安全功能和接入控制。GGSN 218提供與外部分組交換網(wǎng)絡(luò)的互聯(lián)連接,并經(jīng)由在網(wǎng)絡(luò)200內(nèi)操作的互聯(lián)網(wǎng)協(xié)議(IP)骨干網(wǎng)網(wǎng)絡(luò)連接到一個(gè)或多個(gè)SGSN 216。在正常操作期間,給定的移動(dòng)設(shè)備100必須執(zhí)行“GPRS附著”來獲取IP地址,并接入數(shù)據(jù)服務(wù)。該要求在電路交換語音信道中不存在,因?yàn)槭褂镁C合服務(wù)數(shù)字網(wǎng)絡(luò)(ISDN)地址來對(duì)呼入和呼出呼叫進(jìn)行路由。當(dāng)前,支持GPRS的網(wǎng)絡(luò)使用私有的、動(dòng)態(tài)分配的IP地址,并從而使用連接到GGSN 218的DHCP服務(wù)器220。存在動(dòng)態(tài)IP分配的很多種機(jī)制,包括使用遠(yuǎn)程認(rèn)證撥入用戶服務(wù)(RADIUS)服務(wù)器和DHCP服務(wù)器的組合。一旦完成GPRS附著,建立從移動(dòng)設(shè)備100通過PCU 208和SGSN 216到達(dá)GGSN 218內(nèi)的接入點(diǎn)節(jié)點(diǎn)(APN)的邏輯連接。APN表示IP隧道的邏輯端點(diǎn),其可以接入直接互聯(lián)網(wǎng)兼容服務(wù)或私有網(wǎng)絡(luò)連接。APN還表示網(wǎng)絡(luò)200的安全機(jī)制,只要是必須將每個(gè)移動(dòng)設(shè)備100分配給一個(gè)或多個(gè)APN,且在不首先執(zhí)行對(duì) 其已被授權(quán)使用的APN進(jìn)行GPRS附著的情況下,移動(dòng)設(shè)備100不能交換數(shù)據(jù)??梢詫PN視為與互聯(lián)網(wǎng)域名類似,比如“myconnection.wireless, com,,。一旦完成了 GPRS附著,則使用在IP分組中可以支持的任何協(xié)議,創(chuàng)建隧道并在標(biāo)準(zhǔn)IP分組內(nèi)交換業(yè)務(wù)。在虛擬私有網(wǎng)絡(luò)(VPN)中使用一些IPSecurity (IPsec)連接的情況下,這包括隧道傳輸方法,比如基于IP的IP。這些隧道也被稱為分組數(shù)據(jù)協(xié)議(rop)上下文,且在網(wǎng)絡(luò)200中存在有限數(shù)目的可用分組數(shù)據(jù)協(xié)議上下文。為了最大化使用PDP上下文,網(wǎng)絡(luò)200將針對(duì)每個(gè)PDP上下文運(yùn)行空閑定時(shí)器,以確定是否沒有活動(dòng)。當(dāng)移動(dòng)設(shè)備100不使用其PDP上下文時(shí),可以解除分配(deallocate)PDP上下文,并將IP地址返回至DHCP服務(wù)器220所管理的IP地址池。主機(jī)系統(tǒng)250可以是公司企業(yè)或其它局域網(wǎng)(LAN),但是在變形實(shí)施例中,例如也可以是家庭辦公室計(jì)算機(jī)或某個(gè)其他私有系統(tǒng)。在一些情況下,主機(jī)(host)系統(tǒng)250可以表示組織的較大網(wǎng)絡(luò)的較小部分。一般而言,移動(dòng)設(shè)備通過無線網(wǎng)絡(luò)200的一個(gè)或多個(gè)節(jié)點(diǎn)202與主機(jī)系統(tǒng)250無線通信。主機(jī)系統(tǒng)250可以包括在防火墻或代理服務(wù)器后面工作的一個(gè)或多個(gè)路由器和計(jì)算設(shè)備。代理服務(wù)器將數(shù)據(jù)路由到主機(jī)系統(tǒng)250中的正確目的地服務(wù)器。例如,主機(jī)系統(tǒng)250可以包括用于向移動(dòng)設(shè)備發(fā)送和接收消息的消息服務(wù)器,以及包括對(duì)何時(shí)、是否、以及如何將消息發(fā)送到移動(dòng)設(shè)備進(jìn)行控制的消息管理服務(wù)器。主機(jī)系統(tǒng)250還可以包括提供主機(jī)系統(tǒng)250的各種功能的其他服務(wù)器以及數(shù)據(jù)存儲(chǔ)器或數(shù)據(jù)庫。如前所述,相機(jī)單元148捕捉場(chǎng)景的JPEG圖像數(shù)據(jù),并產(chǎn)生對(duì)應(yīng)的原始縮略像數(shù)據(jù)。然后在臨時(shí)存儲(chǔ)器(比如閃存108)中保存該JPEG圖像數(shù)據(jù)和原始縮略像數(shù)據(jù)。然后微處理器102(在備選實(shí)施例中,是另一處理器)處理該圖像數(shù)據(jù),使得可以在顯示器110上顯示該圖像數(shù)據(jù)。為了執(zhí)行該處理,可以確定存儲(chǔ)器中的原始縮略像數(shù)據(jù)的位置,由于JPEG圖像數(shù)據(jù)一般具有可變大小,因此該確定可能是困難的。進(jìn)一步使該情形復(fù)雜化,相機(jī)單元148 —般具有不完全或非良好支持JPEG/可變長(zhǎng)度數(shù)據(jù)的捕捉模式,且針對(duì)最近幀的圖像數(shù)據(jù),不提供與在閃存108中存儲(chǔ)的JPEG圖像數(shù)據(jù)的大小相關(guān)的充足信息。在很多情況下,不向微處理器102提供JPEG圖像數(shù)據(jù)的長(zhǎng)度參數(shù)。在其他情況下,微處理器102可以獲得當(dāng)前幀的圖像的長(zhǎng)度參數(shù)。然而,一旦微處理器102開始接收下一幀的圖像數(shù)據(jù)時(shí),一般會(huì)重置該長(zhǎng)度信息,且因此該長(zhǎng)度信息不可用于快速定位下一幀的原始縮略像。此外,當(dāng)中斷充分高且?guī)g間隔充分小時(shí),讓微處理器102在幀空白時(shí)間段期間實(shí)時(shí)讀取長(zhǎng)度參數(shù)是困難的。因此,為了避開這些問題,相機(jī)單元148 —般簡(jiǎn)單地在圖像數(shù)據(jù)中插入標(biāo)準(zhǔn)JPEG標(biāo)記。標(biāo)準(zhǔn)的JPEG標(biāo)記包括分別在JPEG圖像數(shù)據(jù)之前和之后插入的起始標(biāo)記(即,Start-Of-Image (SOI)標(biāo)記)和結(jié)束標(biāo)記(即,End-Of-Image (EOI)標(biāo)記),用于指示JPEG數(shù)據(jù)的起始和結(jié)束。然后原始縮略圖數(shù)據(jù)跟在JPEG數(shù)據(jù)的結(jié)束標(biāo)記之后。微處理器102常規(guī)上執(zhí)行JPEG搜索算法,該JPEG搜索算法在接收到的圖像數(shù)據(jù)中搜索JPEG圖像數(shù)據(jù)的結(jié)束。用結(jié)束標(biāo)記0xFF0xD9來指示JPEG End-Of-Image (EOI)標(biāo)記,而用開始或起始標(biāo)記OxFF 0xD8來指示JPEG Start-Of-Image (SOI)標(biāo)記。這兩個(gè)標(biāo)記都遵從JPEG標(biāo)準(zhǔn)。這些標(biāo)記或字符序列不太可能出現(xiàn)在JPEG圖像數(shù)據(jù)中的任何位置,但是該標(biāo)記可能存在于在結(jié)束標(biāo)記之后的原始縮略像數(shù)據(jù)(也被稱為未壓縮的縮略圖數(shù)據(jù))中。在常規(guī)處理方法中,微處理器102通過搜索SOI和EOI標(biāo)記來使用搜索算法,以搜索結(jié)束標(biāo)記。當(dāng)找到結(jié)束標(biāo)記時(shí),則搜索算法確定原始縮略像數(shù)據(jù)的位置。盡管可以對(duì)JPEG搜索算法進(jìn)行算法優(yōu)化,該優(yōu)化在最小化實(shí)時(shí)應(yīng)用(其一般要求每秒要處理·約30幀)中針對(duì)結(jié)束標(biāo)記來搜索存儲(chǔ)器108所需的時(shí)間量和存儲(chǔ)器帶寬方面的能力有限。因此,對(duì)于微處理器102定位必須處理的原始縮略像數(shù)據(jù)以在顯示器110上顯示而言,以這種方式來搜索結(jié)束標(biāo)記是消耗時(shí)間的。該低效率的過程使顯示器110的更新速率限制為每秒僅約12至13次,這可能導(dǎo)致丟幀和圖像的斷續(xù)顯示。這降低了用戶在將移動(dòng)設(shè)備100作為相機(jī)使用時(shí)的體驗(yàn)質(zhì)量,且還使得用戶難以捕捉所需圖像。當(dāng)由于微處理器102執(zhí)行各種功能,而導(dǎo)致處理器能力有限時(shí)(通常發(fā)生在特定電子設(shè)備中,比如類似設(shè)備100的移動(dòng)設(shè)備),加劇了該緩慢更新速率的問題。然而,更有效率的方案可以用于通過利用輸入的JPEG圖像數(shù)據(jù)和原始縮略像數(shù)據(jù)的屬性來定位原始縮略像數(shù)據(jù)。在圖4中將該更有效率的技術(shù)的示例實(shí)施例示出為方法300。在步驟302,用戶選擇移動(dòng)設(shè)備100上的相機(jī)應(yīng)用,其發(fā)起了相機(jī)模式并啟動(dòng)相機(jī)模塊138。在步驟304,相機(jī)模塊138通過分配這些存儲(chǔ)器單元中的一部分或這些存儲(chǔ)器單元中包含的緩沖區(qū)來預(yù)處理存儲(chǔ)器單元(即,RAM106或閃存108),用于從相機(jī)單元148接收包括當(dāng)前幀的JPEG圖像數(shù)據(jù)和原始縮略像數(shù)據(jù)在內(nèi)的輸入圖像數(shù)據(jù)。將緩沖區(qū)選擇為在大小方面足夠大,使得輸入圖像數(shù)據(jù)填充了部分(但不是全部)緩沖區(qū)。例如,可以選擇具有5MB大小的緩沖區(qū),因?yàn)橐话泐A(yù)期輸入圖像數(shù)據(jù)將填充緩沖區(qū)的約2至3MB。要遵從的經(jīng)驗(yàn)法則可以是針對(duì)相機(jī)單元的解析度的每百萬像素(Megapixel),JPEG數(shù)據(jù)預(yù)期是IMB。一旦分配了緩沖區(qū),相機(jī)模塊138在緩沖區(qū)中間隔每N個(gè)字節(jié)來存儲(chǔ)多個(gè)定位符標(biāo)記,也可以將其稱為定位符標(biāo)記串。因此,可以稱緩沖區(qū)中的定位符標(biāo)記是周期性地,且周期等于N,因?yàn)樵诖鎯?chǔ)器單元中連續(xù)的定位符標(biāo)記間隔N個(gè)字節(jié)。N可以選擇不同的值。例如,N的最小大小(S卩,下界)可以是定位符標(biāo)記的大小。N的最大大小(即,上界)與以下事實(shí)綁定N的值越大將導(dǎo)致在估計(jì)圖像數(shù)據(jù)的結(jié)束方面的更大誤差。因此,在初始化或預(yù)處理存儲(chǔ)器單元以存儲(chǔ)定位符標(biāo)記并同時(shí)還將對(duì)圖像數(shù)據(jù)的結(jié)束的估計(jì)方面的誤差保持在合理限制之內(nèi)之間存在平衡??梢赃x擇N的上界為存儲(chǔ)器單元的大小的四分之一。實(shí)際中,已發(fā)現(xiàn)給出良好性能的N的值是約256字節(jié)。然而,這對(duì)于不同的實(shí)施例可以發(fā)生變化。通過包括N字節(jié)的間隔,可以使用更有效率的搜索技術(shù)來獲得對(duì)圖像數(shù)據(jù)的結(jié)束的估計(jì),而不一定對(duì)整個(gè)緩沖區(qū)進(jìn)行強(qiáng)力(brute force)搜索,如下面更詳細(xì)解釋的。
定位符標(biāo)記可以是具有特定長(zhǎng)度的二進(jìn)制數(shù)據(jù)的串。例如,定位符標(biāo)記的長(zhǎng)度可以從I字節(jié)到若干字節(jié)。然而,通過使用長(zhǎng)度一般在I至8字節(jié)的定位符標(biāo)記以及在某些情況下長(zhǎng)度在4至8字節(jié)的定位符標(biāo)記,可以獲得合適的性能,因?yàn)樵贘PEG圖像數(shù)據(jù)的特定間隔處出現(xiàn)定位符標(biāo)記中指定的4至8字節(jié)的序列的概率不太可能發(fā)生。此外,JPEG圖像數(shù)據(jù)具有某些不太可能的序列,所述序列可以用于增強(qiáng)對(duì)在定位符標(biāo)記中使用的二進(jìn)制數(shù)據(jù)的選擇,使得定位符標(biāo)記不太可能出現(xiàn)在從相機(jī)單元148接收到的JPEG圖像數(shù)據(jù)中。在步驟306,從相機(jī)單元148接收當(dāng)前幀的圖像數(shù)據(jù)。可以將圖像數(shù)據(jù)視為包含2個(gè)子數(shù)據(jù)集的第一數(shù)據(jù)集具有可變數(shù)據(jù)長(zhǎng)度并以結(jié)束標(biāo)記(EOI)終止的JPEG圖像數(shù)據(jù)以及在JPEG結(jié)束標(biāo)記之后開始的原始縮略像數(shù)據(jù)?;谟上鄼C(jī)單元148產(chǎn)生的JPEG圖像數(shù)據(jù)的類型,原始縮略像數(shù)據(jù)具有已知大小。例如,原始縮略像數(shù)據(jù)可以具有與640乘480像素的解析度相對(duì)應(yīng)的大小。通過對(duì)緩沖區(qū)的當(dāng)前內(nèi)容進(jìn)行覆蓋,將接收到的圖像數(shù)據(jù)存儲(chǔ)在緩沖區(qū)中。因此,圖像數(shù)據(jù)覆蓋了多個(gè)定位符標(biāo)記中的一部分,而剩余定位符標(biāo)記并未被修改。如果圖像數(shù)據(jù)大于存儲(chǔ)器單元,則可以覆蓋所有的定位符標(biāo)記,且圖像數(shù)據(jù)的傳輸在到達(dá)緩沖區(qū)末尾時(shí)應(yīng)當(dāng)停止。在該情況下,則可以丟棄圖像數(shù)據(jù)的當(dāng)前幀, 且可以處理后續(xù)幀的圖像數(shù)據(jù)。在步驟308,方法300在緩沖區(qū)中搜索相對(duì)于圖像數(shù)據(jù)的結(jié)束的還沒有被覆蓋的定位符標(biāo)記的第一實(shí)例。可以使用諸如二分搜索之類的搜索算法來找到還沒有被破壞的定位符標(biāo)記出的位置,換言之,對(duì)還沒有被當(dāng)前幀的圖像數(shù)據(jù)所覆蓋的最接近圖像數(shù)據(jù)的結(jié)束的定位符標(biāo)記進(jìn)行定位。然后還沒有被覆蓋的第一定位符標(biāo)記的位置的信息提供了對(duì)圖像數(shù)據(jù)的結(jié)束的估計(jì),如將要解釋的,其一般在圖像數(shù)據(jù)的實(shí)際結(jié)束的N個(gè)字節(jié)之內(nèi)。在其它實(shí)施例中,只要不將方法300的效率降低到不可接受的水平,則可以使用其他合適的搜索算法。如果在步驟308中使用二分搜索,則檢查緩沖區(qū)的中央處的第一位置,以查看其是否已被圖像數(shù)據(jù)覆蓋。在第一情況下,該第一位置的任意一側(cè)的N字節(jié)內(nèi)的緩沖區(qū)的部分包括圖像數(shù)據(jù)和定位符標(biāo)記。在該情況下,算法已確定最接近圖像數(shù)據(jù)的結(jié)束的定位符標(biāo)記的位置。在第二情況下,當(dāng)?shù)谝晃恢玫娜我庖粋?cè)的N個(gè)字節(jié)內(nèi)的緩沖區(qū)的部分是空白的且包括定位符標(biāo)記,則確定緩沖區(qū)在第一位置附近未被圖像數(shù)據(jù)覆蓋。在該情況下,二分搜索的下一步驟將是檢查緩沖區(qū)的第二位置的任意一側(cè)的N個(gè)字節(jié),該第二位置在第一位置和緩沖區(qū)的起始之間的中間。在第三情況下,在第一位置的任意一側(cè)的N個(gè)字節(jié)中,圖像數(shù)據(jù)已完全覆蓋緩沖區(qū)。在該情況下,二分搜索的下一步驟將是檢查緩沖區(qū)的第三位置的任意一側(cè)的N個(gè)字節(jié),該第三位置在當(dāng)前位置和緩沖區(qū)的結(jié)束之間的中間。在第二和第三情況下,二分搜索將持續(xù)把搜索空間減半,并檢查分段的任意一側(cè)的N個(gè)字節(jié),直到其發(fā)現(xiàn)包括圖像數(shù)據(jù)部分和并未被覆蓋的定位符標(biāo)記在內(nèi)的緩沖區(qū)部分。該定位符標(biāo)記是最接近圖像數(shù)據(jù)的結(jié)束的定位符標(biāo)記。該定位符標(biāo)記是估計(jì)出的緩沖區(qū)中已寫入或存儲(chǔ)的圖像數(shù)據(jù)的結(jié)束。然后在步驟310,基于最接近的定位符標(biāo)記的位置來確定起始搜索位置??梢曰诠烙?jì)出的圖像數(shù)據(jù)的結(jié)束(基于最接近的定位符標(biāo)記)、原始縮略像數(shù)據(jù)的大小或長(zhǎng)度以及保護(hù)帶(guard band)來確定起始搜索位置。如果N是256字節(jié),則保護(hù)帶可以是256或512字節(jié)。估計(jì)出的圖像數(shù)據(jù)的結(jié)束一般小于圖像數(shù)據(jù)的實(shí)際結(jié)束的一個(gè)定位符標(biāo)記距離(即在N個(gè)字節(jié)之內(nèi))。因此,如果N是256字節(jié),則估計(jì)出的圖像數(shù)據(jù)的結(jié)束一般最多離開圖像數(shù)據(jù)的實(shí)際結(jié)束約256字節(jié)。然而,當(dāng)定位符標(biāo)記出現(xiàn)在特定位置上時(shí),可以存在一些稀有的情況,其中,估計(jì)出的圖像數(shù)據(jù)的結(jié)束被低估了相當(dāng)多。然后,方法300去到存儲(chǔ)器地址的起始搜索位置,并開始在緩沖區(qū)中的該點(diǎn)向前搜索JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記。這假定了方法300始終低估圖像數(shù)據(jù)的結(jié)束,且結(jié)束標(biāo)記將不出現(xiàn)在JPEG圖像數(shù)據(jù)本身中(基于JPEG圖像標(biāo)準(zhǔn))。由于該起始搜索位置接近JPEG圖像數(shù)據(jù)的結(jié)束,在起始搜索位置處可以有效率的使用線性搜索,以定位JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記。一旦定位了結(jié)束標(biāo)記,則方法3 00識(shí)別出原始縮略像數(shù)據(jù)的位置,因?yàn)樵伎s略像數(shù)據(jù)的大小是已知的,且還知道原始縮略像數(shù)據(jù)將在JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記之后的存儲(chǔ)器地址上開始。如果JPEG圖像數(shù)據(jù)實(shí)際包含與定位符標(biāo)記匹配的數(shù)據(jù),則可能低估估計(jì)出的JPEG圖像數(shù)據(jù)的結(jié)束。在該情況下,搜索將開始在比最優(yōu)起始搜索位置(即,在JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記的N個(gè)字節(jié)之內(nèi)的位置)更早的位置處尋找JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記。盡管搜索將依然通過在與起始搜索位置相對(duì)應(yīng)的地址之后的緩沖區(qū)的全部地址中搜索,來定位JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記,如果起始搜索位置非常早地出現(xiàn)在緩沖區(qū)中,且針對(duì)結(jié)束標(biāo)記進(jìn)行線性搜索,則該搜索可能是低效率的。在將起始搜索位置識(shí)別為在緩沖區(qū)中比期望更早的位置的這些情況下,可以執(zhí)行二分搜索來改進(jìn)搜索速度和效率。備選地,可以使用最大搜索時(shí)間來限制搜索所花費(fèi)的時(shí)間量,因?yàn)槿绻ㄙM(fèi)了過多的時(shí)間來定位JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記,則不能實(shí)時(shí)更新顯示器110,且發(fā)生丟幀。例如,如果起始搜索位置實(shí)際偏移JPEG圖像數(shù)據(jù)1MB,則將難以滿足以每秒30幀的速率來更新顯示器110的實(shí)時(shí)要求(然而,這也取決于微處理器102的速度)。因此,如果針對(duì)當(dāng)前幀中的結(jié)束標(biāo)記的搜索時(shí)間超過最大搜索時(shí)間,則在步驟312中檢測(cè)到錯(cuò)誤,從而丟棄圖像數(shù)據(jù)的當(dāng)前幀,然后方法300回到步驟304,以開始處理與后續(xù)幀相關(guān)聯(lián)的圖像數(shù)據(jù)。如果在步驟312沒有檢測(cè)到錯(cuò)誤,則在步驟314由微處理器102或?qū)S脠D像處理器來處理定位到的原始縮略像數(shù)據(jù)。該處理可以包括對(duì)于本領(lǐng)域技術(shù)人員而言公知的一個(gè)或多個(gè)操作,比如顏色空間處理、擴(kuò)縮、濾波、混合等等。然后在步驟316,在顯示器110上顯示處理過的縮略圖數(shù)據(jù)。如果在步驟318確定用戶已選擇了當(dāng)前幀的圖像用于捕捉,則方法300進(jìn)行至步驟320,在該步驟320中,在閃存108中存儲(chǔ)圖像。否則,如果在步驟318的判定為假,則方法300進(jìn)行至步驟322,在該步驟322中,確定移動(dòng)設(shè)備100的相機(jī)模式是否依然有效。如果在步驟318的判定為真,方法300進(jìn)行到步驟304以再一次執(zhí)行步驟304至322。然而,如果確定相機(jī)模式已在步驟320結(jié)束,則方法300結(jié)束。現(xiàn)在參見圖5a,其中示出了在根據(jù)方法300的步驟304的預(yù)處理之后的存儲(chǔ)器單元350(比如緩沖區(qū))的說明圖。已清除了存儲(chǔ)器單元350,且已在存儲(chǔ)器單元350中以N字節(jié)距離間隔的存儲(chǔ)器地址處寫入了由符號(hào)“A”所指定的一定數(shù)目的定位符標(biāo)記352、354、356,358,360和362。在本示例中,定位符標(biāo)記遍及存儲(chǔ)在存儲(chǔ)器單元350中,將定位符標(biāo)記“A”有利地分開N字節(jié)距離,這改進(jìn)了方法300的執(zhí)行速度,因?yàn)椴恍枰谡麄€(gè)存儲(chǔ)器單元350中到處寫入定位符標(biāo)記,這可以不影響搜索方法300的效率?,F(xiàn)在參見圖5b,其中示出了第一示例的說明圖,在第一示例中,存儲(chǔ)器單元350'現(xiàn)在已根據(jù)方法300的步驟306接收到圖像數(shù)據(jù)370。圖像數(shù)據(jù)370包括由符號(hào)“B”表示的JPEG圖像數(shù)據(jù)372和由符號(hào)“C”表示的原始縮略像數(shù)據(jù)374。為了說明的目的使用了 3種符號(hào),且應(yīng)當(dāng)理解符號(hào)B表示JPEG圖像數(shù)據(jù),包括起始和結(jié)束標(biāo)記,且不指示在JPEG圖像數(shù)據(jù)372中存在相同的數(shù)據(jù)。類似地,符號(hào)C不意味著指示在原始縮略像數(shù)據(jù)374中的相同數(shù)據(jù)。此外,應(yīng)當(dāng)注意到,在預(yù)處理期間在存儲(chǔ)器中提前寫入的定位符標(biāo)記A的每個(gè)位置之間的符號(hào)B和C的數(shù)目是由間隔N來定義的,且在這些附圖所示的符號(hào)B和C的數(shù)目?jī)H作為說明性之用,且不意味著具有限制性。已在存儲(chǔ)器 單元350'中寫入(即,存儲(chǔ))了圖像數(shù)據(jù)370,使得已覆蓋了一些定位符標(biāo)記。在本示例中,尚未覆蓋定位符標(biāo)記358、360和362,且已將圖像數(shù)據(jù)370寫入到存儲(chǔ)器單元350'的約少于一半。因此,當(dāng)在方法300的步驟310進(jìn)行搜索時(shí),發(fā)現(xiàn)作為圖像數(shù)據(jù)370之后的定位符標(biāo)記的第一實(shí)例或最接近的定位符標(biāo)記的定位符標(biāo)記358。然后將起始搜索位置估計(jì)為在定位符標(biāo)記358之前的約X字節(jié),其中,X是原始縮略像數(shù)據(jù)374的長(zhǎng)度加上保護(hù)帶?,F(xiàn)在參見圖6a和6b,其中示出了在接收?qǐng)D像數(shù)據(jù)之前的預(yù)處理過的存儲(chǔ)器單元350和在已接收到包括JPEG圖像數(shù)據(jù)382和原始縮略像數(shù)據(jù)384在內(nèi)的圖像數(shù)據(jù)380之后的預(yù)處理過的存儲(chǔ)器單元350"。在本示例中,圖像數(shù)據(jù)380相當(dāng)大,且覆蓋了大部分的存儲(chǔ)器單元350"。圖像數(shù)據(jù)380之后的第一定位符標(biāo)記A是定位符標(biāo)記362。再次將起始搜索位置估計(jì)為距離定位符標(biāo)記358X字節(jié),其中,X是原始縮略像數(shù)據(jù)384的長(zhǎng)度加上保護(hù)帶?,F(xiàn)在參見圖7a和7b,其中分別示出了在根據(jù)方法300的預(yù)處理之后和在根據(jù)方法300的備選版本的部分預(yù)處理之后的存儲(chǔ)器單元350和350",。在備選方法中,在存儲(chǔ)定位符標(biāo)記“A”之前不清除整個(gè)存儲(chǔ)器單元350,如圖7a所示,存儲(chǔ)器單元350",保留其之前的內(nèi)容(即,前一幀的圖像數(shù)據(jù)),且如圖7b中定位符標(biāo)記352'、354'和356'所示,在之前的內(nèi)容上寫入定位符標(biāo)記。換言之,在不首先清除存儲(chǔ)器單元350",的情況下在存儲(chǔ)器單元350",中存儲(chǔ)多個(gè)定位符標(biāo)記。出于性能考慮可以這么做,以節(jié)約對(duì)存儲(chǔ)器單元進(jìn)行預(yù)處理的時(shí)間,這將增加方法300的執(zhí)行速度。一旦在存儲(chǔ)器單元中存儲(chǔ)了圖像數(shù)據(jù),可以將步驟308中的搜索算法修改為定位尚未被覆蓋的定位符標(biāo)記的第一實(shí)例,并假定其接近剛剛存儲(chǔ)在存儲(chǔ)器單元中的新圖像數(shù)據(jù)的結(jié)束。方法300的剩余部分與之前討論的一樣進(jìn)行操作。在實(shí)際中,在PC上評(píng)估方法300,且發(fā)現(xiàn)當(dāng)與常規(guī)JPEG搜索算法相比時(shí),至少將性能提升了 120倍??紤]到在PC和移動(dòng)設(shè)備之間的處理能力和架構(gòu)方面的當(dāng)前差異,方法300在移動(dòng)設(shè)備上實(shí)現(xiàn)時(shí)的性能應(yīng)當(dāng)導(dǎo)致至少10倍的增強(qiáng)。該速度方面的提升是重要的,因?yàn)殡S著在當(dāng)今的移動(dòng)設(shè)備中使用的相機(jī)的解析度的提升,能夠快速地操作大型圖像數(shù)據(jù)集將是重要的。此外,隨著在處理速度方面的提升,可以實(shí)現(xiàn)零快門延遲,這允許移動(dòng)設(shè)備100在顯示器110上無縫地顯示連續(xù)更新的圖像。這將增強(qiáng)用戶的觀看體驗(yàn),且應(yīng)當(dāng)允許用戶拍攝更好的照片,因?yàn)榭梢允褂梅椒?00來如此頻繁地更新顯示器110上的圖像,使得用戶能夠捕捉想要捕捉的圖像。使用花費(fèi)更長(zhǎng)時(shí)間來定位原始縮略圖數(shù)據(jù)的常規(guī)處理方法,難以做到這一點(diǎn)的,并導(dǎo)致了斷斷續(xù)續(xù)的圖像。應(yīng)當(dāng)注意到,本文描述的已應(yīng)用到包含JPEG圖像數(shù)據(jù)(即,可變長(zhǎng)度數(shù)據(jù))以及其后的縮略像數(shù)據(jù)在內(nèi)的圖像數(shù)據(jù)的搜索方法不必然限制為這些類型的數(shù)據(jù)集。實(shí)際上,該搜索方法可以應(yīng)用到包含具有可變數(shù)據(jù)長(zhǎng)度的數(shù)據(jù)集以及其后的具有固定數(shù)據(jù)長(zhǎng)度的另一數(shù)據(jù)集在內(nèi)的任何數(shù)據(jù)集,以便定位固定數(shù)據(jù)集。就此而言,方法300的步驟304至310可以應(yīng)用到這種數(shù)據(jù)集,且不需要被限制為應(yīng)用到處理包含JPEG圖像數(shù)據(jù)和縮略像數(shù)據(jù)在內(nèi)的圖像數(shù)據(jù)。在一個(gè)方面中,根據(jù)本文所述的至少一個(gè)示例實(shí)施例,提供一種用于處理包括第二數(shù)據(jù)集和第三數(shù)據(jù)集在內(nèi)的第一數(shù)據(jù)集以定位所述第三數(shù)據(jù)集的方法。所述第二數(shù)據(jù)集具有可變數(shù)據(jù)長(zhǎng)度,并以結(jié)束標(biāo)記終止,且所述第三數(shù)據(jù)集在所述結(jié)束標(biāo)記之后開始。所述方法包括通過存儲(chǔ)多個(gè)定位符標(biāo)記來預(yù)處理存儲(chǔ)器單元,在所述存儲(chǔ)器單元中存儲(chǔ)所述第一數(shù)據(jù)集,從而覆蓋所述多個(gè)定位符標(biāo)記中的一部分;對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述第一數(shù)據(jù)集的結(jié)束的、且未被覆蓋的那個(gè)定位符標(biāo)記進(jìn)行定位;以及通過基于最接近的定位符標(biāo)記的位置搜索所述第二數(shù)據(jù)集的結(jié)束標(biāo)記,來定位所述第三數(shù)據(jù)集。當(dāng)搜索所述第二數(shù)據(jù)集的結(jié)束標(biāo)記時(shí),可以在所述存儲(chǔ)器單元中設(shè)置起始搜索位置,其中,所述起始搜索位置基于所述最接近的定位符標(biāo)記的位置、所述第三數(shù)據(jù)集的長(zhǎng)度
和保護(hù)帶。當(dāng)預(yù)處理所述存儲(chǔ)器單元時(shí),可以在所述存儲(chǔ)器單元中間隔N字節(jié)的地址處存儲(chǔ)所述多個(gè)定位符標(biāo)記。在至少一些情況下,N的下界可以設(shè)置為所述定位符標(biāo)記的長(zhǎng)度,且N的上界可以設(shè)置為所述存儲(chǔ)器單元的大小的四分之一。備選地,N可以設(shè)置為256字節(jié)。在另一備選中,可以在不首先清除所述存儲(chǔ)器單元的情況下在所述存儲(chǔ)器單元中存儲(chǔ)所述多個(gè)定位符標(biāo)記。在至少一些情況中,所述方法還可以包括應(yīng)用二分搜索來定位所述最接近的定位符標(biāo)記。在至少一些情況中,所述方法還包括在確定了所述最接近的定位符標(biāo)記的位置之后,應(yīng)用線性搜索來定位所述第二數(shù)據(jù)集的結(jié)束標(biāo)記。在至少一些情況中,所述方法還包括當(dāng)將所述最接近的定位符標(biāo)記的位置識(shí)別為比期望更早的位置時(shí),應(yīng)用二分搜索來定位所述第二數(shù)據(jù)集的結(jié)束標(biāo)記。在一些情況中,所述第一數(shù)據(jù)集可以是當(dāng)前幀的圖像數(shù)據(jù),所述第二數(shù)據(jù)集可以是JPEG圖像數(shù)據(jù),以及所述第三數(shù)據(jù)集可以是原始縮略像數(shù)據(jù),其中,所述方法還可以包括設(shè)置用于搜索所述JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記的最大搜索時(shí)間,且當(dāng)超過搜索當(dāng)前幀的JPEG數(shù)據(jù)的結(jié)束標(biāo)記的最大搜索時(shí)間時(shí),丟棄所述當(dāng)前幀并處理后續(xù)幀。在至少一些情況中,可以將所述定位符標(biāo)記選擇為長(zhǎng)度在I和8字節(jié)之間。在另一方面中,根據(jù)本文所述的至少一個(gè)示例實(shí)施例,提供了一種用于在電子設(shè)備上處理當(dāng)前幀的圖像數(shù)據(jù)的方法,所述圖像數(shù)據(jù)包括JPEG圖像數(shù)據(jù)和原始縮略像數(shù)據(jù),所述JPEG圖像數(shù)據(jù)具有可變數(shù)據(jù)長(zhǎng)度且以結(jié)束標(biāo)記終止,以及所述原始縮略像數(shù)據(jù)在所述結(jié)束標(biāo)記之后開始。所述方法包括通過存儲(chǔ)多個(gè)定位符標(biāo)記來預(yù)處理存儲(chǔ)器單元,在所述存儲(chǔ)器單元中存儲(chǔ)所述圖像數(shù)據(jù),從而覆蓋所述多個(gè)定位符標(biāo)記的一部分,對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述圖像數(shù)據(jù)的結(jié)束的、且未被覆蓋的那個(gè)定位符標(biāo)記進(jìn)行定位;通過基于所述最接近的定位符標(biāo)記的位置搜索所述JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記,來定位所述第三數(shù)據(jù)集,處理定位到的原始縮略像數(shù)據(jù),以將定位到的原始縮略像數(shù)據(jù)準(zhǔn)備用于觀看;以及在所述電子設(shè)備的顯示器上顯示已處理的縮略像數(shù)據(jù)。在另一方面中,根據(jù)本文所述的至少一個(gè)示例實(shí)施例,提供了一種電子設(shè)備,包括微處理器,被配置為控制所述電子設(shè)備的操作;以及耦合到所述微處理器且被配置為存儲(chǔ)數(shù)據(jù)集的存儲(chǔ)器單元。所述微處理器適于處理包括第二數(shù)據(jù)集和第三數(shù)據(jù)集在內(nèi)的第一數(shù)據(jù)集以定位所述第三數(shù)據(jù)集,所述第二數(shù)據(jù)集具有可變數(shù)據(jù)長(zhǎng)度,并以結(jié)束標(biāo)記終止,且所述第三數(shù)據(jù)集在所述結(jié)束標(biāo)記之后開始。所述微處理器適于預(yù)處理所述存儲(chǔ)器單元以存儲(chǔ)多個(gè)定位符標(biāo)記;在所述存儲(chǔ)器單元中存儲(chǔ)所述第一數(shù)據(jù)集,從而覆蓋所述多個(gè)定位符標(biāo)記中的一部分,對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述第一數(shù)據(jù)集的結(jié)束的、且未被覆蓋的那個(gè)定位符標(biāo)記進(jìn)行定位,以及通過基于所述最接近的定位符標(biāo)記的位置搜索所述第二數(shù)據(jù)集的結(jié)束標(biāo)記,來定位所述第三數(shù)據(jù)集。所述微處理器可以適于當(dāng)搜索所述第二數(shù)據(jù)集的結(jié)束標(biāo)記時(shí),在所述存儲(chǔ)器單元中設(shè)置起始搜索位置,其中,所述起始搜索位置基于所述最接近的定位符標(biāo)記的位置、所述第三數(shù)據(jù)集的長(zhǎng)度和保護(hù)帶。所述微處理器可以適于當(dāng)預(yù)處理所述存儲(chǔ)器單元時(shí),在所述存儲(chǔ)器單元中間隔N字節(jié)的地址處存儲(chǔ)所述多個(gè)定位符標(biāo)記。在至少一些情況下,所述微處理器可以適于基于與所述定位符標(biāo)記的長(zhǎng)度相等的下界以及與所述存儲(chǔ)器單元的大小的四分之一相等的上界來設(shè)置N。備選地,所述微處理器可以適于將N設(shè)置為256字節(jié)。在備選中,所述微處理器可以適于在不首先清除所述存儲(chǔ)器單元的情況下在所述存儲(chǔ)器單元中存儲(chǔ)所述多個(gè)定位符標(biāo)記。在至少一些情況中,所述微處理器可以適于應(yīng)用二分搜索來定位所述最接近的定位符標(biāo)記。在至少一些情況中,所述微處理器還適于在確定了所述最接近的定位符標(biāo)記的位置之后,應(yīng)用線性搜索來定位所述第二數(shù)據(jù)集的結(jié)束標(biāo)記。在至少一些情況中,所述微處理器還適于當(dāng)將所述最接近的定位符標(biāo)記的位置識(shí)別為比期望更早的位置時(shí),應(yīng)用二分搜索來定位所述第二數(shù)據(jù)集的結(jié)束標(biāo)記。所述電子設(shè)備還可以包括被配置為產(chǎn)生當(dāng)前幀的圖像數(shù)據(jù)的相機(jī)單元,其中,所述第二數(shù)據(jù)集是JPEG圖像數(shù)據(jù),以及所述第三數(shù)據(jù)集是原始縮略像數(shù)據(jù),其中,所述微處理器可以適于設(shè)置用于搜索所述JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記的最大搜索時(shí)間,且當(dāng)超過搜索當(dāng)前幀的JPEG數(shù)據(jù)的結(jié)束標(biāo)記的最大搜索時(shí)間時(shí),丟棄所述當(dāng)前幀并處理后續(xù)幀。在至少一些情況中,所述微處理器可以適于將所述定位符標(biāo)記選擇為長(zhǎng)度在I和8字節(jié)之間。在另一方面中,根據(jù)本文所述的至少一個(gè)示例實(shí)施例,提供一種包括多個(gè)指令在內(nèi)的計(jì)算機(jī)可讀介質(zhì),所述指令可在電子設(shè)備的微處理器上執(zhí)行以使所述電子設(shè)備適于實(shí)現(xiàn)處理包括第二數(shù)據(jù)集和第三數(shù)據(jù)集在內(nèi)的第一數(shù)據(jù)集以定位所述第三數(shù)據(jù)集的方法。所述第二數(shù)據(jù)集具有可變數(shù)據(jù)長(zhǎng)度,并以結(jié)束標(biāo)記終止,且所述第三數(shù)據(jù)集在所述結(jié)束標(biāo)記之后開始。所述方法包括通過存儲(chǔ)多個(gè)定位符標(biāo)記來預(yù)處理所述電子設(shè)備的存儲(chǔ)器單元;在所述存儲(chǔ)器單元中存儲(chǔ)所述第一數(shù)據(jù)集,從而覆蓋所述多個(gè)定位符標(biāo)記中的一部分;對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述第一數(shù)據(jù)集的結(jié)束的、且未被覆蓋的那個(gè)定位符標(biāo)、記進(jìn)行定位;以及通過基于所述最接近的定位符標(biāo)記的位置搜索所述第二數(shù)據(jù)集的結(jié)束標(biāo)記,來定位所述第三數(shù)據(jù)集。在另一方面中,根據(jù)本文所述的至少一個(gè)示例實(shí)施例,提供一種用于處理包括具有可變數(shù)據(jù)長(zhǎng)度并以結(jié)束標(biāo)記終止的數(shù)據(jù)在內(nèi)的數(shù)據(jù)集的方法。所述方法包括通過存儲(chǔ)多個(gè)定位符標(biāo)記來預(yù)處理存儲(chǔ)器單元;在所述存儲(chǔ)器單元中存儲(chǔ)所述數(shù)據(jù)集,從而覆蓋所述多個(gè)定位符標(biāo)記中的一部分;以及對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述數(shù)據(jù)集的結(jié)束的、且未被覆蓋的那個(gè)定位符標(biāo)記進(jìn)行定位。在另一方面中,根據(jù)本文所述的至少一個(gè)示例實(shí)施例,提供一種電子設(shè)備,包括微處理器,被配置為控制所述電子設(shè)備的操作;以及耦合到 所述微處理器且被配置為存儲(chǔ)數(shù)據(jù)集的存儲(chǔ)器單元。所述微處理器適于處理包括具有可變數(shù)據(jù)長(zhǎng)度并以結(jié)束標(biāo)記終止的數(shù)據(jù)在內(nèi)的數(shù)據(jù)集。所述微處理器適于預(yù)處理所述存儲(chǔ)器單元以存儲(chǔ)多個(gè)定位符標(biāo)記;在所述存儲(chǔ)器單元中存儲(chǔ)所述數(shù)據(jù)集,從而覆蓋所述多個(gè)定位符標(biāo)記中的一部分;以及對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述數(shù)據(jù)集的結(jié)束的、且未被覆蓋的那個(gè)定位符標(biāo)記進(jìn)行定位。應(yīng)當(dāng)理解,在不脫離實(shí)施例的情況下可以對(duì)本文所描述和說明的實(shí)施例進(jìn)行各種修改,該實(shí)施例的一般范圍由所附權(quán)利要求來定義。例如,可以將本文所述的技術(shù)應(yīng)用于接收可變長(zhǎng)度數(shù)據(jù)且不存在合理手段來快速計(jì)算數(shù)據(jù)長(zhǎng)度的其他外圍設(shè)備。另外,該技術(shù)可以適于處理輸入的JPEG圖像數(shù)據(jù)集的流。在該情況下,如方法300 (或圖7b的備選)中所述一樣預(yù)處理存儲(chǔ)器單元,并接收當(dāng)前幀的JPEG圖像數(shù)據(jù)集,以及將其存儲(chǔ)在存儲(chǔ)器單元中。然后可以通過找到最接近JPEG圖像數(shù)據(jù)的結(jié)束且未被覆蓋的定位符標(biāo)記來確定JPEG圖像數(shù)據(jù)的結(jié)束。然后可以如方法300中所述的一樣獲得JPEG圖像數(shù)據(jù)的結(jié)束。這允許快速地定位JPEG圖像數(shù)據(jù)并使用JPEG圖像數(shù)據(jù)供進(jìn)一步處理。例如,一旦定位了 JPEG圖像數(shù)據(jù),則可以處理JPEG圖像數(shù)據(jù)來產(chǎn)生縮略像數(shù)據(jù)。
權(quán)利要求
1.一種用于處理包括第二數(shù)據(jù)集和第三數(shù)據(jù)集在內(nèi)的第一數(shù)據(jù)集以定位所述第三數(shù)據(jù)集的方法,所述第二數(shù)據(jù)集具有可變數(shù)據(jù)長(zhǎng)度,并以結(jié)束標(biāo)記終止,且所述第三數(shù)據(jù)集在所述結(jié)束標(biāo)記之后開始,其中,所述方法包括 通過存儲(chǔ)多個(gè)定位符標(biāo)記來預(yù)處理存儲(chǔ)器單元; 在所述存儲(chǔ)器單元中存儲(chǔ)所述第一數(shù)據(jù)集,從而覆蓋所述多個(gè)定位符標(biāo)記中的一部分; 對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述第一數(shù)據(jù)集的結(jié)束的、且未被覆蓋的那個(gè)定位符標(biāo)記進(jìn)行定位;以及 通過基于最接近的定位符標(biāo)記的位置搜索所述第二數(shù)據(jù)集的結(jié)束標(biāo)記,來定位所述第三數(shù)據(jù)集。
2.根據(jù)權(quán)利要求I所述的方法,其中,所述方法還包括當(dāng)搜索所述第二數(shù)據(jù)集的結(jié)束標(biāo)記時(shí),在所述存儲(chǔ)器單元中設(shè)置起始搜索位置,其中,所述起始搜索位置基于最接近的定位符標(biāo)記的位置、所述第三數(shù)據(jù)集的長(zhǎng)度、以及保護(hù)帶。
3.根據(jù)權(quán)利要求I所述的方法,其中,所述方法還包括當(dāng)預(yù)處理所述存儲(chǔ)器單元時(shí),在所述存儲(chǔ)器單元中間隔N字節(jié)的地址處存儲(chǔ)所述多個(gè)定位符標(biāo)記。
4.根據(jù)權(quán)利要求3所述的方法,其中,N的下界是所述定位符標(biāo)記的長(zhǎng)度,且N的上界是所述存儲(chǔ)器單元的大小的四分之一。
5.根據(jù)權(quán)利要求3所述的方法,其中,所述方法還包括將N設(shè)置為256字節(jié)。
6.根據(jù)權(quán)利要求3所述的方法,其中,所述方法還包括在不首先清除所述存儲(chǔ)器單元的情況下在所述存儲(chǔ)器單元中存儲(chǔ)所述多個(gè)定位符標(biāo)記。
7.根據(jù)權(quán)利要求I所述的方法,其中,所述方法還包括應(yīng)用二分搜索來定位最接近的定位符標(biāo)記。
8.根據(jù)權(quán)利要求I所述的方法,其中,所述方法還包括在確定了最接近的定位符標(biāo)記的位置之后,應(yīng)用線性搜索來定位所述第二數(shù)據(jù)集的結(jié)束標(biāo)記。
9.根據(jù)權(quán)利要求I所述的方法,其中,所述方法還包括當(dāng)識(shí)別出的最接近的定位符標(biāo)記的位置是比期望更早的位置時(shí),應(yīng)用二分搜索來定位所述第二數(shù)據(jù)集的結(jié)束標(biāo)記。
10.根據(jù)權(quán)利要求I所述的方法,其中,所述第一數(shù)據(jù)集是當(dāng)前幀的圖像數(shù)據(jù),所述第二數(shù)據(jù)集是JPEG圖像數(shù)據(jù),以及所述第三數(shù)據(jù)集是原始縮略像數(shù)據(jù),其中,所述方法還包括設(shè)置用于搜索所述JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記的最大搜索時(shí)間,且當(dāng)超過搜索當(dāng)前幀的JPEG數(shù)據(jù)的結(jié)束標(biāo)記的最大搜索時(shí)間時(shí),丟棄所述當(dāng)前幀并處理后續(xù)幀。
11.根據(jù)權(quán)利要求I所述的方法,其中,所述方法還包括將所述定位符標(biāo)記選擇為長(zhǎng)度在I和8字節(jié)之間。
12.一種用于在電子設(shè)備上處理當(dāng)前幀的圖像數(shù)據(jù)的方法,所述圖像數(shù)據(jù)包括JPEG圖像數(shù)據(jù)和原始縮略像數(shù)據(jù),所述JPEG圖像數(shù)據(jù)具有可變數(shù)據(jù)長(zhǎng)度且以結(jié)束標(biāo)記終止,以及所述原始縮略像數(shù)據(jù)在所述結(jié)束標(biāo)記之后開始,其中,所述方法包括 通過存儲(chǔ)多個(gè)定位符標(biāo)記來預(yù)處理存儲(chǔ)器單元; 在所述存儲(chǔ)器單元中存儲(chǔ)所述圖像數(shù)據(jù),從而覆蓋所述多個(gè)定位符標(biāo)記的一部分; 對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述圖像數(shù)據(jù)的結(jié)束的、且未被覆蓋的那個(gè)定位符標(biāo)記進(jìn)行定位;通過基于最接近的定位符標(biāo)記的位置搜索所述JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記,來定位所述第三數(shù)據(jù)集; 處理定位到的原始縮略像數(shù)據(jù),以將定位到的原始縮略像數(shù)據(jù)準(zhǔn)備用于觀看;以及 在所述電子設(shè)備的顯示器上顯示已處理的縮略像數(shù)據(jù)。
13.—種電子設(shè)備,包括 微處理器,被配置為控制所述電子設(shè)備的操作;以及 存儲(chǔ)器單元,耦合到所述微處理器,并被配置為存儲(chǔ)數(shù)據(jù)集, 其中,所述微處理器適于處理包括第二數(shù)據(jù)集和第三數(shù)據(jù)集在內(nèi)的第一數(shù)據(jù)集以定位所述第三數(shù)據(jù)集,所述第二數(shù)據(jù)集具有可變數(shù)據(jù)長(zhǎng)度,并以結(jié)束標(biāo)記終止,且所述第三數(shù)據(jù)集在所述結(jié)束標(biāo)記之后開始, 其中,所述微處理器適于預(yù)處理所述存儲(chǔ)器單元以存儲(chǔ)多個(gè)定位符標(biāo)記;在所述存儲(chǔ)器單元中存儲(chǔ)所述第一數(shù)據(jù)集,從而覆蓋所述多個(gè)定位符標(biāo)記中的一部分;對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述第一數(shù)據(jù)集的結(jié)束的、且未被覆蓋的那個(gè)定位符標(biāo)記進(jìn)行定位;以及通過基于最接近的定位符標(biāo)記的位置搜索所述第二數(shù)據(jù)集的結(jié)束標(biāo)記,來定位所述第三數(shù)據(jù)集。
14.根據(jù)權(quán)利要求13所述的電子設(shè)備,其中,所述微處理器適于當(dāng)搜索所述第二數(shù)據(jù)集的結(jié)束標(biāo)記時(shí),在所述存儲(chǔ)器單元中設(shè)置起始搜索位置,其中,所述起始搜索位置基于最接近的定位符標(biāo)記的位置、所述第三數(shù)據(jù)集的長(zhǎng)度、以及保護(hù)帶。
15.根據(jù)權(quán)利要求13所述的電子設(shè)備,其中,所述微處理器適于當(dāng)預(yù)處理所述存儲(chǔ)器單元時(shí),在所述存儲(chǔ)器單元中間隔N字節(jié)的地址處存儲(chǔ)所述多個(gè)定位符標(biāo)記。
16.根據(jù)權(quán)利要求15所述的電子設(shè)備,其中,所述微處理器適于基于與所述定位符標(biāo)記的長(zhǎng)度相等的下界以及與所述存儲(chǔ)器單元的大小的四分之一相等的上界來設(shè)置N。
17.根據(jù)權(quán)利要求15所述的電子設(shè)備,其中,所述微處理器適于將N設(shè)置為256字節(jié)。
18.根據(jù)權(quán)利要求15所述的電子設(shè)備,其中,所述微處理器適于在不首先清除所述存儲(chǔ)器單元的情況下在所述存儲(chǔ)器單元中存儲(chǔ)所述多個(gè)定位符標(biāo)記。
19.根據(jù)權(quán)利要求13所述的電子設(shè)備,其中,所述微處理器適于應(yīng)用二分搜索來定位最接近的定位符標(biāo)記。
20.根據(jù)權(quán)利要求13所述的電子設(shè)備,其中,所述微處理器還適于在確定了最接近的定位符標(biāo)記的位置之后,應(yīng)用線性搜索來定位所述第二數(shù)據(jù)集的結(jié)束標(biāo)記。
21.根據(jù)權(quán)利要求13所述的電子設(shè)備,其中,所述微處理器還適于當(dāng)識(shí)別出的最接近的定位符標(biāo)記的位置是比期望更早的位置時(shí),應(yīng)用二分搜索來定位所述第二數(shù)據(jù)集的結(jié)束標(biāo)記。
22.根據(jù)權(quán)利要求13所述的電子設(shè)備,其中,所述電子設(shè)備還包括被配置為產(chǎn)生當(dāng)前幀的圖像數(shù)據(jù)的照相機(jī)單元,其中,所述第二數(shù)據(jù)集是JPEG圖像數(shù)據(jù),以及所述第三數(shù)據(jù)集是原始縮略像數(shù)據(jù),其中,所述微處理器適于設(shè)置用于搜索所述JPEG圖像數(shù)據(jù)的結(jié)束標(biāo)記的最大搜索時(shí)間,且當(dāng)超過搜索當(dāng)前幀的JPEG數(shù)據(jù)的結(jié)束標(biāo)記的最大搜索時(shí)間時(shí),丟棄所述當(dāng)前幀并處理后續(xù)幀。
23.根據(jù)權(quán)利要求13所述的電子設(shè)備,其中,所述微處理器適于將所述定位符標(biāo)記選擇為長(zhǎng)度在I和8字節(jié)之間。
24.一種包括多個(gè)指令的計(jì)算機(jī)可讀介質(zhì),所述指令能在電子設(shè)備的微處理器上執(zhí)行以使所述電子設(shè)備適于實(shí)現(xiàn)處理包括第二數(shù)據(jù)集和第三數(shù)據(jù)集在內(nèi)的第一數(shù)據(jù)集以定位所述第三數(shù)據(jù)集的方法,所述第二數(shù)據(jù)集具有可變數(shù)據(jù)長(zhǎng)度,并以結(jié)束標(biāo)記終止,且所述第三數(shù)據(jù)集在所述結(jié)束標(biāo)記之后開始,其中,所述方法包括 通過存儲(chǔ)多個(gè)定位符標(biāo)記來預(yù)處理所述電子設(shè)備的存儲(chǔ)器單元; 在所述存儲(chǔ)器單元中存儲(chǔ)所述第一數(shù)據(jù)集,從而覆蓋所述多個(gè)定位符標(biāo)記中的一部分; 對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述第一數(shù)據(jù)集的結(jié)束的、且未被覆蓋的那個(gè)定位符標(biāo)記進(jìn)行定位;以及 通過基于最接近的定位符標(biāo)記的位置搜索所述第二數(shù)據(jù)集的結(jié)束標(biāo)記,來定位所述第三數(shù)據(jù)集。
25.一種用于處理數(shù)據(jù)集的方法,所述數(shù)據(jù)集具有可變數(shù)據(jù)長(zhǎng)度,并以結(jié)束標(biāo)記終止,其中,所述方法包括 通過存儲(chǔ)多個(gè)定位符標(biāo)記來預(yù)處理存儲(chǔ)器單元; 在所述存儲(chǔ)器單元中存儲(chǔ)所述數(shù)據(jù)集,從而覆蓋所述多個(gè)定位符標(biāo)記中的一部分;以及 對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述數(shù)據(jù)集的結(jié)束的、且未被覆蓋的那個(gè)定位符標(biāo)記進(jìn)行定位。
26.—種電子設(shè)備,包括 微處理器,被配置為控制所述電子設(shè)備的操作;以及 存儲(chǔ)器單元,耦合到所述微處理器,并被配置為存儲(chǔ)數(shù)據(jù)集, 其中,所述微處理器適于處理數(shù)據(jù)集,所述數(shù)據(jù)集包括具有可變數(shù)據(jù)長(zhǎng)度并以結(jié)束標(biāo)記終止的數(shù)據(jù),以及 其中,所述微處理器適于預(yù)處理所述存儲(chǔ)器單元以存儲(chǔ)多個(gè)定位符標(biāo)記;在所述存儲(chǔ)器單元中存儲(chǔ)所述數(shù)據(jù)集,從而覆蓋所述多個(gè)定位符標(biāo)記中的一部分;以及對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述數(shù)據(jù)集的結(jié)束的、且未被覆蓋的那個(gè)定位符標(biāo)記進(jìn)行定位。
全文摘要
本文描述了用于處理包括第二數(shù)據(jù)集和第三數(shù)據(jù)集在內(nèi)的第一數(shù)據(jù)集以定位所述第三數(shù)據(jù)集的方法和相關(guān)設(shè)備的各種實(shí)施例。所述第二數(shù)據(jù)集具有可變數(shù)據(jù)長(zhǎng)度,并以結(jié)束標(biāo)記終止,且所述第三數(shù)據(jù)集在所述結(jié)束標(biāo)記之后開始。所述方法涉及通過存儲(chǔ)多個(gè)定位符標(biāo)記來預(yù)處理存儲(chǔ)器單元,在所述存儲(chǔ)器單元中存儲(chǔ)所述第一數(shù)據(jù)集,從而覆蓋所述多個(gè)定位符標(biāo)記中的一部分;對(duì)所述多個(gè)定位符標(biāo)記中的最接近所述第一數(shù)據(jù)集的結(jié)束的那個(gè)定位符標(biāo)記進(jìn)行定位;以及通過基于所述最接近的定位符標(biāo)記的位置搜索所述第二數(shù)據(jù)集的結(jié)束標(biāo)記,來定位所述第三數(shù)據(jù)集。
文檔編號(hào)H04N7/26GK102761740SQ20121009767
公開日2012年10月31日 申請(qǐng)日期2012年4月5日 優(yōu)先權(quán)日2011年4月26日
發(fā)明者布雷特·斯圖爾特·福斯特 申請(qǐng)人:捷訊研究有限公司