專利名稱:執(zhí)行圖像信號(hào)處理的方法及用于執(zhí)行圖像信號(hào)處理的裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像信號(hào)處理(Image Signal Processing,ISP),例如應(yīng)用于圖像傳感器輸入的照相機(jī)功能的信號(hào)處理,尤其涉及借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法以及用于執(zhí)行圖像信號(hào)處理的裝置。
背景技術(shù):
傳統(tǒng)ISP系統(tǒng)有很多圖像處理特性,例如人臉檢測(cè)、對(duì)象分割 (objectsegmentation)以及高動(dòng)態(tài)范圍處理等。舉例來說,ISP系統(tǒng)可實(shí)施于可攜式電子裝置中,例如實(shí)施于數(shù)字靜態(tài)圖像照相機(jī)(Digital Still Image Camera, DSC)中或?qū)嵤┯诰哂姓障鄼C(jī)模塊的移動(dòng)電話裝置中。實(shí)際中,存在多種用于實(shí)施傳統(tǒng)ISP系統(tǒng)的圖像處理特性的提議。第一種提議建議利用高端微處理器處理這些圖像處理特性的復(fù)雜算法。然而,由于一些圖像算法過于復(fù)雜,DSC或移動(dòng)電話制造商很難以預(yù)算價(jià)格從市場(chǎng)上獲得具有強(qiáng)大計(jì)算能力的微處理器。另外,第二種提議建議利用一個(gè)或多個(gè)額外的專用數(shù)字信號(hào)處理器處理復(fù)雜的算法。然而,額外的專用數(shù)字信號(hào)處理器常常會(huì)導(dǎo)致更多的能量消耗或更多芯片面積的消耗。另外,第三種提議建議利用額外的專用硬件處理復(fù)雜的算法。然而,利用額外的專用硬件會(huì)導(dǎo)致缺乏靈活性,并且相應(yīng)材料的成本也會(huì)由于額外的專用硬件而增加。實(shí)施上述各種圖像處理特性時(shí)通常會(huì)產(chǎn)生上述困難。因此,需要一種新型方法及裝置,以用于實(shí)施可攜式電子裝置中ISP系統(tǒng)的圖像處理特性而不產(chǎn)生嚴(yán)重的副作用。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法以及用于執(zhí)行圖像信號(hào)處理的裝置。一種借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法,所述借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法包括利用圖像信號(hào)處理管線對(duì)至少一個(gè)源幀圖像的至少一個(gè)部分的源數(shù)據(jù)執(zhí)行預(yù)處理或者對(duì)至少一個(gè)中間幀圖像的至少一個(gè)部分的中間數(shù)據(jù)執(zhí)行預(yù)處理,其中所述預(yù)處理包括將所述源數(shù)據(jù)與所述中間數(shù)據(jù)儲(chǔ)存于存儲(chǔ)器;以及利用圖形處理單元從所述存儲(chǔ)器獲取數(shù)據(jù)并且對(duì)已獲取數(shù)據(jù)執(zhí)行特定處理以產(chǎn)生已處理數(shù)據(jù),其中所述數(shù)據(jù)包括所述源數(shù)據(jù)與所述中間數(shù)據(jù),所述圖形處理單元將所述已處理數(shù)據(jù)儲(chǔ)存于所述存儲(chǔ)器;其中所述已獲取數(shù)據(jù)與所述已處理數(shù)據(jù)中的至少一個(gè)遵從特定數(shù)據(jù)結(jié)構(gòu)。一種用于執(zhí)行圖像信號(hào)處理的裝置,所述用于執(zhí)行圖像信號(hào)處理的裝置包括圖像信號(hào)處理管線,用于對(duì)至少一個(gè)源幀圖像的至少一個(gè)部分的源數(shù)據(jù)執(zhí)行預(yù)處理或者對(duì)至少一個(gè)中間幀圖像的至少一個(gè)部分的中間數(shù)據(jù)執(zhí)行預(yù)處理,其中所述預(yù)處理包括將所述源數(shù)據(jù)與所述中間數(shù)據(jù)儲(chǔ)存于所述裝置的存儲(chǔ)器;以及圖形處理單元,用于從所述存儲(chǔ)器獲取數(shù)據(jù)并且對(duì)已獲取數(shù)據(jù)執(zhí)行特定處理以產(chǎn)生已處理數(shù)據(jù),其中所述數(shù)據(jù)包括所述源數(shù)據(jù)與所述中間數(shù)據(jù),所述圖形處理單元將所述已處理數(shù)據(jù)儲(chǔ)存于所述存儲(chǔ)器;其中所述已獲取數(shù)據(jù)與所述已處理數(shù)據(jù)中的至少一個(gè)遵從特定數(shù)據(jù)結(jié)構(gòu)。本發(fā)明的效果之一在于可實(shí)施可攜式電子裝置中ISP系統(tǒng)的圖像處理特性而不產(chǎn)生嚴(yán)重的副作用。以下為根據(jù)多個(gè)圖式對(duì)本發(fā)明的較佳實(shí)施例進(jìn)行詳細(xì)描述,所屬技術(shù)領(lǐng)域技術(shù)人員閱讀后應(yīng)可明確了解本發(fā)明的目的。
圖IA為根據(jù)本發(fā)明第一實(shí)施例的用于執(zhí)行ISP的裝置的方塊示意圖。圖IB為根據(jù)本發(fā)明一實(shí)施例的圖IA中裝置100的軟件堆棧示意圖。圖2為根據(jù)本發(fā)明一實(shí)施例的方法的流程示意圖。圖3為根據(jù)本發(fā)明一實(shí)施例涉及圖2所示方法的多個(gè)2維磚型子框的示意圖。圖4為根據(jù)本發(fā)明一實(shí)施例涉及圖2所示方法的同步控制器的操作示意圖。圖5A與圖5B為根據(jù)本發(fā)明不同實(shí)施例涉及圖2所示方法在多個(gè)階段中執(zhí)行的操作的示意圖。圖6A與圖6B為根據(jù)本發(fā)明不同實(shí)施例涉及圖2所示方法在多個(gè)階段中執(zhí)行的操作的示意圖。
具體實(shí)施例方式在說明書及后續(xù)的權(quán)利要求當(dāng)中使用了某些詞匯來指稱特定的元件。所屬領(lǐng)域中具有通常知識(shí)者應(yīng)可理解,硬件制造商可能會(huì)用不同的名詞來稱呼同一個(gè)元件。本說明書及后續(xù)的權(quán)利要求并不以名稱的差異來作為區(qū)分元件的方式,而是以元件在功能上的差異來作為區(qū)分的準(zhǔn)則。在通篇說明書及后續(xù)的請(qǐng)求項(xiàng)當(dāng)中所提及的“包含”為一開放式的用語,故應(yīng)解釋成“包含但不限定于”。以外,“耦接” 一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表該第一裝置可直接電氣連接于該第二裝置,或透過其他裝置或連接手段間接地電氣連接至該第二裝置。請(qǐng)參考圖1A。圖IA為根據(jù)本發(fā)明第一實(shí)施例的用于執(zhí)行ISP的裝置100的方塊示意圖。裝置100包括應(yīng)用處理器105、外部存儲(chǔ)器105M(圖IA中標(biāo)記為“Ext. Mem”)以及圖像傳感器105S(圖IA中標(biāo)記為“傳感器”,在此實(shí)施例中,應(yīng)用處理器105可以單一芯片實(shí)施)。如圖IA所示,裝置100的應(yīng)用處理器105包括中央處理單元(Central Processing Unit,CPU) 110、ISP管線(pipeline) 120、圖形處理單元(Graphics Processing Unit,GPU), 片上存儲(chǔ)器(on-chip memory)、總線構(gòu)造(bus fabric) 150以及外部存儲(chǔ)器界面160(圖 IA中標(biāo)記為“EMI ”),其中GPU可為可編程GPU 130,片上存儲(chǔ)器可為片上隨機(jī)存取存儲(chǔ)器 (Random Access Memory, RAM) 1400上述僅用來例舉本發(fā)明的實(shí)施態(tài)樣,并非用來限制本發(fā)明的范疇。根據(jù)此實(shí)施例的一種變形,應(yīng)用處理器105可作為裝置100,圖像傳感器105S與外部存儲(chǔ)器105M可作為裝置100之外的外部元件。第一實(shí)施例中,CPU 110用于控制裝置100的操作,ISP管線120用于執(zhí)行ISP操作,其中圖像傳感器105S可為ISP管線120的信號(hào)源。另外,可編程GPU 130可用于執(zhí)行復(fù)雜計(jì)算,例如上面提及的那些復(fù)雜算法,并且片上RAM 140與外部存儲(chǔ)器105M可用于儲(chǔ)存信息。另外,總線構(gòu)造150是用于電性連接應(yīng)用處理器105中的各個(gè)元件的總線,外部存儲(chǔ)器界面160是總線構(gòu)造150與外部存儲(chǔ)器105M之間的界面。根據(jù)此實(shí)施例,可通過建立和利用GPU系統(tǒng)(例如可編程GPU 130)與ISP系統(tǒng) (例如ISP管線120)之間的合作以獲得裝置100的整體高性能,其中GPU系統(tǒng)(例如可編程 GPU 130)與ISP系統(tǒng)(例如ISP管線120)最初具有不相關(guān)的操作。圖IB為根據(jù)本發(fā)明一實(shí)施例的圖IA中裝置100的軟件堆棧(softwarestack)示意圖。上述的合作方法可利用裝置100的多個(gè)軟件層中的一部分來進(jìn)行描述,特別地,可利用軟件層中的一部分或全部軟件模塊進(jìn)行描述。如圖IB所示,軟件層可包括應(yīng)用層310、框架層(framework layer) 320, 程序庫層(library layer) 330以及驅(qū)動(dòng)器層340,其中為了更好地理解本發(fā)明也對(duì)硬件層 350進(jìn)行描述。此實(shí)施例中,應(yīng)用層310包括用戶應(yīng)用312 ;框架層320包括ISP應(yīng)用框架與顯示軟件(display software)框架326,ISP應(yīng)用框架可為照相機(jī)軟件框架323,照相機(jī)軟件框架323用于控制應(yīng)用于圖像信號(hào)的ISP操作,圖像信號(hào)從圖像傳感器105S獲得,顯示軟件框架3 用于控制裝置100的顯示操作,顯示操作例如用戶界面(user interface, UI)動(dòng)畫。另外,程序庫層330包括ISP程序庫332、圖形程序庫334與圖形程序庫336,圖形程序庫334與圖形程序庫336分別相應(yīng)于ISP應(yīng)用框架(例如照相機(jī)軟件框架32 與顯示軟件框架326 ;驅(qū)動(dòng)器層340包括ISP驅(qū)動(dòng)器342、圖形程序庫服務(wù)(例如核心圖形程序庫服務(wù)345-1)與硬件驅(qū)動(dòng)器(例如圖形驅(qū)動(dòng)器345- 。請(qǐng)注意,圖形程序庫334與圖形程序庫 336可視為用戶的兩個(gè)圖形環(huán)境(graphics context) 0另外,硬件層350包括ISP硬件模塊352 (圖IB中標(biāo)記為“ ISP冊(cè)”)與GPU硬件模塊355 (圖IB中標(biāo)記為“GPU冊(cè)” ),ISP 硬件模塊352包括圖IA中ISP管線120的硬件電路,GPU硬件模塊355包括圖IA中可編程GPU 130的硬件電路。特別地,硬件層350中的硬件模塊與驅(qū)動(dòng)器層340中的軟件模塊以內(nèi)核模式運(yùn)行, 并且圖IB中上面的兩個(gè)層應(yīng)用層310與框架層320以用戶模式運(yùn)行。另外,ISP驅(qū)動(dòng)器 342用于控制ISP管線120的硬件電路,圖形驅(qū)動(dòng)器345-2用于控制可編程GPU 130的硬件電路,其中ISP驅(qū)動(dòng)器342與圖形驅(qū)動(dòng)器345-2都在ISP應(yīng)用框架(例如照相機(jī)軟件框架 323)的控制下運(yùn)行,圖形驅(qū)動(dòng)器345-2進(jìn)一步在顯示軟件框架3 的控制下運(yùn)行。請(qǐng)注意, 圖形程序庫服務(wù)(例如核心圖形程序庫服務(wù)345-1)用于將來自圖形驅(qū)動(dòng)器345-2的服務(wù)提供至兩個(gè)圖形程序庫334與圖形程序庫336。當(dāng)需要的時(shí)候,此實(shí)施例的ISP驅(qū)動(dòng)器342 可與核心圖形程序庫服務(wù)345-1通信,以在ISP驅(qū)動(dòng)器342與圖形驅(qū)動(dòng)器345-2之間同步。 根據(jù)此實(shí)施例,圖形程序庫336在顯示軟件框架326的控制下專用于UI動(dòng)畫,在ISP程序庫332與圖形程序庫336之間沒有指定路徑?;谏鲜龅募軜?gòu),沒有必要在ISP驅(qū)動(dòng)器342 與圖形驅(qū)動(dòng)器345-2之間同步。通過利用圖IB中所示的架構(gòu)可輕易建立上述合作方法,無需改變顯示軟件框架 3 與圖形程序庫336或改變裝置100的相關(guān)顯示系統(tǒng)。因此,現(xiàn)有技術(shù)中的困難(例如微處理器的價(jià)格與計(jì)算能力之間的權(quán)衡)不再是問題,因?yàn)闆]有必要利用高端微處理器處理上述的復(fù)雜算法。另外,導(dǎo)致更多的能量消耗或更多芯片面積消耗的困難也可被解決,因?yàn)闊o需處理上述復(fù)雜算法的額外專用數(shù)字信號(hào)處理器。另外,另外,材料成本增加以及缺少靈活性等現(xiàn)有技術(shù)中的困難不再存在,因?yàn)闊o需處理上述復(fù)雜算法的額外專用硬件。請(qǐng)參考圖2以進(jìn)行更詳細(xì)的描述。
圖2為根據(jù)本發(fā)明一實(shí)施例的方法900的流程示意圖,方法900用于借助GPU來執(zhí)行ISP。方法900可應(yīng)用于圖IA所示的裝置100,特別地,方法900可應(yīng)用于裝備有圖IB 所示架構(gòu)中的軟件模塊的CPU 110。另外,可利用圖IA所示的裝置100來實(shí)施方法900,特別地,可利用裝備有圖IB所示架構(gòu)中的軟件模塊的CPU 110來實(shí)施方法900。下面描述方法 900。步驟905,利用傳感器(例如裝置100中的圖像傳感器105S)以產(chǎn)生圖像信號(hào)并將圖像信號(hào)輸入至應(yīng)用處理器105。特別地,在CPU 110的控制下,裝置100從圖像傳感器 105S獲得圖像信號(hào)。步驟910中,裝置100執(zhí)行ISP處理,其中此實(shí)施例的步驟910包括步驟912、步驟 914、步驟916以及步驟918。詳細(xì)描述如下。步驟912中,裝置100利用ISP管線120執(zhí)行預(yù)處理。特別地,在CPUllO的控制下,裝置100利用ISP管線120對(duì)至少一個(gè)源幀圖像(source frame image)的至少一個(gè)部分的源數(shù)據(jù)執(zhí)行預(yù)處理或前端處理。舉例來說,ISP管線120可將數(shù)據(jù)儲(chǔ)存于外部/片上存儲(chǔ)器。詳細(xì)地,借助外部存儲(chǔ)器界面160,ISP管線120通過總線構(gòu)造150將源數(shù)據(jù)儲(chǔ)存于外部存儲(chǔ)器105M。另一個(gè)例子中,ISP管線120通過總線構(gòu)造150將源數(shù)據(jù)儲(chǔ)存于片上 RAM 140。一些實(shí)施例中,ISP管線120執(zhí)行預(yù)處理以產(chǎn)生至少一個(gè)中間幀圖像的至少一個(gè)部分的中間數(shù)據(jù),并且將中間數(shù)據(jù)儲(chǔ)存于外部/片上存儲(chǔ)器。此實(shí)施例中,從位于裝置100中的圖像傳感器105S獲得源數(shù)據(jù),其中圖像傳感器 105S可實(shí)施于嵌入于裝置100的照相機(jī)模塊中。這僅用來例舉本發(fā)明的實(shí)施態(tài)樣,并非用來限制本發(fā)明的范疇。根據(jù)此實(shí)施例的一種變形,圖像傳感器105S實(shí)施于單個(gè)照相機(jī)模塊中,照相機(jī)模塊不位于裝置100中的情況下,從位于裝置100外部的圖像傳感器105S獲得源數(shù)據(jù)。根據(jù)此實(shí)施例的另一種變形,CPUllO用于產(chǎn)生源數(shù)據(jù)。步驟914中,裝置100決定是否需要GPU (例如可編程GPU 130)。照相機(jī)軟件框架323從應(yīng)用得到圖像處理特性信息,并決定由圖像處理特性信息代表的特性是否由可編程GPU 130執(zhí)行。若決定圖像特性在可編程GPU 130中執(zhí)行,則進(jìn)行步驟916;否則,進(jìn)行步驟918。從ISP管線的角度,可編程GPU 130可作為ISP管線120的內(nèi)部管線級(jí)。步驟916中,裝置100利用GPU執(zhí)行特定處理,其中可利用程序碼實(shí)施特定處理用于完成上述的一些圖像處理特性。特別地,在CPU 110的控制下,裝置100利用GPU(例如可編程GPU 130)從外部/片上存儲(chǔ)器(例如外部存儲(chǔ)器105M或片上RAM 140)獲取數(shù)據(jù), 并且對(duì)已獲取數(shù)據(jù)執(zhí)行特定處理以產(chǎn)生已處理數(shù)據(jù),其中GPU可將已處理數(shù)據(jù)儲(chǔ)存于外部 /片上存儲(chǔ)器。此實(shí)施例中,源/中間數(shù)據(jù)(或已獲取數(shù)據(jù))與已處理數(shù)據(jù)中的至少一個(gè) (例如部分或全部中間數(shù)據(jù)與已處理數(shù)據(jù))遵從特定數(shù)據(jù)結(jié)構(gòu)。舉例來說,特定數(shù)據(jù)結(jié)構(gòu)可為一種顏色格式屬性(例如視頻的YUV格式、計(jì)算器的RGB格式或RAW格式)。另一個(gè)例子中,特定數(shù)據(jù)結(jié)構(gòu)可為特定信息(特定信息可為運(yùn)動(dòng)向量信息,例如視頻幀的運(yùn)動(dòng)向量)或特性點(diǎn)信息(例如對(duì)象的特性點(diǎn))。步驟918中,裝置100利用ISP管線120執(zhí)行ISP主管線處理,特別地,裝置100 利用ISP管線120以從外部/片上存儲(chǔ)器(例如外部存儲(chǔ)器105M或片上RAM 140)獲取已處理數(shù)據(jù)并對(duì)已處理數(shù)據(jù)執(zhí)行ISP主管線處理。步驟920中,裝置100決定是否繼續(xù)ISP操作。當(dāng)決定繼續(xù)ISP操作時(shí),進(jìn)行步驟905 ;否則,結(jié)束圖2所示的流程圖。根據(jù)此實(shí)施例,至少一個(gè)源幀圖像(例如一個(gè)或多個(gè)源幀圖像)的至少一個(gè)部分包括至少一個(gè)源幀圖像的整體圖像,并且ISP管線120以整體圖像為單位對(duì)源數(shù)據(jù)執(zhí)行預(yù)處理。另外,至少一個(gè)中間幀圖像的至少一個(gè)部分包括至少一個(gè)中間幀圖像的整體圖像, 并且GPU(例如可編程GPU 130)以整體圖像為單位對(duì)源/中間數(shù)據(jù)執(zhí)行特定處理。上述僅用來例舉本發(fā)明的實(shí)施態(tài)樣,并非用來限制本發(fā)明的范疇。根據(jù)此實(shí)施例(例如圖3所示的實(shí)施例)的變形,至少一個(gè)源幀圖像的至少一個(gè)部分包括至少一個(gè)源幀圖像的局部圖像,并且ISP管線120以局部圖像(例如從一個(gè)或多個(gè)源幀圖像分成的多個(gè)2維磚型子框 (tile))為單位對(duì)源數(shù)據(jù)執(zhí)行預(yù)處理。另外,至少一個(gè)中間幀圖像的至少一個(gè)部分包括至少一個(gè)中間幀圖像的局部圖像,并且GPU(例如可編程GPU 130)以局部圖像(例如從一個(gè)或多個(gè)中間幀圖像分成的多個(gè)2維磚型子框)為單位對(duì)源/中間數(shù)據(jù)執(zhí)行特定處理。以局部圖像為單位的處理降低了需要的緩沖空間。圖3為根據(jù)本發(fā)明一實(shí)施例涉及圖2所示方法900的多個(gè)2維磚型子框(例如2維磚型子框Tl與2維磚型子框T2)的示意圖。此實(shí)施例中,圖IA所示可編程GPU 130以局部圖像為單位對(duì)已中間數(shù)據(jù)執(zhí)行特定處理。舉例來說,每個(gè)源幀圖像分成四個(gè)2維磚型子框, 例如源幀圖像的左上角、右上角、左下角以及右下角,而每個(gè)中間幀圖像分成四個(gè)2維磚型子框,例如中間幀圖像的左上角、右上角、左下角以及右下角。另一個(gè)例子中,每個(gè)源幀圖像分成兩個(gè)2維磚型子框,例如源幀圖像的上半部分與下半部分,每個(gè)中間幀圖像分成兩個(gè)2 維磚型子框,例如中間幀圖像的上半部分與下半部分。圖3中所示的2維磚型子框Tl可代表步驟916中當(dāng)前由可編程GPU 130儲(chǔ)存于片上RAM 140的2維磚型子框,并且圖3中所示的2維磚型子框T2可代表步驟918中當(dāng)前由ISP管線120讀取的之前儲(chǔ)存的2維磚型子框。圖4為根據(jù)本發(fā)明一實(shí)施例涉及圖2所示方法900的同步控制器125的操作示意圖,其中為簡(jiǎn)潔可將同步控制器125稱為syncker,因此圖中標(biāo)記為“Syncker”。同步控制器125用于執(zhí)行硬件交換(handshaking),以降低軟件操作帶來的CPU 110通信負(fù)擔(dān) (communication overhead)0舉例來說,當(dāng)步驟916中的中間數(shù)據(jù)未就緒時(shí)同步控制器125可將暫停(stall) 信號(hào)(圖4中標(biāo)記為“暫停”)發(fā)送至可編程GPU 130,當(dāng)可編程GPU 130完成相關(guān)于步驟 916中處理的中間數(shù)據(jù)的特定處理的操作時(shí),可編程GPU130可將就緒信號(hào)(圖4中標(biāo)記為 “就緒”)發(fā)送至同步控制器125??紤]到步驟912中的預(yù)處理,當(dāng)源數(shù)據(jù)對(duì)預(yù)處理未就緒時(shí)同步控制器125可將暫停信號(hào)(圖4中標(biāo)記為“暫停”)發(fā)送至ISP管線120,當(dāng)ISP管線120完成相關(guān)于步驟912中處理的源數(shù)據(jù)的預(yù)處理的操作時(shí),ISP管線120可將就緒信號(hào)(圖4中標(biāo)記為“就緒”)發(fā)送至同步控制器125。類似的,考慮到步驟918中的ISP主管線處理,當(dāng)處理的數(shù)據(jù)對(duì)ISP主管線處理未就緒時(shí)同步控制器125可將暫停信號(hào)(圖4 中標(biāo)記為“暫?!?發(fā)送至ISP管線120,當(dāng)ISP管線120完成相關(guān)于步驟918中處理的數(shù)據(jù)的ISP主管線處理的操作時(shí),ISP管線120可將就緒信號(hào)(圖4中標(biāo)記為“就緒”)發(fā)送至同步控制器125。由于利用同步控制器125,使得圖IB中所示的架構(gòu)的實(shí)施不會(huì)導(dǎo)致CPU 110的工作量增加。圖5A與圖5B為根據(jù)本發(fā)明不同實(shí)施例涉及圖2所示方法900在多個(gè)階段中執(zhí)行的操作的示意圖,其中可將同步控制器125(圖4中標(biāo)記為“Syncker”)的硬件交換應(yīng)用于這些實(shí)施例。根據(jù)圖5A中所示實(shí)施例,外部/片上存儲(chǔ)器中的單一 2維磚型子框緩沖器用于暫時(shí)每次儲(chǔ)存多個(gè)2維磚型子框中的一個(gè)。如圖5A所示,多行狀態(tài)512、狀態(tài)514、狀態(tài)516 以及狀態(tài)518用于分別指示ISP管線120、可編程GPU 130、同步控制器125以及2維磚型子框緩沖器的狀態(tài)。階段Pll中,利用處于GPU暫停狀態(tài)(圖5A中標(biāo)記為“GPU暫?!?的可編程GPU 130執(zhí)行ISP管線處理,同步控制器125為ISP管線處理寄存需要的存儲(chǔ)器資源(即單一 2 維磚型子框緩沖器)并且為ISP管線120鈍化(inactivate)暫停信號(hào),用于指示階段Pll 中ISP管線120的“Syncker存儲(chǔ)器資源0K”狀態(tài)。這種情況下,利用2維磚型子框緩沖器用于ISP管線寫入并且2維磚型子框緩沖器處于“2維磚型子框緩沖器用于ISP管線寫入” 狀態(tài)。另外,階段P12中,利用處于ISP管線暫停狀態(tài)(圖5A中標(biāo)記為“ISP管線暫停”) 的ISP管線120執(zhí)行GPU處理。當(dāng)由于結(jié)束寫入2維磚型子框緩沖器而從ISP管線120接收就緒信號(hào)時(shí),同步控制器125寄存2維磚型子框緩沖器的就緒狀態(tài)(readiness),用于指示磚緩沖器的“Syncker存儲(chǔ)器就緒狀態(tài)0K”狀態(tài)。這種情況下,利用2維磚型子框緩沖器用于GPU讀取并且2維磚型子框緩沖器處于“2維磚型子框緩沖器用于GPU讀取”狀態(tài)。一些實(shí)施例中,在階段P12之后的階段P13中(圖5A中沒有顯示),利用處于ISP 管線暫停狀態(tài)的ISP管線120執(zhí)行GPU處理,并且同步控制器125為GPU處理寄存需要的存儲(chǔ)器資源(即單一 2維磚型子框緩沖器)并且鈍化可編程GPU 130的暫停信號(hào),用于指示階段P13中可編程GPU 130的“Syncker存儲(chǔ)器資源0K”狀態(tài)。這種情況下,利用2維磚型子框緩沖器用于GPU寫入并且2維磚型子框緩沖器處于“2維磚型子框緩沖器用于GPU 寫入”狀態(tài)。另外,在階段P13之后的階段P14中(圖5A中沒有顯示),利用處于GPU暫停狀態(tài)的可編程GPU 130執(zhí)行ISP管線處理。當(dāng)由于結(jié)束寫入2維磚型子框緩沖器而從可編程GPU 130接收就緒信號(hào)時(shí),同步控制器125寄存2維磚型子框緩沖器的就緒狀態(tài),用于指示2維磚型子框緩沖器的“Syncker存儲(chǔ)器就緒狀態(tài)0K”狀態(tài)。這種情況下,利用2維磚型子框緩沖器用于ISP管線讀取并且2維磚型子框緩沖器處于“2維磚型子框緩沖器用于ISP 管線讀取”狀態(tài)。此實(shí)施例中,階段P11、階段P12、階段P13以及階段P14可以重復(fù),并且階段P11、階段P12、階段P13以及階段P14中的操作可輪流產(chǎn)生。根據(jù)圖5B中所示的實(shí)施例,外部/片上存儲(chǔ)器中的多個(gè)2維磚型子框緩沖器(例如2維磚型子框緩沖器A與2維磚型子框緩沖器B)用于暫時(shí)每次儲(chǔ)存多個(gè)2維磚型子框中的兩個(gè)。如圖5B所示,多行狀態(tài)522、狀態(tài)524、狀態(tài)526以及狀態(tài)528A和狀態(tài)528B用于分別指示ISP管線120、可編程GPU130、同步控制器125以及2維磚型子框緩沖器A與2 維磚型子框緩沖器B的狀態(tài)。階段P21中,利用處于GPU暫停狀態(tài)(圖5A中標(biāo)記為“GPU暫?!?的可編程GPU 130執(zhí)行ISP管線處理,同步控制器125寄存ISP管線處理需要的存儲(chǔ)器資源(即2維磚型子框緩沖器A)并且鈍化ISP管線120的暫停信號(hào),用于指示階段P21中ISP管線120的 “Syncker存儲(chǔ)器資源0K”狀態(tài)。這種情況下,利用2維磚型子框緩沖器A用于ISP管線寫入并且2維磚型子框緩沖器處于“2維磚型子框緩沖器A用于ISP管線寫入”狀態(tài)。另外,階段P22中,既執(zhí)行GPU處理又執(zhí)行ISP管線處理,并且同步控制器125為GPU處理寄存需要的存儲(chǔ)器資源(即2維磚型子框緩沖器B)并且鈍化可編程GPU 130的暫停信號(hào),用于指示階段P22中可編程GPU 130的“Syncker存儲(chǔ)器資源0K”狀態(tài)。當(dāng)由于結(jié)束寫入2維磚型子框緩沖器A而從ISP管線120接收就緒信號(hào)時(shí),同步控制器125寄存 2維磚型子框緩沖器A的就緒狀態(tài),用于指示2維磚型子框緩沖器A的“Syncker存儲(chǔ)器就緒狀態(tài)0K”狀態(tài)。這種情況下,利用2維磚型子框緩沖器A用于GPU讀取并且2維磚型子框緩沖器A處于“2維磚型子框緩沖器A用于GPU讀取”狀態(tài)。另外,利用2維磚型子框緩沖器B用于ISP管線寫入并且2維磚型子框緩沖器B處于“2維磚型子框緩沖器B用于ISP 管線寫入”狀態(tài)。類似的,階段P23中,既執(zhí)行GPU處理又執(zhí)行ISP管線處理,并且同步控制器125 為ISP管線處理寄存需要的存儲(chǔ)器資源(即2維磚型子框緩沖器A)并且鈍化ISP管線120 的暫停信號(hào)用于指示階段P23中ISP管線120的“Syncker存儲(chǔ)器資源0K”狀態(tài)。當(dāng)由于結(jié)束寫入2維磚型子框緩沖器B而從可編程GPU 130接收就緒信號(hào)時(shí),同步控制器125寄存2維磚型子框緩沖器B的就緒狀態(tài),用于為2維磚型子框緩沖器B指示“Syncker存儲(chǔ)器就緒狀態(tài)0K”狀態(tài)。這種情況下,利用2維磚型子框緩沖器B用于GPU讀取并且2維磚型子框緩沖器B處于“2維磚型子框緩沖器B用于GPU讀取”狀態(tài)。另外,利用2維磚型子框緩沖器A用于ISP管線寫入并且2維磚型子框緩沖器A處于“2維磚型子框緩沖器A用于 ISP管線寫入”狀態(tài)。此實(shí)施例中,階段P22與階段P23可以重復(fù),并且階段P22與階段P23 中的操作可輪流產(chǎn)生。圖6A與圖6B為根據(jù)本發(fā)明不同實(shí)施例涉及圖2所示方法900在多個(gè)階段中執(zhí)行的操作的示意圖,多個(gè)階段可為捕獲階段、GPU階段以及后階段(post phase),其中每個(gè)實(shí)施例是圖5B中所示實(shí)施例的變形。存儲(chǔ)器640代表外部/片上存儲(chǔ)器。另外,此實(shí)施例的階段會(huì)在時(shí)間軸上重疊。請(qǐng)注意,基于不同的變形,可將同步控制器125(圖4中標(biāo)記為 "Syncker")的硬件交換或未利用同步控制器125的相關(guān)軟件控制應(yīng)用于這些實(shí)施例,也就是說,可由同步控制器125或CPU 110控制存儲(chǔ)器640的存取。因此,通常來說,圖6A與圖 6B中存儲(chǔ)器640的存取上的控制可標(biāo)記為“Syncker/CPU控制”。圖6A中所示的實(shí)施例中,在捕獲階段執(zhí)行ISP管線處理620,其中從圖像傳感器 105S的傳感器界面anterface,I/F)接收ISP管線處理620的輸入信號(hào)。另外,在GPU階段中執(zhí)行GPU處理630,并且在后階段中執(zhí)行圖像/視頻管線處理650。這里,2維磚型子框 Tll、2維磚型子框Τ12以及2維磚型子框Τ13等用作為ISP管線處理620通過存儲(chǔ)器640 的緩沖空間(例如2維磚型子框緩沖器)傳送至GPU處理630的2維磚型子框的例子,2維磚型子框Τ21、2維磚型子框Τ22等用作為GPU處理630通過存儲(chǔ)器640的緩沖空間(例如 2維磚型子框緩沖器)傳送至圖像/視頻管線處理650的2維磚型子框的例子,2維磚型子框Τ31、2維磚型子框Τ32等用作為圖像/視頻管線處理650通過存儲(chǔ)器640的緩沖空間 (例如2維磚型子框緩沖器)傳送至后續(xù)處理的2維磚型子框的例子。不再重復(fù)這種變形的類似描述。圖6Β所示實(shí)施例是圖6Α所示實(shí)施例的一種變形,其中裝置100包括顯示系統(tǒng)。裝置100利用顯示系統(tǒng)從外部/片上存儲(chǔ)器(例如外部存儲(chǔ)器105Μ或片上RAM 140)獲取已處理數(shù)據(jù)以顯示已處理數(shù)據(jù)。因此,此實(shí)施例中由顯示管線處理690代替圖像/視頻管線處理650,顯示管線處理690的輸出信號(hào)發(fā)送至顯示系統(tǒng)的顯示I/F。不再重復(fù)這種變形的類似描述。本發(fā)明的優(yōu)勢(shì)包括,可以輕松實(shí)施本發(fā)明的方法與相關(guān)裝置,無需改變?nèi)魏物@示軟件框架326與圖形程序庫336或者改變裝置100的相關(guān)顯示系統(tǒng)。因此,現(xiàn)有技術(shù)中微處理器的價(jià)格與計(jì)算能力之間的權(quán)衡、更多的能量消耗或更多芯片面積消耗以及材料成本增加以及缺少靈活性等困難得以克服。另外,GPU(例如可編程GPU 130)通常是高度平行處理器,并且由于性能通常比系統(tǒng)CPU (例如CPU 110)的性能快幾倍,所以上述實(shí)施例可減輕CPU的工作量并且不產(chǎn)生額外的成本。另外,上述實(shí)施例中的GPU可編程,因此比具有專用硬件的架構(gòu)的靈活性更好。上述的實(shí)施例僅用來例舉本發(fā)明的實(shí)施態(tài)樣,以及闡釋本發(fā)明的技術(shù)特征,并非用來限制本發(fā)明的范疇。任何所屬技術(shù)領(lǐng)域技術(shù)人員可依據(jù)本發(fā)明的精神輕易完成的改變或均等性的安排均屬于本發(fā)明所主張的范圍,本發(fā)明的權(quán)利范圍應(yīng)以權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法,其特征在于,所述借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法包括利用圖像信號(hào)處理管線對(duì)至少一個(gè)源幀圖像的至少一個(gè)部分的源數(shù)據(jù)執(zhí)行預(yù)處理或者對(duì)至少一個(gè)中間幀圖像的至少一個(gè)部分的中間數(shù)據(jù)執(zhí)行預(yù)處理,其中所述預(yù)處理包括將所述源數(shù)據(jù)與所述中間數(shù)據(jù)儲(chǔ)存于存儲(chǔ)器;以及利用圖形處理單元從所述存儲(chǔ)器獲取數(shù)據(jù)并且對(duì)已獲取數(shù)據(jù)執(zhí)行特定處理以產(chǎn)生已處理數(shù)據(jù),其中所述數(shù)據(jù)包括所述源數(shù)據(jù)與所述中間數(shù)據(jù),所述圖形處理單元將所述已處理數(shù)據(jù)儲(chǔ)存于所述存儲(chǔ)器;其中所述已獲取數(shù)據(jù)與所述已處理數(shù)據(jù)中的至少一個(gè)遵從特定數(shù)據(jù)結(jié)構(gòu)。
2.根據(jù)權(quán)利要求1所述的借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法,其特征在于, 包括所述圖像信號(hào)處理管線與所述圖形處理單元的裝置進(jìn)一步包括中央處理單元,所述中央處理單元用于控制所述裝置的操作,并且所述中央處理單元進(jìn)一步用于產(chǎn)生所述源數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法,其特征在于, 所述借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法進(jìn)一步包括利用所述圖像信號(hào)處理管線以從所述存儲(chǔ)器獲取所述已處理數(shù)據(jù)并且對(duì)所述已處理數(shù)據(jù)執(zhí)行圖像信號(hào)處理主管線處理。
4.根據(jù)權(quán)利要求1所述的借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法,其特征在于, 包括所述圖像信號(hào)處理管線與所述圖形處理單元的裝置進(jìn)一步包括顯示系統(tǒng),并且所述借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法進(jìn)一步包括利用所述顯示系統(tǒng)從所述存儲(chǔ)器獲取所述已處理數(shù)據(jù)以顯示所述已處理數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法,其特征在于, 所述至少一個(gè)源幀圖像的所述至少一個(gè)部分包括所述至少一個(gè)源幀圖像的整體圖像,并且所述圖像信號(hào)處理管線以整體圖像為單位對(duì)所述源數(shù)據(jù)執(zhí)行所述預(yù)處理;并且所述至少一個(gè)中間幀圖像的至少一個(gè)部分包括所述至少一個(gè)中間幀圖像的整體圖像,并且所述圖形處理單元以整體圖像為單位對(duì)所述已獲取數(shù)據(jù)執(zhí)行所述特定處理。
6.根據(jù)權(quán)利要求1所述的借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法,其特征在于, 所述至少一個(gè)源幀圖像的所述至少一個(gè)部分包括所述至少一個(gè)源幀圖像的局部圖像,并且所述圖像信號(hào)處理管線以局部圖像為單位對(duì)所述源數(shù)據(jù)執(zhí)行所述預(yù)處理;并且所述至少一個(gè)中間幀圖像的至少一個(gè)部分包括所述至少一個(gè)中間幀圖像的局部圖像,并且所述圖形處理單元以局部圖像為單位對(duì)所述已獲取數(shù)據(jù)執(zhí)行所述特定處理。
7.根據(jù)權(quán)利要求1所述的借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法,其特征在于, 包括所述圖像信號(hào)處理管線與所述圖形處理單元的裝置的多個(gè)軟件層的驅(qū)動(dòng)器層包括圖像信號(hào)處理驅(qū)動(dòng)器,用于控制所述圖像信號(hào)處理管線的硬件電路;以及圖形驅(qū)動(dòng)器,用于控制所述圖形處理單元的硬件電路;其中所述圖像信號(hào)處理驅(qū)動(dòng)器與所述圖形驅(qū)動(dòng)器在所述多個(gè)軟件層的框架層中的圖像信號(hào)處理應(yīng)用框架的控制下運(yùn)行。
8.根據(jù)權(quán)利要求7所述的借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法,其特征在于, 所述軟件層進(jìn)一步包括所述框架層與所述驅(qū)動(dòng)器層之間的程序庫層,并且所述程序庫層包括兩個(gè)圖形程序庫,所述兩個(gè)圖形程序庫分別相應(yīng)于所述框架層中的所述圖像信號(hào)處理應(yīng)用框架與顯示軟件框架;并且所述驅(qū)動(dòng)器層進(jìn)一步包括圖形程序庫服務(wù),用于為所述兩個(gè)圖形程序庫提供來自所述圖形驅(qū)動(dòng)器的服務(wù);其中所述圖像信號(hào)處理驅(qū)動(dòng)器進(jìn)一步用于與所述圖形程序庫服務(wù)通信以在所述圖像信號(hào)處理驅(qū)動(dòng)器與所述圖形驅(qū)動(dòng)器之間同步;并且所述圖形驅(qū)動(dòng)器進(jìn)一步在所述顯示軟件框架的控制下運(yùn)行。
9.根據(jù)權(quán)利要求1所述的借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法,其特征在于, 所述特定數(shù)據(jù)結(jié)構(gòu)包括顏色格式屬性、運(yùn)動(dòng)向量信息或特性點(diǎn)信息。
10.一種用于執(zhí)行圖像信號(hào)處理的裝置,其特征在于,所述用于執(zhí)行圖像信號(hào)處理的裝置包括圖像信號(hào)處理管線,用于對(duì)至少一個(gè)源幀圖像的至少一個(gè)部分的源數(shù)據(jù)執(zhí)行預(yù)處理或者對(duì)至少一個(gè)中間幀圖像的至少一個(gè)部分的中間數(shù)據(jù)執(zhí)行預(yù)處理,其中所述預(yù)處理包括將所述源數(shù)據(jù)與所述中間數(shù)據(jù)儲(chǔ)存于所述裝置的存儲(chǔ)器;以及圖形處理單元,用于從所述存儲(chǔ)器獲取數(shù)據(jù)并且對(duì)已獲取數(shù)據(jù)執(zhí)行特定處理以產(chǎn)生已處理數(shù)據(jù),其中所述數(shù)據(jù)包括所述源數(shù)據(jù)與所述中間數(shù)據(jù),所述圖形處理單元將所述已處理數(shù)據(jù)儲(chǔ)存于所述存儲(chǔ)器;其中所述已獲取數(shù)據(jù)與所述已處理數(shù)據(jù)中的至少一個(gè)遵從特定數(shù)據(jù)結(jié)構(gòu)。
11.根據(jù)權(quán)利要求10所述的用于執(zhí)行圖像信號(hào)處理的裝置,其特征在于,從位于所述裝置之內(nèi)或位于所述裝置外部的圖像傳感器獲得所述源數(shù)據(jù)。
12.根據(jù)權(quán)利要求10所述的用于執(zhí)行圖像信號(hào)處理的裝置,其特征在于,所述用于執(zhí)行圖像信號(hào)處理的裝置進(jìn)一步包括中央處理單元,用于控制所述裝置的操作,其中所述中央處理單元進(jìn)一步用于產(chǎn)生所述源數(shù)據(jù)。
13.根據(jù)權(quán)利要求10所述的用于執(zhí)行圖像信號(hào)處理的裝置,其特征在于,所述圖像信號(hào)處理管線進(jìn)一步用于從所述存儲(chǔ)器獲取所述已處理數(shù)據(jù)并且對(duì)所述已處理數(shù)據(jù)執(zhí)行圖像信號(hào)處理主管線處理。
14.根據(jù)權(quán)利要求10所述的用于執(zhí)行圖像信號(hào)處理的裝置,其特征在于,所述用于執(zhí)行圖像信號(hào)處理的裝置進(jìn)一步包括顯示系統(tǒng),用于從所述存儲(chǔ)器獲取所述已處理數(shù)據(jù)以顯示所述已處理數(shù)據(jù)。
15.根據(jù)權(quán)利要求10所述的用于執(zhí)行圖像信號(hào)處理的裝置,其特征在于,所述至少一個(gè)源幀圖像的所述至少一個(gè)部分包括所述至少一個(gè)源幀圖像的整體圖像,并且所述圖像信號(hào)處理管線以整體圖像為單位對(duì)所述源數(shù)據(jù)執(zhí)行所述預(yù)處理;并且所述至少一個(gè)中間幀圖像的至少一個(gè)部分包括所述至少一個(gè)中間幀圖像的整體圖像,并且所述圖形處理單元以整體圖像為單位對(duì)所述已獲取數(shù)據(jù)執(zhí)行所述特定處理。
16.根據(jù)權(quán)利要求10所述的用于執(zhí)行圖像信號(hào)處理的裝置,其特征在于,所述至少一個(gè)源幀圖像的所述至少一個(gè)部分包括所述至少一個(gè)源幀圖像的局部圖像,并且所述圖像信號(hào)處理管線以局部圖像為單位對(duì)所述源數(shù)據(jù)執(zhí)行所述預(yù)處理;并且所述至少一個(gè)中間幀圖像的至少一個(gè)部分包括所述至少一個(gè)中間幀圖像的局部圖像,并且所述圖形處理單元以局部圖像為單位對(duì)所述已獲取數(shù)據(jù)執(zhí)行所述特定處理。
17.根據(jù)權(quán)利要求10所述的用于執(zhí)行圖像信號(hào)處理的裝置,其特征在于,所述裝置的多個(gè)軟件層的一驅(qū)動(dòng)器層包括圖像信號(hào)處理驅(qū)動(dòng)器,用于控制所述圖像信號(hào)處理管線的硬件電路;以及圖形驅(qū)動(dòng)器,用于控制所述圖形處理單元的硬件電路;其中所述圖像信號(hào)處理驅(qū)動(dòng)器與所述圖形驅(qū)動(dòng)器在所述多個(gè)軟件層的一框架層中的一圖像信號(hào)處理應(yīng)用框架的控制下運(yùn)行。
18.根據(jù)權(quán)利要求10所述的用于執(zhí)行圖像信號(hào)處理的裝置,其特征在于,所述軟件層進(jìn)一步包括所述框架層與所述驅(qū)動(dòng)器層之間的程序庫層,并且所述程序庫層包括兩個(gè)圖形程序庫,所述兩個(gè)圖形程序庫分別相應(yīng)于所述框架層中的所述圖像信號(hào)處理應(yīng)用框架與顯示軟件框架;并且所述驅(qū)動(dòng)器層進(jìn)一步包括圖形程序庫服務(wù),用于為所述兩個(gè)圖形程序庫提供來自所述圖形驅(qū)動(dòng)器的服務(wù);其中所述圖像信號(hào)處理驅(qū)動(dòng)器進(jìn)一步用于與所述圖形程序庫服務(wù)通信以在所述圖像信號(hào)處理驅(qū)動(dòng)器與所述圖形驅(qū)動(dòng)器之間同步;并且所述圖形驅(qū)動(dòng)器進(jìn)一步在所述顯示軟件框架的控制下運(yùn)行。
19.根據(jù)權(quán)利要求10所述的用于執(zhí)行圖像信號(hào)處理的裝置,其特征在于,所述特定數(shù)據(jù)結(jié)構(gòu)包括顏色格式屬性、運(yùn)動(dòng)向量信息或特性點(diǎn)信息。
全文摘要
一種借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法及用于執(zhí)行圖像信號(hào)處理的裝置。其中借助圖形處理單元執(zhí)行圖像信號(hào)處理的方法包括利用圖像信號(hào)處理管線對(duì)至少一個(gè)源幀圖像的至少一個(gè)部分的源數(shù)據(jù)執(zhí)行預(yù)處理或者對(duì)至少一個(gè)中間幀圖像的至少一個(gè)部分的中間數(shù)據(jù)執(zhí)行預(yù)處理,其中預(yù)處理包括將源數(shù)據(jù)與中間數(shù)據(jù)儲(chǔ)存于存儲(chǔ)器;以及利用圖形處理單元從存儲(chǔ)器獲取數(shù)據(jù)并且對(duì)已獲取數(shù)據(jù)執(zhí)行特定處理以產(chǎn)生已處理數(shù)據(jù),其中數(shù)據(jù)包括源數(shù)據(jù)與中間數(shù)據(jù),圖形處理單元將已處理數(shù)據(jù)儲(chǔ)存于存儲(chǔ)器;其中已獲取數(shù)據(jù)與已處理數(shù)據(jù)中的至少一個(gè)遵從特定數(shù)據(jù)結(jié)構(gòu)。本發(fā)明的效果之一在于可實(shí)施可攜式電子裝置中ISP系統(tǒng)的圖像處理特性而不產(chǎn)生嚴(yán)重的副作用。
文檔編號(hào)H04N5/232GK102209191SQ20101024943
公開日2011年10月5日 申請(qǐng)日期2010年8月10日 優(yōu)先權(quán)日2010年3月30日
發(fā)明者張譽(yù)鐘, 曹友銘, 李元仲 申請(qǐng)人:聯(lián)發(fā)科技股份有限公司