用于减少超宽带系统中所需吞吐量的系统、方法以及计算机可读介质的制作方法

文档序号:6477380阅读:116来源:国知局
专利名称:用于减少超宽带系统中所需吞吐量的系统、方法以及计算机可读介质的制作方法
用于减少超宽带系统中所需吞吐量的系统、方法以及计算
机可读介质
背景技术
超宽带(UWB)包括其所具有的带宽大于500MHz或中心频率的25%的技术。当前
兴趣在于研发比如通用串行总线(USB)的串行技术的无线版本,由于与USB适配的设备在
各种计算和媒介系统中普遍应用,所述串行技术能够实现UWB传输速率。 内容源,在本文中简称为源,可以包括例如膝上型系统的计算机系统,用于接收电
视或其它媒体节目的机顶盒,DVD播放器,或用于向内容接收器传输或以其它方式传送内容
的任何其它装置,内容接收器在本文中被简称为接收器。接收器可以包括例如LCD显示设
备、等离子体显示面板、扬声器、硬盘驱动器、打印机或用于输出或以其它方式使用从相互
终接彼此间的通信链路的源接收的内容的其它设备。


当结合附图阅读时,根据以下详细描述,能够最好地理解本公开的各方面,在附图 中 图1是可以实现本文所公开的实施例的超宽带系统的图解表示; 图2是根据实施例实现的无线数字视频子系统的图解表示; 图3是可以实现本文所公开的实施例的示例性数据处理系统的图解表示; 图4是根据实施例包含实现的接收器的显示设备的图解表示; 图5是根据实施例实现的示例性固定时间子采样例程的图解表示; 图6是描述根据实施例实现的固定时间子采样例程的处理的流程图; 图7是描述根据实施例,其特征在于固定及自动子采样的示例性时间子采样例程
的流程图; 图8是根据实施例的帧序列的图解表示,在所述帧序列中,帧被分割成用于处理 的多个瓦片(tile); 图9是根据实施例的帧缓冲序列的图解表示,所述帧缓冲序列的特征在于基于瓦 片的固定及自动时间子采样例程; 图10是根据实施例的时间子采样例程的处理的流程图,所述时间子采样例程的
特征在于基于瓦片的固定及自动时间子采样; 图11是根据实施例实现的接收器缓存配置的图解表示; 图12A 12E描述了根据实施例由接收器维持的示例性缓存指针的图解表示,所 述示例性缓存指针用于引用由此接收的帧的组成瓦片;以及 图13是描述根据实施例对在接收器实现的瓦片复制例程的处理的流程图。 具体实施例 要理解的是,以下公开提供了用于实现各个实施例的不同特征的许多不同实施例 或例子。如下描述组件和装置的特定例子,以简化本公开。当然,这些仅仅是例子而不是意味是限制性的。另外,本公开可以在各个例子中重复参考标记和/或字母。这种重复是为 了简单和清楚,并且其本身并不规定所讨论的各个实施例和/或配置之间的关系。
图1是可以实现本文所公开的实施例的UWB系统100的图解表示。源110可以包 括内容始发器(originator) 112,比如计算设备、机顶装置或其它合适设备。源110可以包 括无线数字视频(WDV)子系统114或以其它方式与无线数字视频子系统114对接,所述无 线数字视频子系统114包括源收发器116或与源收发器116耦合。 始发器112可以向WDV子系统114传输未压縮或原始内容,例如,RGB或YUV视频 内容。WDV子系统可以压縮和封装(packetize)原始内容,并把已压縮内容传输到源收发器 116。源收发器116用于经由RF链路130可通信地连接到(engage)接收器120,并因此向 接收器收发器122传输已压縮内容,所述接收器收发器122则向WDV子系统124传送所述 已压縮内容。WDV子系统124用于去封装及解压縮所述视频内容,从而生成可以被传输到接 收器显示设备126的原始内容,以用于输出未压縮视频内容。根据一个实施例,源IIO可以 可选地包括同步动态随机存取存储器(SDRAM)接口 117,以支持用于存储已压縮帧数据的 外部SDRAM缓存器118,从而最小化存储带宽。按照类似的方式,接收器120的WDV子系统 124可以包括SDRAM接口 127,以支持用于存储已压縮帧数据的外部SDRAM缓存器128。
图2是根据实施例实现的WDV子系统114的图解表示。可以类似地实现WDV子系 统124。 WDV子系统114可以包括可配置视频接口 (CVI)202,其中所述可配置视频接口 202 可以与视频输入耦合,通过所述视频输入,CVI 202从例如始发器112接收原始内容。例如, CVI 202的视频输入可以与计算机的图形卡或芯片的视频输出或机顶盒的视频输出耦合。 当子系统114被配置成接收器的WDV子系统时,CVI 202可以与视频输出耦合,通过所述视 频输出,CVI 202可以例如向显示设备126输出原始内容。例如,CVI 202的视频输出可以 与计算机的图形卡或芯片的视频输入或用于驱动显示设备126的机顶盒的视频输入耦合。 CVI 202所接收的视频内容可以是未压縮格式,例如24-比特RGB或YUV像素数据。CVI 202 可以将所接收的视频内容分割成在本文中被称作瓦片的视频帧子集,在WDV子系统114中 独立处理所述瓦片。瓦片包括帧中的N个连续行,并且多个(M个)瓦片构成一个视频帧。 瓦片中的行数(N)以及由此每帧中的瓦片数(M)在CVI 202上是可配置的。
如果原始数据被CVI 202作为RGB像素数据接收,则CVI 202可以将数据传递给 颜色变换(CT)模块204,以将RGB数据转换到YUV数据,从而便于增强对所述视频内容的 压縮。然后可以将色度分量,即UV数据,传送到低通滤波器(LPF)206,以由此进行子采样。 如果原始数据被CVI 202作为YUV数据接收,则所述YUV数据可以由CVI 202分割,并被直 接传递到LPF 206。然后,包括亮度(Y)和色度分量的像素数据可以被传送到包括低通、带 通和高通滤波器的小波变换(WT)模块208,由此生成每个相应YUV分量的低通、带通和高通 子带。然后,将所述九个子带写入随机存取存储器(RAM)214或者合适的其它存储器组件, 其中所述子带可以由量化(QT)模块220读取并由此进行量化,例如右移。视频速率控制器 (VRC)可以与WT 108和RAM 214及218对接,以用于提供数据可变比特速率。然后,被量化 后的数据可以被提供给算术编码器(AC)222并且由算术编码器222进行编码,所述AC 222 与外部SDRAM控制器226对接,以用于在外部SDRAM 228中缓存帧。根据一个实施例,在将 瓦片传送到再同步先入先出(FIFO)队列230之前,从帧中分割出的瓦片被缓存到SDRAM228 中,所述再同步FIFO队列230与封装器234耦合,根据一个实施例,所述封装器234用于在
6经由仲裁器236通过收发器238发送所述封装后的数据之前,对帧和/或帧瓦片进行封装。
根据一个实施例,可以采用循环冗余校验(CRC)函数来逐瓦片地执行CRC。例如, CRC函数210可以对原始瓦片视频数据执行CRC,或者作为替换,可以在WT 208的输出端采 用CRC函数212来计算经过小波变换后的数据的CRC值。逐瓦片进行的CRC计算便于根据 如下更全面描述的实施例实现的瓦片复制机制。 在返回路径上,封装后的数据可以由收发器接收,经由仲裁器236被传送到封装 器234,并由封装器234进行去封装。然后,去封装后的数据可以被传送到再同步FIFO队 列232,所述再同步FIFO队列232可以将所述数据写入SDRAM 228。 AC 222可以对SDRAM 缓存器228中的已编码数据进行解码。然后,解码后的数据可以经由QT 220、WT 208和CT 204进行解压縮,其中所述数据被作为原始数据提供给CVI 202。接着,CVI 202可以经由 与CVI 202耦合的输出端口,将所述原始数据提供给显示设备或其它接收器。
图3是能够实现本文所公开的实施例的图1中所描述的比如始发器112的示例性 数据处理系统300的图解表示。 实现本文所公开的实施例的过程的代码或指令可以位于系统300中或被系统300 访问。在例示性例子中,系统300采用PCI本地总线架构,但是也可以使用其它总线架构, 比如工业标准架构(ISA)。处理器系统302和主存储器306通过PCI桥304连接到PCI本 地总线308。 PCI桥304还可以包括集成存储器控制器和用于处理器302的高速缓存存储 器。可以通过直接组件互连或通过附加连接器(add-in co皿ector)进行到PCI本地总线 308的附加连接。在所描述的例子中,通过直接组件连接,将小型计算机系统接口 (SCSI)主 机总线适配器310、扩展总线接口 312、鼠标适配器314和键盘适配器316连接到PCI本地 总线308。相反,通过插入扩展槽中的附加板,经由扩展总线接口 312将图形适配器318和 NIC 320连接到PCI本地总线308。 NIC 320提供了用于将控制台112与图1中所描述的 系统100中的其它设备连接的接口。扩展总线接口 312提供了用于各种外围设备的连接。 SCSI主机总线适配器310提供了用于硬盘驱动器322和CD-ROM驱动器324的连接。典型 的PCI本地总线实现可以支持多个PCI扩展槽或附加连接器。 根据一个实施例,在系统300中采用与图形适配器320可通信地耦合的WDV芯片 330,用于从图形适配器320接收未压縮内容或原始内容,例如视频,并可以用于对所述原 始内容进行压縮,以用于传输到接收器。WDV芯片330提供与图2中描述的WDV子系统类似 的WDV子系统,并且可以被实现为CMOS集成电路(IC),所述CMOS集成电路组合有基带物理 层(PHY)、介质访问控制(MAC)引擎、高速安全处理器、服务质量(QoS)管理器以及各种主机 接口,提供通用串行总线(USB)子系统。WDV芯片330可以具有与收发器332耦合的输出, 用于无线地发送和接收已压縮内容。收发器332可以被实现为提供射频(RF)收发器的芯 片。WDV芯片330和收发器332可以被可选地使用在普通IC上,并和普通IC 一起提供硅上 UTO子系统。 操作系统在处理器302上运行,并被用来协调并提供对系统300内的各个组件的 控制。所述操作系统和应用或程序的指令位于比如硬盘驱动器322的存储设备上,并且可 以被装载到主存储器306中,以供处理器302执行。 根据本文所公开的实施例,通过在主机设备的WDV子系统中实现的机制,有利地 减少通过射频链路传输视频或其它内容所需要的吞吐量。在一个实现中,公开了限制将要通过RF链路传输到接收器的帧或其部分的数量的时间子采样例程。在其它实施例中,可以 采用瓦片复制机制来减少所述RF链路的吞吐量。 图4是包括根据实施例实现的接收器的显示设备400的图解表示。显示设备400 包括显示器410,比如液晶显示器(LCD)、等离子体显示面板、阴极射线管或合适的其它显 示装置。在本例子中,显示设备400包括LCD显示设备。相应地,显示设备400可以包括由 显示控制器440所控制的光源420和LCD电极430。显示控制器440经由比如数字视频输 入(DVI)的输入450接收视频信号,并由此对视频信号进行解码,并且控制器440相应地驱 动光源420和LCD电极430。 根据一个实施例,显示设备400可以与包括WDV芯片470和收发器芯片480的WDV 子系统460适配。以图2描绘及描述的类似方式实现WDV子系统460。在其它实现中,可 以在普通芯片上采用WDV芯片470和收发器芯片480。在例示性例子中,WDV子系统460经 由DVI输入450与显示设备400对接。因此,可以在底盘或包括可配对接口的其它封装部 件中制作(fabricate) WDV子系统460,所述可配对接口用于与DVI输入450耦合。在其它 实施例中,可以在显示设备400中制作WDV子系统460。 在工作中,WDV子系统460经由收发器芯片480,通过RF链路从源,例如图3描述的 系统300,接收压縮及封装后的视频内容。根据如下将更为全面地描述的实施例,WDV芯片 470对所接收的内容进行去封装及解压縮,以生成原始视频信号,所述原始视频信号随后经 由DVI输入450,传输到显示控制器440,以用于在显示器410上输出内容。
根据实施例,提供了用于减少在终止于源和接收器的RF链路上传输的数据量的 机制。在一个实施例中,时间子采样例程具有固定或静态的子采样速率,所述子采样速率指 定丢弃帧的速率。例如,子采样速率N指定在N个所接收帧中的1个帧要被编码并被通过所 述链路传送,同时剩下的N-1个帧将被丢弃。所述子采样速率可以是可配置的。根据另一 个实施例,提供了自动时间子采样机制。在这个实现中,在接收到帧时,对源端的外部帧缓 存器,例如SDRAM缓存器228,进行估计,以确定所述帧缓存器是否具有用于新接收帧的容 量。如果帧缓存器没有用于缓存新接收帧的足够容量,那么新接收的帧被自动地丢弃。在 一个实施例中,提供了包括固定子采样和自动子采样的子采样机制。基于可用的无线吞吐 量,自动子采样能够有效地增加固定子采样速率。 图5是根据实施例实现的示例性时间子采样(TSS)例程的图解表示。所述例示性 的例子将源缓存器容量510描述成"满(Full)"和"未满(NotFull)"的纵坐标,其中,"未 满"的缓存器容量指示缓存器容量足够大来用于存储一帧(或其压縮版本),"满"的缓存器 容量指示缓存器容量不足以存储一帧(或其压縮版本)。在接收到用于处理的帧时,对缓 存器容量进行估计。如果所述缓存器容量被估计为未满,那么所接收的帧被编码并被缓存。 如果所述缓存器容量被估计为满,那么可以丢弃所接收的帧。源在时间周期t接收将被处 理以便通过无线链路传输到接收器帧序列520 530。 假设所述源被配置为固定子采样速率N = 2。也就是将源被配置为每隔一个对接 收帧进行编码并将其传送到接收器,同时在源端丢弃或以其它方式忽略另外的帧。相应地, 根据所述固定子采样速率N = 2,帧520和524被缓存来用于传输,而相邻帧522和526被 丢弃或以其它方式忽略(如虚线所例示性地指示)。 在例示性的例子中,如时间tl时的缓存器容量510所指示,在接收并缓存帧520
8时,帧缓存器容量被减少到低于用于存储另一帧所需的容量。在时间t2,随着帧被从缓存器中读出,缓存器容量增长并返回到足够用于缓冲另一帧的容量。按照类似方式,在接收并缓存帧524时,帧缓存器容量被减少到低于用于存储另一帧所需的容量。在这个场合,直到时间t5,缓存器容量才返回到足够用于缓冲另一帧的容量。然而,在时间t4开始接收帧528,缓存器容量在时间t4时不足以存储另一帧。注意,在这个场合,根据所述固定时间子采样速率,帧528未被调度来丢弃。根据实施例,在接收帧时,自动时间子采样可以对缓存器容量510进行估计。如果缓存器容量被估计为不足以存储所接收帧,那么该帧被自动丢弃。因此,在本例子中,在时间t4时,也就是在开始接收帧528的时刻,在确定为所述缓存器容量不足以存储帧时,帧528被丢弃。因为缓存器容量在时间t5返回到足够的容量,依据所述固定时间子采样速率,帧530可以被缓存。 图6是描述根据实施例实现的固定时间子采样例程的处理的流程图600。可以利用在系统源上采用的WDV子系统中的例如图2中所描述的CVI202中所包括的逻辑实现所述固定时间子采样例程。调用子采样例程(步骤602),并读取子采样速率N(步骤604)。子采样速率指定N个所接收帧中的1个帧将被编码并被缓存以用于传输到接收器,同时剩下的N-l个接收帧将被丢弃或以其它方式忽略。接着,将计数器变量i设置为子采样速率N(步骤606)。然后,子采样例程可以等待接收帧(i)(步骤608)。在接收帧(i)时,可以进行估计,以确定所述计数器变量i是否等于子采样速率N(步骤610)。如果所述计数器变量i不等于子采样速率N,那么当前帧(i)可以被丢弃或以其它方式忽略(步骤612),并且子采样例程可以继续进行,以将计数器变量减1 (步骤616)。再次返回到步骤610,如果所述计数器变量等于子采样速率,那么当前帧(i)被编码并缓存(步骤614),然后,根据步骤616将计数器变量减1。 在根据步骤616将计数器变量减1后,子采样例程可以继续进行,以估计所述计数器变量是否等于零(步骤618),从而指示完整的子采样循环已经完成。如果所述计数器变量不等于零,则可以进行对子采样例程是否要继续的估计(步骤620)。如果子采样例程要继续,则处理可以返回来根据步骤608,等待接收下一帧(i)。如果确定为将不继续处理,则子采样例程循环结束(步骤624)。 再次返回到步骤618,如果所述计数器变量被估计为等于零,则进行对子采样例程是否要继续的估计(步骤622)。如果子采样例程要继续,则处理可以返回来根据步骤606,将所述计数器变量i复位为子采样速率N。或者,子采样例程循环可以根据步骤624结束。
根据另一个实施例,可以采用自动子采样过程来对固定时间子采样进行补充。图7是描述根据实施例的示例性时间子采样例程的流程图700,所述示例性时间子采样例程的特征在于固定及自动子采样。可以利用在系统源上采用的WDV子系统中的如图2中所描述的CVI 202中所包括的逻辑,实现图7中所描述的子采样例程。调用子采样例程(步骤702),并读取子采样速率N(步骤704)。接着,将计数器变量i设置为子采样速率N(步骤706)。然后,所述子采样例程可以等待接收帧(i)(步骤708)。在接收帧(i)时,可以进行估计,以确定所述计数器变量i是否等于子采样速率N(步骤710)。如果所述计数器变量i不等于子采样速率N,那么当前帧(i)可以被丢弃或以其它方式忽略(步骤712),并且子采样例程继续进行,以将所述计数器变量减1 (步骤718)。再次返回到步骤710,如果所述计数器变量等于子采样速率,则可以根据自动时间子采样过程对帧缓存器容量进行估计,以确定对于当前帧(i)是否有足够的容量可用(步骤714)。如果所述帧缓存器的容量不足以用于当前帧(i),则子采样例程可以进行到步骤712,并丢弃当前帧(i)。如果在帧缓存器中有足够的容量可用,则当前帧(i)可以被编码并被缓存(步骤716),然后,可以根据步骤718将所述计数器变量减1。 在根据步骤718将所述计数器变量减1后,所述子采样例程可以继续进行,以估计所述计数器变量是否等于零(步骤720)。如果所述计数器变量不等于零,则进行对所述子采样例程是否要继续的估计(步骤722)。如果所述子采样例程要继续,则处理可以返回来根据步骤708,等待接收下一帧(i)。如果确定为处理将不继续,则子采样例程循环可以结束(步骤726)。 再次返回到步骤720,如果所述计数器变量被估计为等于零,则进行对所述子采样例程是否要继续的估计(步骤724)。如果所述子采样例程要继续,则处理可以返回来根据步骤706,将所述计数器变量i复位为子采样速率N。或者,子采样例程循环可以根据步骤726结束。 根据另一个实施例,可以将帧分割成瓦片,并且可以逐片地执行时间子采样。在其它实施例中,通过WDV系统使用瓦片复制过程,以增强在终止于源和接收器的RF链路的所需吞吐量方面的减少。在这个实施例中,可以对顺序帧的瓦片(或由此导出的参数)进行比较,以确定顺序帧的对应瓦片是否表现出任何变化。如果顺序帧的对应瓦片被确定为彼此之间没有表现出任何差别,那么可以在源端丢弃后续帧的瓦片。在接收器端,所述帧序列中被识别为与后续帧的瓦片之间没有任何差别的前一帧的瓦片可以被复制,并用于在后续帧中显示,如本文以下更为全面地描述。 图8是根据实施例的帧序列800的图解表示,在所述帧序列800中,帧被分割为多个用于处理的瓦片。帧800-806被分割或分解为多个,M个,瓦片,其中每个瓦片具有的行数为N。在例示性的例子中,帧802被分割为四个瓦片802a 802d。类似地,帧804 806被分割成各自的瓦片集804a 804d(未示出)和806a 806d。每个瓦片可以包括像素数据的公用数目的行。瓦片802a 802d到806a 806d中的每个瓦片可以独立于其它瓦片而被编码和缓存。另外,瓦片802a 802d到806a 806d可以独立于其它瓦片而被传输到接收器,如本文以下将更为全面地描述。包括不同帧的相同图像行数的瓦片在本文中被称作对应瓦片。例如,瓦片802a包括帧802的开始N行像素数据,并且瓦片806a包括帧806的开始N行像素数据。因此,瓦片802a和806a在本文中被称为构成对应的瓦片。
图9是其特征在于根据实施例实现的基于瓦片的固定及自动时间子采样例程的帧缓冲序列的图解表示。所述例示性的例子将源缓存器容量910描述成"满(Full)"和"未满(Not Full)"的纵坐标,其中,"未满"的缓存器容量指示所述缓存器容量足够大来用于存储至少一个帧片(或其压縮版本),并且"满"的缓存器容量指示所述缓存器容量不足以存储至少一个帧片(或其压縮版本)。在接收到用于处理的瓦片时,对所述缓存器容量进行估计。如果所述缓存器容量被估计为未满,那么所接收的瓦片可以被编码和缓存。如果所述缓存器容量被估计为满,那么所接收的瓦片连同共同帧的后续瓦片一起可以被丢弃。在经由无线链路传输到接收器之前,在时间周期t内通过源接收帧序列920 930,以进行编码并缓存。 帧920 93Q中的每帧被分割为多个,M个,瓦片。在例示性的例子中,分割值M被设置为四,并且因此帧920 930被分割为各自的瓦片集920a 920d和930a 930d。
假设所述源被配置为采用固定子采样速率N = 2。即,所述源被配置为编码并传 送每隔一个接收帧到接收器,同时在源端丢弃或以其它方式忽略其余帧。因此,在接收、编 码、缓存帧920的所有瓦片920a 920d后,帧922被丢弃(如用虚线例示性地指示)。如 果缓存器容量允许,则依据固定时间子采样速率N = 2,调度帧924来进行编码和缓存。根 据一个实施例,逐片地对帧的缓存器容量进行估计。如果所述缓存器容量可用于一个瓦片, 则所述瓦片可以被编码和缓存。可以同样地对其它剩余帧片估计缓存器容量。如果缓存器 容量不足以存储一个瓦片,那么可以丢弃所述瓦片和当前帧中的任何剩余瓦片。在接收到 后续帧时,所述后续帧被分割,并且可以丢弃或以其它方式忽略与前一帧中被成功缓存的 瓦片对应的新近接收的帧中的瓦片。对与前一帧中的所述丢弃瓦片中的第一个瓦片对应的 瓦片估计缓存器容量。按照这种方式,包括来自多个帧的瓦片的帧可以被有效地缓存,从而 形成由不止一个帧的组成瓦片组成的复合帧。 再次返回到图9,如上面讨论,逐片地估计帧缓存器的容量。在本例子中,所述缓 存器容量被估计为足够用于存储帧924的每个瓦片924a 924b 。然而,如缓存器容量910 所指示,对瓦片924c进行的缓存器容量估计指示缓存器容量不足以用于存储瓦片924c。因 此,丢弃或以其它方式忽略瓦片924c 924d(如虚线所例示性地指示)。在接收并且对后 续帧926进行分割时,丢弃或以其它方式忽略与前一帧924中被缓存的瓦片924a 924b 对应的瓦片926a 926b。然后,可以进行对缓存器容量的估计,以确定是否存在足够的容 量用于存储瓦片926c。在示例性的例子中,足够的缓存器容量可用于瓦片926c,并且相应 地,对瓦片926c进行编码和缓存。针对瓦片926d进行的缓存器容量910的后续估计指示 容量不足以用于存储一个瓦片,并且因此如虚线所示,丢弃瓦片926d。在对被分割的帧928 的后续接收时,因为帧924和帧926中的对应瓦片924a 924b和926c先前已经被编码和 缓存,所以丢弃或以其它方式忽略瓦片928a 928c。从而,针对瓦片928d进行缓存器容量 910的估计,在估计出存在足够的缓存器容量时,对瓦片928d进行编码和缓存。因此,在例 示性的例子中,包括三个顺序帧的组成瓦片的单个复合帧被缓存。 图10是描述时间子采样例程的处理的流程图1000,所述时间子采样例程的特征 在于根据实施例的基于瓦片的固定及自动时间子采样。图io描述的子采样例程可以由在 系统源中采用的WDV子系统中的在图2描述的CVI202中所包括的逻辑实现。调用子采样 例程(步骤1002),并读取固定子采样速率N以及用于帧分割的分割数X(步骤1004)。所 述分割数X指定帧被分割为的瓦片数,并且是可配置的值。还可以将便于跟踪缓存后的瓦 片的计数器变量k初始化为例如值"l",如步骤1004中所指示。 接着,可以将计数器变量i设置为子采样速率N(步骤1006)。然后,子采样例程可 以等待接收帧(i)(步骤1008)。在接收帧(i)时,可以进行估计以确定所述计数器变量i 是否等于子采样速率N(步骤1010)。如果计数器变量i不等于子采样速率N,那么根据固 定子采样速率,丢弃或以其它方式忽略当前帧(i)(步骤1012)。 再次返回到步骤1010,如果计数器变量等于子采样速率,则帧(i)可以被分割为X 个瓦片(步骤1014)。然后,可以进行估计,以确定是否存在足够容量用于缓存被分割的帧 的第一瓦片(k)(步骤1016)。如果没有足够容量用于缓存瓦片(k),那么可以丢弃瓦片(k) 到瓦片(X)(步骤1018)。
11
再次返回到步骤1016,如果存在足够的缓存器容量可用于缓存瓦片(k),那么瓦 片(k)可以被编码和缓存,并且将瓦片计数器变量k加l(步骤1020)。可以通过将瓦片计 数器变量和分割数X进行比较,进行估计以确定当前帧的每个瓦片是否都已经被缓存(步 骤1022)。如果当前帧的每个瓦片还没有被缓存,则子采样例程返回到步骤1016,以确定是 否存在足够的缓存器容量用于存储下一瓦片(k)。如果最近被缓存的瓦片是当前帧(i)的 最后瓦片,则可以将瓦片计数器变量k复位为"1 ",并且将帧计数器变量i减1 (步骤1024)。 在根据步骤1024将计数器变量减1后,子采样例程继续进行,以估计帧计数器变量i是否 等于零(步骤1026),由此指示根据子采样速率N,下一帧被调度来缓存。如果计数器变量 i不等于零,则可以进行子采样例程是否要继续的估计(步骤1030)。如果子采样例程要继 续,则处理返回来根据步骤1008,等待接收下一帧(i)。如果确定为处理将不继续,则子采 样例程循环可以结束(步骤1032)。 再次返回到步骤1026,如果计数器变量i被估计为等于零,则进行估计,以确定子 采样例程是否要继续(步骤1028)。如果子采样例程要继续,则处理返回来根据步骤1006, 将帧计数器变量i复位为子采样速率N。或者,根据步骤1032,子采样例程循环可以结束。
根据另一个实施例,通过瓦片复制机制实现额外的吞吐量减少。在视频源,对被分 割帧的每个瓦片执行循环冗余校验(CRC)或合适的其它参数估计。利用图2中所描述的各 个CRC函数210和212,对瓦片的原始像素数据或瓦片的经过小波变换后的数据计算CRC。 然后,可以将所述CRC存储在所述源上。在视频帧序列的初始帧上,所述初始帧的所有瓦片 被认为是"新的",并且因此被处理并传送到接收器。在所述初始帧之后,如果后续瓦片被 确定为与前一帧的对应瓦片没有差别,那么后续帧的对应瓦片可以被丢弃或以其它方式忽 略,并且因此不会传送到接收器。例如,再次返回到图8,假设帧802包括将被传输到接收器 的帧序列的第一帧。如果在帧802之后的帧804的瓦片804a与帧802的对应瓦片802a没 有差别,那么在源端可以丢弃或以其它方式忽略瓦片804a。有利地,减少了将要从源传输到 接收器的所需数据。在一个实施例中,将针对一帧中的瓦片计算的CRC值分别与前一帧中 的对应瓦片的CRC值进行比较,以确定所述瓦片是否已经变化,并且只有被确定为相对于 前一帧中的对应瓦片已经变化的瓦片被编码并被传输到接收器。 为了便于本文中所公开的瓦片复制机制,所述接收器可以设置有用于缓存所接收 的瓦片的多个缓存器。现在参考图ll,描述了根据实施例实现的接收器缓存器配置1100的 图解表示。继续上述被分割为四个瓦片的帧的实例,缓存器集1110 1140的每个都包括四 个缓存器,所述四个缓存器分别被分配来用于被分割帧的四个瓦片中的一个瓦片。在本实 例中,所述接收器包括缓存器集1110,所述缓存器集1110包括多个缓存器1110a 1110d, 所述缓存器1110a 1110d中的每个分别与被分割帧的多个,X个,瓦片中之一相关联。按 照类似方式,缓存器集1120包括缓存器1120a 1120d,缓存器1120a 1120d中的每个 被分配给X个瓦片中的一个对应瓦片,缓存器集1130包括缓存器1130a 1130d,所述缓 存1130a 1130d中每个被分配给X个瓦片中一个对应瓦片,以及缓存器集1140包括缓存 器1140a 1140d,所述缓存器1140a 1140d中的每个被分配给X个瓦片中的一个对应瓦 片。当在所述接收器上接收到帧的瓦片时,所述接收器将所述瓦片写入特定缓存器集(例 如,缓存器集1110)的相应缓存器中。然后,所述接收器可以循环到下一个缓存器集,例如 缓存器集1120,以用于写入所述接收器所接收的后续帧的帧瓦片。所述接收器可以继续循环通过缓存器集,直到所接收帧的瓦片被写入缓存器集1140,此时所述接收器返回到缓存 器集1110,以用于写入另一个所接收帧的瓦片。可以在所述接收器上采用的WDV子系统的 SDRAM缓存器228中维持包含缓存器集1110 1140的缓存器配置。 为了便于处理所接收帧及其组成瓦片,所述接收器可以包括引用(reference)特 定瓦片和对应缓存器的指针。根据一个实施例,所述接收器包括写入缓存器指针集、下一缓 存器指针和当前缓存器指针。写入缓存器指针访问用于存储一帧中的正处于被接收器接收 的过程中并且由此未准备好由接收器显示的瓦片的缓存器。按照类似方式,下一缓存器指 针引用用于存储其所具有的瓦片都被接收器接收并且因此准备好由接收器进行显示处理 的帧的瓦片的缓存器。即,下一缓存器指针引用要在当前显示帧之后显示的帧的瓦片。当 前缓存器指针引用用于存储当前正被所述接收器显示的帧的瓦片的缓存器。
图12A 12E描述了由接收器维持的示例性缓存器指针的图解表示,所述示例性 缓存器指针用于引用由此根据实施例接收的帧的组成瓦片。在图12A 12E的例示性例子 中,指针包括瓦片标识符和对存储所述瓦片的缓存器集的引用。具体地,缓存器指针被例示 性地指定为X. Y,其中X表示瓦片指示符,以及Y表示存储对应瓦片的缓存器集。
如上所述,帧序列中的第一帧的每个瓦片被发送到接收器,并被存储在特定缓存 器集中。例如,假设图11中所描述的帧1150包括帧序列的第一帧,在所述接收器接收到 瓦片1150a 1150d时,每个瓦片1150a 1150d被存储在缓存器集1110的各个缓存器 1110a 1110d中。相应地,在瓦片1150a 1150d被存储在各个缓存器1110a 1110d中 时,利用引用瓦片1150a 1150d及缓存器集1110(被例示性地指定为缓存器集0)的指针 值填充写入缓存器指针1210a 1210d。例如,写入缓存器指针1210a所具有的值"O. 0"指 示瓦片0(例如,1150a)被存储在缓存器集O(例如,缓存器集1110)中。因此,写入缓存器 指针1210a指示第一个瓦片1150a被存储在缓存器集1110的缓存器1110a中。按照类似 方式,写入缓存器指针1210b 1210d具有指针值"l. 0"、"2. 0"和"3. 0",由此指示帧1150 的当前接收的瓦片1150b 1150d(瓦片1到瓦片3)被存储在缓存器集"O"的对应缓存器 中。 可以与帧1150的最后瓦片1150d—起或在最后瓦片1150d之后,传输帧结束 (EOF)标志1151。 EOF标志1151向接收器提供已经向其传输完整帧的指示,并且因此接收 的后续瓦片包括另一帧的瓦片。相应地,在接收到EOF 1151时,包括瓦片1150a 1150d 的帧已经被所述接收器完整地接收,并且可以被处理来用于所述接收器显示。相应地,如图 12B所示,写入缓存器指针1210的指针值可以被复制到对应的下一写入缓存器指针1220。 另外,因为帧1150包括帧序列的第一帧,所以如图12B所示,下一缓存器指针1220可以 被复制到对应的当前帧指针1230。相应地,所述接收器然后可以经由各自的当前帧指针 1230a 1230d读出瓦片1150a 1150d,并且显示包括瓦片1150a 1150d的所述帧。
继续本实例,假设第二帧1152要被传输到所述接收器。进一步假设所述源已经确 定出瓦片1152a及1152c 1152d与前一帧1150的对应瓦片1150a及1150c 1150d相 同。相应地,所述源可以丢弃瓦片1152a及1152c 1152d(如通过交叉影线所例示性地指 定),并且仅仅传输瓦片1152b和EOF标志1153。在接收到瓦片1152b后,所述接收器可以 将瓦片1152b写入缓存器集1120。具体地,所述接收器可以将瓦片1152b写入被分配来用 于被分割帧的指定瓦片1的缓存器1120b中。当瓦片1152b被写入缓存器1120b中时,如图12C所示,值"l. l"可以被分配给所述接收器的写入指针1210b,以指示当前正在接收的 帧的瓦片1被存储在例如缓存器集1的缓存器集1120中。接收器接收到EOF标志1153,这 向接收器指示显示帧1152所必须的所有所需瓦片已经被传输到所述接收器。相应地,如图 12D所示,所述接收器然后可以将写入缓存器指针1210复制到引用要被显示的下一帧的瓦 片的下一写入缓存器指针1220。如图12E所示,当接收器显示处理准备好显示下一帧,例 如,在帧间隔(例如1/60秒)到期时,下一缓存器指针1220可以被复制到当前缓存器指针 1230。在这个实例中,由当前缓存器指针1230引用的要被显示的当前帧包括作为多个帧的 瓦片的组合的帧,所述多个帧的瓦片即为帧1150的瓦片1150a及1150c 1150d和帧1152 的瓦片1152b。因此,瓦片1150a及1150c 1150d被有效地复制到后续帧用于显示,而不 需要重新传输瓦片1152a及1152c 1152d的重复内容。 图13是描述根据实施例的在接收器实现的瓦片复制例程的处理的流程图1300。 调用瓦片复制例程(步骤1302),并且可以将缓存器集索引变量i和缓存器索引变量j初始 化为零(步骤1304)。然后,所述接收器可以等待接收瓦片(k)(步骤1306)。在本文中所提 供的例示性例子中,帧被分割为四个瓦片,并且因此所接收的瓦片(k)具有标识符k(O)到 k(3),所述标识符k(0)到k(3)指示在所述被分割的帧内的瓦片位置。在接收到瓦片(k) 后,所述接收器可以将瓦片(k)写入缓存器集(i)的缓存器(k)中(步骤1308)。然后,可 以进行估计以确定是否接收到EOF标志,所述EOF标志指示瓦片(k)是正被传输到所述接 收器的帧中的要被接收的最后一个瓦片(步骤1310)。如果没有接收到EOF标志,则所述接 收器可以返回到步骤1306,以接收另一瓦片(k)。在接收到EOF标志后,写入缓存器(j)可 以被复制到对应的下一缓存器(j)(步骤1312)。然后,可以将所述缓存器索引j加l(步骤 1314),并且接着,可以进行估计以确定所述缓存器索引是否大于"3",由此指示所有写入缓 存器已经被复制到对应的下一缓存器。如果任何写入缓存器有待于被复制到对应的下一 缓存器,则处理可以返回到步骤1312,以将所述写入缓存器(j)复制到对应的下一缓存器 (j)。 当所有写入缓存器都已经被复制到对应的下一缓存器时,可以将缓存器集索引i 加1,并且可以将缓存器索引复位为零(步骤1318)。可以进行估计,以确定是否要继续瓦片 复制例程(步骤1320)。如果瓦片复制例程要继续,那么可以进行估计,以确定缓存器集索 引i是否大于3,由此指示最后的缓存器集已经被写入(步骤1322)。如果最后的缓存器集 已经被写入,那么可以将缓存器集索引i复位为零(步骤1324),并且处理可以返回到1306 来从另一帧接收瓦片(k)。如果在步骤1322确定为最后的缓存器集还没有被写入,那么瓦 片复制例程可以返回到步骤1306来从另一帧接收瓦片(k)。瓦片复制例程可以基于步骤 1320的合适估计结果而终止(步骤1326)。当然,在出现合适的终止中断或其它事件时,瓦 片复制例程可以在例程处理中的任何位置终止。 如所描述,本文所公开的实施例提供了用于减少UWB系统中的RF链路的所需吞吐 量的机制。在一个实现中,提供了时间子采样例程,所述时间子采样例程限制要通过RF链 路传输给接收器的帧或其部分的数目。所述时间子采样例程可以具有固定或静态子采样速 率,所述固定或静态子采样速率指定丢弃帧的速率。根据另一个实施例,提供了自动时间子 采样机制。在又一个实施例中,瓦片复制机制可以被实现来减少所述RF链路的吞吐量。WDV 子系统可以包括到外部帧缓存器的接口 ,所述外部帧缓存器便于本文所公开的时间子采样
14及瓦片复制例程。 图6、7、10和13的流程图描述了处理串行化以便于理解所公开的实施例,而不是 必须指示对正在执行的操作进行串行化。在各个实施例中,可以按照不同的顺序执行图6、 7、10和13所描述的处理步骤,并且可以与其它步骤并行地执行一个或多个所描述的步骤。 另外,可以去除对图6、7、10和13的一些处理步骤的执行,而不会背离本文所公开的实施 例。所述例示性的方框图和流程图描述了处理步骤或块,所述处理步骤和块可以表示代码 模块、代码段或部分代码,所述代码模块、代码段或部分代码包括用于实现过程中的具体逻 辑功能或步骤的一个或多个可执行指令。尽管特定例子例示了具体处理步骤或过程,但是 许多替换实现是可能的,并且可以通过简单的设计选择来进行。基于例如功能、目的、与标 准的一致性、传统结构、用户界面设计等的考虑,可以按照与本文中的具体描述不同的顺序 执行一些处理步骤。 本发明的各方面可以采样软件、硬件或它们的组合来实现。所述系统中的独立或 组合的各种元件可以被实现为供处理单元执行的计算机程序产品,所述计算机程序产品在 机器可读存储设备中有形地具体体现。可以通过计算机处理器执行在计算机可读介质上 有形地具体体现的程序,以通过对输入进行操作及生成输出来执行功能,执行本发明实施 例的各个步骤。例如,所述计算机可读介质可以是存储器、例如光盘、软盘或磁盘的可运输 式介质,从而具体体现本发明所述方面的计算机程序可以被装载到计算机中。所述计算机 程序并不局限于任何特定的实施例,并且例如可以在单个计算机处理器或多个计算机处理 器上运行的操作系统、应用程序、前台或后台过程、驱动器、网络堆栈或它们的任意组合中 实现。另外,本发明实施例的各种步骤可以提供在例如存储器的计算机可读介质上生成、产 生、接收或以其它方式实现的一个或多个数据结构。 尽管已经详细地描述了本公开的实施例,但是本领域的技术人员应该理解,在不 背离本公开的精神和范围的情况下,在这里可以进行各种改变、替换以及变更。
权利要求
一种在超宽带系统中对帧进行缓存的方法,包括设置子采样速率N;接收用于传输到接收器的帧序列;调度所述帧序列中要被丢弃的N-1个帧;以及对用于传输到所述接收器的所述帧序列中的剩余帧的至少一部分进行缓存。
2. 如权利要求1所述的方法,还包括将所述剩余帧传输到所述接收器。
3. 如权利要求1所述的方法,还包括对帧缓存器的容量进行估计。
4. 如权利要求3所述的方法,其中,如果确定所述容量足够用于所述剩余帧,就对所述 剩余帧进行缓存。
5. 如权利要求1所述的方法,还包括将所述剩余帧分割为数量为M的多个瓦片。
6. 如权利要求5所述的方法,还包括为所述多个瓦片中第一瓦片的压縮版本估计所述缓存器容量;以及 如果确定所述缓存器容量不足以存储所述第一瓦片的所述压縮版本,就丢弃数量为M 的所述多个瓦片中的每个瓦片。
7. 如权利要求5所述的方法,还包括为所述多个瓦片中第一瓦片的压縮版本估计所述缓存器容量;以及 如果确定所述缓存器容量足够用于存储所述第一瓦片的所述压縮版本,就将所述第一 瓦片的所述压縮版本存储在所述缓存器中。
8. 如权利要求7所述的方法,还包括为所述多个瓦片中第i瓦片的压縮版本估计所述缓存器容量;以及 如果确定所述缓存器容量不足以存储所述第i瓦片的所述压縮版本,就丢弃所述第i 瓦片以及所述多个瓦片中任何剩余的没有被缓存的瓦片。
9. 如权利要求8所述的方法,还包括丢弃所述帧序列中所述剩余帧之后的帧中的第一瓦片到第i瓦片; 为所述剩余帧之后的所述帧的第i瓦片的压縮版本估计所述缓存器容量;以及 如果确定所述缓存器容量足够用于存储在所述剩余帧之后的所述帧的所述第i瓦片 的所述压縮版本,就对所述剩余帧之后的所述帧的所述第i瓦片的所述压縮版本进行缓存。
10. —种在超宽带系统中对帧进行缓存的方法,包括 将第一帧分割为第一组M个瓦片;将第二帧分割为第二组M个瓦片,其中,所述第二组M个瓦片中的每一个分别对应于所 述第一组M个瓦片中的一个;将所述第二组M个瓦片中的每一个与所述第一组M个瓦片中的对应瓦片进行比较;以及丢弃所述第二组M个瓦片中被确定为与所述第一组M个瓦片中的对应瓦片没有差别的 任何瓦片。
11. 如权利要求10所述的方法,还包括对所述第二组M个瓦片中被确定为与所述第一 组M个瓦片中的对应瓦片有差别的任何瓦片进行缓存。
12. 如权利要求11所述的方法,还包括向述接收器传输所述第二组M个瓦片中被确定为与所述第一组M个瓦片中的对应瓦片有差别的每一个瓦片。
13. 如权利要求12所述的方法,还包括在传输所述第二组M个瓦片中被确定为与所述 第一组M个瓦片中的对应瓦片有差别的每一个瓦片之后,传输帧结束指示符。
14. 一种在超宽带系统中对用于显示的帧进行缓存的方法,包括 接收被分割为多个瓦片的第一帧中的第一瓦片; 将所述第一瓦片写入第一缓存器;接收被分割为多个瓦片的第二帧中的第二瓦片,其中所述第一瓦片包括所述第一帧的 至少第一像素行并且所述第二瓦片包括所述第二帧的至少第二像素行,并且其中所述第一 像素行和第二像素行不同;将所述第二瓦片写入第二缓存器;以及引用所述第一瓦片和所述第二瓦片,以在共同帧中显示。
15. 如权利要求14所述的方法,其中引用所述第一瓦片和所述第二瓦片包括将第一指 针设置为引用所述第一缓存器中的第一瓦片,并且将第二指针设置为引用所述第二缓存器 中的第二瓦片,其中,所述第一指针和所述第二指针包括用于引用将被显示的帧的瓦片的 指针集中的指针。
16. —种具有由处理系统执行的计算机可执行指令的计算机可读介质,其中所述计算 机可执行指令用于在超宽带系统中对帧进行缓存,包括用于设置子采样速率N的指令; 用于接收用于传输到接收器的帧序列的指令;用于调度所述帧序列中要被丢弃的N-l个帧的指令;以及用于对用于传输到所述接收器的所述帧序列中剩余帧的至少一部分进行缓存的指令。
17. 如权利要求16所述的计算机可读介质,还包括用于将所述剩余帧传输到所述接收 器的指令。
18. 如权利要求16所述的计算机可读介质,还包括用于对帧缓存器的容量进行估计的 指令。
19. 如权利要求18所述的计算机可读介质,其中,如果确定所述容量足够用于所述剩 余帧,就对所述剩余帧进行缓存。
20. 如权利要求16所述的计算机可读介质,还包括用于将所述剩余帧分割为数量为M 的多个瓦片的指令。
21. 如权利要求20所述的计算机可读介质,还包括用于为所述多个瓦片中第一瓦片的压縮版本估计所述缓存器容量的指令;以及 用于如果确定所述缓存器容量不足以存储所述第一瓦片的所述压縮版本,就丢弃数量 为M的所述多个瓦片中的每个瓦片的指令。
22. 如权利要求20所述的计算机可读介质,还包括用于针对所述多个瓦片中第一瓦片的压縮版本估计所述缓存器容量的指令;以及 用于如果确定所述缓存器容量足够用于存储所述第一瓦片的所述压縮版本,就将所述 第一瓦片的所述压縮版本存储在所述缓存器中的指令。
23. 如权利要求22所述的计算机可读介质,还包括用于针对所述多个瓦片中第i瓦片的压縮版本估计所述缓存器容量的指令;以及用于如果确定所述缓存器容量不足以存储所述第i瓦片的所述压縮版本,就丢弃所述 第i瓦片以及所述多个瓦片中任何剩余的没有被缓存的瓦片的指令。
24. 如权利要求23所述的计算机可读介质,还包括用于丢弃所述帧序列中所述剩余帧之后的帧中第一瓦片到第i瓦片的指令; 用于为所述剩余帧之后的所述帧的第i瓦片的压縮版本估计所述缓存器容量的指令;以及用于如果确定所述缓存器容量足够用于存储在所述剩余帧之后的所述帧的所述第i 瓦片的所述压縮版本,就对所述剩余帧之后的所述帧的所述第i瓦片的所述压縮版本进行 缓存的指令。
25. —种具有由处理系统执行的计算机可执行指令的计算机可读介质,其中所述计算 机可执行指令用于在超宽带系统中对帧进行缓存,包括用于将第一帧分割为第一组M个瓦片的指令;用于将第二帧分割为第二组M个瓦片的指令,其中,所述第二组M个瓦片中的每一个分 别对应于所述第一组M个瓦片中的一个;用于将所述第二组M个瓦片中的每一个与所述第一组M个瓦片中的对应瓦片进行比较 的指令;以及用于丢弃所述第二组M个瓦片中被确定为与所述第一组M个瓦片中的对应瓦片没有差 别的任何瓦片的指令。
26. 如权利要求25所述的计算机可读介质,还包括用于对所述第二组M个瓦片中被确 定为与所述第一组M个瓦片中的对应瓦片有差别的任何瓦片进行缓存的指令。
27. 如权利要求26所述的计算机可读介质,还包括用于向接收器传输所述第二组M个 瓦片中被确定为与所述第一组M个瓦片中的对应瓦片有差别的每一个瓦片的指令。
28. 如权利要求27所述的计算机可读介质,还包括用于在传输所述第二组M个瓦片中 被确定为与所述第一组M个瓦片中的对应瓦片有差别的每一个瓦片之后,传输帧结束指示 符的指令。
29. —种具有由处理系统执行的计算机可执行指令的计算机可读介质,其中所述计算 机可执行指令用于在超宽带系统中对用于显示的帧进行缓存,包括用于接收被分割为多个瓦片的第一帧中的第一瓦片的指令; 用于将所述第一瓦片写入第一缓存器的指令;用于接收被分割为多个瓦片的第二帧中的第二瓦片的指令,其中所述第一瓦片包括所 述第一帧的至少第一像素行并且所述第二瓦片包括所述第二帧的至少第二像素行,并且其 中所述第一和第二像素行不同;用于将所述第二瓦片写入第二缓存器的指令;以及 用于引用所述第一瓦片和所述第二瓦片,以在共同帧中显示的指令。
30. 如权利要求29所述的计算机可读介质,其中用于引用所述第一瓦片和所述第二瓦 片的指令包括用于将第一指针设置为引用所述第一缓存器中的第一瓦片,并且将第二指针 设置为引用所述第二缓存器中的第二瓦片的指令,其中,所述第一指针和所述第二指针包 括用于引用要被显示的帧的瓦片的指针集中的指针。
全文摘要
提供了用于减少超宽带系统中所需吞吐量的系统、方法以及计算机可读介质。时间子采样例程限制要通过RF链路传输给接收器的帧或其部分的数目。所述时间子采样例程可以具有用于指定丢弃帧的速率的固定或静态子采样速率。根据另一个实施例,提供了自动时间子采样机制。另外,可以用瓦片复制机制来减少所述RF链路的吞吐量。WDV子系统包括到外部帧缓存器的接口,所述外部帧缓存器便于本文所公开的所述时间子采样及瓦片复制例程。
文档编号G06F3/00GK101730873SQ200880017801
公开日2010年6月9日 申请日期2008年5月27日 优先权日2007年5月31日
发明者F·C·费尔南德斯, F·S·斯蒂弗斯, M·B·休梅克, 小S·B·施鲁姆 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1