亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于控制便攜式裝置中的照相機資源的系統(tǒng)的制作方法

文檔序號:7605694閱讀:176來源:國知局
專利名稱:用于控制便攜式裝置中的照相機資源的系統(tǒng)的制作方法
技術領域
本發(fā)明大體而言涉及便攜式裝置中的圖像采集和圖像處理,更具體而言,涉及一種用于控制具有嵌入式控制器的便攜式裝置中的照相機資源的系統(tǒng)。
背景技術
技術的進步已經產生了體積更小、功能更強的個人計算裝置。舉例而言,當前存在各種各樣的體積小、重量輕并可由用戶輕松攜帶的便攜式無線電話機、個人數(shù)字助理(PDAs)及尋呼裝置。通常,這些裝置包括一具有有限存儲資源的嵌入式控制器。舉例而言,此等裝置的小尺寸可能對可用存儲量和處理能力產生限制。
人們越來越需要能夠處理更大數(shù)據量和執(zhí)行更加復雜的程序的個人計算裝置。舉例而言,用戶現(xiàn)在需要提供擴展圖像處理的應用程序。在此領域,用戶希望擁有包括照相機資源的便攜式裝置,所述照相機資源可經控制以獲取靜止圖像和視頻剪輯供處理及/或傳輸之用。
為捕捉便攜式裝置上的圖像,必須控制這些裝置中的照相機資源。舉例而言,一種類型的便攜式裝置可包括一經設計以僅獲取靜止圖像的低分辨率照相機資源,而另一種類型的便攜式裝置可包括一具有經設計以捕捉全動視頻的變焦功能的較大和較高分辨率的照相機資源。這樣,每一類型的便攜式裝置可具有一用以捕捉圖像內容的不同的照相機資源。因此,在開發(fā)用于各種可能具有不同配置和照相機資源的便攜式裝置上的應用程序時,應用程序開發(fā)者必須克服兼容性問題。
一種用于克服兼容性問題的技術要求具體創(chuàng)建一在具有一特定照相機資源的便攜式裝置上運行的應用程序。舉例而言,如果一應用程序開發(fā)者要開發(fā)一用于在便攜式裝置上運行以獲取視頻圖像的應用程序,所述開發(fā)者就必須定制設計所述應用程序以使其與可在那一特定裝置上使用的照相機資源完全兼容。
令人遺憾的是,生產用于各種便攜式裝置上的定制設計用于每一裝置上存在的特定照相機資源的應用程序既昂貴且效率也低。舉例而言,應用程序開發(fā)者往往需要根據可用照相機資源對一應用程序進行修改以便用于不同的便攜式裝置上,因此需要制作同一應用程序的多個版本。此外,所述應用程序開發(fā)者往往必須在出現(xiàn)新的可用照相機資源時不斷更新其應用程序。
建議用來控制便攜式裝置上的照相機資源的另一種技術涉及使用通常存在于較大的計算機系統(tǒng)上的多媒體平臺。舉例而言,存在開發(fā)用于桌面、服務器或其他相對大的計算裝置上的大型和復雜的多媒體平臺。不過,如果用于一具有有限資源的便攜式裝置上,這些類型的平臺效率會非常低下,因為這些系統(tǒng)通常需要在一應用程序與裝載在所述裝置上的程序模塊之間創(chuàng)建許多軟件接口。因此,除了非常復雜之外,這些裝置是存儲和處理密集型,而這與可在典型的便攜式裝置上可用的有限處理能力不相兼容。
因此,所需要的是一種使應用程序能夠有效和容易地存取和控制各種便攜式裝置上照相機資源以捕捉、編碼、處理及顯示靜止圖像和視頻的系統(tǒng)。所述系統(tǒng)應該是緊湊的并被設計成使用典型的便攜式裝置上可用的有限資源進行操作。舉例而言,所述系統(tǒng)不應需要體積大、效率低而且在資源有限的小裝置不實用的程序模塊之間的擴展式軟件接口。所述系統(tǒng)的操作應使得能夠控制所有類型的照相機資源并提供一可擴展的架構,這種架構在出現(xiàn)新的可用照相機資源時能夠對它們進行控制。

