一种丢包补偿方法及装置的制作方法

文档序号:2837047阅读:320来源:国知局
专利名称:一种丢包补偿方法及装置的制作方法
技术领域
本发明涉及语音编码技术,尤指一种丢包补偿方法及装置。
背景技术
在现有的语音编码技术中,丢包补偿算法主要根据当前已经播放的一段时间的数据,计算出当前丢失的数据。在现有技术中,主要通过设置两个较大的静态数据缓存来实现。这两个数据缓存分别是历史缓存(history)和基周期缓存(pitchbuf),大小均为390个16bit空间,对应于48.75ms的语音数据。其中,history用于保存当前已经播放的数据,history中的数据需要实时更新。在10ms作为一个数据帧长度的情况下,history中的数据每10ms更新一次。pitchbuf中的数据只是在发生丢包时使用,通过每次在第一次发生丢包时拷贝history中的数据,利用从history中备份的数据对第一次丢包、以及之后的连续丢包进行数据补偿。
假设存在三次连续丢包,则在第一次丢包时,pitchbuf从history中拷贝出第一次丢包之前保存的数据,并根据本次拷贝出的数据对本次、以及之后的第二和第三丢包计算补偿数据。同时,在每次计算得到补偿数据之后,均用计算得到的补偿数据更新history中的数据。由此可见,history则是依靠每次丢包时计算得到的补偿数据,以及在不丢包时当前帧中所包含的数据对自身的数据进行更新,始终保持自身保存的数据是当前以及播放的一段时间内的数据。进而,在每次丢包时,pitchbuf则能够根据history中保存的数据,补偿出当前丢失的数据。
但是,由于每个语音通道都需要占用history和pitchbuf这两个较大的缓存,因此在多通道、高密度的情况下,大量的静态空间被占用,极大的影响了语音处理设备的性能,甚至在语音处理设备性能较低时,不能够进行丢包的数据补偿。

发明内容
有鉴于此,本发明实施例的主要目的在于提供一种丢包补偿方法,应用该方法能够减小丢包补偿过程中占用的静态空间。
另外,本发明实施例的又一主要目的在于提供一种丢包补偿装置,该装置能够在进行丢包补偿的过程,占用较小的静态空间。
为达到上述目的,本发明实施例的技术方案是这样实现的一种丢包补偿方法,该方法包括以下步骤A、判断当前帧是否丢包,如果是,根据当前的连续丢包次数以及数据缓存中的数据,计算得到当前丢包的补偿数据,结束当前处理流程;否则,执行步骤B;B、判断上一帧是否丢包,如果是,则执行步骤C;否则,根据当前帧包含的数据更新数据缓存,结束当前处理流程;C、根据紧邻当前帧的连续丢包次数以及数据缓存中的数据,重新计算各次丢包的补偿数据,并根据各次丢包的补偿数据以及当前帧包含的数据,更新数据缓存。
另外,本发明实施例还提供了一种丢包补偿装置,该装置包括控制单元,补偿单元和数据缓存单元所述控制单元,用于判断当前帧是否丢包,在当前帧丢包时,指示所述补偿单元计算当前丢包的补偿数据;在当前帧没有丢包时,判断前一帧是否丢包;在前一帧没有丢包时,根据当前帧包含的数据更新所述数据缓存单元;在前一帧丢包时,指示所述补偿单元重新计算紧邻当前帧连续丢包中各次丢包的补偿数据,并根据所述补偿单元得到的各次丢包的补偿数据、以及当前帧包含的数据更新所述数据缓存单元;所述补偿单元,用于根据所述控制单元的指示,计算当前丢包的补偿数据;或重新计算紧邻当前帧连续丢包中各次丢包的补偿数据;所述数据缓存单元,用于按照先进先出的原则存储用来计算补偿数据的数据。
本发明所提供的一种丢包补偿方法,在当前帧不丢包时,利用当前帧中所携带的数据更新数据缓存中的数据;而在当前帧丢包时,利用数据缓存计算当前帧的补偿数据,此时并不用计算出来的补偿数据更新数据缓存;而是,在连续丢包结束后,遇到一个好包的帧,再重新计算之前连续丢包中各次丢包的补偿数据,并根据各次丢包的补偿数据以及不丢包帧所携带的数据,更新数据缓存。另外,本发明还提供了一种丢包补偿装置。本发明所提供的方法及装置,仅使用一个与现有技术中静态存储空间大小相同的数据缓存实现了对数据的丢包补偿,因此与现有技术中使用两个静态存储空间相比,减小了在丢包补偿过程占用的静态空间,能够很好的适用于多通道、高密度的应用场合。


