一种解码方法和装置的制作方法

文档序号:7898713阅读:301来源:国知局
专利名称:一种解码方法和装置的制作方法
技术领域
本发明涉及通信技术领域,特别是涉及一种解码方法和装置。
背景技术
MBMS (Multimedia Broadcast/Multicast Service,多媒体广播组播业务)是3GPP R6 (3rd Generation Partnership Project Release6,第三代合作伙伴计划第 6 版本)中引入的一项重大功能,用于支持广播业务,在同一时间为大量用户提供高速率数据业务。从广播文件的格式来划分,MBMS可以分为两类一类是音视频流式业务,例如,流式音频广播和手机电视,广播文件以实时流的形式通过MBMS信道广播给终端,终端实时收听或收看; 另一类是文件下载式业务,业务内容以文件的形式通过MBMS信道广播给终端,终端将接收到的数据保存成文件形式,用户离线打开文件,以使用业务。对于通过MBMS信道传输的数据文件而言,该数据文件必须是完整的,不能丢失任何数据包,因此,在利用MBMS进行数据文件的广播时,必须保证数据文件的完整性。另外,广播数据文件时,需要采用专门用于文件广播的FLUTE (File Delivery over Unidirectional Transport,单向文件传输)协议,而FLUTE协议是基于UDP (User Datagram Protocol,用户数据包协议)的,UDP是一种面向无连接的传输层协议,提供简单的不可靠信息传送服务,无法在传输层上进行文件重传。因此,利用MBMS开展文件下载式业务时,必须考虑文件的可靠传输问题。为提高数据通信的可信度,可以在MBMS中使用FECO^orward Error Correction, 前向纠错)编码。FEC编码通常应用在单向通信信道中,该单向通信通道中的传输错误无法通过请求重传来恢复。FEC编码的核心思想包括,在传输数据中增加冗余信息,当传输过程中出现错误,接收端可以利用接收到的冗余信息重构丢失的数据,从而保证文件完整性。在 FEC编码的技术方案中,MBMS平台在数据文件广播前需要先进行编码,生成冗余数据包,然后将冗余数据包和原始数据包一起发送给终端,终端必须支持对应的FEC解码。3GPP TS 26. 346建议在MBMS中使用Raptor编码,如图1所示,Raptor FEC编码的流程包括首先,利用传统的纠删码,如LDPC(Low Density Parity Check Code,低密度奇偶校验码),对数据包进行预编码,使得编码后的数据包即使在传输的过程中部分丢失, 也能在接收端全部恢复出来;随后,利用LT(Luby Transform,卢比转换)码对预编码后的数据包进行二次编码,即,将预编码后的数据包与适当选取的LT码级联,得到具有线性时间译码复杂度的Raptor码。接收端接收到编码符号后,对编码符号进行解码,恢复出源码。 根据Raptor FEC编码原理可知,经过Raptor编码后,接收端只要接收到(N+R)个编码符号中的任意N个编码符号,即可恢复所有的N个源码,如图2所示。如果数据文件采用多次重复广播,发送端先进行一次FEC编码,然后将编码符号重复广播。接收端每次接收到编码符号后,都进行一次FEC解码,不同FEC解码之间彼此独立,如图3所示。如果接收到N个编码符号,接收端可以恢复出所有的源码;如果接收到的编码符号小于N个,接收端将无法恢复出所有的源码。
在实现本发明的过程中,发明人发现现有技术至少存在如下问题由于接收端需要接收到(N+R)个编码符号中的至少N个编码符号,才能恢复出所有的N个源码,而在无线广播信道中,丢包是很正常的现象,因此,接收端多次接收到的编码符号可能都小于N个,从而导致每次独立解码都无法将所有源码恢复出来,降低了 FEC修复效率。

发明内容
本发明实施例的目的在于提供一种解码方法和装置,以提高解码效率,为此,本发明实施例采用如下技术方案一种解码方法,包括接收发送端重复广播的编码符号,并累积多次接收到的编码符号;对累积得到的编码符号进行解码。一种解码器,包括接收模块,用于接收发送端重复广播的编码符号;存储模块,用于累积所述接收模块多次接收到的编码符号;解码模块,用于对所述存储模块累积得到的编码符号进行解码。本发明的实施例包括以下优点,由于编码符号是重复广播的,发送端第一次和第N 次广播的编码符号是完全相同的,通过对编码符号进行累积和解码,能够在很大程度上克服广播中出现的丢包现象,使编码符号的丢失概率呈指数降低,进而容易满足接收端全部恢复出源码的条件,从而有效地解决了单次广播接收无法完全恢复出源码的问题,提高了解码效率。当然,实施本发明的实施例的任一产品并不一定需要同时达到以上所述的所有优点。