發(fā)明內容
在一個或一個以上實施例中,提供一種包括方法和裝置在內的用于控制便攜式裝置上的照相機資源的系統(tǒng)。舉例而言,一便攜式裝置可為一包括一照相機裝置的具有一嵌入式控制器和有限存儲資源的無線電話。在一個或一個以上實施例中,所述照相機系統(tǒng)包括一小型和有效的程序,所述程序運行于所述便攜式裝置上以使執(zhí)行于所述裝置上的應用程序能夠利用一簡單接口來控制所述照相機資源。因此,所述照相機系統(tǒng)尤其適用于在具有嵌入式控制器及有限存儲資源的便攜式裝置中使用。
在一實施例中,所述照相機系統(tǒng)提供一種存取和控制便攜式裝置上的照相機資源的簡單、有效和有力的方法并使靜態(tài)和動態(tài)應用程序能夠(1)捕捉快照和視頻圖像;(2)設定照相機設定值和配置參數(shù);(3)處理所捕捉的圖像和視頻幀;(4)將一諸如位置信息等附加信息添加到所述圖像和視頻幀;(5)對所捕捉的圖像和視頻幀進行編碼;(6)顯示所捕捉的圖像和視頻幀;及(7)異步接收照相機事件。
在一個或一個以上實施例中,所述照相機系統(tǒng)包括一由一執(zhí)行應用程序舉例說明的小型程序模塊。所述應用程序則使用一由所述程序模塊提供的一簡單的應用程序接口(API)來實施所有的照相機操作。來自所述照相機的事件通過一注冊的回叫功能被發(fā)送至所述應用程序。所述程序模塊消耗最少的存儲并通過直接存取裝置級的驅動器軟件以實施所有照相機操作來提供有效的執(zhí)行。
在一實施例中,提供一種用于操作照相機系統(tǒng)以使應用程序能夠控制便攜式裝置中的照相機資源的方法。所述方法包括啟動所述照相機系統(tǒng),其中所述照相機系統(tǒng)可操作以控制所述照相機資源;提供一應用程序接口(API)以接收來自所述應用程序的指令;通過所述應用程序接口接收來自所述應用程序的指令,其中所述指令識別將要執(zhí)行的照相機功能;及執(zhí)行由所述指令識別的照相機功能。
在另一實施例中,提供用于操作照相機系統(tǒng)以使一應用程序能夠控制一便攜式裝置中的照相機資源的設備。所述設備包括用于啟動所述照相機系統(tǒng)的構件,其中所述照相機系統(tǒng)可操作以控制所述照相機資源。所述設備還包括用于提供一應用程序接口(API)以接收來自所述應用程序的指令的構件。所述裝置還包括用于通過所述API接收來自所述應用程序的指令的構件,其中所述指令識別將要執(zhí)行的照相機功能。所述裝置還包括用于執(zhí)行由所述指令識別的照相機功能的構件。
在另一實施例中,提供一種包括指令的計算機可讀媒體。所述指令在由便攜式裝置中的處理器執(zhí)行時操作以提供一種使應用程序能夠控制所述便攜式裝置中的照相機資源的照相機系統(tǒng)。所述計算機可讀媒體包括用于啟動所述照相機系統(tǒng)的指令,其中所述照相機系統(tǒng)可操作以控制所述照相機資源;用于提供一應用程序接口(API)以接收來自所述應用程序的API指令的指令;用于通過所述API接收來自所述應用程序的API指令的指令,其中所述API指令識別將要執(zhí)行的照相機功能;及用于實施由所述API指令識別的照相機功能。
在另一實施例中,提供用于操作照相機系統(tǒng)以使應用程序能夠控制便攜式裝置中的照相機資源的設備。所述設備包括用于啟動所述照相機系統(tǒng)的邏輯,其中所述照相機系統(tǒng)可操作以控制所述照相機資源,并且進一步包括用于提供一應用程序接口(API)以接收來自所述應用程序的指令的邏輯。所述裝置還包括用于通過所述API接收來自所述應用程序的指令的邏輯,其中所述指令識別將要執(zhí)行的照相機功能,并且進一步包括用于實施由所述指令識別的照相機功能的邏輯。
在閱讀完下文所陳述的《


》、《本發(fā)明的具體實施方式
》及《權利要求》后,將明了本發(fā)明的其他方面、優(yōu)點及特征。

