专利名称:通过接口从计算机到客户端的音频和视频数据的同步传输的制作方法
技术领域:
本发明广泛涉及通过网络进行通信的器件。明确地说,本发明涉及以不同传输速率传输和接收数据的器件之间的数据流量管理。更明确地说,本发明涉及通过监视缓冲器和根据缓冲器状态调整数据传输而通过一缓冲器控制数据流量。
背景技术:
“总线”是互连两个或两个以上电器件的信号的集合,其允许一个器件向一个或一个以上其他器件传输信息。计算机和计算机相关产品中使用许多不同类型的总线。实例包括周边元件互连(“PCI”)总线、工业标准架构(“ISA”)总线和通用串行总线(“USB”),仅举几个例子。通常由一个标准定义总线的操作,这个标准指定各种相关的事,诸如这个总线的电特性、如何通过这个总线传输数据、如何确认对数据的请求等。使用一总线来执行一个诸如传输数据、请求数据等的活动通常被称为运行一个“循环”。标准化一总线协议帮助确保连接到这个总线的器件之间的有效通信,即使这些器件是由不同制造商所制造的。任一希望制造和出售一在一特殊总线上使用的器件的公司为那个器件提供一个这个器件将连接的总线独有的接口。设计一个特殊总线标准的器件确保所述器件将能够与连接到这个相同总线的所有其它器件正确地进行通信,即使这些其它器件是由不同制造商所制造的。因此,举例来说,一个为在一PCI总线上操作而设计的内部传真机/调制解调器(也就是个人计算机内部)将能够向这个PCI总线上的其他器件传输数据和从这些其他器件接收数据,即使这个PCI总线上的每一器件都是由一个不同制造商所制造的。
目前,市场正推动将一总线接口并入各种类型的消费性电子设备,所述总线接口允许将这种设备连接到具有一相应总线接口的其他设备。举例来说,具有一IEEE 1394总线接口的数码相机、数字录像机、数字视频光盘(“DVD”)、打印机变得可购得。所述IEEE(“电气电子工程师协会”)1394总线(例如)允许将一数码相机连接到一打印机或计算机,因此可将这个相机所获得的图像显示在所述打印机上或者以电子方式存储在所述计算机中。另外,可通过一IEEE 1394总线将数字电视耦接到一计算机或计算机网络。
然而,存在许多器件没有任何一种IEEE 1394接口。这带来一个问题,这些器件不能够如上文所描述与其它器件相连接。衷心需要克服这个问题来向器件提供连接,否则不能将这些器件连接到一IEEE 1394总线。
发明内容
本发明通过一接口器件控制从一计算机到一视频客户端的数据的传输,所述接口器件缓冲所发送的数据帧并使用不同协议与所述计算机和视频客户端进行通信。在一个实施例中,本发明提供一种通过以下步骤执行数据传输流量控制的方法第一次轮询接口以便判定所述接口上的缓冲器的大小;从所述接口接收一第一缓冲器大小值;将视频和音频数据的复数个帧发送到所述接口上的缓冲器,使得在发送每一帧之间存在一延迟周期;第二次轮询所述接口以便判定将帧发送到所述接口之后的缓冲器大小;和从所述接口接收一第二缓冲器大小值。如果这个第二缓冲器大小值大于最佳大小并且大于所述第一缓冲器大小值,那么增大从计算机到接口的帧的传输之间的延迟周期。
在另一实施例中,本发明提供一种通过以下步骤执行数据传输流量控制的方法第一次轮询接口以便判定所述接口上的缓冲器的大小;从所述接口接收一第一缓冲器大小值;将视频和音频数据的复数个帧发送到所述接口上的缓冲器,使得在发送每一帧之间存在一延迟周期;第二次轮询接口以便判定将帧发送到所述接口之后的缓冲器大小;和从所述接口接收一第二缓冲器大小值。
如果这个第二缓冲器大小值小于最佳大小并且小于所述第一缓冲器大小值,那么减小从计算机到接口的帧的传输之间的延迟周期。
当结合附图考虑时,通过阅读下文的详细描述将了解本发明的许多其它特点和优点,其中图1以方块图形式说明与本发明的实施例有关的所使用的主要组件;图2说明根据本发明的实施例的帧的格式;图3A和图3B分别说明第一数据包和随后的数据包的格式;图4A和图4B说明根据本发明的实施例的数据包内的视频数据的组织;图5A和图5B说明根据本发明的实施例的数据包内的音频数据的组织;图6和图7说明根据本发明的实施例的帧中所包括的报头的元素;图8说明根据本发明的实施例的经结合以便形成一帧的包集合;图9A-9D说明本发明的一个替代实施例,其中根据本发明的实施例使用SDTI帧的变体;图9E说明一替代实施例,其中传输器分开SDTI流使其遍及多个通道;图10以流程图形式说明根据本发明的实施例的被执行以便提供一计算机与一硬件接口之间的外部定时的动作;图11说明根据本发明的实施例的接口器件的寄存器存储器映射;图12说明本发明的接口内含有的A/V全局寄存器的组织;图13说明本发明的接口器件内含有的全局状态寄存器的组织;图14说明本发明的接口器件中含有的等时控制寄存器;图15说明本发明的接口器件中含有的流量控制寄存器的组织;图16说明本发明的接口器件中含有的等时通道寄存器的组织。
具体实施例方式
注意图1,以方块图形式展示了经连接以便在一计算机100与客户端102之间传输音频和视频数据的组件,所述计算机和客户端由总线104连接到接口106。优选实施例中的计算机100是一个能够处理视频和音频数据并以一可识别形式向一用户显示所述数据的计算器件。这些器件包括桌上型、膝上型和掌上型计算机。如本文所涉及的客户端102是一视频消费者或视频生产者,且包括如数码相机和诸如线性和随机存取器件的视频存储器件的这类器件。如本文所涉及的总线104包括计算机100与接口106之间的物理连接,也包括由通过总线104进行通信的器件所符合的串行协议。在优选实施例中,总线104利用被称为火线(Firewire)的IEEE 1394串行总线协议。接口106从客户端102处接受模拟和数字输入,并将所述输入转换为在计算机100上执行的音频/视频播放器可使用的扫描线。在一替代实施例中,接口106从客户端102处接受一数字压缩/未压缩信号并传输所述整个信号或所述信号的子集。在一个实施例中,接口106将输入分成帧108,通过总线104传到计算机100。
图2中说明帧108的格式。帧108包括一帧报头110、视频块112、音频块114,以及选择性地包括一音频报头116。相对于视频块112中的视频数据取样音频块114中的音频数据。每帧的音频样本计数根据ANSI/SMPTE272M规格中所定义的数目而变化,这个规格全文以引用的方式并入本文中。音频样本计数节拍是将每秒的整数个样本在NTSC帧频(29.97fps)上划分所必需的。同样地,帧108的大小可变化以便适合各种视频格式,诸如PAL或NTSC和8或10位视频数据,以及诸如48Khz和96Khz的16和24位的音频格式等等。同样地,压缩数据的帧大小可变化以便适合压缩格式。在一个实施例中,视频块112和音频块或压缩块具有一预定大小以便使得分析帧108简单并使得诸如直接存储器存取程序的应用程序需要很少的处理开销。在一部分视频块112或音频块114不是完全充满数据的情况下,可用零填充块112、114的剩余部分。在一个实施例中,视频块112和音频块114中所含有的数据未被压缩,进一步减少了接口106上的处理开销,并减少了在计算机100上运行的解压缩程序所需要的处理开销。
一旦对从客户端102所接收的输入进行转换并将其转换为扫描线并将其组织入帧108中,接口106就以每一垂直消隐间隔发送一帧以便提供与计算机100的同步。计算机100可从所接收的帧的频率得出所述垂直消隐间隔并使其自身与从接口106所接收的传入帧108的音频和视频数据同步。以这种方式保持了处理资源,这是由于不需要在接收到每一帧时对其执行同步,因此提供了计算机100上的较高质量性能的音频和视频显示。
图3A和3B分别说明第一数据包和随后的数据包的格式。
图4A和4B说明数据包内的视频数据的组织。图5A和5B说明数据包内的音频数据的组织。
图6说明帧报头110的内容。其中包括指示每一样本有多少位的格式标记130、SMPTE时间码132、递增帧计数器134、音频循环计数136、音频样本计数138、通道计数140、块大小字节计数142、音频格式标记144和视频格式标记146。音频样本计数138指示样本数目,其与一节拍相一致。音频循环计数136中的值指示所述节拍内的位置。帧的节拍形成一循环型式。
在一替代实施例中,可将帧报头110的某些内容移动或复制到可选音频报头116中。图7中展示帧报头110的一个替代图,其展示字节计数、数据长度和一帧位。
如图8中所说明,从预定大小的复数个包150构造帧108。与每一包相关联的是一1394等时包报头。根据本发明的数据传输利用一同步位来找到一帧的开始。帧108中的第一包标有所述同步位。这允许计算机100在接收到数据流时识别数据流,进一步减少了允许计算机100与从接口106所接收的帧流同步的处理开销。
在本发明的一个替代实施例中,可如图9A直到9E中所说明地利用符合串行数字接口(SDI)标准的帧。在这些实施例中,总线104符合IEEE 1394B串行总线协议以便适合所述SDI标准所陈述的数据速率限制。如上文所描述,接口106通过创建扫描线、执行去交错、分包和创建固定大小的音频和视频数据的SDTI帧而从所接收的输入形成帧。取决于计算机100、接口106、客户端102或其它器件上可用的处理资源可对SDTI帧作出各种修改。如上文所描述的,使通过总线104所发送的SDTI帧的传输与所接受信号的垂直消隐间隔同步。
如图9A中所示,SDTI帧160通常具有两个组成部分垂直消隐部分162和水平回扫164。或者,在另一实施例(图9B)中,为进一步同步和故障检测的目的(诸如恢复传输中所丢失的数据或发生总线复位),将SDI帧报头166添加到SDTI帧160中,所述帧报头166是一具有一同步位和一帧计数的报头。在这个实施例中,SDTI帧报头166中包括一帧计数同步位,且SDTI帧报头166与垂直消隐部分162同步。举例来说,在接口106不能读取压缩数据或要求接口106的过度升级的应用中,可将SDTI帧160传输到计算机100,其中由软件以一非实时方式执行对SDTI流的处理。
或者,如图9C中所示,可构造没有水平回扫164的SDTI帧160以便进一步减少处理开销。如图9D中所示,在一个实施例中也可利用构造成没有水平回扫但具有报头166的SDTI帧。在又一个实施例中,如图9E中所示,可在多个通道之间分割所述SDTI帧,且所述帧也包括SDTI帧报头166。在这个实施例中,传输器将所述SDTI流分割成两半,一半线通过通道A传输,另一半通过通道B传输。每一部分帧的一个附加的报头可用于帮助重组帧数据。
在本发明的另一个方面中,可利用外部定时以使计算机100、接口106和客户端102之间的数据传输同步。在一个实施例中,客户端102包括一高质量参考时钟180(图1),其可用于使接口106上的时钟182同步和防止接口106上的缓冲器184的溢出。在这个实施例中,根据从计算机102传输数据到接口106的频率在接口106上得出客户端102上的参考时钟180的值。为执行流量控制,在帧传输之间跳过循环。跳过的循环增加帧传输之间的时间量,以使帧传输的数据速率变慢。注意图10,在参考数字200处,计算机轮询接口106来读取缓冲器184的大小。尽管为示范起见以诸如“较大的”和“较小的”的术语来称谓所述缓冲器,但应了解,在固定大小的缓冲器的情况下,较大的和较小的指这个缓冲器的充满度。在参考数字202处,计算机100随后向接口106发送复数个帧。在参考数字204处,计算机100再次轮询接口106来判定缓冲器184的大小。如果缓冲器184自从上次对其大小的轮询以来在大小上有增长(判定参考数字206处),那么控制进行到参考数字208处,此处计算机100增大发送到接口106的帧之间的延迟。在一个实施例中,所发送帧之间的延迟为125毫秒。在另一个实施例中,通过对若干帧进行延迟调整而获得分数延迟。举例来说,如果要求帧之间的延迟为2.5乘1.25微秒,则2个和3个循环(125微秒)的交替帧延迟被散置(intersperse)。然后控制返回参考数字202处,此处将帧发送到接口106,而帧之间有额外延迟。然而,返回判定参考数字206处,如果缓冲器184自从上次对其大小的轮询以来在大小上没有增长,那么控制转变到判定参考数字210处。在判定参考数字210处,如果缓冲器206在大小上已减小,那么控制转变到参考数字212处,此处减小从计算机100发送到接口106的帧之间的延迟。在一个实施例中,这个减小的量也是125MS。然后控制转变到参考数字202处,此处将帧从计算机100发送到接口106,而帧之间有减小的延迟。返回判定参考数字210处,如果缓冲器184的大小自从上次对缓冲器184的大小的轮询以来还没有减小,那么不需要调整帧之间的延迟,并且控制转变到参考数字202处。
接口106包括一串行单元300,其用于使得能够通过总线104进行通信。串行单元300包括一如表1中所示的单元目录302。
表1Unit_Spec_ID值指定负责串行单元300的架构定义的机构。Unit_SW_Version值结合Unit_Spec_ID值共同指定所述单元的软件接口。Unit_Register_Location值指定所述串行单元寄存器的目标器件的起始地址空间的偏移量。Unit_Signals_Supported值指定支持哪些RS-232信号(如表2中所示)。如果从所述串行单元目录302中省略这项,那么不支持这些信号。
表2串行单元300中还包括一串行单元寄存器映射304,其涉及串行单元300中含有的寄存器。表3中展示串行单元寄存器映射304的组织。
表3串行单元寄存器映射304涉及一登陆寄存器。一试图与串行单元300进行通信的器件在本文中被称为一启动器。举例来说,启动器可以是计算机100或通过一高速串行总线连接在一网络上且与接口106进行通信的其它节点。所述启动器将其串行寄存器映射的基址的64位地址写到所述登陆寄存器以便登陆到串行单元300中。如果另一启动器已经登陆,那么串行单元300返回一冲突出错应答消息。所述地址的高32位被写入到登陆地址,低32位被写入到登陆+4处。所述串行单元寄存器映射还涉及一退出寄存器。启动器将任何值写到这个寄存器以便退出这个串行单元。在每一总线复位之后,启动器必须将其(可能已改变的)节点ID写入到重新连接寄存器。如果在总线复位后启动器在一秒之内未能这样做,那么其将自动退出。将16位节点ID写入到这个寄存器的底部16位,应将上部16位写为零。读取T×FIFO大小寄存器返回串行单元的传输FIFO的字节大小。读取R×FIFO大小寄存器返回串行单元300的接收FIFO的字节大小。读取状态寄存器返回当前CTS/DSR/RI/CAR的状态(如果支持)。如表4中所示地组织状态寄存器。
表4控制寄存器的写入设置DTR和RTS的状态(如果支持)。表5中展示所述控制寄存器的组织。
表5将任何值写入刷新T×FIFO寄存器使得串行单元300刷新其传输FIFO,丢弃当前其中的任何字节。将任何值写入刷新R×FIFO寄存器使得串行单元刷新其接收FIFO,丢弃当前其中的任何字节。将任何值写入发送中断寄存器使得串行单元300在传输T×FIFO的当前内容之后在其串行端口上设置一中断状态。设置波特率寄存器的写入设置串行单元300的串行端口的波特率。如表6中所示的组织所述设置波特率寄存器。
表6设置字符大小寄存器设置所发送和所接收的字符的位大小。表7中展示所述设置字符大小寄存器的组织。通过添加一填充位作为最高有效位来将7位字符填充为8位。
表7设置停止大小寄存器指明停止位的数目。如表8中所示地组织所述设置停止大小寄存器。
表8设置奇偶校验寄存器设置串行端口的奇偶校验。表9中展示所述设置奇偶校验寄存器的组织。
表9设置流量控制寄存器设置串行端口所使用的流量控制类型。表10中展示所述设置流量寄存器的组织。
表10当启动器发送块写入请求到发送数据寄存器来将字符写入传输FIFO时使用这个发送数据寄存器。块写入必须不大于由T×FIFO大小寄存器所指定的传输FIFO大小。如果T×FIFO中没有足够的空间用于整个块写入,那么返回一个冲突出错应答消息并且没有字符被复制到这个FIFO中。
串联单元300中还包括一具有复数个寄存器的启动器寄存器映射,如表11中所示地组织这个映射。
表11当串行单元300在其串行端口上检测到一中断状态时,其将一任意值写入到这个寄存器。当串行单元300在其串行端口上检测到一组帧出错时,其将所接收的字符写入到组帧寄存器。当串行单元300在其串行端口上检测到一奇偶校验出错时,其将所接收的字符写入到奇偶校验出错寄存器。当串行单元300的接收FIFO溢出时,串行单元300将一任意值写入到R×FIFO溢出寄存器。当串行单元300检测到CTS/DSR/RI/CAR的任一状态的变化时,其写入到指示新的串行端口信号状态的状态改变寄存器。表12中展示所述状态寄存器的组织。
表12当串行单元300从其串行端口接收字符时,其用块写入事务将所接收的字符写入到所接收数据寄存器。它从不写入比由R×FIFO大小寄存器所指定的接收FIFO大小多的字节。如果启动器不能接收所发送的所有字符,那么其用一冲突出错应答消息回应并且不接收所发送的字符。
图11说明根据本发明的实施例的接口器件的寄存器存储器映射。图12说明本发明的接口内含有的A/V全局寄存器的组织。图13说明本发明的接口器件内含有的全局状态寄存器的组织。图14说明本发明的接口器件中含有的等时控制寄存器。图15说明本发明的接口器件中含有的流量控制寄存器的组织。图16说明本发明的接口器件中含有的等时通道寄存器的组织。
在本发明的另一实施例中,通过轮询接口106上的一垂直消隐寄存器而得出一合成垂直消隐信号。这个垂直消隐信号调用码到在计算机100上运行的程序。在一个实施例中,也向在计算机100上运行的程序提供计时信息,其与所调用的码结合或代替所调用的码。在本发明的一个实施例中,接口106含有一寄存器,其具有一指示帧中当前进程的计数器,由此可推断或另外得出下一垂直回扫。通过得出帧传输的边界,可定位和存取帧内的且与一垂直消隐间隔的发生同步的其它数据,诸如对于取样操作。此外,本发明的一个实施例得出用于定位与垂直消隐间隔相一致但不包括关于所述垂直消隐的信息的数据的帧边界。在一个实施例中,本发明用于获得在一视频消隐间隔发生之后一段时期内有效的数据,诸如可读取且可用于各种处理应用中的帧内所含有的时间码。在一个实施例中,然后计算机100调度一中断以便在这个推断时间发送,因此发送出一帧。
权利要求
1.一种在一系统中执行数据传输流量控制的方法,所述系统具有一计算机、一视频客户端和所述计算机与视频客户端之间的一接口,所述接口方便所述计算机与所述视频客户端之间的数据传输,所述接口具有一用于存储从所述计算机接收的待发送到所述视频客户端的数据帧的缓冲器,所述缓冲器具有一随其所存储的数据量而变化的大小,所述接口具有一最佳缓冲器大小,所述方法包含所述计算机第一次轮询所述接口以便判定所述接口上的所述缓冲器的大小;从所述接口接收一第一缓冲器大小值;将视频和音频数据的复数个帧发送到所述接口上的所述缓冲器,使得在发送每一帧之间存在一延迟周期;所述计算机第二次轮询所述接口以便判定将所述帧发送到所述接口之后的缓冲器大小;从所述接口接收一第二缓冲器大小值;和如果所述第二缓冲器大小值大于所述最佳大小,并且大于所述第一缓冲器大小值,增大从所述计算机到所述接口的帧的传输之间的所述延迟周期。
2.根据权利要求1所述的方法,其中缓冲器大小指一固定大小的缓冲器中有意义数据的充满度。
3.一种在一系统中执行数据传输流量控制的方法,所述系统具有一计算机、一视频客户端和所述计算机与视频客户端之间的一接口,所述接口方便所述计算机与所述视频客户端之间的数据传输,所述接口具有一用于存储从所述计算机接收的待发送到所述视频客户端的数据帧的缓冲器,所述缓冲器具有一随其所存储的数据量而变化的大小,所述接口具有一最佳缓冲器大小,所述方法包含所述计算机第一次轮询所述接口以便判定所述接口上的所述缓冲器的大小;从所述接口接收一第一缓冲器大小值;将视频和音频数据的复数个帧发送到所述接口上的所述缓冲器,使得在发送每一帧之间存在一延迟周期;所述计算机第二次轮询所述接口以便判定将所述帧发送到所述接口之后的缓冲器大小;从所述接口接收一第二缓冲器大小值;和如果所述第二缓冲器大小值小于最佳大小,并且小于所述第一缓冲器大小值,减小从所述计算机到所述接口的帧的传输之间的所述延迟周期。
4.根据权利要求3所述的方法,其中缓冲器大小指一固定大小的缓冲器中有意义数据的充满度。
5.一种含有指令的计算机程序产品,当一计算机执行所述指令时,所述指令通过执行以下动作来执行数据传输流量控制第一次轮询一与所述计算机进行通信的接口,所述接口具有一用于存储从所述计算机接收的数据帧的缓冲器,所述帧将被发送到所述视频客户端,所述缓冲器具有一随所述缓冲器中所含有的数据量而变化的大小,所述缓冲器具有一最佳大小;从所述接口接收一第一缓冲器大小值;将视频和音频数据的复数个帧发送到所述接口上的所述缓冲器,使得在发送每一帧之间存在一延迟周期;第二次轮询所述接口以便判定将所述帧发送到所述接口之后的缓冲器大小;从所述接口接收一第二缓冲器大小值;和如果所述第二缓冲器大小值大于所述最佳大小,并且大于所述第一缓冲器大小值,增大从所述计算机到所述接口的帧的传输之间的所述延迟周期。
6.根据权利要求5所述的计算机程序产品,其中缓冲器大小指一固定大小的缓冲器中有意义数据的充满度。
7.一种含有指令的计算机程序产品,当一计算机执行所述指令时,所述指令通过执行以下动作来执行数据传输流量控制第一次轮询一与所述计算机进行通信的接口,所述接口具有一用于存储从所述计算机接收的数据帧的缓冲器,所述帧将被发送到所述视频客户端,所述缓冲器具有一随所述缓冲器中所含有的数据量而变化的大小,所述缓冲器具有一最佳大小;从所述接口接收一第一缓冲器大小值;将视频和音频数据的复数个帧发送到所述接口上的所述缓冲器,使得在发送每一帧之间存在一延迟周期;第二次轮询所述接口以便判定将所述帧发送到所述接口之后的缓冲器大小;从所述接口接收一第二缓冲器大小值;和如果所述第二缓冲器大小值小于所述最佳大小,并且小于所述第一缓冲器大小值,减小从所述计算机到所述接口的帧的传输之间的所述延迟周期。
8.根据权利要求7所述的计算机程序产品,其中缓冲器大小指一固定大小的缓冲器中有意义数据的充满度。
9.一种用于在一系统中执行数据传输流量控制的装置,所述系统具有一计算机、一视频客户端和所述计算机与视频客户端之间的一接口,所述接口方便所述计算机与所述视频客户端之间的数据传输,所述接口具有一用于存储从所述计算机接收的待发送到所述视频客户端的数据帧的缓冲器,所述缓冲器具有一随其所存储的数据量而变化的大小,所述接口具有一最佳缓冲器大小,所述方法包含用于第一次轮询所述接口以便判定所述接口上的所述缓冲器大小的构件;用于从所述接口接收一第一缓冲器大小值的构件;用于将视频和音频数据的复数个帧发送到所述接口上的所述缓冲器使得在发送每一帧之间存在一延迟周期的构件;用于第二次轮询所述接口以便判定将所述帧发送到所述接口之后的缓冲器大小的构件;用于从所述接口接收一第二缓冲器大小值的构件;和用于在所述第二缓冲器大小值大于所述最佳大小并且大于所述第一缓冲器大小值的情况下增大从所述计算机到所述接口的帧的传输之间的所述延迟周期的构件。
10.根据权利要求9所述的方法,其中缓冲器大小指一固定大小的缓冲器中有意义数据的充满度。
11.一种用于在一系统中执行数据传输流量控制的装置,所述系统具有一计算机、一视频客户端和所述计算机与视频客户端之间的一接口,所述接口方便所述计算机与所述视频客户端之间的数据传输,所述接口具有一用于存储从所述计算机接收的待发送到所述视频客户端的数据帧的缓冲器,所述缓冲器具有一随其所存储的数据量而变化的大小,所述接口具有一最佳缓冲器大小,所述装置包含用于第一次轮询所述接口以便判定所述接口上的所述缓冲器大小的构件;用于从所述接口接收一第一缓冲器大小值的构件;用于将视频和音频数据的复数个帧发送到所述接口上的所述缓冲器使得在发送每一帧之间存在一延迟周期的构件;用于第二次轮询所述接口以便判定将所述帧发送到所述接口之后的缓冲器大小的构件;用于从所述接口接收一第二缓冲器大小值的构件;和用于在所述第二缓冲器大小值小于最佳大小并且小于所述第一缓冲器大小值的情况下减小从所述计算机到所述接口的帧的传输之间的所述延迟周期的构件。
12.根据权利要求11所述的装置,其中缓冲器大小指一固定大小的缓冲器中有意义数据的充满度。
全文摘要
本发明提供一种用于通过一接口控制一计算机与一视频客户端之间的数据传输的方法,所述方法包含计算机第一次轮询接口(200)以便判定所述接口上的缓冲器的大小;从所述接口接收一第一缓冲器大小值;将视频和音频数据的复数个帧发送(202)到所述接口上的缓冲器,使得在发送每一帧之间存在一延迟周期;计算机第二次轮询接口(204)以便判定将帧发送到所述接口之后的缓冲器大小;从所述接口接收一第二缓冲器大小值;和修改帧的传输之间的时间量(208和212)。
文档编号G06F15/173GK1802639SQ200480016107
公开日2006年7月12日 申请日期2004年6月10日 优先权日2003年6月13日
发明者乔瓦尼·M·阿尼奥利, 安德鲁·亚诺维茨, 约翰·O·阿布特, 塞缪尔·R·鲍曼, 詹姆斯·A·德尔维什, 杰弗里·C·狄龙 申请人:苹果电脑公司