下面将通过参照附图详细描述本发明的示例性实施例,使本领域的普通技术人员更清楚本发明的上述及其它特征和优点,附图中图1为本发明方法的示例性流程图;图2为本发明装置的示例性结构图;图3为本发明较佳实施例方法的流程图;图4为本发明较佳实施例装置的结构图;图5-A为现有技术中丢包补偿技术方案的效果图;图5-B为本发明较佳实施例的丢包补偿技术方案的效果图。
具体实施例方式
为使本发明实施例的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步的详细说明。
在本发明实施例中,为了减少丢包补偿方法中所使用的静态存储空间,去掉history或pitchbuf中的一个静态存储空间,或将这两个静态存储空间均去掉,另开辟一个静态存储空间,存储用来计算丢包补偿数据的数据。这里另开辟的一个静态存储空间的大小与history或pitchbuf的大小相同。在本发明中,将保留的、或另开辟的静态存储空间统称为数据缓存单元。
由于仅存在一个静态存储空间,因此为了与现有的丢包补偿算法相一致,该数据缓存单元中的数据,即要与当前播放的数据保持一致,也要使该数据缓存单元中保存的数据能够用来计算补偿数据。
图1为本发明方法的示例性流程图。参见图1,详细描述如下在步骤101中,判断当前帧是否丢包,如果是,执行步骤105;否则,执行步骤102。
在步骤102中,判断上一帧是否丢包,如果是,执行步骤103;否则,执行步骤106。
在步骤103~104中,根据紧邻当前帧的连续丢包次数以及数据缓存中的数据,重新计算各次丢包的补偿数据;并根据各次丢包的补偿数据以及当前帧包含的数据,更新数据缓存。结束当前处理流程。这里,数据缓存就是指的数据缓存单元。
在步骤105中,根据当前的连续丢包次数以及数据缓存中的数据,计算得到当前丢包的补偿数据。结束当前处理流程。
在步骤106中,根据当前帧包含的数据更新数据缓存。结束当前处理流程。
根据对图1流程的描述可知在本发明的技术方案中,在当前帧没有丢包时,数据缓存中的数据根据当前帧包含的数据进行实时更新;在当前帧为第一次连续丢包时,则能够根据数据缓存中保存的当前已经播放的数据计算得到补偿数据;在当前帧为非第一次连续丢包时,则根据第一次连续丢包时,数据缓存中的数据计算得到当前次的补偿数据;同时,在丢包之后遇到一个好包时,则再重新计算连续丢包中各次丢包的补偿数据,根据计算得到的各次丢包的补偿数据、以及当前丢包时所携带的数据,更新数据缓存。这样就实现了在丢包时,能够根据第一次连续丢包之前已经播放的数据计算当前丢包数据,也能够在连续丢包结束之后及时根据当前已经播放的数据更新数据缓存,以备下一次丢包时使用。在本发明中,只丢包一次的情况看作是连续丢包中的特例。
图2为本发明装置的示例性结构图。参见图2,该装置包括控制单元21、补偿单元22和数据缓存单元23。其中,控制单元21,用于判断当前帧是否丢包,在当前帧丢包时,指示补偿单元22计算当前丢包的补偿数据;在当前帧没有丢包时,判断前一帧是否丢包;在前一帧没有丢包时,根据当前帧包含的数据更新数据缓存单元23;在前一帧丢包时,指示补偿单元22重新计算紧邻当前帧连续丢包中各次丢包的补偿数据,并根据补偿单元22得到的各次丢包的补偿数据、以及当前帧包含的数据更新数据缓存单元23。补偿单元22,用于根据控制单元21的指示,计算当前丢包的补偿数据;或重新计算紧邻当前帧连续丢包中各次丢包的补偿数据。数据缓存单元23,用于按照先进先出的原则存储用来计算补偿数据的数据。
参见图3,图3为本发明较佳实施例方法的流程图,具体步骤如下在步骤301中,判断当前帧是否丢包,如果是,则执行步骤302;否则,执行步骤314。
在步骤302中,判断是否为第一次丢包,如果是,则执行步骤303;否则执行步骤306。
这里,判断当前是否为第一次丢包的具体方法就是判断当前帧的前一帧是否丢包,如果是,则当前帧不为第一次丢包;否则,当前帧为第一次丢包。
在步骤303中,当为第一次丢包时,则根据数据缓存中的数据计算得到基周期。
在步骤304中,对数据缓存中最后1/4基周期的数据进行平滑处理。
这里,具体进行平滑处理的方法是取出数据缓存中最1/4基周期的数据;将该最后1/4基周期的数据与在其前一基周期的最后1/4基周期数据进行叠加,将叠加得到的数据,更新数据缓存中最后1/4基周期的数据。
叠加的计算原理可以是将两段数据加权后相加,即C=W1*A+W2*B。比如需要叠加30个数,则W1={1/30、2/30、3/30,...,29/30,1},W2={1、29/30,...,1\30}。叠加的作用就是使C具有A和B两者的特征。
在步骤305中,利用数据缓存中更新后的数据,即数据缓存中平滑处理后的数据,以及步骤303中计算得到的基周期计算得到当前丢包的补偿数据。结束当前处理流程。
在步骤306中,判断是否为第二或三次连续丢包,如果是,则执行步骤307;否则,执行步骤310。
这里,判断当前是否为第二次连续丢包,也就是判断当前帧的前一帧是否丢包,当丢包时,则当前帧为第二次连续丢包;判断当前是否为第三次连续丢包,就是判断当前帧的前一帧和前两帧是否均丢包,如果均丢包时,则当前帧为第三次连续丢包。
在步骤307中,根据步骤304中平滑处理得到的数据缓存中的数据计算得到补偿数据。
在计算第二、或第三次连续丢包的补偿数据时,需要在上一次丢包的基础上,根据基周期以及步骤304中得到的数据缓存中的数据计算得到。这是由根据基周期计算补偿数据的性质所确定的。
在步骤308中,对步骤307中计算得到的补偿数据的前1/4基周期的数据进行平滑处理。
这里,具体平滑处理方式为取出第一次连续丢包之前,数据缓存中最后1/4基周期的数据、将其与数据缓存中在其前两基周期的最后1/4基周期数据叠加,将叠加后得到的数据对计算得到的补偿数据的前1/4基周期数据叠加。
在步骤309中,衰减平滑后的补偿数据。结束当前处理流程。
这里,由于补偿的语音数据为非真实语音,减小其能量可以减小对真实语音的影响,因此对平滑后的补偿数据进行衰减能够得到更好的语音效果。
在步骤310中,判断是否为第四、五或六次连续丢包,如果是,则执行步骤311;否则,执行步骤313。
在步骤311中,根据步骤304中平滑处理得到的数据缓存中的数据计算得到补偿数据。
与步骤307中的原因相同,在计算第四、五或六次连续丢包的补偿数据时,需要在上一次丢包的基础上,根据基周期以及步骤304中得到的数据缓存中的数据计算得到。
在步骤312中,衰减计算得到的补偿数据。结束当前处理流程。
在步骤313中,在当前丢包为大于第六次的连续丢包时,相应的补偿数据为零。结束当前处理流程。
在步骤314中,判断上一帧是否丢包,如果是,则执行步骤315;否则,执行步骤317。
在步骤315中,根据紧邻当前帧的连续丢包次数以及数据缓存中的数据,重新计算各次丢包的补偿数据。
重新计算各次丢包的补偿数据是从第一次丢包开始,依次计算各次丢包的补偿数据。并且,这里计算各次丢包补偿数据的方法,与发生该次丢包时计算补偿数据的方法相同。也就是,在只发生了一次丢包时,计算相应补偿数据的方法就是步骤304~305,此时由于数据缓存中保存的数据还没有发生改变,因此基周期不需要再重新计算;当发生第二或三连续丢包时,按照步骤307~309所示的步骤计算补偿数据;当发生第四、五或六次连续丢包时,按照步骤311~312所示的步骤计算补偿数据;当发生大于第六次连续丢包时,补偿数据为零。
在本发明的技术方案中,虽然重新计算了各次丢包的补偿数据,但由于基周期的计算是整个补偿数据计算过程中,计算比重比较大的部分,而本发明在重新计算各次丢包的补偿数据时,不需要进行基周期的计算,因此在很大程度上避免了计算复杂度的上升。
这里,所指的紧邻当前帧的连续丢包次数是指在紧邻当前帧之前,总共发生丢包的次数。例如,如下表所示

