专利名称:用于利用有限的dvb接收机存储器接收多个并发的流突发的方法和装置的制作方法
技术领域:
本公开整体上涉及用于接收多个流突发(stream burst)的装置和方法。更具体 地,本公开涉及利用有限的DVB接收机存储器来接收多个并发的流突发。
背景技术:
数字视频广播(DVB)是用于数字电视应用的一个标准族。DVB包括用于有效地和 鲁棒地对诸如数字电视之类的视听信息进行数字传输的信源编码方法(例如,降低信源数 据速率)和信道编码方法(例如,提高传输容错性)。已经开发了不同的DVB版本以针对特 定的通信传送模式。例如,DVB-S被设计为用于数字TV的卫星广播,DVB-T被设计为用于 数字TV的地面广播,DVB-C被设计为用于数字TV的有线广播。手持数字视频广播(DVB-H) 是已经开发出的一个较新的版本,其用于手持设备的移动数字TV应用,该手持设备例如移 动电话和个人数字助理(PDA)。 DVB的所有版本采用基于运动图像专家组(MPEG)数字压縮标准的信源编码。数 字压縮是公知的数字信号处理方法,其用于通过考虑信息冗余度和主要对差别信息进行编 码,而不是仅对全部信息进行编码,来降低信源数据速率。 在任何时刻,DVB接收机可能接收到信息的多个流突发(例如,数字TV、文件/数 据下载、数据多播等)。DVB接收机的存储器大小限制了接收并发的多个流突发的能力。然 而,增加存储器的大小会增加成本和直流功耗,继而限制了电池寿命。在手持设备(例如, 移动设备)中,有限的电池寿命尤其是个问题。
发明内容
公开了一种利用有限的接收机存储器来接收多个并发的流突发的装置和方法。根 据一个方面, 一种用于接收多个并发的流突发的方法包括确定帧大小是否小于可用存储 器的大小;确定第一分组的优先级是否低于第二分组的优先级,其中,所述帧大小是所述第 二分组的帧的大小;如果所述第一分组的优先级低于所述第二分组的优先级,则请求中止 处理所述第一分组,并请求从所述第一分组解除对所述可用存储器的分配;如果所述第一 分组的优先级不低于所述第二分组的优先级,则等待所述可用存储器的大小变得等于或者 大于所述帧大小;以及将所述可用存储器分配给所述第二分组的帧。在一个方面,该方法还 包括确定是否到了唤醒接收机以接收第三分组的时间,以及确定所述可用存储器是否能够容纳所述第三分组。 根据一个方面, 一种包括处理器和处理器存储器的接收机,所述处理器存储器包 含可由处理器执行的程序代码,用于执行下列步骤确定帧大小是否小于可用存储器的大 小;确定第一分组的优先级是否低于第二分组的优先级,其中,所述帧大小是所述第二分组 的帧的大小;如果所述第一分组的优先级低于所述第二分组的优先级,则请求中止处理所 述第一分组,并请求从所述第一分组解除对所述可用存储器的分配;如果所述第一分组的 优先级不低于所述第二分组的优先级,则等待所述可用存储器的大小变得等于或者大于所 述帧大小;以及将所述可用存储器分配给所述第二分组的帧。在一个方面,所述帧是多协议 封装-前向纠错(MPE-FEC)帧。在一个方面,所述接收机是手持数字视频广播(DVB-H)接 收机。在一个方面,可用存储器位于接收机的解调器内。 根据一个方面,一种用于接收多个并发的流突发的手持接收机包括用于确定帧 大小是否小于可用存储器的大小的模块;用于确定第一分组的优先级是否低于第二分组的 优先级的模块,其中,所述帧大小是所述第二分组的帧的大小;用于如果所述第一分组的优 先级低于所述第二分组的优先级,则请求中止处理所述第一分组、并从所述第一分组解除 对所述可用存储器的分配的模块;用于如果所述第一分组的优先级不低于所述第二分组的 优先级,则等待所述可用存储器的大小变得等于或者大于所述帧大小的模块;以及用于将 所述可用存储器分配给所述第二分组的帧的模块。 根据一个方面,一种包含计算机可读介质的计算机程序产品,所述计算机可读介 质包含有存储在其上的程序代码,所述程序代码包括用于确定帧大小是否小于可用存储 器的大小的程序代码;用于确定第一分组的优先级是否低于第二分组的优先级的程序代 码,其中,所述帧大小是所述第二分组的帧的大小;用于如果所述第一分组的优先级低于所 述第二分组的优先级,则请求中止处理所述第一分组、并从所述第一分组解除对所述可用 存储器的分配的程序代码;用于如果所述第一分组的优先级不低于所述第二分组的优先 级,则等待所述可用存储器的大小变得等于或者大于所述帧大小的程序代码;以及用于将 所述可用存储器分配给所述第二分组的帧的程序代码。 根据一个方面,一种用于接收多个并发的突发流的装置包括PID管理器,用于执 行与分组标识符(PID)相关联的分组的增加或者删除;以及协议处理器,用于请求PID管理 器来执行分组的增加或者删除,其中所述分组作为多个并发的突发流的部分被接收。在一 个方面,协议处理器将优先级信息、确定时间、帧大小中的至少一个与发送给PID管理器的 请求消息中的分组标识符相关联。在一个方面,PID管理器将delta乙未知的时隙状态与 请求消息中的分组标识符相关联。 本公开的一个优势包括能够使用具有有限存储器的DVB-H接收机来接收并发的
多个流突发。其它优势包括维持存储器的大小并因此维持DVB-H接收机的成本。此外,在
允许并发地接收信息的多个流突发的情况下DVB-H接收机的功耗维持不变。 可以理解的是,对于本领域技术人员来说,根据下面的详细描述,其它方面将变得
显而易见,其中,通过示例的方式来示出和描述各个方面。附图和详细说明应被视为实质上
说明性的,而不是限制性的。
图1说明了 DVB-H协议栈如何携带各种用户业务的示例,所述用户业务包括DVB 信令、音频_视频流、文件下载、UDP多播和IP多播。
图2说明了协议层分解的示例。 图3说明了在4秒的突发周期上用于一个基本流的示例性传输时间线。 图4说明了在4秒的突发周期上用于16个不同的基本流的示例性传输时间线。 图5说明了利用有限的接收机存储器来接收多个并发的流突发的示例性流程图。 图6说明了在PID管理器中的PID管理模块(P匪)的PID监控状态和PID获得状
态之间的相互关系。 图7说明了选择接收2个连续的基本流(ESI和ES2)的第一示例。 图8说明了选择接收2个连续的基本流(ESI和ES2)的第二示例。 图9说明了选择接收2个连续的基本流(ESI和ES2)的第三示例。 图10说明了选择接收2个连续的基本流(ESI和ES2)的第四示例。 图11说明了包括与存储器进行通信的处理器的设备的示例,其中该设备用于接
收多个并发的流突发。 图12说明了适于接收多个并发的流突发的设备的示例。
具体实施例方式
下面结合附图阐明的详细说明意在描述本公开的各个方面,并不意在代表可以实 现本公开的仅有方面。在本公开中所描述的每一个方面仅仅作为本公开的一个示例或者说 明,并且不应必然地被解释为优于或好于其它方面。为了对本公开提供充分的理解,在详细 说明中包括了具体的细节。然而,对本领域技术人员来说显而易见,可以在没有这些具体细 节的情况下实现本公开。在一些情况中,为了避免对本公开的概念产生混淆,采用框图的形 式示出了公知的结构和设备。使用縮写词和其它描述性的术语仅仅是为了方便和清楚,并 不意味着对本公开的范围的限制。 为了简化说明,将方法示出和描述为一系列的动作,可以理解和意识到,该方法并 不局限于动作的顺序,因为根据一个或多个方面, 一些动作可以以不同的顺序发生和/或 与本文示出和描述的其它动作同时发生。例如,本领域技术人员可以理解和意识到,方法也 可以被表示为一系列相互关联的状态或者事件,例如在状态图中。此外,根据一个或多个方 面,并不需要所有示出的动作来实现方法。 DVB-H规定了用于移动TV应用的几个网络协议层。DVB-H物理层在DVB-T物理 层的基础上有一些微小的增加。DVB-H物理层使用正交频分复用(OFDM)多载波调制。数 据链路层基于在ITU-T H. 222. 0中定义的MPEG2传输流(TS),其中通过对实时编码的视 频和音频流以及特定开销数据和信令信息进行复用来形成MPEG2传输流,该开销数据和信 令信息例如节目特定信息/系统信息(PSI/SI)。尽管存在传播损害,但是通过在数据链路 层中使用增强的错误保护技术来获得可靠的传输。该技术被称为多协议封装-前向纠错 (MPE-FEC),其在物理层提供了除DVB-T信道编码和时间交织之外的附加的信道编码。此 外,将称为时间片的功率节省技术引入到DVB-H中。在DVB-H传输中的每个单独的业务以 突发的方式进行发送,其允许接收机进入休眠模式,并且仅在接收其想要的业务时醒来。
9
网络层和传输层使用网际协议(IP)和用户数据报协议(UDP)。相对于其它的DVB 传输系统,DVB-H系统使用IP来实现与其它基于IP的网络的互操作。传输层还包括用于 音频视频(A/V)流的实时传输协议/实时传输控制协议(RTP/RTCP),以及用于文件对象传 送的异步层编码/分层编码传输(ALC/LCT)和单向传输文件传送(FLUTE) 。 FLUTE可用于 传送任意类型的文件对象。FLUTE的典型使用包括可扩展标记语言(XML)片段/文件和携 带有节目信息的会话描述协议(SDP)的传送,以及诸如A/V文件、图像、标识等的媒体文件 对象的传送。实时的视频和音频流由IP上的UDP上的实时传输协议(RTP)分组携带,使用 多协议封装(MPE)适配协议将该分组嵌入到MPEG传输流中。 图1说明了 DVB-H协议栈如何携带各个用户业务的示例,该用户业务包括DVB信 令、音频-视频流、文件下载、UDP多播和IP多播。如图所示,将所有的用户业务嵌入到 DVB-H物理层上的MPEG2传输流中。节目特定信息(PSI)提供关于在MPEG2传输流中传输 的节目(媒体/内容)以及用于从经复用的流中提取这些节目的位置信息(例如,链路层 标识符)的信息。系统信息(SI)提供网络信息,例如,来自某个网络的传输流的传输频率、 某些传输的节目/IP流的位置(传输流、业务标识符)等。 应用层包括能够利用RTP/RTCP和IP多播的任意应用。移动广播的最常见应用包 括用于重放实时A/V节目的媒体播放器、媒体文件对象等;使用在FLUTE上接收的XML节 目指南信息的电子业务指南(ESG)浏览器应用;基于广播/多播框架的游戏/交互应用。
每个节目是基本流(ES)的一部分,其中将节目定义为实时A/V流或携带有对象的 特定组/类型的FLUTE会话。每个ES可以携带一个或多个这样的节目。每个基本流包括 属于这些节目的经封装的IP数据包(MPE部分)或者由其组成。MPE部分继而以固定长度 (188字节)被发送。MPEG2传输流分组具有特定于该ES的分组标识符(PID)。图2说明了 协议层分解的示例。 在DVB-H中,属于基本流的多协议封装_前向纠错(MPE-FEC)帧(由MPE部分和 对应的FEC部分组成)作为具有512k比特、1024k比特、1536k比特或者2048k比特数据的 突发被传输。这些数据突发以远大于基本流中节目的平均比特率的比特率进行传输。这允 许以时间片的方式传输节目数据。 在一个方面中,基本流(ES)包括仅仅一个节目或由一个节目组成,例如,具有 512kbps的平均比特率的A/V流。假设使用2048k比特的突发大小来传输该ES,在该突发 中能传输4秒的数据。如果以8Mbps传输该突发,则能够在250毫秒中传输该突发。发射 机在每4秒中仅需为该节目传输一次250毫秒持续时间的突发。相应地,接收机(例如, DVB-H接收机)在每4秒中仅需接收一次250毫秒的突发。如果发射机对于所有的基本流 使用相同的突发大小和突发带宽,在重复发送突发之前,发射机能够发送16个分离的基本 流的突发。图3示出了在4秒的突发周期中用于一个基本流的传输时间线的示例。图4示 出了在4秒的突发周期中用于16个不同的基本流的传输时间线的示例。
在一个方面中,DVB-H接收机仅在感兴趣的ES被传输的期间醒来。在突发中的每 个MPE部分携带有该基本流的下一个突发开始的相对时间偏移,从而允许DVB-H接收机计 算下一次什么时候醒来,以接收相同ES的突发。这允许DVB-H接收机在大部分时间关闭RF 前端和基带处理,从而节省功率。 在一个示例中,当DVB-H接收机选择一个节目时,DVB-H接收机获得对应于所选择
10的节目的ES突发(即,MPE-FEC帧),并且DVB-H接收机使用来自该突发的内容/数据。例 如,如果突发(MPE-FEC帧)的大小为512k比特,则在解调器芯片中需要有512k比特大小 的存储器,以接收这个突发。如果从同一个突发周期中接收属于两个不同基本流的两个突 发(MPE-FEC帧),其中一个是512k比特,另一个是2048k比特,则该存储器的大小必须至少 为2. 5M比特。 DVB-H接收机能够接收的基本流(ES)的最大数量取决于该存储器的大小。然而, 解调器芯片的存储器大小对硅片大小有直接影响,其继而对解调器芯片的成本产生直接影 响。在另一方面,随着存储器大小的增加,功耗也将增加。在最简单的分组标识符(PID)管 理技术中,仅当与不同PID (包括最新的请求)相关联的所有分组的MPE帧大小的总和小于 或者等于解调器存储器的内部大小(例如,2M比特)时,接收机的解调器才接收用于增加与 新的PID相关联的新的分组的请求。如图5所使用的,第一 PID是指与第一 PID相关联的 第一分组,第二 PID是指与第二 PID相关联的第二分组,第三PID是指与第三PID相关联的 第三分组。 图5说明了使用有限的接收机存储器来接收多个并发的流突发的示例性流程图。 在一个方面中,接收机是DVB-H接收机。图5中所说明的是用于支持接收在一个突发周期 中的属于不同基本流的多个MPE-FEC帧(例如,在上面附图中所示的ES1和ES4)的PID管 理技术。如图5所说明的,所有的MPE-FEC帧的大小的总和超出了解调器芯片所提供的存 储器。在一个方面中,解调器芯片位于DVB-H接收机中。在一个方面中,在图5中所说明的 算法用于PID获得状态。 在框505中,选择具有"delta乙未知(deltaT_unknown)"的时隙状态的最高优先 级的PID(即,第二PID)。接下来,在框510中,确定对应于该第二PID的MPE-FEC帧的帧 大小是否小于可用的存储器。例如,可用的存储器是解调器芯片的存储器大小。如果没有 接收或者处理突发,则解调器芯片的所有存储器是可用的存储器。如果对应于第二PID的 MPE-FEC帧的帧大小小于可用的存储器,则进入到框530。如果大于,则进入到框515,以确 定在先的PID(即,第一PID)的优先级是否低于第二PID的优先级。如果第一PID的优先 级低于第二 PID的优先级,则进入到框520。在框520中,请求解调器中止处理任何现有的 MPE-FEC帧,并从第一 PID解除对存储器的分配。在一个方面中,P匪为解调器提供该请求。 如果第一PID的优先级不低于(S卩,高于)第二PID的优先级,则进入框525。在框525中, 等待等于或者大于与第二 PID对应的MPE-FEC帧的帧大小的可用的存储器大小,并然后进 入到框530。 在框530中,将存储器分配给第二PID。在框530之后,在框540中,确定是否到 了唤醒DVB-H接收机以接收与第三PID相关联的突发的时间。如果到了唤醒DVB-H接收机 的时间,则进入框545。在框545中,确定所述可用存储器是否能够容纳对应于第三PID的 MPE-FEC帧的帧大小。在一个方面中,P匪确定可用的存储器。如果能够,则进入到框550, 将可用的存储器分配给第三PID。如果不能,则进入到框555。在框555中,确定第三PID 的优先级是否高于第二PID的优先级。在一个方面中,P匪确定该优先级。如果第三PID的 优先级高于第二 PID的优先级,则进入到框560。在框560中,从第二 PID解除对存储器的 分配,并将存储器分配给第三PID。在框560之后,返回到框510。如果第三PID的优先级 不高于(即,低于)第二PID的优先级,则进入到框565。在框565中,将第三PID的时隙状
11态改为"deltaT_未知"。在框565之后,返回到框540。 在框540之后,如果没有到唤醒DVB-H接收机的时间,在框570中确定对应于第二 PID的MPE-FEC帧的组合是否完整。如果所述组合完整,进入框575中,从第二 PID解除对 存储器的分配,并将时隙状态设置为"delta乙已知(delta乙known)"。在框575之后,进入 到框590。如果所述组合不完整,则进入到框580中以确定与第二PID相关联的定时器(例 如,deltaT—确定—时间(deltaT_determination_time))是否已经过期。在一个方面,P匪 确定定时器的过期。如果定时器已经过期,则进入框585。在框585中,删除第二PID,并发 送失败消息(例如,增加_PID_失败adcLpicLfailed())。在一个示例中,将该失败消息发 送给DVB-H接收机中的DVB-H协议处理器。在框585之后,进入到框590。如果定时器没有 过期,返回到框540。在框590中,转换到PID监控状态。 本领域技术人员可以理解,在图5的流程图中公开的步骤能够在不偏离本公开的 范围和精神的情况下相互交换。类似地,本领域技术人员可以理解,在图5的流程图中所说 明的步骤并不是排它的,并且可以在不影响本公开的范围和精神的情况下根据应用或者系 统参数来修改步骤,以及可以包括其它步骤。 在不使用图5中所示的算法接收信息的多个流突发的一个尝试中,PID的第一增 加请求用于例如是2M比特的帧大小。在这个示例中,如果存储器的大小限制为例如2M比 特,则用于增加新的PID的任何随后的请求总会导致失败。即使对应于第二PID请求的 MPE-FEC帧及时地与对应于第一PID的MPE-FEC帧分离,也会发生失败。在接收到突发之后, 需要用有限的时间量来进行处理,并将突发(MPE-FEC帧)清洗(flush)出存储器。因此, 如果两个突发的存储器大小的总和超出了内部存储器的大小,由于没有可用的存储器分配 给第二突发,因此不可能接收到这两个突发。部分地,由于将存储器静态地分配给给定的突 发(例如,第一PID),接收第二PID发生失败。 然而,如图5所示,其动态地分配存储器,即,当接收突发时分配存储器,并在接收 突发之后解除分配。从而,能够将相同的存储器重新分配给在时间上稍后出现的另一个突 发。以这种方式,能够在一个突发周期中接收不止一个的ES突发,其中这些ES突发的总和 大于存储器的大小。在图5中所示的算法允许增加多个新的PID,使得对应于所有增加的 PID的MPE-FEC帧大小的总和可以大于解调器存储器。此外,在图5中所示的算法包括为 每个PID分配优先级,使得在与另一个突发相冲突时,给对应于具有较高优先级的PID的突 发(MPE-FEC帧)分配用于存储器分配的较高的优先选择权。例如,在连续突发的示例中, 如果给第二突发分配的优先级要高于第一突发,则先于第一突发给第二突发分配存储器空 间。分配优先级能够确保较高优先级的PID相对于较低优先级的PID具有更好的被接收的 机会。在一个方面中,如果第一和第二突发在时间上分开的足够长,使得在下一下突发出现 之前已将一个突发从存储器中清洗出去,则由于两者都能被接收,因此就不需要分配优先 级了。在一个示例中,相对于对应非实时业务(例如,电子业务指南(ESG)、基于FLUTE的业 务等)的PID,给对应于实时A/V流业务和密钥流的PID分配更高的优先级。
在一个方面中,在图5中所说明的算法由下述的一个或多个规则所管理。例如,在 分配存储器中,与较高优先级PID相关联的MPE-FEC帧相对于与较低优先级PID相关联的 另一个MPE-FEC帧具有优先权。在另一个示例中,如果已经确定了 MPE-FEC帧的deltaT,则 将PID的时隙状态设置为"delta乙已知"(并且因此设置了与PID相关联的MPE-FEC帧)。deltaT是该MPE-FEC帧与在下一个突发周期中在相同的基本流(ES)内的下一个MPE-FEC 帧之间的时间偏移。如果还没有确定MPE-FEC帧的deltaT,将时隙状态设置为"deltaT_ 未知"。在一个示例中,当时隙状态被设置为"delta乙未知"时启动一个定时器(例如, deltaT_确定_时间)。当时隙状态改变为"deltaT_已知"时中止该定时器。在一个示例 中,为每个PID指定MPE-FEC帧的大小(例如,帧_大小)。在一个示例中,定时器提供确定 时间,该确定时间是用于获得新突发的分配的时间。 在一个示例中,协议处理器将请求(例如,增加_PID_请求add_pid_request ()) 发送给PID管理器,以通过指定PID、优先级、帧_大小和/或deltaT_确定_时间来增加 一个或多个PID。在一个示例中,默认的假设是增加一个或多个PID是成功的。在另一个 示例中,当在能够获得对应于要增加的PID的MPE-FEC帧之前deltaT_确定_时间过期时, PID管理器将失败消息(例如,增加—PID—失败)发送给协议处理器。在一个示例中,协议 处理器发送删除消息(例如,删除_PID_请求delete—picLrequest ())以请求从PID管理 器删除PID过滤器。在一个方面,PID管理器维护PID管理表(例如,表l),其中该管理表 包括每个PID的如下条目delta乙确定—时间、帧—大小、优先级和时隙状态。表l说明 了 3个PID的示例值。
表1
PIDdeltaT—确定—时间 (秒)帧大小 (Mb)优先级时隙状态
A811deltaT—已知
B400. 52deltaT—已知
C140. 53deltaT—已知 在一个示例中,当PID管理器从DVB-H协议处理器接收到增加_PID_请求消息时, PID管理器将一个或多个条目增加到PID管理表中(例如,表l)。在增加新条目时,PID管 理器将新条目的时隙状态设置为"deltaT_未知"。类似地,当PID管理器从DVB-H协议处 理器接收到删除—PID—请求消息时,或者当PID管理模块(P匪)请求删除条目时,PID管理 器从PID管理表(例如,表l)中删除条目。在一个方面,在PID管理器中的PID管理模块 (P匪)包括两个状态PID监控状态和PID获得状态。在初始化时,P匪处于PID监控状态。
图6说明了 PID管理器中的PID管理模块(P匪)的PID监控状态和PID获得状态 之间的相互关系。当进入到监控状态时,P匪检查PID管理表(例如,表1)。在一个示例 中,如果在PID管理表中没有条目,或者如果PID管理表中的所有条目的时隙状态被设置为 "deltaT_已知",则P匪保持在监控状态。在监控状态下,如果P匪确定到了唤醒DVB-H接 收机以接收在PID管理表中列出的基本流中的一个的突发的时间,则P匪将请求解调器为 指定的PID分配存储器(以接收ES突发)。在突发已经被接收、处理以及从解调器存储器 中清洗出并进入主处理器后,P匪然后请求解除对存储器的分配。在一个方面,如果PID管 理表(例如,表l)中的一个或多个条目的时隙状态被设置为"delta乙未知",P匪从PID监
13控状态转换为PID获得状态。在一个示例中,当P匪从DVB-H控制元件(CE)中接收增加_ PID_请求,其然后促使PMM转换到PID获得状态。 在一个方面,图6的说明被体现在用于接收多个并发的突发流的装置中,其中该 装置包括PID管理器,用于执行与分组标识符(PID)相关联的分组的增加或者删除;以及 协议处理器,用于请求PID管理器执行分组的增加或者删除,其中分组作为多个并发的突 发流的一部分被接收。协议处理器将优先级信息、确定时间、帧大小中的至少一个与发送到 PID管理器的请求消息中的分组标识符相关联。PID管理器将"deltaT_未知"的时隙状态 与请求消息中的分组标识符相关联。在一个方面,PID管理器维护包括分组标识符的列表 的PID管理表,其中列表中的每个分组标识符与优先级信息、确定时间、帧大小和时隙状态 相关联。如果从协议处理器接收到用于删除分组标识符中的一个的消息,则PID管理器从 列表中删除分组标识符中的一个。 在一个方面,PID管理器包括PID管理模块(P匪),并且P匪还包括PID监控状态 和PID获得状态。如果在PID管理表中没有条目,或者如果PID管理表中的所有条目具有 "deltaT_已知"的时隙状态,则P匪进入并保持在PID监控状态。PID管理表包括分组标 识符的列表,其中,列表中的每个分组标识符与优先级信息、确定时间、帧大小和时隙状态 相关联。如果PID管理表中的至少一个条目具有"deltaT_未知"的时隙状态,则P匪进入 PID获得状态。当到了唤醒以接收新分组的时间,P匪发送用于将内部存储器分配给新分组 的分配请求。新分组与PID管理表中的分组标识符中的一个相关联。在已经接收和处理旧 的分组之后,P匪发送用于从旧的分组解除对内部存储器的分配的解除分配请求,所述旧的 分组与PID管理表中的分组标识符中的一个相关联。当分组标识符中的一个的时隙状态变 为"delta乙未知"时,P匪从PID监控状态转换到PID获得状态。在一个方面,在图5中说 明的算法用于PID获得状态。 在一个示例中,对于多个未处理的请求,将与最高优先级PID相关联的MPE-FEC帧 设为第一请求。此外,将与次高优先级PID相关联的MPE-FEC帧设为下一个请求,依此类推。 本领域技术人员可以理解,在这些示例中阐明的规则是说明性的,而不是全部。在一些情况 下,不是必须实现本文提及的示例性规则中的一个或多个,增加本文没有列出的附加规则 或者其组合不会影响本公开的范围和精神。 本文描述了 4个说明了连续突发的示例。对于所有的示例,假设解调器具有2M比 特的存储器。在图7所示的第一示例中,选择接收两个连续的基本流(ES1和ES2)。给ES2 分配优先级l,给ESl分配优先级2。在该第一示例中,是否能成功接收ES1取决于在开始 接收ES2(较高的优先级)之前,是否能将ES1应用数据清洗出存储器。如果无错误地(或 者具有很小的错误)接收了 ES1的所有应用数据,DVB-H接收机能够开始清洗ES1应用存 储器,而不用等待相关联的ES1奇偶校验数据。从而,在DVB-H接收机准备为ES2分配存储 器之前,能够将ES1应用数据清洗出存储器。在这种情况下,能够成功接收ES1突发和ES2 突发两者。另一方面,如果接收到的ES1的应用数据有错误,该错误需要相关联的ES1奇偶 校验数据进行前向纠错,则在DVB-H接收机准备给ES2分配存储器之前可能没有足够的时 间。在这后一种情况下,丢弃ES1,仅能成功接收ES2。 图8说明了选择接收两个连续的基本流(ES1和ES2)的第二示例。在第二示例中, ES1相对于ES2(即,优先级2)具有较高的优先级(即,优先级l)。如果无错误地(或者具有很小的错误)接收了ES1的所有应用数据,DVB-H接收机能够开始清洗ES1应用存储器, 而不用等待相关联的ES l奇偶校验数据。从而,在DVB-H接收机准备给较低优先级的突发 ES2分配存储器之前,能够将ES1的应用数据清洗出存储器。在这种情况下,能够成功接收 ESI突发和ES2突发两者。另一方面,如果接收到的ES1的应用数据有错误,该错误需要相 关联的ESI奇偶校验数据进行前向纠错,则在DVB-H接收机准备给较低优先级的突发ES2 分配存储器之前没有足够的时间。在这后一种情况下,直到将ES1应用数据(及其相关联 的奇偶校验数据)清洗出存储器,才能为ES2分配存储器。在一个示例中,仅能接收ES2数 据的一部分。取决于在所接收的ES2数据中的错误量,可以应用纠错技术来恢复ES2突发。
图9说明了选择接收两个连续的基本流(ES1和ES2)的第三示例。在第三示例中, ES1相对于ES2(即,优先级2)具有较高的优先级(即,优先级1),并且ES2相对于ES1(例 如,大小为2M比特)具有较小的突发(例如,大小为0.5M比特)。如果在ES2突发传输完 成之前没有完成从存储器中清洗ES1应用数据,则不能接收ES2。在另一示例中,由于ES1 应用数据的清洗与ES2突发传输同时发生,因此仅能接收ES2突发的一部分。由于ES2突 发短,因此所接收的内容可能不允许恢复出完整的ES2突发。 图IO说明了选择接收两个连续的基本流(ES1和ES2)的第四示例。在第四示 例中,ES1相对于ES2(即,优先级2)具有较高的优先级(即,优先级1),并且ES1相对于 ES2 (例如,大小为2M比特)具有较小的突发(例如,大小为0. 5M比特)。由于ES1是较小 的突发,因此需要从存储器清洗ES1应用数据的时间也较短,从而,在ES2突发传输中造成 很少(如果有的话)数据丢失。由于ES2突发的大小较大,因此通过纠错更有可能恢复出 丢失的数据。 如图7-10中的四个示例所示,接收数据突发的时间量取决于突发带宽(突发带宽 取决于调制类型、码率、所使用的保护间隔等)。从存储器中清洗数据的时间量取决于信道 误码率(并且因此取决于纠错所需要的时间量),以及将数据从解调器存储器传送到主处 理器所需要的时间量。因此,对于给定的信道误码率,成功接收连续突发的概率对于较低的 突发带宽是较高的,而对于较高的突发带宽是较低的,其中所述连续突发的总大小要大于 存储器的大小。 技术人员还可以意识到,本文结合示例公开的所描述的各种说明性部件、逻辑框、 模块和/或算法步骤可以被实现为电子硬件、固件、计算机软件或者其组合。为了清楚地描 述硬件、固件和软件的这种可互换性,一般按照它们的功能描述了各种说明性的部件、框、 模块和/或算法步骤。这样的功能被实现为硬件、固件还是软件取决于特定应用和施加在 整个系统上的设计约束。熟练的技术人员可以针对每个特定应用以不同的方式来实现所描 述的功能,但是这样的实现决定不应被解释为导致偏离本公开的范围或者精神。
例如,对于硬件实现,处理单元可以被实现在设计用于执行本文所描述的功能的 一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编 程逻辑设备(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、其它 电子单元、或者其组合。对于软件,可以通过执行本文所描述功能的模块(例如,过程、函数 等)来实现。软件代码可存储在存储器单元中并由处理器单元来执行。此外,本文描述的 各种说明性的流程图、逻辑框、模块和/或算法步骤还可以被编码为在所属领域中已知的 任意计算机可读介质上携带的计算机可读指令。
在一个示例中,可以用一个或多个处理器来实现或执行本文所描述的说明性的部 件、流程图、逻辑框、模块和/或算法步骤。在一个方面,处理器与存储器相耦合以实现或执 行本文描述的各个流程图、逻辑框和/或模块,其中存储器存储由处理器执行的数据、元数 据、程序指令等。图11说明了设备1100的示例,设备1100包括与存储器1120进行通信的 处理器1110,用于接收多个并发的流突发。在一个示例中,设备1100用于实现图5中所示 的算法。在一个方面,存储器1120位于处理器1110中。在另一方面,存储器1120在处理 器1110的外部。 图12说明了适于接收多个并发的流突发的设备1200的示例。在一个方面,设 备1200由至少一个包括一个或多个模块的处理器来实现,所述模块用于提供利用有限 的DVB-H接收机存储器接收多个并发的流突发的不同方面,如本文在框1205、 1210、 1215、 1220、1225、1230、1240、1245、1250、1255、1260、1265、1270、1275、1280、1285和1290中所描 述的。例如,每个模块包括硬件、固件、软件或其任意组合。在一个方面,设备1200还由与 至少一个处理器进行通信的至少一个存储器来实现。如图12中所使用的,第一PID是指与 第一 PID相关联的第一分组,第二 PID是指与第二 PID相关联的第二分组,第三PD是指与 第三PID相关联的第三分组。 提供所公开的方面的上述描述使本领域的任何技术人员能够实现和使用本公开。 对本领域技术人员来说,对这些方面的各种修改都是显而易见的,并且在不偏离本公开的 精神和范围的情况下,本文中定义的一般原理可以应用于其它方面。
1权利要求
一种用于接收多个并发的流突发的方法,包括确定帧大小是否小于可用存储器的大小;确定第一分组的优先级是否低于第二分组的优先级,其中,所述帧大小是所述第二分组的帧的大小;如果所述第一分组的优先级低于所述第二分组的优先级,则请求中止处理所述第一分组,并请求从所述第一分组解除对所述可用存储器的分配;如果所述第一分组的优先级不低于所述第二分组的优先级,则等待所述可用存储器的大小变得等于或者大于所述帧大小;以及将所述可用存储器分配给所述第二分组的帧。
2. 根据权利要求1所述的方法,其中,所述第二分组包括delta乙未知的时隙状态。
3. 根据权利要求2所述的方法,其中,在包括deltaT_未知的时隙状态的多个分组中, 所述第二分组包括最高的优先级。
4. 根据权利要求l所述的方法,其中,所述帧是多协议封装-前向纠错(MPE-FEC)帧。
5. 根据权利要求1所述的方法,还包括确定是否到了唤醒接收机以接收第三分组的 时间。
6. 根据权利要求5所述的方法,还包括确定所述可用存储器是否能够容纳所述第三 分组。
7. 根据权利要求6所述的方法,还包括将所述可用存储器分配给所述第三分组。
8. 根据权利要求6所述的方法,还包括确定所述第三分组的优先级是否大于所述第 二分组的优先级。
9. 根据权利要求8所述的方法,还包括如果所述第三分组的优先级大于所述第二分组的优先级,则从所述第二分组解除对所述可用存储器的分配,并将所述可用存储器分配 给所述第三分组。
10. 根据权利要求8所述的方法,还包括如果所述第三分组的优先级不大于所述第二分组的优先级,则将所述第三分组的时隙状态改变为deltaT_未知。
11. 根据权利要求5所述的方法,还包括确定所述第二分组的帧的组合是否完整。
12. 根据权利要求ll所述的方法,还包括如果所述组合完整,则从所述第二分组解除 对所述可用存储器的分配,并将所述第二分组的时隙状态设置为deltaT_已知;以及转换 到PID监控状态。
13. 根据权利要求ll所述的方法,还包括如果所述组合不完整,则确定与所述第二分组相关联的定时器是否已经过期。
14. 根据权利要求13所述的方法,还包括如果所述定时器过期,则删除所述第二分组,并发送失败消息以指示接收所述第二分组失败。
15. 根据权利要求14所述的方法,还包括转换到PID监控状态。
16. 根据权利要求5所述的方法,其中,所述接收机是手持数字视频广播(DVB-H)接收 机,所述帧是多协议封装-前向纠错(MPE-FEC)帧。
17. —种包括处理器和处理器存储器的接收机,所述处理器存储器包含可由所述处理 器执行的程序代码,用于执行下列步骤确定帧大小是否小于可用存储器的大小;确定第一分组的优先级是否低于第二分组的优先级,其中,所述帧大小是所述第二分 组的帧的大小;如果所述第一分组的优先级低于所述第二分组的优先级,则请求中止处理所述第一分 组,并请求从所述第一分组解除对所述可用存储器的分配;如果所述第一分组的优先级不低于所述第二分组的优先级,则等待所述可用存储器的 大小变得等于或者大于所述帧大小;以及将所述可用存储器分配给所述第二分组的帧。
18. 根据权利要求17所述的接收机,其中,所述第二分组包括delta乙未知的时隙状态。
19. 根据权利要求18所述的接收机,其中,在包括delta乙未知的时隙状态的多个分组 中,所述第二分组包括最高的优先级。
20. 根据权利要求17所述的接收机,其中,所述帧是多协议封装-前向纠错(MPE-FEC)帧。
21. 根据权利要求17所述的接收机,其中,所述处理器存储器还包括用于确定是否到 了唤醒所述接收机以接收第三分组的时间的程序代码。
22. 根据权利要求21所述的接收机,其中,所述处理器存储器还包括用于确定所述可 用存储器是否能够容纳所述第三分组的程序代码。
23. 根据权利要求22所述的接收机,其中,所述处理器存储器还包括用于将所述可用 存储器分配给所述第三分组的程序代码。
24. 根据权利要求22所述的接收机,其中,所述处理器存储器还包括用于确定所述第 三分组的优先级是否大于所述第二分组的优先级的程序代码。
25. 根据权利要求24所述的接收机,其中,所述处理器存储器还包括用于如果所述第 三分组的优先级大于所述第二分组的优先级,则从所述第二分组解除对所述可用存储器的 分配、并将所述可用存储器分配给所述第三分组的程序代码。
26. 根据权利要求24所述的接收机,其中,所述处理器存储器还包括用于如果所述 第三分组的优先级不大于所述第二分组的优先级,则将所述第三分组的时隙状态改变为 delta乙未知的程序代码。
27. 根据权利要求21所述的接收机,其中,所述处理器存储器还包括用于确定所述第 二分组的帧的组合是否完整的程序代码。
28. 根据权利要求27所述的接收机,其中,所述处理器存储器还包括用于如果所述组 合完整,则从所述第二分组解除对所述可用存储器的分配、并将所述第二分组的时隙状态 设置为delta乙未知;以及转换到PID监控状态的程序代码。
29. 根据权利要求27所述的接收机,其中,所述处理器存储器还包括用于如果所述组 合不完整,则确定与所述第二分组相关联的定时器是否已经过期的程序代码。
30. 根据权利要求29所述的接收机,其中,所述处理器存储器还包括用于如果所述定 时器过期,则删除所述第二分组、并发送失败消息以指示接收所述第二分组失败的程序代 码。
31. 根据权利要求29所述的接收机,其中,所述处理器存储器还包括用于转换到PID 监控状态的程序代码。
32. 根据权利要求21所述的接收机,其中,所述接收机是手持数字视频广播(DVB-H)接 收机,所述帧是多协议封装-前向纠错(MPE-FEC)帧。
33. 根据权利要求17所述的接收机,其中,所述可用存储器位于所述接收机的解调器中。
34. —种用于接收多个并发的流突发的手持接收机,包括 用于确定帧大小是否小于可用存储器的大小的模块;用于确定第一分组的优先级是否低于第二分组的优先级的模块,其中,所述帧大小是 所述第二分组的帧的大小;用于如果所述第一分组的优先级低于所述第二分组的优先级,则请求中止处理所述第 一分组,并请求从所述第一分组解除对所述可用存储器的分配的模块;用于如果所述第一分组的优先级不低于所述第二分组的优先级,则等待所述可用存储 器的大小变得等于或者大于所述帧大小的模块;以及用于将所述可用存储器分配给所述第二分组的帧的模块。
35. 根据权利要求34所述的手持接收机,其中,所述帧是多协议封装-前向纠错 (MPE-FEC)帧。
36. 根据权利要求34所述的手持接收机,还包括确定是否到了唤醒所述手持接收机 以接收所述第三分组的时间。
37. 根据权利要求36所述的手持接收机,还包括用于确定所述可用存储器是否能够 容纳所述第三分组的模块。
38. 根据权利要求37所述的手持接收机,还包括用于将所述可用存储器分配给所述 第三分组的模块。
39. 根据权利要求37所述的手持接收机,还包括用于确定所述第三分组的优先级是 否大于所述第二分组的优先级的模块。
40. 根据权利要求39所述的手持接收机,还包括用于如果所述第三分组的优先级大 于所述第二分组的优先级,则从所述第二分组解除对所述可用存储器的分配的模块;以及 用于如果所述第三分组的优先级大于所述第二分组的优先级,则将所述可用存储器分配给 所述第三分组的模块。
41. 根据权利要求39所述的手持接收机,还包括用于如果所述第三分组的优先级不 大于所述第二分组的优先级,则将所述第三分组的时隙状态改变为deltaT_未知的模块。
42. 根据权利要求36所述的手持接收机,还包括用于确定所述第二分组的帧的组合 是否完整的模块。
43. 根据权利要求42所述的手持接收机,还包括用于如果所述组合完整,则从所述第 二分组解除对所述可用存储器的分配的模块;用于如果所述组合完整,则将所述第二分组 的时隙状态设置为delta乙未知的模块;以及用于转换到PID监控状态的模块。
44. 根据权利要求42所述的手持接收机,还包括用于如果所述组合不完整,则确定与 所述第二分组相关联的定时器是否已经过期的模块。
45. 根据权利要求44所述的手持接收机,还包括用于如果所述定时器过期,则删除所 述第二分组的模块;用于如果所述定时器过期,则发送失败消息以指示接收所述第二分组 失败的模块;以及用于转换到PID监控状态的模块。
46. —种包含计算机可读介质的计算机程序产品,所述计算机可读介质包含存储在其上的程序代码,所述程序代码包括用于确定帧大小是否小于可用存储器的大小的程序代码;用于确定第一分组的优先级是否低于第二分组的优先级的程序代码,其中,所述帧大 小是所述第二分组的帧的大小;用于如果所述第一分组的优先级低于所述第二分组的优先级,则请求中止处理所述第 一分组,并请求从所述第一分组解除对所述可用存储器的分配的程序代码;用于如果所述第一分组的优先级不低于所述第二分组的优先级,则等待所述可用存储 器的大小变得等于或者大于所述帧大小的程序代码;以及用于将所述可用存储器分配给所述第二分组的帧的程序代码。
47. 根据权利要求46所述的计算机程序产品,还包括 用于确定是否到了唤醒DVB-H接收机以接收第三分组的时间的程序代码; 用于确定所述可用存储器是否能够容纳所述第三分组的程序代码;以及 用于将所述可用存储器分配给所述第三分组的程序代码。
48. 根据权利要求46所述的计算机程序产品,还包括 用于确定是否到了唤醒DVB-H接收机以接收第三分组的时间的程序代码; 用于确定所述第三分组的优先级是否大于所述第二分组的优先级的程序代码; 用于如果所述第三分组的优先级大于所述第二分组的优先级,则从所述第二分组解除对所述可用存储器的分配、并将所述可用存储器分配给所述第三分组的程序代码;以及用于如果所述第三分组的优先级不大于所述第二分组的优先级,则将所述第三分组的 时隙状态改变为delta乙未知的程序代码。
49. 根据权利要求46所述的计算机程序产品,还包括用于确定是否到了唤醒DVB-H接收机以接收第三分组的时间的程序代码; 用于确定所述第二分组的帧的组合是否完整的程序代码;用于如果所述组合完整,则从所述第二分组解除对所述可用存储器的分配、并将所述 第二分组的时隙状态设置为delta乙未知的程序代码;以及用于如果所述组合不完整,则确定与所述第二分组相关联的定时器是否已经过期、删 除所述第二分组、并发送失败消息以指示接收所述第二分组失败的程序代码。
50. 根据权利要求49所述的计算机程序产品,还包括用于转换到PID监控状态的程 序代码。
51. —种用于接收多个并发的突发流的装置,包括PID管理器,用于执行与分组标识符(PID)相关联的分组的增加或者删除;以及 协议处理器,用于请求所述PID管理器来执行所述分组的增加或者删除,其中,所述分 组作为所述多个并发的突发流的部分被接收。
52. 根据权利要求51所述的装置,其中,所述协议处理器将优先级信息、确定时间、帧 大小中的至少一个与在发送给所述PID管理器的请求消息中的所述分组标识符相关联。
53. 根据权利要求52所述的装置,其中,所述PID管理器将deltaT_未知的时隙状态与 所述请求消息中的所述分组标识符相关联。
54. 根据权利要求51所述的装置,其中,所述PID管理器维护分组标识符列表的PID管理表,其中,所述列表中的每个分组标识符与优先级信息、确定时间、帧大小和时隙状态相关联。
55. 根据权利要求54所述的装置,其中,如果从所述协议处理器接收到用于删除所述 分组标识符中的一个分组标识符的消息,则所述PID管理器从所述列表中删除所述分组标 识符中的所述一个分组标识符。
56. 根据权利要求51所述的装置,其中,所述PID管理器包括PID管理模块(P匪),并 且其中,所述P匪还包括PID监控状态和PID获得状态。
57. 根据权利要求56所述的装置,其中,如果在PID管理表中没有条目,或者如果所述 PID管理表中的所有条目具有deltaT_已知的时隙状态,则所述P匪进入并保持在所述PID 监控状态下,并且其中,所述PID管理表包括分组标识符的列表,其中,所述列表中的每个 分组标识符与优先级信息、确定时间、帧大小和时隙状态相关联。
58. 根据权利要求56所述的装置,其中,如果PID管理表中的至少一个条目具有 deltaT_未知的时隙状态,则所述P匪进入所述PID获得状态,并且其中,所述PID管理表包 括分组标识符的列表,其中,所述列表中的每个分组标识符与优先级信息、确定时间、帧大 小和时隙状态相关联。
59. 根据权利要求57所述的装置,其中,当到了唤醒以接收新分组的时间,所述P匪发 送分配请求以为所述新分组分配内部存储器,其中,所述新分组与所述PID管理表中的所 述分组标识符中的一个相关联。
60. 根据权利要求59所述的装置,其中,在已经接收并处理旧分组之后,所述P匪发送 解除分配请求以从所述旧分组解除对内部存储器的分配,所述旧分组与所述PID管理表中 的所述分组标识符中的一个相关联。
61. 根据权利要求56所述的装置,其中,所述PID管理器维护分组标识符列表的PID管 理表,其中,所述列表中的每个分组标识符与优先级信息、确定时间、帧大小和时隙状态相 关联,并且其中,当所述分组标识符中的至少一个的时隙状态改变为delta乙未知时,所述 P匪从所述PID监控状态转换到所述PID获得状态。
全文摘要
用于接收多个并发的流突发的装置和方法,包括确定帧大小是否小于可用存储器的大小;确定第一分组的优先级是否低于第二分组的优先级,其中,所述帧大小是所述第二分组的帧的大小;如果所述第一分组的优先级低于所述第二分组的优先级,则请求中止处理所述第一分组,并请求从所述第一分组解除对所述可用存储器的分配;如果所述第一分组的优先级不低于所述第二分组的优先级,则等待所述可用存储器的大小变得等于或者大于所述帧大小;以及将所述可用存储器分配给所述第二分组的帧。
文档编号H04H60/27GK101796811SQ200880105834
公开日2010年8月4日 申请日期2008年9月6日 优先权日2007年9月7日
发明者S·维尔列帕利, S·辛加 申请人:高通股份有限公司