專利名稱:具有用于處理數(shù)字視頻數(shù)據(jù)的可再用前端的模塊結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于處理數(shù)字視頻數(shù)據(jù)的技術(shù)。
背景技術(shù):
最近,隨著計算機處理能力和可購性的提高,全運動視頻設(shè)備變得更廣泛地可用。特別地,數(shù)字視頻功能已被加入到許多設(shè)備中,其中包括數(shù)字電視、數(shù)字直播系統(tǒng)、無線通信設(shè)備、便攜式數(shù)字助理(PDA)、便攜式計算機和臺式計算機。這些設(shè)備與傳統(tǒng)的模擬視頻系統(tǒng)相比能在生成、修改、傳送、保存和播放全運動視頻序列方面提供顯著的改進。
為了集成數(shù)字視頻功能,這些設(shè)備往往支持各種便攜式攝像機或攝影機應(yīng)用。例如,典型地,這些設(shè)備包括數(shù)字取景器或其他顯示器、用于視頻數(shù)據(jù)捕捉的圖像傳感器和圖像處理功能,以執(zhí)行專門的圖像處理,以及根據(jù)多種視頻壓縮標準或方法中的一個或多個執(zhí)行數(shù)字視頻數(shù)據(jù)的壓縮和解壓縮。提供這些數(shù)字視頻功能往往要求大量的專用硬件、軟件或以上二者。
發(fā)明內(nèi)容
通常,本發(fā)明描述用于處理數(shù)字視頻數(shù)據(jù)的技術(shù),諸如編碼或解碼數(shù)字視頻數(shù)據(jù)。一個諸如編碼器、解碼器或編碼/解碼器(CODEC)的設(shè)備,包括創(chuàng)新結(jié)構(gòu),在該結(jié)構(gòu)中功能被劃分為視頻前端(VFE)和視頻后端(VBE)。VFE封裝功能和圖像操作以支持各種應(yīng)用并提供靈活的處理器間接口,通過該接口外部主設(shè)備能很容易控制這些操作。
這種劃分使VBE與各種特定實現(xiàn)功能或操作隔離,諸如直接與攝影機接口硬件連接、執(zhí)行色彩轉(zhuǎn)換和驅(qū)動取景器所必要的其它圖像處理功能。因此,在此描述的技術(shù)可提供分布式視頻系統(tǒng),該系統(tǒng)使集成數(shù)字視頻功能到新設(shè)備中變得容易。結(jié)合任何期望的圖像傳感器、顯示器和后端軟件或固件或其組合,VFE可被很容易地在不同的應(yīng)用中再利用,以很容易地將視頻數(shù)據(jù)功能集成到新產(chǎn)品或新設(shè)備中。
在一個實施例中,系統(tǒng)包括視頻前端(VFE),該視頻前端具有可編程接口以接收指令,其中VFE根據(jù)指令捕捉視頻輸入數(shù)據(jù)并預處理該視頻輸入數(shù)據(jù)以產(chǎn)生視頻輸出數(shù)據(jù)。該系統(tǒng)進一步包括從VFE的視頻輸出數(shù)據(jù)產(chǎn)生視頻數(shù)據(jù)的編碼序列的視頻后端(VBE)和通過接口提供指令到VFE以控制期望的視頻輸入數(shù)據(jù)的預處理的控制器。
在另一個實施例中,設(shè)備包括視頻前端(VFE),該視頻前端在由該設(shè)備提供的操作環(huán)境中執(zhí)行并包括從外部設(shè)備接收指令的可編程接口。根據(jù)指令,VFE捕捉視頻輸入數(shù)據(jù)并預處理該視頻輸入數(shù)據(jù)以產(chǎn)生用于被視頻后端編碼的視頻輸出數(shù)據(jù)和用于被顯示設(shè)備顯示的視頻顯示數(shù)據(jù)。
在另一個實施例中,設(shè)備包括用于從主設(shè)備程控地接收指令的裝置和用于根據(jù)該指令捕捉和預處理視頻輸入數(shù)據(jù)以產(chǎn)生視頻輸出數(shù)據(jù)和視頻顯示數(shù)據(jù)的裝置。該設(shè)備進一步包括用于從視頻輸出數(shù)據(jù)產(chǎn)生視頻數(shù)據(jù)的編碼序列的裝置。
在另一個實施例中,方法包括通過處理器間接口從主設(shè)備程控地接收指令,以及根據(jù)該指令通過從設(shè)備捕捉和預處理視頻輸入數(shù)據(jù)以產(chǎn)生第一圖像格式的視頻輸出數(shù)據(jù)和第二圖像格式的視頻顯示數(shù)據(jù)。該方法進一步包括將視頻輸出數(shù)據(jù)傳送到編碼器以產(chǎn)生視頻數(shù)據(jù)的編碼序列;和將視頻顯示數(shù)據(jù)傳送到輸出設(shè)備以顯示。
一個或多個實施例的細節(jié)在下面的附圖和描述中被闡明。根據(jù)描述、附圖和權(quán)利要求,其他特征、目標和優(yōu)點將是顯而易見的。
圖1是說明一個示例的數(shù)字視頻設(shè)備的框圖,該設(shè)備包括被劃分成視頻前端(VFE)和視頻后端(VBE)的視頻編碼/解碼器(CODEC);圖2是進一步詳細說明圖1的VFE的實施例的框圖;圖3是進一步說明VFE的示例操作的狀態(tài)圖;
圖4是說明數(shù)字視頻設(shè)備的示例操作的流程圖。
具體實施例方式
圖1是說明示例數(shù)字視頻設(shè)備10的框圖,該設(shè)備包括被劃分成視頻前端(VFE)14和視頻后端(VBE)16的視頻編碼/解碼器(CODEC)12。設(shè)備10可作為向接收設(shè)備(未顯示)傳送視頻數(shù)據(jù)的編碼序列的源設(shè)備操作。類似地,設(shè)備10可作為能接收和解碼視頻數(shù)據(jù)的接收設(shè)備操作。示例設(shè)備包括處于計算機網(wǎng)絡(luò)中的服務(wù)器、工作站或其他臺式計算設(shè)備和移動計算設(shè)備,諸如便攜式計算機、個人數(shù)字助理(PDA)、無線通信設(shè)備等等。其他例子包括數(shù)字電視直播衛(wèi)星、數(shù)字電視、數(shù)字視頻攝影機或其他記錄設(shè)備、數(shù)字視頻電話、無線視頻設(shè)備等等。
為了舉例,數(shù)字視頻設(shè)備10被作為諸如移動電話的無線設(shè)備說明。然而,在此描述的技術(shù)并不限制于無線設(shè)備而且可以很容易被應(yīng)用到其他數(shù)字視頻設(shè)備。此外,盡管參考CODEC來說明,本公開不被如此限制并且可很容易被應(yīng)用到編碼器和解碼器。
控制器24對包括VFE 14的CODEC 12的部件提供初級控制并協(xié)調(diào)與數(shù)字視頻設(shè)備10的其他部件的通信??刂破?4指揮CODEC 12執(zhí)行編碼和解碼數(shù)字視頻序列所需的許多高強度計算任務(wù)。CODEC 12可采用數(shù)字信號處理器(DSP)的形式并可具有用存儲指令和數(shù)據(jù)的專用存儲器41??蛇x地,或此外,CODEC 12可包括專用硬件、軟件、固件或其組合。類似地,控制器24可采用嵌入式微處理器、專用硬件、軟件的形式,例如,控制軟件模塊或其組合。此外,CODEC 12和控制器24以及設(shè)備10的其他部件可作為多個分立部件或其組合被實現(xiàn)在一個或多個專用集成電路(ASIC)中。
數(shù)字視頻設(shè)備10也包括許多不同的外部設(shè)備,諸如顯示器或取景器17和圖像傳感器23。在控制器24的指揮下,CODEC 12從圖像傳感器23捕捉視頻輸入數(shù)據(jù)30(VID)并將該視頻輸入數(shù)據(jù)傳送到VFE14。攝影機接口22負責提取圖像傳感器23的接口細節(jié)。例如,響應(yīng)來自VFE 14的控制和配置數(shù)據(jù)27,攝影機接口22使從圖像傳感器23接收的數(shù)據(jù)中的水平和垂直參考信號同步。攝影機接口22也可包括處理視頻數(shù)據(jù)的限制功能,諸如遮蔽象素。
通常,CODEC 12的VFE 14封裝功能和預處理操作以支持各種攝影機或便攜式攝像機應(yīng)用,并包括控制這些操作的靈活的處理器間接口。VFE 14的主任務(wù)是實時處理接收的視頻輸入數(shù)據(jù)30。VFE 14接收視頻輸入數(shù)據(jù)30并基于從控制器24接收的指令和配置參數(shù)25處理該數(shù)據(jù)以將視頻輸出數(shù)據(jù)(VOD)35生成為VBE 16可接受的格式。此外,VFE 14安排視頻輸入數(shù)據(jù)30的格式以產(chǎn)生適于被取景器17顯示的格式的視頻顯示數(shù)據(jù)(VDD)37,該取景器可包括任何用于顯示VDD的輸出設(shè)備,例如,用于便攜式攝像機或移動電話屏幕的液晶顯示器(LCD)。VFE 14將視頻輸出數(shù)據(jù)35和視頻顯示數(shù)據(jù)37保存在用于分別供VBE 16和控制器24訪問的視頻存儲器15中。VFE 14通過處理器間接口提供狀態(tài)信息26以顯示未決指令的狀態(tài)。
VFE 14可對視頻輸入數(shù)據(jù)30執(zhí)行復雜的圖像處理操作,諸如將彩色視頻幀轉(zhuǎn)換成黑白格式、修改數(shù)據(jù)的對比度或亮度特性、數(shù)字增強或修改用于被捕捉數(shù)據(jù)的照明條件、執(zhí)行數(shù)字放大操作、圖像傳感器處理和補償,例如,白平衡、自動增益控制、灰度校正和修改被捕捉的視頻數(shù)據(jù)以模擬暈環(huán)、日落、星形濾光或其它濾光效果。此外,VFE 14可減小幀頻或被捕捉的視頻輸入數(shù)據(jù)30的圖像尺寸。
如下面進一步詳述,VFE 14提供一個處理器間應(yīng)用程序接口(API),該接口允許控制器24很容易地控制和重新配置VFE 14。API提供處理器間接口,允許VFE 14作為控制器24的從設(shè)備工作。
VBE 16可包括任何軟件應(yīng)用、硬件單元等等,編碼或解碼視頻數(shù)據(jù)。更具體地,VBE 16可利用視頻輸出數(shù)據(jù)35產(chǎn)生視頻序列的編碼比特流。當作為編碼器工作時,VBE 16編碼視頻輸出數(shù)據(jù)35并可將編碼比特流緩沖到視頻存儲器15中,例如,用于通過發(fā)射器/接收器18和天線19進行無線傳送。例如,VBE 16可包括用于數(shù)碼照相機的JPEG靜止圖像編碼器、用于便攜式數(shù)字攝像機的MPEG視頻編碼器等等。因此,VBE可以是專有編碼器或解碼器,或可以根據(jù)多種數(shù)據(jù)壓縮標準中的一個或多個處理視頻輸出數(shù)據(jù)35,這些標準包括諸如由運動圖像專家組(MPEG)提出的MPEG-1、MPEG-2或MPEG4,由加利福尼亞庫比提諾的蘋果計算機提出的QuickTimeTM,由華盛頓雷蒙德的微軟公司開發(fā)的Video for WindowsTM,由英特爾公司開發(fā)的IndeoTM,來自華盛頓西雅圖RealNetwoks有限公司的RealVideoTM,和由SuperMac有限公司開發(fā)的CinepakTM,H.263,H.264,JPEG2000等等。
可選地或此外,VBE 16可作為解碼器工作。更具體地,VBE 16可從接收器/發(fā)射器18接收編碼視頻序列的比特流,并處理該比特流以產(chǎn)生用于被VFE 14處理和顯示的解碼視頻序列。VFE 14和VBE 16可交換控制信號28以觸發(fā)視頻處理操作。例如,控制器24或VFE 14可觸發(fā)由VBE 16執(zhí)行的編碼操作。當作為解碼器工作時,控制器24或VBE 16可觸發(fā)由VFE 14執(zhí)行的操作。VFE 14和VBE 16可作為獨立的硬件或軟件模塊被提供,例如,由DSP執(zhí)行的軟件模塊,或其組合。
存儲器21、41存儲分別用于控制器24和CODEC 12的指令和數(shù)據(jù)。盡管作為獨立的存儲器來說明,存儲器21、41可以是公用存儲器設(shè)備。存儲器21、41可包括只讀存儲器(ROM)、同步動態(tài)隨機存取存儲器(SDRAM)、非易失性靜態(tài)隨機存取存儲器(SRAM)、閃存、電可擦寫的可編程只讀存儲器(EEPROM)等等。視頻存儲器24可采用視頻動態(tài)存儲器存取(VDMA)的形式。如說明的那樣,存儲器15、21可位于CODEC 12以外并連接到控制器24。
將CODEC 12的功能劃分成VFE 14和VBE 16,如所述,隔離了VBE 16以執(zhí)行各種特定實現(xiàn)功能,諸如直接與攝影機接口硬件22連接、執(zhí)行色彩轉(zhuǎn)換和其它驅(qū)動取景器17所必要的圖像處理功能或其它特定實現(xiàn)操作。因此,VFE 14可被視為執(zhí)行特定實現(xiàn)圖像處理功能,而VBE 16能執(zhí)行獨立實現(xiàn)圖像處理功能。
此外,該劃分可提供增加的靈活性使將數(shù)字視頻功能集成到新設(shè)備中變得容易。例如,VFE 14和VBE 16之間的功能劃分產(chǎn)生了分布視頻系統(tǒng),并且允許設(shè)計者很容易地再利用VFE 14結(jié)合任何期望的后端軟件或固件或其組合以將視頻數(shù)據(jù)功能集成到新產(chǎn)品或新設(shè)備中。如此,通過連接VFE 14與新的VBE 16,新視頻壓縮標準可以很容易被支持。換句話說,設(shè)計者可再利用VFE 14作為公用模塊結(jié)合任何期望的不同VBE或其他應(yīng)用軟件或固件,甚至專有VBE,以將數(shù)字視頻功能集成到新設(shè)備中。而且,VFE 14的靈活性與可配置性允許VFE很容易結(jié)合不同的圖像傳感器和顯示設(shè)備而被利用。因此,VFE 14只做很少改動或不用改動就可很容易被再利用并嵌入多個設(shè)備中,并且可以簡化新設(shè)備的設(shè)計和制造,該新設(shè)備包括諸如基于JPEG的數(shù)碼相機或集成基于MPEG的視頻捕捉和通信的移動電話。
圖2是進一步詳細說明VFE 14(圖1)的實施例的框圖。如圖所述,VFE 14可包括許多功能模塊30A-30F和公用應(yīng)用程序接口(API)32,通過該接口控制器24可程控地配置這些模塊。許多模塊30,例如,模塊30B-30F,可被用于預處理視頻數(shù)據(jù)以通過VBE 16編碼,也可被用于后處理由VBE 16產(chǎn)生的解碼視頻序列。如此,模塊30可被用于各種應(yīng)用。模塊30可作為在CODEC 12提供的操作環(huán)境中執(zhí)行的軟件模塊被實現(xiàn),例如,在DSP上實現(xiàn)。然而,模塊30可在硬件、固件、軟件或其組合中實現(xiàn)。
攝影機驅(qū)動器30A直接與攝影機接口硬件22連接,并給硬件編程以使其從圖像傳感器32捕捉一個或多個視頻幀。具體的,攝影機驅(qū)動器30A發(fā)布指令27并且響應(yīng)、接收視頻輸入數(shù)據(jù)30。
例如,攝影機驅(qū)動器30A可編程地配置攝影機接口硬件22以開始和停止視頻捕捉。此外,攝影機驅(qū)動器30A定義圖像幀尺寸,例如每幀的行數(shù)和每行的象素數(shù),和用于數(shù)據(jù)采集的圖像窗口,諸如低位在前或或高位在前(little or big Endian)的圖像格式。進一步,攝影機驅(qū)動器30A可發(fā)布指令27以指揮攝影機接口硬件22在空間域和時域執(zhí)行初始子采樣以減小圖像尺寸和幀頻。
攝影機驅(qū)動器30A處理視頻輸入數(shù)據(jù)30并將該被處理數(shù)據(jù)以用于被VBE 16后端處理的標準格式存儲到視頻存儲器15中(圖1)。攝影機驅(qū)動器30A可例如用YCbCr(亮度-色度)4:2:2格式保存圖像,這意味著圖像數(shù)據(jù)的色度值僅在水平方向被子采樣。例如,攝影機驅(qū)動器30可處理一尺寸為352×288象素的彩色圖像或彩色幀以產(chǎn)生一個幀,在該幀中亮度數(shù)據(jù)保持352×288,但是色度值被子采樣到尺寸為176×288象素。
幀頻控制模塊30B提供向下采樣或向上采樣視頻數(shù)據(jù)的序列到期望的幀頻的功能,該視頻數(shù)據(jù)的序列被圖像傳感器23捕捉并由攝影機接口22產(chǎn)生,即視頻輸入數(shù)據(jù)30。幀頻控制模塊30B可例如用一個分數(shù)或整數(shù)因子向下取樣或向上取樣輸入的視頻輸入數(shù)據(jù)30的視頻幀,給VFE 14靈活性以應(yīng)用到各種應(yīng)用中。
圖像處理模塊30C允許控制器24對輸入的視頻輸入數(shù)據(jù)30可編程地選擇和應(yīng)用逐幀圖像處理功能。例如,控制器24可通過API 32發(fā)布指令以選擇功能,諸如將彩色視頻幀轉(zhuǎn)換到黑白格式,修改數(shù)據(jù)的對比度或亮度特性,數(shù)字增強或修改用于捕捉數(shù)據(jù)的照明條件,執(zhí)行數(shù)字放大操作,圖像傳感器處理和補償,例如白平衡、自動增益控制和灰度校正,和修改被捕捉的視頻數(shù)據(jù)以模擬暈環(huán)、日落、星形濾光或其它濾光效果。圖像處理模塊30C可應(yīng)用這些功能以預處理用于被VBE 16編碼的視頻輸入數(shù)據(jù)30,或后處理由VBE 16產(chǎn)生的解碼視頻序列。例如,圖像處理模塊30C可應(yīng)用這些功能以增強由VBE 16從接收的視頻比特流產(chǎn)生的解碼視頻序列。
圖像尺寸控制模塊30E提供向下取樣或向上取樣圖像尺寸到期望的圖像尺寸的功能。而且,圖像尺寸控制模塊30E可向下取樣圖像尺寸并保持縱橫比,或得到不同的期望的縱橫比。例如,具有640×480分辨率的VGE圖像可被子采樣到具有分辨率352×288的CIF格式。例如,圖像尺寸控制模塊30E可通過一個分數(shù)或整數(shù)因子向下取樣視頻輸入數(shù)據(jù)30的圖像尺寸,給VFE 14用于各種應(yīng)用的靈活性。
取景器驅(qū)動器30D提供結(jié)合視頻顯示數(shù)據(jù)驅(qū)動取景器17的功能。取景器17可要求視頻顯示數(shù)據(jù)35為一種格式,該格式顯著不同于視頻輸入數(shù)據(jù)30或視頻輸出數(shù)據(jù)35的格式。例如,取景器17可要求視頻顯示數(shù)據(jù)35以不同的幀頻或圖像尺寸。取景器驅(qū)動器30D可利用幀頻控制模塊30C和圖像尺寸控制模塊30E以處理視頻輸入數(shù)據(jù)30和用適于被取景器17顯示的格式產(chǎn)生視頻顯示數(shù)據(jù)35。
色彩轉(zhuǎn)換模塊30F提供將視頻輸入數(shù)據(jù)30轉(zhuǎn)換到一個不同的色彩空間的功能,例如,將數(shù)據(jù)轉(zhuǎn)換成一個用于表現(xiàn)彩色圖像數(shù)據(jù)的不同的格式。例如,色彩轉(zhuǎn)換模塊30F可處理視頻輸入數(shù)據(jù)30以產(chǎn)生用于VBE 16的YCbCr(量度-色度)4:2:2格式的視頻輸出數(shù)據(jù)35。此外,色彩轉(zhuǎn)換模塊也可處理視頻輸入數(shù)據(jù)30以產(chǎn)生用于取景器17顯示的RGB格式的視頻顯示數(shù)據(jù)35。而且,色彩轉(zhuǎn)換模塊可控制該產(chǎn)生格式的色深,例如,16位、18位和24位色深。
控制器24程控地配置和通過根據(jù)API 32發(fā)布指令與VFE 14的模塊30相互作用。在一個實施例中,API 32支持下面的指令配置-配置指令被用于給VFE 14編程,和允許控制器24指定用于控制模塊30的功能的各種參數(shù)。
捕捉-捕捉指令啟動捕捉和通過VFE 14處理視頻輸入數(shù)據(jù)30。
空閑-空閑指令指揮VFE 30停止視頻輸入數(shù)據(jù)30的捕捉。
為發(fā)布以上指令,控制器24可將這些指令寫入CODEC 12中的存儲器。更具體的,CODEC 12可包括用于保存未決指令的指令(CMD)寄存器37,和用于保存任何與指令相關(guān)的參數(shù)的指令(CMD)緩沖器36。通過將指令和相關(guān)參數(shù)分別寫入指令寄存器37和指令緩沖器36,控制器24向VFE 14發(fā)布一個中斷以指示指令是未決的。在一個實施例中,指令寄存器37包括單個32位緩沖器以保存用于正在發(fā)布的特定指令的指令頭。指令緩沖器36包括具有能保存23個32位字大小的緩沖區(qū)。
VFE 14利用信息寄存器38指示未決指令的狀態(tài),例如,指令是否已完成,或是否遇到非法指令。VFE 14向控制器24發(fā)布中斷以指示信息寄存器38中的新狀態(tài)信息的可用性。控制器24在發(fā)布隨后指令之前訪問信息寄存器38以驗證前面的指令已被徹底處理。
在一種實施方式中,信息寄存器38用8個32位字存儲狀態(tài)信息如下表1
在一種實施方式中,配置指令包括擴大參數(shù)表,該參數(shù)表使控制器24很容易程控地配置VFE 14以必要的支持設(shè)備10要求的視頻功能。更具體地,控制器24將23字參數(shù)表寫入指令緩沖器36,如下表所說明的表2
圖3是進一步詳細說明VFE 14示例操作的狀態(tài)圖。在這個實施例中,狀態(tài)機60包括三個狀態(tài)開始狀態(tài)62,空閑狀態(tài)64和捕捉狀態(tài)66。
通過初始加電或硬件復位,VFE 14進入初始狀態(tài)62。要使VFE 14退出這個狀態(tài),控制器24必須發(fā)布配置指令以程控地配置VFE 14,如上所述。通過接收配置指令,VFE 14轉(zhuǎn)移到空閑狀態(tài)64。
在空閑狀態(tài)64中,VFE 14從控制器24沒有產(chǎn)生錯誤地接收共三種可能的指令配置指令、捕捉指令和空閑指令。例如,控制器24可發(fā)布配置指令以再配置VFE 14。通過接收和處理配置指令,VFE 14返回空閑狀態(tài)64。由于VFE 14已經(jīng)工作在空閑狀態(tài)64中空閑指令實質(zhì)上被忽略。
通過接受配置指令,VFE 14轉(zhuǎn)移到捕捉狀態(tài)66并執(zhí)行最近的配置指令設(shè)置的參數(shù)。當在捕捉狀態(tài)66時,VFE 14啟動攝影機接口硬件22,并開始接收和處理視頻輸入數(shù)據(jù)30。
最初,VFE 14檢查與配置指令相關(guān)的參數(shù)以確定快照模式是否被使用。如果快照模式被使用,VFE 14捕捉視頻輸入數(shù)據(jù)30的一個單一的視頻幀,并一旦捕捉該幀立刻返回空閑狀態(tài)64。如果快照模式?jīng)]有被使用,VFE 14保持在捕捉狀態(tài)64并連續(xù)接收和處理視頻幀。
更具體地,VFE 14接收視頻輸入數(shù)據(jù)30,并基于從控制器24接收到的指令和配置參數(shù)23處理該數(shù)據(jù)以將視頻輸出數(shù)據(jù)35生成為VBE 16可接收的格式。此外,VFE 14安排視頻輸入數(shù)據(jù)30的格式以產(chǎn)生適于被取景器17顯示的格式的視頻顯示數(shù)據(jù)35,并將視頻輸出數(shù)據(jù)35保存在視頻存儲器15中用于被VBE 16或控制器24訪問。
當工作在捕捉模式66時,VFE 14基于由控制器24提供的可編程的參數(shù)調(diào)用功能性模塊30A-30F。例如,如上所述,攝影機驅(qū)動器30A可編程地配置攝影機接口硬件22以開始和停止視頻捕捉。幀頻控制模塊30B將由圖像傳感器23捕捉并由攝影機接口22產(chǎn)生的視頻輸入數(shù)據(jù)30處理到期望的幀頻。
圖像處理模塊30C可基于由控制器24經(jīng)過配置指令提供的參數(shù)對視頻輸入數(shù)據(jù)30執(zhí)行復雜的圖像處理操作。取景器驅(qū)動器30D處理來自視頻存儲器15的視頻輸入數(shù)據(jù)30以產(chǎn)生適于被取景器17顯示的格式的視頻顯示數(shù)據(jù)35。
圖像尺寸控制模塊30E提供向下取樣圖像尺寸到期望的圖像尺寸的功能。色彩轉(zhuǎn)換模塊30F提供用于將視頻輸入數(shù)據(jù)30轉(zhuǎn)換到不同色彩空間的功能,例如,像可被VBE 16或取景器17要求的那樣用于表現(xiàn)彩色圖像數(shù)據(jù)的不同格式。
VFE 14通過從控制器接收一個空閑指令結(jié)束圖像捕捉66并返回空閑狀態(tài)64。
圖4是說明數(shù)字視頻設(shè)備10的示例操作的流程圖。最初,控制器24通過經(jīng)由VFE 14的處理器間接口的指令25程控地配置CODEC 12(70)。如此,控制器24可被視為主設(shè)備,和CODEC 12可被視為從設(shè)備。
當CODEC 12作為解碼器工作時,VFE 14根據(jù)指令捕捉和預處理視頻輸入數(shù)據(jù)30以產(chǎn)生第一圖像格式的視頻輸出數(shù)據(jù)35和產(chǎn)生第二圖像格式的視頻顯示數(shù)據(jù)(72)。在該處理過程中,根據(jù)可編程的格式,例如可編程的幀頻、圖像尺寸和色彩空間,VFE 14產(chǎn)生視頻輸出數(shù)據(jù)和視頻顯示數(shù)據(jù)。VFE 14將視頻輸出數(shù)據(jù)傳送到VBE 16用于產(chǎn)生視頻數(shù)據(jù)的編碼序列(74),并將視頻顯示數(shù)據(jù)傳送到控制器24用于在取景器17上顯示(76)。以類似的方式,VFE 14可從VBE 16接收解碼視頻序列,并根據(jù)控制器24提供的指令25處理和顯示該解碼視頻序列。
不同的實施方式已被描述,在其中示例視頻編碼/解碼器(CODEC)被劃分成視頻前端(VFE)和視頻后端(VBE)。如在本發(fā)明中所述,VFE封裝功能和預處理操作以支持各種攝影機或便攜式攝像機應(yīng)用,并提供一個靈活的處理器間接口,通過該接口外部主設(shè)備可以很容易控制這些操作。這種劃分產(chǎn)生分布式視頻系統(tǒng),該系統(tǒng)將VBE與各種特定實現(xiàn)功能隔離,這些特定實現(xiàn)功能包括諸如直接與攝影機接口硬件連接,執(zhí)行驅(qū)動取景器所必要的色彩轉(zhuǎn)換和其它圖像處理功能,或其它特定實現(xiàn)操作。因此,在此描述的技術(shù)可提供增加的靈活性以使在新設(shè)備中集成數(shù)字視頻功能變的容易。例如,設(shè)計者可很容易再利用VFE結(jié)合任何期望的后端軟件或固件或其組合,以將數(shù)字視頻功能集成到新產(chǎn)品或新設(shè)備中。這些和其它實施方式在隨后的權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種系統(tǒng)包括具有可編程接口以接收指令的視頻前端(VFE),其中所述VFE根據(jù)所述指令捕捉視頻輸入數(shù)據(jù)并預處理所述視頻輸入數(shù)據(jù)以產(chǎn)生視頻輸出數(shù)據(jù);從所述VFE的視頻輸出數(shù)據(jù)產(chǎn)生視頻數(shù)據(jù)的編碼序列的視頻后端(VBE);和通過所述接口向所述VFE提供指令以控制所述視頻輸入數(shù)據(jù)的預處理的控制器。
2.如權(quán)利要求1所述的系統(tǒng),其中所述VFE根據(jù)所述指令預處理所述視頻輸入數(shù)據(jù)以產(chǎn)生用于顯示的視頻顯示數(shù)據(jù)。
3.如權(quán)利要求2所述的系統(tǒng),其中根據(jù)所述指令,所述VFE預處理所述視頻輸入數(shù)據(jù)以產(chǎn)生第一格式的用于被所述VBE處理的所述視頻輸出數(shù)據(jù)和第二格式的用于顯示的所述視頻顯示數(shù)據(jù)。
4.如權(quán)利要求2所述的系統(tǒng),其中所述VFE包括取景器驅(qū)動器,用于根據(jù)所述指令呈現(xiàn)所述視頻顯示數(shù)據(jù);幀頻控制模塊,用于根據(jù)所述指令產(chǎn)生可編程的幀頻的所述視頻顯示數(shù)據(jù)和所述視頻輸出數(shù)據(jù);圖像尺寸控制模塊,用于根據(jù)所述指令產(chǎn)生可編程的圖像尺寸的所述視頻顯示數(shù)據(jù)和所述視頻輸出數(shù)據(jù);色彩轉(zhuǎn)換模塊,其基于所述指令,根據(jù)第一色彩空間產(chǎn)生用于被所述VBE處理的所述視頻輸出數(shù)據(jù),和根據(jù)第二色彩空間產(chǎn)生用于被取景器驅(qū)動器顯示的所述視頻顯示數(shù)據(jù);和圖像處理模塊,用于根據(jù)所述指令對所述視頻輸入數(shù)據(jù)執(zhí)行一個或多個圖像處理操作。
5.如權(quán)利要求2所述的系統(tǒng),其中所述可編程接口允許所述控制器程控地設(shè)置所述視頻輸入數(shù)據(jù)的輸入圖像格式和用于所述視頻輸出數(shù)據(jù)和所述視頻顯示數(shù)據(jù)的輸出圖像格式。
6.如權(quán)利要求5所述的系統(tǒng),其中所述可編程接口允許所述控制器程控地為每個所述圖像格式設(shè)置幀行距、每行的象素數(shù)、幀列高、每幀的行數(shù)。
7.如權(quán)利要求1所述的系統(tǒng),其中所述可編程接口允許所述控制器程控地指定用于從所述視頻輸入數(shù)據(jù)中選擇要丟掉的幀的第一位模式和用于從所述視頻輸入數(shù)據(jù)的每幀中選擇要丟掉的X和Y象素的第二位模式,以產(chǎn)生所述視頻輸出數(shù)據(jù)。
8.如權(quán)利要求1所述的系統(tǒng),其中所述可編程接口支持捕捉指令以程控地開始由所述VFE執(zhí)行的所述視頻輸入數(shù)據(jù)的捕捉,支持空閑指令以程控地結(jié)束視頻數(shù)據(jù)的捕捉,和支持配置指令以程控地控制視頻數(shù)據(jù)的所述捕捉和處理。
9.如權(quán)利要求1所述的系統(tǒng),其中所述VFE執(zhí)行特定實現(xiàn)圖像處理功能,并且所述VBE執(zhí)行獨立實現(xiàn)圖像處理功能。
10.如權(quán)利要求1所述的系統(tǒng),其中所述控制器在第一處理器的操作環(huán)境中執(zhí)行,并且所述VFE和VBE在第二處理器的操作環(huán)境中執(zhí)行,并且所述VFE的可編程接口包括從所述控制模塊接收指令的可編程處理器間接口。
11.如權(quán)利要求10所述的系統(tǒng),其中所述可編程處理器間接口包括從所述控制器接收所述指令的可編程指令寄存器;存儲與所述指令相關(guān)的參數(shù)的可編程指令緩沖器;和將狀態(tài)從所述VFE傳送到所述控制器的狀態(tài)寄存器。
12.如權(quán)利要求10述的系統(tǒng),進一步包括可被第一和第二處理器訪問的存儲器,以存儲所述視頻輸出數(shù)據(jù)。
13.如權(quán)利要求1所述的系統(tǒng),其中所述系統(tǒng)包括視頻編碼/解碼器(CODEC)。
14.一種設(shè)備包括在所述設(shè)備提供的操作環(huán)境中執(zhí)行并具有可編程接口以從外部設(shè)備接收指令的視頻前端(VFE),其中所述VFE根據(jù)所述指令捕捉視頻輸入數(shù)據(jù)和預處理所述視頻輸入數(shù)據(jù),以產(chǎn)生用于視頻后端編碼的視頻輸出數(shù)據(jù)和用于顯示設(shè)備顯示的視頻顯示數(shù)據(jù)。
15.如權(quán)利要求14所述的設(shè)備,其中所述可編程接口支持用于定義第一圖像格式和第二圖像格式的參數(shù),并且所述VFE基于所述指令根據(jù)所述第一圖像格式產(chǎn)生所述視頻輸出數(shù)據(jù)并根據(jù)所述第二圖像格式產(chǎn)生所述視頻顯示數(shù)據(jù)。
16.如權(quán)利要求14所述的設(shè)備,其中所述VFE進一步包括圖像處理模塊,用于根據(jù)所述指令對所述視頻輸入數(shù)據(jù)選擇性地執(zhí)行一個或多個圖像處理操作,以產(chǎn)生所述視頻輸出數(shù)據(jù)和所述視頻顯示數(shù)據(jù);幀頻控制模塊,用于根據(jù)所述指令產(chǎn)生可編程的幀頻的所述視頻顯示數(shù)據(jù)和所述視頻輸出數(shù)據(jù);圖像尺寸控制模塊,用于根據(jù)所述指令產(chǎn)生可編程的圖像尺寸的所述視頻顯示數(shù)據(jù)和所述視頻輸出數(shù)據(jù);和色彩轉(zhuǎn)換模塊,其基于所述指令,根據(jù)第一色彩空間產(chǎn)生用于被所述VBE處理的所述視頻輸出數(shù)據(jù),和根據(jù)第二色彩空間產(chǎn)生用于被所述取景器驅(qū)動器顯示的所述視頻顯示數(shù)據(jù)。
17.如權(quán)利要求16所述的設(shè)備,其中所述VFE進一步包括根據(jù)所述指令顯示所述視頻顯示數(shù)據(jù)的取景器驅(qū)動器,其中所述取景器驅(qū)動器根據(jù)所述指令調(diào)用所述幀頻控制模塊和所述圖像尺寸控制模塊以用于取景器的幀頻或圖像尺寸產(chǎn)生所述視頻顯示數(shù)據(jù)。
18.如權(quán)利要求14所述的設(shè)備,其中所述可編程接口允許所述外部設(shè)備為每個所述視頻輸入數(shù)據(jù)、所述視頻輸出數(shù)據(jù)、所述視頻顯示數(shù)據(jù)程控地設(shè)置幀行距,每行的象素數(shù),幀列高,每幀的行數(shù)和輸入圖像格式。
19.如權(quán)利要求14所述的設(shè)備,其中所述可編程接口允許所述外部設(shè)備為所述視頻輸出數(shù)據(jù)和所述視頻顯示數(shù)據(jù)程控地設(shè)置色彩空間。
20.如權(quán)利要求14所述的設(shè)備,其中所述可編程接口允許所述控制器程控地指定用于從所述視頻輸入數(shù)據(jù)選擇要丟掉的幀的第一位模式和用于從所述視頻輸入數(shù)據(jù)的每幀中選擇要丟掉的X和Y象素的第二位模式,以產(chǎn)生所述視頻輸出數(shù)據(jù)。
21.如權(quán)利要求14所述的設(shè)備,其中所述可編程接口支持捕捉指令以程控地開始由所述VFE執(zhí)行的所述視頻輸入數(shù)據(jù)的捕捉,支持空閑指令以程控地結(jié)束視頻數(shù)據(jù)的捕捉,和支持配置指令以程控地控制視頻數(shù)據(jù)的所述捕捉和處理。
22.如權(quán)利要求14所述的設(shè)備,其中執(zhí)行所述VFE的所述設(shè)備和所述外部設(shè)備包括可編程處理器,并且所述VFE的可編程接口包括可編程處理器間接口以從所述外部設(shè)備接收指令。
23.如權(quán)利要求22所述的設(shè)備,其中所述可編程處理器間接口包括從所述控制器接收所述指令的可編程指令寄存器;存儲與所述指令相關(guān)的參數(shù)的可編程指令緩沖器;和將狀態(tài)從所述VFE傳送到所述控制器的狀態(tài)寄存器。
24.如權(quán)利要求14所述的設(shè)備,其中所述設(shè)備包括視頻編碼/解碼器(CODEC)。
25.如權(quán)利要求14所述的設(shè)備,其中所述設(shè)備包括提供用于所述VFE執(zhí)行的所述操作環(huán)境的數(shù)字信號處理器(DSP)。
26.一種設(shè)備包括從主設(shè)備程控地接收指令的裝置;根據(jù)所述指令捕捉和預處理視頻輸入數(shù)據(jù)以產(chǎn)生視頻輸出數(shù)據(jù)和視頻顯示數(shù)據(jù)的裝置;和從所述視頻輸出數(shù)據(jù)產(chǎn)生視頻數(shù)據(jù)的編碼序列的裝置。
27.如權(quán)利要求26所述的設(shè)備,其中所述接收裝置支持用于定義第一圖像格式和第二圖像格式的參數(shù),并且所述捕捉和預處理裝置基于所述指令根據(jù)所述第一圖像格式產(chǎn)生所述視頻輸出數(shù)據(jù)并根據(jù)所述第二圖像格式產(chǎn)生所述視頻顯示數(shù)據(jù)。
28.如權(quán)利要求26所述的設(shè)備,其中所述捕捉和預處理裝置進一步包括幀頻減小裝置,用于根據(jù)所述指令以可編程的幀頻產(chǎn)生所述視頻輸出數(shù)據(jù)和所述視頻顯示數(shù)據(jù);子采樣裝置,用于根據(jù)所述指令以可編程的圖像尺寸產(chǎn)生所述視頻輸出數(shù)據(jù)和視頻顯示數(shù)據(jù);取景器驅(qū)動器裝置,用于根據(jù)所述指令顯示所述視頻顯示數(shù)據(jù),其中所述取景器驅(qū)動器裝置根據(jù)所述指令調(diào)用所述幀頻控制模塊和圖像尺寸控制模塊以用于取景器的幀頻或圖像尺寸產(chǎn)生所述視頻顯示數(shù)據(jù);和色彩轉(zhuǎn)換裝置,用于基于所述指令根據(jù)第一色彩空間產(chǎn)生用于被所述VBE處理的所述視頻輸出數(shù)據(jù)和根據(jù)第二色彩空間產(chǎn)生所述視頻顯示數(shù)據(jù)。
29.如權(quán)利要求26所述的設(shè)備,其中所述可編程接口允許所述主設(shè)備為每個所述視頻輸入數(shù)據(jù)、所述視頻輸出數(shù)據(jù)、所述視頻顯示數(shù)據(jù)程控地設(shè)置幀行距、每行的象素數(shù)、幀列高、每幀的行數(shù)和輸入圖像格式。
30.如權(quán)利要求26所述的設(shè)備,其中所述可編程接口允許所述主設(shè)備為所述視頻輸出數(shù)據(jù)和所述視頻顯示數(shù)據(jù)程控地設(shè)置色彩空間。
31.如權(quán)利要求26所述的設(shè)備,其中所述接收裝置允許所述主設(shè)備程控地設(shè)置用于顯示所述視頻顯示數(shù)據(jù)的象素計數(shù)器和行計數(shù)器,設(shè)置用于從所述視頻輸入數(shù)據(jù)選擇要丟掉的幀的位模式以產(chǎn)生所述視頻輸出數(shù)據(jù),和設(shè)置用于從所述視頻輸入數(shù)據(jù)的每幀中選擇要丟掉的X和Y象素的位模式以產(chǎn)生所述視頻輸出數(shù)據(jù)。
32.如權(quán)利要求26所述的設(shè)備,其中所述接收裝置包括處理器間通信裝置包括從所述主設(shè)備接收所述指令和與所述指令相關(guān)的參數(shù)的裝置;和將狀態(tài)從所述捕捉和預處理裝置傳送到所述主設(shè)備的裝置。
33.一種方法包括通過處理器間接口從主設(shè)備程控地接收指令;根據(jù)所述指令通過從設(shè)備捕捉和預處理視頻輸入數(shù)據(jù)以第一圖像格式產(chǎn)生視頻輸出數(shù)據(jù)并以第二圖像格式產(chǎn)生視頻顯示數(shù)據(jù);將所述視頻輸出數(shù)據(jù)傳送到編碼器以產(chǎn)生視頻數(shù)據(jù)的編碼序列;和將所述視頻顯示數(shù)據(jù)傳送到輸出設(shè)備來顯示。
34.如權(quán)利要求33所述的方法,其中捕捉和預處理所述視頻輸入數(shù)據(jù)包括根據(jù)所述指令以可編程的幀頻和以可編程的圖像尺寸產(chǎn)生所述視頻輸出數(shù)據(jù)和所述視頻顯示數(shù)據(jù)。
35.如權(quán)利要求33所述的方法,其中捕捉和預處理所述視頻輸入數(shù)據(jù)包括基于所述指令根據(jù)第一色彩空間產(chǎn)生用于被所述VBE處理的所述視頻輸出數(shù)據(jù)和根據(jù)第二色彩空間產(chǎn)生所述視頻顯示數(shù)據(jù)。
36.如權(quán)利要求33所述的方法,其中接收指令包括通過可被所述主設(shè)備和所述從設(shè)備訪問的可編程寄存器接收所述指令和與所述指令相關(guān)的參數(shù)。
37.一種設(shè)備包括發(fā)布圖像處理指令的主設(shè)備;和根據(jù)所述指令為視頻前端(VFE)和視頻后端(VBE)提供操作環(huán)境以編碼或解碼視頻序列的的從設(shè)備;其中所述VFE包括可編程接口以接收所述圖像處理指令,并且根據(jù)所述圖像處理指令,捕捉和預處理用于被所述VBE編碼的視頻序列并從所述VBE接收和處理解碼的視頻序列。
38.如權(quán)利要求37所述的設(shè)備,其中所述可編程接口支持用于定義第一圖像格式和第二圖像格式的參數(shù),并且所述VFE和所述VBE根據(jù)所述第一圖像格式交換所述視頻序列,并且所述VFE根據(jù)所述第二圖像格式顯示所述視頻序列。
39.如權(quán)利要求37所述的設(shè)備,其中所述主設(shè)備為每個所述圖像格式程控地設(shè)置幀行距、每行的象素數(shù)、幀列高和每幀的行數(shù)。
40.如權(quán)利要求37所述的設(shè)備,其中所述VFE包括幀頻控制模塊,該模塊根據(jù)所述指令以可編程的幀頻產(chǎn)生所述被交換的視頻序列和所述被顯示的視頻序列。
41.如權(quán)利要求37所述的設(shè)備,其中所述VFE包括圖像尺寸控制模塊,該模塊根據(jù)所述指令以可編程的圖像尺寸產(chǎn)生所述被交換的視頻序列和所述被顯示的視頻序列。
全文摘要
本文描述一種包括編碼/解碼器(CODEC)的設(shè)備,在該編碼/解碼器中,功能被劃分為視頻前端(VFE)和視頻后端(VBE)。VFE封裝功能和圖像處理操作以支持各種應(yīng)用,并提供靈活的處理器間接口,通過該接口外部主設(shè)備能很容易地控制這些操作。視頻后端(VBE)作為編碼器和/或解碼器工作以產(chǎn)生編碼和/或解碼視頻序列。VFE和VBE可在從設(shè)備提供的操作環(huán)境中工作。
文檔編號H04N5/445GK1757226SQ200480005609
公開日2006年4月5日 申請日期2004年1月30日 優(yōu)先權(quán)日2003年1月30日
發(fā)明者C·常 申請人:高通股份有限公司