图1为现有技术中的Raptor编码过程示意图;图2为现有技术中的Raptor码示意图;图3为现有技术中的FEC解码示意图;图4为本发明实施例中的解码方法流程图;图5为本发明实施例中的解码过程示意图;图6为本发明实施例中的解码器的结构示意图。
具体实施例方式现有技术中,发送端对编码符号进行重复广播,接收端对接收到的编码符号进行独立解码。上述解码方法相对比较简单,但是没有充分利用接收端重复广播编码符号的特点,没有最大程度地利用FEC纠错恢复源码的能力。为解决现有技术的缺陷,本发明实施例提出的技术方案中,接收端不再直接根据每次接收到的编码符号进行解码,而是利用编码符号重复广播的特点,将多次接收到的编码符号进行存储和累积,并对累积得到的编码符号进行解码。下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。如图4所示,为本发明实施例中的解码方法流程图,包括以下步骤步骤401,接收端接收发送端第一次广播的编码符号,对接收到的编码符号进行解码,得到恢复出的源码。具体地,当接收端接收到的数据分片构成一个FEC解码单元时,接收端可以对该数据分片包含的编码符号进行FEC解码,恢复出源码。上述FEC解码单元可以包括源码和冗余码。例如,发送端广播的编码符号包括N个源码和R个冗余码,接收端可以根据接收到的编码符号进行FEC解码,恢复出源码。当传输信道没有发生丢包时,接收端接收到的一个 FEC解码单元包括N个源码和R个冗余码,S卩(N+R)个编码符号;当传输信道发生丢包时, 接收端接收到的一个FEC解码单元中的编码符号的个数小于(N+R)。如果接收端接收到的一个FEC解码单元包括上述(N+R)个编码符号中的至少N个编码符号,则接收端可以根据该FEC解码单元恢复出发送端广播的全部的N个源码;否则,接收端无法恢复出发送端广播的全部的N个源码。步骤402,接收端判断恢复出的源码是否为完整的源码,如果是,则执行步骤403 ; 否则,执行步骤404。具体地,接收端对恢复出的源码进行完整性检测,S卩,判断接收端恢复出的源码是否为发送端发送的全部源码,如果接收端恢复出的源码为发送端发送的全部源码,则判断发送端广播的编码符号已经被接收端完整接收;否则,判断发送端广播的编码符号没有被完整接收。步骤403,接收端停止接收编码符号或者丢弃接收到的编码符号。当接收端判断恢复出的源码为完整的源码,S卩,接收端已经完整接收到发送端广播的编码符号时,如果发送端继续广播相同的编码符号,接收端可以停止接收发送端重复广播的编码符号,也可以丢弃接收到的编码符号。步骤404,接收端判断重复广播是否结束,如果结束,则执行步骤405 ;否则,执行步骤406。需要说明的是,在执行上述步骤402和步骤404的过程中,接收端可以继续接收发送端重复广播的编码符号,并累积多次接收到的编码符号。具体地,接收端可以存储第一次接收到的所有的编码符号,如果后续接收到的编码符号中包含接收端已存储的编码符号之外的新的编码符号,接收端可以将新的编码符号与之前存储的编码符号累积到一起。步骤405,接收端停止接收编码符号,对累积得到的编码符号进行解码,得到恢复出的源码。步骤406,接收端继续接收和累计发送端重复广播的编码符号,对累积得到的编码符号进行解码,得到恢复出的源码。具体地,如果重复广播没有结束,接收端继续接收发送端重复广播的编码符号,更新累积得到的编码符号。当接收端完整接收一个FEC解码单元后,接收端可以对累积得到的编码符号进行FEC解码,得到恢复出的源码,如图5所示。通过对多次接收到的编码符号进行累积,接收端可以增加接收到的编码符号的数量,从而提高恢复出发送端广播的全部
5源码的概率。例如,发送端向接收端重复广播5个源码N1、N2、N3、N4和N5以及3个冗余码R1、 R2和R3,接收端第一次接收到的编码符号为m、N2、Rl和R2时,由于接收端第一次接收到的编码符号的数量少于发送端广播的源码的数量,接收端无法恢复出发送端广播的全部的 5个源码;接收端第二次接收到的编码符号为m、N3、Rl和R2时,由于接收端第二次接收到的编码符号的数量仍然少于发送端广播的源码的数量,如果接收端仅根据第二次接收到的编码符号进行FEC解码,仍然无法恢复出发送端广播的全部的5个源码。然而,由于本发明实施例中的接收端可以存储第一次接收到的编码符号,并将第二次接收到的新的编码符号 N3与之前存储的编码符号累积到一起,得到5个编码符号,即,N1、N2、N3、R1和R2,由于累积得到的编码符号的数量不少于发送端广播的源码的数量,接收端可以根据累积得到的编码符号恢复出发送端广播的全部的5个源码。需要说明的是,执行完步骤406后,可以继续执行步骤402。即,接收端根据累积到的编码符号恢复出源码后,可以继续对恢复出的源码进行完整性检测,如果恢复出的源码不是完整的源码,则继续接收重复广播的编码符号,更新累积得到的编码符号,并对更新后的编码符号进行FEC解码;如果恢复出的源码是完整的源码,则停止接收发送端重复广播的编码符号,也可以丢弃接收到的编码符号。需要说明的是,本发明实施例中的步骤402和步骤403为优选步骤,通过判断恢复出的源码是否为完整的源码,接收端可以在恢复出发送端广播的全部源码后,停止对发送端重复广播的编码符号的累积和解码,减少了接收端的资源消耗。在本发明的其他实施方式中,也可以不判断恢复出的源码是否为完整的源码,同样可以实现本发明的发明目的, 即,提高FEC的修复效率。另外,本发明实施例中的步骤404和步骤405也是优选步骤,通过判断重复广播是否停止,接收端可以在重复广播停止后,停止接收编码符号,以节省接收端的空口资源。在本发明的其他实施方式中,也可以不判断重复广播是否停止,同样可以实现本发明的发明目的,即,提高FEC的修复效率。本发明的实施例包括以下优点,由于编码符号是重复广播的,发送端第一次和第N 次广播的编码符号是完全相同的,通过对编码符号进行累积和解码,能够在很大程度上克服广播中出现的丢包现象,使编码符号的丢失概率呈指数降低,进而容易满足接收端全部恢复出源码的条件,从而有效地解决了单次广播接收无法完全恢复出源码的问题,提高了 FEC的修复效率。当然,实施本发明的实施例的任一产品并不一定需要同时达到以上所述的所有优点。根据上述实施方式中提供的解码方法,本发明实施例还提供了应用上述解码方法的装置。如图6所示,为本发明实施例中的解码器的结构示意图,该解码器可以是上述方法实施例中的接收端,包括接收模块610,用于接收发送端重复广播的编码符号。其中,编码符号包括源码和冗余码。存储模块620,用于累积接收模块610多次接收到的编码符号。具体地,存储模块620可以存储接收模块610第一次接收到的所有的编码符号,如果接收模块610后续接收到的编码符号中包含存储模块620已存储的编码符号之外的新的编码符号,存储模块620可以将新的编码符号与之前存储的编码符号累积到一起。解码模块630,用于对存储模块620累积得到的编码符号进行解码。具体地,上述解码模块630,具体用于当接收模块610接收到的数据分片构成一个完整的FEC解码单元时,对累积得到的源码和冗余码进行FEC解码,得到恢复出的源码。例如,发送端广播的编码符号包括N个源码和R个冗余码,如果存储模块620累积得到上述 (N+R)个编码符号中的至少N个编码符号,解码模块630可以恢复出发送端广播的全部的N 个源码,否则;解码模块630无法恢复出发送端广播的全部的N个源码。优选地,本发明实施例中的解码器,可以进一步包括判断模块640,用于判断解码模块630恢复出的源码是否为完整的源码,以及重复
广播是否结束。具体地,判断模块640可以对恢复出的源码进行完整性检测,S卩,判断解码模块 630恢复出的源码是否为发送端发送的全部源码,如果解码模块630恢复出的源码为发送端发送的全部源码,则判断发送端广播的编码符号已经被接收模块610完整接收;否则,判断发送端广播的编码符号没有被接收模块610完整接收。相应地,上述接收模块610,还用于在解码模块630恢复出的源码不是完整的源码,且重复广播没有结束时,继续接收发送端重复广播的编码符号,直到解码模块630恢复出的源码为完整的源码;相应地,上述存储模块620,还用于继续累积接收模块610接收到的编码符号,直到解码模块630恢复出的源码为完整的源码;上述解码模块630,还用于继续对存储模块620累积得到的编码符号进行FEC解码,直到恢复出的源码为完整的源码。此外,上述接收模块610,还用于在解码模块630恢复出的源码不是完整的源码, 且重复广播已结束时,停止接收编码符号;相应地,上述解码模块630对存储模块620累积得到的编码符号进行FEC解码。上述接收模块610,还用于在解码模块630恢复出的源码是完整的源码时,停止接收编码符号或者丢弃接收到的编码符号。具体地,当判断模块640判断解码模块630恢复出的源码为完整的源码,即,接收模块610已经完整接收到发送端广播的编码符号时,如果发送端继续广播相同的编码符号,接收模块610可以停止接收发送端重复广播的编码符号,也可以丢弃接收到的编码符号。本发明的实施例包括以下优点,由于编码符号是重复广播的,发送端第一次和第N 次广播的编码符号是完全相同的,通过对编码符号进行累积和解码,能够在很大程度上克服广播中出现的丢包现象,使编码符号的丢失概率呈指数降低,进而容易满足接收端全部恢复出源码的条件,从而有效地解决了单次广播接收无法完全恢复出源码的问题,提高了 FEC的修复效率。当然,实施本发明的实施例的任一产品并不一定需要同时达到以上所述的所有优点。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
权利要求
1.一种解码方法,其特征在于,包括接收发送端重复广播的编码符号,并累积多次接收到的编码符号; 对累积得到的编码符号进行解码。
2.如权利要求1所述的方法,其特征在于,所述编码符号包括源码和冗余码; 对累积得到的编码符号进行解码,包括对累积得到的源码和冗余码进行前端纠错FEC解码,得到恢复出的源码。
3.如权利要求2所述的方法,其特征在于,所述对累积得到的编码符号进行解码之后, 还包括如果所述恢复出的源码不是完整的源码,且重复广播没有结束,则继续接收和累计发送端重复广播的编码符号,并对累积得到的编码符号进行FEC解码,直到恢复出的源码为完整的源码。
4.如权利要求2所述的方法,其特征在于,所述对累积得到的编码符号进行解码之后, 还包括如果所述恢复出的源码不是完整的源码,且重复广播已结束,则停止接收编码符号,对累积得到的编码符号进行FEC解码,得到恢复出的源码。
5.如权利要求2所述的方法,其特征在于,所述对累积得到的编码符号进行解码之后, 还包括如果所述恢复出的源码是完整的源码,则停止接收编码符号或者丢弃接收到的编码符号。
6.一种解码器,其特征在于,包括接收模块,用于接收发送端重复广播的编码符号; 存储模块,用于累积所述接收模块多次接收到的编码符号; 解码模块,用于对所述存储模块累积得到的编码符号进行解码。
7.如权利要求6所述的解码器,其特征在于,所述编码符号包括源码和冗余码;所述解码模块,具体用于对累积得到的源码和冗余码进行前端纠错FEC解码,得到恢复出的源码。
8.如权利要求7所述的解码器,其特征在于,所述接收模块,还用于在所述解码模块恢复出的源码不是完整的源码,且重复广播没有结束时,继续接收所述发送端重复广播的编码符号,直到所述解码模块恢复出的源码为完整的源码。
9.如权利要求7所述的解码器,其特征在于,所述接收模块,还用于在所述解码模块恢复出的源码不是完整的源码,且重复广播已结束时,停止接收编码符号。
10.如权利要求7所述的解码器,其特征在于,所述接收模块,还用于在所述解码模块恢复出的源码是完整的源码时,停止接收编码符号或者丢弃接收到的编码符号。
全文摘要
本发明公开了一种解码方法,包括接收发送端重复广播的编码符号,并累积多次接收到的编码符号;对累积得到的编码符号进行解码。本发明还公开了一种解码器,包括接收模块,用于接收发送端重复广播的编码符号;存储模块,用于累积所述接收模块多次接收到的编码符号;解码模块,用于对所述存储模块累积得到的编码符号进行解码。通过使用本发明,可以提高解码效率。
文档编号H04W4/06GK102571263SQ20101062114
公开日2012年7月11日 申请日期2010年12月24日 优先权日2010年12月24日
发明者封令隽, 常辉, 郭毅峰, 黄薇 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1