TW201802700A - 用於控制同步資料流之系統及方法 - Google Patents

用於控制同步資料流之系統及方法

Info

Publication number
TW201802700A
TW201802700A TW106121300A TW106121300A TW201802700A TW 201802700 A TW201802700 A TW 201802700A TW 106121300 A TW106121300 A TW 106121300A TW 106121300 A TW106121300 A TW 106121300A TW 201802700 A TW201802700 A TW 201802700A
Authority
TW
Taiwan
Prior art keywords
processor
usb
drift
host
data
Prior art date
Application number
TW106121300A
Other languages
English (en)
Inventor
余安迪
安德魯 張
阿麥亞 庫爾卡尼
Original Assignee
高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 高通公司 filed Critical 高通公司
Publication of TW201802700A publication Critical patent/TW201802700A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40058Isochronous transmission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40117Interconnection of audio or video/imaging devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/608ATM switches adapted to switch variable length packets, e.g. IP packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/002Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation
    • H04L7/0029Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation interpolation of received data signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本發明揭示用於控制同步資料流之系統及方法。本發明之特定態樣經設計以與幾乎任何同步資料流一起使用,但較適用於與通用串列匯流排(USB)協定一起使用。此外,本發明之態樣靈活地適應該USB協定內之現有組態的可能性以及適應該USB協定之所提出的未來變化。該等系統及方法之靈活性藉由計算以下各者得以提供:(1)一USB主機系統時間與應用程式之間的漂移,及(2)該USB主機系統與一USB裝置時脈之間的漂移。基於此等兩種漂移計算,可合成一時戳以程式化一下一遞送排程。使用此時戳,抖動校正可發生,且統一大小之封包可經組裝以傳遞至一應用程式處理器。

Description