結合附圖參照下文詳細說明,將更容易知曉本文所述實施例的上述方面及伴隨優(yōu)點,附圖中圖1顯示一數(shù)據網絡,其包括一具有一適合于實施一照相機系統(tǒng)的一實施例的嵌入式控制器的便攜式無線裝置;圖2顯示一圖解說明圖1所示的便攜式裝置的一實施例的方塊圖,所述便攜式裝置包括一操作以使應用程序能夠控制所述裝置上的照相機資源的一ICamera系統(tǒng)的一實施例;圖3顯示圖2的ICamera系統(tǒng)的一實施例的一詳細方塊圖;圖4顯示一狀態(tài)機的一實施例,所述狀態(tài)機由一ICamera系統(tǒng)的一實施例提供的以使一應用程序能夠控制一便攜式裝置上的一照相機資源;及,圖5顯示一種用于操作一ICamera系統(tǒng)以使一應用程序能夠控制一便攜式裝置中的一照相機資源的方法的一實施例。
具體實施例方式
下文具體實施方式
闡述一種包括方法和裝置在內的用于控制便攜式裝置中的照相機資源的照相機系統(tǒng)。在一個或一個以上實施例中,所述便攜式裝置具有一嵌入式控制器及有限資源(即,有限存儲容量),且所述照相機系統(tǒng)操作以使應用程序能夠使用一個接口來控制所述照相機資源。
在一個或一個以上實施例中,所述照相機系統(tǒng)與一在所述裝置上執(zhí)行的運行時環(huán)境交互作用,所述運行時環(huán)境用于簡化所述裝置的操作,例如通過提供對裝置特有資源的廣義調用。一種這樣的運行時環(huán)境是由加利福尼亞州圣地亞哥的QUALCOMM公司開發(fā)的“無線二進制運行時環(huán)境”(BREWTM)軟件平臺。在下文闡述中,將假定所述照相機系統(tǒng)是構建在一執(zhí)行諸如所述BREW軟件平臺的一執(zhí)行運行時環(huán)境的便攜式裝置上。不過,所述照相機系統(tǒng)的一個或一個以上實施例適合與其他類型的運行時環(huán)境一起使用來控制一便攜式裝置上的照相機資源。
圖1顯示一數(shù)據網絡100,其包括一具有一帶有一嵌入式控制器的便攜式無線裝置102,所述便攜式無線裝置適合于實施一將在下文中稱作“ICamera”系統(tǒng)(顯示在104處)的照相機系統(tǒng)的一實施例。ICamera系統(tǒng)104操作以使運行于裝置102上的應用程序能夠控制位于裝置102上的照相機資源124。在一實施例中,ICamera系統(tǒng)104與在所述裝置上執(zhí)行的一運行時環(huán)境116交互作用。舉例而言,在一實施例中,運行時環(huán)境116為BREW軟件平臺。
在一個或一個以上實施例中,ICamera系統(tǒng)104適合于與各種便攜式裝置一起使用。舉例而言,其他適合的便攜式裝置包括但不限于個人數(shù)字助理、電子郵件裝置、尋呼機、平板計算機、移動電話或實際上任何其它類型的包括一照相機資源的便攜式裝置。
無線裝置102可操作以使用無線通信信道110與一數(shù)據網絡108上的一網絡服務器106通信。在一實施例中,所述裝置102包括一可通過一數(shù)據網絡108發(fā)送和接收聲音及/或其他信息的無線電話。裝置102還操作以通過網絡108接收應用程序。舉例而言,應用程序112和114可從網絡服務器106下載到裝置102上。這些應用程序在裝置102上執(zhí)行并使用裝置照相機124來向裝置用戶提供額外的特征及/或功能性。舉例而言,所述應用程序可獲取并處理來自裝置照相機124的靜止圖像或視頻信息。也可將應用程序從耦接至網絡108的任一其他網絡實體下載到裝置102上。
在一實施例中,裝置102還通過一直接鏈路120直接耦接至一本地系統(tǒng),例如本地工作站118。裝置102可操作以使用直接鏈路120從本地工作站118下載應用程序。舉例而言,使用鏈路120將應用程序122從工作站118下載到裝置102上。
ICamera系統(tǒng)104可從服務器106下載到裝置102上并在裝置102上操作以使應用程序能夠控制照相機124。在另一實施例中,ICamera系統(tǒng)104可通過鏈路120從工作站118下載到裝置102上,或可在制造期間安裝在裝置102上。
在一實施例中,ICamera系統(tǒng)104是以指令形式提高,所述指令存儲在一計算機可讀媒體(例如軟盤)上并裝載到系統(tǒng)118上以便發(fā)送至裝置102。在另一實施例中,ICamera系統(tǒng)104可存儲在一諸如存儲卡(未顯示)的計算機可讀媒體上,并可直接插入裝置102中,以使ICamera系統(tǒng)104可在裝置102上執(zhí)行。因此,裝置102可以無線傳輸、有線傳輸或通過直接從存儲裝置檢索的方式接收ICamera系統(tǒng)104。
圖2顯示一圖解說明裝置102的一實施例的方塊圖,所述裝置包括可操作以使應用程序能夠有效地控制照相機資源的ICamera系統(tǒng)104的一實施例。裝置102包括耦接至一內部數(shù)據總線204和一棧存儲器216的處理邏輯202。耦接至所述內部數(shù)據總線204的還有指令存儲器206、應用程序存儲器208、堆存儲器210、用戶接口212、照相機邏輯216、音頻邏輯218及輸入/輸出(I/O)接口214。
在裝置102操作期間,處理邏輯202執(zhí)行存儲于指令存儲器206中的程序指令以啟動運行時環(huán)境116。運行時環(huán)境116可為BREW環(huán)境或其他合適的運行時環(huán)境。為了幫助執(zhí)行指令,處理邏輯202利用棧存儲器216來臨時存儲程序數(shù)據或指令。舉例而言,處理邏輯202可在棧存儲器216上存儲常量、變量、程序地址、指示符、指令或其他信息項。在另一實施例中,處理邏輯202可在堆存儲器210中臨時存儲信息。所述堆存儲器包括實際上適合由處理邏輯202存取和檢索信息的任何類型的存儲器。
在一個或一個以上實施例中,處理邏輯202包括一CPU、門陣列、軟件或包括任一硬件和軟件組合的邏輯。因此,處理邏輯202通常包括執(zhí)行機器可讀指令的邏輯。
指令存儲器206包括RAM、ROM、FLASH、EEROM或任何其他類型的存儲器,或其組合。在一實施例中,指令存儲器206位于裝置102的內部,而在另一實施例中,指令存儲器206包括可有選擇地附裝至裝置102并由此耦接至內部總路204的一可更換式存儲卡或存儲裝置。因此,指令存儲器206可包括能夠存儲可由處理邏輯202執(zhí)行的指令的實際上任何類型的存儲器。
用戶接口212接收(例如)來自一小鍵盤、指示裝置、觸摸板或其他允許用戶與裝置102交互作用的輸入機構的用戶輸入。音頻邏輯218包括向一個或數(shù)個裝置揚聲器、遠程揚聲器或音頻系統(tǒng)或其他類型的聲音資源輸出音頻信息的邏輯。舉例而言,一對遠程揚聲器可接收音頻邏輯218的輸出以將音頻信息再現(xiàn)給一裝置用戶。
照相機邏輯216包括接口連接至安裝在所述裝置上的照相機資源124的硬件及/或軟件邏輯。舉例而言,所述裝置可包括一CCD照相機或任何其他類型的照相機資源。照相機邏輯216接口連接至所述照相機資源以便能夠從所述照相機資源獲取靜止和視頻圖像。因此,照相機邏輯216和音頻邏輯218可包括任何組合形式的硬件及/或軟件以使裝置102能夠捕捉或獲取視頻和音頻信息。
I/O接口214操作以在裝置102與外部裝置、系統(tǒng)及/或網絡之間發(fā)送與接收信息。舉例而言,在一實施例中,I/O接口214包括一操作以使用(例如)通信鏈路110通過一無線數(shù)據網絡發(fā)送和接收信息的無線電收發(fā)機電路(未顯示)。舉例而言,所述收發(fā)機包括調制從處理邏輯202接收的信息并將已調制的信息轉換成適合于無線傳輸?shù)母哳l信號的電路。同樣地,所述收發(fā)機還包括將所接收的高頻通信信號轉換成適合于由處理邏輯202調制和后續(xù)處理的信號。
在另一實施例中,I/O接口214包括一操作以通過一硬連線通信鏈路(例如一電話線)發(fā)送與接收信息以與一公用數(shù)據網絡(例如因特網)上的一遠程系統(tǒng)通信的收發(fā)機。
在再一實施例中,I/O接口214包括操作以使用鏈路120與本地裝置(例如本地工作站116)通信的電路。I/O接口214也可包括與一打印機或其他本地計算機或裝置(諸如軟盤或存儲卡)通信的電路(例如串行或并行端口邏輯)。因此,I/O接口214可包括任一類型的硬件、軟件或包括任一硬件和軟件組合形式的邏輯,以使裝置102能夠與其他本地或位于遠方的裝置或系統(tǒng)通信。
在裝置102操作期間,處理邏輯202對程序指令的執(zhí)行致使ICamera系統(tǒng)104啟動。舉例而言,可將ICamera指令存儲在一計算機可讀媒體(例如指令存儲器)中,且這些指令的執(zhí)行會啟動所述ICamera系統(tǒng)。ICamera系統(tǒng)104與運行時環(huán)境116交互作用以使應用程序能夠有效地控制位于所述裝置上的照相機資源124。舉例而言,應用程序220通過無線網絡108下載到裝置102中并存儲在存儲器208里。在一實施例中,應用程序220被啟動并與ICamera系統(tǒng)104交互作用以通過控制照相機邏輯216來控制照相機資源124的操作。舉例而言,應用程序220可操作以從所述照相機資源中檢索靜止圖像或視頻,或設定控制所述照相機資源如何進行操作的選擇參數(shù)。為實現(xiàn)此目的,應用程序220與ICamera104系統(tǒng)所提供的單個程序接口交互作用以實施所有與所述照相機資源相關的操作。
應注意,裝置102的配置僅僅是一適合于構建ICamera系統(tǒng)104的一實施例以使應用程序能夠有效地控制便攜式裝置上的照相機資源的配置。也可使用本發(fā)明范圍內的其他裝置或裝置配置來構建所述ICamera系統(tǒng)104。
圖3顯示一構建于裝置102上的ICamera系統(tǒng)104的一實施例的詳細功能圖。裝置102包括本地硬件302,所述本地硬件包括一照相機資源,例如照相機124。裝置102還包括本地多媒體軟件304,所述本地多媒體軟件包括音頻和視頻程序模塊。這些模塊可包括特定的編碼模塊,例如MPEG-4和JPEG編碼模塊。這些模塊代表用于直接與本地硬件302通信的低級軟件模塊。舉例而言,模塊304與照相機資源302接口連接。雖然顯示一實施例,但也可具有更少或更多的多媒體軟件模塊304,且這些模塊可與所有類型的本地硬件302接口連接。因此,在本發(fā)明的范圍內,可存在其他的本地硬件302和本地軟件304配置。
在運行期間,裝置102執(zhí)行程序指令來啟動運行時環(huán)境116,在一實施例中,運行環(huán)境116為Brew環(huán)境。在裝置102運行期間,應用程序220則被啟動。舉例而言,所述裝置的用戶從一數(shù)據網絡(即,使用接口214)下載應用程序220,并通過用戶I/F212啟動應用程序220。應用程序220經設計以控制所述裝置的照相機資源并且是使用本文所述的ICamera構造創(chuàng)建而成。應用程序220舉例說明ICamera系統(tǒng)104,這使得應用程序220能夠使用一由ICamera系統(tǒng)104提供的簡單的應用程序接口(API)306來實施與所述照相機資源相關的所有操作。媒體數(shù)據結構308可視需要由ICamera系統(tǒng)104來創(chuàng)建以存儲和檢索視頻信息。
ICamera系統(tǒng)104通過運行時環(huán)境116與本地模塊304接口連接和通信。舉例而言,運行時環(huán)境116可為BREW平臺,其提供廣義調用來存取裝置特有的資源。不過,可使用任何合適的接口技術來實現(xiàn)ICamera系統(tǒng)104與模塊304之間的通信。因此,ICamera系統(tǒng)104可直接命令任一模塊304來實施所選擇的照相機功能。舉例而言,ICamera系統(tǒng)104可命令Mpeg4模塊從所述照相機資源中獲得視頻數(shù)據并以Mpeg4格式對其進行編碼。ICamera系統(tǒng)104從模塊304所獲得的數(shù)據可存儲在數(shù)據結構308中,以借此實施一“記錄”功能,且也可被檢索并顯示在一裝置顯示器上,以借此實施一“播放”功能。
媒體數(shù)據結構媒體數(shù)據結構308操作以封裝ICamera系統(tǒng)104從本地軟件304接收的照相機數(shù)據。在一實施例中,下面的結構界定一種提供與一媒體數(shù)據類型相關聯(lián)的一源/匯集類型的和上下文有關數(shù)據的媒體數(shù)據結構。
typedef struct{AEECLSID clsData;//媒體數(shù)據類型void*pData; //上下文有關數(shù)據uint32dwSize;//上下文有關數(shù)據}AEEMediaData;其中各構件定義如下clsData //媒體數(shù)據類型pData //上下文有關數(shù)據dwSize//上下文有關數(shù)據且其中下表列出用于預定義媒體數(shù)據類型的上下文有關數(shù)據的細目,其中“讀取/寫入”意指相對于所述裝置的照相機資源的“回放/記錄”。
clsData Mode pData dwSize---------------------------------------------------------------MMD_FILE_NAME讀取/寫入文件名 0MMD_BUFFER 讀取/寫入緩沖器ptr數(shù)據 尺寸或0MMD_ISource 讀取/寫入ISource*數(shù)據 尺寸或0應注意,對于回放,clsData可被設定至任一基于ISource類別的CLSID,而pData被設定至相應的接口指示符。
在一實施例中,ICamera系統(tǒng)104提供一個使一應用程序能夠控制一裝置上的照相機資源的接口306。接口306包括一組可由應用程序執(zhí)行來執(zhí)行各種照相機相關功能的ICamera API指令。所述ICamera系統(tǒng)提供的API指令的一樣本如下1.ICAMERA_SetParm() ;設定照相機參數(shù)2.ICAMERA_GetParm() ;獲得照相機參數(shù)3.ICAMERA_Preview() ;開始預覽(取景器模式)4.ICAMERA_Pause() ;暫停當前操作5.ICAMERA_Resume();恢復當前操作6.ICAMERA_RecordSnapshot();記錄快照7.ICAMERA_RecordMovie() ;記錄電影8.ICAMERA_Stop() ;發(fā)出停止命令9.ICAMERA_ncodeSnapshot() ;以指定格式(即,JPEG格式)對快照圖像進行編碼10.ICAMERA_SetMediaData() ;設定媒體數(shù)據11.ICAMERA_RegisterNotify() ;注冊一通知功能12.ISHELL_CreateInstance();舉例說明ICamera系統(tǒng)等等。
舉例而言,所述ICAMERA_SetParm()指令可由所述應用程序執(zhí)行以指令ICamera系統(tǒng)104設定特定參數(shù)、設定值或與所述裝置的照相機資源相關聯(lián)的變量。在其他實施例中,應用程序可執(zhí)行可包含在所述ICamera系統(tǒng)104中的一個或一個以上其他ICamera API指令(上文未顯示)以控制所述照相機資源的實際上的任何功能。
在一實施例中,所述ICamera系統(tǒng)104操作以使一應用程序能夠通過實施下列步驟來控制所述照相機資源以拍攝一快照并將其保存。
1、所述應用程序使用一“ISHELL CreateInstance()”指令舉例說明所述ICamera系統(tǒng)/接口并注冊一回叫功能以接收異步事件。
2、“ICAMERA_Preview()”指令以預覽模式啟動所述照相機,使所述應用程序能夠通過所注冊的回叫功能接收和顯示圖像幀。
3、“ICAMERA_SetMediaData()”指令在需要記錄所述數(shù)據的地方設定文件名/緩沖器。
4、“ICAMERA_SetVideoEncode()”和“ICAMERA_SetAudioEncode()”指令規(guī)定將用來對來自所述照相機資源和音頻的圖像數(shù)據進行編碼的編碼格式。舉例而言,所述編碼格式可為JPEG編碼,也可為MPEG-4編碼。舉例而言,所述照相機資源可具有一用于音頻記錄的相關麥克風。
5、“ICAMERA_Recordsnapshot()”指令記錄所述圖像并將其編碼至規(guī)定的目的地。
在另一實施例中,所述ICamera系統(tǒng)104操作以使一應用程序能夠通過執(zhí)行下列API指令來控制一照相機資源以設定操作參數(shù),例如照相機變焦參數(shù)或亮度和對比度等級。
1、執(zhí)行一“ICAMERA_Setzoom()”指令來設定所述變焦度等級。
2、執(zhí)行一“ICAMERA_SetBrightness()”指令來設定所述亮度等級。
3、執(zhí)行一“ICAMERA_SetContrast()”指令來設置所述對比度度等級。
圖4顯示一由一ICamera系統(tǒng)的一實施例提供以使一應用程序能夠控制一便攜式裝置上的一照相機資源的一狀態(tài)機400的實施例。在所述應用程序舉例說明所述ICamera系統(tǒng)后,狀態(tài)機處于READY(準備就緒)狀態(tài)402中。所述應用程序然后可發(fā)出Icamera API指令來導航狀態(tài)機400的其他狀態(tài),并借此控制照相機資源的操作。舉例而言,一Preview()命令啟動一預覽狀態(tài)404。一Record_snapshot()命令啟動一從所述照相機資源獲取一圖像快照的快照狀態(tài)406。一Record_movie()命令啟動一從所述照相機資源獲取一視頻流的電影狀態(tài)408。狀態(tài)機400還允許其他指令來控制每一狀態(tài)的操作。舉例而言,可使用Pause()和Resume()指令來控制預覽狀態(tài)404的操作。
因此,當使用由所述ICamera系統(tǒng)提供的狀態(tài)機400時,應用程序可以控制一裝置的照相機資源來獲取靜止圖像和視頻剪輯。在不偏離所述實施例的范圍的情況下,還可以修改狀態(tài)機400來添加、刪除、改變或重新配置狀態(tài)及/或API指令的操作以導航所述狀態(tài)。因此,所述ICamera系統(tǒng)實際上可提供任何類型的狀態(tài)機以使應用程序能夠控制所述裝置的照相機資源。
圖5顯示一用于操作一裝置上的一ICamera系統(tǒng)以使一應用程序能夠控制所述裝置上的一照相機資源的一方法500的實施例。假定所述裝置正執(zhí)行一BREW運行時環(huán)境并包括本文所述的ICamera系統(tǒng)的一實施例。
在方框502處,使用ICamera構造創(chuàng)建一應用程序以使其能夠通過利用所述ICamera系統(tǒng)提供的一簡單API接口來控制所述裝置上的照相機資源。舉例而言,應用程序開發(fā)者創(chuàng)建多個在便攜式裝置上執(zhí)行的并執(zhí)行各種照相機功能的應用程序。所述應用程序包括ICamera API指令,以與所述ICamera系統(tǒng)接口連接且借此根據一狀態(tài)機(即,圖4所示的狀態(tài)機400)控制所述裝置的照相機的操作。
在方框504處,將具有ICamera API指令的應用程序下載到所述便攜式裝置供執(zhí)行之用。舉例而言,所述應用程序可通過無線數(shù)據網絡108下載到所述裝置。所述應用程序可立即執(zhí)行,或可存儲在存儲器中并稍后執(zhí)行。
在方框506處,所述應用程序執(zhí)行并舉例說明所述ICamera系統(tǒng)。舉例而言,所述應用程序在所述裝置上操作的運行時環(huán)境下執(zhí)行。在執(zhí)行期間,所述應用程序舉例說明所述ICamera系統(tǒng)以使其能夠控制所述裝置的照相機資源。
在方框508處,如果希望從所述ICamera系統(tǒng)接收異步事件,那么所述應用程序注冊一通知功能。舉例而言,所選擇的照相機事件可觸發(fā)一發(fā)給所述應用程序的通知。
在方框510處,根據所述照相機資源及/或所希望的媒體編碼特性創(chuàng)建并初始化一媒體數(shù)據結構。舉例而言,在一實施例中,一媒體數(shù)據類型是根據文件擴展、文件內容或文件編碼而得出。
在方框512處,所述應用程序向所述ICamera系統(tǒng)發(fā)出ICamera API指令,所述ICamera系統(tǒng)又操作以控制所述便攜式裝置上的照相機資源。舉例而言,所述應用程序可發(fā)出指令來執(zhí)行狀態(tài)機400中所述功能中的任何一個功能,以控制所述照相機資源的操作。因此,不管所述裝置上可用的照相機資源是何種類型,所述應用程序均可獲得快照、視頻或控制照相機參數(shù)。結果,所述照相機系統(tǒng)操作以排除所述裝置的照相機資源與所述應用程序之間的任何可能的兼容性問題。
在方框514處,在所述應用程序完成執(zhí)行照相機功能后,所述ICamera系統(tǒng)不再被需要并被釋放。
應注意,方法500僅為一實施例,且在不偏離所述實施例的范圍的情況下,可對所述方法步驟進行改動、添加、刪除及/或重新排列。
實施實例下面是一實施實例,以圖解說明在一實施例中如何舉例說明所述ICamera系統(tǒng)及一照相機資源是如何由下載到一便攜式裝置上的一應用程序控制的。所述實例包括對圖5所示方法500中的相應方框的參照并假定所述便攜式裝置所使用的運行時環(huán)境是BREW環(huán)境。在此實例中,“CApp”為一BREW小程序總體結構的一例圖。
static void App_CameraPreview(CApp*pme){int nRet;AEEMediaData md;//創(chuàng)建媒體數(shù)據結構(圖5-方框510)md.clsData=MMD_FILE_NAME;mdpData=(void*)″album/snapshot.jpg″;md.dwSize=0;//啟動所述ICamera系統(tǒng)并進入準備就緒狀態(tài)(圖5-方框508)
nRet=ISHELL_CreateInstance(pme->a.pIShell,AEECLSID_CAMERA,&pme->m_pICamera);//如果成功,將App_CameraNotify()注冊成用于ICamera事件的已注冊回叫(圖5-方框508)如果(SUCCESS!=nRet)DisplayErrorDlg(pme,IDS_ERR_CREATECAMERA);否則如果(SUCCESS?。絀CAMERA_RegisterNotify(pme->m_pICamera,App_CameraNotify,pme))DisplayErrorDlg(pme,IDS_ERR_REGISTERNOTIFY);//開始預覽(圖5-方框512)否則如果(SUCCESS?。絀CAMERA_Preview(pme->m_pIMedia))DisplayErrorDlg(pme,IDS_ERR_PLAY);多個照相機資源在一實施例中,所述ICamera系統(tǒng)操作以使一應用程序能夠控制一個裝置上的多個照相機資源。舉例而言,所述裝置可包括一獲取靜止圖像的低分辨率照相機和一獲取視頻剪輯的高分辨率照相機。在此實施例中,可舉例說明所述ICamera系統(tǒng)的兩種形式以使所述應用程序能夠控制所述兩個照相機資源。舉例而言,所述應用程序使用一ICamera API來控制所述低分辨率照相機,且所述應用程序使用一第二ICamera API來控制所述高分辨率照相機。舉例而言,可將一個照相機用作電視電話,而將另一照相機用作DSC/攝錄一體機。
為了闡述清楚起見,未提供顯示一裝置上的兩個或兩個以上ICamera系統(tǒng)操作的圖式。不過,由于每一ICamera系統(tǒng)均以本文所述方式操作,此等圖式將是多余的和不必要的。在操作期間,所述應用程序舉例說明所述ICamera系統(tǒng)的第一和第二形式,借此啟動第一和第二ICamera APIs。此后,所述應用程序執(zhí)行與任一API相關聯(lián)的指令來控制相應的照相機資源。因此,可使用所述ICamera系統(tǒng)的實施例以使一應用程序能夠控制一裝置上實際上任何數(shù)量的照相機資源。
在一個或一個以上實施例中,已闡述了一種包括方法和設備的照相機系統(tǒng),其操作以使一應用程序能夠控制一具有一嵌入式控制器的資源有限的便攜式裝置上的一個或一個以上照相機資源。因此,雖然本文已圖解說明和闡述了所述方法和設備的一個或一個以上實施例,但應了解,在不偏離所述實施例的精神或實質特征的情況下,可對所述實施例做各種改動。因此,本文中的揭示內容和闡述僅旨在闡釋而非限制本發(fā)明的范圍,本發(fā)明的范圍在隨附權利要求中加以規(guī)定。
權利要求
1.一種用于操作一照相機系統(tǒng)以使一應用程序能夠控制一便攜式裝置中的一照相機資源的方法,所述方法包括啟動所述照相機系統(tǒng),其中所述照相機系統(tǒng)可操作以控制所述照相機資源;提供一應用程序接口(API)以接收來自所述應用程序的多個指令;通過所述API接收來自所述應用程序的一指令,其中所述指令識別將要執(zhí)行的一照相機功能;及執(zhí)行由所述指令識別的所述照相機功能。
2.如權利要求1所述的方法,其中所述啟動步驟包括使所述照相機系統(tǒng)與一個或一個以上與所述照相機資源接口連接的本地模塊接口連接。
3.如權利要求1所述的方法,其進一步包括生成一媒體數(shù)據結構以存儲從所述照相機資源獲得的數(shù)據。
4.如權利要求1所述的方法,其中所述執(zhí)行所述照相機功能的步驟包括提供一識別與所述照相機資源相關聯(lián)的功能的狀態(tài)機;及根據所述指令導航所述狀態(tài)機以執(zhí)行所述照相機功能。
5.如權利要求1所述的方法,其中所述便攜式裝置包括一第二照相機資源,且所述方法包括啟動一第二照相機系統(tǒng),其中所述第二照相機系統(tǒng)可操作以控制所述第二照相機資源;提供一第二應用程序接口(API)以接收來自所述應用程序的多個指令;通過所述第二API接收來自所述應用程序的一第二指令,其中所述第二指令識別將由所述第二照相機資源執(zhí)行的一照相機功能;及執(zhí)行由所述第二指令識別的所述照相機功能。
6.如權利要求1所述的方法,其中所述便攜式裝置為一無線裝置。
7.一種用于操作一照相機系統(tǒng)以使一應用程序能夠控制一便攜式裝置中的一照相機資源的設備,所述設備包括用于啟動所述照相機系統(tǒng)的構件,其中所述照相機系統(tǒng)可操作以控制所述照相機資源;用于提供一應用程序接口(API)以接收來自所述應用程序的多個指令的構件;用于通過所述API接收來自所述應用程序的一指令的構件,其中所述指令識別將要執(zhí)行的一照相機功能;及用于執(zhí)行由所述指令識別的所述照相機功能的構件。
8.如權利要求7所述的設備,其中所述用于啟動的構件包括用于使將所述照相機系統(tǒng)與一個或一個以上與所述照相機資源接口連接的本地模塊接口連接的構件。
9.如權利要求7所述的設備,其進一步包括用于生成一媒體數(shù)據結構以存儲從所述照相機資源獲得的數(shù)據的構件。
10.如權利要求7所述的設備,其中所述用于執(zhí)行所述照相機功能的構件包括用于提供一識別與所述照相機資源相關聯(lián)的多個功能的狀態(tài)機的構件;及用于根據所述指令導航所述狀態(tài)機以執(zhí)行所述照相機功能的構件。
11.如權利要求7所述的設備,其中所述便攜式裝置包括一第二照相機資源,且所述設備包括用于啟動一第二照相機系統(tǒng)的構件,其中所述第二照相機系統(tǒng)可操作以控制所述第二照相機資源;用于提供一第二應用程序接口(API)以接收來自所述應用程序的多個指令的構件;用于通過所述第二API接收來自所述應用程序的一第二指令的構件,其中所述第二指令識別將由所述第二照相機資源執(zhí)行的一照相機功能;及用于執(zhí)行由所述第二指令識別的所述照相機功能的構件。
12.如權利要求7所述的設備,其中所述便攜式裝置為一無線裝置
13.一種包括指令的計算機可讀媒體,當由一便攜式裝置中的一處理器執(zhí)行時,所述指令操作以提供一使一應用程序能夠控制所述便攜式裝置中的一照相機資源的照相機系統(tǒng),所述計算機可讀媒體包括用于啟動所述照相機系統(tǒng)的指令,其中所述照相機系統(tǒng)可操作以控制所述照相機資源;用于提供一應用程序接口(API)以接收來自所述應用程序的API指令的指令;用于通過所述API接收來自所述應用程序的一API指令的指令,其中所述API指令識別將要執(zhí)行的一照相機功能;及用于執(zhí)行由所述API指令識別的所述照相機功能的指令。
14.如權利要求13所述的計算機可讀媒體,其中所述用于啟動的多個指令包括用于使所述照相機系統(tǒng)與一個或一個以上與所述照相機資源接口連接的本地模塊接口連接的多個指令。
15.如權利要求13所述的計算機可讀媒體,其進一步包括用于生成一媒體數(shù)據結構以存儲從所述照相機資源獲得的數(shù)據的多個指令。
16.如權利要求13所述的計算機可讀媒體,其中所述用于執(zhí)行的指令包括用于提供一識別與所述照相機資源相關聯(lián)的多個功能的狀態(tài)機的的指令;及用于根據所述API指令導航所述狀態(tài)機以執(zhí)行所述照相機功能的多個指令。
17.如權利要求13所述的計算機可讀媒體,其中所述便攜式裝置包括一第二照相機資源,且所述計算機可讀媒體包括用于啟動一第二照相機系統(tǒng)的多個指令,其中所述第二照相機系統(tǒng)可操作以控制所述第二照相機資源;用于提供一第二應用程序接口(API)以接收來自所述應用程序的API指令的多個指令;用于通過所述第二API接收來自所述應用程序的一第二API指令的多個指令,其中所述第二API指令識別將由所述第二照相機資源執(zhí)行的一照相機功能;及用于執(zhí)行由所述第二API指令識別的所述照相機功能的多個指令。
18.如權利要求13所述的計算機可讀媒體,其中所述便攜式裝置為一無線裝置。
19.一種用于操作一照相機系統(tǒng)以使一應用程序能夠控制一便攜式裝置中的一照相機資源的設備,所述設備包括用于啟動所述照相機系統(tǒng)的邏輯,其中所述照相機系統(tǒng)可操作以控制所述照相機資源;用于提供一應用程序接口(API)以接收來自所述應用程序的多個指令的邏輯;用于通過所述API接收來自所述應用程序的一指令的邏輯,其中所述指令識別一將要執(zhí)行的照相機功能;及,用于執(zhí)行由所述指令識別的所述照相機功能的邏輯。
20.如權利要求19所述的設備,其中所述用于啟動的邏輯包括用于使所述照相機系統(tǒng)與一個或一個以上與所述照相機資源接口連接的本地模塊接口連接的邏輯。
21.如權利要求19所述的設備,其進一步包括用于生成一媒體數(shù)據結構以存儲從所述照相機資源獲得的數(shù)據的邏輯。
22.如權利要求19所述的設備,其中所述用于執(zhí)行所述照相機功能的邏輯包括用于提供一識別與所述照相機資源相關聯(lián)的多個功能的狀態(tài)機的邏輯;及用于根據所述指令導航所述狀態(tài)機以執(zhí)行所述照相機功能的邏輯。
23.如權利要求19所述的設備,其中所述便攜式裝置包括一第二照相機資源,且所述設備包括用于啟動一第二照相機系統(tǒng)的邏輯,其中所述第二照相機系統(tǒng)可操作以控制所述第二照相機資源;用于提供一第二應用程序接口(API)以接收來自所述應用程序的多個指令的邏輯;用于通過所述第二API接收來自所述應用程序的一第二指令的邏輯,其中所述第二指令識別一將由所述第二照相機資源執(zhí)行的照相機功能;及用于執(zhí)行由所述第二指令識別的所述照相機功能的邏輯。
24.如權利要求19所述的設備,其中所述便攜式裝置為一無線裝置。
全文摘要
本發(fā)明提供一種用于控制資源有限的便攜式裝置中的照相機資源的系統(tǒng)及一種用于操作照相機系統(tǒng)以使應用程序能夠控制便攜式裝置中的照相機資源的方法。所述方法包括啟動所述照相機系統(tǒng),其中所述照相機系統(tǒng)可操作來控制所述照相機資源,從而提供一用于接收來自所述應用程序的指令的應用程序接口(API)、通過所述API接收來自所述應用程序的指令(其中所述指令識別將要執(zhí)行的照相機功能)及執(zhí)行由所述指令識別的照相機功能。
文檔編號H04M1/725GK1973531SQ200480010201
公開日2007年5月30日 申請日期2004年4月26日 優(yōu)先權日2003年4月25日
發(fā)明者斯里尼瓦斯·帕特瓦里 申請人:高通股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1