表一在表一中,列举了10个帧的情况。对于帧3,帧3的连续丢包次数为1;对于帧6,帧6的连续丢包次数为2;对于帧10,帧10的连续丢包次数为3。
在步骤316中,根据各次丢包的补偿数据以及当前帧包含的数据更新数据缓存。结束当前处理流程。
具体的方式为将各次丢包的补偿数据以及当前帧包含的数据更新按照先进先出原则,依次存储到数据缓存中。例如,当存在三次连续丢包时,则首先将第一次丢包的补偿数据更新至数据缓存,然后依次为第二次、第三次连续丢包的补偿数据,最后是当前帧所包含的数据。由于数据缓存是有一定的大小,因此当新的数据被存入,按照先进先出的原则,原来较早的数据将被删除。
在步骤317中,根据当前帧包含的数据更新数据缓存。
至此,本发明较佳实施例方法的流程结束。
在得到当前帧的补偿数据之后,或在当前帧没有丢包时,都需要将当前丢包的补偿数据或当前帧包含的数据输出,即播放这些数据。当输出这些数据,可以采用延时输出方式。具体的方法为在输出数据之前,保存尾部的一定时间的数据,将上次输出数据时保留的相同时间长度的数据加入当前输出数据的头部输出。
在本发明中,确定当前连续丢包的次数,也可以不采用本较佳实施例中依次判断的方法,而是采用记录的方法。即当前帧为第一次丢包时,记录本次丢包;在下一帧丢包时,则记录第二次连续丢包;如果下一帧不丢包则重新开始记录;以下的依次类推。当丢包时,需要根据当前的记录就可以确定连续丢包次数。
另外,在本较佳实施例中的步骤304、308、309、312的技术特征,均是为了使计算出来的补偿数据达到一个较好的补偿效果。在实际应用的过程中,可以根据实际情况对这些步骤进行取舍。
图4为本发明较佳实施例装置的结构图。如图4所示该装置包括该装置包括控制单元41、补偿单元42和数据缓存单元43。其中,控制单元41,用于判断当前帧是否丢包,在当前帧丢包时,指示补偿单元42计算当前丢包的补偿数据;在当前帧没有丢包时,判断前一帧是否丢包;在前一帧没有丢包时,根据当前帧包含的数据更新数据缓存单元43;在前一帧丢包时,指示补偿单元42重新计算紧邻当前帧连续丢包中各次丢包的补偿数据,并根据补偿单元42得到的各次丢包的补偿数据、以及当前帧包含的数据更新数据缓存单元43。补偿单元42,用于根据控制单元41的指示,计算当前丢包的补偿数据;或重新计算紧邻当前帧连续丢包中各次丢包的补偿数据。数据缓存单元43,用于按照先进先出的原则存储用来计算补偿数据的数据。
其中,补偿单元42包括补偿控制单元421、基周期搜索单元422和补偿计算单元423。补偿控制单元421,用于确定当前连续丢包次数,在第一次丢包时,指示基周期搜索单元422计算基周期;并根据当前连续丢包次数,指示补偿计算单元423根据基周期以及数据缓存单元43中的数据计算得到当前的补偿数据。基周期搜索单元422,用于根据数据缓存单元43中的数据计算得到基周期,并将其通知补偿计算单元423。补偿计算单元423,用于根据当前连续丢包次数、以及基周期和数据缓存单元43中的数据,计算当前丢包的补偿数据。
另外,为了达到更好的补偿消息,在补偿单元42中进一步包括第一次丢包平滑单元424。第一次丢包平滑单元424,用于对数据缓存单元43中最后1/4基周期的数据进行平滑处理。相应的,补偿计算单元423根据第一次丢包平滑单元424处理后的,数据缓存单元43中的数据计算所述补偿数据。补偿单元42还可以进一步包括第二、三次丢包平滑单元425。此时,补偿计算单元423在计算得到第二或第三次丢包的补偿数据时,将其发送至第二、三次丢包平滑单元425。第二、三次丢包平滑单元425,用于对所述补偿数据的前1/4基周期数据进行平滑处理。
同样,补偿单元42还可以进一步包括衰减处理单元426。此时,第二、三次丢包平滑单元425,将自身平滑处理后的补偿数据发送至衰减处理单元426。补偿计算单元,在计算得到第四、第五或第六次丢包的补偿数据时,将其发送至衰减处理单元426。衰减处理单元426,用于衰减收到的补偿数据。
另外,在本较佳实施例所提的装置中,还可以进一步包括输出延时单元44。此时,补偿单元42,将计算得到的补偿数据发送给输出延时单元44。控制单元41,同样将当前帧包含的数据发送给输出延时单元44。输出延时单元44,则用于延时输出收到的数据。
图5中所示的图5-A和图5-B分别为使用现有技术丢包补偿技术方案和本发明丢包补偿技术方案的效果对照图。在图5中,所示的好帧为没有发生丢包的帧,坏帧为发生了丢包的帧。其中所示的输出数据是针对每次收帧时,需要播出的数据。对输出数据进行0至5的标识是为了区别针对不同帧的输出数据。
图5-A是现有技术中丢包补偿技术方案的效果图。由图5-A可知,无论是收到好帧、还是坏帧,history都需要实时更新,而pitchbuf在第一次丢包时需要更新,之后只是用来计算,并不和丢包补偿产生的输出数据相联系。
图5-B是本发明提供的丢包补偿技术方案的效果图。由图5-B可知,由于仅保留了一个静态存储空间,因此在收到好帧时,需要实时更新数据缓存单元,在收到坏帧时,只需根据第一次丢包之前数据缓存中的数据计算补偿数据,输出即可。并且在连续丢包之后,收到第一个好帧时,需要重新计算连续丢包中各次的丢包次数,并根据各次丢包的补偿数据以及当前好帧包含的数据,更新数据缓存单元即可,完成数据缓存单元的更新。如图5-B所示,根据输出数据2、3和4更新数据缓存单元。这样的处理结果与丢包实时更新的结果是一样。通过这种方式,保证优化算法和原始算法结果是一致的,但是静态空间的需求却减小了360*16bit。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种丢包补偿方法,其特征在于,该方法包括以下步骤A、判断当前帧是否丢包,如果是,根据当前的连续丢包次数以及数据缓存中的数据,计算得到当前丢包的补偿数据,结束当前处理流程;否则,执行步骤B;B、判断上一帧是否丢包,如果是,则执行步骤C;否则,根据当前帧包含的数据更新数据缓存,结束当前处理流程;C、根据紧邻当前帧的连续丢包次数以及数据缓存中的数据,重新计算各次丢包的补偿数据,并根据各次丢包的补偿数据以及当前帧包含的数据,更新数据缓存。
2.根据权利要求1所述的方法,其特征在于,步骤A中,所述计算补偿数据的步骤为确定当前连续丢包次数;当为第一次连续丢包时,根据数据缓存中的数据计算得到基周期,根据所述基周期以及数据缓存中的数据计算得到当前的补偿数据;当存在连续丢包,则计算非第一次连续丢包的补偿数据为在前一次丢包的基础上,根据基周期以及数据缓存中的数据计算得到本次丢包的补偿数据。
3.根据权利要求2所述的方法,其特征在于,当所述连续丢包次数为第一次时,所述根据数据缓存中的数据计算得到基周期之后还包括对数据缓存中最后1/4基周期的数据进行平滑处理;所述根据基周期以及数据缓存中的数据计算得到当前的补偿数据具体为根据所述基周期以及平滑处理后的数据缓存中的数据,计算得到针对当前丢包的补偿数据。;当存在连续丢包时,所述计算非第一次丢包的补偿数据具体为根据基周期以及当前连续丢包中第一次丢包时平滑处理后的数据缓存中的数据,计算得到对应的补偿数据。
4.根据权利要求3所述的方法,其特征在于,在第一次丢包时,所述对数据缓存中最后1/4基周期的数据进行平滑处理包括取出数据缓存中最后1/4基周期的数据;将所述最后1/4基周期的数据与在其前一基周期的最后1/4基周期数据进行叠加,将得到的数据更新所述数据缓存中最后1/4基周期的数据。
5.根据权利要求3所述的方法,其特征在于,当为第二、或第三次连续丢包时,所述计算得到补偿数据的步骤进一步包括对当前丢包计算得到补偿数据的前1/4基周期数据进行平滑处理,并对所述平滑处理后的数据进行衰减,得到针对当前丢包最终的补偿数据。
6.根据权利要求5所述的方法,其特征在于,当第二或三次丢包时,所述对补偿数据的前1/4基周期数据进行平滑处理包括取出第一次丢包之前所述数据缓存中最后1/4基周期的数据、将其与数据缓存中在其前两基周期的最后1/4基周期数据叠加,将该叠加得到的数据对计算得到的补偿数据的前1/4基周期数据进行叠加。
7.根据权利要求3所述的方法,其特征在于,当所述连续丢包次数为第四、第五或第六次时,所述计算得到补偿数据的步骤进一步包括对所述计算得到的补偿数据进行衰减得到最终针对当前丢包的补偿数据。
8.根据权利要求3所述的方法,其特征在于,当所述连续丢包次数大于六次时,所述计算得到补偿数据的步骤为将当前丢包的补偿数据置0。
9.根据权利要求1至8中任一权利要求所述的方法,其特征在于,步骤C中,所述重新计算各次丢包后的补偿数据的步骤为从所述第一次丢包开始,依次计算各次丢包的补偿数据。
10.根据权利要求9所述的方法,其特征在于,步骤C中,所述根据各次丢包后的补偿数据以及当前帧包含的数据,更新数据缓存的步骤为数据缓存按照先进先出原则,依次存储针对丢包的补偿数据和当前帧包含的数据。
11.根据权利要求10所述的方法,其特征在于,该方法进一步包括延时输出当前丢包的补偿数据或当前帧包含的数据。
12.一种丢包补偿装置,其特征在于,该装置包括控制单元,补偿单元和数据缓存单元所述控制单元,用于判断当前帧是否丢包,在当前帧丢包时,指示所述补偿单元计算当前丢包的补偿数据;在当前帧没有丢包时,判断前一帧是否丢包;在前一帧没有丢包时,根据当前帧包含的数据更新所述数据缓存单元;在前一帧丢包时,指示所述补偿单元重新计算紧邻当前帧连续丢包中各次丢包的补偿数据,并根据所述补偿单元得到的各次丢包的补偿数据、以及当前帧包含的数据更新所述数据缓存单元;所述补偿单元,用于根据所述控制单元的指示,计算当前丢包的补偿数据;或重新计算紧邻当前帧连续丢包中各次丢包的补偿数据;所述数据缓存单元,用于存储用来计算补偿数据的数据。
13.根据权利要求12所述的装置,其特征在于,所述补偿单元包括补偿控制单元,基周期搜索单元以及补偿计算单元所述补偿控制单元,用于确定当前连续丢包次数,在第一次丢包时,指示所述基周期搜索单元计算基周期;并根据当前连续丢包次数,指示所述补偿计算单元根据基周期以及数据缓存中的数据计算得到当前的补偿数据;基周期搜索单元,用于根据数据缓存单元中的数据计算得到基周期,并将其通知补偿计算单元;补偿计算单元,用于根据当前连续丢包次数、以及基周期和数据缓存单元中的数据,计算当前丢包的补偿数据。
14.根据权利要求13所述的装置,其特征在于,所述补偿单元进一步包括第一次丢包平滑单元,用于对数据缓存单元中最后1/4基周期的数据进行平滑处理;所述补偿计算单元,根据第一次丢包平滑单元处理后的数据缓存单元中的数据计算所述补偿数据。
15.根据权利要求14所述的装置,其特征在于,所述补偿单元进一步包括第二、三次丢包平滑单元,用于对所述补偿计算单元计算得到的第二或第三次丢包的补偿数据的前1/4基周期数据进行平滑处理。
16.根据权利要求15所述的装置,其特征在于,所述补偿单元进一步包括衰减处理单元,用于衰减所述第二、三次丢包平滑单元处理后的补偿数据以及所述补偿计算单元计算得到的第四、第五或第六次丢包的补偿数据。
17.根据权利要求12至16中任一权利要求所述的装置,其特征在于,该装置进一步包括输出延时单元,用于延时输出所述补偿单元计算得到的补偿数据以及当前帧包含的数据。
全文摘要
本发明公开了一种丢包补偿方法,该方法包括以下步骤A、判断当前帧是否丢包,如果是,根据当前的连续丢包次数以及数据缓存中的数据,计算得到当前丢包的补偿数据,结束当前处理流程;否则,执行步骤B;B、判断上一帧是否丢包,如果是,则执行步骤C;否则,根据当前帧包含的数据更新数据缓存,结束当前处理流程;C、根据紧邻当前帧的连续丢包次数以及数据缓存中的数据,重新计算各次丢包的补偿数据,并根据各次丢包的补偿数据以及当前帧包含的数据,更新数据缓存。另外,本发明还公开了一种丢包补偿装置。应用本发明所提供的方法及装置能够减小在丢包补偿过程占用的静态空间。
文档编号G10L19/00GK101030951SQ20071000757
公开日2007年9月5日 申请日期2007年2月8日 优先权日2007年2月8日
发明者邱超, 莫运能 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1