用于语音编码帧的偏移交织的方法和装置的制作方法

文档序号:7609930阅读:222来源:国知局
专利名称:用于语音编码帧的偏移交织的方法和装置的制作方法
技术领域
本发明涉及在有损通信网络中对媒体帧进行偏移交织(offsetinterleaving)。
背景技术
当多个帧被捆绑在一个单包中时,当前的语音编码帧交织方案改善了在有包丢失的条件下的语音质量;然而,它们通常增加了不希望的语音延迟(latency)。而且,为了在接收到的包中解交织所述帧,这些方案需要跟踪状态信息。
因此,需要有交织方案,其对掉包是鲁棒的,可以最小化增加的语音延迟,并在所述接收到的包中解交织所述帧时不需要跟踪状态信息。

发明内容
所公开的实施例提供了用于对媒体帧进行偏移交织的新颖且改进的方法和装置,以改善媒体质量和传输延迟。在一个方面,一种用于交织用于通过通信网络传输的媒体帧流的方法,所述方法包括定义多个包及在所述多个包中交织媒体帧流的动作。
在另一个方面,一种用于交织用于通过通信网络传输的媒体帧流的装置,所述装置包括执行用于实现上述方法的动作的处理器。


通过以下实施例的详细描述,本发明的特征和优点将会变得更加明显图1例示了根据第一实施例的一种偏移交织方案;图2例示了根据第二实施例的另一种偏移交织方案;和图3例示了用于实现各种所公开的实施例的基础设施的一个实施例。
发明详述在详细解释几个实施例之前,应该理解的是,本发明的范围不应该被局限于在以下描述中阐述的或附图中说明的结构细节及组件配置。而且,应该理解的是,这里所用的用语和术语是用于描述目的,不应该被认为是限制性的。
图1(A)说明了以具有四个帧的束(包)来发送语音编码帧的一个实施例。媒体流102的一部分(例如,数据、视频、语音等)被示为将在两个包104和106中发送。包104包括第一四个相继语音编码帧,并且至少包106包括数据流102中随后的四个相继语音编码帧。根据此实施例,在以四个相继语音编码帧填满包104后,在t4发送包104。同样,根据此实施例,在以随后的四个连续语音编码帧填满包106后,在t8发送包106。在接收机端,在t8接收到所述第一包104中的第一数据语音编码帧,其后跟随着剩下的帧。根据此实施例,如果一个发送的包中一些相继的语音编码帧被丢失,那么这些帧的丢失在所述接收到的数据流中将会表现为相继帧的丢失;因此,语音质量将严重受损。
图1(B)说明了以具有四个帧的束(包)来发送语音编码帧的另一个实施例。数据流112的一部分被示为将在两个包114和116中发送。包114包括数据流112中第一四个奇序号语音编码帧,且包116包括数据流112中交织的四个偶序号语音编码帧。在此处,根据此实施例,当以第一四个奇序号语音编码帧,例如,1、3、5、和7,填满包114后,在t7发送包114。同样,根据此实施例,当以第一四个偶序号语音编码帧,例如,2、4、6、和8,填满包116后,在t11发送包116。在接收机端,在t14接收到第一个包114中的第一数据语音编码帧,其后跟随着剩下的帧。根据此奇偶交织实施例,如果在一个发送的包中一些相继的语音编码帧被丢失,那么这些帧的丢失在所述接收到的数据流中将会表现为间歇帧的丢失;因此,语音质量将不会像上面讨论的第一个实施例,例如,没有交织,那样被严重影响。但是,不希望的时间延迟被引入到系统中,例如,在t14接收到数据流,与在无交织的实施例中时间延迟t8相比较,其导致了更大的延迟。
图1(C)说明了以具有四个帧的束(包)来发送语音编码帧的又一个实施例。数据流122的一部分被示为将在两个包124和126中发送。根据一种偏移交织方案,包124包括四个语音编码帧,且包126包括数据流122中另外的四个语音编码帧。根据一个实施例,当以四个语音编码帧,例如,1、3、4、和6,填满包124后,在t6发送包124。同样,根据一个实施例,当以四个语音编码帧,例如,5、7、8、和10,填满包126后,在t10发送包126。在接收机端,在t10接收到第一包124的第一数据语音编码帧,其后跟随着剩下的帧。根据此实施例,如果在一个发送的包中一些相继的语音编码帧被丢失,那么这些帧的丢失在接收到的数据流中将会表现为非相继帧的丢失;因此,话音质量将不会像上面讨论的第一个实施例,例如,没有交织,那样被严重影响。另外,已被引入系统的不希望的延迟大大少于上面讨论的奇偶交织中引入的数据延迟,例如,在t10接收到数据流,比在奇偶交织情况下在t14接收到数据流提前了很多。
图2(A)说明了以具有五个帧的束(包)来发送语音编码帧的一个实施例。数据流202的一部分被示为将要在两个包204和206中发送。包204包括数据流202中的第一五个语音编码帧,且包206包括数据流202中随后的五个语音编码帧。根据此实施例,在以数据流202中第一五个相继语音编码帧填满包204后,在t5发送包204。同样,根据此实施例,在以数据流202中第二五个相继语音编码帧填满包206后,在t9发送包206。在接收机端,在t9收到第一包204中的第一数据语音编码帧,其后跟随着剩下的帧。根据此实施例,如果在一个发送的包中一些相继语音编码帧被丢失,那么这些帧的丢失在接收到的数据流中将会表现为相继帧的丢失;因此,语音质量将会严重受损。
图2(B)说明了以具有五个帧的束(包)来发送语音编码帧的另一个实施例。数据流212的一部分被示为将在两个包214和216中发送。包214包括数据流212中第一五个奇序号语音编码帧,且包216包括数据流212中交错的五个偶序号语音编码帧。在此处,根据此实施例,当以五个语音编码帧,例如,1、3、5、7、和9,填满包214后,在t9发送包214。同样,根据此实施例,当以五个语音编码帧,例如,2、4、6、8、和10,填满包216后,在t13发送包216。在接收机端,在t16接收到第一包214中的第一数据语音编码帧,其后跟随着剩下的帧。根据此奇偶交织实施例,如果在一个发送的包中一些相继的语音编码帧被丢失,那么这些帧的丢失在接收到的数据流中将会表现为间歇帧的丢失;因此,语音质量将不会像在上面讨论的第一个实施例,例如,没有交织,那样被严重影响。但是,不希望的延迟被引入到系统中,例如,在t16接收到数据流,与无交织的实施例中时间延迟t9相比较,其导致了更大的延迟。
图2(C)说明了以具有五个帧的束(包)来发送语音编码帧的又一个实施例。数据流222的一部分被示为将在两个包224和226中发送。包224包括数据流222的五个语音编码帧,且包226包括数据流222中另外的五个语音编码帧,如下面的讨论。根据一个实施例,当以五个语音编码帧,例如,1、3、5、7、和9,填满包224后,在t9发送包224。同样,根据一个实施例,当以五个语音编码帧,例如,6、8、10、12、和14,填满包226后,在t14发送包226。在接收机端,在t13接收到第一包224的第一数据语音编码帧,其后跟随着剩下的帧。根据此实施例,如果在一个发送的包中一些相继的语音编码帧被丢失,那么这些帧的丢失在接收到的数据流中将会表现为非相继帧的丢失;因此,语音质量将不会像在上面讨论的第一个实施例,例如,没有交织,那样被严重影响。另外,已经被引入到系统中的不希望的延迟大大少于上面讨论的奇偶交织中引入的延迟,例如,在t13接收到数据流,比在奇偶交织情况下在t16接收到数据流提前了很多。
在一个实施例中,假定输出语音编码帧的时间序列按0...n编号,且成束因子为“B”,可以用以下公式确定第“k”个包的第“i”个位置处的帧序号“f”如果B是奇数f=kB+2i如果B是偶数f=kB+2ii<B/2f=kB+2i-1 i>=B/2其中B是成束因子(例如,如图1和图2分别所示,每个包包括4个或5个语音编码帧)f是帧序号,从0开始编号,k是包序号,从0开始编号,和i是包中语音编码帧的位置,被编号为从0到B-1。
各种成束因子的前几个包被示于表格1表格1各种成束因子的偏移交织

