專利名稱:圖像處理設(shè)備和圖像處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于實(shí)現(xiàn)視頻圖像處理的圖像處理設(shè)備,尤其涉及一種圖像處理功能的實(shí)現(xiàn),該功能與用戶需要及他們所采用的應(yīng)用程序相符。
背景技術(shù):
近來,隨著先進(jìn)數(shù)字技術(shù)和網(wǎng)絡(luò)基礎(chǔ)設(shè)施的發(fā)展,以按請求或?qū)崟r(shí)瀏覽視頻內(nèi)容的視頻分布系統(tǒng)的有效性和使用已經(jīng)廣為傳播,上述視頻分布系統(tǒng)允許諸如便攜式終端和個(gè)人計(jì)算機(jī)等各種瀏覽器。該系統(tǒng)是這樣設(shè)計(jì)的,即一個(gè)服務(wù)器可以同時(shí)提供多個(gè)視頻圖像,并能夠依據(jù)網(wǎng)絡(luò)上遇到的情況,改變視頻內(nèi)容的分辨率和比特率或者改變一個(gè)終端的規(guī)約,并且能夠由此確保提供出連續(xù)、平穩(wěn)地視頻顯示。
然而,由于用戶需求的緣故,視頻分布系統(tǒng)的使用范圍已被拓寬,它們覆蓋了所有的從某一“僅僅是分布視頻”的系統(tǒng)延伸至某一“調(diào)整比特率或轉(zhuǎn)換格式以便于使用中繼節(jié)點(diǎn)來將視頻分布到另一網(wǎng)絡(luò)”,或延伸至某一“實(shí)現(xiàn)與圖像識(shí)別設(shè)備協(xié)同工作的高水平視頻監(jiān)視”的所有系統(tǒng)。因此,期望有這樣一種結(jié)構(gòu)的系統(tǒng),即它可使功能被容易地?cái)U(kuò)展或定制,以便于使一個(gè)能迅速應(yīng)對及滿足需求的系統(tǒng)能夠在短時(shí)期內(nèi)發(fā)展起來。
作為一種對策,建議使用一種分布式對象技術(shù),該技術(shù)可提供被作為獨(dú)立對象的格式轉(zhuǎn)換器、分辨率轉(zhuǎn)換器、圖像識(shí)別單元、由所有對象共享的輸入/輸出接口和為了提高對象再循環(huán)所定義和管理的狀態(tài)切換。該技術(shù)的典型實(shí)例是由OMG(對象管理組)和COM(部件對象模型)所設(shè)計(jì)的且由微軟公司所開發(fā)的CORBA(公共對象請求中介結(jié)構(gòu))。
CORBA是一種機(jī)制,借此當(dāng)依據(jù)CORBA標(biāo)準(zhǔn)所創(chuàng)建的對象能夠相互協(xié)作以通過網(wǎng)絡(luò)而提供一個(gè)單一功能時(shí),在一個(gè)分布式環(huán)境中由對象實(shí)現(xiàn)了數(shù)據(jù)的交換,即使在遠(yuǎn)程控制環(huán)境中。COM基本上還實(shí)現(xiàn)了與CORBA相同的功能;另外,為了提高開發(fā)效率,COM自動(dòng)的抽取那些能被耦合到其它對象上的對象、提取所選對象并且順序鏈接這些對象以自動(dòng)生成一個(gè)軟件功能。例如,當(dāng)用于從文件中讀取壓縮視頻的對象被選擇時(shí),可自動(dòng)的提取用于對該壓縮視頻進(jìn)行解碼的對象以及用于將已解碼的視頻顯示在監(jiān)控器上的對象,由此,有利于自動(dòng)生成具有視頻重放功能的軟件。
在JP-A-2000-56958中公開了一種用于自動(dòng)生成具有視頻處理功能的軟件的方法。如圖27所示,采用該軟件的自動(dòng)生成方法的設(shè)備包括一個(gè)存儲(chǔ)設(shè)備93,用于存儲(chǔ)多個(gè)軟件組件,這些組件具有被用于對圖像數(shù)據(jù)進(jìn)行處理的輸入/輸出擴(kuò)增(augment);以及一個(gè)自動(dòng)生成器90,用于根據(jù)借此可編寫出處理程序的程序框圖而從存儲(chǔ)設(shè)備93當(dāng)中提取軟件組件,并自動(dòng)生成圖像處理軟件。該自動(dòng)生成器90包括一個(gè)耦合選擇判斷單元91和一個(gè)耦合單元92。上述耦合選擇判斷單元91用于確定首先將被執(zhí)行的軟件組件的自變量與其次將被執(zhí)行的軟件組件的自變量之間的輸入/輸出關(guān)系,并且當(dāng)首先將執(zhí)行的軟件組件自變量表示輸出時(shí),而其次將執(zhí)行的軟件組件自變量表示輸入時(shí),耦合選擇判斷單元91還確定這些軟件組件是耦合選擇。上述耦合單元92對耦合選擇判斷單元91所確定的作為耦合選擇的軟件組件的自變量進(jìn)行檢查,并確定將要處理的圖像數(shù)據(jù)類型是否匹配,并且數(shù)據(jù)類型匹配時(shí),耦合軟件組件的自變量。
圖28給出了用于檢查半導(dǎo)體故障的圖像處理軟件組件的耦合關(guān)系圖。圖像處理組件,即調(diào)整、二元化、屏蔽處理組件和擴(kuò)大/收縮組件、特征值抽取組件和判定組件被自動(dòng)耦合在一起。
當(dāng)為視頻分布系統(tǒng)的圖像處理設(shè)備提供了這種圖像處理軟件的自動(dòng)生成功能時(shí),并且當(dāng)將一個(gè)將要實(shí)現(xiàn)的功能被寫入該程序框圖中以任意組合視頻格式轉(zhuǎn)換、分辨率轉(zhuǎn)換和圖像識(shí)別軟件時(shí),功能會(huì)與用戶的需要及他們所采用的應(yīng)用程序軟件相符。
然而,當(dāng)使用傳統(tǒng)方法來自動(dòng)生成圖像處理軟件,該圖像處理軟件構(gòu)成了用于處理諸如分布式視頻圖像的圖像處理設(shè)備時(shí),將會(huì)出現(xiàn)下列問題。
(問題1)即使對于相同部分而言,上述部分的工作情況也會(huì)有所不同,這取決于將要實(shí)現(xiàn)的圖像處理設(shè)備的功能。例如,如圖23A所示,當(dāng)為重放實(shí)況視頻而在視頻重放節(jié)點(diǎn)實(shí)時(shí)改變一分辨率時(shí),那么就要求當(dāng)認(rèn)為實(shí)時(shí)很重要時(shí),以最佳努力方式通過削減幀來改變分辨率。另一方面,如圖23B所示,當(dāng)通過累計(jì)文件中的照相機(jī)視頻并改變長寬率和分辨率來按需求提供一種分辨率時(shí),那么就要求當(dāng)認(rèn)為保持內(nèi)容品質(zhì)很重要時(shí),在不削減幀的情況下改變分辨率。
另外,對于該視頻分布系統(tǒng)中的圖像處理系統(tǒng)而言,為了將被執(zhí)行的每一個(gè)功能而需要一種詳細(xì)設(shè)計(jì),該詳細(xì)設(shè)計(jì)正是當(dāng)考慮到每一個(gè)部分處理的延遲及波動(dòng)所準(zhǔn)備的。在圖23A的示例當(dāng)中,必須考慮到將給定大小的緩沖器設(shè)置在視頻接收組件與分辨率變化組件之間,以便于能承受網(wǎng)絡(luò)頻帶上的波動(dòng)。該緩沖器的大小根據(jù)網(wǎng)絡(luò)環(huán)境也會(huì)有所變化。
并非單個(gè)組件所固有的這些問題是由于由圖像處理設(shè)備所執(zhí)行的功能而產(chǎn)生的,并且對于這些功能中的每一個(gè)而言,必須定義一個(gè)數(shù)據(jù)交換方法,例如設(shè)置在組件間的緩沖器容量或削減幀的需要等方法,而且必須為該圖像處理設(shè)備提供一種機(jī)制,其能夠根據(jù)該定義來被控制。
(問題2)假設(shè)通過改變分辨率或格式來為多個(gè)用戶提供多個(gè)視頻內(nèi)容。根據(jù)傳統(tǒng)技術(shù),如圖24所示,與用戶終端1相符的圖像處理設(shè)備改變了由照相機(jī)所輸入的視頻圖像的分辨率或格式,并為該用戶終端1提供所獲取的圖像,或是與用戶終端2相符的圖像處理設(shè)備改變了改變由照相機(jī)所輸入的視頻圖像的分辨率或格式,并向用戶終端2提供所獲取的圖像。然而,由于對于分辨率或格式的轉(zhuǎn)換而言需要大量的計(jì)算,因而必須通過以下通用處理來優(yōu)化該處理,這些處理由圖24中的X部分(視頻輸入處理)、Y部分(分辨率轉(zhuǎn)換處理)和Z部分(格式轉(zhuǎn)換處理)所表示。
(問題3)另外,由于視頻處理功能是一種諸如畫面同步或視頻/音頻多路傳輸?shù)囊惑w化處理、一種諸如反向多路傳輸?shù)母綦x處理和需要一種用于改變組件參數(shù)的處理。此外,為了優(yōu)化這些處理,該圖像處理設(shè)備必須包括一個(gè)控制/管理功能。
(問題4)另外,當(dāng)該視頻重放功能是由相同的組件組構(gòu)成,沿著某一時(shí)間軸連續(xù)重放視頻圖像而同時(shí)以最佳努力方式削減幀,或從而在不削減幀的情況下重放視頻圖像的每一幀時(shí),提供了可由用戶來選擇的一速率(rate)重放模式和一幀饋送重放模式。因此,該圖像處理設(shè)備必須包括一種用于根據(jù)用戶請求來切換重放模式的機(jī)制。
(問題5)另外,當(dāng)改變了一重放模式,同時(shí)為了構(gòu)造該重放功能,使用了大量組件時(shí),或需要一段擴(kuò)充時(shí)間來改變模式,或從用戶觀點(diǎn)來說需改變幀被重放的順序。
在圖25A至25C中示出了這種現(xiàn)象的一個(gè)具體實(shí)例。在圖25A中,在正方向上將幀從磁盤讀入一緩沖器,并且執(zhí)行幀饋送重放。幀1和2已從該磁盤讀出,且已經(jīng)從該緩沖器輸出,而此時(shí)幀3和4仍舊保留在其中。如圖25B所示,假設(shè)一個(gè)用戶在第三幀提出一個(gè)倒轉(zhuǎn)幀饋送重放的請求。基于這個(gè)請求,在第8幀之后從該磁盤讀取第7幀。然而,由于第7幀是在第4幀、…及第8幀之后被從該緩沖器中輸出的,因此延遲了一段時(shí)間才變化為倒轉(zhuǎn)幀饋送重放,該時(shí)間長度與緩沖器中所保留的幀數(shù)量的相等。
此時(shí),當(dāng)如圖25C所示,即使當(dāng)一條命令被改變時(shí),為清除該緩沖器提供了一種機(jī)制,用戶仍然懷疑該命令是否已被接受,這是因?yàn)樵诎创隧樞蚍答伒?、2和3幀之后,會(huì)按7、6和5的順序?qū)M(jìn)行倒轉(zhuǎn)饋送,而不是按3、2和1的順序進(jìn)行,這正是用戶所期望的。
(問題6)根據(jù)用于自動(dòng)生成圖像處理軟件的傳統(tǒng)方法,具有輸入/輸出變元的軟件組件(該組件輸入處理所需的數(shù)據(jù)并輸出處理的結(jié)果)被一起使用。因此,可執(zhí)行“圖像識(shí)別處理”的“用于接收未壓縮圖像并輸出識(shí)別結(jié)果”的組件不能被采用以用于圖26B中的功能(因?yàn)橛伞皥D像識(shí)別”軟件組件所輸出的數(shù)據(jù)類型與輸入到“圖像壓縮”軟件組件中的數(shù)據(jù)類型不匹配),與此同時(shí)它也不能被采用以用于如圖26A所示的功能(因?yàn)橛伞皥D像識(shí)別”軟件組件輸出的數(shù)據(jù)類型,與輸入到該“識(shí)別結(jié)果記錄”軟件組件中的數(shù)據(jù)類型相匹配)。因此,從而使這些組件能被廣泛使用,且需要一種被所有軟件組件一起使用的適當(dāng)方法。
發(fā)明內(nèi)容
為了解決這些問題,本發(fā)明的一個(gè)目的就是提供一種圖像處理設(shè)備,該設(shè)備可容易地實(shí)現(xiàn)圖像處理功能,該功能與用戶的需要及他們所采用的應(yīng)用程序相符。
為了完成這個(gè)目的,本發(fā)明提供一種圖像處理設(shè)備,用于根據(jù)任務(wù)情況信息來執(zhí)行任務(wù),所述設(shè)備包括任務(wù)存儲(chǔ)裝置,用于存儲(chǔ)指出由任務(wù)所用的組件和組件的耦合信息的任務(wù)情況信息、指出組件特征的組件信息和存儲(chǔ)每個(gè)組件的組件庫;任務(wù)分析和管理裝置,用于分析任務(wù)情況信息,確定為任務(wù)所用的組件和為耦合組件所用的軟件總線,以及管理任務(wù)的執(zhí)行;組件管理裝置,用于生成或刪除那些如由任務(wù)管理器所確定的處理組件,從而控制由該處理組件所執(zhí)行的操作;和軟件總線管理裝置,用于生成或刪除那些如由任務(wù)管理器所確定的軟件總線,并且控制經(jīng)由該軟件總線的數(shù)據(jù)交換。
根據(jù)本發(fā)明的圖像處理設(shè)備,提供了軟件總線管理器以控制處理組件的數(shù)據(jù)交換(與是否削減幀有關(guān)的信息)。因此,僅需重寫用于定義該數(shù)據(jù)交換方法的任務(wù)情況,使得可提供一種圖像處理設(shè)備,該設(shè)備具有一個(gè)與用戶的需要以及用戶所使用的應(yīng)用程序相符的功能。
本發(fā)明還提供一種用于根據(jù)任務(wù)情況信息來處理圖像的方法,該方法包括下列步驟任務(wù)情況的讀取步驟,用于根據(jù)任務(wù)信息、內(nèi)容信息以及輸出終端設(shè)備的輸出信息來選擇合適的任務(wù)情況信息,并且用于讀取所選的任務(wù)情況信息;軟件生成步驟,用于根據(jù)包含于任務(wù)情況信息中的組件耦合信息來生成軟件總線;組件讀取步驟,用于基于該任務(wù)情況信息和該組件信息,從存儲(chǔ)于組件庫中的組件中讀取在該任務(wù)情況信息中所指定的組件;組件運(yùn)行步驟,用于設(shè)置該讀取組件以按照在任務(wù)情況信息中所指出的順序連續(xù)地運(yùn)行;以及軟件總線數(shù)據(jù)控制步驟,用于控制通過該軟件總線內(nèi)的數(shù)據(jù),以便于由運(yùn)行組件處理內(nèi)容所產(chǎn)生的輸出數(shù)據(jù)被用作下一個(gè)組件的輸入數(shù)據(jù)。
圖1示出了根據(jù)本發(fā)明第一實(shí)施例的圖像處理設(shè)備的框圖。
圖2A、2B、2C示出了根據(jù)第一實(shí)施例的單個(gè)圖像處理單元的任務(wù)圖。
圖3示出了根據(jù)第一實(shí)施例的組件結(jié)構(gòu)圖。
圖4示出了根據(jù)第一實(shí)施例所執(zhí)行的組件控制過程以及狀態(tài)轉(zhuǎn)換圖。
圖5示出了根據(jù)第一實(shí)施例的視頻軟件總線管理器的框圖。
圖6示出了根據(jù)第一實(shí)施例的共享存儲(chǔ)器的數(shù)據(jù)結(jié)構(gòu)圖表。
圖7示出了根據(jù)第一實(shí)施例的用于訪問管理共享存儲(chǔ)器的詳細(xì)說明圖。
圖8A示出了根據(jù)第一實(shí)施例的任務(wù)情況信息格式圖以及圖8B示出根據(jù)第一實(shí)施例的組件信息格式圖。
圖9示出了根據(jù)第一實(shí)施例的用于解釋說明在通常情況下使用組件的圖解。
圖10示出了根據(jù)第一實(shí)施例的任務(wù)管理結(jié)構(gòu)圖。
圖11示出了根據(jù)第一實(shí)施例的任務(wù)管理器的管理圖表。
圖12示出了根據(jù)本發(fā)明第二實(shí)施例的由圖像處理設(shè)備所執(zhí)行的路徑一體化處理圖。
圖13示出了根據(jù)第二實(shí)施例的包含有路徑一體化處理的共享組件處理圖。
圖14示出了根據(jù)第二實(shí)施例的路徑一體化處理流程圖。
圖15示出了根據(jù)第二實(shí)施例的路徑劃分處理圖。
圖16示出了根據(jù)第二實(shí)施例的包括有路徑劃分處理的共享組件處理。
圖17A和17B示出了根據(jù)第二實(shí)施例的路徑劃分處理流程圖。
圖18A、18B以及18C示出了根據(jù)第二實(shí)施例的參數(shù)改變處理圖。
圖19示出了根據(jù)第二實(shí)施例的可執(zhí)行參數(shù)改變處理的任務(wù)管理器結(jié)構(gòu)圖。
圖20示出了根據(jù)根發(fā)明第三實(shí)施例的任務(wù)管理器結(jié)構(gòu)圖。
圖21示出了根據(jù)第三實(shí)施例的由一圖像處理設(shè)備所執(zhí)行的重放處理的框圖。
圖22示出了根據(jù)第三實(shí)施例的由圖象處理設(shè)備所執(zhí)行的重放處理的框圖。
圖23A、23B示出了用于解釋說明由傳統(tǒng)圖像處理設(shè)備執(zhí)行視頻分布時(shí)所存在的問題的框圖。
圖24示出了用于解釋說明傳統(tǒng)圖像處理設(shè)備所遇到的處理效率問題的框圖。
圖25A、25B和25C示出了用于解釋說明傳統(tǒng)圖像處理設(shè)備的重放系統(tǒng)所存在的問題的框圖。
圖26A、26B示出了用于解釋說明兼?zhèn)溆袀鹘y(tǒng)圖像處理設(shè)備的軟件組件所存在的問題的框圖。
圖27給出了傳統(tǒng)自動(dòng)圖像處理軟件生成設(shè)備的結(jié)構(gòu)框圖。
圖28給出了由傳統(tǒng)自動(dòng)圖像處理軟件生成設(shè)備所生成的軟件組件的框圖。
在上述圖中,標(biāo)記數(shù)字10是指圖像處理設(shè)備;11是指任務(wù)管理器(任務(wù)分析與管理裝置);12是指組件管理器(組件管理裝置);13是指視頻軟件總線管理(軟件總線管理裝置);14是指任務(wù)存儲(chǔ)器(任務(wù)存儲(chǔ)裝置);15是指任務(wù)情況信息;16是指組件信息;17是指組件庫;18是指任務(wù)輸入裝置;21是指數(shù)據(jù)存儲(chǔ)區(qū)域;22是指共享存儲(chǔ)器;23是指訪問管理器;30是指任務(wù)生成組件判斷單元(任務(wù)生成組件判斷裝置);31是指任務(wù)共享判斷單元(任務(wù)共享判斷裝置);32是指當(dāng)前所操作的任務(wù)信息;41和42每一個(gè)都是指一個(gè)照相機(jī);43是指麥克風(fēng);44、45和46每一個(gè)都是指一個(gè)終端。50是指組件共享判斷單元(組件共享判定裝置);51是指參數(shù)變換單元(參數(shù)變換裝置);60是指組件停止和繼續(xù)執(zhí)行單元(組件停止和繼續(xù)執(zhí)行裝置);61是指視頻軟件總線模式變換單元(視頻軟件總線模式變換裝置);90是指自動(dòng)生成設(shè)備;91是指耦合選擇判斷單元;92是指耦合單元;以及93是指存儲(chǔ)器存儲(chǔ)位置。
具體實(shí)施例方式
(第一實(shí)施例)現(xiàn)在對根據(jù)本發(fā)明第一實(shí)施例的圖像處理設(shè)備的基本配置和操作說明以及該處理的常見使用方式進(jìn)行詳細(xì)的說明。
對于該圖像處設(shè)備所使用的內(nèi)容而言,建立了用于識(shí)別該內(nèi)容的內(nèi)容標(biāo)識(shí)符,并且建立了為該內(nèi)容所執(zhí)行的圖像處理(任務(wù))、用于識(shí)別任務(wù)的任務(wù)標(biāo)識(shí)符。
如圖1所示,該圖像處理設(shè)備包括任務(wù)存儲(chǔ)器14。在此實(shí)施例中,對于每一個(gè)任務(wù)而言,在權(quán)利要求當(dāng)中被提作為“任務(wù)存儲(chǔ)裝置”的任務(wù)存儲(chǔ)器14中管理情況信息15,該情況信息指出了視頻處理組件(軟件組件),該組件包括任務(wù)和用于耦合該處理組件的信息以及組件庫17,該組件庫中存儲(chǔ)了每一個(gè)視頻處理組件實(shí)體。
通過耦合組件而執(zhí)行的功能、組件進(jìn)行耦合的順序和利用與該組件相耦合的緩沖器(軟件總線)來交換數(shù)據(jù)的方法,例如,關(guān)于幀是否應(yīng)該被削減的信息,被錄入以作為任務(wù)情況信息15。在圖8A中示出了任務(wù)情況信息的實(shí)例。
組件的功能、其內(nèi)存儲(chǔ)有每一組件實(shí)體的組件庫17名稱、組件的輸入和輸入數(shù)據(jù)和及組件的參數(shù)信息,均作為組件信息16被錄入。在圖8B中示出了組件信息的實(shí)例。
該圖像處理設(shè)備10進(jìn)一步包括任務(wù)輸入單元18,用于接收用于將被處理的內(nèi)容的內(nèi)容標(biāo)識(shí)符以及用于該內(nèi)容的任務(wù)的任務(wù)標(biāo)識(shí)符;任務(wù)管理器11,用于分析由輸入任務(wù)標(biāo)識(shí)符所標(biāo)明的任務(wù)情況信息15,從而確定需要哪些組件和軟件總線來執(zhí)行所標(biāo)明的任務(wù),并且用來管理該任務(wù);組件管理器12,用于根據(jù)該任務(wù)管理器11的判定來生成或刪除組件,并且用來控制該組件;以及視頻軟件總線管理器13,用于根據(jù)該任務(wù)管理器11的判定來生成或刪除該軟件總線,并且控制經(jīng)由該軟件總線的數(shù)據(jù)交換。
在權(quán)利要求當(dāng)中,該任務(wù)管理器作為“任務(wù)分析與管理裝置”被提到,該組件管理器作為“組件管理裝置”被提到,并且該視頻軟件總線管理器作為“軟件總線管理裝置”被提到。
圖2A至2C示出了該任務(wù)管理器11、組件管理器12及視頻軟件總線管理器13的詳細(xì)說明圖。該任務(wù)管理器11分析任務(wù)的任務(wù)分析情況信息15(圖2A),并且確定將要使用哪些組件(圖2B)、軟件總線(圖2C)以及軟件總線數(shù)據(jù)交換方法。該組件管理器12根據(jù)任務(wù)管理器11的判斷來檢查組件信息16,確認(rèn)所使用的組件存儲(chǔ)在組件庫17中的位置,并生成相關(guān)的組件1、2和3,且控制這些組件的當(dāng)前狀態(tài)。該視頻軟件總線管理器13根據(jù)任務(wù)分析管理單元11的判斷來生成軟件總線1和2,并控制組件1、2和3進(jìn)行數(shù)據(jù)交換所使用的方法。
對于由內(nèi)容標(biāo)識(shí)符所標(biāo)明的內(nèi)容而言,該任務(wù)管理器11為任務(wù)執(zhí)行圖像處理。當(dāng)該任務(wù)已經(jīng)完成時(shí),該任務(wù)管理器11指示將組件1、2和3以及軟件總線1和2進(jìn)行刪除?;谶@種指示,該組件管理器12刪除了組件1、2和3,并且該視頻軟件總線刪除了軟件總線1和2。
如圖3所示,對于該組件而言,定義了一種數(shù)據(jù)輸入I/F(一種用于與輸入總線進(jìn)行交換數(shù)據(jù)的方法)、一種數(shù)據(jù)輸出I/F(一種用于與輸出總線進(jìn)行交換數(shù)據(jù)的方法)和用于該組件的控制過程。在如圖4所示的實(shí)例中,將該組件的控制過程定義為“BIND(啟動(dòng)軟件總線的訪問)”、“UNBIND(停止軟件總線的訪問)”、“PARAMTER CHANGE(組件的參數(shù)轉(zhuǎn)換)”和“CTRL(控制命令諸如播放、停止和暫停這樣的重放型命令,)”。當(dāng)標(biāo)明“BIND”時(shí),該組件的狀態(tài)就從IDLE狀態(tài)轉(zhuǎn)換到激活狀態(tài)(啟動(dòng)處理)。當(dāng)標(biāo)明“UNBIND”時(shí),該組件的狀態(tài)就從激活狀態(tài)轉(zhuǎn)換到IDLE狀態(tài)。另外,當(dāng)標(biāo)明“CTRL”或“PARAMETER CHANGE”時(shí),就對處于激活狀態(tài)的處理進(jìn)行初始化。按照這種方式,當(dāng)為那些由圖像處理設(shè)備所處理的視頻格式轉(zhuǎn)換、分辨率轉(zhuǎn)換及圖像識(shí)別的組件來一般地定義控制過程和伴隨的狀態(tài)切換時(shí),可以根據(jù)用戶需要或所采用的應(yīng)用程序軟件來結(jié)合任意的組件。
圖5示出了視頻軟件總線管理器13的內(nèi)部結(jié)構(gòu)圖。該視頻軟件總線管理器13包括一個(gè)軟件總線,由多個(gè)包含數(shù)據(jù)存儲(chǔ)區(qū)域21的普通存儲(chǔ)器22所組成的循環(huán)結(jié)構(gòu)和還包括訪問管理器23,用來管理公用存儲(chǔ)器22當(dāng)中的寫/讀位置,且用來提供專用控制。
圖6示例性的給出了被寫入到公用存儲(chǔ)器22中的數(shù)據(jù)結(jié)構(gòu)格式的圖表。在此表中存儲(chǔ)的是執(zhí)行圖像處理所需的所有視頻組件信息,即媒體形式(視頻/音頻)、編碼類型、媒體重要等級、媒體時(shí)間碼、媒體標(biāo)識(shí)符、最大存儲(chǔ)容量、實(shí)際數(shù)據(jù)存儲(chǔ)容量和實(shí)際數(shù)據(jù)指針。
該訪問管理器23管理產(chǎn)生軟件總線的開始/結(jié)束、每一個(gè)組件的寫/讀位置和通過單個(gè)組件和軟件總線來進(jìn)行數(shù)據(jù)交換的方法。
圖7示出由該訪問管理器23所實(shí)現(xiàn)的一種控制機(jī)制的詳細(xì)說明圖表。
根據(jù)該詳細(xì)說明,對于每一個(gè)軟件總線而言,當(dāng)可以使用多個(gè)組件來讀的時(shí)候,僅僅使用一個(gè)組件來寫,并且不允許在同一時(shí)刻對一個(gè)共享存儲(chǔ)器數(shù)據(jù)結(jié)構(gòu)進(jìn)行寫/讀。
另外,將a.FIFO/LIO讀模式,b.異步/同步寫模式,和c.異步/同步ACK模式設(shè)置為用于在組件間進(jìn)行數(shù)據(jù)交換的方法。
該a.FIFO/LIO讀模式定義了將如何讀取位于沿著軟件總線的多個(gè)數(shù)據(jù)結(jié)構(gòu),并且定義了“FIFO讀=對從最老的數(shù)據(jù)結(jié)構(gòu)開始的數(shù)據(jù)進(jìn)行傳輸”和“LIO讀=不斷傳輸最近的數(shù)據(jù)結(jié)構(gòu)”。
該b.異步/同步寫模式定義了將數(shù)據(jù)重寫到共享存儲(chǔ)器數(shù)據(jù)結(jié)構(gòu)的條件,并且定義了“異步寫=即使當(dāng)未讀取共享存儲(chǔ)器數(shù)據(jù)結(jié)構(gòu)也允許重寫”和“同步寫=禁止重寫,直到讀取共享存儲(chǔ)器數(shù)據(jù)結(jié)構(gòu)”。
該c.異步/同步ACK模式定義了當(dāng)與軟件總線相關(guān)的數(shù)據(jù)讀/寫被禁止時(shí)的一種響應(yīng)方法,并且定義了“異步ACK=立刻通知一組件禁止讀/寫”以及“同步ACK=傳輸無響應(yīng),直到允許讀/寫處理”。
如上文所述,因?yàn)榭蔀槊恳粋€(gè)組件設(shè)置具體的數(shù)據(jù)交換方法,這可由訪問管理器23來控制,因而不需要對單個(gè)組件的數(shù)據(jù)交換方法之間的差別進(jìn)行識(shí)別。
此外,因?yàn)槿蝿?wù)管理器11控制命令,因此為總線復(fù)位(初始化每一個(gè)組件的訪問點(diǎn)并利用所標(biāo)明的參數(shù)(FIFO/LIO讀、異步/同步寫或異步/同步ACK)復(fù)位總線)來重新復(fù)位總線),以及為最近的讀位置采集(獲得與共享的最近存儲(chǔ)器結(jié)構(gòu)中的存儲(chǔ)位置有關(guān)的信息,該存儲(chǔ)器結(jié)構(gòu)的數(shù)據(jù)讀取已被執(zhí)行)提出請求。
通過這種處理,該任務(wù)管理器11能夠控制每一個(gè)組件的數(shù)據(jù)交換方法。
另外,按照這種方式,設(shè)置了每一個(gè)組件的詳細(xì)數(shù)據(jù)交換方法。
用于將數(shù)據(jù)寫入到軟件總線的組件向該訪問管理器23提出了一條寫入請求,同時(shí)根據(jù)所接收到的來自訪問管理器23的通知而寫入用于指明寫位置指針的數(shù)據(jù)。用于從軟件總線讀取數(shù)據(jù)的組件接著向該訪問管理器23提出了一條讀請求,同時(shí)根據(jù)所接收到的通知來開始從訪問管理器23中讀取數(shù)據(jù),且指明讀位置指針。
由于提供了這樣結(jié)構(gòu)的視頻軟件總線管理器13,因而每一個(gè)組件能夠?qū)⒔?jīng)由組件所獲得的結(jié)果添加到輸入數(shù)據(jù)中,且能夠輸出該結(jié)果數(shù)據(jù)。由此,可以實(shí)現(xiàn)與各種需要相符的功能。
在圖8A中,對于任務(wù)情況信息而言,為組件1定義了用于與輸入總線交換數(shù)據(jù)的模式,為組件2定義了用于輸出總線和該交換數(shù)據(jù)交換模式的緩沖器的數(shù)量。當(dāng)只有組件1和2存在的情形下,或是當(dāng)組件1和2同時(shí)位于任務(wù)兩端的情形下,不再需要這些定義。
現(xiàn)將給出一種可允許多個(gè)任務(wù)共同使用通用組件的方法的一例子。
圖9A和9B示出了一個(gè)示例的圖,其中,當(dāng)用于處理由照相機(jī)所獲取的視頻圖像的任務(wù)2被啟動(dòng)而同時(shí)任務(wù)1正在運(yùn)行(圖9A)時(shí),這兩個(gè)任務(wù)共享“視頻輸入”和“格式轉(zhuǎn)換”組件。此時(shí),該圖像處理設(shè)備的內(nèi)部狀態(tài)如圖9B所示。該任務(wù)1和2共同使用該“視頻輸入”和“格式轉(zhuǎn)換”組件,并且用于任務(wù)1的分辨率轉(zhuǎn)換組件和用于任務(wù)2的終端輸出組件從軟件總線2接收數(shù)據(jù),其中該軟件總線2被用于輸出由格式轉(zhuǎn)換組件所獲取的處理結(jié)果。
圖10示出用于自動(dòng)提供組件共享的任務(wù)管理器11的結(jié)構(gòu)圖。該任務(wù)管理器11包括一個(gè)任務(wù)共享判斷單元31,用于檢查當(dāng)前正被處理的任務(wù)信息32,并用于確定哪些組件可以與新近啟動(dòng)的任務(wù)共享;以及一個(gè)任務(wù)生成組件判斷單元30,用于確定將要生成的視頻軟件總線,而不是被共享的那些視頻軟件總線。
當(dāng)從該任務(wù)輸入單元18中接收到內(nèi)容標(biāo)識(shí)符和任務(wù)標(biāo)識(shí)符時(shí),該任務(wù)共享判斷單元31檢查當(dāng)前將被處理的任務(wù)信息32,并且在當(dāng)前正在運(yùn)行的任務(wù)當(dāng)中查找一個(gè)對由輸入內(nèi)容標(biāo)識(shí)符所指定的內(nèi)容進(jìn)行處理的任務(wù)。然后,首先從制定相關(guān)任務(wù)的上游組件開始,該任務(wù)共享判斷單元31確定該組件和該參數(shù)是否相匹配,并且把那些被確認(rèn)為與參數(shù)相匹配的組件認(rèn)作是其處理可被任務(wù)共享的組件。另外,對于那些其處理不可被任務(wù)共享的組件而言,該任務(wù)生成組件判斷單元30確定將要生成哪些必要的組件和視頻軟件總線。
圖11示出了該任務(wù)管理器11的內(nèi)部數(shù)據(jù)管理結(jié)構(gòu)。該任務(wù)管理器11對存儲(chǔ)在“任務(wù)管理”區(qū)域、“組件管理”區(qū)域和“軟件總線管理”區(qū)域當(dāng)中的數(shù)據(jù)進(jìn)行管理。
在該“任務(wù)管理”區(qū)域,對當(dāng)前正在由圖像處理設(shè)備所運(yùn)行的每個(gè)任務(wù)的信息(輸入、輸入/輸出以及輸出組件(CMP)的通路)進(jìn)行管理。當(dāng)可以提供任意數(shù)量(0-N)的輸入/輸出CMP時(shí),往往需要輸入CMP和輸出CMP。
在該“組件管理”區(qū)域,對構(gòu)成該任務(wù)的輸入組件、輸入/輸出組件以及輸出組件的信息,即標(biāo)識(shí)符數(shù)字、參數(shù)、軟件總線信息和基準(zhǔn)計(jì)數(shù)器進(jìn)行管理。該軟件總線信息是用于訪問軟件總線的信息,并且該參考計(jì)數(shù)器值代表了使用該組件的任務(wù)量。
在該“軟件總線管理”區(qū)域,對由組件所使用的軟件總線信息,即參考計(jì)數(shù)器、每一組件的數(shù)據(jù)交換方法以及緩沖器數(shù)量進(jìn)行管理。該參考計(jì)數(shù)器值代表了正在訪問該軟件總線的組件數(shù)量。
在圖11中,該任務(wù)1和任務(wù)2共同使用該組件輸入CMP1。在這種情況下,將組件輸入CMP1的“CMP ID”被錄入到“任務(wù)管理”區(qū)域中的任務(wù)1的輸入CMP和任務(wù)2的輸入CMP當(dāng)中。
由于共同使用該組件輸入CMP1,因而由任務(wù)1所使用的組件輸入CMP1的軟件總線信息(OUT)及組件輸入/輸出CMP1的軟件總線信息(IN)與由任務(wù)2所使用的組件輸入/輸出CMP2的軟件總線信息(IN)是相互匹配的,并且寫入諸如用于軟件總線1的相同信息。
當(dāng)按照傳統(tǒng)的方式來共同使用該組件時(shí),可以縮減該圖像處理設(shè)備所需的計(jì)算數(shù)量。
現(xiàn)在將要對由該圖像處理設(shè)備所執(zhí)行的任務(wù)生成處理進(jìn)行描述。
1.分支位置的判定當(dāng)新近生成的任務(wù)(新任務(wù))的輸入組件已經(jīng)出現(xiàn)在該“組件管理”區(qū)域當(dāng)中時(shí),從該“任務(wù)管理”區(qū)域中抽取出具有相同輸入組件的任務(wù)(當(dāng)前運(yùn)行的任務(wù))。
然后,首先從該輸入組件開始,在相同輸入/輸出組件上的計(jì)數(shù)N(整型),在該新任務(wù)和所抽取任務(wù)之間繼續(xù)進(jìn)行計(jì)數(shù),計(jì)算當(dāng)前正在運(yùn)行的任務(wù)。這種處理執(zhí)行了多次,該次數(shù)等同于當(dāng)前正在運(yùn)行的任務(wù)數(shù)目,并且在最大值M處所獲得的點(diǎn)被認(rèn)作是新任務(wù)是從當(dāng)前任務(wù)分出來的點(diǎn)。
當(dāng)為任務(wù)、組件以及參數(shù)匹配提供相同的內(nèi)容標(biāo)識(shí)符數(shù)字時(shí),可以確認(rèn)該輸入/輸出組件是相同的。然而,這里有這樣一種情況,即使是在相同組件當(dāng)中,由組件緩沖器輸出的軟件總線信息(緩沖器數(shù)量和數(shù)據(jù)交換模式)也會(huì)不一致,這取決于任務(wù)本身。因此,也可以為這種判定附加使用這些由組件輸出的全部或部分軟件總線信息。
2.為所配置的直到分支點(diǎn)的組件進(jìn)行基準(zhǔn)計(jì)數(shù)器的更新從“組件管理”區(qū)域中提取出所配置的直到分支點(diǎn)的組件,并且增加該組件的基準(zhǔn)計(jì)數(shù)器值。
3.生成分支點(diǎn)之后的組件和軟件總線。
將分支點(diǎn)之后的組件添加到“組件管理”區(qū)域當(dāng)中,并且將與該組件相連的軟件總線添加到“軟件總線”區(qū)域當(dāng)中。接下來,生成已被添加的組件和軟件總線,并且啟動(dòng)這些組件與該軟件總線的連接。應(yīng)該注意到,將分支點(diǎn)之后的組件的基準(zhǔn)計(jì)數(shù)器設(shè)置為1。
現(xiàn)在將要對任務(wù)結(jié)束處理進(jìn)行描述。
1.判斷是否能夠刪除組件對于將要結(jié)束的任務(wù)的輸入組件、輸入/輸出組件以及輸出組件而言,減少在“組件管理”區(qū)域中基準(zhǔn)計(jì)數(shù)器值,并且將其基準(zhǔn)計(jì)數(shù)器值已經(jīng)達(dá)到0的組件確定為可刪除的組件。
2.結(jié)束與軟件總線的連接,并刪除軟件總線結(jié)束軟件與將要被刪除的組件的連接。此后,減小“軟件總線”區(qū)域中的基準(zhǔn)計(jì)數(shù)器,并且將其基準(zhǔn)計(jì)數(shù)器已經(jīng)達(dá)到0的軟件總線刪除。
3.組件終止
“組件管理”區(qū)域中其基準(zhǔn)計(jì)數(shù)器已經(jīng)達(dá)到0的組件被終止。
如上文所述,該圖像處理設(shè)備使用該任務(wù)情況信息來為每一個(gè)組件和數(shù)據(jù)交換方法規(guī)定緩沖器容量,上述任務(wù)情況信息例如是否應(yīng)該將幀削減的信息,并且更進(jìn)一步,提供了一種容許視頻軟件總線管理器控制總線連接組件的機(jī)制。因此,只需要實(shí)現(xiàn)該任務(wù)情況信息的重寫操作,使得能夠任意將那些用于視頻格式轉(zhuǎn)換、用于分辨率轉(zhuǎn)換以及用于圖像識(shí)別的組件相結(jié)合,從而自動(dòng)執(zhí)行一個(gè)期望的功能,而不必需要進(jìn)行再編譯(recompiling)。
此外,當(dāng)諸如像分辨率轉(zhuǎn)換組件或格式轉(zhuǎn)換組件等需要大量計(jì)算的組件由多個(gè)任務(wù)使用時(shí),這些可由任務(wù)共享的組件能夠被自動(dòng)共享,且處理能夠得到優(yōu)化。結(jié)果,整個(gè)計(jì)算量得到降低。
另外,因?yàn)橐曨l軟件總線管理器對沿著軟件總線的數(shù)據(jù)交換進(jìn)行管理,由此可以選擇由該組件所輸出的部分?jǐn)?shù)據(jù)并且將它們傳輸?shù)较码A段組件。因此,每一個(gè)組件能夠通過這一處理來輸出所獲得的結(jié)果以及所接收到的數(shù)據(jù)。舉例來說,在如圖26B所示的任務(wù)中,該圖像識(shí)別組件接收未壓縮/未解壓縮數(shù)據(jù),為該數(shù)據(jù)執(zhí)行圖像識(shí)別,并且輸出至軟件總線(未壓縮/未解壓縮的圖像數(shù)據(jù)+圖像識(shí)別結(jié)果)。從這些接收的數(shù)據(jù)當(dāng)中,該視頻軟件總線管理器將該未壓縮/未解壓縮數(shù)據(jù)輸出至與之相連的圖像壓縮組件中,并且將該圖像識(shí)別結(jié)果輸出至后面的視頻記錄組件。該圖像壓縮組件對該未壓縮/未解壓縮的圖像數(shù)據(jù)進(jìn)行壓縮,并且將這些結(jié)果數(shù)據(jù)傳輸至視頻記錄組件,其中已壓縮的圖像數(shù)據(jù)和圖像識(shí)別結(jié)果依次存儲(chǔ)在一個(gè)磁盤上。
由于提供了該視頻軟件總線管理器,因而可以建立一種機(jī)制,就像是一條生產(chǎn)線那樣,僅僅抽取必要的數(shù)據(jù)部分,并且將當(dāng)前獲取的結(jié)果添加到由上階段組件所獲取的結(jié)果中。
此外,根據(jù)本發(fā)明的圖像處理設(shè)備,將與哪個(gè)組件數(shù)據(jù)庫17的哪個(gè)對象功能是當(dāng)前所采用的組件有關(guān)的信息寫入到組件信息16中。因此,當(dāng)通過使用UNIX(商標(biāo))/Linux的鏈接庫或者使用Windows(商標(biāo))的動(dòng)態(tài)鏈接庫(DLL)來創(chuàng)建一個(gè)新組件庫,并且該組件信息被簡單添加時(shí),可以對新組件進(jìn)行注冊,而此時(shí)并不需要為該圖像處理設(shè)備進(jìn)行再編譯操作。
此外,當(dāng)該任務(wù)存儲(chǔ)器14周期性地讀取該任務(wù)情況信息15,同時(shí)確定是否構(gòu)成該任務(wù)的組件已被正確耦合時(shí),能夠?yàn)槟切┦止懭氲脑撊蝿?wù)情況信息檢測錯(cuò)誤。
(第二實(shí)施例)對于本發(fā)明的第二實(shí)施例而言,將詳細(xì)說明伴隨有畫面同步和視頻/音頻多路傳輸技術(shù)的通路一體化處理、伴隨有反向多路傳輸技術(shù)的通路隔離處理和一個(gè)轉(zhuǎn)換組件參數(shù)的處理。
首先,現(xiàn)將對該通路一體化處理加以描述。如圖12所示,當(dāng)由多個(gè)照相機(jī)獲取的圖像被合成且該合成圖像被輸出至某一終端時(shí),或者當(dāng)由一個(gè)照相機(jī)獲取的圖像及通過一個(gè)麥克風(fēng)接收的聲音被多路傳輸且其結(jié)果被輸出至某一終端時(shí),可以實(shí)現(xiàn)該通路一體化處理。
圖13給出了實(shí)例,在該實(shí)例中包含有用于執(zhí)行通路一體化處理的組件被共同使用。在這個(gè)實(shí)例中,將一幅由照相機(jī)41所獲取的圖像和一幅由照相機(jī)42所獲取的圖像進(jìn)行合成,并且將該合成圖像輸出至終端44(任務(wù)1);將由照相機(jī)42所獲取的圖像單獨(dú)輸出至終端45(任務(wù)2);并且將由照相機(jī)42所獲取的圖像和通過麥克風(fēng)43所接受到的聲音進(jìn)行多路傳輸,并將其結(jié)果輸出至一終端46(任務(wù)3)。該照相機(jī)42的視頻輸入組件被任務(wù)2和3共同使用,而該照相機(jī)42的視頻信號(hào)分辨率轉(zhuǎn)換組件被任務(wù)1和2共同使用。
對于用于任務(wù)情況信息和任務(wù)分析的那些由管理單元所提供的管理而言,如圖14A所示,將使通路一體化化的總體任務(wù)看作是一個(gè)父類任務(wù),該父類任務(wù)由一體化化之前的多個(gè)子類任務(wù)和一體化之后的單個(gè)子類任務(wù)構(gòu)成。
圖14B示出了當(dāng)共同使用組件時(shí),由任務(wù)管理器11所執(zhí)行的使通路一體化的處理流程圖。在這種處理中,該“當(dāng)前運(yùn)行任務(wù)”代表一個(gè)不進(jìn)行一體化通路且不包含父類任務(wù)的標(biāo)準(zhǔn)任務(wù)。
步驟1檢查所有的預(yù)一體化任務(wù),從而確定是否能夠被當(dāng)前運(yùn)行的任務(wù)共同使用。
步驟2當(dāng)至少有一個(gè)預(yù)一體化任務(wù)能被共享時(shí),步驟3執(zhí)行檢測以確定是否所有預(yù)一體化任務(wù)的組件都能被共同使用。當(dāng)判斷為YES時(shí),步驟4為了進(jìn)一步查找共享的可能性,執(zhí)行檢測以確定當(dāng)前正在運(yùn)行的任務(wù)中的那些被一體化的任務(wù)是否能被共同使用。
步驟5當(dāng)被一體化的任務(wù)能被共同使用時(shí),步驟6創(chuàng)建被一體化任務(wù)共同使用的組件。
當(dāng)在步驟3的判斷為NO時(shí),步驟8為所有預(yù)一體化任務(wù)創(chuàng)建不能被共同使用的組件。
步驟9創(chuàng)建被一體化的任務(wù)的所有組件。
當(dāng)在步驟5該被一體化的任務(wù)不能被共同使用時(shí),也要?jiǎng)?chuàng)建被一體化任務(wù)的所有組件(步驟9)。
當(dāng)在步驟2不存在能被共同使用的預(yù)一體化任務(wù)時(shí),步驟7創(chuàng)建父類任務(wù)當(dāng)中的所有組件。
步驟10最后,創(chuàng)建視頻軟件總線并對通路進(jìn)行一體化。
該任務(wù)的最終處理,按照第一實(shí)施例中說明的最終處理相同的方式來執(zhí)行其通路被一體化的任務(wù)的結(jié)束處理。
現(xiàn)將對通路隔離處理進(jìn)行詳細(xì)的描述。如圖15所示,執(zhí)行通路隔離處理,從而對多路傳輸?shù)囊曨l圖像及聲音進(jìn)行分離,并從而將所獲取的視頻圖像及聲音輸出至一個(gè)視頻設(shè)備及一個(gè)音頻設(shè)備。
圖16示出了一個(gè)實(shí)例,該實(shí)例中的組件在通路隔離及分離處理期間被共同使用。在這個(gè)實(shí)例中,一個(gè)視頻/音頻多路傳輸信號(hào)被分離成圖像和聲音,并將該圖像和聲音輸出至用戶2(任務(wù)1)的一個(gè)視頻設(shè)備和一個(gè)音頻設(shè)備;僅從該輸入信號(hào)中分離出視頻信號(hào),并將其輸出至用戶1(任務(wù)2)的一個(gè)視頻設(shè)備;以及僅從該輸入信號(hào)中分離出音頻信號(hào),并將其輸出至用戶3(任務(wù)3)的一個(gè)音頻設(shè)備。一個(gè)用于接收多路傳輸信號(hào)的視頻/音頻輸入組件,以及一個(gè)用于分離多路傳輸視頻/音頻信號(hào)的非多路傳輸組件,均被任務(wù)1、任務(wù)2和任務(wù)3共同使用,而一個(gè)用于轉(zhuǎn)換由照相機(jī)42所獲取的視頻信號(hào)分辨率的組件,被任務(wù)1和任務(wù)2共同使用。
另外,如圖17A所示,對于用于任務(wù)情況信息和任務(wù)分析的由該管理單元11所提供的管理而言,將其通路已被分離的總體任務(wù),當(dāng)作一個(gè)父類任務(wù)進(jìn)行處理,其中該父類任務(wù)由多個(gè)預(yù)分離的子類任務(wù)和后分離的子類任務(wù)構(gòu)成。
對于此實(shí)施例中的圖像處理設(shè)備而言,如圖17A所示,由預(yù)分離子類任務(wù)1和后分離子類任務(wù)2構(gòu)成的任務(wù)而言(例如,用于對視頻/音頻信號(hào)進(jìn)行反向多路傳輸且僅對該視頻信號(hào)的分辨率進(jìn)行轉(zhuǎn)換、并且用于將所獲取信號(hào)傳輸至終端的任務(wù)),并不將其看作是標(biāo)準(zhǔn)任務(wù),而是將其看作為用于分割通路的任務(wù)。
圖17B示出了由任務(wù)管理器11所執(zhí)行的用以分割通路的處理流程圖。在該處理過程中,“當(dāng)前正在運(yùn)行的任務(wù)”是預(yù)一體化或后一體化的子類任務(wù)、預(yù)分離或后分離子類任務(wù)、或是其通路一體化尚未執(zhí)行的標(biāo)準(zhǔn)任務(wù)。
步驟20執(zhí)行檢測,以確定一預(yù)分離任務(wù)是否能被當(dāng)前正在運(yùn)行的任務(wù)共同使用。
步驟21當(dāng)該預(yù)分離任務(wù)被共同使用時(shí),步驟22執(zhí)行檢測,以確定該預(yù)分離任務(wù)的所有組件是否均能被共同使用。當(dāng)在步驟22的判斷為YES時(shí),步驟23執(zhí)行檢測,以確定每一個(gè)后分離任務(wù)是否均能被當(dāng)前正在運(yùn)行的任務(wù)共同使用。
步驟24接著,為每一個(gè)后分離任務(wù)創(chuàng)建一個(gè)不能被共同使用的組件。
步驟25該處理在步驟23和24進(jìn)行重復(fù),直到檢查完所有的后分離任務(wù)。
當(dāng)在步驟22的判斷為NO時(shí),步驟26為預(yù)分離的任務(wù)生成不共同使用的組件。
步驟27為所有的后分離任務(wù)生成所有的組件。
當(dāng)在步驟21不能共同使用該預(yù)分離任務(wù)時(shí),步驟28生成父類任務(wù)當(dāng)中的所有組件。
步驟29最后,生成視頻軟件總線且將通路一體化。
按照與第一實(shí)施例所說明的最終處理相同的方式來執(zhí)行其通路隔離處理已被執(zhí)行的任務(wù)的最終處理,現(xiàn)將對用于轉(zhuǎn)換被共同使用的組件的參數(shù)的處理加以解釋說明。
這里有一個(gè)可被改變的同時(shí)能影響其它任務(wù)的參數(shù),例如用于為分辨率轉(zhuǎn)換提高圖像品質(zhì)精度的參數(shù),并且還存在一個(gè)應(yīng)該為每一個(gè)任務(wù)進(jìn)行轉(zhuǎn)換而又不影響其它任務(wù)的參數(shù),例如用于分辨率轉(zhuǎn)換的垂直-水平率參數(shù)。
在用于改變被任務(wù)共享的組件的參數(shù)的處理過程中,當(dāng)繼續(xù)共同使用該組件時(shí),將對“能夠影響另一任務(wù)的參數(shù)”的參數(shù)進(jìn)行轉(zhuǎn)換。對于“為每一個(gè)任務(wù)而改變的內(nèi)部參數(shù)”而言,必須提供一個(gè)新組件且必須重新生成一個(gè)新任務(wù)。
圖18A至18C示出了參數(shù)轉(zhuǎn)換處理的詳細(xì)圖。在圖18A中,在用于將相同視頻信號(hào)輸出到不同終端的任務(wù)1、2和3當(dāng)中,視頻輸入和分辨率轉(zhuǎn)換使用共享的組件。在分辨率轉(zhuǎn)換處理期間,將該垂直率與水平率參數(shù)設(shè)置為1/2,而將該圖像品質(zhì)精度參數(shù)設(shè)置為“中級”。在這種情況下,該“能夠影響另一任務(wù)的參數(shù)”正是該圖像品質(zhì)精度參數(shù),而“為每一個(gè)任務(wù)而改變的內(nèi)部參數(shù)”正是該垂直率與水平率參數(shù)。
如圖18B所示,將任務(wù)1當(dāng)中用于分辨率轉(zhuǎn)換的垂直率與水平率參數(shù)改變成1/4,重新生成任務(wù)1當(dāng)中用于實(shí)現(xiàn)/執(zhí)行該分辨率轉(zhuǎn)換的組件,并且將該垂直率與水平率參數(shù)設(shè)置為1/4,與此同時(shí)將該圖像品質(zhì)精度參數(shù)設(shè)置為中級。通過利用共同使用的組件來執(zhí)行任務(wù)2和3的分辨率轉(zhuǎn)換。
如圖18C所示,將任務(wù)1當(dāng)中用作分辨率轉(zhuǎn)換的圖像品質(zhì)精度參數(shù)從中級提高至高級,且該共享組件的圖像品質(zhì)精度參數(shù)從中級變成為高級。由此,提高了在任務(wù)1、2和3當(dāng)中由圖像處理所獲取的圖像品質(zhì)。
圖19示出執(zhí)行參數(shù)轉(zhuǎn)換處理的任務(wù)管理器11的配置。該任務(wù)管理器11包括一個(gè)組件共享判定單元50,用于檢查當(dāng)前正在處理的任務(wù)信息,并確定其參數(shù)將要變換的組件被共同使用;以及一個(gè)參數(shù)變換單元51,用于改變參數(shù)。
依據(jù)從任務(wù)輸入單元18所接收到的任務(wù)數(shù)量和組件參數(shù),該組件共享判定單元50檢查正在處理的任務(wù)信息32,并確定其參數(shù)將會(huì)變換的組件是否被任務(wù)共同使用。當(dāng)該組件共享判定單元50確定了其參數(shù)將會(huì)變換的組件被任務(wù)共同使用時(shí),該參數(shù)變換單元51就會(huì)根據(jù)該共享組件的參數(shù)類型和參數(shù)值來進(jìn)行變換,或是重新生成任務(wù),并設(shè)定一個(gè)輸入至一新組件的參數(shù)值。由該參數(shù)變換單元51所變換的參數(shù)被傳輸?shù)皆摻M件管理單元12和視頻軟件總線管理器13當(dāng)中。
如上文所述,當(dāng)考慮到任務(wù)之間的處理共享時(shí),該圖像處理設(shè)備能夠執(zhí)行諸如畫面同步或視頻/音頻多路傳輸?shù)囊惑w化處理、用于分離視頻圖像和聲音的隔離處理、以及組件參數(shù)變換處理。
(第三實(shí)施例)對于第三實(shí)施例而言,將對所執(zhí)行的用以根據(jù)用戶請求來變換一重放模式以及平穩(wěn)重放視頻圖像的處理給出解釋說明。
圖20示出了執(zhí)行視頻重放處理的任務(wù)管理器11的配制。該任務(wù)管理器11包括組件停止與繼續(xù)執(zhí)行單元60,用于將構(gòu)成任務(wù)的所有組件臨時(shí)設(shè)置成空閑(idle)狀態(tài),并用于恢復(fù)組件的操作;以及一個(gè)視頻軟件總線模式變換單元61,用于改變耦合于組件的視頻軟件總線的緩沖器容量,或是用于改變數(shù)據(jù)交換方法。在圖21中,假設(shè)正在處理個(gè)幀饋送(frame-feeding)重放。組件1處理從磁盤上讀取的數(shù)據(jù),并將結(jié)果數(shù)據(jù)寫入軟件總線1;組件2處理經(jīng)由該軟件總線1所讀取數(shù)據(jù),并將結(jié)果數(shù)據(jù)寫入軟件總線2;以及組件3處理經(jīng)由該軟件總線2所讀取數(shù)據(jù),并將結(jié)果數(shù)據(jù)輸出到終端。該終端接收一第5幀,將第6幀和第7幀寫入該軟件總線2,而將第8幀和第9幀寫入該軟件總線1。
當(dāng)一個(gè)用戶改變一重放方法時(shí),由一任務(wù)輸入單元18輸入用于表示軟件總線緩沖器容量變化的任務(wù)數(shù)量與總線變換信息、以及數(shù)據(jù)交換方法(從“未對幀進(jìn)行削減”變換成“對幀進(jìn)行削減”)。
在圖22中示出了在這種情況下所執(zhí)行的處理過程。該任務(wù)管理器11檢查當(dāng)前正在處理的任務(wù)信息32,并向組件管理器12發(fā)布一個(gè)請求,從而停止由指定任務(wù)所使用的組件操作,以便于組件1、2和3的操作停止(在圖22中的(1))。該視頻軟件總線模式變換單元61檢測到已經(jīng)將第6幀寫入到視頻軟件總線管理器13中的軟件總線2當(dāng)中,并且識(shí)別出該當(dāng)前所重放的幀正是第5幀((2))。然后,該視頻軟件總線模式變換單元61向該視頻軟件總線管理器13發(fā)布一條指令,以對該軟件總線1和2((3))進(jìn)行復(fù)位。
根據(jù)這條總線復(fù)位指令,對該軟件總線1和2的所有訪問均被取消,并且用于經(jīng)由該軟件總線1和2而進(jìn)行交換數(shù)據(jù)的方法,也被變換成由該任務(wù)輸入單元18輸入的方法,與此同時(shí)該軟件總線1和2的數(shù)據(jù)被清除。
在此之后,該組件停止與繼續(xù)執(zhí)行單元60,向該組件管理器12發(fā)布一個(gè)請求,以啟動(dòng)該組件((4))的操作。當(dāng)組件1、2和3的操作開始時(shí),該視頻軟件總線模式變換單元61就會(huì)向該組件1通知當(dāng)前重放的幀(第5幀)((5))。
該組件1開始啟動(dòng)所指定的操作,該操作首先從當(dāng)前正在重放的幀(第5幀)之后幀的開始進(jìn)行,并且如圖21所示,當(dāng)用戶指令是一條切換成反向幀饋送的指令時(shí),將該數(shù)據(jù)以第4幀、第3幀、…的順序傳輸?shù)浇K端。當(dāng)用戶是一條切換成雙倍速重放的指令時(shí),將該數(shù)據(jù)以第7幀、第9幀的順序傳輸?shù)浇K端。
如上文所述,根據(jù)此實(shí)施例中的圖像處理設(shè)備,依據(jù)變換重放模式的用戶請求,將視頻軟件總線上的所有視頻信息進(jìn)行清除,并且能夠獲取該最近幀的標(biāo)識(shí)符,并將其傳輸?shù)轿挥谧钌嫌味说慕M件,其中該最近幀的標(biāo)識(shí)符由任務(wù)中位于最下游端的組件來進(jìn)行處理。由此,可以執(zhí)行像由用戶所請求的這類視頻重放。
本發(fā)明的圖像處理設(shè)備不僅可以用于視頻分布系統(tǒng),該視頻分布系統(tǒng)不僅通過諸如國際互聯(lián)網(wǎng)或內(nèi)聯(lián)網(wǎng)這樣的IP網(wǎng)絡(luò)將各種各樣的視頻內(nèi)容分布到諸如便攜式終端和個(gè)人計(jì)算機(jī)這樣的多個(gè)瀏覽器,而且還將各種各樣的視頻內(nèi)容分布到諸如廣播系統(tǒng)和監(jiān)控系統(tǒng)這樣的各種其它系統(tǒng)。
通過這些解釋說明可以明顯看出,本發(fā)明的圖像處理設(shè)備只需改寫任務(wù)情況,其中該任務(wù)情況定義了構(gòu)成任務(wù)的組件,以及定義了用于經(jīng)由軟件總線而進(jìn)行交換數(shù)據(jù)的方法,從而能夠提供與用戶需要及用戶正使用的應(yīng)用程序軟件的需要相符的功能。
另外,通過簡單地改寫任務(wù)文件,能夠通過任意地結(jié)合視頻格式轉(zhuǎn)換組件、分辨率轉(zhuǎn)換組件和圖像識(shí)別組件,來動(dòng)態(tài)實(shí)現(xiàn)功能,而且并不需要進(jìn)行再編譯。
而且,當(dāng)諸如需要大量計(jì)算的分辨率轉(zhuǎn)換組件或格式轉(zhuǎn)換組件之類的組件,由多個(gè)功能使用時(shí),由這些功能所共享的組件可被自動(dòng)優(yōu)化,從而使降低了全部的計(jì)算量。
此外,當(dāng)考慮到由這些功能所共同使用的處理時(shí),可以執(zhí)行諸如畫面同步和視頻/音頻多路傳輸?shù)囊惑w化處理、諸如反向多路傳輸?shù)母綦x處理、以及用于變換組件參數(shù)的處理。
而且,由于該組件管理器將該組件設(shè)置成空閑狀態(tài),并且該視頻軟件總線管理器在組件之間為總線變換模式,因而可以依據(jù)用戶請求,切換成諸如速率重放模式和幀饋送模式這樣的重放模式。
另外,由于向位于最上游端的組件通知正被重放的幀標(biāo)識(shí)符,因而可以降低改變重放模式所需的時(shí)間,同時(shí)能夠平穩(wěn)地重放圖像。
此外,正如在一個(gè)生產(chǎn)線上,由于提供了這樣一個(gè)機(jī)制,該機(jī)制僅抽取出必要部分并將所獲取的結(jié)果上行添加到當(dāng)前所獲取的結(jié)果中,因而能夠執(zhí)行與各種需要相符的功能。
權(quán)利要求
1.一種圖像處理設(shè)備,用于根據(jù)任務(wù)情況信息來執(zhí)行任務(wù),該設(shè)備包括任務(wù)存儲(chǔ)裝置,用于存儲(chǔ)任務(wù)情況信息、表示組件特性的組件信息以及其內(nèi)存儲(chǔ)有每個(gè)組件的組件庫,其中上述任務(wù)情況信息指出了用于任務(wù)的組件以及該組件的耦合信息;任務(wù)分析與管理裝置,用于分析所述任務(wù)情況信息、確定所述任務(wù)所使用的組件以及用于耦合所述組件的軟件總線,并管理所述任務(wù)的執(zhí)行;組件管理裝置,用于根據(jù)任務(wù)管理器的確定來生成或刪除組件,從而控制由所述組件所執(zhí)行的操作;和軟件總線管理裝置,用于根據(jù)任務(wù)管理器的確定來生成或刪除軟件總線,并控制經(jīng)由所述軟件總線上的數(shù)據(jù)交換。
2.根據(jù)權(quán)利要求1所述的圖像處理設(shè)備,其中所述組件庫可以進(jìn)行動(dòng)態(tài)鏈接和調(diào)用,和其中所述組件信息包括鏈接所述組件庫所需的信息。
3.根據(jù)權(quán)利要求1所述的圖像處理設(shè)備,其中,當(dāng)由所述圖像處理設(shè)備來執(zhí)行新任務(wù)時(shí),任務(wù)分析和管理裝置確定將被所述新任務(wù)及當(dāng)前運(yùn)行任務(wù)所共享的組件和軟件總線,要求所述組件管理裝置生成那些僅用于所述新任務(wù)且不與當(dāng)前運(yùn)行任務(wù)共享的組件,并且要求所述軟件總線管理裝置生成那些僅用于所述新任務(wù)且不與當(dāng)前運(yùn)行任務(wù)共享的軟件總線。
4.根據(jù)權(quán)利要求3所述的圖像處理設(shè)備,其中所述任務(wù)分析與管理裝置包括任務(wù)共享判定裝置,用于檢測所述能夠與任務(wù)和其它任務(wù)共享的組件;和任務(wù)生成組件判定裝置,用于確定將要生成的組件和軟件總線;其中所述任務(wù)共享判定裝置指定當(dāng)前運(yùn)行的任務(wù)處理與所述新任務(wù)相同的內(nèi)容,并且針對包括有所述組件參數(shù)的特性,來比較用于新任務(wù)的組件和來自上游的用于當(dāng)前運(yùn)行任務(wù)的組件,并且將與當(dāng)前運(yùn)行任務(wù)的組件正確匹配的且位于不匹配組件之前的新任務(wù)的組件確定為將被共享的組件。
5.根據(jù)權(quán)利要求3所述的圖像處理設(shè)備,其中通路一體化任務(wù)用于對將代表組件連接的多個(gè)通路進(jìn)行一體化,上述通路一體化任務(wù)能被重寫到所述任務(wù)情況信息之中,和其中所述任務(wù)分析與管理裝置對所述任務(wù)情況信息進(jìn)行分析,并且確定將用于所述通路一體化任務(wù)的組件和用于連接所述組件的軟件總線。
6.根據(jù)權(quán)利要求3所述的圖像處理設(shè)備,其中通路分割任務(wù),用于將通路分割成代表所述組件連接的多個(gè)通路,上述通路分割任務(wù)能被寫入到所述任務(wù)情況信息之中,和其中所述任務(wù)分析與管理裝置對所述任務(wù)情況信息進(jìn)行分析,并且確定哪一個(gè)組件將用于所述通路分割任務(wù),以及確定用于連接所述組件的軟件總線。
7.根據(jù)權(quán)利要求3所述的圖像處理設(shè)備,其中所述任務(wù)分析與管理裝置包括組件共享判定裝置,用于確定所述組件是否被多個(gè)任務(wù)共享;以及參數(shù)變換裝置,用于改變所述共享組件的參數(shù),和其中,當(dāng)接收到指令來改變由所述當(dāng)前運(yùn)行任務(wù)所使用的組件的參數(shù)時(shí),所述參數(shù)變換裝置通過根據(jù)將要變換的參數(shù)類型或重新生成新任務(wù)來改變所述共享組件的參數(shù),從而設(shè)置分布給組件的新參數(shù)。
8.根據(jù)權(quán)利要求1所述的圖像處理設(shè)備,其中所述任務(wù)分析與管理裝置包括組件停止與繼續(xù)執(zhí)行裝置,用于停止由當(dāng)前運(yùn)行任務(wù)的所有組件所執(zhí)行的操作,并且,其后當(dāng)接收到一條指令來改變用于運(yùn)行當(dāng)前任務(wù)的所述軟件總線的緩沖器容量或經(jīng)由所述軟件總線上的數(shù)據(jù)交換方法時(shí),恢復(fù)所述組件所執(zhí)行的操作;和視頻軟件總線模式變換裝置,用于取消對所述軟件總線的訪問,并改變用于所述軟件總線的緩沖器容量,或改變經(jīng)由所述軟件總線上的數(shù)據(jù)交換方法。
9.根據(jù)權(quán)利要求8所述的圖像處理設(shè)備,其中,當(dāng)所述組件停止與繼續(xù)執(zhí)行裝置停止了所有組件的操作時(shí),所述視頻軟件總線模式變換裝置獲取由位于最下游端處的組件處理的最近幀標(biāo)識(shí)符,并據(jù)此清除軟件總線上的所有視頻信息,和其中,當(dāng)所述組件停止與繼續(xù)執(zhí)行裝置恢復(fù)所有組件的操作時(shí),所述視頻軟件總線模式變換裝置向位于最上游端處的組件通知所述幀標(biāo)識(shí)符。
10.根據(jù)權(quán)利要求1所述的圖像處理設(shè)備,其中由所述組件管理裝置所生成的組件輸出與所述組件獲取的結(jié)果一起的輸入數(shù)據(jù)。
11.根據(jù)權(quán)利要求1所述的圖像處理設(shè)備,其中所述任務(wù)存儲(chǔ)裝置周期地讀取所述任務(wù)情況信息以確定該任務(wù)的所使用的組件的連接是否正確。
12.一種根據(jù)任務(wù)情況信息來處理圖像的方法,該方法包括以下步驟任務(wù)情況讀取步驟,用于基于任務(wù)信息、內(nèi)容信息和終端設(shè)備的輸出信息來選擇合適的任務(wù)情況信息,以及用于讀取所選的任務(wù)情況信息;軟件生成步驟,用于基于包含于任務(wù)情況信息中的組件耦合信息來生成軟件總線;組件讀取步驟,用于基于所述任務(wù)情況信息和該組件信息,從存儲(chǔ)于組件庫里的組件當(dāng)中讀取在所述任務(wù)情況信息中所指定的組件;組件運(yùn)行步驟,用于設(shè)置該讀取組件以按照在任務(wù)情況信息中所指定的順序連續(xù)地運(yùn)行;和軟件總線數(shù)據(jù)控制步驟,用于控制數(shù)據(jù)在軟件總線內(nèi)傳輸,以便于由運(yùn)行組件對內(nèi)容進(jìn)行處理所生成的輸出數(shù)據(jù)被用作后續(xù)組件的輸入數(shù)據(jù)。
全文摘要
本發(fā)明的一個(gè)目的就是提供一種圖像處理設(shè)備,該設(shè)備能夠容易地執(zhí)行與用戶需要或應(yīng)用程序軟件相符的圖像處理功能。該圖像處理設(shè)備包括任務(wù)存儲(chǔ)器,任務(wù)管理器,組件管理器,以及軟件總線管理器。該任務(wù)存儲(chǔ)器控制任務(wù)情況信息、組件信息以及組件實(shí)體的信息。上述任務(wù)情況信息指出了圖像處理任務(wù)所使用的組件以及與該組件的耦合相關(guān)的信息。該任務(wù)管理器對該任務(wù)情況信息進(jìn)行分析,并確定用于該任務(wù)的組件以及確定與該組件相連的軟件總線。該組件管理器生成、刪除或控制該組件。該軟件總線管理器生成或刪除該軟件總線,并控制經(jīng)由軟件總線的數(shù)據(jù)交換。
文檔編號(hào)G06F15/16GK1476232SQ0317860
公開日2004年2月18日 申請日期2003年4月8日 優(yōu)先權(quán)日2002年4月8日
發(fā)明者由雄宏明 申請人:松下電器產(chǎn)業(yè)株式會(huì)社