CN1802639B - 通过接口从计算机到客户端的音频和视频数据的同步传输 - Google Patents

通过接口从计算机到客户端的音频和视频数据的同步传输 Download PDF

Info

Publication number
CN1802639B
CN1802639B CN200480016107.XA CN200480016107A CN1802639B CN 1802639 B CN1802639 B CN 1802639B CN 200480016107 A CN200480016107 A CN 200480016107A CN 1802639 B CN1802639 B CN 1802639B
Authority
CN
China
Prior art keywords
frame
time
size
equipment
data
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
CN200480016107.XA
Other languages
English (en)
Other versions
CN1802639A (zh
Inventor
乔瓦尼·M·阿尼奥利
安德鲁·亚诺维茨
约翰·O·阿布特
塞缪尔·R·鲍曼
詹姆斯·A·德尔维什
杰弗里·C·狄龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
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
Priority claimed from US10/746,283 external-priority patent/US7353284B2/en
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN1802639A publication Critical patent/CN1802639A/zh
Application granted granted Critical
Publication of CN1802639B publication Critical patent/CN1802639B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明提供一种用于通过一接口控制一计算机与一视频客户端之间的数据传输的方法,所述方法包含:计算机第一次轮询接口(200)以便判定所述接口上的缓冲器的大小;从所述接口接收一第一缓冲器大小值;将视频和音频数据的复数个帧发送(202)到所述接口上的缓冲器,使得在发送每一帧之间存在一延迟周期;计算机第二次轮询接口(204)以便判定将帧发送到所述接口之后的缓冲器大小;从所述接口接收一第二缓冲器大小值;和修改帧的传输之间的时间量(208和212)。

Description

通过接口从计算机到客户端的音频和视频数据的同步传输
技术领域
本发明广泛涉及通过网络进行通信的器件。明确地说,本发明涉及以不同传输速率传输和接收数据的器件之间的数据流量管理。更明确地说,本发明涉及通过监视缓冲器和根据缓冲器状态调整数据传输而通过一缓冲器控制数据流量。
背景技术
“总线”是互连两个或两个以上电器件的信号的集合,其允许一个器件向一个或一个以上其他器件传输信息。计算机和计算机相关产品中使用许多不同类型的总线。实例包括周边元件互连(“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。
  名称   关键字   值
  Unit_Spec_ID   0×12   0×000a27
  Unit_SW_Version   0×13   0×000022
  Unit_Register_Location   0×54   寄存器的Csr_offset
  Unit_Signals_Supported   0×55   所支持的RS232信号
                      表1
Unit_Spec_ID值指定负责串行单元300的架构定义的机构。Unit_SW_Version值结合Unit_Spec_ID值共同指定所述单元的软件接口。Unit_Register_Location值指定所述串行单元寄存器的目标器件的起始地址空间的偏移量。Unit_Signals_Supported值指定支持哪些RS-232信号(如表2中所示)。如果从所述串行单元目录302中省略这项,那么不支持这些信号。
 栏   位   描述
 准备发送(RTS)   0   如果支持RTS/RFR就置位
 清零发送(CTS)   1   如果支持CTS就置位
 数据准备好(DSR)   2   如果支持DSR就置位
 数据传输准备就绪(DTR)   3   如果支持DTR就置位
 响铃指示(RI)   4   如果支持RI就置位
 载波(CAR)   5   如果支持CAR/DCD就置位
 保留   [31..6]   保留
                          表2
串行单元300中还包括一串行单元寄存器映射304,其涉及串行单元300中含有的寄存器。表3中展示串行单元寄存器映射304的组织。
  十六进制偏移   名称   存取   大小   值
  0×0   登陆   W   2   启动器的串行寄存器的地址
  0×8   退出   W   1   任何值
  0×c   重新连接   W   1   启动器的节点ID
  0×10   T×FIFO大小   R   1   T×FIFO的字节大小
  0×14   R×FIFO大小   R   1   R×FIFO的字节大小
  0×18   状态   R   1   CTS/DSR/RI/CAR
  0×1c   控制   W   1   DTR/RTS
  0×20   刷新T×FIFO   W   1   任何值
  0×24   刷新R×FIFO   W   1   任何值
  0×28   发送中断   W   1   任何值
  0×2c   设置波特率   W   1   波特率300->230400
  0×30   设置字符大   W   1   7或8位字符
  0×34   设置停止大   W   1   1、1.5或2位
  0×38   设置奇偶校   W   1   无、奇或偶校验
  0×3c   设置流量控制   W   1   无、RTS/CTS或Xon/Xoff(继续/停止)
  0×40   保留   -   4   保留
  0×50   发送数据   W   T×FIFO大小   待传输的字节
                         表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中所示地组织状态寄存器。
  栏   位  描述
  CTS   0  如果CTS为高就为1,否则为0
  DSR   1  如果DSR为高就为1,否则为0
  RI   2  如果RI为高就为1,否则为0
  CAR   3  如果CAR为高就为1,否则为0
  保留   [31..4]  总为0
                       表4
控制寄存器的写入设置DTR和RTS的状态(如果支持)。表5中展示所述控制寄存器的组织。
  栏   位  描述
  RTS   0  如果为1就将RTS设为高,否则将RTS设为低
  DTR   1  如果为1就将DTR设为高,否则将DTR设为低
  保留   [31..2]  总为0
                        表5
将任何值写入刷新T×FIFO寄存器使得串行单元300刷新其传输FIFO,丢弃当前其中的任何字节。将任何值写入刷新R×FIFO寄存器使得串行单元刷新其接收FIFO,丢弃当前其中的任何字节。将任何值写入发送中断寄存器使得串行单元300在传输T×FIFO的当前内容之后在其串行端口上设置一中断状态。设置波特率寄存器的写入设置串行单元300的串行端口的波特率。如表6中所示的组织所述设置波特率寄存器。
  写入值   波特率
  0   300
  1   600
  2   1200
  3   2400
  4   4800
  5   9600
  6   19200
  7   38400
  8   57600
  9   115200
  10   230400
                         表6
设置字符大小寄存器设置所发送和所接收的字符的位大小。表7中展示所述设置字符大小寄存器的组织。通过添加一填充位作为最高有效位来将7位字符填充为8位。
  写入值   字符位大小
  0   7位
  1   8位
                        表7
设置停止大小寄存器指明停止位的数目。如表8中所示地组织所述设置停止大小寄存器。
  写入值   停止位
  0   1位
  1   1.5位
  2   2位
                       表8
设置奇偶校验寄存器设置串行端口的奇偶校验。表9中展示所述设置奇偶校验寄存器的组织。
  写入值   奇偶校验
  0   无奇偶校验位
  1   偶校验
  2   奇校验
                         表9
设置流量控制寄存器设置串行端口所使用的流量控制类型。表10中展示所述设置流量寄存器的组织。
  写入值   流量控制
  0   无
  1   CTS/RTS
  2   XOn/Xoff
                        表10
当启动器发送块写入请求到发送数据寄存器来将字符写入传输FIFO时使用这个发送数据寄存器。块写入必须不大于由T×FIFO大小寄存器所指定的传输FIFO大小。如果T×FIFO中没有足够的空间用于整个块写入,那么返回一个冲突出错应答消息并且没有字符被复制到这个FIFO中。
串联单元300中还包括一具有复数个寄存器的启动器寄存器映射,如表11中所示地组织这个映射。
  十六进制偏移量   名称   存取   大小(quad)   值
  0×0   中断   W   1   任何值
  0×4   组帧出错   W   1   所接收的字符
  0×8   奇偶校验出错   W   1   所接收的字符
  0×c   R×FIFO溢出   W   1   任何值
  0×10   状态变化   W   1   CTS/DSR/RI/CAR
  0×14   保留   -   3   保留
  0×20   所接收的数据   W   R×FIFO大小   所接收的字节
                              表11
当串行单元300在其串行端口上检测到一中断状态时,其将一任意值写入到这个寄存器。当串行单元300在其串行端口上检测到一组帧出错时,其将所接收的字符写入到组帧寄存器。当串行单元300在其串行端口上检测到一奇偶校验出错时,其将所接收的字符写入到奇偶校验出错寄存器。当串行单元300的接收FIFO溢出时,串行单元300将一任意值写入到R×FIFO溢出寄存器。当串行单元300检测到CTS/DSR/RI/CAR的任一状态的变化时,其写入到指示新的串行端口信号状态的状态改变寄存器。表12中展示所述状态寄存器的组织。
  栏   位  描述
  CTS   0  如果CTS为高就为1,否则为0
  DSR   1  如果DSR为高就为1,否则为0
  RI   2  如果RI为高就为1,否则为0
  CAR   3  如果CAR为高就为1,否则为0
  保留   [31..4]  总为0
                       表12
当串行单元300从其串行端口接收字符时,其用块写入事务将所接收的字符写入到所接收数据寄存器。它从不写入比由R×FIFO大小寄存器所指定的接收FIFO大小多的字节。如果启动器不能接收所发送的所有字符,那么其用一冲突出错应答消息回应并且不接收所发送的字符。
图11说明根据本发明的实施例的接口器件的寄存器存储器映射。图12说明本发明的接口内含有的A/V全局寄存器的组织。图13说明本发明的接口器件内含有的全局状态寄存器的组织。图14说明本发明的接口器件中含有的等时控制寄存器。图15说明本发明的接口器件中含有的流量控制寄存器的组织。图16说明本发明的接口器件中含有的等时通道寄存器的组织。
在本发明的另一实施例中,通过轮询接口106上的一垂直消隐寄存器而得出一合成垂直消隐信号。这个垂直消隐信号调用码到在计算机100上运行的程序。在一个实施例中,也向在计算机100上运行的程序提供计时信息,其与所调用的码结合或代替所调用的码。在本发明的一个实施例中,接口106含有一寄存器,其具有一指示帧中当前进程的计数器,由此可推断或另外得出下一垂直回扫。通过得出帧传输的边界,可定位和存取帧内的且与一垂直消隐间隔的发生同步的其它数据,诸如对于取样操作。此外,本发明的一个实施例得出用于定位与垂直消隐间隔相一致但不包括关于所述垂直消隐的信息的数据的帧边界。在一个实施例中,本发明用于获得在一视频消隐间隔发生之后一段时期内有效的数据,诸如可读取且可用于各种处理应用中的帧内所含有的时间码。在一个实施例中,然后计算机100调度一中断以便在这个推断时间发送,因此发送出一帧。

Claims (38)

1.一种在一计算系统中的数据流量控制方法,所述计算系统适于从一个设备传送媒体数据至一具有一缓冲器的第二设备,所述方法包括:
确定所述缓冲器的一第一填充数量;
从所述一个设备向所述第二个设备发送复数帧媒体数据;
确定所述缓冲器的一第二填充数量;
将所述第二填充数量与所述第一填充数量进行比较,从而产生一第一比较;
将所述第二填充数量与一最佳填充数量进行比较,从而产生一第二比较;和
至少部分地基于所述第一和第二比较改变随后从所述一个设备发送到所述第二设备的复数帧媒体数据中的至少两帧之间的时间,其中,改变所述复数帧媒体数据中的至少两帧之间的时间包括:
如果所述第二填充数量大于所述第一填充数量且大于所述最佳填充数量,那么增大所述复数帧媒体数据中的至少两帧之间的时间;
如果所述第二填充数量小于所述第一填充数量且小于所述最佳填充数量,那么减小所述复数帧媒体数据中的至少两帧之间的时间。
2.根据权利要求1所述的方法,其中所述发送包含使用一高速串行协议发送。
3.根据权利要求2所述的方法,其中所述改变时间包含增加在所述时间改变周期期间发送的复数帧中的每一个之间实质上相等的延时。
4.根据权利要求1所述的方法,其中所述改变时间包含在一定数量帧上调制延时。
5.根据权利要求4所述的方法,其中在一定数量帧上调制所述延时包含在传送的多对帧的各个帧之间使用一不同延时,所述使用一不同延时包含根据一规定型式使用所述不同延时。
6.根据权利要求2所述的方法,其中所述复数帧媒体数据的每一个都包含至少一个音频包和至少一个视频包,所述包的每一个都具有一与其相关的包头,所述包进一步包含一时间代码。
7.根据权利要求2所述的方法,其中所述复数帧以一同步方式发送到所述第二设备。
8.根据权利要求2所述的方法,其中所述复数帧媒体数据每一个都包含至少一个音频部分和至少一个视频部分,每一帧的所述视频部分和所述音频部分都具有一预定大小。
9.根据权利要求8所述的方法,其中每一帧的所述视频部分和所述音频部分的任何空位由空数据填充。
10.根据权利要求1所述的方法,其中每一帧的大小和格式是根据一标准选择。
11.根据权利要求10所述的方法,其中所述标准包含美国国家电视系统委员会(NTSC)标准。
12.根据权利要求10所述的方法,其中所述标准包含逐行倒相制式(PAL)标准。
13.根据权利要求1所述的方法,其中所述帧的每一个都包含每帧525行,且所述发送包含用一包含29.97帧/秒的帧速率发送。
14.根据权利要求1所述的方法,其中所述帧的每一个都包含每帧625行,且所述发送包含用一包含大约50半帧/秒的帧速率发送。
15.根据权利要求1所述的方法,其中所述复数帧媒体数据中的所述至少两帧之间的所述改变时间包含如果所述缓冲器的所述第二填充数量比所述第一填充数量和所述最佳填充数量的每一个都大,增加一帧内延时周期。
16.一种计算机化装置,适于为向一具有一缓冲器的第二设备传输媒体数据提供数据流控制,所述计算机化装置包括:
用于确定所述缓冲器的一第一大小的装置;
用于从所述一个设备向所述第二个设备发送复数帧媒体数据的装置;
用于确定所述缓冲器的一第二大小的装置;
用于将所述第二大小与所述第一大小进行比较,从而产生一第一比较的装置;
用于将所述第二大小与一最佳大小进行比较,从而产生一第二比较的装置;和
用于至少部分地基于所述第一比较和所述第二比较改变随后从所述一个设备发送到所述第二设备的复数帧媒体数据中的至少两帧之间的时间的装置,其中,用于改变所述复数帧媒体数据中的至少两帧之间的时间的装置包括:
用于如果所述第二大小大于所述第一大小且大于所述最佳大小,那么增大所述复数帧媒体数据中的至少两帧之间的时间的装置;
用于如果所述第二大小小于所述第一大小且小于所述最佳大小,那么减小所述复数帧媒体数据中的至少两帧之间的时间的装置。
17.根据权利要求16所述的计算机化装置,其中用于发送的装置适于使用一高速串行协议总线发送所述帧。
18.根据权利要求17所述的计算机化装置,还包括用于至少通过增加在所述时间改变周期期间发送的复数帧中的每一个之间实质上相等的延时以改变时间的装置。
19.根据权利要求16所述的计算机化装置,还包括用于通过在一定数量帧上调制延时以改变时间的装置。
20.根据权利要求19所述的计算机化装置,其中在一定数量帧上调制所述延时包含在传送的多对帧的各个帧之间使用一不同延时,所述使用一不同延时包含根据一规定型式使用所述不同延时。
21.根据权利要求17所述的计算机化装置,其中所述复数帧媒体数据的每一个都包含至少一个音频包和至少一个视频包,所述包的每一个都具有一与其相关的包头,所述包进一步包含一时间代码。
22.根据权利要求17所述的计算机化装置,其中,所述复数帧以一同步方式发送到所述第二设备。
23.根据权利要求17所述的计算机化装置,其中所述复数帧媒体数据每一个都包含至少一个音频部分和至少一个视频部分,每一帧的所述视频部分和所述音频部分都具有一预定大小。
24.根据权利要求23所述的计算机化装置,其中,每一帧的所述视频部分和所述音频部分的任何空位由空数据填充。
25.根据权利要求16所述的计算机化装置,其中每一帧的大小和格式是根据一标准选择。
26.根据权利要求25所述的计算机化装置,其中所述标准包含美国国家电视系统委员会(NTSC)标准。
27.根据权利要求25所述的计算机化装置,其中所述标准包含逐行倒相制式(PAL)标准。
28.根据权利要求16所述的计算机化装置,其中所述复数帧媒体数据中的所述至少两帧之间的所述改变时间进一步基于所述缓冲器的一最佳大小。
29.根据权利要求28所述的计算机化装置,其中所述复数帧媒体数据中的所述至少两帧之间的所述改变时间包含如果所述缓冲器的所述第二大小比所述第一大小和所述最佳大小的每一个都大,增大一帧内延时周期。
30.一种计算机化设备,其适于与一数据接口通信,所述接口包含一数据缓冲器,所述计算机化设备包含:
适于在一第一时间和一第二时间为所述缓冲器内可用空间的一数量轮询所述接口的装置;
适于将数据单元传送至所述缓冲器的装置,其中数据单元以一个或一个以上延时周期交叉;和
适于调整一个或一个以上延时周期的装置;
其中至少部分地基于在一第一时间和在一第二时间的所述缓冲器内的可用空间的大小的差别,以及所述第二时间的可用空间大小和一最佳可用空间大小的差别来调整所述一个或一个以上延时周期。
31.根据权利要求30所述的设备,其中所述适于将数据单元传送至所述缓冲器的装置使用一高速串行总线以一同步方式发送至少一些所述数据单元。
32.根据权利要求31所述的设备,其中所述适于调整所述一个或一个以上延时周期的装置包含用于增加所述发送的复数数据单元中的每一个之间实质上相等的延时的装置。
33.根据权利要求30所述的设备,其中所述适于调整所述一个或一个以上延时周期的装置包含用于通过在一定数量不同数据单元上调制所述延时的装置。
34.根据权利要求33所述的设备,其中所述在一定数量数据单元上调制所述延时包含在传送的多对帧的各个帧之间使用一不同延时,所述使用一不同延时包含根据一规定型式使用所述不同延时。
35.根据权利要求30所述的设备,其中所述数据单元的每一个都包含至少一个音频包和至少一个视频包,所述包的每一个都具有一与其相关的包头,所述包进一步包含一时间代码。
36.根据权利要求30所述的设备,其中所述数据单元的每一个都包含至少一个音频部分和至少一个视频部分,每一帧的所述视频部分和所述音频部分都具有一预定大小。
37.根据权利要求36所述的设备,其中所述装置进一步适于用零(0)填充每一帧的所述视频部分和所述音频部分的任何空位。
38.根据权利要求30所述的设备,其中所述调整包含如果在所述第二时间的可用空间大于(i)在所述第一时间的可用空间中和(ii)所述最佳可用空间大小的每一个,增大一帧内延时周期。
CN200480016107.XA 2003-06-13 2004-06-10 通过接口从计算机到客户端的音频和视频数据的同步传输 Expired - Lifetime CN1802639B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US47833603P 2003-06-13 2003-06-13
US60/478,336 2003-06-13
US10/746,283 2003-12-23
US10/746,283 US7353284B2 (en) 2003-06-13 2003-12-23 Synchronized transmission of audio and video data from a computer to a client via an interface
PCT/US2004/018659 WO2005001702A2 (en) 2003-06-13 2004-06-10 Synchronized transmission of audio and video data from a computer to a client via an interface

Publications (2)

Publication Number Publication Date
CN1802639A CN1802639A (zh) 2006-07-12
CN1802639B true CN1802639B (zh) 2013-09-18

Family

ID=36811836

Family Applications (3)

Application Number Title Priority Date Filing Date
CNB2004800161046A Expired - Lifetime CN100379285C (zh) 2003-06-13 2004-06-10 垂直消隐信号的合成装置和方法
CN200480016107.XA Expired - Lifetime CN1802639B (zh) 2003-06-13 2004-06-10 通过接口从计算机到客户端的音频和视频数据的同步传输
CN200480016105.0A Expired - Lifetime CN1802623B (zh) 2003-06-13 2004-06-10 用于传送同步音频和视频数据的装置及方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB2004800161046A Expired - Lifetime CN100379285C (zh) 2003-06-13 2004-06-10 垂直消隐信号的合成装置和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN200480016105.0A Expired - Lifetime CN1802623B (zh) 2003-06-13 2004-06-10 用于传送同步音频和视频数据的装置及方法

Country Status (1)

Country Link
CN (3) CN100379285C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100531398C (zh) * 2006-08-23 2009-08-19 中兴通讯股份有限公司 一种移动多媒体广播系统的多音轨实现方法
CN100488133C (zh) * 2007-05-11 2009-05-13 中兴通讯股份有限公司 一种多媒体终端音频服务质量特性的测试方法
US20150264375A1 (en) * 2012-10-10 2015-09-17 Zte Corporation Encapsulation of video scanning format information for media transport and storage
CN104104685B (zh) * 2014-07-23 2018-01-02 天脉聚源(北京)教育科技有限公司 一种图片转发方法及装置
CN111083547B (zh) * 2019-12-16 2022-07-29 珠海亿智电子科技有限公司 基于触发方式平衡视频帧率误差的方法、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1132877A (zh) * 1995-04-01 1996-10-09 现代电子产业株式会社 采用语音多路系统的数字音频编码器
US20020101885A1 (en) * 1999-03-15 2002-08-01 Vladimir Pogrebinsky Jitter buffer and methods for control of same
CN1372666A (zh) * 2000-05-31 2002-10-02 派威公司 通用机顶盒结构和控制方法
US6516465B1 (en) * 1997-12-09 2003-02-04 Sony United Kingdom Limited Digital video receiver, a conditional access module and a method of transmitting data therebetween

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430486A (en) * 1993-08-17 1995-07-04 Rgb Technology High resolution video image transmission and storage
JP3329076B2 (ja) * 1994-06-27 2002-09-30 ソニー株式会社 ディジタル信号伝送方法、ディジタル信号伝送装置、ディジタル信号受信方法及びディジタル信号受信装置
CN2221798Y (zh) * 1994-07-09 1996-03-06 深圳安科高技术有限公司 一种数字图像传输及转换装置
JPH09322118A (ja) * 1996-05-28 1997-12-12 Nippon Hoso Kyokai <Nhk> ディジタル映像・音声信号用インタフェース回路
KR0178766B1 (ko) * 1996-09-02 1999-05-15 삼성전자주식회사 압축되지 않은 디지탈데이타의 전송기능을 갖는 디지탈 인터페이스 장치
KR100265112B1 (ko) 1997-03-31 2000-10-02 윤종용 디브이디 디스크와 디브이디 디스크를 재생하는 장치 및 방법
US6118486A (en) * 1997-09-26 2000-09-12 Sarnoff Corporation Synchronized multiple format video processing method and apparatus
US6418150B1 (en) * 1998-02-20 2002-07-09 Apple Computer, Inc. Method and apparatus for calibrating an IEEE-1394 cycle master
US6278838B1 (en) * 1998-06-26 2001-08-21 Lsi Logic Corporation Peak-ahead FIFO for DVD system stream parsing
US6429902B1 (en) 1999-12-07 2002-08-06 Lsi Logic Corporation Method and apparatus for audio and video end-to-end synchronization
CN1277208C (zh) * 2002-09-30 2006-09-27 深圳市朗科科技有限公司 用于手机和电脑系统的半导体存储方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1132877A (zh) * 1995-04-01 1996-10-09 现代电子产业株式会社 采用语音多路系统的数字音频编码器
US6516465B1 (en) * 1997-12-09 2003-02-04 Sony United Kingdom Limited Digital video receiver, a conditional access module and a method of transmitting data therebetween
US20020101885A1 (en) * 1999-03-15 2002-08-01 Vladimir Pogrebinsky Jitter buffer and methods for control of same
CN1372666A (zh) * 2000-05-31 2002-10-02 派威公司 通用机顶盒结构和控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US 6516465 B1,全文.

Also Published As

Publication number Publication date
CN1802854A (zh) 2006-07-12
CN100379285C (zh) 2008-04-02
CN1802623B (zh) 2010-05-26
CN1802623A (zh) 2006-07-12
CN1802639A (zh) 2006-07-12

Similar Documents

Publication Publication Date Title
US20160337674A1 (en) Interface for sending synchronized audio and video data
US7970926B2 (en) Synchronized transmission of audio and video data from a computer to a client via an interface
CN101937253B (zh) 用于时钟同步的方法、装置和系统
JP2007507918A5 (zh)
CN102932676B (zh) 基于音视频同步的自适应带宽传输和播放方法
US8730992B2 (en) System and method for transmitting network packets adapted for multimedia streams
CN1326057C (zh) 用于与总线连接的总线系统和总线接口
CN1802639B (zh) 通过接口从计算机到客户端的音频和视频数据的同步传输
CN110290187A (zh) 数据信息的传输方法及装置、存储介质、电子装置
US20060268931A1 (en) Method, device and computer readable medium for exchanging information in a hybrid environment
CN101895736B (zh) 媒体流数据处理方法及其装置
US7668099B2 (en) Synthesis of vertical blanking signal
US6466939B1 (en) System and method for communicating video data in a digital media device
JP6514648B2 (ja) データ送信装置、データ受信装置及びデータ送受信システム
KR100539018B1 (ko) 데이터 채널을 통해 수신되었거나 송신될 데이터 패킷을처리하기 위한 방법 및 장치
CN105556491A (zh) 发送方计算机、接收方计算机以及由发送方计算机和接收方计算机运行的方法、计算机程序

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1091007

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: APPLE

Free format text: FORMER OWNER: APPLE COMPUTER, INC.

Effective date: 20080620

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20080620

Address after: California, USA

Applicant after: APPLE Inc.

Address before: California, USA

Applicant before: Apple Computer, Inc.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1091007

Country of ref document: HK

CX01 Expiry of patent term

Granted publication date: 20130918

CX01 Expiry of patent term