需要注意的是,对于成束因子,例如3及3以上,一些开始的帧可能未被发送。例如,对于成束因子5,第1和第3帧没有被发送,如图2(C)所示。然而,这些遗失的帧不是接收到的数据流中的相继帧,而且丢失仅出现在媒体传输的开始;因此,它们的丢失通常是可以接受的。
例如,对于B=4,如图1(C)中所示,对于第一包124(k=0)中的第一帧130(i=0),加入到第一包124中的帧序列122中的帧序号应该是f=0,对应于在帧序列122中标记为132的第一帧。该帧位置由公式f=kB+2i(B是偶数,且i=0<B/2=4/4=2)确定。同样,对于B=4,如图1(C)所示,对于第一包124(k=0)中的第四帧134(i=3),加入到第一包124中的帧序列122中的帧序号应该是f=5,对应于在帧序列122中标记为136的第六帧。该帧位置由公式f=kB+2i-1(B是偶数,且i=3>B/2=4/4=2)确定。
对于B=4,如图1(C)所示,对于第二包126(k=1)中的第一帧140(i=0),加入到第二包126中的帧序列122中的帧序号应该是f=4,对应于在帧序列122中标记为142的第五帧。该帧位置由公式f=kB+2i(B是偶数,且i=0<B/2=4/4=2)确定。
对于B=5,如图2(C)所示,对于第一包224(k=0)中的第一帧230(i=0),加入到第一包224中的帧序列222中的帧序号应该是f=0,对应于在帧序列222中标记为232的第一帧。该帧位置由公式f=kB+2i(B是奇数)确定。同样,对于B=5,如图2(C)所示,对于第一包224(k=0)的第五帧234(i=4),加入到第一包224中的帧序列222中的帧序号应该是f=8,对应于在帧序列222中标记为236的第九帧。该帧位置由公式f=kB+2i(B是偶数)确定。
对于B=5,如图2(C)所示,对于第二包226(k=1)中的第一帧240(i=0),加入到第二包226中的帧序列222中的帧序号应该是f=5,对应于在帧序列222中标记为242的第六帧。该帧位置由公式f=kB+2i(B是奇数)确定。需要注意的是,包226包括第二奇偶交织包216中的一部分,例如,帧6、8、10,以及第四奇偶交织包(没在图2中示出)中的一部分,例如,帧12和14,其中,这两部分是所述奇偶交织包的偏移部分。
在存在包丢失的情况下,上面所公开的偏移交织在改善质量的同时,减少了不希望的时间延迟。因此,利用所述奇偶交织包的偏移部分来填充包的其它实施例与所公开的实施例将是等效的。
图3是包括一个基站/基站控制器(BS/BSC)304和一个通讯设备306的基础设施实施例的简化方框图,该基础设施能够实现各个所公开的实施例。对于一个特定的多媒体通信,话音、数据、分组数据、及/或告警消息可以经由空中接口308在BS/BSC 304和通信设备306之间交换。可以发送多种类型的消息,例如用来在基站和通信装置之间建立通信会话的消息、注册消息和寻呼消息、以及用来控制数据传输的消息(例如,功率控制,数据速率信息,确认,等等)。部分这些消息类型将在下面进一步详细描述。
对于反向链路,在通信设备306处,语音和/或分组数据(例如,来自数据源310)及消息(例如,来自控制器330)被提供给发送(TX)数据处理器312,该处理器采用一种或多种编码方案来格式化及编码数据和消息以产生编码后的数据。每个编码方案可以包括循环冗余校验(CRC)编码、卷积编码、turbo编码、分组编码、及其它编码的任意组合,或者根本不使用编码。可以使用不同的方案对语音、分组数据、及消息进行编码,并且对不同类型的消息可以进行不同的编码。
然后将所述编码后的数据提供给调制器314并作进一步处理(例如,覆盖(cover),利用短PN序列进行扩展,以及利用分配给通信设备的长PN序列进行加扰)。随后将所述调制后的数据提供给发射机单元(TMTR)316并进行调整(例如,转换成一个或多个模拟信号、放大、滤波及正交调制)以产生反向链路信号。该反向链路信号被路由通过双工器(D)318并通过天线320发射到BS/BSC 304。
在BS/BSC 304,所述反向链路信号由天线350接收,路由通过双工器352,并被提供给接收机单元(RCVR)354。或者,天线可以是无线运营商网络的一部分,并且该天线和BS/BSC 304之间的连接可以路由通过互联网。BS/BSC 304可以接收来自通信设备306的多媒体信息和告警消息。接收机单元354调整(例如,滤波、放大、下变频、和数字化)所述接收到的信号并提供采样。解调器(DEMOD)356接收并处理(例如,解扩、解覆盖(decover)、及导频解调)所述采样以提供恢复后的符号。解调器356执行一个能处理多种情形的接收到的信号并产生合并后的符号的Rake接收机。然后接收(RX)数据处理器358解码所述符号以恢复在反向链路上发送的数据和消息。所述恢复后的语音/分组数据被提供给数据接收器360,所述恢复后的消息被提供给控制器370。控制器370可以包括用于接收和发送信息的指令、用于接收和发送对消息的响应的指令、用于交织用于在通信网络中传输的媒体帧流的指令、用于构成的指令、用于定义多个包的指令、以及用于在多个包间分配媒体帧流的指令。解调器356和RX数据处理器358的处理与在远程接入设备306执行的处理是互补的。可以进一步操作解调器356和RX数据处理器358以处理通过多个信道接收的多路传输,例如,一个反向基本信道(R-FCH)和一个反向补充信道(R-SCH)。而且,来自多个通信设备的传输可以同步,其中每个可以是在反向基本信道上的传输,在反向补充信道上的传输,或在二者上共同的传输。
在前向链路上,在BS/BSC 304,语音和/或分组数据(例如,来自数据源362)以及消息(例如,来自控制器370)由发送(TX)数据处理器364处理(例如,格式化及编码),由调制器(MOD)366进一步处理(例如,覆盖及扩频),并由发射机单元(TMTR)368进行调整(例如,转换成模拟信号、放大、滤波、及正交调制)以产生前向链路信号。该前向链路信号路由通过双工器352并通过天线350发射到远程接入设备306。该前向链路信号包括寻呼信号。
在通信设备306处,所述前向链路信号由天线320接收,路由通过双工器318,并被提供给接收机单元322。该接收机单元322调整(例如,下变频,滤波,放大,正交调制,及数字化)所述接收到的信号并提供采样。由解调器324处理(例如,解扩、解覆盖、及导频解调)所述采样以提供符号,并且由接收数据处理器326对所述符号进一步处理(例如,解码及校验)以恢复在前向链路上发送的数据和消息。所述恢复后的数据被提供给数据宿328,并且所述恢复后的消息被提供给控制器330。控制器330可以包括用于接收和发送信息的指令、用于接收和发送对消息的响应的指令、用于交织用于在通信网中传输的媒体帧流的指令、用于构成的指令、用于定义多个包的指令、以及用于在多个包间分配媒体帧流的指令。
本领域技术人员将会理解,可以使用各种不同的工艺和技术中的任意技术来表示信息和信号。例如,在整个以上描述中所提及的数据、指令、命令、信息、信号、比特、符号,以及码片可以由电压、电流、电磁波、磁场或粒子,光场或粒子,或者上述的任意组合来表示。
本领域技术人员还会明白,这里结合所公开的实施例描述的各种示例性的逻辑框、模块、电路和算法步骤均可以电子硬件、计算机软件,或二者的结合来实现。为了清楚地示出硬件和软件之间的可交换性,以上对各种示例性的组件、方框、模块、电路和步骤均以其功能性的形式进行总体上的描述。这种功能性是以硬件实现还是以软件实现依赖于特定的应用和整个系统所施加的设计约束。熟练的技术人员能够针对每个特定的应用以多种方式来实现所描述的功能性,但是这种实现的结果不应解释为导致背离本发明的范围。
利用一个通用处理器,数字信号处理器(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)或者其他可编程的逻辑器件,分立门或者晶体管逻辑,分立硬件组件,或者它们之中的任意组合可以实现或执行结合这里公开的实施例描述的各种示例性的逻辑框图,模块和电路。一个通用处理器可能是一个微处理器,但是在另一种情况中,处理器可能是任何常规的处理器,控制器,微控制器,或者状态机。一个处理器也可能被实现为计算设备的组合,例如,DSP和微处理器的组合,多个微处理器,一个或者更多结合DSP内核的微处理器,或者任何其他此种结构。
结合这里公开的实施例描述的方法或者技术可直接体现为硬件,由处理器执行的软件模块,或者这二者的组合。一个软件模块可能驻留在RAM存储器,闪存,ROM存储器,EPROM存储器,EEPROM存储器,寄存器,硬盘,移动磁盘,CD-ROM,或者本领域熟知的任何其他形式的存储媒质中。一种典型存储介质与处理器耦合,使得处理器能够从该存储介质中读信息,且可向该存储介质写信息。在替换实例中,存储介质可能与处理器集成。处理器和存储介质可能驻留在一个ASIC中。该ASIC可能驻留在一个用户终端中。在一个替换实例中,处理器和存储介质可以作为用户终端中的分立组件驻留。
提供所述公开的实施例的上述描述可使得本领域的技术人员能够实现或者使用本发明。对于本领域的技术人员来说,这些实施例的各种修改是显而易见的,并且这里定义的总体原理也可以在不脱离本发明的范围和主旨的基础上应用于其他实施例。因此,本发明并不限于这里示出的实施例,而是与符合这里公开的原理和新颖特征的最广范围相一致。这里使用的“示例性的”一词意味着“用作一个实例、示例和图例”。这里被描述为“示例性”的任何实施例或设计不必被解释为相比其他实施例或设计为优选或具有优势。
权利要求
1.一种用于交织通过通信网络传输的媒体帧流的方法,包括定义多个包,每个包具有预定的大小;并且在所述多个包中分配媒体帧流,使得每个包包括所述媒体流的非相继帧,并且至少一个包不同于一个奇偶交织包。
2.如权利要求1所述的方法,其中,所有包具有相同的大小。
3.一种用于交织通过通信网络传输的媒体帧流的方法,包括定义多个包,每个包具有预定的大小;并且在所述多个包中交织媒体帧流,使得至少一个包包括至少两个奇偶交织包的偏移部分。
4.如权利要求3所述的方法,其中,所有包具有相同的大小。
5.一种用于交织通过通信网络传输的媒体帧流的方法,包括定义多个包,每个包具有预定的大小;并且在所述多个包中交织媒体帧流,使得每个包包括根据如下方案选出的媒体流的帧如果B是奇数,f=kB+2i如果B是偶数f=kB+2ii<B/2f=kB+2i-1 i>=B/2其中B是成束因子,f是帧序号,从0开始编号,k是包序号,从0开始编号,和i是在所述包中的语音编码帧的位置,被编号为从0到B-1。
6.一种用于交织通过通信网络传输的媒体帧流的装置,包括用于定义多个包的模块,每个包具有预定的大小;并且用于在所述多个包中分配媒体帧流的模块,使得每个包包括所述媒体流的非相继帧,并且至少一个包不同于一个奇偶交织包。
7.如权利要求6所述的装置,其中,所有包具有相同的大小。
8.一种用于交织通过通信网络传输的媒体帧流的装置,包括用于定义多个包的模块,每个包具有预定的大小;并且用于在所述多个包中交织媒体帧流的模块,使得至少一个包包括至少两个奇偶交织包的偏移部分。
9.如权利要求8所述的装置,其中,所有包具有相同的大小。
10.一种用于交织通过通信网络传输的媒体帧流的装置,包括用于定义多个包的装置,每个包具有预定的大小;并且用于在所述多个包中交织媒体帧流的模块,使得每个包包括根据如下方案选出的媒体流的帧如果B是奇数,f=kB+2i如果B是偶数f=kB+2ii<B/2f=kB+2i-1 i>=B/2其中B是成束因子,f是帧序号,从0开始编号,k是包序号,从0开始编号,和i是在所述包中语音编码帧的位置,被编号为从0到B-1。
11.一种包含用于执行一种用来交织通过通信网络传输的媒体帧流的方法的装置的计算机可读介质,所述方法包括定义多个包,每个包具有预定的大小;并且在所述多个包中分配媒体帧流,使得每个包包括所述媒体流的非相继帧,并且至少一个包不同于一个奇偶交织包。
12.如权利要求11所述的介质,其中,所有包具有相同的大小。
13.一种包含用于执行一种用来交织通过通信网络传输的媒体帧流的方法的装置的计算机可读介质,所述方法包括定义多个包,每个包具有预定的大小;并且在所述多个包中交织媒体帧流,使得至少一个包包括至少两个奇偶交织包的偏移部分。
14.如权利要求13所述的介质,其中,所有包具有相同的大小。
15.一种包含用于执行一种用来交织通过通信网络传输的媒体帧流的方法的装置的计算机可读介质,所述方法包括定义多个包,每个包具有预定的大小;并且在所述多个包中交织媒体帧流,使得每个包包括根据如下方案选出的媒体流的帧如果B是奇数,f=kB+2i如果B是偶数f=kB+2ii<B/2f=kB+2i-1 i>=B/2其中B是成束因子,f是帧序号,从0开始编号,k是包序号,从0开始编号,和i是在所述包中语音编码帧的位置,被编号为从0到B-1。
16.一种能够翻译用于执行一种用来交织通过通信网络传输的媒体帧流的方法的指令的计算机,所述方法包括定义多个包,每个包具有预定的大小;并且在所述多个包中分配媒体帧流,使得每个包包括所述媒体流的非相继帧,并且至少一个包不同于一个奇偶交织包。
17.如权利要求16所述的计算机,其中,所有包具有相同的大小。
18.一种能够翻译用于执行一种用来交织通过通信网络传输的媒体帧流的方法的指令的计算机,所述方法包括定义多个包,每个包具有预定的大小;并且在所述多个包中交织媒体帧流,使得至少一个包包括至少两个奇偶交织包的偏移部分。
19.如权利要求18所述的计算机,其中,所有包具有相同的大小。
20.一种能够翻译用于执行一种用来交织通过通信网络传输的媒体帧流的方法的指令的计算机,所述方法包括定义多个包,每个包具有预定的大小;并且在所述多个包中交织媒体帧流,使得每个包包括根据如下方案选出的媒体流的帧如果B是奇数,f=kB+2i如果B是偶数f=kB+2ii<B/2f=kB+2i-1 i>=B/2其中B是成束因子,f是帧序号,从0开始编号,k是包序号,从0开始编号,和i是在所述包中语音编码帧的位置,被编号为从0到B-1。
全文摘要
所述公开的实施例提供了用于对通过通信网络进行传输的媒体帧进行偏移交织的方法和装置。在一个方面,一种用于交织用于通过通信网络传输的媒体帧流的方法,所述方法包括定义多个包及在所述包中交织媒体帧流的动作。
文档编号H04L1/00GK1906878SQ200480040625
公开日2007年1月31日 申请日期2004年11月18日 优先权日2003年11月18日
发明者彼得·贝尔丁, 詹姆斯·T·德特曼, 罗纳德·布卢姆 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1