專利名稱:用于組合多個媒體數(shù)據(jù)流的系統(tǒng)、方法或設(shè)備的制作方法
技術(shù)領(lǐng)域:
實施例涉及混合或組合媒體數(shù)據(jù)流的領(lǐng)域,且更明確地說,涉及組合多個數(shù)字媒 體數(shù)據(jù)流。
背景技術(shù):
在一些情況下,例如移動電話、PDA、計算平臺等等的媒體裝置可至少部分地同時 地或并行地播放或執(zhí)行多個數(shù)字媒體數(shù)據(jù)流。舉例來說,在一些情況下,移動電話可以至少 部分地并行的方式來播放對應(yīng)于音樂文件、語音呼叫、警報聲音、游戲聲音等等或其某一組 合的音頻流。
本說明書的結(jié)束部分中特定地指出且清楚地主張標的物。然而,通過在與附圖一 起進行閱讀的情況下參考以下詳細描述,可最好地理解所主張的標的物(關(guān)于組織及操作 方法兩者)連同其目標、特征及優(yōu)點,其中圖1為根據(jù)一實施例的包括一個或一個以上累加器緩沖器的系統(tǒng)的示意圖;圖2為描繪圖1的實施例的操作的一個或一個以上方面的示意圖;圖3為描繪圖1的實施例的操作的一個或一個以上其它方面的示意圖;圖4為根據(jù)一實施例的過程的流程圖表示;圖5為根據(jù)一實施例的來自累加器緩沖器的讀取指針讀取操作的邏輯控制過程 的流程圖;圖6為根據(jù)一實施例的寫入指針寫入操作的邏輯控制過程的流程圖;圖7為根據(jù)一實施例的包括累加器緩沖器及一個或一個以上處理器的系統(tǒng)的示 意圖;以及圖8為根據(jù)一實施例的包括一個或一個以上虛擬累加器緩沖器及一個或一個以 上處理器的系統(tǒng)的示意圖。
具體實施例方式在以下詳細描述中,闡明眾多特定細節(jié)以提供對所主張的標的物的透徹理解。然而,所屬領(lǐng)域的技術(shù)人員應(yīng)理解,可在無這些特定細節(jié)的情況下實踐所主張的標的物。在其 它例子中,尚未詳細地描述將由所屬領(lǐng)域的技術(shù)人員已知的方法、程序、組件或電路,以便 不使所主張的標的物模糊不清。貫穿本說明書而對“一個實施例”或“一實施例”的參考意味著結(jié)合所述實施例而 描述的特定特征、結(jié)構(gòu)或特性包括于所主張的標的物的至少一個實施例中。因此,在貫穿本 說明書的各種位置中短語“在一個實施例中”或“一實施例”的出現(xiàn)未必均指代同一實施例。 此外,在一個或一個以上實施例中,可組合所述特定特征、結(jié)構(gòu)或特性。在一些情況下,例如移動電話、PDA、計算平臺等等的媒體裝置可至少部分地同時 地或并行地播放或執(zhí)行多個數(shù)字媒體數(shù)據(jù)流。舉例來說,在一些情況下,移動電話可以至少 部分地并行的方式來播放或執(zhí)行對應(yīng)于音樂文件、語音呼叫、警報聲音、游戲聲音等等或其 某一組合的音頻流。如本文所使用,術(shù)語“數(shù)字媒體數(shù)據(jù)”指代表示能夠由人類感知的物理 屬性或物理表現(xiàn)的二進制數(shù)字信號,包括(例如)音頻數(shù)據(jù)、視頻數(shù)據(jù)、圖像數(shù)據(jù)等。此情形 的一個可能解決方案是使用軟件模塊或硬件組件以對在時間上重疊在一起的數(shù)字媒體流 (例如音頻流)進行求和,且將經(jīng)求和的音頻流饋送到數(shù)/模轉(zhuǎn)換器(DAC)。舉例來說,此可 在使用單一多線程處理器來播放音頻流的情況下被實現(xiàn)。然而,如果系統(tǒng)使用產(chǎn)生多個數(shù) 字媒體數(shù)據(jù)流的多個處理器或產(chǎn)生多個數(shù)字媒體數(shù)據(jù)流的單一處理器,則可能具有挑戰(zhàn)性 的是使如上文所論述的軟件模塊或硬件組件在多個媒體數(shù)據(jù)流當中適當?shù)貐f(xié)調(diào)或同步。另 外,在一些情況下,可以不同取樣速率或針對不同通道格式而產(chǎn)生不同音頻流。舉例來說, 可通過2個音頻通道以44. IkHz的取樣速率來產(chǎn)生mp3音樂文件的回放,而可通過單一音 頻通道以8kHz的取樣速率來產(chǎn)生語音數(shù)據(jù)(例如來自電話呼叫)。在此實例中,兩個媒體 數(shù)據(jù)流可以單一取樣速率而經(jīng)重新取樣且經(jīng)轉(zhuǎn)換到2音頻通道格式以便被混合在一起。然 而,如此進行可涉及硬件及/或處理的某一復(fù)雜性。然而,相反地,如下文更詳細地所描述的實施例涉及可操作以就地(in place)或 原位(in situ)混合多個數(shù)字媒體數(shù)據(jù)流的硬件組件。舉例來說,硬件組件(例如累加器 緩沖器)可操作以混合多個數(shù)字媒體數(shù)據(jù)流且維持所述流的至少部分同步。在至少一個實 施例中,一個或一個以上硬件組件可將多個數(shù)字媒體數(shù)據(jù)流重新取樣到單一或共同取樣速 率,且將那些流轉(zhuǎn)換到共同通道格式以至少部分地促進那些流的就地或原位混合。在一實 施例中,硬件組件(例如累加器緩沖器)(舉例來說)可操作以混合來自多個源(例如多個 處理器)的媒體流,且可操作以混合源自單一處理器的多個媒體流。如本文所使用,“混合” 指代至少部分地組合兩個或兩個以上二進制數(shù)字信號以形成表示經(jīng)混合信號的一個或一 個以上特性的二進制數(shù)字信號。如本文所使用,“共同通道格式”指代信號既定在可能未必 源自同一源的信號所共有的特定或相異通道配置(例如(不限于)具有左通道及右通道) 中被播放或執(zhí)行的二進制數(shù)字信號的表示。舉例來說,第一信號可具有左通道及右通道,且 具有共同通道格式的第二信號還可具有左通道及右通道。如本文所使用,“累加器緩沖器” 指代展現(xiàn)緩沖器及累加器兩者的特征的硬件的裝置或零件。緩沖器通常包括將存儲有二進 制數(shù)字信號的存儲器位置。累加器通常具有執(zhí)行算術(shù)運算(特別是算術(shù)求和運算)的能力。 此處,如稍后更詳細地所描述,對于此特定實施例,具有兩者的特征的裝置可包括可操作以 就地或原位混合多個媒體流的一個或一個以上存儲器位置,如將被描述。舉例來說,累加器 緩沖器可包含固態(tài)存儲器緩沖器,其可操作以至少部分地通過允許將多個信號源寫入到累加器緩沖器的存儲器位置而就地或原位混合或組合多個媒體流。在使用數(shù)字媒體信號的實施例中,二進制數(shù)字信號其自身可相對于特定物理屬性 或表現(xiàn)(例如(不限于)聲音)而在時間上對應(yīng)于特定例子或樣本。因此,同樣地,累加器 緩沖器內(nèi)的一個或一個以上地址(例如(不限于)順序地址)可對應(yīng)于時間標度,使得累 加器緩沖器內(nèi)的特定位置的特定地址可對應(yīng)于特定時間例子。因此,在一實施例中,多個處 理器可寫入累加器緩沖器的任何適當存儲器位置,使得可就地或原位組合數(shù)字媒體數(shù)據(jù)流 (例如音頻流)的在時間上重疊的部分,其中音頻流的時序經(jīng)對準;然而,如此進行無需使 用(例如)額外緩沖器。至少部分地通過將多個流寫入到累加器緩沖器中的適當存儲器位 置,可相對于多個流的在時間上相對于特定例子而重疊的部分,混合多個流。然而,應(yīng)注意, 此僅為關(guān)于數(shù)字媒體數(shù)據(jù)流的說明性實例,且所主張的標的物在此方面不受限制。圖1為根據(jù)一實施例的包括累加器緩沖器102的系統(tǒng)100的示意圖。關(guān)于圖1, 實施例可包含一個或一個以上存儲器位置,例如累加器緩沖器102、104及106。另外,實施 例可進一步包含混合器108,例如可操作以(舉例來說)進行重新取樣或重新格式化及混 合的一個或一個以上電路。此外,實施例可進一步包含數(shù)/模轉(zhuǎn)換(DAC)接口,例如DAC接 口 110。實施例還可包含中斷產(chǎn)生單元,例如中斷產(chǎn)生器112。在一實施例中,累加器緩沖 器102、104或106可(例如)經(jīng)由總線仲裁器116而耦合到系統(tǒng)總線114。在一實施例中, 總線114可包含可使用與以下各者中的至少一者順應(yīng)或兼容的信令的總線高級微處理器 總線架構(gòu)(AMBA);高速總線(AHB);高級可擴展接口(AXI);或其它總線信令協(xié)議(僅舉幾 個實例)。在一實施例中,累加器緩沖器102、104及106可耦合到總線114作為一個或一 個以上從屬單元,使得累加器緩沖器102、104及106可至少部分地可由與系統(tǒng)100相關(guān)聯(lián) 的一個或一個以上處理器(未圖示)存取。在一實施例中,在一些情況下,混合器單元108 可由與系統(tǒng)100相關(guān)聯(lián)的一個或一個以上處理器中的任一者編程,以執(zhí)行一個或一個以上 混合任務(wù),例如從具有一個或一個以上取樣速率、通道格式等的一個或一個以上媒體流重 新取樣。在一實施例中,取樣速率、通道格式等可與累加器緩沖器中的一特定累加器緩沖器 相關(guān)聯(lián)。舉例來說,累加器緩沖器102可對應(yīng)于第一取樣速率、第一通道格式等,而累加器 緩沖器104及106可對應(yīng)于不同取樣速率、通道格式等。在一實施例中,系統(tǒng)100可進一步 包含求和緩沖器,例如求和緩沖器120。在一實施例中,混合器108可將一個或一個以上經(jīng) 混合樣本寫入到求和緩沖器120,以用于通過DAC接口 110而對那些樣本進行后續(xù)存取。舉 例來說,DAC接口 110可將經(jīng)混合樣本發(fā)射到DAC 130,例如用于經(jīng)由音頻或視頻系統(tǒng)而回 放。應(yīng)注意,這些僅為關(guān)于系統(tǒng)或系統(tǒng)配置的說明性實例,且所主張的標的物在此方面不受 限制。在一實施例中,累加器緩沖器102、104及106可經(jīng)配置以至少部分地與相應(yīng)取樣 速率、通道格式及/或其類似者對應(yīng)。在此實施例中,一個或一個以上處理器(未圖示)中 的任一者可將媒體流發(fā)射到具有對應(yīng)于所述媒體流的取樣速率、通道格式及/或其類似者 的累加器緩沖器中的任一者。舉例來說,處理器可至少部分地通過向?qū)?yīng)于累加器緩沖器 中的一適當累加器緩沖器的一部分的總線地址寫入而對所述適當累加器緩沖器寫入。另 外,經(jīng)暫停的媒體流可將一個或一個以上零值寫入到累加器緩沖器中。舉例來說,如果已暫 停特定媒體流(例如由用戶或至少部分地響應(yīng)于事件),則特定累加器緩沖器中的對應(yīng)讀 取指針可經(jīng)凍結(jié)且從所述累加器緩沖器到混合器的輸出可由零替換。在此實例中,如果暫停經(jīng)解除斷言,則讀取指針可從其已停止之處繼續(xù)。視存儲器字大小、音頻流格式及音頻樣 本的每通道位而定,音頻樣本可由多個字組成。舉例來說,32位存儲器字大小、5. 1音頻(六 個通道)及每通道16個位,每一音頻樣本由三個字組成。在這些情況下,當已從緩沖器讀 出對于一樣本的許多字或其倍數(shù)(視特定格式而定)時,可出現(xiàn)樣本邊界。在一些情況下, 樣本邊界的概念可為有用的,例如在應(yīng)用暫?;蛄悴迦牖蚋淖兲囟ㄒ纛l源的音量期間。在 一實施例中,可能需要將所述零插入或音量改變應(yīng)用于樣本邊界上,以至少部分地確保引 入了所述改變(暫停/音量)的樣本中的所有通道均反映所述改變。另外,在一些情況下, 可能較不需要插入零值,因為所述插入可能導(dǎo)致聲音失真,例如爆破聲(pop)。在所述情況 下,可能需要使用(例如)線性、指數(shù)、對數(shù)及/或正弦模型而逐漸地減小到零值,以更加逐 漸地減小后續(xù)信號值(僅舉幾個實例)。舉例來說,用于所述程序的邏輯可在本文所描述 的控制器電路中的一者或一者以上中,或者在用于使所述零插入值平滑的單獨電路中。另 外,不同通道或處理器源可使用對于特定源來說可為更加需要的不同斜降過程(ramp down process)??赡苄枰S持樣本邊界的另一情況可在混合器108處。舉例來說,如果使新流 能夠進行混合,則應(yīng)僅在樣本邊界上開始混合,以至少部分地確保來自所有流的相同通道 被加在一起。然而,應(yīng)注意,此僅僅為關(guān)于混合音頻樣本的說明性實例,且所主張的標的物 在此方面不受限制。在一實施例中,累加器緩沖器內(nèi)的地址可對應(yīng)于特定時間標度的時間例子,使得 累加器緩沖器內(nèi)的位置對應(yīng)于特定時間例子。在一實施例中,多個處理器可對累加器緩沖 器的一個或一個以上部分寫入。舉例來說,累加器緩沖器內(nèi)的媒體流可至少部分地在時間 上重疊。至少部分地通過將多個流寫入到累加器緩沖器中的適當位置,可相對于多個流的 相對于時間而重疊的部分而混合所述多個流。在一實施例中,流可以至少部分地交錯的格 式而存儲于特定累加器緩沖器內(nèi)。舉例來說,媒體流的一個或一個以上通道可繼之以所述 媒體流的一個或一個以上其它通道。舉例來說,使2通道媒體流對應(yīng)于立體聲音頻流。在 此實例中,媒體流可如下而存儲于累加器緩沖器中L0 RO Ll Rl... Ln 1 ;其中Lx為信號 樣本χ的左通道值且Rx為信號樣本χ的右通道信號值。在一實施例中,一個或一個以上累 加器緩沖器可具有不同大小,但此并非總是必要的。舉例來說,可能需要具有不同大小的累 加器緩沖器以至少部分地容納經(jīng)寫入到所述一個或一個以上緩沖器的媒體流的一個或一 個以上不同方面,例如以處理關(guān)于相應(yīng)媒體流的等待時間問題中的一個或一個以上差異。 舉例來說,累加器緩沖器102可具有大約192kB的大小,至少部分地使得累加器緩沖器102 可容納長達1秒的以48KHz取樣且具有16位立體聲格式的音頻數(shù)據(jù),而累加器緩沖器104 可具有大約1600個字節(jié)的大小,至少部分地使得累加器緩沖器104可容納長達IOOms的15 位單聲道格式化數(shù)據(jù)。然而,應(yīng)注意,這些僅僅為關(guān)于存儲器單元的說明性實例,且所主張 的標的物在此方面不受限制。在一實施例中,系統(tǒng)100還可包括緩沖器控制器單元,例如一個或一個以上緩沖 器控制電路的組合。舉例來說,緩沖器控制單元可包括第一控制器,第一控制器可操作以間 歇地將累加器緩沖器清零,至少部分地使得一個或一個以上后續(xù)媒體流可經(jīng)就地處理。進 一步舉例來說,緩沖器控制單元還可包括第二控制器,第二控制器可操作以提供是否已將 所述累加器緩沖器清零的指示。在此實例中,所述指示可經(jīng)提供到向緩沖器寫入的一個或 一個以上處理器。作為又一實例,緩沖器控制單元可包括又一控制器,所述控制器可操作以至少部分地響應(yīng)于對累加器緩沖器的含有多個媒體流的一部分的已完成讀取操作而將所 述媒體流的一個或一個以上部分清零。應(yīng)注意,所述緩沖器控制單元可實施為一個或一個 以上電路或單元。舉例來說,單獨電路可提供所述緩沖器控制單元的以上功能中的一者或 一者以上,且可操作以與提供以上功能中的其它者的一個或一個以上其它電路通信,但所 主張的標的物當然在此方面不受限制。在一實施例中,在對重設(shè)解除斷言時或在軟件組件 啟動所述緩沖器控制單元的情況下,所述緩沖器控制單元可將累加器緩沖器清零。在一實 施例中,緩沖器控制單元可至少部分地響應(yīng)于讀取累加器緩沖器的任何特定位置而將累加 器緩沖器中的所述特定位置清零。另外,所述緩沖器控制單元的一個或一個以上部分可物 理地安置于一個或一個以上累加器緩沖器內(nèi)。舉例來說,緩沖器控制單元內(nèi)的控制器中的 一者或一者以上可為讀取電路或與累加器緩沖器相關(guān)聯(lián)的電路的一部分。同樣地,緩沖器 控制單元的其它控制器可為讀取電路或與累加器緩沖器的讀取機構(gòu)或電路相關(guān)聯(lián)的電路 的一部分。在一實施例中,混合單元108可操作以將來自一個或一個以上累加器緩沖器的媒 體數(shù)據(jù)上混合(up-mix)或下混合(down-mix)到與特定DAC編解碼器相關(guān)聯(lián)的特定取樣速 率或通道格式。在一實施例中,任選音量控制方案可應(yīng)用于一個或一個以上媒體流,例如在 (舉例來說)上混合或下混合過程之前。在一實施例中,上混合過程可包含其中用于媒體 流的通道的現(xiàn)存數(shù)目可小于用于所述媒體流的通道的所要數(shù)目的過程。在一實施例中,下 混合過程可包含其中用于媒體流的通道的現(xiàn)存數(shù)目大于用于所述媒體流的通道的所要數(shù) 目的過程?;旌蠁卧?08可使用多種上混合或下混合過程。舉例來說,混合單元108可應(yīng) 用矩陣變換過程,其中輸出通道的信號樣本的信號值可包含輸入通道的信號樣本的一個或 一個以上信號值的線性組合。進一步舉例來說,其它過程可包括空間處理或其它濾波,例如 HRTF濾波器、室內(nèi)聲學處理、HR、nR等。然而,應(yīng)注意,這些僅僅為關(guān)于混合單元的說明性 實例,且所主張的標的物在此方面不受限制。圖2為描繪根據(jù)一實施例的累加器緩沖器200的操作的一個或一個以上方面的示 意圖。關(guān)于圖2,在一實施例中,讀取指針202可經(jīng)維持用于一個或一個以上累加器緩沖器, 例如累加器緩沖器200。在一實施例中,讀取指針202可至少部分地用于從緩沖器200讀出 一個或一個以上樣本。此外,如果從緩沖器200中讀出樣本,則讀取指針202可移動到下一 樣本,如累加器緩沖器210中所示。在一實施例中,讀取請求可源自來自圖1的一個或一個 以上源,例如混合單元108。在一實施例中,讀取指針202可至少部分地基于與累加器緩沖 器200中的媒體數(shù)據(jù)相關(guān)聯(lián)的通道格式、取樣速率等而在累加器緩沖器200內(nèi)移動。舉例 來說,如果累加器緩沖器200中的通道格式包含16位立體聲媒體數(shù)據(jù),且累加器緩沖器200 包含32位位置,則讀取請求可導(dǎo)致讀取指針202響應(yīng)于完成的讀取請求而在累加器緩沖器 200內(nèi)移動1個32位字。對于額外實例,如果緩沖器200中的通道格式包含32位6通道音 頻,且累加器緩沖器200包含16位存儲器位置,則讀取請求可導(dǎo)致讀取指針202響應(yīng)于完 成的讀取請求而在累加器緩沖器200內(nèi)移動12個16位字。本質(zhì)上,讀取指針202通???在累加器緩沖器200內(nèi)前移對應(yīng)于大體上完整樣本的量。然而,應(yīng)注意,此僅僅為關(guān)于累加 器緩沖器的說明性實例,且所主張的標的物在此方面不受限制。在一實施例中,混合單元108可操作以與DAC單元110通信以至少部分地向DAC 接口單元110提供來自一個或一個以上累加器緩沖器的樣本以至少部分地用于音頻回放,例如通過系統(tǒng)100。舉例來說,DAC接口單元110可從混合單元108請求一個或一個以上 樣本。在一實施例中,混合單元108可從一個或一個以上累加器緩沖器請求一個或一個以 上讀取動作。在至少一個實施例中,任選音量控制動作可應(yīng)用于一個或一個以上媒體數(shù)據(jù) 流,以便允許混合單元108針對多個媒體數(shù)據(jù)流而確定適當混合。在一實施例中,混合單元 108可以與DAC編解碼器兼容的方式而重新取樣或重新格式化來自一個或一個以上累加器 緩沖器的一個或一個以上樣本。此外,經(jīng)重新取樣或重新格式化的數(shù)據(jù)可另外經(jīng)混合且經(jīng) 由DAC接口單元110而傳遞到DAC編解碼器上。然而,應(yīng)注意,這些僅僅為關(guān)于混合多個媒 體流的實例,且所主張的標的物在此方面不受限制。作為一個實例,數(shù)字媒體數(shù)據(jù)可包含除 了音頻數(shù)據(jù)之外的數(shù)據(jù)。然而,在一實施例中,混合單元108可將發(fā)送到DAC接口單元110的樣本存儲到緩 沖器(例如求和緩沖器120)中。在一實施例中,累加器緩沖器210可附接到系統(tǒng)總線,例 如圖1所示的總線114,至少部分地使得一個或一個以上處理器可從累加器緩沖器210讀取 或向累加器緩沖器210寫入。在一實施例中,寫入指針212可維持于累加器緩沖器210內(nèi) 以至少部分地指示此處媒體數(shù)據(jù)正被或?qū)⒈粚懭氲嚼奂悠骶彌_器210中。在一實施例中, 水印214也維持于累加器緩沖器210中。如本文所使用,“水印”指代(例如)緩沖器或累 加器緩沖器的存儲器位置之間的分界。舉例來說,水印可包含對緩沖器內(nèi)的位置的指示,所 述位置對應(yīng)于來自一個或一個以上源的完成的樣本的末端位置、來自一個或一個以上源的 完成的寫入操作的末端位置或來自一個或一個以上源的完成的讀取操作的末端位置。當 然,在替代實施例中,水印可指示另一分界。舉例來說,其可指示完成的樣本的開始位置,等 等。然而,在此實施例中,如果寫入指針(例如寫入指針212)到達水印214,則可產(chǎn)生中斷 請求,如緩沖器220中所示。舉例來說,至少部分地響應(yīng)于中斷請求,處理器可喚醒且從緩 沖器220讀出樣本的至少一部分。在一實施例中,累加器緩沖器230描繪在累加器緩沖器 230內(nèi)前移超出與第一處理器相關(guān)聯(lián)的寫入指針及水印且朝向與第二處理器相關(guān)聯(lián)的水印 前移的讀取指針232。以此方式,多個處理器可至少部分地基于在緩沖器內(nèi)到達其相應(yīng)水 印的寫入指針或讀取指針而向緩沖器寫入、從緩沖器讀取且接收中斷請求。另外,如圖2所 示,累加器緩沖器可包括多個寫入指針及水印。舉例來說,向累加器緩沖器寫入的一個或一 個以上處理器可具有對應(yīng)的相應(yīng)寫入指針及水印,至少部分地使得多個處理器可向累加器 緩沖器寫入,且至少部分地使得所述累加器緩沖器可就地或原位混合或處理來自一個或一 個以上處理器的多個流。應(yīng)注意,如果讀取指針到達累加器緩沖器的末端,則其可反轉(zhuǎn)且移 動到所述緩沖器的開始。以此方式,如圖2所描繪,緩沖器可包含循環(huán)緩沖器。然而,應(yīng)注 意,這些僅僅為關(guān)于緩沖器的說明性實例,且所主張的標的物在此方面不受限制。圖3為描繪根據(jù)一實施例的求和緩沖器300的一個或一個以上其它方面的示意 圖。在一實施例中,求和緩沖器300可包括寫入指針302及水印304。如圖3所示,如果寫 入指針302到達水印304,則可產(chǎn)生中斷以至少部分地發(fā)信號通知一個或一個以上處理器 開始從求和緩沖器300讀取數(shù)據(jù)。另外,從求和緩沖器300讀取或向求和緩沖器300寫入的 處理器可設(shè)定新水印。在此特定實施例中,應(yīng)在寫入指針302在求和緩沖器300內(nèi)前移某 一量之前讀取求和緩沖器300,例如在寫入指針302前移到先前寫入但尚未讀取的數(shù)據(jù)之 前。因此,可能需要設(shè)定水印,使得存在充足時間以使處理器在數(shù)據(jù)通過后續(xù)寫入過程而被 蓋寫之前從求和緩沖器300中讀出所述數(shù)據(jù),但所主張的標的物當然在此方面不受限制。
圖4為根據(jù)一實施例的過程400的流程圖表示。關(guān)于方框402,系統(tǒng)或過程可設(shè)定 對應(yīng)于累加器緩沖器中的一個或一個以上處理器的一個或一個以上讀取指針、寫入指針或 水印。舉例來說,相應(yīng)處理器可在累加器緩沖器內(nèi)針對其自身而設(shè)定讀取指針、寫入指針或 水印。關(guān)于方框404,累加器緩沖器可就地或原位處理多個媒體數(shù)據(jù)信號流。舉例來說,如 果多個處理器正向累加器緩沖器寫入,則當那些流正被寫入到所述緩沖器時,所述緩沖器 可就地或原位處理或混合這些信號。關(guān)于方框406,系統(tǒng)或過程可就地或原位處理額外多個 媒體數(shù)據(jù)信號流。舉例來說,系統(tǒng)或過程可包括額外累加器緩沖器(例如關(guān)于圖1所示), 其中當那些流正被寫入到那些額外累加器緩沖器時,那些額外累加器緩沖器就地或原位處 理或混合額外多個媒體數(shù)據(jù)信號。關(guān)于方框408,如果已到達一個或一個以上處理器的水 印,可將信號發(fā)送到所述處理器。舉例來說,如果對應(yīng)于處理器的寫入指針已到達對應(yīng)于所 述處理器的水印,則中斷產(chǎn)生單元可將信號發(fā)送到所述處理器以至少部分地通知所述處理 器寫入應(yīng)用程序已完成?;蛘?,如果與處理器相關(guān)聯(lián)的讀取指針已到達與所述處理器相關(guān) 聯(lián)的水印,則中斷產(chǎn)生器可將信號發(fā)送到所述處理器以至少部分地通知所述處理器其先前 寫入的數(shù)據(jù)已被讀取。在一實施例中,至少部分地響應(yīng)于中斷信號,處理器可在累加器緩沖 器內(nèi)針對其自身而設(shè)定新寫入指針及水印。所述處理器還可開始到所述累加器緩沖器的新 寫入操作。然而,應(yīng)注意,這些僅僅為關(guān)于系統(tǒng)或過程的說明性實例,且所主張的標的物在 此方面不受限制。圖5為根據(jù)一實施例的包括硬件混合器單元502的系統(tǒng)500的示意圖。關(guān)于圖5, 系統(tǒng)500可包括一個或一個以上累加器緩沖器。在此實施例中,一個或一個以上累加器緩 沖器可包含物理存儲器裝置504,例如緩沖器或存儲器隊列。另外,系統(tǒng)500可包括緩沖器 管理器506。在此實施例中,緩沖器管理器506可操作以在存儲器裝置504內(nèi)建立或維持一 個或一個以上虛擬累加器緩沖器。舉例來說,緩沖器管理器506可在存儲器裝置504內(nèi)建 立虛擬累加器緩沖器508、510及512。此外,在此實施例中,虛擬累加器緩沖器508、510及 512可操作以在所述虛擬累加器緩沖器內(nèi)就地混合來自一個或一個以上源的信號。舉例來 說,虛擬累加器緩沖器可操作以連同如上文所論述的一個或一個以上讀取指針、寫入指針 及水印而就地混合來自處理器514及調(diào)制解調(diào)器516的信號。進一步舉例來說,虛擬累加 器緩沖器510可同樣地可操作以連同如上文所論述的一個或一個以上讀取指針、寫入指針 及水印而就地混合來自第二處理器518及第三處理器520的信號。另外,系統(tǒng)500可包括 可操作以直接或間接與所述處理器中的一者或一者以上通信的控制器522。在此實例中,控 制器522可為可操作的以實施下文所描述的讀取指針或?qū)懭胫羔樳^程中的一者或一者以 上,例如關(guān)于圖6及圖7。此外,雖然被描繪為處于硬件混合器單元502內(nèi),但控制器522或 者可實施于所描述的處理器中的一者或一者以上處,或連同所描述的處理器中的一者或一 者以上處的電路一起實施。系統(tǒng)500可進一步可操作以(例如)通過使用混合器(例如, 關(guān)于圖1所論述的混合器10 來重新取樣經(jīng)混合信號,且將這些經(jīng)重新取樣信號輸出到求 和緩沖器,例如求和緩沖器120。如關(guān)于圖1所論述,可通過數(shù)字-音頻編解碼器接口(例 如DAC 110)讀出經(jīng)求和的經(jīng)重新取樣信號以供由數(shù)字音頻編解碼器(例如DAC 130)進一 步處理。然而,應(yīng)注意,這些僅僅為關(guān)于混合來自一個或一個以上處理器的信號的說明性實 例,且所主張的標的物在此方面不受限制。圖6說明根據(jù)一實施例的對從累加器緩沖器的讀取指針602讀取操作的邏輯控制的流程圖600。所述邏輯控制可由一個或一個以上電路(例如上文所描述的那些電路)執(zhí) 行。水印604可由處理器經(jīng)由圖6所示的邏輯而設(shè)定,且可通過緩沖器控制單元而連續(xù)地 與讀取指針比較。在此實例中,處理器(例如由圖5中的實例所說明的處理器中的一者) 可將一個或一個以上音頻樣本寫入到累加器緩沖器。在此實例中,如果讀取指針602等于 “是”(例如在方框606處),則可在方框610處將水印信號傳送到緩沖器控制單元。所述水 印信號可指示對應(yīng)處理器待加電。所述水印還可使用信號V_up而向功率管理器指示對應(yīng) 處理器的操作電壓經(jīng)升高。對應(yīng)處理器接著可開始正常音頻位流解碼。如果讀取指針不等 于水印,則可在方框608處使讀取指針遞增且在其到達特定累加器緩沖器或虛擬累加器緩 沖器的最大地址的情況下設(shè)定回到零。圖7說明根據(jù)一實施例的水印及寫入指針的邏輯控制的流程圖700。所述邏輯控 制可由如上文所描述的控制器中的一者或一者以上執(zhí)行。所述邏輯應(yīng)在框702處檢查以確 定特定處理器是否開啟。如果特定處理器未開啟(“否”),則可將框702處的檢查執(zhí)行一 次或一次以上額外次數(shù),直到特定處理器開啟(“是”)。如果特定處理器開啟,則其可在正 常位流解碼且將音頻輸出寫入到特定累加器緩沖器(例如圖1所示的累加器緩沖器104) 的過程中。如果如此,則可使寫入指針704遞增以反映由處理器提供到累加器緩沖器的額 外音頻輸出。另外,可在框706處比較寫入指針704與讀取指針602。舉例來說,如果指針 602與指針704相等(“是”),則在框708處將信號V_doWn發(fā)射到與所述特定處理器相關(guān) 聯(lián)的功率管理器。所述V_d0Wn信號指示應(yīng)降低特定處理器的操作電壓以節(jié)省能量。然而, 如果寫入指針704不等于讀取指針602,則處理器可將更多音頻樣本寫入到累加器緩沖器, 且可在框710處使寫入指針704遞增,并在其到達特定累加器緩沖器或虛擬累加器緩沖器 的最大地址的情況下設(shè)定回到零。在框712處,所述累加器緩沖器中的下一水印可等于寫 入指針減去偏移加上最大存儲器地址,且在其到達特定累加器緩沖器或虛擬累加器緩沖器 的最大地址的情況下設(shè)定回到零。在一實施例中,所述偏移可考慮到經(jīng)發(fā)送到與特定處理 器相關(guān)聯(lián)的功率管理器的信號V_up與為使所述功率管理器升高特定處理器的操作電壓所 需要的時間之間的某一量的等待時間。如圖6所說明,水印可用于與讀取指針比較,以至少 部分地控制何時可升高特定處理器的操作電壓,即,何時可喚醒特定處理器。圖8為包括硬件混合器單元802的系統(tǒng)800的示意圖。關(guān)于圖8,硬件混合器單元 802可在結(jié)構(gòu)及功能性上類似于圖1所示的硬件混合器單元(系統(tǒng)100)。在此實施例中, 一個或一個以上處理器可操作地耦合到硬件混合器單元802。舉例來說,一個或一個以上處 理器可包括數(shù)字信號處理器804及串流音頻源806。在此實施例中,串流音頻源806可包 含例如麥克風的音頻源,其信號可由模/數(shù)轉(zhuǎn)換器805處理。此外,在此實施例中,數(shù)字信 號處理器804及串流音頻源806可在由硬件混合器單元802接收之前與一個或一個以上多 路復(fù)用器807組合。系統(tǒng)800可進一步包括一個或一個以上BDBT處理器808 (例如提供對 應(yīng)于數(shù)字廣播格式的信號的一個或一個以上處理器)、藍牙裝置810、MIDI硬件處理器812 或USB裝置814(例如一個或一個以上USB兼容音頻源)(僅舉幾個實例)。如上文所論述, 來自這些源中的一者或一者以上的信號可在硬件混合單元802中經(jīng)就地組合,例如通過使 用一個或一個以上累加器緩沖器或虛擬累加器緩沖器連同(舉例來說)混合器及求和緩沖 器。然而,應(yīng)注意,這些僅為關(guān)于可由硬件混合器處理的一個或一個以上信號的源的說明性 實例,且所主張的標的物在此方面不應(yīng)受限制。
應(yīng)注意,雖然已以特定次序而描述上文的系統(tǒng)、方法或過程的方面,但如由這些實 例所提供的特定次序是非限制性的。還應(yīng)注意,本文所描述的系統(tǒng)、方法或過程可能能夠 由一個或一個以上計算平臺執(zhí)行。另外,本文所描述的方法或過程可能能夠作為一個或一 個以上機器可讀指令或軟件指令而存儲于存儲媒體上,所述一個或一個以上機器可讀指令 或軟件指令在經(jīng)執(zhí)行的情況下可使計算平臺能夠執(zhí)行一個或一個以上動作。如本文所提到 的“存儲媒體”涉及能夠存儲可由一個或一個以上裝置或機器操作或執(zhí)行的信息或指令的 媒體。舉例來說,存儲媒體可包含用于存儲機器可讀指令或信息的一個或一個以上存儲裝 置。所述存儲裝置可包含若干媒體類型中的任一者,包括(例如)磁性、光學或半導(dǎo)體存儲 媒體。進一步舉例來說,根據(jù)所主張的標的物(例如本文所描述的方法或過程),一個或一 個以上計算平臺可適于執(zhí)行一個或一個以上過程或方法。然而,這些僅僅為關(guān)于存儲媒體 及計算平臺的實例,且所主張的標的物在此等方面不受限制。同樣地,如本文所使用的術(shù)語“及”、“及/或”及“或”可包括將至少部分地視其被 使用的上下文而定的多種意義。通常,“及/或”以及“或”在用以使例如A、B或C的列表相 關(guān)聯(lián)的情況下既定意味著A、B及C (此處在包括在內(nèi)的意義上進行使用)以及A、B或C (此 處在排除在外的意義上進行使用)。另外,如本文所使用的術(shù)語“一個或一個以上”可用以 描述以單數(shù)形式的任何特征、結(jié)構(gòu)或特性,或可用以描述特征、結(jié)構(gòu)或特性的某一組合。然 而,應(yīng)注意,此僅僅為說明性實例,且所主張的標的物不限制于此實例。上文所呈現(xiàn)的詳細描述的一些部分是依據(jù)對存儲于特定設(shè)備或?qū)S糜嬎阊b置、設(shè) 備或平臺的存儲器內(nèi)的二進制數(shù)字信號的操作的算法或符號表示方面而呈現(xiàn)。在此特定說 明書的上下文中,術(shù)語特定設(shè)備、專用計算裝置及/或其類似者可包括通用計算機或其它 計算裝置,例如個人數(shù)字助理、便攜式電話、蜂窩電話、智能電話等,一旦其經(jīng)編程以依據(jù)來 自程序軟件的指令而執(zhí)行特定功能。算法描述或符號表示由信號處理或相關(guān)領(lǐng)域內(nèi)的技 術(shù)人員用以將其工作的實質(zhì)傳送到其它所屬領(lǐng)域的技術(shù)人員的技術(shù)的實例。此處且通常, 算法被視為導(dǎo)致所要結(jié)果的自相一致的運算序列或類似的信號處理。在此上下文中,運算 或處理涉及物理量的物理操縱。通常(但不必要),所述量可采取能夠被存儲、傳送、組合、 比較或以另外方式操縱的電或磁信號的形式。有時已證明方便的是(主要出于普通使用的 原因)將所述信號稱作位、數(shù)據(jù)、值、元素、符號、字符、項、數(shù)目、數(shù)字及/或類似者。然而, 應(yīng)理解,所有這些或類似術(shù)語均待與適當物理量相關(guān)聯(lián)且僅僅為方便的標記。除非另有特 定陳述,否則,如從以下論述中顯而易見,應(yīng)了解,貫穿本說明書,禾Ij用例如“處理”、“計算”、 “演算”、“確定”、“混合”及/或其類似者等術(shù)語的論述指代例如專用計算機、專用計算設(shè)備 或類似專用電子計算裝置等特定設(shè)備的動作或過程。因此,在本說明書的上下文中,專用計 算機或類似專用電子計算裝置能夠操縱或變換信號,通常表示為專用計算機或類似專用電 子計算裝置的存儲器、寄存器或其它信息存儲裝置、發(fā)射裝置、音頻裝置或顯示裝置內(nèi)的物 理電子或磁量。在前述描述中,已描述所主張的標的物的各種方面。為了解釋的目的,闡明特定數(shù) 目、系統(tǒng)或配置以提供對所主張的標的物的透徹理解。然而,對于受益于本發(fā)明的所屬領(lǐng)域 的技術(shù)人員來說應(yīng)顯而易見的是,可在無特定細節(jié)的情況下實踐所主張的標的物。在其它 例子中,省略或簡化將被所屬領(lǐng)域的技術(shù)人員所理解的特征,以便不使所主張的標的物模 糊不清。雖然本文已說明或描述某些特征,但所屬領(lǐng)域的技術(shù)人員現(xiàn)將聯(lián)想到許多修改、取代、改變或等效物。因此,應(yīng)理解,希望所附權(quán)利要求書涵蓋屬于所主張的標的物的實際精 神內(nèi)的所有所述修改或改變。
權(quán)利要求
1.一種設(shè)備,其包含累加器緩沖器,其經(jīng)耦合以便就地處理多個媒體數(shù)據(jù)信號流。
2.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述多個媒體數(shù)據(jù)信號流具有相同取樣速率。
3.根據(jù)權(quán)利要求2所述的設(shè)備,其中所述多個媒體數(shù)據(jù)信號流包含音頻信號。
4.根據(jù)權(quán)利要求2所述的設(shè)備,且其進一步包含一個或一個以上額外累加器緩沖器, 所述一個或一個以上額外累加器緩沖器經(jīng)耦合以便就地處理相應(yīng)多個媒體數(shù)據(jù)信號流,其 中所述一個或一個以上額外累加器緩沖器對應(yīng)于一個或一個以上額外取樣速率。
5.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述多個媒體數(shù)據(jù)流至少部分地由多個源產(chǎn)生。
6.根據(jù)權(quán)利要求5所述的設(shè)備,其中所述累加器緩沖器包含對應(yīng)于所述多個源中的至 少一者或一者以上的相應(yīng)讀取指針、寫入指針及水印。
7.根據(jù)權(quán)利要求6所述的設(shè)備,且其進一步包含控制器,其可操作以間歇地將所述累加器緩沖器清零,至少部分地使得可就地處理一 個或一個以上后續(xù)媒體流。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其中所述控制器進一步可操作以提供是否已將所述累 加器緩沖器清零的指示。
9.根據(jù)權(quán)利要求7所述的設(shè)備,其中所述控制器進一步可操作以至少部分地響應(yīng)于完 成的讀取操作而將所述多個媒體流的一個或一個以上部分清零。
10.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述多個媒體數(shù)據(jù)流中的所述至少兩者相對于 時間至少部分地重疊。
11.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述多個媒體數(shù)據(jù)流包含數(shù)字化音頻數(shù)據(jù)、數(shù)字 化視頻數(shù)據(jù)、數(shù)字化成像數(shù)據(jù)、數(shù)字化無線電數(shù)據(jù)及數(shù)字化電視數(shù)據(jù)中的至少一者。
12.—種系統(tǒng),其包含一個或一個以上處理器;以及累加器緩沖器,其經(jīng)耦合以便就地處理多個媒體數(shù)據(jù)信號流。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述多個媒體數(shù)據(jù)信號流具有相同取樣速率。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中所述多個媒體數(shù)據(jù)信號流包含音頻信號。
15.根據(jù)權(quán)利要求13所述的系統(tǒng),且其進一步包含一個或一個以上額外累加器緩沖 器,所述一個或一個以上額外累加器緩沖器經(jīng)耦合以便就地處理相應(yīng)多個媒體數(shù)據(jù)信號 流,其中所述一個或一個以上額外累加器緩沖器對應(yīng)于一個或一個以上額外取樣速率。
16.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述多個媒體數(shù)據(jù)流至少部分地由所述一個或 一個以上處理器產(chǎn)生。
17.根據(jù)權(quán)利要求16所述的系統(tǒng),其中所述累加器緩沖器包含對應(yīng)于所述一個或一個 以上處理器中的至少一者或一者以上的相應(yīng)讀取指針、寫入指針及水印。
18.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述多個媒體數(shù)據(jù)流中的所述至少兩者至少相 對于時間至少部分地重疊。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述多個媒體數(shù)據(jù)流包含數(shù)字化音頻數(shù)據(jù)、數(shù) 字化視頻數(shù)據(jù)、數(shù)字化成像數(shù)據(jù)、數(shù)字化無線電數(shù)據(jù)及數(shù)字化電視數(shù)據(jù)中的至少一者。
20.根據(jù)權(quán)利要求12所述的系統(tǒng),且其進一步包含混合器,其至少部分地可操作以組合一個或一個以上經(jīng)累加數(shù)據(jù)流。
21.根據(jù)權(quán)利要求20所述的系統(tǒng),且其進一步包含求和緩沖器,其至少部分地可操作以存儲一個或一個以上經(jīng)組合數(shù)據(jù)流。
22.根據(jù)權(quán)利要求20所述的系統(tǒng),且其進一步包含重新取樣器,其至少部分地可操作以將一個或一個以上經(jīng)累加數(shù)據(jù)流重新取樣到不同 取樣速率或格式。
23.根據(jù)權(quán)利要求22所述的系統(tǒng),其中所述重新取樣器進一步可操作以將至少兩個經(jīng) 累加數(shù)據(jù)流重新取樣到共同取樣速率或格式。
24.一種方法,其包含在累加器緩沖器中就地處理多個媒體數(shù)據(jù)信號流。
25.根據(jù)權(quán)利要求M所述的方法,其中所述累加器緩沖器耦合到多個媒體數(shù)據(jù)信號流 的一個或一個以上源。
26.根據(jù)權(quán)利要求M所述的方法,其中所述多個媒體數(shù)據(jù)信號流具有相同取樣速率。
27.根據(jù)權(quán)利要求沈所述的方法,其中所述多個媒體數(shù)據(jù)信號流包含音頻信號。
28.根據(jù)權(quán)利要求沈所述的方法,且其進一步包含在對應(yīng)的一個或一個以上額外累加 器緩沖器中就地處理額外多個媒體數(shù)據(jù)信號流,其中所述一個或一個以上額外累加器緩沖 器對應(yīng)于一個或一個以上額外取樣速率。
29.根據(jù)權(quán)利要求M所述的方法,其中至少部分地由一個或一個以上源產(chǎn)生所述多個 媒體數(shù)據(jù)流。
30.根據(jù)權(quán)利要求四所述的方法,其中所述累加器緩沖器包含對應(yīng)于所述一個或一個 以上處理器中的至少一者或一者以上的相應(yīng)讀取指針、寫入指針及水印。
31.根據(jù)權(quán)利要求30所述的方法,且其進一步包含針對所述一個或一個以上處理器 中的至少一者設(shè)定所述讀取指針、所述寫入指針及所述水印。
32.根據(jù)權(quán)利要求31所述的方法,且其進一步包含如果已到達所述一個或一個以上 處理器中的所述至少一者的相應(yīng)水印,則將信號發(fā)送到所述一個或一個以上處理器中的所 述至少一者。
33.根據(jù)權(quán)利要求M所述的方法,其中所述多個媒體數(shù)據(jù)流中的所述至少兩者至少相 對于時間至少部分地重疊。
34.根據(jù)權(quán)利要求33所述的方法,其中所述多個媒體數(shù)據(jù)流包含數(shù)字化音頻數(shù)據(jù)、數(shù) 字化視頻數(shù)據(jù)、數(shù)字化成像數(shù)據(jù)、數(shù)字化無線電數(shù)據(jù)及數(shù)字化電視數(shù)據(jù)中的至少一者。
35.一種系統(tǒng),其包含用于產(chǎn)生多個媒體數(shù)據(jù)信號流的裝置;以及用于在累加器緩沖器中就地處理所述多個媒體數(shù)據(jù)信號流的裝置。
36.根據(jù)權(quán)利要求35所述的系統(tǒng),其中所述多個媒體數(shù)據(jù)信號流具有相同取樣速率。
37.根據(jù)權(quán)利要求36所述的系統(tǒng),其中所述多個媒體數(shù)據(jù)信號流包含音頻信號。
38.根據(jù)權(quán)利要求36所述的系統(tǒng),且其進一步包含用于在一個或一個以上額外累加器 緩沖器中就地處理額外相應(yīng)多個媒體數(shù)據(jù)信號流的一個或一個以上額外裝置,其中所述一 個或一個以上額外累加器緩沖器對應(yīng)于一個或一個以上額外取樣速率。
39.根據(jù)權(quán)利要求35所述的系統(tǒng),其中所述累加器緩沖器包含對應(yīng)于所述用于產(chǎn)生多 個媒體數(shù)據(jù)信號流的裝置中的至少一者或一者以上的相應(yīng)讀取指針、寫入指針及水印。
40.根據(jù)權(quán)利要求35所述的系統(tǒng),其中所述多個媒體數(shù)據(jù)流中的所述至少兩者至少相 對于時間至少部分地重疊。
41.根據(jù)權(quán)利要求40所述的系統(tǒng),其中所述多個媒體數(shù)據(jù)流包含數(shù)字化音頻數(shù)據(jù)、數(shù) 字化視頻數(shù)據(jù)、數(shù)字化成像數(shù)據(jù)、數(shù)字化無線電數(shù)據(jù)及數(shù)字化電視數(shù)據(jù)中的至少一者。
全文摘要
本發(fā)明揭示與組合或混合數(shù)字媒體流相關(guān)聯(lián)的方法、設(shè)備、裝置及系統(tǒng)的實施例。
文檔編號H04L29/06GK102067556SQ200980123137
公開日2011年5月18日 申請日期2009年7月23日 優(yōu)先權(quán)日2008年7月23日
發(fā)明者亞歷克斯·揚, 尼迪什·R·卡馬特, 斯里瓦特?!に估锬嵬呱? 普拉加克特·庫爾卡尼, 羅伯特·瓦尚, 薩蒂什·戈韋爾丹 申請人:高通股份有限公司