CN1214581C - 一种实现缓存去抖的大容量实时流处理方法 - Google Patents
一种实现缓存去抖的大容量实时流处理方法 Download PDFInfo
- Publication number
- CN1214581C CN1214581C CNB021195846A CN02119584A CN1214581C CN 1214581 C CN1214581 C CN 1214581C CN B021195846 A CNB021195846 A CN B021195846A CN 02119584 A CN02119584 A CN 02119584A CN 1214581 C CN1214581 C CN 1214581C
- Authority
- CN
- China
- Prior art keywords
- voice packet
- real
- passage
- read
- voice
- 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 - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种实现缓存去抖的大容量实时流处理方法,属于在分组网上传输实时流技术领域。首先接收实时流数据包后向队列调度发出写请求,以固定的时间间隔向发出读包请求,读写仲裁对读、写请求信号进行仲裁,并且启动读、写流程;读流程读取通道信息,从共享缓存中读取包数据,存入输出缓存;写流程读取通道信息,把包数据写入到共享缓存中。本发明方法中,省去了缓存去抖链表,避免了由于多个通道同时提出读语音包请求而引入的附加抖动;对通道位置和存储空间采用位置固定、容量平均的分配方式,因而处理性能稳定,而且各处理过程并行进行,大大增加了处理的缓存去抖通道数因而单通道成本低。
Description
技术领域
本发明涉及一种实现缓存去抖的大容量实时流处理方法,属于在分组网(包括IP网和以太网)上传输实时流技术领域。
背景技术
在IP网络上传输实时流时,由于网络延时的不确定性,会引入实时流的时间抖动和乱序。为了保证实时流的质量,需要在实时流的接收端缓存一定数量的包,然后按照固定的时间间隔发送各个包,以附加延时为代价来消除时间抖动和乱序,这种方法称为“缓存去抖”。实现缓存去抖的关键技术是队列调度。
已有技术中,一般采用基于软件实现的链表方法来进行缓存去抖。图1是其实现框图。每个实时流通道维护一个缓存去抖链表,链表节点的内容为各个实时流数据包的时间、缓存地址等信息。实时流数据包的处理流程如下:
1、当输入接收到一个实时流数据包时,向共享缓存管理申请实时流数据包数据缓存。
2、共享缓存管理为该实时流数据包分配存储空间,返回指向该存储空间的缓存地址。
3、输入得到存储空间的缓存地址后,把实时流数据包写入到共享缓存中去,然后把该实时流数据包的时间、缓存地址等信息传递给实时流数据包队列调度。
4、队列调度首先生成一个新的实时流数据包节点,然后按照实时流数据包的发送时间顺序把该节点插入到缓存去抖链表的合适位置。
5、实时流数据包队列调度维护每个通道的实时流数据包发送时间,当某一个通道的发送时间到来时,队列调度从该通道的缓存去抖链表中查找发送的实时流数据包。如果查询到了符合发送条件的实时流数据包,则输出从共享缓存中读取实时流数据包并且发送出去。
6、队列调度删除该节点,共享缓存管理回收该实时流数据包的存储空间。
上述方法的缺点是:
(1)链表的维护比较复杂。通常是在链表的末尾插入实时流数据包的,此时需要遍历整个链表才能找到实时流数据包的插入位置。如果是乱序的实时流数据包,则需要比较链表中前后两个实时流数据包和待插入实时流数据包的序列号,才能找到该实时流数据包的插入位置。无论是哪种情况,链表操作都比较复杂。由于链表的节点个数和实时流数据包发送时间的不确定性,实时流数据包插入操作所花费的时间也具有很大的不确定性。
(2)每个通道的实时流数据包发送时间是彼此独立的,当有多个通道同时发出发送请求时,难以保证每个实时流数据包都能够得到及时的响应,最后发送的通道会引入比较大的延时。如果某一个通道的相邻两个实时流数据包发送请求的响应时间不相等,就会引入附加的“抖动”,抖动的大小取决于同时提出发送请求的通道个数和队列调度的处理过程。队列调度的处理过程和处理时间都带有很大的不确定性。
因此上述方法处理过程复杂,又有很大的不确定性,单个处理器所能够处理的通道数都不大,一般在几百~一千个通道之间,使单通道成本比较高。
发明内容
本发明的目的是针对已有技术存在的缺点,提出一种实现缓存去抖的大容量实时流处理方法,在处理过程中去除已有技术中的缓存去抖链表,使通道信息和实时流数据包数据存储空间被所有通道平均分配,并简化实时流数据包的写入过程,统一维护所有通道的语音包发送时间,以加快处理速度、扩充通道容量、降低单通道成本、提高系统性能。
本发明提出的实现缓存去抖的大容量实时流处理方法,包括如下各步骤:
(1)、接收实时流数据包后,把实时流数据包存入输入缓存;
(2)、若输入缓存中已有完整的实时流数据包,则向队列调度中的读写仲裁发出写实时流数据包的请求,并给出请求的写实时流数据包的通道号;
(3)、队列调度中的发送时间维护流程统一维护所有通道中实时流数据包的发送时间,并以固定的时间间隔向读写仲裁发出读实时流数据包的请求,同时给出请求的读实时流数据包的通道号和实时流数据包在共享缓存中的存储地址;
(4)、读写仲裁对读请求信号与写请求信号进行仲裁,并启动写实时流数据包流程,或者启动读实时流数据包流程;
(5)、写实时流数据包流程读取请求的写实时流数据包所属的通道信息,计算并给出写实时流数据包在共享缓存中的存储地址,并把该实时流数据包数据从输入缓存写入到共享缓存中;
(6)、读实时流数据包流程读取请求的读实时流数据包所属的通道信息,给出该读实时流数据包在共享缓存中的存储地址,然后从共享缓存中读取实时流数据包数据,存入输出缓存;
(7)、检查输出缓存,若发现有完整的实时流数据包,则输出实时流数据包。
本发明提出的一种实现缓存去抖的大容量实时流处理方法,具有以下优点:
1、本方法中,省去了已有技术中的缓存去抖链表,由发送时间维护流程统一维护所有实时流数据包的发送时间,而且每个通道中相邻两个实时流数据包的发送时间间隔固定,每次只有一个通道的一个包提出请求,因而避免了已有技术中由于多个通道同时提出读语音包请求而引入的附加抖动。
2、本发明对通道位置和存储空间采用位置固定、容量平均的分配方式,因而不同长度、不同去抖缓存深度的实时流数据包,其处理时间基本上没有太大的差异,使处理性能稳定。
3、通道位置和存储空间的位置固定、容量平均的分配方式以及各个处理过程的并行进行,使本方法能够处理的缓存去抖通道数大于其它任何已有方法,因而单通道成本低。而且只要提高硬件处理频率,增加存储器的容量,本发明设计的方法可以很容易地实现更大通道数的缓存去抖。
4、本发明方法的移植性较好,易于实现其它发送间隔的缓存去抖,如5毫秒间隔、10毫秒间隔、30毫秒间隔、40毫秒间隔等。
附图说明
图1是已有技术中基于链表实现缓存去抖的实时流处理框图。
图2是本发明方法的缓存去抖队列调度流程框图。
图3是实时流数据包发送顺序图。
图4是本发明方法中读写仲裁流程图。
图5是本发明方法中读实时流数据包流程图。
图6是本发明方法中写实时流数据包流程图。
图7是连续丢包标志示意图。
图8是连续多次读写操作的示意图。
具体实施方式
本发明方法的流程框图如图2所示,首先接收实时流数据包,并把实时流数据包存入输入缓存;同时若输入缓存中已有完整的实时流数据包,则向队列调度中的读写仲裁发出写实时流数据包的请求,并给出请求的写实时流数据包的通道号;队列调度中的发送时间维护流程统一维护所有通道中实时流数据包的发送时间,并以固定的时间间隔向读写仲裁发出读实时流数据包的请求,同时给出请求的读实时流数据包的通道号和实时流数据包在共享缓存中的存储地址;读写仲裁对读请求信号与写请求信号进行仲裁,并启动写实时流数据包流程,或者启动读实时流数据包流程;写实时流数据包流程读取请求的写实时流数据包所属的通道信息,计算并给出写实时流数据包在共享缓存中的存储地址,并把该实时流数据包数据从输入缓存写入到共享缓存中;读实时流数据包流程读取请求的读实时流数据包所属的通道信息,给出该读实时流数据包在共享缓存中的地址,然后从共享缓存中读取实时流数据包数据,存入输出缓存;检查输出缓存,若发现有完整的实时流数据包,则输出实时流数据包。
下面以实时流中的实时语音流为例,详细介绍本发明的内容。
本发明方法的一个实施例中,采用8M×64位的同步动态随机存取存储器(以下简称SDRAM)作为语音包的共享缓存。SDRAM容量被32K个通道平均分为32K“行”,第0行SDRAM分配给通道0,第1行SDRAM分配给通道1,第2行SDRAM分配给通道2依此类推,第32K-1行SDRAM分配给通道32K-1。每一行SDRAM的容量为8M×64位/32K=256×64位。SDRAM的地址分配如下:
地址范围(23位十六进制地址) | 功能分配 |
000000~0000FF | 存储通道0的语音包 |
000100~0001FF | 存储通道1的语音包 |
000200~0002FF | 存储通道2的语音包 |
000300~0003FF | 存储通道3的语音包 |
…… | …… |
7FFE00~7FFEFF | 存储通道32K-2的语音包 |
7FFF00~7FFFFF | 存储通道32K-1的语音包 |
语音包的最大长度不大于128字节,为了维护语音包数据的方便,给每一个语音包固定分配128字节的存储空间,这样每个通道最多可以同时存储256×64bit/(128×8bit)=16个语音包。
本发明方法中,采用256K×32位的同步静态随机存取存储器(以下简称SSRAM)存储通道信息。SSRAM容量被32K个通道平均分为32K“行”,第0行SSRAM分配给通道0,第1行SSRAM分配给通道1,第2行SSRAM分配给通道2依此类推,第32K-1行SSRAM分配给通道32K-1。每一行SSRAM的容量为256K×32位/32K=8×32位。SSRAM中通道信息的地址分配表如下表所示:
地址范围(18位十六进制地址) | 功能分配 |
00000~00007 | 存储通道0的通道信息 |
00008~0000F | 存储通道1的通道信息 |
00010~00017 | 存储通道2的通道信息 |
00018~0001F | 存储通道3的通道信息 |
…… | …… |
3FFF0~3FFF7 | 存储通道32K-2的通道信息 |
3FFF8~3FFFF | 存储通道32K-1的通道信息 |
通道信息每一行的数据格式如下表:
控制字段 | |||
时间戳 | |||
语音包3长度 | 语音包2长度 | 语音包1长度 | 语音包0长度 |
语音包7长度 | 语音包6长度 | 语音包5长度 | 语音包4长度 |
语音包11长度 | 语音包10长度 | 语音包9长度 | 语音包8长度 |
语音包15长度 | 语音包14长度 | 语音包13长度 | 语音包12长度 |
上表中的时间戳存储上一个语音包的时间戳,为32位宽度,时间精度是1/8毫秒;
上表中的语音包0长度至语音包15长度存储当前通道中16个语音包的长度;
上表中的控制字段存储该语音通道的控制信息,详细说明如下:
位 | 含义 | 取值 |
31~28 | 保留使用 | 0 |
27~24 | 语音通道的连续丢包标志 | 0~15 |
23~20 | 去抖缓存深度 | 0~7 |
19~16 | 前一个语音包的写入位置 | 0~15 |
15~0 | 当前通道16个语音包存储位置的包有效标志 | 0~65535 |
本发明方法中的发送时间维护流程按照通道号由小到大的顺序发送32K个通道的语音包,其工作流程如图3所示:
首先在20毫秒内发送通道0~32K-1的第0个存储位置的语音包,然后在下一个20毫秒内发送通道0~32K-1的第1个存储位置的语音包,再在下一个20毫秒内发送通道0~32K-1的第2个存储位置的语音包,依此类推最后在20毫秒内发送通道0~32K-1的第15个存储位置的语音包,然后从第0个存储位置开始重复发送。这种发送方式可以保证每个通道相邻两个语音包的发送时间间隔为20毫秒,不会引入附加的抖动;并且同一个通道的语音包存储位置隐含了语音包的发送时间,简化了语音包的写入过程。
本发明方法中,读写仲裁的流程如图4所示,当写语音包流程结束后,首先判断是否有读语音包请求,如果有,则进行读语音包操作;如果没有读语音包请求,则进一步判断是否有写语音包请求,如果有则进行写语音包操作。当读语音包流程结束后,首先判断是否有写语音包请求,如果有则进行写语音包操作;如果没有写语音包请求则判断是否有读语音包请求,如果有则进行读语音包操作。
本发明方法中,读语音包流程如图5所示,首先根据发送时间维护流程给定的通道号,利用通道信息的地址分配表计算出通道信息起始地址,从通道信息中读取语音包有效信息,若有效,读取语音包长度信息。然后根据给定的通道和语音包读出位置,以及上述读出的语音包长度信息,从共享缓存中读取给定位置的语音包数据,存入输出缓存中;同时清除通道信息中的上述语音包有效信息。
本发明方法中,写语音包流程如图6所示,首先根据语音包包头信息进行判断,选择重置算法或时间戳算法计算语音包的写入位置;其中,若使用重置算法,则计算语音包写入位置;若使用时间戳算法,则计算语音包写入位置并判断语音包是否丢弃,若丢弃该语音包,则根据连续丢包标志判断是否用重置算法强制写入语音包。如果该语音包没有被丢弃,则根据给定的通道、语音包写入位置、语音包长度,将语音包写入共享缓存中;同时将语音包写入位置、语音包的时间戳、语音包长度、包有效信息、语音包去抖缓存深度等写入通道信息中,其中写入的语音包写入位置即为通道的语音包写入位置,写入的语音包的时间戳即为通道的时间戳;写入的语音包的去抖缓存深度即为通道的去抖缓存深度。
上述写语音包流程中,计算语音包的写入位置的算法有两种,一种是重置算法,另一种是时间戳算法。
同一通道需要承载不同用户的通话,当发生通道用户切换时,由于不同用户语音包的时间戳没有任何关系,因此不能使用上一个用户的时间戳来计算该语音包的写入位置,而需要使用重置算法来计算语音包写入位置,并且要初始化时间戳的数值。另外,如果在用户通话的过程中远端设备重新启动,新的时间戳和原来的时间戳没有任何关系,也必须用重置算法计算语音包的写入位置,并且要初始化时间戳的数值。
重置算法计算的当前语音包写入位置为:当前通道的发送位置与当前写入语音包的去抖缓存深度之和。
其余情况下使用时间戳算法来计算语音包写入位置(除了连续丢包的情况,参见后面的详细描述)。
时间戳算法的计算过程如下:
1)、计算语音包的相对写入位置:将语音包的时间戳减去通道的时间戳,得到了语音包和当前通道的上一个语音包的时间戳差值,该差值除以160(20毫秒,即通道的语音包时间间隔),其结果四舍五入到最近的整数,就得到了语音包的相对写入位置。即相对写入位置=(语音包的时间戳+80-通道的时间戳)/160。如果该语音包是一个语音段的第一个语音包,则相对写入位置还要考虑去抖缓存深度的变化,即相对写入位置=(语音包的时间戳+80-通道的时间戳)/160+(语音包的去抖缓存深度—通道的去抖缓存深度)。
2)、判断该语音包是否丢弃。
若语音包的相对写入位置小于0,说明该语音包是一个乱序包。如果当前通道上一个语音包的写入位置与语音包的相对写入位置之和小于当前通道的发送位置,表明该语音包来得太“晚”了,其发送时间已经过去了,则丢弃现语音包。
若语音包的相对写入位置大于或等于0,如果当前通道的上一个语音包的写入位置与语音包的相对写入位置之和大于当前通道的发送位置与16之和,则表明该语音包来得太“早”了,已经超出了该通道的存储极限,则丢弃该语音包。
3)、计算语音包的写入位置
如果没有丢弃该语音包,则该语音包的写入位置=(当前通道的上一个语音包的写入位置+该语音包的相对写入位置)。
重置算法总能够保证语音包可以写入到SDRAM中,但是时间戳算法则会在一定的条件下丢弃语音包,例如乱序语音包超过了其发送时间、“早到”的语音包超过了存储极限、时间戳差值过大、网络误码等等。有些语音包虽然没有被丢弃,但是会导致后来的语音包都被丢弃,从而导致用户通话中断。
对此本发明提出了在连续丢包情况下能够重新恢复用户通话的机制,其工作原理如下:
语音包通道的连续丢包标志记录了该通道语音包的丢包情况,连续丢包标志的宽度可以是几~几十位,不同的连续丢包标志宽度决定了系统对连续丢包的“容忍程度”。图7为连续丢包标志的示意图。从图7可以看出,每收到一个语音包,连续丢包标志向左移一位,若该语音包被丢弃,则连续丢包标志1填入1,否则连续丢包标志1填入0。如果连续丢包标志的每一位都是1,表明连续n个语音包都被丢弃了,则使用重置算法计算该语音包的写入位置,并且把该语音包存入到SDRAM中。这种强制恢复机制在一定程度上避免了用户通话中断。
在以下三种情况下使用重置算法计算语音包写入位置:1、收到用户切换后的第一个语音包;2、收到远端设备重新启动后的第一个语音包;3、连续若干个语音包都被丢弃。其余的情况都使用时间戳算法计算语音包写入位置。
本发明方法中的读、写语音包流程都涉及SSRAM和SDRAM的操作,并且都是首先开始SSRAM操作、首先结束SSRAM操作,然后等待SDRAM操作结束,最后进行下一次读写仲裁;当连续进行多次读写操作时,SSRAM和SDRAM的操作流程如图8所示。从图8中可以看出,相邻两次读写操作有一定的“时间交错”,最终读写操作的时间取决于SDRAM的访问时间。因此读写仲裁、读语音包流程和写语音包流程的交错设计提高了SDRAM接口控制器的使用效率和读写语音包的速度。
Claims (10)
1、一种实现缓存去抖的大容量实时流处理方法,其特征在于该方法包括如下各步骤:
(1)、输入实时流数据包后,把实时流数据包存入输入缓存;
(2)、若输入缓存中已有完整的实时流数据包,则向队列调度中的读写仲裁发出写实时流数据包的请求,并给出请求的写实时流数据包的通道号;
(3)、队列调度中的发送时间维护流程统一维护所有通道中实时流数据包的发送时间,并以固定的时间间隔向读写仲裁发出读实时流数据包的请求,同时给出请求的读实时流数据包的通道号和实时流数据包在共享缓存中的存储地址;
(4)、读写仲裁对读请求信号与写请求信号进行仲裁,并启动写实时流数据包流程,或者启动读实时流数据包流程;
(5)、写实时流数据包流程读取请求的写实时流数据包所属的通道信息,计算并给出写实时流数据包在共享缓存中的存储地址,并把该实时流数据包数据从输入缓存写入到共享缓存中;
(6)、读实时流数据包流程读取请求的读实时流数据包所属的通道信息,给出该读实时流数据包在共享缓存中的存储地址,然后从共享缓存中读取实时流数据包数据,存入输出缓存;
(7)、检查输出缓存,若发现有完整的实时流数据包,则输出实时流数据包。
2、如权利要求1所述的方法,其特征在于其中所述的实时流为实时语音流。
3、如权利要求2所述的方法,其特征在于其中所述的共享缓存中,存储语音包的容量按32K个通道平均分为32K“行”,其中的第0行分配给通道0,第1行分配给通道1,第2行分配给通道2,依此类推,第32K-1行分配给通道32K-1,每一行的容量为256×64位;通道信息的容量按32K个通道平均分为32K“行”,其中的第0行分配给通道0,第1行分配给通道1,第2行分配给通道2,依此类推,第32K-1行分配给通道32K-1,每一行的容量为8×32位。
4、如权利要求3所述的方法,其特征在于其中所述的发送时间维护流程包括以下各步骤:
(1)在20毫秒内发送0通道至32K-1通道的第0个存储位置的语音包;
(2)在下一个20毫秒内发送0通道至32K-1通道的第1个存储位置的语音包;
(3)在又一个20毫秒内发送0通道至32K-1通道的第2个存储位置的语音包;
(4)依此类推,在最后20毫秒内发送0通道至32K-1通道的第15个存储位置的语音包;
(5)重复进行上述步骤1至4。
5、如权利要求2所述的方法,其特征在于其中所述的读写仲裁流程包括以下步骤:
(1)当写语音包流程结束后,首先判断是否有读语音包请求,如果有则进行读语音包操作;
(2)如果没有读语音包请求,则进一步判断是否有写语音包请求,如果有则进行写语音包操作:
(3)当读语音包流程结束后,首先判断是否有写语音包请求,如果有则进行写语音包操作;
(4)如果没有写语音包请求,则判断是否有读语音包请求,如果有则进行读语音包操作。
6、如权利要求2所述的方法,其特征在于其中所述的读语音包流程包括以下步骤:
(1)首先根据发送时间维护流程给定的通道号,利用通道信息的地址表分配计算出通道信息起始地址,从通道信息中读取语音包有效信息,若有效,读取语音包长度信息;
(2)根据给定的通道和语音包读出位置,以及上述读出的语音包长度信息,从共享缓存中读取给定位置的语音包数据,存入输出缓存中;同时清除通道信息中的上述语音包有效信息。
7、如权利要求2所述的方法,其特征在于其中所述的写语音包流程包括以下步骤:
(1)根据语音包包头信息进行判断,选择重置算法或时间戳算法计算语音包的写入位置;其中,若使用重置算法,则计算语音包写入位置,若使用时间戳算法,则判断语音包是否丢弃,若丢弃该语音包,则根据连续丢包标志判断是否用重置算法强制写入语音包;
(2)根据给定的通道、语音包写入位置、语音包长度,将语音包写入共享缓存中;
(3)将语音包的时间戳、语音包长度、包有效信息、语音包去抖缓存深度写入共享缓存中。
8、如权利要求7所述的方法,其特征在于其中所述的用以计算语音包写入位置的重置算法为,将当前通道的发送位置与当前写入语音包的去抖缓存深度之和作为语音包写入位置。
9、如权利要求7所述的方法,其特征在于其中所述的用以计算语音包写入位置的时间戳算法的计算过程如下:
(1)计算语音包的相对写入位置:
相对写入位置=(语音包的时间戳+80-通道的时间戳)/160,
若该语音包是一个语音段的第一个语音包,则相对写入位置=(语音包的时间戳+80-通道的时间戳)/160+(语音包的去抖缓存深度-通道的去抖缓存深度);
(2)判断该语音包是否丢弃:
若上述语音包的相对写入位置小于0,则进一步判断,若当前通道上一个语音包的写入位置与语音包的相对写入位置之和小于当前通道的发送位置,则丢弃该语音包;
若上述语音包的相对写入位置大于或等于0,则进一步判断,若当前通道的上一个语音包的写入位置与语音包的相对写入位置之和大于当前通道的发送位置与16之和,则丢弃该语音包;
(3)计算语音包的写入位置:
对上述第二步判断后没有丢弃的语音包,则该语音包的写入位置等于当前通道的上一个语音包的写入位置与该语音包的相对写入位置之和。
10、如权利要求7所述的方法,其特征在于其中所述的连续丢包标志判断过程为:连续丢包标志的初始值为0,每收到一个语音包,连续丢包标志向左移一位,若该语音包被丢弃,则连续丢包标志1填入1,否则连续丢包标志1填入0,若连续丢包标志的每一位都是1,表明连续n个语音包都被丢弃,则使用重置算法计算该语音包的写入位置,并且把该语音包存入到共享缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021195846A CN1214581C (zh) | 2002-05-28 | 2002-05-28 | 一种实现缓存去抖的大容量实时流处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021195846A CN1214581C (zh) | 2002-05-28 | 2002-05-28 | 一种实现缓存去抖的大容量实时流处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1463125A CN1463125A (zh) | 2003-12-24 |
CN1214581C true CN1214581C (zh) | 2005-08-10 |
Family
ID=29742463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021195846A Expired - Fee Related CN1214581C (zh) | 2002-05-28 | 2002-05-28 | 一种实现缓存去抖的大容量实时流处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1214581C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100341267C (zh) * | 2004-12-02 | 2007-10-03 | 华为技术有限公司 | 混合打包时长的实时数据流去抖的实现方法 |
CN1960315B (zh) * | 2005-10-31 | 2010-08-25 | 康佳集团股份有限公司 | 流媒体去抖动方法 |
CN101136628B (zh) * | 2007-03-27 | 2011-09-21 | 中兴通讯股份有限公司 | 一种实现数据去抖动的数字电路装置 |
CN101175119B (zh) * | 2007-09-30 | 2010-09-08 | 中兴通讯股份有限公司 | 异常语音数据处理方法和装置 |
CN105306958B (zh) * | 2014-06-30 | 2018-08-17 | 惠州市伟乐科技股份有限公司 | 一种基于ip的传输流码率平滑处理的方法及装置 |
CN105634988B (zh) * | 2015-12-30 | 2019-06-04 | 瑞斯康达科技发展股份有限公司 | 一种抖动缓存处理方法及装置 |
CN105681864B (zh) * | 2015-12-31 | 2020-09-15 | 惠州市伟乐科技股份有限公司 | 一种基于ip的传输流抖动去除方法及装置 |
CN111381973B (zh) * | 2018-12-28 | 2024-03-01 | 中兴通讯股份有限公司 | 一种语音数据处理方法、装置及计算机可读存储介质 |
CN113178202A (zh) * | 2021-04-30 | 2021-07-27 | 海能达通信股份有限公司 | 音频数据的处理方法、装置、设备及可读存储介质 |
CN113612699B (zh) * | 2021-08-02 | 2023-12-08 | 上海航天测控通信研究所 | 一种提高IP over CCSDS传输效率的方法 |
-
2002
- 2002-05-28 CN CNB021195846A patent/CN1214581C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1463125A (zh) | 2003-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10534542B2 (en) | Dynamic core allocation for consistent performance in a non-preemptive scheduling environment | |
US7003597B2 (en) | Dynamic reallocation of data stored in buffers based on packet size | |
CN1214581C (zh) | 一种实现缓存去抖的大容量实时流处理方法 | |
CN102307206B (zh) | 基于云存储的快速访问虚拟机镜像的缓存系统的缓存方法 | |
US5961606A (en) | System and method for remote buffer allocation in exported memory segments and message passing between network nodes | |
CN1802836A (zh) | 网络协议卸载引擎存储器管理 | |
US20040078525A1 (en) | Free memory manager scheme and cache | |
JPH10143461A (ja) | 周辺装置システム | |
WO2017000094A1 (zh) | 一种数据存储方法、装置和系统 | |
CN1679005A (zh) | 动态存储器管理 | |
US7865632B2 (en) | Memory allocation and access method and device using the same | |
CN100338586C (zh) | 分配存储器的方法和设备 | |
CN1272945C (zh) | 分组转发系统及其方法 | |
US5640597A (en) | Method and apparatus for servicing simultaneously a plurality of requests for data streams | |
WO2007097581A1 (en) | Method and system for efficiently managing a dynamic memory in embedded system | |
CN1317747A (zh) | Atapi指令接收方式 | |
CN101043437A (zh) | 一种快速发送操作、管理和维护信元的方法和装置 | |
CN106294191A (zh) | 处理表的方法、访问表的方法和装置 | |
CN1297099C (zh) | 一种减小附加延时的实时流缓存去抖方法 | |
CN1228726C (zh) | 基于多通道存储设备的海量存储系统及其系统控制方法 | |
CN1281037C (zh) | 具有有效分组管理单元的分组转发系统及其操作方法 | |
EP0706130A1 (en) | Contiguous memory allocation process | |
CN109413122B (zh) | 一种数据处理方法、网络处理器及计算机存储介质 | |
US20080270676A1 (en) | Data Processing System and Method for Memory Defragmentation | |
CN100341267C (zh) | 混合打包时长的实时数据流去抖的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050810 Termination date: 20150528 |
|
EXPY | Termination of patent right or utility model |