用於控制同步資料流之系統及方法
本發明之技術大體係關於在資料匯流排上處置任意資料流。
計算裝置在同期活動中已變得普遍。部分地由於計算裝置上可用的功能不斷增加,計算裝置之普及性已激增。在功能增加的同時,可與計算裝置相關聯之輔助裝置的數目及類型已增加。在一些情況下,可將輔助裝置整合至計算裝置中,諸如攝像機至智慧型手機之整合。在其他情況下,輔助裝置可為周邊配置,諸如經由某種形式之外部介面耦接至計算裝置的音訊耳機。在兩種情況下,已出現各種協定以允許在計算裝置上運行之應用程式按需要與輔助裝置互動。 一種常用協定為通用串列匯流排(USB)協定。USB以各種形式存在,包括全速(FS)、高速(HS)及超速(SS)。另外,USB允許於主機與周邊裝置之間的各種時脈同步方案。特定言之,USB預期同步至來自周邊裝置之時脈(被稱作異步),同步至來自主機之時脈(被稱作同步)及共用主機與周邊裝置之間的時脈同步責任(被稱作適應性)。雖然各種形式及時脈同步方案允許設計的靈活性以使用USB協定增加裝置的數目,但多種選項使得一些設計決策更加困難。 當音訊及/或視訊流經由USB介面傳輸時,此類設計決策更加複雜。由於USB外觀尺寸之通用本質,故預期USB主機能夠適應自周邊裝置之音訊/視訊擷取及至周邊裝置的音訊/視訊播放兩者。特定言之,預期該USB主機能夠適應不同速度、不同時脈同步方案、不同取樣率及可變大小之資料。習知系統在應用層處對此類適應造成負擔,其對於應用層中之應用程式的部分要求大量緩衝及複雜的演算法。另外,存在增加服務間隔的當前建議,其可將額外負擔施加於處理應用層之應用程式處理器上。因此,需要一種提供允許處置彼等皆當前實施之可變資料流的較大靈活性且具有處置不同輸入參數之靈活性的USB相容系統的方式。
實施方式中所揭示之態樣包括用於控制同步資料流之系統及方法。本發明之特定態樣經設計以與幾乎任何同步資料流一起使用,但較適用於與通用串列匯流排(USB)協定一起使用。此外,本發明之態樣靈活地適應USB協定內之現有組態的可能性以及適應USB協定之所提出的未來變化。系統及方法之靈活性藉由計算以下各者得以提供:(1)USB主機系統時間與應用程式之間的漂移,及(2)USB主機系統與USB裝置時脈之間的漂移。基於此等兩種漂移計算,可合成時戳以程式化下一遞送排程。使用此時戳,抖動校正可發生,且統一大小之封包可經組裝以傳遞至應用程式處理器。此類統一大小之封包的使用可消除對於應用層中之緩衝器的需要,當資料流為音訊資料流時,其可改良使用者體驗。 就此而言,在一個態樣中,揭示一種用於控制USB系統中之通信的方法。該方法包括在具有USB驅動程式之第一處理器處接收可變大小之封包。該方法亦包括在第一處理器處組裝統一大小之封包。該方法亦包括將統一大小之封包傳遞至第二處理器以供由應用層處之應用程式用於協定堆疊。 在另一態樣中,揭示一種主機。該主機包括應用程式處理器。該主機亦包括USB硬體。該主機亦包括音訊數位信號處理器(ADSP)。該ADSP經組態以經由USB硬體在ADSP處接收可變大小之封包。ADSP亦經組態以在ADSP處組裝統一大小之封包。ADSP亦經組態以將統一大小之封包傳遞至應用程式處理器以供由應用層處之應用程式用於協定堆疊。 在另一態樣中,揭示一種主機。該主機包括應用層。該主機亦包括USB硬體。該主機亦包括系統單晶片(SoC),該系統單晶片包括複數個處理器。複數個處理器經組態以在第一處理器處接收可變大小之封包。複數個處理器亦經組態以在第一處理器處組裝統一大小之封包。複數個處理器亦經組態以將統一大小之封包傳遞至第二處理器以供由應用層處之應用程式用於協定堆疊。 在另一態樣中,揭示一種用於在USB系統中偵測漂移的方法。該方法包括判定分數取樣率係在音訊周邊裝置與主機之間的USB匯流排上使用。該方法亦包括跨服務間隔判定與分數取樣率相關聯之第一分數餘數。基於第一分數餘數,該方法亦包括計算對應於無分數餘數所需之間隔之數目的整數。該方法亦包括檢驗每一整數個間隔之漂移。 在另一態樣中,揭示一種處理器。該處理器包括輸入端。該處理器亦包括控制系統。該控制系統經組態以判定分數取樣率係在音訊周邊裝置與主機之間的USB匯流排上使用。該控制系統亦經組態以跨服務間隔判定與分數取樣率相關聯之第一分數餘數。基於第一分數餘數,該控制系統亦經組態以計算對應於無分數餘數所需之間隔之數目的整數。控制系統亦經組態以檢驗每一整數個間隔之漂移。 在另一態樣中,揭示一種合成時戳之方法。該方法包括自資料遞送處置器接收運行命令。該方法亦包括對來自高解析度計時器的輸出與經計算之絕對時戳求和。 在另一態樣中,揭示一種處理器。該處理器包括音訊資料緩衝器。該處理器亦包括USB音訊用戶端(UAC)。UAC經組態以接收可變大小之封包。UAC亦經組態以組裝統一大小之封包。UAC亦經組態以將統一大小之封包傳遞至第二處理器以供由應用層處之應用程式用於協定堆疊。
優先權主張 本申請案主張於2016年6月27日申請且名為「PROGRAMMABLE RATE-MATCHED DATA RATE OUTPUT REGULATOR FOR ISOCHRONOUS DATA STREAMS」之美國專利臨時申請案序列62/355,166號的優先權,該申請案的內容以全文引用的方式併入本文中。 本申請案亦主張於2017年6月9日申請且名為「ISOCHRONOUS DATA STREAM CONTROL SYSTEMS AND METHODS」之美國專利臨時申請案序列62/517,247號之優先權,該申請案的內容以全文引用的方式併入本文中。 現參考圖式,描述本發明之若干例示性態樣。詞語「例示性」在本文中用以意謂「充當實例、例子或說明。」在本文中被描述為「例示性」之任何態樣未必被理解為比其他態樣更佳或更有利。 實施方式中所揭示之態樣包括用於控制同步資料流之系統及方法。本發明之特定態樣經設計以與幾乎任何同步資料流一起使用,但較適用於與通用串列匯流排(USB)協定一起使用。此外,本發明之態樣靈活地適應USB協定內之現有組態的可能性以及適應USB協定之所提出的未來變化。系統及方法之靈活性藉由計算以下各者得以提供:(1)USB主機系統時間與應用程式之間的漂移,及(2)USB主機系統與USB裝置時脈之間的漂移。基於此等兩種漂移計算,可合成時戳以程式化下一遞送排程。使用此時戳,抖動校正可發生,且統一大小之封包可經組裝以傳遞至應用程式處理器。此類統一大小之封包的使用可消除對於應用層中之緩衝器的需要,當資料流為音訊資料流時,其可改良使用者體驗。 在闡述本發明之特定態樣之前,揭示可實施用於控制同步資料流的系統及方法之例示性系統的概述。如上文所指出,雖然適用於各種同步資料流,但例示性態樣尤其適用於USB音訊流。因此,例示性系統為USB數位音訊系統。 就此而言,圖1為具有經組態以耦接至USB纜線106上之USB C型連接器104之USB C型插孔102的行動通信裝置100之簡化透視圖。在USB纜線106之遠端處為具有內含多個揚聲器110之頭戴式耳機112及麥克風114的數位音訊耳機108。數位音訊信號可經由USB纜線106在行動通訊裝置100與數位音訊耳機108之間傳遞。由於話語模式很少為週期性的,故來自麥克風114之音訊可不均勻地分佈於時域中。同樣地,行動通信裝置100無法先驗地知曉數位音訊耳機108所支援之資料速度,行動通信裝置100亦無法先驗地知曉數位音訊耳機108所使用之同步格式。 雖然本發明之例示性態樣較適用於諸如圖1之數位音訊耳機108的音訊環境,但本發明不限於此,且可與在諸如行動通信裝置100之計算裝置與具有顯示器、揚聲器及麥克風的虛擬實境耳機(或具有揚聲器及麥克風的顯示器)之間傳遞的音訊/視訊信號一起使用。同樣地,雖然上文揭示USB C型纜線,但本發明可容易與USB之其他版本一起使用。實際上,能夠處置USB速度(例如,全速(FS)、超速(SS)、高速(HS)中的任一者為本發明之優勢中的一者。 圖2提供如何在不實施本發明之態樣的行動通信裝置200中處置音訊(及可能視訊)資料之簡化方塊圖。行動通信裝置200可耦接至諸如數位音訊耳機之USB周邊裝置202。USB周邊裝置202可支援異步、同步、適應性或混合時脈同步模式且可包括一或多個鎖相迴路(PLL,兩個經說明)或延遲鎖定迴路(DLL,未說明)。USB周邊裝置202可接收資料(稱作資料輸入),諸如經由麥克風(有時被稱作擷取);以及輸出資料(稱作資料輸出),諸如經由頭戴式耳機中之揚聲器(有時被稱作播放)。資料傳遞至行動通信裝置200,且自該行動通信裝置傳遞(諸如經由USB纜線206,及經由適當插孔(在圖2中未說明))至行動通信裝置200內之USB硬體控制器208。USB硬體(在圖式中有時稱作HW)控制器208以通信方式連接至系統單晶片(SoC) 210。該SoC 210可包括音訊數位信號處理器(ADSP) 212及應用程式處理器(在圖式中被稱作AP) 214。ADSP 212可包括USB音訊用戶端(UAC)驅動程式216。來自USB周邊裝置202的資料在USB硬體控制器208處經接收及傳遞至SoC 210。應注意,來自USB周邊裝置202的資料為抖動的且包括可變資料訊框大小(藉由USB硬體控制器208與UAC驅動程式216之間的不同大小之框象徵性地說明)。若USB周邊裝置202之一或多個PLL運行較快或較慢,可出現其他變化。又一變化可出現,因為在USB協定中,不存在訊框內有固定數目之樣本的要求。雖然此類變化為有助於靈活性及USB協定之訴求的一部分,但此類變化在音訊處理中通常難以處置。當USB硬體控制器208在其內部緩衝器中具有資料(未圖示)時,USB硬體控制器208針對UAC驅動程式216產生中斷。USB硬體控制器208不具有時戳功能。UAC驅動程式216接收中斷,排空USB硬體控制器208之緩衝器,且嘗試向應用程式處理器214提供恆定量之資料。當存在分數音訊取樣時,諸如44.1千赫茲(KHz)之共同取樣率,其為相對於一毫秒的分數(對應於1000 Hz之共同USB匯流排傳送速度),UAC驅動程式216將發送資料,其中十個封包中之九個具有44個樣本且一個封包具有45個樣本。應用程式處理器214中之資料處理電路218結合高解析度系統計時器222將其緩衝器220用於在將資料提供至應用層演算法224之前消除變化。異步取樣率轉換器(ASRC) 226可在一持續時間內輔助校正樣本之漂移及抖動叢集的此過程。此配置對應用程式處理器214造成負擔且要求對應用層演算法224之額外程式化。應注意,雖然將ADSP 212及應用程式處理器214描述為分離處理器,但兩個裝置皆可整合至單個積體電路(IC)中。雖然未說明,硬件直接記憶體存取(DMA)控制器可產生資料中斷,且將來自高解析度系統計時器222之硬體鎖存時戳儲存於硬體暫存器中。此時戳不容易與USB封包相關聯且因此不容易用於輔助漂移偵測。 本發明之例示性態樣提供無誤差漂移偵測,可自其應用抖動校正且可自其計算合成時戳。使用此合成時戳,可計算用以排空緩衝器的下一遞送排程。此外,藉由再定位應用程式處理器外的計算,可將統一資料訊框大小提供至應用程式處理器,其隨後可改良音訊品質且潛在地提供功率節省機會。本發明之益處中的一者為本發明適應主機與裝置之間的時脈同步方法之任何形式(異步、同步或適應性)以及各種資料速度、不同取樣率、可變大小之資料、不同USB速度(HS、FS、SS)及不同服務間隔的靈活性。雖然本發明可嚴格地在硬體中實施,但本發明之靈活性經由軟體的使用改良,其中可更容易地調整變數以適應任何組態。在探究本發明之系統的細節及可用於實施本發明之態樣的各種傳信之前,呈現用以產生靈活性的方程式之綜述。 以下部分為數學密集型的且保留給感興趣的讀者,但對理解本發明之例示性態樣可能不重要。對於偏好不讓數學混亂其對本發明之理解的讀者,對例示性態樣之論述參考圖3在下文再次開始。 匹配供主機使用之音訊緩衝器遞送模型的基本漂移補償速率可表示為: ticksnext = ticksreference + ticksoffset + D1 + D2 …+DM (方程式1) 在方程式1中,ticksnext (亦被稱作「Tnext」)為有效地用於程式化下一遞送排程的合成時戳。ticksreference (亦被稱作「Tref」)為第一合成時戳之時戳。Ticksoffset (亦被稱作「Toffset」)為來自用於遞送緩衝器之ticksreference 的差量且亦充當拾取用於播放及擷取的緩衝器之時序。在方程式1中,每一Di 表示裝置時脈及USB時間基準之間的總漂移。在大多數情況下,僅考慮三個時脈:USB主機時脈、音訊應用時脈及USB裝置時脈。USB主機時脈充當其他兩個時脈兩者的系統時間基準,且因此,方程式1通常將簡化為: ticksnext = ticksreference + ticksoffset + Dapp-usb - Ddevice-usb (方程式2) 方程式2適用於音訊擷取路徑及音訊播放路徑兩者。Dapp - usb 為音訊應用時脈與USB主機時脈之間的時差。Ddevice - usb 為USB裝置時脈參考USB主機時脈的行走速度。此等值一起給出淨系統漂移(亦即,音訊樣本運動更快或更慢)。對於音訊擷取路徑,當時Ddevice - usb 為正值時,裝置遞送音訊樣本比USB主機清除音訊樣本更快。當Dapp - usb 為正值時,音訊應用擷取音訊樣本比USB主機遞送音訊樣本更快。在音訊播放路徑上,當Dapp - usb 為正值時,音訊應用遞送音訊樣本比USB主機清除音訊樣本更快。當Ddevice - usb 為正值時,裝置擷取音訊樣本比USB主機遞送音訊樣本更快。將此值傳遞至異步取樣率轉換器(ASRC)以合成及/或內插使ASRC知曉校正程度的音訊。 可顯式地或隱式地判定擷取及播放路徑之漂移Ddevice - usb 。基於資料流之方向(亦即,裝置至主機(通常擷取)或主機至裝置(通常播放))獲得漂移。漂移資訊之源取決於USB公告,且藉由高階作業系統(HLOS)選擇將哪種同步的同步化模式用於USB端點對。實際上,擷取路徑與播放路徑之間的同步同步化模式存在二十種組合。 漂移資訊之源概括於下文表1中。Ddevice - usb 在表1中為縮寫的Ddevice
Figure TW201802700AD00001
1 漂移資訊之源 表1假設音訊應用時脈與USB主機時脈為同相的(Dapp - usb = 0)。此假設使得所有同步及適應性播放(輸出)路徑具有輸出:Ddevice = 0。 本發明之例示性態樣提供技術以偵測取樣頻率、取樣間隔、樣本大小、匯流排速度、時脈同步模式或其類似者之本質上任何變化的漂移。此靈活性經由適應此等可變輸入且允許適當漂移偵測的通用方程式達成。 應瞭解,品質、環境及加工精確度均影響一個異步時脈與該系統中之另一異步時脈相比保持時間的能力。存在具有沿擷取路徑的多個時脈及在播放路徑上的多個時脈之系統。路徑之淨漂移為沿該路徑的每一子系統時脈之間的時間差異的總和。本發明說明,藉由以適當頻率量測漂移,實現無誤差漂移偵測且避免不必要的量測,其可允許功率節省。 USB系統中之音訊流添加困難,此係由於預期此類音訊流使用同步傳送模式。其為不具誤差檢驗或重試的即時專用頻寬模式。音訊樣本以音訊封包的形式經捆綁,且音訊封包可每一(微)訊框被發送一次。每一此類訊框取決於藉由實體層所選擇的為HS或FS USB傳送模式為125 µs抑或1 ms。USB協定支援以叢發發送此類訊框以節省功率及處置較大網路潛時。每服務間隔的訊框之數目藉由2binterval - 1 描述,其中binterval當前為一與16之間的值。已在控管體系中對USB協定進行論述以擴充此數目。每服務間隔的訊框之數目為固定的,但每叢發發送的音訊樣本之數目可為可變的。 已經被認為切合評估漂移的因素包括使用源量測單元保持累加的漂移。自一個單元至另一單元的轉換通常涉及可引入捨入或截短誤差的劃分操作。此類截短誤差之累加可導致主機與裝置之間的時間解譯的差異。藉由在來源量測單元中保持累加,任何截短誤差為暫時的且應藉由系統發現為不顯著抖動。 另一因素為最大可容許之系統抖動。合理的可容許之系統抖動小於一個準確之音訊樣本以避免藉由音訊系統解譯為真實漂移。因此,可容許之系統抖動可為音訊取樣頻率之函數。若可容許之抖動足夠小,硬體輔助可能為必需的,此係因為純軟體實施可能不能夠足夠快地反應以服務中斷至時戳事件。 鑒於此等考量,當考慮USB音訊裝置之瞬時頻率反饋作為時脈源時,可導出方程式6。在此實例中,Ff 為USB裝置報告至USB主機的每訊框音訊樣本之平均數目。將瞬時頻率Ff 以FS USB傳送模式報告至主機: PeriodFS = 210-bRefresh frames (方程式3) 或一有機會即以HS USB傳送模式: PeriodHS = 2(binterval -1 microframes (方程式4) 瞬時漂移因此為 ∆drift = Ffk - Ffk-1 (方程式5) 且當主機接收反饋時經計算 Ticksconv (D) = (D*1000)/fs * 19.2 MHz (方程式6) 其中fs 為取樣頻率。應注意,19.2 MHz為一個例示性高解析度系統計時器之速度。若高解析度系統計時器具有不同速度,則不同值在本文中應被取代,其將方程式6變為以下通用方程式。 Ticksconv (D) = (D*1000)/fs * ftimer (方程式6A) 自產生於虛擬封包為虛擬訊框之定義等效性的USB 2.0信號復原時脈存在挑戰。因此,需要自非線性資料流復原時脈的解決方案。此類解決方案如下,假設每一時脈晶體之精度至少為500 ppm。每虛擬訊框之樣本的數目定義為 numSamplesPerVirtualFrame = fs /ft *2(binterval-1) (方程式7) 其中fs 為取樣頻率,ft 為服務間隔頻率,且binterval如上文所定義。為了易於標記,numSamplesPerVirtualFrame可縮寫為NSPVF 另外,對準乘數為所要的,且定義如下:
Figure TW201802700AD00002
(方程式8) 其中1000000經任意地選擇作為極大基數10值以增加分數精確度。自方程式7及8,可如下計算預期之樣本數目: expectedNumSamples = NSPVF*alignmentMultiplier (方程式9) alignmentMultiplier表示在穩定漂移判定為可能之前主機需要之虛擬訊框的最小數目。expectedNumSamples為預期待接收的樣本之數目。NSPVF出於視覺清晰度為中間變數且並非浮點。對於所接收之虛擬訊框的每一alignmentMultiplier數目,∆drift藉由以下方程式計算: ∆drift = numSamplesReceived - expectedNumSamples (方程式10) 因此,來自音訊會話之開始的淨漂移藉由以下方程式計算: D = Dnet drift + ∆drift (方程式11) D音訊樣本至系統計時器(有時被稱作Qtimer)滴答信號之轉換為: Ticksconv (D) = Dnet drift /fs *19.2 MHz (方程式12) 同樣,應注意,19.2 MHz為高解析度系統計時器之速度。若高解析度系統計時器具有不同值,則此類不同值在本文中應被取代從而產生: Ticksconv (D) = D/fs *ftimer (方程式12A) 藉由上文所概述之漂移資訊及時脈偵測資訊,可進行速率匹配。藉由速率匹配,統一樣本大小可產生及如下文所概述被發送至應用程式處理器。然而,在解決統一樣本大小之前,呈現更多數學運算以解釋速率匹配。特定言之,此有助於定義計算ticksoffset 之方式。 記住,不存在漂移ticksnext = ticksreference + ticksoffset (方程式13) 其中ticksoffset 經定義為
Figure TW201802700AD00003
(方程式14) 其中fd 為遞送頻率且i於每一ticknext 上遞增,且當i=fs 時環繞以避免i溢出。在環繞點處,ticksreference =ticksnext 且接著i=0。 具備上文所闡述之數學運算,現闡述本發明之例示性態樣。就此而言,圖3為如何在實施本發明之例示性態樣的行動通信裝置300中處置音訊(及可能視訊)之簡化方塊圖。 行動通信裝置300包括應用程式處理器302及ADSP 304。在例示性態樣中,應用程式處理器302及ADSP 304可處於單個SoC 306中。同樣地,雖然概念上描述為獨立的處理器,但此等處理器可為單個主機處理器的一部分。再者,雖然歸結於諸如「應用程式處理器」或「ADSP」之特定功能,但應瞭解,在不背離本發明之範疇之情況下,傳統地未參考此類名稱的其他處理器仍可實施類似的功能。應用程式處理器302可與USB硬體控制器308通信,該USB硬體控制器經由USB介面312與諸如耳機之USB周邊裝置310通信,該USB介面可包括USB插孔、USB連接器及USB纜線。 如同圖2之USB周邊裝置202,USB周邊裝置310可支援異步、同步、適應性或混合時脈同步模式,且可包括一或多個PLL (兩個經說明)或DLL(未說明)。USB周邊裝置310可接收資料(稱作資料輸入),諸如經由麥克風(如上文所指出,有時被稱作擷取);以及輸出資料(稱作資料輸出),諸如經由頭戴式耳機中之揚聲器(如上文所指出,有時被稱作播放)。資料經由USB介面312傳遞行動通信裝置300且自該行動通信裝置傳遞。 ADSP 304可包括UAC驅動程式314。該UAC驅動程式314可使用主機控制器介面(HCI) (未說明)以與USB硬體控制器308通信。在習知系統中,UAC驅動程式314中不存在HCI,因為ADSP 304不與USB硬體控制器308通信。然而,本發明之例示性態樣允許USB硬體控制器308與ADSP 304之間的通信。因此,可提供HCI以實現此通信。UAC驅動程式314自USB硬體控制器308接收不穩定及可變大小之資料訊框。 本發明之例示性態樣將一或多個緩衝器316添加至UAC驅動程式314,以及將高解析度系統計時器318耦接至UAC驅動程式314,其允許UAC驅動程式314將穩定、精確及固定資料訊框大小傳遞至應用程式處理器302 (或處置應用程式之其他處理器)中之資料處理電路320。再者,UAC驅動程式314可經由信號322向資料處理電路320提供淨播放及擷取延遲。藉由向資料處理電路320提供統一資料訊框,應用層演算法324不必大量地緩衝資料或執行與圖2之資料處理電路218相關聯之校正。即使應用層演算法324接收統一資料訊框,應用程式處理器302可包括可輔助處理信號322以對漂移校正資訊及/或抖動問題起作用的ASRC 326。同樣,應注意,應用程式處理器302可與ADSP 304合併為單個微處理器或可藉由不同供應商提供不同名稱。 雖然圖3預期在ADSP 304中定位UAC驅動程式314,但應瞭解,如圖4A及4B中所說明之其他位置亦為可能的。 就此而言,圖4A說明具有數位音訊轉換器(DAC) 402之耳機400 (或其他USB周邊裝置),該數位音訊轉換器自麥克風或其類似者擷取資料且將該資料提供至UAC資料調整器(UAC資料調節器) 404。UAC調節器404使封包大小統一及將封包提供至硬體控制器406,其隨後經由纜線408將封包傳遞至USB 主機410。USB 主機410用主機硬體控制器412接收封包。應用層(未具體地說明)中之應用程式414 (在圖式中標記為APP)接收統一封包並以熟知方式處理該等封包。在此配置中,USB主機410可類似於圖2之USB主機操作,但得益於耳機400發送至USB主機410的統一封包。耳機400中之經增加電路可增加耳機400之成本,但可向傳統USB主機提供益處。 在圖式4B中,USB 主機410保持不變,但將UAC資料調節器418提供於諸如硬體鎖420之中間裝置420中,而非將資料調節器置放於耳機400中。硬體鎖420可能處於纜線422之主機側422A或周邊裝置側422B上。亦即,纜線422可藉由插入至USB 主機410之USB插孔中之硬體鎖420在硬體鎖420與耳機424之間延伸,或纜線422可藉由插入至耳機424之USB插孔中之硬體鎖420在USB主機410及硬體鎖420之間延伸。作為另一可能性(經說明),硬體鎖可處於纜線422中,且纜線422插入至USB主機410及耳機424之各別插孔中。 圖5為可在圖3之UAC驅動程式314內部實施之資料調節器的方塊圖。緩衝器316 (在圖5中亦被稱作FIFO)接收可變大小之資料封包500。當帶內漂移偵測器502接收資料可用中斷信號504時,其讀取緩衝器316中之資料封包500之大小。替代地,帶外漂移偵測器506接收異步反饋封包信號508及資料可用中斷信號504。偵測器502或506中之一者經多工器510讀取。多工器510藉由設定偵測類型信號512在偵測器502與506之輸出之間選擇。多工器510將信號輸出至裝置漂移累加器514。同時,將資料可用中斷信號504提供至本端時脈漂移偵測器516,該本端時脈漂移偵測器將信號提供至本端時脈漂移累加器518。求和器520自本端時脈漂移累加器518之輸出(Dapp - usb )減去裝置漂移累加器514輸出(Ddevice - usb )且輸出信號522。該信號522對應於Dapp - usb - Ddevice - usb 。 繼續參考圖5,亦將資料可用中斷信號504提供至初始參考處置器524。初始參考處置器524將讀取計數器輸出至高解析度時脈函數526。該高解析度時脈函數526亦自本端時脈漂移偵測器516接收讀取計數器。高解析度時脈函數526亦可接收將允許時脈值變化的設定Hi-res計時器Ft 值。應注意,此值不太可能在中間操作中變化,但可能在系統初始化或其類似者處設定。高解析度時脈函數526與高解析度系統計時器318相互操作。初始參考處置器524亦經添加至抖動延遲元件528及用於設定初始Tref以開始時戳加延遲信號530。 緩衝器316將資料信號532 (標記為「讀取資料」)輸出至資料遞送處置器534,該資料遞送處置器亦接收高解析度系統計時器318之輸出536。資料遞送處置器534亦可接收指示ASRC預期處理的大小緩衝器之設定輸出緩衝器大小命令(可能自ASRC 326)。將信號530提供至添加Tref到其上且產生中間信號540之求和器538,Toffset經添加至該中間信號,從而產生信號542,將該信號傳遞至求和器544 (其本質上按需要執行方程式6或方程式12)。求和器544增加信號542、信號522及輸出536以產生合成時戳546 (本質上方程式2)。資料遞送處置器534輸出用於求和器544的運行命令且將固定數目之樣本提供至ASRC 326。ASRC 326亦接收合成時戳546且輸出經重取樣之資料548。雖然未具體說明,但設定取樣頻率命令亦可經接收以輔助如上文所提及之計算。 在例示性態樣中,此資料調節器以軟體形式實施。在另一例示性態樣中,此資料調節器可在硬體中實施。 圖6為表示可在資料處理器中之應用程式意圖使用圖3之UAC驅動程式314時出現的信號及程序之信號流程圖。起初,應用程式在啟動設置階段提供設置資訊。該設置資訊可包括取樣率、匯流排傳送頻率、緩衝器大小、時脈恢復模式及類似者。將此設置資訊提供至UAC驅動程式314之資料速率調節器(參見圖5)。資料速率調節器計算如何自USB硬體控制器308以已經請求之速率精確及穩定地(無抖動)傳送資料。此計算之過程解釋於上文中。此圖中之計時器/時脈元件為圖3之高解析度系統計時器318,但亦可使用其他計時器。 圖6為表示可在諸如應用程式處理器302之資料處理器中的應用程式意圖使用UAC驅動程式314時出現的信號及程序之信號流程圖600。起初,應用程式在啟動設置階段(區塊602)提供設置資訊。應用程式處理器302在ASRC 326處設定輸入及輸出取樣頻率,且發送輸入取樣速率頻率、匯流排傳送頻率、服務間隔(其大於或等於匯流排傳送頻率)、輸出緩衝器大小、時脈恢復模式(異步、適應性或同步)、任何硬體介面特定設置參數,且將用於一或多個緩衝器316的任何實體記憶體登記至UAC驅動程式314且特定言之至UAC驅動程式314中之資料調節器。最後,將啟動命令(信號604)發送至資料調節器。資料調節器將硬體介面特定設置參數傳遞至USB硬體控制器308 (信號606)且程式化下一無緩衝空間以寫入(信號608)。USB硬體控制器308將資料準備就緒事件信號610發送至資料調節器。此信號610使得資料調節器讀取高解析度系統計時器318 (信號612)、自USB硬體控制器308讀取資料大小(信號614),且執行一連串動作,包括:將時脈值儲存至Tref中;將Tjitter (自緩衝器大小導出及若不為顯式地反饋驅動,則為所接收的資料大小)添加至Tref;初始化i=0、Ddevice - usb =0、Dapp - usb =0;且計算下一Toffset;計算Tnext (方程式2) (通常參見區塊616)。資料調節器接著程式化用於高解析度系統計時器318之Tnext (信號618)且程式化下一無緩衝空間以寫入(信號620)。 繼續參考圖6,系統進入穩定狀態且資料調節器自USB硬體控制器308接收下一資料準備就緒事件(信號622),其觸發讀取時脈信號624及允許資料調節器更新淨漂移(Ddevice - usb 及Dapp - usb )的讀取資料大小信號626 (通常參見區塊628)。 在某一點處,USB硬體控制器308可將異步時脈反饋事件(信號630)發送至資料調節器,其使得資料調節器更新Ddevice - usb (通常參見區塊632)。 在一些其他時間處,高解析度系統計時器318可將計時器到期事件信號634發送至資料調節器。回應於此信號634,資料調節器可將i加一,且若i等於取樣頻率,則將Tref設定為Tnext且i=0;計算下一Toffset;且計算方程式2 (通常參見區塊636)。資料調節器可將資料可用信號638發送至應用程式處理器302,且程式化Tnext (信號640),且程式化下一無緩衝空間以寫入(信號642)。應用程式處理器302自資料調節器讀取淨漂移或時戳(信號644)及自UAC驅動程式314中之一或多個緩衝器316 (信號646)及/或USB硬體控制器308 (信號646A)讀取資料。 應用程式處理器302計算樣本的數目以自新淨漂移及先前淨漂移校正(區塊648),且(諸如)藉由使用具有資料、資料長度、要校正之樣本及校正變數的持續時間之寫入命令將資料寫入至其檔案系統中。應注意,資料可為語音封包。必要時,漂移校正可跨可組態週期伸展以減少可察覺干擾。然而,即使具備伸展週期,預期此校正以約25 ms而非按有時在習知系統中使用之10秒出現。過程接著撤銷啟動(區塊660)。 應進一步注意,本發明之額外態樣提供用以提供無誤差漂移偵測及支援未來規劃之功率節省方案的技術。就此而言,應瞭解,分數取樣率(諸如相對普遍44.1 kHz)會造成漂移之誤差偵測,此係因為周邊裝置處之累加器與主機處之累加器之間的相位不匹配。相比於包括用以輔助漂移偵測之時戳的傳信協定,USB協定不包括自周邊裝置至主機的時戳。確切而言,主機僅接收經封包化USB資料。在每一USB封包內部,資料的量為可變的。分數取樣率及未知封包大小的問題已在業界內充分記載。常見解決方案為在一較長週期(諸如十分鐘)內時間平均該等樣本,且接著執行漂移之校正。在應用校正之前,組裝樣本之時間平均之較長延遲導致潛時。直至應用校正,使用者可體驗降級之音訊體驗。同樣地,校正之粒度可能不適於瞬時或隨機漂移事件。 本發明之例示性態樣允許無誤差漂移偵測。此經由實例的使用而最佳地解釋。假設取樣頻率(Fs)為44.1 KHz且USB匯流排傳送速度為1000 Hz (亦即,1樣本每毫秒),且binterval (每封包之樣本)為11,主機將預期接收45158.4個樣本每間隔。不能在USB規則下發送分數樣本。周邊裝置累加器在樣本傳輸至主機時開始,但主機累加器經延遲直至接收之後為止,因此累加器為異相的。在第二間隔處,周邊裝置累加器為90316.8。同樣,其為表現為相對於主機累加器之漂移的分數樣本。隨時間推移,在無外部漂移之情況下,此漂移將在1與0之間切換,但有時可使非所需校正發生。 本發明之例示性態樣評估分數餘數且尋找達成整數所需之的間隔數目,而非如先前解決方案中的時間平均該漂移。在本實例中,若分數餘數為0.4,則達成整數所需之間隔的數目為5。(0.4=2/5,分母為5,因此五個間隔)。UAC驅動程式314可在藉由如此計算之間隔的數目判定的邊界處檢驗累加器。因此,在此實例中,UAC驅動程式314每五個間隔檢驗漂移。不存在由分數取樣率引起之假想漂移,因此若偵測到漂移,則為必須進行校正(亦即,插值或抽取或其類似者)的真實漂移。此外,藉由忽略中間樣本中之漂移,可放棄計算,其可使功率節省。 USB協定預期兩種形式之漂移報告。第一種為隱式漂移偵測,其中帶內信號經檢測且與已知值相比較以判定漂移。第二種為藉由周邊裝置發送至主機的漂移之顯式帶外傳信,其中周邊裝置將所接收之樣本與樣本之期望數目比較且報告返回此等兩個值之間的任何漂移。USB協定無執行隱式漂移偵測之方式,且USB協定亦無主機可校正任何偵測之漂移之方式(隱式地或顯式地)。本發明在上文已闡述若干方程式及一種用於處置漂移偵測及其校正之過程。圖7至圖10展示音訊源(圖7及圖8)及音訊接收器(圖9及圖10)兩者的兩個可能漂移報告的可能性及校正過程。特定言之,圖7說明用於音訊源之帶內漂移報告過程,即,麥克風700。資料藉由麥克風700擷取且在可變大小之資料封包中經由USB裝置驅動程式704以恆定速率(區塊702)傳遞至USB主機中之USB主機驅動程式706。當資料儲存於緩衝器710中時,USB主機驅動程式706自來自麥克風700之資料隱式地導出漂移資訊且將所提取之漂移資訊用於判定Tref+Toffset以用於計時至音訊用戶端及程式計時器之遞送(區塊708)。上文闡述用於判定Tref+Toffset之公式。在基於區塊708之輸出的計時器觸發器712處,以可變速率將固定數目之封包自緩衝器710發送至ASRC 716 (區塊714)。同時,將漂移資訊用於報告淨播放延遲(區塊718)且產生合成時戳(區塊720)。ASRC 716輸出經重取樣之資料(區塊722)。雖然封包之固定數目實際上為固定的,但改變該速率允許漂移被校正。亦即,可加速封包遞送以校正一個漂移,或減速以在另一方向上校正漂移。 類似地,圖8為實質上類似的,除反映麥克風800之帶外漂移報告過程之外。特定言之,漂移偵測基於麥克風800之輸出藉由USB裝置驅動程式802執行。USB裝置驅動程式802接著輸出帶外漂移報告(區塊804)且亦以恆定速率發送可變大小之資料封包(區塊806)。將漂移資訊及資料兩者提供至USB主機中之USB主機驅動程式808。當資料儲存於緩衝器812中時,使用上文所闡述之方程式將漂移資訊用於判定Tref+Toffset以用於計時至音訊用戶端及程式計時器之遞送(區塊810)。在基於區塊810之輸出的計時器觸發器814處,緩衝器812以可變速率將固定數目之封包發送至ASRC 818 (區塊816)。同時,將漂移資訊用於報告淨播放延遲(區塊820)且產生合成時戳(區塊822)。ASRC 818輸出經重取樣之資料(區塊824)。同樣,可變速率之使用允許漂移校正。 相比之下,圖9及圖10探究漂移對播放路徑的影響。就此而言,圖9說明帶內漂移報告過程。麥克風900可充當圖7之麥克風700,除更關注揚聲器902之外。揚聲器902自USB裝置驅動程式904接收資料。USB裝置驅動程式904自USB主機驅動程式906接收資料。USB主機驅動程式906將進入USB主機驅動程式906之資料與如上文所描述之USB參考相比較以判定漂移資訊。使用上文所描述之方程式將此漂移資訊用於判定Tref+Toffset以用於計時至音訊用戶端及程式計時器之遞送(區塊908)。將此判定用於輔助產生計時器觸發器(區塊910)、報告淨記錄延遲(區塊912)及形成合成時戳(區塊914)。在計時器觸發器(區塊910)處,固定數目之封包以可變速率經提取(區塊916)且經提供至音訊模組918,該音訊模組在緩衝器920中緩衝封包。緩衝器920以恆定速率釋放可變大小之資料封包(區塊922)且將其提供至USB主機驅動程式906,該USB主機驅動程式906經由USB裝置驅動程式904將該等資料封包傳遞至揚聲器902。可變大小之資料封包的使用允許漂移待校正。可自在USB主機驅動程式906處經由帶內漂移偵測器偵測之漂移推斷揚聲器方向上的漂移之校正,其限制條件為經由相同源時控麥克風900及揚聲器902兩者。 類似地,圖10說明帶外漂移報告過程。麥克風1000可充當上文所描述之圖8的麥克風800。更受關注的為揚聲器1002。揚聲器1002將帶外漂移資訊及資料傳遞(區塊1004)至USB裝置驅動程式1006。USB裝置驅動程式1006自USB主機驅動程式1008接收資料且同樣地將帶外漂移資訊傳遞至USB主機驅動程式1008。將此漂移資訊用於判定Tref+Toffset以用於計時至音訊用戶端及程式計時器之遞送(區塊1010)。將此判定用於輔助產生計時器觸發器(區塊1012)、報告淨記錄延遲(區塊1014)及形成合成時戳(區塊1016)。在計時器觸發器(區塊1012)處,固定數目之封包以可變速率經提取(區塊1018)且經提供至音訊模組1020,該音訊模組在緩衝器1022中緩衝封包。緩衝器1022以常量速率釋放可變大小之資料封包(區塊1024)且將其提供至USB主機驅動程式1008,該USB主機驅動程式經由USB裝置驅動程式1006將該等資料封包傳遞至揚聲器1002。同樣,可變大小之資料封包的使用允許漂移校正。 如上文所指出,例示性態樣亦允許未來預期之功率節省。此可能性係藉由用於處置可變資料及取樣率的通用(有時被稱作不可知)演算法實現。亦即,在上文之方程式中,方程式以不可知fs 作為取樣率及ft 作為匯流排傳送速度(其已預期FS、SS及HS)開始。藉由在應用層演算法324中使用此等不可知值,適應其他新取樣率或其他非標準取樣率。該不可知方法允許適當估計DLL。應瞭解,binterval (每封包的樣本數目)之增加增加封包之大小且亦增加填充一或多個緩衝器316花費之時間。由於應用程式處理器302為空閒的而緩衝器316為正經填充的,可將應用程式處理器302置於低功率模式或睡眠模式中。填充緩衝器316花費的時間愈久(亦即,每封包較大數目之樣本),應用程式處理器302可處於睡眠模式愈久。應用程式處理器302處於睡眠模式愈久,節省的功率愈多。因此,業界存在增加每封包的樣本數目之壓力。藉由在應用層演算法324中具有通用binterval,本發明之例示性態樣可在音訊裝置描述符中接收較大binterval值,且因此適應每封包樣本數目之任何未來變化且因此允許未來功率節省。 根據本文中所揭示之態樣的用於控制同步資料流的系統及方法可在任何基於處理器之裝置中提供或整合至該裝置中。實例(但不限於),包括機上盒、娛樂單元、導航裝置、通信裝置、固定位置資料單元、行動位置資料單元、全球定位系統(GPS)裝置、行動電話、蜂巢式電話、智慧型手機、會話起始協定(SIP)電話、平板電腦、平板手機、伺服器、電腦、攜帶型電腦、行動計算裝置、可穿戴式計算裝置(例如,智慧型手錶、保健或健康追蹤器、眼鏡等)、桌上型電腦、個人數位助理(PDA)、監視器、電腦監視器、電視、調諧器、無線電、衛星無線電、音樂播放機、數位音樂播放機、攜帶型音樂播放機、數位視訊播放機、視訊播放機、數位視訊光碟(DVD)播放機、攜帶型數位視訊播放機、汽車、車輛組件、航空電子設備系統、無人機及多旋翼飛行器。 就此而言,圖11說明基於處理器之系統1100的實例,其可採用執行本文中所描述的漂移偵測、速率匹配及統一封包組裝的USB系統。在此實例中,基於處理器之系統1100包括一或多個中央處理單元(CPU) 1102,每一中央處理單元包括一或多個處理器1104。CPU 1102可具有耦接至處理器1104以用於快速存取暫時儲存之資料的快取記憶體1106。一或多個CPU 1102耦接至系統匯流排1108且可將包括於基於處理器之系統1100中之主控裝置與從屬裝置相互耦接。如所熟知,一或多個CPU 1102藉由經由系統匯流排1108交換位址、控制及資料資訊而與此等其他裝置通信。舉例而言,一或多個CPU 1102可將匯流排異動請求傳達至作為從屬裝置之實例的記憶體控制器1110。儘管未在圖11中說明,但可提供多個系統匯流排1108,其中每一系統匯流排1108構成不同網狀架構。 其他主控裝置及從屬裝置可連接至系統匯流排1108。如圖11中所說明,作為實例,此等裝置可包括記憶體系統1112、一或多個輸入裝置1114、一或多個輸出裝置1116、一或多個網路介面裝置1118及一或多個顯示控制器1120。輸入裝置1114可包括任何類型之輸入裝置,包括(但不限於)輸入鍵、開關、語音處理器等。輸出裝置1116可包括任何類型之輸出裝置,包括(但不限於)音訊、視訊、其他視覺指示器等。網路介面裝置1118可為經組態以允許將資料交換至網路1122且自該網路交換資料的任何裝置。網路1122可為任何類型之網路,包括(但不限於)有線或無線網路、私用或公用網路、區域網路(LAN)、無線區域網路(WLAN)、廣域網路(WAN)、BLUETOOTHTM 網路及網際網路。網路介面裝置1118可經組態以支援任何類型之所要通信協定。記憶體系統1112可包括一或多個記憶體單元1124(0-N)。 CPU 1102亦可經組態以在系統匯流排1108上存取顯示控制器1120以控制發送至一或多個顯示器1126之資訊。顯示控制器1120經由一或多個視訊處理器1128將資訊發送至顯示器1126以供顯示,該視訊處理器將待顯示的資訊處理為適合於顯示器1126的格式。顯示器1126可包括任何類型的顯示器,包括(但不限於),陰極射線管CRT)、液晶顯示器(LCD)、電漿顯示器、發光二極體(LED)顯示器等等。 熟習此項技術者應進一步瞭解,結合本文中所揭示之態樣描述的各種說明性邏輯區塊、模組、電路及演算法可實施為電子硬體、儲存於記憶體或另一電腦可讀媒體中且由處理器或其他處理裝置執行之指令,或兩者之組合。作為實例,可在任何電路、硬體組件、積體電路(IC)或IC晶片中使用本文中所描述之裝置。本文中所揭示之記憶體可為任何類型及大小之記憶體,且可經組態以儲存任何類型之所要資訊。為清楚地說明此互換性,上文已大體上就其功能性而言描述各種說明性組件、區塊、模組、電路及步驟。如何實施此功能性取決於特定應用、設計選擇及/或強加於整個系統之設計約束。熟習此項技術者可針對每一特定應用而以變化之方式實施所描述之功能性,但不應將此等實施決策解譯為致使脫離本發明之範疇。 可藉由處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或經設計以執行本文中所描述功能的其他可程式化邏輯裝置、離散閘或電晶體邏輯、離散硬體組件,或其任何組合來實施或執行結合本文中所揭示之態樣而描述的各種說明性邏輯區塊、模組及電路。處理器可為微處理器,但在替代例中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可實施為計算裝置之組合(例如,DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器,或任何其他此組態)。 本文中所揭示之態樣可體現於硬體及儲存於硬體中之指令中,且可駐存於(例如)隨機存取記憶體(RAM)、快閃記憶體、唯讀記憶體(ROM)、電可程式化ROM (EPROM)、電可抹除可程式化ROM (EEPROM)、暫存器、硬碟、可移除式磁碟、CD-ROM或此項技術中已知的任何其他形式之電腦可讀媒體中。例示性儲存媒體經耦接至處理器,使得處理器可自儲存媒體讀取資訊並將資訊寫入至儲存媒體。在替代例中,儲存媒體可整合至處理器。處理器及儲存媒體可駐存於ASIC中。ASIC可駐存於遠端台中在替代例中,處理器及儲存媒體可作為離散組件駐存在遠端台、基地台或伺服器中。 亦應注意,描述在本文中之任何例示性態樣中之任一者中所描述之的操作步驟以提供實例及論述。可以除所說明序列以外之許多不同序列來執行所描述操作。此外,實際上可以數個不同步驟來執行單一操作步驟中描述之操作。另外,可組合例示性態樣中所論述之一或多個操作步驟。應理解,流程圖中所說明之操作步驟可經受熟習此項技術者將容易明白的許多不同修改。熟習此項技術者亦將理解,可使用多種不同技術及技法中之任一者來表示資訊及信號。舉例而言,可藉由電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子,或其任何組合來表示在貫穿以上描述中可能引用之資料、指令、命令、資訊、信號、位元、符號及碼片。 提供對本發明之先前描述以使得任何熟習此項技術者能夠製作或使用本發明。熟習此項技術者將易於理解對本發明之各種修改,且本文所定義之一般原理可在不背離本發明之精神或範疇的情況下應用於其他變體。因此,本發明並不意欲限於本文中所描述之實例及設計,而應符合與本文中所揭示之原理及新穎特徵相一致的最廣泛範疇。
100‧‧‧行動通信裝置
102‧‧‧USB C型插孔
104‧‧‧USB C型連接器
106‧‧‧USB纜線
108‧‧‧數位音訊耳機
110‧‧‧揚聲器
112‧‧‧頭戴式耳機
114‧‧‧麥克風
200‧‧‧行動通信裝置
202‧‧‧USB周邊裝置
206‧‧‧USB纜線
208‧‧‧USB硬體控制器
210‧‧‧系統單晶片(SoC)
212‧‧‧音訊數位信號處理器(ADSP)
214‧‧‧應用程式處理器
216‧‧‧USB音訊用戶端(UAC)驅動程式
218‧‧‧資料處理電路
220‧‧‧緩衝器
222‧‧‧高解析度系統計時器
224‧‧‧應用層演算法
226‧‧‧異步取樣率轉換器(ASRC)
300‧‧‧行動通信裝置
302‧‧‧應用程式處理器
304‧‧‧ADSP
306‧‧‧SoC
308‧‧‧USB硬體控制器
310‧‧‧USB周邊裝置
312‧‧‧USB介面
314‧‧‧UAC驅動程式
316‧‧‧緩衝器
318‧‧‧高解析度系統計時器
320‧‧‧資料處理電路
322‧‧‧信號
324‧‧‧應用層演算法
326‧‧‧ASRC
400‧‧‧耳機
402‧‧‧數位音訊轉換器(DAC)
404‧‧‧UAC資料調節器
406‧‧‧硬體控制器
408‧‧‧纜線
410‧‧‧USB主機
412‧‧‧主機硬體控制器
414‧‧‧應用程式
418‧‧‧UAC資料調節器
420‧‧‧硬體鎖/中間裝置
422‧‧‧纜線
422A‧‧‧主機側
422B‧‧‧周邊裝置側
424‧‧‧耳機
500‧‧‧封包
502‧‧‧帶內漂移偵測器
504‧‧‧資料可用中斷信號
506‧‧‧帶外漂移偵測器
508‧‧‧異步反饋封包信號
510‧‧‧多工器
512‧‧‧設定偵測類型信號
514‧‧‧裝置漂移累加器
516‧‧‧時脈漂移偵測器
518‧‧‧本端時脈漂移累加器
520‧‧‧求和器
522‧‧‧信號
524‧‧‧初始參考處置器
526‧‧‧高解析度時脈函數
528‧‧‧抖動延遲元件
530‧‧‧時戳加延遲信號
532‧‧‧資料信號
534‧‧‧資料傳送處置器
536‧‧‧輸出
538‧‧‧求和器
540‧‧‧中間信號
542‧‧‧信號
544‧‧‧求和器
546‧‧‧合成時戳
548‧‧‧經重取樣之資料
600‧‧‧信號流程圖
602‧‧‧區塊
604‧‧‧信號
606‧‧‧信號
608‧‧‧信號
610‧‧‧信號
612‧‧‧信號
614‧‧‧信號
616‧‧‧區塊
618‧‧‧信號
620‧‧‧信號
622‧‧‧信號
624‧‧‧讀取時脈信號
626‧‧‧讀取資料大小信號
628‧‧‧區塊
630‧‧‧信號
632‧‧‧區塊
634‧‧‧信號
636‧‧‧區塊
638‧‧‧資料可用信號
640‧‧‧信號
642‧‧‧信號
644‧‧‧信號
646‧‧‧信號
646A‧‧‧信號
648‧‧‧區塊
660‧‧‧區塊
700‧‧‧麥克風
702‧‧‧區塊
704‧‧‧USB裝置驅動程式
706‧‧‧USB主機驅動程式
708‧‧‧區塊
710‧‧‧緩衝器
712‧‧‧計時器觸發器
714‧‧‧區塊
716‧‧‧ASRC
718‧‧‧區塊
720‧‧‧區塊
722‧‧‧區塊
800‧‧‧麥克風
802‧‧‧USB裝置驅動程式
804‧‧‧區塊
806‧‧‧區塊
808‧‧‧USB主機驅動程式
810‧‧‧區塊
812‧‧‧緩衝器
814‧‧‧計時器觸發器
816‧‧‧區塊
818‧‧‧ASRC
820‧‧‧區塊
822‧‧‧區塊
824‧‧‧區塊
900‧‧‧麥克風
902‧‧‧揚聲器
904‧‧‧USB裝置驅動程式
906‧‧‧USB主機驅動程式
908‧‧‧區塊
910‧‧‧區塊
912‧‧‧區塊
914‧‧‧區塊
916‧‧‧區塊
918‧‧‧音訊模組
920‧‧‧緩衝器
922‧‧‧區塊
1000‧‧‧麥克風
1002‧‧‧揚聲器
1004‧‧‧區塊
1006‧‧‧USB裝置驅動程式
1008‧‧‧USB主機驅動程式
1010‧‧‧區塊
1012‧‧‧區塊
1014‧‧‧區塊
1016‧‧‧區塊
1018‧‧‧區塊
1020‧‧‧音訊模組
1022‧‧‧緩衝器
1024‧‧‧區塊
1100‧‧‧基於處理器之系統
1102‧‧‧中央處理單元(CPU)
1104‧‧‧處理器
1106‧‧‧快取記憶體
1108‧‧‧系統匯流排
1110‧‧‧記憶體控制器
1112‧‧‧記憶體系統
1114‧‧‧輸入裝置
1116‧‧‧輸出裝置
1118‧‧‧網路介面裝置
1120‧‧‧顯示控制器
1122‧‧‧網路
1124(0-N)‧‧‧記憶體單元
圖1為根據本發明之例示性態樣的具有經由通用串列匯流排(USB)纜線及連接器耦接之遠端音訊周邊裝置的行動通信裝置之簡化透視圖; 圖2為自USB周邊裝置至處理器內之應用層的習知音訊流之方塊圖; 圖3為根據本發明之例示性態樣之USB系統內之音訊流的方塊圖; 圖4A及4B展示具有本發明之資料調節器之交替置放的兩個USB系統; 圖5為資料調節器之方塊圖; 圖6為展示如何計算封包大小及如何將封包傳遞至應用層之信號流程圖; 圖7為自麥克風至USB主機之帶內漂移報告過程的方塊圖; 圖8為自麥克風至USB主機之帶外漂移報告過程的方塊圖; 圖9為自麥克風至主機之帶內漂移報告過程及主機如何將該過程用於揚聲器播放的方塊圖; 圖10為自麥克風至主機之帶外漂移報告過程及主機如何將該過程用於揚聲器播放的方塊圖;及 圖11為可包括圖3之USB系統之例示性基於處理器之系統的方塊圖。
300‧‧‧行動通信裝置
302‧‧‧應用程式處理器
304‧‧‧ADSP
306‧‧‧SoC
308‧‧‧USB硬體控制器
310‧‧‧USB周邊裝置
312‧‧‧USB介面
314‧‧‧UAC驅動程式
316‧‧‧緩衝器
318‧‧‧高解析度系統計時器
320‧‧‧資料處理電路
324‧‧‧應用層演算法
326‧‧‧ASRC

Claims (32)

  1. 一種用於控制一通用串列匯流排(USB)系統中之通信的方法,其包含: 在具有一USB驅動程式之一第一處理器處接收可變大小之封包; 在該第一處理器處組裝統一大小之封包;及 將該等統一大小之封包傳遞至一第二處理器以供由一應用層處之應用程式用於一協定堆疊。
  2. 如請求項1之方法,其中該第一處理器及該第二處理器整合至一單個積體電路中。
  3. 如請求項1之方法,其中在該第一處理器處接收該等可變大小之封包包含在一微處理器處接收該等可變大小之封包。
  4. 如請求項1之方法,其中在該第一處理器處接收該等可變大小之封包包含在一音訊數位信號處理器(ADSP)處接收該等可變大小之封包。
  5. 如請求項1之方法,其中在該第一處理器處接收該等可變大小之封包包含在於一周邊裝置與一主機之間的一中間裝置處接收該等可變大小之封包。
  6. 如請求項1之方法,其中接收該等可變大小之封包包含在一周邊裝置中之一處理器處接收該等可變大小之封包。
  7. 如請求項1之方法,其中組裝該等統一大小之封包包含使用一匯流排頻率及一每封包樣本計算一大小。
  8. 如請求項1之方法,其中組裝該等統一大小之封包包含使用內容之一取樣頻率。
  9. 如請求項1之方法,其中組裝該等統一大小之封包包含自一高解析度計時器接收一時戳。
  10. 一種主機,其包含: 一應用程式處理器; 一通用串列匯流排(USB)硬體;及 一音訊數位信號處理器(ADSP),其經組態以: 在該ADSP處經由該USB硬體接收可變大小之封包; 在該ADSP處組裝統一大小之封包;及 將該等統一大小之封包傳遞至該應用程式處理器以供由一應用層處之應用程式用於一協定堆疊。
  11. 一種主機,其包含: 一應用程式處理器; 一通用串列匯流排(USB)硬體;及 一系統單晶片(SoC),其包含複數個處理器,該複數個處理器經組態以: 在一第一處理器處接收可變大小之封包; 在該第一處理器處組裝統一大小之封包;及 將該等統一大小之封包傳遞至一第二處理器以供由一應用層處之應用程式用於一協定堆疊。
  12. 如請求項11之主機,其中該第一處理器包含一微處理器。
  13. 如請求項11之主機,其中該第一處理器包含一音訊數位信號處理器(ADSP)。
  14. 如請求項11之主機,其中該第一處理器經組態以藉由使用一匯流排頻率及一每封包樣本計算一大小來組裝該等統一大小之封包。
  15. 如請求項11之主機,其中該第一處理器經組態以藉由使用內容之一取樣頻率組裝該等統一大小之封包。
  16. 如請求項11之主機,其中該第一處理器經組態以藉由自一高解析度計時器接收一時戳組裝該等統一大小之封包。
  17. 一種用於在一通用串列匯流排(USB)系統中偵測漂移之方法,其包含: 判定一分數取樣率係在一音訊周邊裝置與一主機之間的一USB匯流排上使用; 跨一服務間隔判定與該分數取樣率相關聯之一第一分數餘數; 基於該第一分數餘數,計算對應於無分數餘數所需的之一間隔數目的一整數;及 檢驗每一整數個間隔之漂移。
  18. 如請求項17之方法,其進一步包含基於檢驗該漂移應用一漂移校正。
  19. 一種處理器,其包含: 一輸入端;及 一控制系統,其經組態以: 判定一分數取樣率係在一音訊周邊裝置與一主機之間的一USB匯流排上使用; 跨一服務間隔判定與該分數取樣率相關聯之一第一分數餘數; 基於該第一分數餘數,計算對應於無分數餘數所需之一間隔數目的一整數;及 檢驗每一整數個間隔之漂移。
  20. 如請求項19之處理器,其整合至選自由以下各者組成之群的一裝置中:一機上盒、一娛樂單元、一導航裝置、一通信裝置、一固定位置資料單元、一行動位置資料單元、一全球定位系統(GPS)裝置、一行動電話、一蜂巢式電話、一智慧型手機、一會話起始協定(SIP)電話、一平板電腦、一平板手機、一伺服器、一電腦、一攜帶型電腦、一行動計算裝置、一可穿戴式計算裝置、一桌上型電腦、一個人數位助理(PDA)、一監視器、一電腦監視器、一電視、一調諧器、一無線電、一衛星無線電、一音樂播放機、一數位音樂播放機、一攜帶型音樂播放機、一數位視訊播放機、一視訊播放機、一數位視訊光碟(DVD)播放機、一攜帶型數位視訊播放機、一汽車、一車輛組件、航空電子設備系統、一無人機及一多旋翼飛行器。
  21. 一種合成一時戳之方法,其包含: 自一資料遞送處置器接收一運行命令;及 對來自一高解析度計時器的一輸出與一經計算之絕對時戳求和。
  22. 如請求項21之方法,其進一步將漂移校正添加至該求和以合成該時戳。
  23. 如請求項22之方法,其進一步包含執行帶內漂移偵測。
  24. 如請求項22之方法,其進一步包含執行帶外漂移偵測。
  25. 如請求項22之方法,其進一步包含將一裝置漂移累加器輸出添加至一本端時脈漂移累加器輸出。
  26. 如請求項21之方法,其中求和包含在一行動終端中之一處理器中求和。
  27. 如請求項21之方法,其中求和包含在一硬體鎖中求和。
  28. 一種處理器,其包含: 一音訊資料緩衝器;及 一通用串列匯流排(USB)音訊用戶端(UAC),其經組態以: 接收可變大小之封包; 組裝統一大小之封包;及 將該等統一大小之封包傳遞至一第二處理器以供由一應用層處之應用程式用於一協定堆疊。
  29. 如請求項28之處理器,其中該處理器定位於一USB周邊裝置內。
  30. 如請求項28之處理器,其中該處理器定位於經組態以位於一周邊裝置與一主機之間的一中間裝置中。
  31. 如請求項28之處理器,其中該處理器定位於一主機中。
  32. 如請求項28之處理器,其整合至選自由以下各者組成之群的一裝置中:一機上盒、一娛樂單元、一導航裝置、一通信裝置、一固定位置資料單元、一行動位置資料單元、一全球定位系統(GPS)裝置、一行動電話、一蜂巢式電話、一智慧型手機、一會話起始協定(SIP)電話、一平板電腦、一平板手機、一伺服器、一電腦、一攜帶型電腦、一行動計算裝置、一可穿戴式計算裝置、一桌上型電腦、一個人數位助理(PDA)、一監視器、一電腦監視器、一電視、一調諧器、一無線電、一衛星無線電、一音樂播放機、一數位音樂播放機、一攜帶型音樂播放機、一數位視訊播放機、一視訊播放機、一數位視訊光碟(DVD)播放機、一攜帶型數位視訊播放機、一汽車、一車輛組件、航空電子設備系統、一無人機及一多旋翼飛行器。
TW106121300A 2016-06-27 2017-06-26 用於控制同步資料流之系統及方法 TW201802700A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201662355166P 2016-06-27 2016-06-27
US62/355,166 2016-06-27
US201762517247P 2017-06-09 2017-06-09
US62/517,247 2017-06-09
US15/631,807 US20170373881A1 (en) 2016-06-27 2017-06-23 Systems and methods for controlling isochronous data streams
US15/631,807 2017-06-23

Publications (1)

Publication Number Publication Date
TW201802700A true TW201802700A (zh) 2018-01-16

Family

ID=60678003

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106121300A TW201802700A (zh) 2016-06-27 2017-06-26 用於控制同步資料流之系統及方法

Country Status (10)

Country Link
US (1) US20170373881A1 (zh)
EP (1) EP3476084B1 (zh)
JP (1) JP7148413B2 (zh)
KR (1) KR102464293B1 (zh)
CN (1) CN109417500B (zh)
AU (1) AU2017291490B2 (zh)
BR (1) BR112018076412A2 (zh)
ES (1) ES2882146T3 (zh)
TW (1) TW201802700A (zh)
WO (1) WO2018005322A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI809564B (zh) * 2021-11-15 2023-07-21 優達科技股份有限公司 同步校正方法、主控裝置及僕裝置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10628172B2 (en) 2016-06-27 2020-04-21 Qualcomm Incorporated Systems and methods for using distributed universal serial bus (USB) host drivers
US10678494B2 (en) * 2016-06-27 2020-06-09 Qualcomm Incorporated Controlling data streams in universal serial bus (USB) systems
US10651860B2 (en) * 2017-06-15 2020-05-12 Cirrus Logic, Inc. Asynchronous positional feedback for asynchronous and isochronous communication
EP3680783B1 (en) * 2017-09-29 2023-03-08 Huawei Technologies Co., Ltd. Electronic apparatus and method and device for reducing power consumption
KR20200055901A (ko) * 2018-11-14 2020-05-22 삼성전자주식회사 액세서리 장치로부터 수신된 식별 정보에 기반하여 동작을 수행하는 전자 장치, 그의 동작 방법 및 액세서리 장치
CN114915880B (zh) * 2018-12-07 2023-07-07 华为技术有限公司 一种点对多点的数据传输方法及电子设备
FR3100629B1 (fr) * 2019-09-10 2023-04-07 St Microelectronics Grenoble 2 Communication par bus CAN
CN110990323B (zh) * 2019-10-17 2023-09-15 尧芯微半导体(重庆)有限公司 一种优化的xhci调度方法
CN111210612B (zh) * 2019-10-29 2021-01-19 浙江浙大中控信息技术有限公司 基于公交gps数据与站点信息提取公交线路轨迹的方法
US11803498B2 (en) * 2020-10-30 2023-10-31 Icron Technologies Corporation Scheduling techniques for isochronous in traffic in a USB extension environment

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7809138B2 (en) * 1999-03-16 2010-10-05 Intertrust Technologies Corporation Methods and apparatus for persistent control and protection of content
JP3387041B2 (ja) * 1999-09-30 2003-03-17 富士通株式会社 プロトコル変換装置、通信装置、通信プログラム記憶媒体、および通信システム
US7215670B1 (en) * 1999-11-22 2007-05-08 Texas Instruments Incorporated Hardware acceleration for reassembly of message packets in a universal serial bus peripheral device
US6839322B1 (en) * 2000-02-09 2005-01-04 Nortel Networks Limited Method and system for optical routing of variable-length packet data
AUPQ896300A0 (en) 2000-07-24 2000-08-17 Nec Australia Pty Ltd A clock synchronisation method for usb sink devices
US20020110213A1 (en) * 2001-02-13 2002-08-15 Sigma Tel, Inc. Method and apparatus for providing data for sample rate conversion
ATE425622T1 (de) * 2002-05-29 2009-03-15 Panasonic Corp Datenübertragungsgerät, datenempfangsgerät, datenübertragungssystem und datenübertragungsverfahren
DK200301664A (da) * 2003-11-10 2005-05-11 Gn Netcom As Kommunikationsenhed, der er koblet til en pc's pc-telefon
US8180931B2 (en) * 2004-01-20 2012-05-15 Super Talent Electronics, Inc. USB-attached-SCSI flash-memory system with additional command, status, and control pipes to a smart-storage switch
US7630383B2 (en) * 2005-03-29 2009-12-08 Alcatel-Lucent Usa Inc. Synchronization of time stamps of peer devices in a communication node
CN100458725C (zh) * 2005-12-23 2009-02-04 英业达股份有限公司 利用通用串行总线端口连接测试装置进行测试的方法
US20080126641A1 (en) * 2006-08-31 2008-05-29 Irish John D Methods and Apparatus for Combining Commands Prior to Issuing the Commands on a Bus
US8880696B1 (en) * 2009-01-16 2014-11-04 F5 Networks, Inc. Methods for sharing bandwidth across a packetized bus and systems thereof
US20110103355A1 (en) * 2009-10-30 2011-05-05 Texas Instruments Incorporated Packet grouping for a co-existing wireless network environment
US8223986B2 (en) * 2009-11-19 2012-07-17 Apple Inc. Electronic device and external equipment with digital noise cancellation and digital audio path
US9134909B2 (en) * 2011-08-30 2015-09-15 International Business Machines Corporation Multiple I/O request processing in a storage system
JP2013254479A (ja) 2012-05-08 2013-12-19 Unitex:Kk インタフェース変換装置及びインタフェース変換方法
TWI486780B (zh) * 2013-08-13 2015-06-01 Phison Electronics Corp 連接介面單元與記憶體儲存裝置
CN104270684B (zh) * 2014-09-24 2018-05-11 北京中科大洋科技发展股份有限公司 一种面向实时应用的视音频数据网络传输系统和方法
KR102278867B1 (ko) * 2014-12-16 2021-07-21 로베르트 보쉬 게엠베하 네트워크 디바이스들의 클록들을 동기화하는 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI809564B (zh) * 2021-11-15 2023-07-21 優達科技股份有限公司 同步校正方法、主控裝置及僕裝置

Also Published As

Publication number Publication date
US20170373881A1 (en) 2017-12-28
AU2017291490A1 (en) 2018-11-29
BR112018076412A2 (pt) 2019-07-16
KR20190022544A (ko) 2019-03-06
CN109417500A (zh) 2019-03-01
AU2017291490B2 (en) 2021-12-09
EP3476084B1 (en) 2021-07-14
JP7148413B2 (ja) 2022-10-05
CN109417500B (zh) 2021-04-20
WO2018005322A1 (en) 2018-01-04
JP2019526844A (ja) 2019-09-19
KR102464293B1 (ko) 2022-11-04
ES2882146T3 (es) 2021-12-01
EP3476084A1 (en) 2019-05-01

Similar Documents

Publication Publication Date Title
TW201802700A (zh) 用於控制同步資料流之系統及方法
EP3348078B1 (en) Wireless audio synchronization
US10462269B2 (en) Packetizing encoded audio frames into compressed-over-pulse code modulation (PCM) (COP) packets for transmission over PCM interfaces
TWI640165B (zh) 感測器時鐘估計方法及其裝置
WO2022094835A1 (zh) 音频同步播放方法、装置、设备及存储介质
US9804633B2 (en) Indirect clock measuring and media adjustment
US10477333B1 (en) Audio placement algorithm for determining playback delay
US20180307293A1 (en) Recovery of reference clock on a device
JP2020523845A (ja) スピーカーのレイテンシの修正
JP6038046B2 (ja) パケット通信ネットワークを介して伝送されるコンテンツをストリーミングするためのクロックリカバリ機構
US8913190B2 (en) Method and apparatus for regenerating a pixel clock signal
TWI622290B (zh) 一種無動態時戳之時脈產生機制,以提供於共享頻道中傳送媒體串流
GB2485977A (en) Audio playback system
WO2023273601A1 (zh) 一种音频同步方法及音频播放设备、音频源、存储介质
US10651860B2 (en) Asynchronous positional feedback for asynchronous and isochronous communication
WO2019010626A1 (zh) 拍摄方法和终端