專利名稱:采用雙等時型通用串行總線的攝像系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通用串行總線(Universal Serial Bus,USB)的技術(shù)領(lǐng)域,尤其涉及一種采用雙等時型通用串行總線的攝像系統(tǒng)及方法。
背景技術(shù):
隨著影像擷取技術(shù)的改變、影像處理技術(shù)的進步,影像擷取裝置由傳統(tǒng)相機發(fā)展為數(shù)字相機(digital camera),數(shù)字相機并成為目前普遍使用的影像擷取裝置。經(jīng)由數(shù)字相機所擷取的影像以數(shù)字影像文件(digital image file)的方式儲存,例如儲存于內(nèi)建式內(nèi)存(memory medium)或可抽換式記憶卡(memory card)中。由于數(shù)字相機的分辨率遠較其上的觀景窗的分辨率高,因此常使用通用串行總線(USB)將數(shù)字影像文件傳送至計算機,并使用計算機系統(tǒng)中的影像處理軟件進行影像處理。通用串行總線的傳輸可分為1、控制型傳輸(control transfer) ;2、中斷型傳輸(interrupt transfer) ;3、巨量型傳輸(bulk transfer) ;4、等時型傳輸(isochronous transfer),其中,等時型傳輸不考慮數(shù)據(jù)的錯誤,因此數(shù)字相機要傳影像到計算機時,均采用等時型傳輸,用以加快傳輸速度?,F(xiàn)有數(shù)字相機采用等時型傳輸時,其使用單一等時型傳輸(isochronous transfer) 0此時,計算機上的一驅(qū)動程序會開啟一影像數(shù)據(jù)流的傳輸信道,其呼叫 USBCAMD_SelectConfiguration()函數(shù),以獲得所需的通用串行總線(USB)頻寬及相關(guān)的編/解碼器,驅(qū)動程序并呼叫SBCAMD_Pr印areCharmel ()函數(shù),作為數(shù)字相機的影像數(shù)據(jù)流準備一影像傳輸信道,接著,再呼叫USBCAMD_ReadChannel()函數(shù),用以從影像傳輸信道讀取影像圖框。圖1為一現(xiàn)有通用串行總線上等時型傳輸時的示意圖,其使用一 USB協(xié)議分析儀 (USB protocol analyzer)量測通用串行總線而獲得。如圖1所示,封包122238的傳輸 (transfer)包含傳送(transaction) 20876、傳送 20877 及傳送 20878。封包 122245 的傳輸 (transfer)包含傳送(transaction) 20879 及傳送 20880。封包 122250 的傳輸(transfer) 包含傳送(transaction) 20881、傳送20882及傳送20883。不論哪一個封包,其均由數(shù)位相機的第一終點送出。這是由于現(xiàn)有技術(shù)中,數(shù)字相機中均只具有一個終點,而通用串行總線視頻類別(USB Video Class)中亦只支持一個終點。圖2為一現(xiàn)有驅(qū)動程序處理數(shù)據(jù)的示意圖。驅(qū)動程序依序?qū)魉?transaction) 20876、傳送20877及傳送20878的數(shù)據(jù)組成的封包1、傳送 (transaction) 20879及傳送20880的數(shù)據(jù)組成的封包2、傳送(transaction) 20881、傳送 20882及傳送20883的數(shù)據(jù)組成的封包3。其后步驟相同,不再贅述。當接收到一整個圖框數(shù)據(jù)后,驅(qū)動程序依序?qū)⒎獍?、封包2、封包3、…的數(shù)據(jù)復(fù)制至一個RawFrameBuffer緩沖器中。由于現(xiàn)有數(shù)字相機中均只具有一個終點且通用串行總線視頻類別(USB Video Class)中亦只支持一個終點,故驅(qū)動程序呼叫USBCAMD_SelectConfiguration函數(shù)時,僅能獲得24MB/sec的頻寬。然而,由于數(shù)字相機的分辨率日益增加,單一終點及相對應(yīng)的頻寬已經(jīng)無法快速將數(shù)字相機上的影像傳送至主機端,因此現(xiàn)有技術(shù)中,具有單一終點的USB 數(shù)字相機仍有改善空間。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種采用雙等時型通用串行總線(USB)的攝像系統(tǒng)及方法,從而能增加傳輸速度,以快速地將影像由攝像系統(tǒng)傳送至一主機端。依據(jù)本發(fā)明的一個方面,本發(fā)明提出一種采用雙等時型通用串行總線(USB)的攝像方法,其在一 USB攝影裝置及一主機裝置間傳送數(shù)據(jù),該USB攝影裝置具有一第一終點 (end point)及一第二終點,以將其所擷取的影像數(shù)據(jù)流,通過該兩個終點從該USB總線傳送,該主機裝置具有一 USB總線及一驅(qū)動單元(driver),通過該USB總線以接收該USB攝影裝置所傳送的影像數(shù)據(jù)流,及傳輸數(shù)據(jù)至該USB攝影裝置,該方法包含A)該驅(qū)動單元讀取該USB攝影裝置的影像數(shù)據(jù)流;B)該驅(qū)動單元對該第一終點及該第二終點產(chǎn)生一讀取延伸數(shù)據(jù)結(jié)構(gòu),以處理該USB攝影裝置的該第一終點及該第二終點的封包;C)該驅(qū)動單元派遣經(jīng)由該USB總線收到的封包;D)該驅(qū)動單元分別處理該第一終點及該第二終點的封包, 并將第一終點的封包及第二終點的封包中的數(shù)據(jù),復(fù)制至一第一緩沖區(qū)及一第二緩沖區(qū); E)該驅(qū)動單元判斷該第一終點的封包是否有一結(jié)束圖框旗標被設(shè)定且該第二終點的封包是否有一結(jié)束圖框旗標被設(shè)定;F)當該驅(qū)動單元判定該第一終點的封包中的該結(jié)束圖框旗標被設(shè)定且該的二終點的封包中的該結(jié)束圖框旗標被設(shè)定,該驅(qū)動單元將該第一緩沖區(qū)及該第二緩沖區(qū)中的數(shù)據(jù)組合成一圖框,并傳送給該主機裝置。依據(jù)本發(fā)明的另一方面,本發(fā)明提出一種采用雙等時型通用串行總線(USB)的攝像系統(tǒng),主要包括一 USB攝影裝置、及一主機裝置。該USB攝影裝置具有第一終點及第二終點(end point),以將其所擷取的影像數(shù)據(jù)流,通過該兩個終點從該USB總線傳送。該主機裝置具有一 USB總線及一驅(qū)動單元(driver),通過該USB總線以接收該USB攝影裝置所傳送的影像數(shù)據(jù)流,及傳輸數(shù)據(jù)至該USB攝影裝置;其中,如該驅(qū)動單元讀取該USB攝影裝置的影像數(shù)據(jù)流,并對該第一終點及該第二終點產(chǎn)生一讀取延伸數(shù)據(jù)結(jié)構(gòu),以處理該USB攝影裝置的該第一終點及該第二終點的封包,再派遣經(jīng)由該USB總線收到的封包,同時分別處理該第一終點及該第二終點的封包,并將該第一終點的封包及該第二終點的封包中的數(shù)據(jù),復(fù)制至一第一緩沖區(qū)及一第二緩沖區(qū),又判斷該第一終點的封包中是否有一結(jié)束圖框旗標被設(shè)定且該第二終點的封包中是否有一結(jié)束圖框旗標被設(shè)定,當該驅(qū)動單元判定該第一終點的封包中的該結(jié)束圖框旗標被設(shè)定且該第二終點的封包中的該結(jié)束圖框旗標被設(shè)定,該驅(qū)動單元將該第一緩沖區(qū)及該第二緩沖區(qū)中的數(shù)據(jù)組合成一圖框,并傳送給該主機裝置。
圖1為一現(xiàn)有通用串行總線上等時型傳輸時的示意圖。圖2為一現(xiàn)有驅(qū)動程序處理數(shù)據(jù)的示意圖。圖3為本發(fā)明一優(yōu)選實施例的采用雙等時型通用串行總線的攝像系統(tǒng)的系統(tǒng)示意圖。圖4為本發(fā)明一優(yōu)選實施例的采用雙等時型通用串行總線的攝像方法的流程圖, 圖5為本發(fā)明USBCAMD_ReadExtension數(shù)據(jù)結(jié)構(gòu)的示意圖。 圖6為本發(fā)明_USBCAMD_DUALISO_EXTENSION數(shù)據(jù)結(jié)構(gòu)的示意圖。 圖7為本發(fā)明USBCAMD_ReadChannel數(shù)據(jù)結(jié)構(gòu)的示意圖。 圖8為本發(fā)明步驟D)的詳細流程圖。 圖9為本發(fā)明通用串行總線上等時型傳輸時的示意圖。 圖10為本發(fā)明驅(qū)動單元處理數(shù)據(jù)的示意圖。主要組件符號說明
310 USB攝影裝置 321 驅(qū)動單元 323第一緩沖區(qū) 327結(jié)束圖框旗標 311第一終點 (A) (F)步驟
320主機裝置 322通用串行總線 325第二緩沖區(qū) 329結(jié)束圖框旗標 313第二終點 (Dl) (D37)步驟
具體實施例方式本發(fā)明是關(guān)于一種采用雙等時型通用串行總線的攝像系統(tǒng)及方法,圖3為本發(fā)明一優(yōu)選實施例的采用雙等時型通用串行總線的攝像系統(tǒng)的系統(tǒng)示意圖。如圖3所示,本發(fā)明包括一 USB攝影裝置310及一主機裝置320。該USB攝影裝置310通過一通用串行總線 322,而與該主機裝置320連接。該USB攝影裝置310具有第一終點311及第二終點313,以將其所擷取的影像數(shù)據(jù)流,通過該兩個終點311,313從該USB總線322傳送。該主機裝置320其具有該USB總線322及一驅(qū)動單元(driver) 321,通過該USB總線322用以接收該USB攝影裝置3t0所傳送的影像數(shù)據(jù)流,及傳輸數(shù)據(jù)至該USB攝影裝置 310。其中,如該驅(qū)動單元321讀取該USB攝影裝置310的影像數(shù)據(jù)流,并分別對該第一終點311及該第二終點313產(chǎn)生讀取延伸數(shù)據(jù)結(jié)構(gòu),用以處理該USB攝影裝置310的該第一終點311及該第二終點313的封包。再派遣經(jīng)由該USB總線322收到的封包,同時分別處理該第一終點311及該第二終點313的封包,并將該第一終點311的封包及該第二終點 313的封包中的數(shù)據(jù),復(fù)制至一第一緩沖區(qū)323及一第二緩沖區(qū)325,其中,分別判斷該第一終點的封包中是否有一結(jié)束圖框旗標327被設(shè)定,以及該第二終點的封包中是否有一結(jié)束圖框旗標3 被設(shè)定,當該驅(qū)動單元321判定該第一終點311的封包中的該結(jié)束圖框旗標 327被設(shè)定且該第二終點313的封包中的該結(jié)束圖框旗標3 被設(shè)定,該驅(qū)動單元321將該第一緩沖區(qū)323及該第二緩沖區(qū)325中的數(shù)據(jù)組合成一圖框,進而傳送給該主機裝置320。圖4為本發(fā)明一優(yōu)選實施例的采用雙等時型通用串行總線的攝像方法的流程圖, 其在一 USB攝影裝置310及一主機裝置320間傳送數(shù)據(jù),一并參照圖3,該USB攝影裝置 310具有一第一終點311及一第二終點313,以將其所擷取的影像數(shù)據(jù)流,通過該兩個終點311,313從該USB總線322傳送,該主機裝置320具有一 USB總線322及一驅(qū)動單元 (driver) 321,通過該USB總線322以接收該USB攝影裝置310所傳送的影像數(shù)據(jù)流,及傳輸數(shù)據(jù)至該USB攝影裝置310。首先,在步驟A中,該驅(qū)動單元321讀取該USB攝影裝置310 的影像數(shù)據(jù)流。其中,在步驟A中,該驅(qū)動單元321使用一 USBCAMD_ReadChannel函數(shù),以讀取該USB攝影裝置的影像數(shù)據(jù)流,其中,該USB攝影裝置310及該主機裝置320間以等時型傳輸(isochronous transfer)傳送數(shù)據(jù)。在步驟B中,該驅(qū)動單元321對該第一終點311及該第二終點313產(chǎn)生一讀取延伸數(shù)據(jù)結(jié)構(gòu),用以處理該USB攝影裝置310的該第一終點及該第二終點的封包,其中,在步驟B中,該驅(qū)動單元產(chǎn)生該USBCAMD_ReadExtensi0n讀取延伸數(shù)據(jù)結(jié)構(gòu),用以處理該USB攝影裝置的兩個終點的封包。圖5為本發(fā)明USBCAiffLReadExtension數(shù)據(jù)結(jié)構(gòu)的示意圖。圖6為本發(fā)明_ USBCAMD_DUALISO_EXTENSION 數(shù)據(jù)結(jié)構(gòu)的示意圖。圖 7 為本發(fā)明 USBCAMD_ReadChannel 數(shù)據(jù)結(jié)構(gòu)的示意圖。其中,pIS01、pIS02、IS01_Start、IS02_Start、…用以處理該第一緩沖區(qū)323及該第二緩沖區(qū)325。本領(lǐng)域技術(shù)人員依據(jù)本發(fā)明數(shù)據(jù)結(jié)構(gòu),即可知悉該驅(qū)動單元 321處理該第一終點及該第二終點的封包的相關(guān)運作,在此不再贅述。在步驟C中,該驅(qū)動單元321派遣經(jīng)由該USB總線322收到的封包。在步驟D中,該驅(qū)動單元321分別處理該第一終點311及該第二終點313的封包, 并將第一終點311的封包及第二終點313的封包中的數(shù)據(jù),復(fù)制至一第一緩沖區(qū)323及一第二緩沖區(qū)325。在步驟E中,該驅(qū)動單元321判斷該第一終點311的封包是否有一結(jié)束圖框旗標 327被設(shè)定,以及該第二終點313的封包是否有一結(jié)束圖框旗標3 被設(shè)定。在步驟F中,當該驅(qū)動單元321判定該第一終點311的封包中的該結(jié)束圖框旗標 327被設(shè)定,且該第二終點313的封包中的該結(jié)束圖框旗標3 被設(shè)定,該驅(qū)動單元321將該第一緩沖區(qū)323及該第二緩沖區(qū)325中的數(shù)據(jù)組合成一圖框,并傳送給該主機裝置320。在步驟E中,當該驅(qū)動單元321判定該第一終點311的封包中的該結(jié)束圖框旗標 327尚未被設(shè)定或該第二終點313的封包中的該結(jié)束圖框旗標3 尚未被設(shè)定,該驅(qū)動單元 321執(zhí)行步驟C。圖8為本發(fā)明步驟D的詳細流程圖。在步驟Dl中,呼叫一 USBCAMD_ TransferComplete函數(shù),以結(jié)束該第一終點311的一封包的傳輸。當該驅(qū)動單元321向該第一終點311發(fā)出要數(shù)據(jù)的要求后,即會跳到其它執(zhí)行緒(Thread)去做別的事情。操作系統(tǒng)等到從該第一終點311將數(shù)據(jù)接收完成后,操作系統(tǒng)再呼叫USBCAMD_TransferC0mplete 函數(shù),跳回USBCAMD_TransferComplete函數(shù)用以處理剛剛收到的數(shù)據(jù)。在步驟D3中,判斷步驟Dl中該封包是否為一新圖框封包。若步驟D3中判定該封包不為一新圖框封包時,在步驟D5中,將第一終點311的封包中的數(shù)據(jù)復(fù)制至該第一緩沖區(qū)323,設(shè)定USBCAMD_ReadExtension數(shù)據(jù)結(jié)構(gòu)相關(guān)字段,并重回步驟C。若步驟D3中判定該封包為一新圖框封包時,在步驟D7中,再判斷該第二終點313 的封包中是否有一結(jié)束圖框旗標3 被設(shè)定。在步驟D7中,若判定該第二終點313的封包中的該結(jié)束圖框旗標3 沒有被設(shè)定,則在步驟D9中設(shè)定該第一終點311的封包中的該結(jié)束圖框旗標327,并執(zhí)行步驟D11。在步驟D7中判定該第二終點313的封包中的該結(jié)束圖框旗標3 被設(shè)定,則在步驟 D15 中呼叫一 USBCAMD_CompIeteReadRequest 函數(shù),并執(zhí)行步驟 Dl 1。
在步驟Dll中,判斷是否有該第一終點311的一新的讀取延伸數(shù)據(jù)結(jié)構(gòu)。若步驟Dll判定有該第一終點311的新的讀取延伸數(shù)據(jù)結(jié)構(gòu),則在步驟D13中讀取數(shù)據(jù)及設(shè)定信息至該新的讀取延伸數(shù)據(jù)結(jié)構(gòu),并重回步驟C。若在步驟Dll中若判定沒有該第一終點311的新的讀取延伸數(shù)據(jù)結(jié)構(gòu),則在步驟D17中產(chǎn)生一新的讀取延伸數(shù)據(jù)結(jié)構(gòu), 并重回步驟D13。在步驟D21中,呼叫一 USBCAMD_TransferComplete函數(shù),用以結(jié)束于該第二終點 313的一封包的傳輸。在步驟D23中,判斷步驟D21中該封包是否為一新圖框封包。若步驟D23中判定該封包不為一新圖框封包時,在步驟D25中,將第二終點313的封包中的數(shù)據(jù),復(fù)制至該第二緩沖區(qū)325,并設(shè)定USBCAMD_ReadEXtensi0n數(shù)據(jù)結(jié)構(gòu)相關(guān)字段,接著重回步驟C。若在步驟D23中判定該封包為一新圖框封包時,在步驟D27中,再判斷該第一終點 311的封包是否有一結(jié)束圖框旗標327被設(shè)定。在步驟D27中,若判定該第一終點311的封包中的該結(jié)束圖框旗標327沒有被設(shè)定,則在步驟擬9中設(shè)定該第二終點313的封包中的該結(jié)束圖框旗標329,并執(zhí)行步驟D31。在步驟D27中判定該第一終點311的封包中的該結(jié)束圖框旗標3 被設(shè)定,則在步驟 D!35 中呼叫一 USBCAMD_CompleteReadRequest 函數(shù),并執(zhí)行步驟 D31。在步驟D31中,判斷是否有該第二終點313的一新的讀取延伸數(shù)據(jù)結(jié)構(gòu)。若步驟D31判定有該第二終點313的一新的讀取延伸數(shù)據(jù)結(jié)構(gòu),則在步驟D33中讀取數(shù)據(jù)及設(shè)定信息至該新的讀取延伸數(shù)據(jù)結(jié)構(gòu),并重回步驟C。若在步驟D31中若判定沒有該第二終點313的一新的讀取延伸數(shù)據(jù)結(jié)構(gòu),則在步驟D37中產(chǎn)生一新的讀取延伸數(shù)據(jù)結(jié)構(gòu),并重回步驟D33。當在步驟D3中判定該封包為一新圖框封包且在步驟D7中判定該第二終點的封包中的該結(jié)束圖框旗標3 被設(shè)定時,表示該第一終點311及該第二終點313所傳送的圖框封包已經(jīng)結(jié)束,所以在步驟D15中呼叫一 USBCAMD_CompleteReadRequest函數(shù)以完成圖框數(shù)據(jù)傳送。在步驟D23亦是如此,不再贅述。圖9為本發(fā)明通用串行總線上等時型傳輸時的示意圖,其使用一 USB協(xié)議分析儀量測通用串行總線而獲得。如圖9所示,封包10的傳輸(transfer)包含傳送 (transaction) 5、傳送6、傳送7、傳送8、傳送9、及傳送10。封包23的傳輸(transfer)包含傳送(transaction) 11、傳送12、傳送13、傳送14、傳送15、及傳送16。傳送5、傳送6、傳送7、傳送11、傳送12、傳送13則來自該USB攝影裝置310的該第一終點311,而傳送8、傳送9、傳送10、傳送14、傳送15、及傳送16則來自該USB攝影裝置310的該第二終點313。圖10為本發(fā)明驅(qū)動單元321處理數(shù)據(jù)的示意圖。驅(qū)動單元依序?qū)魉?(transaction) 5、傳送6及傳送7的數(shù)據(jù)組成封包1、傳送(transaction) 8、傳送9及傳送 10的數(shù)據(jù)組成封包2。其后步驟相同,不再贅述。綜上所述,現(xiàn)有技術(shù)由于只有一個終點,因此其最大的傳輸頻寬為24MB/sec, 由圖1中可看出,在一個傳輸(transfer)時間(125ysec)中,最多只能有三個傳送 (transaction)。然而,本發(fā)明的USB攝影裝置310既有該第一終點311及該第二終點313, 其在USB設(shè)置(USBConfiguration)可獲得48MB/sec的傳輸頻寬,亦即兩倍的傳輸頻寬,由圖9中可明顯看出,在一個傳輸(transfer)時間(125ysec)中,本發(fā)明最多能有六個傳送(transaction),其分別為來自該第一終點311的三個傳送及來自該第二終點313的三個傳送?,F(xiàn)有USB數(shù)字相機的驅(qū)動程序只能支持一個終點,即使現(xiàn)有數(shù)字相機增加硬設(shè)備使其具有二個終點,其受到現(xiàn)有的驅(qū)動程序的限制,亦無法在有二個終點情況下正常工作。由前述說明可知,本發(fā)明提供一種采用雙等時型通用串行總線(USB)的攝像系統(tǒng)及方法,其使一 USB數(shù)字相機具有二個終點,同時更改現(xiàn)有USB數(shù)字相機的驅(qū)動程序,從而能增加傳輸速度,用以快速地將影像于攝像系統(tǒng)傳送至一主機端。由上述可知,本發(fā)明無論就目的、手段及功效,在在均顯示其迥異于現(xiàn)有技術(shù)的特征,極具實用價值。但是應(yīng)注意的是,上述諸多實施例僅為了便于說明而舉例而已,本發(fā)明所主張的權(quán)利范圍自應(yīng)以權(quán)利要求書所述為準,而非僅限于上述實施例。
權(quán)利要求
1.一種采用雙等時型USB的攝像方法,其應(yīng)用于一 USB攝影裝置及一主機裝置間傳送數(shù)據(jù),該USB攝影裝置具有一第一終點及一第二終點,用以將其所擷取的影像數(shù)據(jù)流,通過該第一終點與該第二終點傳送,該主機裝置具有一 USB總線及一驅(qū)動單元,通過該USB總線以接收該USB攝影裝置所擷取的該影像數(shù)據(jù)流,該方法包含A)該驅(qū)動單元讀取該USB攝影裝置的該影像數(shù)據(jù)流;B)該驅(qū)動單元分別對該第一終點及該第二終點產(chǎn)生相對應(yīng)的一讀取延伸數(shù)據(jù)結(jié)構(gòu),用以處理該USB攝影裝置的該第一終點及該第二終點的封包;C)該驅(qū)動單元派遣經(jīng)由該USB總線所收到的封包;D)該驅(qū)動單元分別處理該第一終點及該第二終點的封包,并將其復(fù)制至一第一緩沖區(qū)及一第二緩沖區(qū);E)該驅(qū)動單元判斷該第一終點的封包中一結(jié)束圖框旗標是否被設(shè)定,以及該第二終點的封包中一結(jié)束圖框旗標是否被設(shè)定;以及F)當該驅(qū)動單元判定該第一終點的封包中的該結(jié)束圖框旗標被設(shè)定,以及該第二終點的封包中的該結(jié)束圖框旗標被設(shè)定,該驅(qū)動單元將該第一緩沖區(qū)及該第二緩沖區(qū)中的數(shù)據(jù)組合成一圖框,進而傳送給該主機裝置。
2.如權(quán)利要求1所述的采用雙等時型USB的攝像方法,其特征在于,在步驟F)中,當該驅(qū)動單元判定該第一終點的封包中的該結(jié)束圖框旗標沒有被設(shè)定,或該第二終點的封包中的該結(jié)束圖框旗標沒有被設(shè)定,該驅(qū)動單元執(zhí)行步驟C)。
3.如權(quán)利要求1所述的采用雙等時型USB的攝像方法,其特征在于,在步驟A)中,該驅(qū)動單元使用一 USBCAMD_ReadChannel函數(shù),用以讀取該USB攝影裝置的該影像數(shù)據(jù)流。
4.如權(quán)利要求3所述的采用雙等時型USB的攝像方法,其特征在于,該USB攝影裝置及該主機裝置之間以等時型傳輸用以傳送數(shù)據(jù)。
5.如權(quán)利要求3所述的采用雙等時型USB的攝像方法,其特征在于,在步驟B)中,該驅(qū)動單元產(chǎn)生一 USBCAMD_ReadEXtensi0n數(shù)據(jù)結(jié)構(gòu),以處理該USB攝影裝置的該第一終點與該第二終點的封包。
6.如權(quán)利要求5所述的采用雙等時型USB的攝像方法,其特征在于,步驟D)還包含 Dl)呼叫一 USBCAMD_TransferCompIete函數(shù),用以結(jié)束于該第一終點的一封包的傳輸;D3)判斷步驟Dl)中該封包是否為一新圖框封包;以及D5)若步驟D3)的判斷為否,將該第一終點的封包復(fù)制至該第一緩沖區(qū),并重回步驟C)。
7.如權(quán)利要求6所述的采用雙等時型USB的攝像方法,其特征在于,步驟D)還包含 D7)若步驟D3)中判定該封包為前述新圖框封包,再判斷該第二終點的封包中是否具有該結(jié)束圖框旗標被設(shè)定;D9)若判定該第二終點的封包中的該結(jié)束圖框旗標沒有被設(shè)定,則設(shè)定該第一終點的封包中的該結(jié)束圖框旗標;以及Dll)判斷是否于該第一終點有一新的讀取延伸數(shù)據(jù)結(jié)構(gòu);以及 D13)若步驟Dll)判定于該第一終點有前述新的讀取延伸數(shù)據(jù)結(jié)構(gòu),則讀取數(shù)據(jù)及設(shè)定信息至該新的讀取延伸數(shù)據(jù)結(jié)構(gòu),并重回步驟C)。
8.如權(quán)利要求7所述的采用雙等時型USB的攝像方法,其特征在于,步驟D)還包含 D15)若判定該第二終點的封包中的該結(jié)束圖框旗標被設(shè)定,則呼叫一 USBCAMD_CompleteReadRequest 函數(shù),并執(zhí)行步驟 Dll)。
9.如權(quán)利要求7所述的采用雙等時型USB的攝像方法,其特征在于,步驟D)還包含 D17)在步驟Dll)中,若判定沒有該第一終點的一新的讀取延伸數(shù)據(jù)結(jié)構(gòu),則產(chǎn)生前述新的讀取延伸數(shù)據(jù)結(jié)構(gòu),并重回步驟D13)。
10.如權(quán)利要求5所述的采用雙等時型USB的攝像方法,其特征在于,步驟D)還包含 D21)呼叫一 USBCAMD_TransferCompIete函數(shù),用以結(jié)束該第二終點的一封包的傳輸; D23)判斷步驟D21)中該封包是否為一新圖框封包;以及D25)若步驟D23)的判斷為否,將該第二終點的封包復(fù)制至該第二緩沖區(qū),并重回步驟C)。
11.如權(quán)利要求10所述的采用雙等時型USB的攝像方法,其特征在于,步驟D)還包含 D27)若在步驟D2!3)中判定該封包為該新圖框封包,再判斷該第一終點的封包是否具有該結(jié)束圖框旗標被設(shè)定;D29)若判定該第一終點的封包中的該結(jié)束圖框旗標沒有被設(shè)定,則設(shè)定該第二終點的封包中的該結(jié)束圖框旗標;以及D31)判斷是否有該第二終點的一新的讀取延伸數(shù)據(jù)結(jié)構(gòu);以及 D33)若步驟D31)判定有該第二終點的該新的讀取延伸數(shù)據(jù)結(jié)構(gòu),則讀取數(shù)據(jù)及設(shè)定信息至該新的讀取延伸數(shù)據(jù)結(jié)構(gòu),并重回步驟C)。
12.如權(quán)利要求11所述的采用雙等時型USB的攝像方法,其特征在于中,步驟D)還包含D35)在步驟D27)中判定該第一終點的封包中的該結(jié)束圖框旗標被設(shè)定,則呼叫一 USBCAMD_CompleteReadRequest 函數(shù),并執(zhí)行步驟 D31)。
13.如權(quán)利要求12所述的采用雙等時型USB的攝像方法,其特征在于,步驟D)還包含 D37)在步驟D31)中若判定沒有該第二終點的該新的讀取延伸數(shù)據(jù)結(jié)構(gòu),則產(chǎn)生該新的讀取延伸數(shù)據(jù)結(jié)構(gòu),并重回步驟D33)。
14.一種采用雙等時型USB的攝像系統(tǒng),主要包括一 USB攝影裝置,其具有第一終點及第二終點,用以將影像數(shù)據(jù)流,通過該第一終點與該第二進行傳送;以及一主機裝置,其具有一 USB總線及一驅(qū)動單元,通過該USB總線用以接收該USB攝影裝置的該影像數(shù)據(jù)流;其中,當該驅(qū)動單元讀取該USB攝影裝置中的該影像數(shù)據(jù)流,并對該第一終點及該第二終點產(chǎn)生一讀取延伸數(shù)據(jù)結(jié)構(gòu),用以處理通過該第一終點及該第二終點所傳送的封包, 進而派遣經(jīng)由該USB總線收到的封包,并將該第一終點的封包及該第二終點的封包分別地復(fù)制至一第一緩沖區(qū)及一第二緩沖區(qū),當中,當該驅(qū)動單元判定該第一終點的封包中的結(jié)束圖框旗標被設(shè)定且該第二終點的封包中的結(jié)束圖框旗標被設(shè)定,該驅(qū)動單元進而將該第一緩沖區(qū)及該第二緩沖區(qū)中的數(shù)據(jù)組合成一圖框,并傳送給該主機裝置。
15.如權(quán)利要求14所述的采用雙等時型USB的攝像系統(tǒng),其特征在于,該驅(qū)動單元使用一 USBCAMD_ReadChannel函數(shù),用以讀取該USB攝影裝置的該影像數(shù)據(jù)流。
16.如權(quán)利要求15所述的采用雙等時型USB的攝像系統(tǒng),其特征在于,該USB攝影裝置及該主機裝置之間以等時型傳輸進行數(shù)據(jù)的傳送。
17.如權(quán)利要求16所述的采用雙等時型USB的攝像系統(tǒng),其特征在于,該驅(qū)動單元產(chǎn)生一 USBCAMD_ReadExtension數(shù)據(jù)結(jié)構(gòu),用以處理通過該USB攝影裝置中的該第一終點與該第二終點所欲傳送的封包。
全文摘要
本發(fā)明提供一種采用雙等時型通用串行總線的攝像系統(tǒng)及方法,其具有USB攝影裝置將所擷取的影像數(shù)據(jù)流,通過兩個終點從USB接口傳送。一主機裝置通過USB以接收影像數(shù)據(jù)流,一驅(qū)動單元讀取影像數(shù)據(jù)流,并對第一及第二終點產(chǎn)生讀取延伸數(shù)據(jù)結(jié)構(gòu),用以處理第一及第二終點的封包,接著,派遣所收到的封包,同時分別將第一及第二終點的封包數(shù)據(jù)復(fù)制至一第一及一第二緩沖區(qū),當?shù)谝唤K點的封包中的該結(jié)束圖框旗標被設(shè)定,以及第二終點的封包中的該結(jié)束圖框旗標被設(shè)定,將該第一及第二緩沖區(qū)中的數(shù)據(jù)組合成一圖框,進而傳送給主機裝置。
文檔編號H04N5/232GK102263938SQ20101019251
公開日2011年11月30日 申請日期2010年5月27日 優(yōu)先權(quán)日2010年5月27日
發(fā)明者林建中, 蕭光廷, 鄧己正 申請人:凌陽創(chuàng)新科技股份有限公司