專利名稱:通過接口從計(jì)算機(jī)到客戶端的音頻和視頻數(shù)據(jù)的同步傳輸?shù)闹谱鞣椒?br>
技術(shù)領(lǐng)域:
本發(fā)明廣泛涉及通過網(wǎng)絡(luò)進(jìn)行通信的器件。明確地說,本發(fā)明涉及以不同傳輸速率傳輸和接收數(shù)據(jù)的器件之間的數(shù)據(jù)流量管理。更明確地說,本發(fā)明涉及通過監(jiān)視緩沖器和根據(jù)緩沖器狀態(tài)調(diào)整數(shù)據(jù)傳輸而通過一緩沖器控制數(shù)據(jù)流量。
背景技術(shù):
“總線”是互連兩個或兩個以上電器件的信號的集合,其允許一個器件向一個或一個以上其他器件傳輸信息。計(jì)算機(jī)和計(jì)算機(jī)相關(guān)產(chǎn)品中使用許多不同類型的總線。實(shí)例包括周邊元件互連(“PCI”)總線、工業(yè)標(biāo)準(zhǔn)架構(gòu)(“ISA”)總線和通用串行總線(“USB”),僅舉幾個例子。通常由一個標(biāo)準(zhǔn)定義總線的操作,這個標(biāo)準(zhǔn)指定各種相關(guān)的事,諸如這個總線的電特性、如何通過這個總線傳輸數(shù)據(jù)、如何確認(rèn)對數(shù)據(jù)的請求等。使用一總線來執(zhí)行一個諸如傳輸數(shù)據(jù)、請求數(shù)據(jù)等的活動通常被稱為運(yùn)行一個“循環(huán)”。標(biāo)準(zhǔn)化一總線協(xié)議幫助確保連接到這個總線的器件之間的有效通信,即使這些器件是由不同制造商所制造的。任一希望制造和出售一在一特殊總線上使用的器件的公司為那個器件提供一個這個器件將連接的總線獨(dú)有的接口。設(shè)計(jì)一個特殊總線標(biāo)準(zhǔn)的器件確保所述器件將能夠與連接到這個相同總線的所有其它器件正確地進(jìn)行通信,即使這些其它器件是由不同制造商所制造的。因此,舉例來說,一個為在一PCI總線上操作而設(shè)計(jì)的內(nèi)部傳真機(jī)/調(diào)制解調(diào)器(也就是個人計(jì)算機(jī)內(nèi)部)將能夠向這個PCI總線上的其他器件傳輸數(shù)據(jù)和從這些其他器件接收數(shù)據(jù),即使這個PCI總線上的每一器件都是由一個不同制造商所制造的。
目前,市場正推動將一總線接口并入各種類型的消費(fèi)性電子設(shè)備,所述總線接口允許將這種設(shè)備連接到具有一相應(yīng)總線接口的其他設(shè)備。舉例來說,具有一IEEE 1394總線接口的數(shù)碼相機(jī)、數(shù)字錄像機(jī)、數(shù)字視頻光盤(“DVD”)、打印機(jī)變得可購得。所述IEEE(“電氣電子工程師協(xié)會”)1394總線(例如)允許將一數(shù)碼相機(jī)連接到一打印機(jī)或計(jì)算機(jī),因此可將這個相機(jī)所獲得的圖像顯示在所述打印機(jī)上或者以電子方式存儲在所述計(jì)算機(jī)中。另外,可通過一IEEE 1394總線將數(shù)字電視耦接到一計(jì)算機(jī)或計(jì)算機(jī)網(wǎng)絡(luò)。
然而,存在許多器件沒有任何一種IEEE 1394接口。這帶來一個問題,這些器件不能夠如上文所描述與其它器件相連接。衷心需要克服這個問題來向器件提供連接,否則不能將這些器件連接到一IEEE 1394總線。
發(fā)明內(nèi)容
本發(fā)明通過一接口器件控制從一計(jì)算機(jī)到一視頻客戶端的數(shù)據(jù)的傳輸,所述接口器件緩沖所發(fā)送的數(shù)據(jù)幀并使用不同協(xié)議與所述計(jì)算機(jī)和視頻客戶端進(jìn)行通信。在一個實(shí)施例中,本發(fā)明提供一種通過以下步驟執(zhí)行數(shù)據(jù)傳輸流量控制的方法第一次輪詢接口以便判定所述接口上的緩沖器的大??;從所述接口接收一第一緩沖器大小值;將視頻和音頻數(shù)據(jù)的復(fù)數(shù)個幀發(fā)送到所述接口上的緩沖器,使得在發(fā)送每一幀之間存在一延遲周期;第二次輪詢所述接口以便判定將幀發(fā)送到所述接口之后的緩沖器大小;和從所述接口接收一第二緩沖器大小值。如果這個第二緩沖器大小值大于最佳大小并且大于所述第一緩沖器大小值,那么增大從計(jì)算機(jī)到接口的幀的傳輸之間的延遲周期。
在另一實(shí)施例中,本發(fā)明提供一種通過以下步驟執(zhí)行數(shù)據(jù)傳輸流量控制的方法第一次輪詢接口以便判定所述接口上的緩沖器的大??;從所述接口接收一第一緩沖器大小值;將視頻和音頻數(shù)據(jù)的復(fù)數(shù)個幀發(fā)送到所述接口上的緩沖器,使得在發(fā)送每一幀之間存在一延遲周期;第二次輪詢接口以便判定將幀發(fā)送到所述接口之后的緩沖器大?。缓蛷乃鼋涌诮邮找坏诙彌_器大小值。
如果這個第二緩沖器大小值小于最佳大小并且小于所述第一緩沖器大小值,那么減小從計(jì)算機(jī)到接口的幀的傳輸之間的延遲周期。
當(dāng)結(jié)合附圖考慮時,通過閱讀下文的詳細(xì)描述將了解本發(fā)明的許多其它特點(diǎn)和優(yōu)點(diǎn),其中圖1以方塊圖形式說明與本發(fā)明的實(shí)施例有關(guān)的所使用的主要組件;圖2說明根據(jù)本發(fā)明的實(shí)施例的幀的格式;圖3A和圖3B分別說明第一數(shù)據(jù)包和隨后的數(shù)據(jù)包的格式;圖4A和圖4B說明根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)包內(nèi)的視頻數(shù)據(jù)的組織;圖5A和圖5B說明根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)包內(nèi)的音頻數(shù)據(jù)的組織;圖6和圖7說明根據(jù)本發(fā)明的實(shí)施例的幀中所包括的報(bào)頭的元素;圖8說明根據(jù)本發(fā)明的實(shí)施例的經(jīng)結(jié)合以便形成一幀的包集合;圖9A-9D說明本發(fā)明的一個替代實(shí)施例,其中根據(jù)本發(fā)明的實(shí)施例使用SDTI幀的變體;圖9E說明一替代實(shí)施例,其中傳輸器分開SDTI流使其遍及多個通道;圖10以流程圖形式說明根據(jù)本發(fā)明的實(shí)施例的被執(zhí)行以便提供一計(jì)算機(jī)與一硬件接口之間的外部定時的動作;圖11說明根據(jù)本發(fā)明的實(shí)施例的接口器件的寄存器存儲器映射;圖12說明本發(fā)明的接口內(nèi)含有的A/V全局寄存器的組織;圖13說明本發(fā)明的接口器件內(nèi)含有的全局狀態(tài)寄存器的組織;圖14說明本發(fā)明的接口器件中含有的等時控制寄存器;圖15說明本發(fā)明的接口器件中含有的流量控制寄存器的組織;圖16說明本發(fā)明的接口器件中含有的等時通道寄存器的組織。
具體實(shí)施例方式
注意圖1,以方塊圖形式展示了經(jīng)連接以便在一計(jì)算機(jī)100與客戶端102之間傳輸音頻和視頻數(shù)據(jù)的組件,所述計(jì)算機(jī)和客戶端由總線104連接到接口106。優(yōu)選實(shí)施例中的計(jì)算機(jī)100是一個能夠處理視頻和音頻數(shù)據(jù)并以一可識別形式向一用戶顯示所述數(shù)據(jù)的計(jì)算器件。這些器件包括桌上型、膝上型和掌上型計(jì)算機(jī)。如本文所涉及的客戶端102是一視頻消費(fèi)者或視頻生產(chǎn)者,且包括如數(shù)碼相機(jī)和諸如線性和隨機(jī)存取器件的視頻存儲器件的這類器件。如本文所涉及的總線104包括計(jì)算機(jī)100與接口106之間的物理連接,也包括由通過總線104進(jìn)行通信的器件所符合的串行協(xié)議。在優(yōu)選實(shí)施例中,總線104利用被稱為火線(Firewire)的IEEE 1394串行總線協(xié)議。接口106從客戶端102處接受模擬和數(shù)字輸入,并將所述輸入轉(zhuǎn)換為在計(jì)算機(jī)100上執(zhí)行的音頻/視頻播放器可使用的掃描線。在一替代實(shí)施例中,接口106從客戶端102處接受一數(shù)字壓縮/未壓縮信號并傳輸所述整個信號或所述信號的子集。在一個實(shí)施例中,接口106將輸入分成幀108,通過總線104傳到計(jì)算機(jī)100。
圖2中說明幀108的格式。幀108包括一幀報(bào)頭110、視頻塊112、音頻塊114,以及選擇性地包括一音頻報(bào)頭116。相對于視頻塊112中的視頻數(shù)據(jù)取樣音頻塊114中的音頻數(shù)據(jù)。每幀的音頻樣本計(jì)數(shù)根據(jù)ANSI/SMPTE272M規(guī)格中所定義的數(shù)目而變化,這個規(guī)格全文以引用的方式并入本文中。音頻樣本計(jì)數(shù)節(jié)拍是將每秒的整數(shù)個樣本在NTSC幀頻(29.97fps)上劃分所必需的。同樣地,幀108的大小可變化以便適合各種視頻格式,諸如PAL或NTSC和8或10位視頻數(shù)據(jù),以及諸如48Khz和96Khz的16和24位的音頻格式等等。同樣地,壓縮數(shù)據(jù)的幀大小可變化以便適合壓縮格式。在一個實(shí)施例中,視頻塊112和音頻塊或壓縮塊具有一預(yù)定大小以便使得分析幀108簡單并使得諸如直接存儲器存取程序的應(yīng)用程序需要很少的處理開銷。在一部分視頻塊112或音頻塊114不是完全充滿數(shù)據(jù)的情況下,可用零填充塊112、114的剩余部分。在一個實(shí)施例中,視頻塊112和音頻塊114中所含有的數(shù)據(jù)未被壓縮,進(jìn)一步減少了接口106上的處理開銷,并減少了在計(jì)算機(jī)100上運(yùn)行的解壓縮程序所需要的處理開銷。
一旦對從客戶端102所接收的輸入進(jìn)行轉(zhuǎn)換并將其轉(zhuǎn)換為掃描線并將其組織入幀108中,接口106就以每一垂直消隱間隔發(fā)送一幀以便提供與計(jì)算機(jī)100的同步。計(jì)算機(jī)100可從所接收的幀的頻率得出所述垂直消隱間隔并使其自身與從接口106所接收的傳入幀108的音頻和視頻數(shù)據(jù)同步。以這種方式保持了處理資源,這是由于不需要在接收到每一幀時對其執(zhí)行同步,因此提供了計(jì)算機(jī)100上的較高質(zhì)量性能的音頻和視頻顯示。
圖3A和3B分別說明第一數(shù)據(jù)包和隨后的數(shù)據(jù)包的格式。
圖4A和4B說明數(shù)據(jù)包內(nèi)的視頻數(shù)據(jù)的組織。圖5A和5B說明數(shù)據(jù)包內(nèi)的音頻數(shù)據(jù)的組織。
圖6說明幀報(bào)頭110的內(nèi)容。其中包括指示每一樣本有多少位的格式標(biāo)記130、SMPTE時間碼132、遞增幀計(jì)數(shù)器134、音頻循環(huán)計(jì)數(shù)136、音頻樣本計(jì)數(shù)138、通道計(jì)數(shù)140、塊大小字節(jié)計(jì)數(shù)142、音頻格式標(biāo)記144和視頻格式標(biāo)記146。音頻樣本計(jì)數(shù)138指示樣本數(shù)目,其與一節(jié)拍相一致。音頻循環(huán)計(jì)數(shù)136中的值指示所述節(jié)拍內(nèi)的位置。幀的節(jié)拍形成一循環(huán)型式。
在一替代實(shí)施例中,可將幀報(bào)頭110的某些內(nèi)容移動或復(fù)制到可選音頻報(bào)頭116中。圖7中展示幀報(bào)頭110的一個替代圖,其展示字節(jié)計(jì)數(shù)、數(shù)據(jù)長度和一幀位。
如圖8中所說明,從預(yù)定大小的復(fù)數(shù)個包150構(gòu)造幀108。與每一包相關(guān)聯(lián)的是一1394等時包報(bào)頭。根據(jù)本發(fā)明的數(shù)據(jù)傳輸利用一同步位來找到一幀的開始。幀108中的第一包標(biāo)有所述同步位。這允許計(jì)算機(jī)100在接收到數(shù)據(jù)流時識別數(shù)據(jù)流,進(jìn)一步減少了允許計(jì)算機(jī)100與從接口106所接收的幀流同步的處理開銷。
在本發(fā)明的一個替代實(shí)施例中,可如圖9A直到9E中所說明地利用符合串行數(shù)字接口(SDI)標(biāo)準(zhǔn)的幀。在這些實(shí)施例中,總線104符合IEEE 1394B串行總線協(xié)議以便適合所述SDI標(biāo)準(zhǔn)所陳述的數(shù)據(jù)速率限制。如上文所描述,接口106通過創(chuàng)建掃描線、執(zhí)行去交錯、分包和創(chuàng)建固定大小的音頻和視頻數(shù)據(jù)的SDTI幀而從所接收的輸入形成幀。取決于計(jì)算機(jī)100、接口106、客戶端102或其它器件上可用的處理資源可對SDTI幀作出各種修改。如上文所描述的,使通過總線104所發(fā)送的SDTI幀的傳輸與所接受信號的垂直消隱間隔同步。
如圖9A中所示,SDTI幀160通常具有兩個組成部分垂直消隱部分162和水平回掃164。或者,在另一實(shí)施例(圖9B)中,為進(jìn)一步同步和故障檢測的目的(諸如恢復(fù)傳輸中所丟失的數(shù)據(jù)或發(fā)生總線復(fù)位),將SDI幀報(bào)頭166添加到SDTI幀160中,所述幀報(bào)頭166是一具有一同步位和一幀計(jì)數(shù)的報(bào)頭。在這個實(shí)施例中,SDTI幀報(bào)頭166中包括一幀計(jì)數(shù)同步位,且SDTI幀報(bào)頭166與垂直消隱部分162同步。舉例來說,在接口106不能讀取壓縮數(shù)據(jù)或要求接口106的過度升級的應(yīng)用中,可將SDTI幀160傳輸?shù)接?jì)算機(jī)100,其中由軟件以一非實(shí)時方式執(zhí)行對SDTI流的處理。
或者,如圖9C中所示,可構(gòu)造沒有水平回掃164的SDTI幀160以便進(jìn)一步減少處理開銷。如圖9D中所示,在一個實(shí)施例中也可利用構(gòu)造成沒有水平回掃但具有報(bào)頭166的SDTI幀。在又一個實(shí)施例中,如圖9E中所示,可在多個通道之間分割所述SDTI幀,且所述幀也包括SDTI幀報(bào)頭166。在這個實(shí)施例中,傳輸器將所述SDTI流分割成兩半,一半線通過通道A傳輸,另一半通過通道B傳輸。每一部分幀的一個附加的報(bào)頭可用于幫助重組幀數(shù)據(jù)。
在本發(fā)明的另一個方面中,可利用外部定時以使計(jì)算機(jī)100、接口106和客戶端102之間的數(shù)據(jù)傳輸同步。在一個實(shí)施例中,客戶端102包括一高質(zhì)量參考時鐘180(圖1),其可用于使接口106上的時鐘182同步和防止接口106上的緩沖器184的溢出。在這個實(shí)施例中,根據(jù)從計(jì)算機(jī)102傳輸數(shù)據(jù)到接口106的頻率在接口106上得出客戶端102上的參考時鐘180的值。為執(zhí)行流量控制,在幀傳輸之間跳過循環(huán)。跳過的循環(huán)增加幀傳輸之間的時間量,以使幀傳輸?shù)臄?shù)據(jù)速率變慢。注意圖10,在參考數(shù)字200處,計(jì)算機(jī)輪詢接口106來讀取緩沖器184的大小。盡管為示范起見以諸如“較大的”和“較小的”的術(shù)語來稱謂所述緩沖器,但應(yīng)了解,在固定大小的緩沖器的情況下,較大的和較小的指這個緩沖器的充滿度。在參考數(shù)字202處,計(jì)算機(jī)100隨后向接口106發(fā)送復(fù)數(shù)個幀。在參考數(shù)字204處,計(jì)算機(jī)100再次輪詢接口106來判定緩沖器184的大小。如果緩沖器184自從上次對其大小的輪詢以來在大小上有增長(判定參考數(shù)字206處),那么控制進(jìn)行到參考數(shù)字208處,此處計(jì)算機(jī)100增大發(fā)送到接口106的幀之間的延遲。在一個實(shí)施例中,所發(fā)送幀之間的延遲為125毫秒。在另一個實(shí)施例中,通過對若干幀進(jìn)行延遲調(diào)整而獲得分?jǐn)?shù)延遲。舉例來說,如果要求幀之間的延遲為2.5乘1.25微秒,則2個和3個循環(huán)(125微秒)的交替幀延遲被散置(intersperse)。然后控制返回參考數(shù)字202處,此處將幀發(fā)送到接口106,而幀之間有額外延遲。然而,返回判定參考數(shù)字206處,如果緩沖器184自從上次對其大小的輪詢以來在大小上沒有增長,那么控制轉(zhuǎn)變到判定參考數(shù)字210處。在判定參考數(shù)字210處,如果緩沖器206在大小上已減小,那么控制轉(zhuǎn)變到參考數(shù)字212處,此處減小從計(jì)算機(jī)100發(fā)送到接口106的幀之間的延遲。在一個實(shí)施例中,這個減小的量也是125MS。然后控制轉(zhuǎn)變到參考數(shù)字202處,此處將幀從計(jì)算機(jī)100發(fā)送到接口106,而幀之間有減小的延遲。返回判定參考數(shù)字210處,如果緩沖器184的大小自從上次對緩沖器184的大小的輪詢以來還沒有減小,那么不需要調(diào)整幀之間的延遲,并且控制轉(zhuǎn)變到參考數(shù)字202處。
接口106包括一串行單元300,其用于使得能夠通過總線104進(jìn)行通信。串行單元300包括一如表1中所示的單元目錄302。
表1Unit_Spec_ID值指定負(fù)責(zé)串行單元300的架構(gòu)定義的機(jī)構(gòu)。Unit_SW_Version值結(jié)合Unit_Spec_ID值共同指定所述單元的軟件接口。Unit_Register_Location值指定所述串行單元寄存器的目標(biāo)器件的起始地址空間的偏移量。Unit_Signals_Supported值指定支持哪些RS-232信號(如表2中所示)。如果從所述串行單元目錄302中省略這項(xiàng),那么不支持這些信號。
表2串行單元300中還包括一串行單元寄存器映射304,其涉及串行單元300中含有的寄存器。表3中展示串行單元寄存器映射304的組織。
表3串行單元寄存器映射304涉及一登陸寄存器。一試圖與串行單元300進(jìn)行通信的器件在本文中被稱為一啟動器。舉例來說,啟動器可以是計(jì)算機(jī)100或通過一高速串行總線連接在一網(wǎng)絡(luò)上且與接口106進(jìn)行通信的其它節(jié)點(diǎn)。所述啟動器將其串行寄存器映射的基址的64位地址寫到所述登陸寄存器以便登陸到串行單元300中。如果另一啟動器已經(jīng)登陸,那么串行單元300返回一沖突出錯應(yīng)答消息。所述地址的高32位被寫入到登陸地址,低32位被寫入到登陸+4處。所述串行單元寄存器映射還涉及一退出寄存器。啟動器將任何值寫到這個寄存器以便退出這個串行單元。在每一總線復(fù)位之后,啟動器必須將其(可能已改變的)節(jié)點(diǎn)ID寫入到重新連接寄存器。如果在總線復(fù)位后啟動器在一秒之內(nèi)未能這樣做,那么其將自動退出。將16位節(jié)點(diǎn)ID寫入到這個寄存器的底部16位,應(yīng)將上部16位寫為零。讀取T×FIFO大小寄存器返回串行單元的傳輸FIFO的字節(jié)大小。讀取R×FIFO大小寄存器返回串行單元300的接收FIFO的字節(jié)大小。讀取狀態(tài)寄存器返回當(dāng)前CTS/DSR/RI/CAR的狀態(tài)(如果支持)。如表4中所示地組織狀態(tài)寄存器。
表4控制寄存器的寫入設(shè)置DTR和RTS的狀態(tài)(如果支持)。表5中展示所述控制寄存器的組織。
表5將任何值寫入刷新T×FIFO寄存器使得串行單元300刷新其傳輸FIFO,丟棄當(dāng)前其中的任何字節(jié)。將任何值寫入刷新R×FIFO寄存器使得串行單元刷新其接收FIFO,丟棄當(dāng)前其中的任何字節(jié)。將任何值寫入發(fā)送中斷寄存器使得串行單元300在傳輸T×FIFO的當(dāng)前內(nèi)容之后在其串行端口上設(shè)置一中斷狀態(tài)。設(shè)置波特率寄存器的寫入設(shè)置串行單元300的串行端口的波特率。如表6中所示的組織所述設(shè)置波特率寄存器。
表6設(shè)置字符大小寄存器設(shè)置所發(fā)送和所接收的字符的位大小。表7中展示所述設(shè)置字符大小寄存器的組織。通過添加一填充位作為最高有效位來將7位字符填充為8位。
表7設(shè)置停止大小寄存器指明停止位的數(shù)目。如表8中所示地組織所述設(shè)置停止大小寄存器。
表8設(shè)置奇偶校驗(yàn)寄存器設(shè)置串行端口的奇偶校驗(yàn)。表9中展示所述設(shè)置奇偶校驗(yàn)寄存器的組織。
表9設(shè)置流量控制寄存器設(shè)置串行端口所使用的流量控制類型。表10中展示所述設(shè)置流量寄存器的組織。
表10當(dāng)啟動器發(fā)送塊寫入請求到發(fā)送數(shù)據(jù)寄存器來將字符寫入傳輸FIFO時使用這個發(fā)送數(shù)據(jù)寄存器。塊寫入必須不大于由T×FIFO大小寄存器所指定的傳輸FIFO大小。如果T×FIFO中沒有足夠的空間用于整個塊寫入,那么返回一個沖突出錯應(yīng)答消息并且沒有字符被復(fù)制到這個FIFO中。
串聯(lián)單元300中還包括一具有復(fù)數(shù)個寄存器的啟動器寄存器映射,如表11中所示地組織這個映射。
表11當(dāng)串行單元300在其串行端口上檢測到一中斷狀態(tài)時,其將一任意值寫入到這個寄存器。當(dāng)串行單元300在其串行端口上檢測到一組幀出錯時,其將所接收的字符寫入到組幀寄存器。當(dāng)串行單元300在其串行端口上檢測到一奇偶校驗(yàn)出錯時,其將所接收的字符寫入到奇偶校驗(yàn)出錯寄存器。當(dāng)串行單元300的接收FIFO溢出時,串行單元300將一任意值寫入到R×FIFO溢出寄存器。當(dāng)串行單元300檢測到CTS/DSR/RI/CAR的任一狀態(tài)的變化時,其寫入到指示新的串行端口信號狀態(tài)的狀態(tài)改變寄存器。表12中展示所述狀態(tài)寄存器的組織。
表12當(dāng)串行單元300從其串行端口接收字符時,其用塊寫入事務(wù)將所接收的字符寫入到所接收數(shù)據(jù)寄存器。它從不寫入比由R×FIFO大小寄存器所指定的接收FIFO大小多的字節(jié)。如果啟動器不能接收所發(fā)送的所有字符,那么其用一沖突出錯應(yīng)答消息回應(yīng)并且不接收所發(fā)送的字符。
圖11說明根據(jù)本發(fā)明的實(shí)施例的接口器件的寄存器存儲器映射。圖12說明本發(fā)明的接口內(nèi)含有的A/V全局寄存器的組織。圖13說明本發(fā)明的接口器件內(nèi)含有的全局狀態(tài)寄存器的組織。圖14說明本發(fā)明的接口器件中含有的等時控制寄存器。圖15說明本發(fā)明的接口器件中含有的流量控制寄存器的組織。圖16說明本發(fā)明的接口器件中含有的等時通道寄存器的組織。
在本發(fā)明的另一實(shí)施例中,通過輪詢接口106上的一垂直消隱寄存器而得出一合成垂直消隱信號。這個垂直消隱信號調(diào)用碼到在計(jì)算機(jī)100上運(yùn)行的程序。在一個實(shí)施例中,也向在計(jì)算機(jī)100上運(yùn)行的程序提供計(jì)時信息,其與所調(diào)用的碼結(jié)合或代替所調(diào)用的碼。在本發(fā)明的一個實(shí)施例中,接口106含有一寄存器,其具有一指示幀中當(dāng)前進(jìn)程的計(jì)數(shù)器,由此可推斷或另外得出下一垂直回掃。通過得出幀傳輸?shù)倪吔?,可定位和存取幀?nèi)的且與一垂直消隱間隔的發(fā)生同步的其它數(shù)據(jù),諸如對于取樣操作。此外,本發(fā)明的一個實(shí)施例得出用于定位與垂直消隱間隔相一致但不包括關(guān)于所述垂直消隱的信息的數(shù)據(jù)的幀邊界。在一個實(shí)施例中,本發(fā)明用于獲得在一視頻消隱間隔發(fā)生之后一段時期內(nèi)有效的數(shù)據(jù),諸如可讀取且可用于各種處理應(yīng)用中的幀內(nèi)所含有的時間碼。在一個實(shí)施例中,然后計(jì)算機(jī)100調(diào)度一中斷以便在這個推斷時間發(fā)送,因此發(fā)送出一幀。
權(quán)利要求
1.一種在一系統(tǒng)中執(zhí)行數(shù)據(jù)傳輸流量控制的方法,所述系統(tǒng)具有一計(jì)算機(jī)、一視頻客戶端和所述計(jì)算機(jī)與視頻客戶端之間的一接口,所述接口方便所述計(jì)算機(jī)與所述視頻客戶端之間的數(shù)據(jù)傳輸,所述接口具有一用于存儲從所述計(jì)算機(jī)接收的待發(fā)送到所述視頻客戶端的數(shù)據(jù)幀的緩沖器,所述緩沖器具有一隨其所存儲的數(shù)據(jù)量而變化的大小,所述接口具有一最佳緩沖器大小,所述方法包含所述計(jì)算機(jī)第一次輪詢所述接口以便判定所述接口上的所述緩沖器的大??;從所述接口接收一第一緩沖器大小值;將視頻和音頻數(shù)據(jù)的復(fù)數(shù)個幀發(fā)送到所述接口上的所述緩沖器,使得在發(fā)送每一幀之間存在一延遲周期;所述計(jì)算機(jī)第二次輪詢所述接口以便判定將所述幀發(fā)送到所述接口之后的緩沖器大??;從所述接口接收一第二緩沖器大小值;和如果所述第二緩沖器大小值大于所述最佳大小,并且大于所述第一緩沖器大小值,增大從所述計(jì)算機(jī)到所述接口的幀的傳輸之間的所述延遲周期。
2.根據(jù)權(quán)利要求1所述的方法,其中緩沖器大小指一固定大小的緩沖器中有意義數(shù)據(jù)的充滿度。
3.一種在一系統(tǒng)中執(zhí)行數(shù)據(jù)傳輸流量控制的方法,所述系統(tǒng)具有一計(jì)算機(jī)、一視頻客戶端和所述計(jì)算機(jī)與視頻客戶端之間的一接口,所述接口方便所述計(jì)算機(jī)與所述視頻客戶端之間的數(shù)據(jù)傳輸,所述接口具有一用于存儲從所述計(jì)算機(jī)接收的待發(fā)送到所述視頻客戶端的數(shù)據(jù)幀的緩沖器,所述緩沖器具有一隨其所存儲的數(shù)據(jù)量而變化的大小,所述接口具有一最佳緩沖器大小,所述方法包含所述計(jì)算機(jī)第一次輪詢所述接口以便判定所述接口上的所述緩沖器的大??;從所述接口接收一第一緩沖器大小值;將視頻和音頻數(shù)據(jù)的復(fù)數(shù)個幀發(fā)送到所述接口上的所述緩沖器,使得在發(fā)送每一幀之間存在一延遲周期;所述計(jì)算機(jī)第二次輪詢所述接口以便判定將所述幀發(fā)送到所述接口之后的緩沖器大小;從所述接口接收一第二緩沖器大小值;和如果所述第二緩沖器大小值小于最佳大小,并且小于所述第一緩沖器大小值,減小從所述計(jì)算機(jī)到所述接口的幀的傳輸之間的所述延遲周期。
4.根據(jù)權(quán)利要求3所述的方法,其中緩沖器大小指一固定大小的緩沖器中有意義數(shù)據(jù)的充滿度。
5.一種含有指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)一計(jì)算機(jī)執(zhí)行所述指令時,所述指令通過執(zhí)行以下動作來執(zhí)行數(shù)據(jù)傳輸流量控制第一次輪詢一與所述計(jì)算機(jī)進(jìn)行通信的接口,所述接口具有一用于存儲從所述計(jì)算機(jī)接收的數(shù)據(jù)幀的緩沖器,所述幀將被發(fā)送到所述視頻客戶端,所述緩沖器具有一隨所述緩沖器中所含有的數(shù)據(jù)量而變化的大小,所述緩沖器具有一最佳大??;從所述接口接收一第一緩沖器大小值;將視頻和音頻數(shù)據(jù)的復(fù)數(shù)個幀發(fā)送到所述接口上的所述緩沖器,使得在發(fā)送每一幀之間存在一延遲周期;第二次輪詢所述接口以便判定將所述幀發(fā)送到所述接口之后的緩沖器大小;從所述接口接收一第二緩沖器大小值;和如果所述第二緩沖器大小值大于所述最佳大小,并且大于所述第一緩沖器大小值,增大從所述計(jì)算機(jī)到所述接口的幀的傳輸之間的所述延遲周期。
6.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)程序產(chǎn)品,其中緩沖器大小指一固定大小的緩沖器中有意義數(shù)據(jù)的充滿度。
7.一種含有指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)一計(jì)算機(jī)執(zhí)行所述指令時,所述指令通過執(zhí)行以下動作來執(zhí)行數(shù)據(jù)傳輸流量控制第一次輪詢一與所述計(jì)算機(jī)進(jìn)行通信的接口,所述接口具有一用于存儲從所述計(jì)算機(jī)接收的數(shù)據(jù)幀的緩沖器,所述幀將被發(fā)送到所述視頻客戶端,所述緩沖器具有一隨所述緩沖器中所含有的數(shù)據(jù)量而變化的大小,所述緩沖器具有一最佳大?。粡乃鼋涌诮邮找坏谝痪彌_器大小值;將視頻和音頻數(shù)據(jù)的復(fù)數(shù)個幀發(fā)送到所述接口上的所述緩沖器,使得在發(fā)送每一幀之間存在一延遲周期;第二次輪詢所述接口以便判定將所述幀發(fā)送到所述接口之后的緩沖器大??;從所述接口接收一第二緩沖器大小值;和如果所述第二緩沖器大小值小于所述最佳大小,并且小于所述第一緩沖器大小值,減小從所述計(jì)算機(jī)到所述接口的幀的傳輸之間的所述延遲周期。
8.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)程序產(chǎn)品,其中緩沖器大小指一固定大小的緩沖器中有意義數(shù)據(jù)的充滿度。
9.一種用于在一系統(tǒng)中執(zhí)行數(shù)據(jù)傳輸流量控制的裝置,所述系統(tǒng)具有一計(jì)算機(jī)、一視頻客戶端和所述計(jì)算機(jī)與視頻客戶端之間的一接口,所述接口方便所述計(jì)算機(jī)與所述視頻客戶端之間的數(shù)據(jù)傳輸,所述接口具有一用于存儲從所述計(jì)算機(jī)接收的待發(fā)送到所述視頻客戶端的數(shù)據(jù)幀的緩沖器,所述緩沖器具有一隨其所存儲的數(shù)據(jù)量而變化的大小,所述接口具有一最佳緩沖器大小,所述方法包含用于第一次輪詢所述接口以便判定所述接口上的所述緩沖器大小的構(gòu)件;用于從所述接口接收一第一緩沖器大小值的構(gòu)件;用于將視頻和音頻數(shù)據(jù)的復(fù)數(shù)個幀發(fā)送到所述接口上的所述緩沖器使得在發(fā)送每一幀之間存在一延遲周期的構(gòu)件;用于第二次輪詢所述接口以便判定將所述幀發(fā)送到所述接口之后的緩沖器大小的構(gòu)件;用于從所述接口接收一第二緩沖器大小值的構(gòu)件;和用于在所述第二緩沖器大小值大于所述最佳大小并且大于所述第一緩沖器大小值的情況下增大從所述計(jì)算機(jī)到所述接口的幀的傳輸之間的所述延遲周期的構(gòu)件。
10.根據(jù)權(quán)利要求9所述的方法,其中緩沖器大小指一固定大小的緩沖器中有意義數(shù)據(jù)的充滿度。
11.一種用于在一系統(tǒng)中執(zhí)行數(shù)據(jù)傳輸流量控制的裝置,所述系統(tǒng)具有一計(jì)算機(jī)、一視頻客戶端和所述計(jì)算機(jī)與視頻客戶端之間的一接口,所述接口方便所述計(jì)算機(jī)與所述視頻客戶端之間的數(shù)據(jù)傳輸,所述接口具有一用于存儲從所述計(jì)算機(jī)接收的待發(fā)送到所述視頻客戶端的數(shù)據(jù)幀的緩沖器,所述緩沖器具有一隨其所存儲的數(shù)據(jù)量而變化的大小,所述接口具有一最佳緩沖器大小,所述裝置包含用于第一次輪詢所述接口以便判定所述接口上的所述緩沖器大小的構(gòu)件;用于從所述接口接收一第一緩沖器大小值的構(gòu)件;用于將視頻和音頻數(shù)據(jù)的復(fù)數(shù)個幀發(fā)送到所述接口上的所述緩沖器使得在發(fā)送每一幀之間存在一延遲周期的構(gòu)件;用于第二次輪詢所述接口以便判定將所述幀發(fā)送到所述接口之后的緩沖器大小的構(gòu)件;用于從所述接口接收一第二緩沖器大小值的構(gòu)件;和用于在所述第二緩沖器大小值小于最佳大小并且小于所述第一緩沖器大小值的情況下減小從所述計(jì)算機(jī)到所述接口的幀的傳輸之間的所述延遲周期的構(gòu)件。
12.根據(jù)權(quán)利要求11所述的裝置,其中緩沖器大小指一固定大小的緩沖器中有意義數(shù)據(jù)的充滿度。
全文摘要
本發(fā)明提供一種用于通過一接口控制一計(jì)算機(jī)與一視頻客戶端之間的數(shù)據(jù)傳輸?shù)姆椒?,所述方法包含?jì)算機(jī)第一次輪詢接口(200)以便判定所述接口上的緩沖器的大??;從所述接口接收一第一緩沖器大小值;將視頻和音頻數(shù)據(jù)的復(fù)數(shù)個幀發(fā)送(202)到所述接口上的緩沖器,使得在發(fā)送每一幀之間存在一延遲周期;計(jì)算機(jī)第二次輪詢接口(204)以便判定將幀發(fā)送到所述接口之后的緩沖器大?。粡乃鼋涌诮邮找坏诙彌_器大小值;和修改幀的傳輸之間的時間量(208和212)。
文檔編號G06F15/173GK1802639SQ200480016107
公開日2006年7月12日 申請日期2004年6月10日 優(yōu)先權(quán)日2003年6月13日
發(fā)明者喬瓦尼·M·阿尼奧利, 安德魯·亞諾維茨, 約翰·O·阿布特, 塞繆爾·R·鮑曼, 詹姆斯·A·德爾維什, 杰弗里·C·狄龍 申請人:蘋果電腦公司