在广播和通信系统中发送和接收分组的装置和方法
【专利摘要】提供一种在系统中发送/接收分组的方法和装置。所述方法包括:将与二维阵列的每行相对应的、具有预定符号大小(T)作为宽度的每个符号划分成为预定数量(m)个区域;从二维阵列的第一行的第一列开始,在二维阵列中的符号大小T之内顺序地排列将发送的源分组;将排列了源分组的最后行当中的、源分组的最后数据被分配在其中的区域的剩余部分设置为预定值;在源分组被排列之后,从排列了源分组的最后行当中的、最后数据被分配在其中的区域的下一区域的开始点开始排列下一源分组;通过在二维阵列中排列全部源分组来构造源块;对源块进行FEC编码;以及发送经FEC编码的源块。
【专利说明】在广播和通信系统中发送和接收分组的装置和方法
【技术领域】
[0001]本发明涉及广播或通信系统中的数据发送和接收。更具体地,本发明涉及当在信道上或网络中发生数据丢失时,有效地恢复数据的装置和方法。
【背景技术】
[0002]在最近的广播和通信环境中,由于多媒体内容的多样化以及诸如高清晰度(HD)内容或超高清晰度(UHD)内容的大尺寸内容的增加,网络中的数据拥塞已经变得严重。结果,由于路线中的内容的一部分的丢失,在接收器(例如,主机B)处无法正常地接收由发送器(例如,主机A)发送的内容。因为多数情况下数据在分组中发送,所以数据丢失也发生在分组中。因为接收器由于数据丢失而无法通过网络接收数据分组,所以接收器无法获得丢失的分组的数据。因此,可以导致多种不便,包括音频质量或视频质量的退化、显示有缺陷的图像、遗漏文字、以及文件损坏。因此,需要一种在网络传输期间恢复数据的技术。
[0003]一种支持在接收器中恢复在网络传输期间已经丢失的数据的方法是:利用被称作源分组的预定数量的数据分组(每个分组具有可变长度)来构造源块,并且通过前向纠错(FEC)编码向源块添加诸如奇偶校验数据或修复分组的修复信息。在存在丢失数据的情况下,接收器可以使用修复信息来解码数据。
[0004]添加了修复信息的源分组中的每一个可以不具有想要的长度并且因此可以是零填充的。这意味着通常构造的源块可以根据分组长度而包括大量零填充。虽然零填充的数据是发送器不发送的无意义的数据,但是零填充的数据增加源块中的符号的数量并且与生成奇偶校验数据有关。因此,零填充的数据导致用于不必要的信息的奇偶校验数据的生成和发送。
[0005]可以通过减少期望的源分组的长度来相对降低零填充的数量。然而,由于导致源块中的符号的数量的显著增加,因此需要很长的FEC码。因为系统可用的FEC码长受限并且较长的FEC码增加最大对数似然(ML)解码的复杂性,所以可能延长解码等待时间。
[0006]因此,需要一种通过减少零填充的数据来更有效地构造源块以降低编码符号的数量并且改善纠错能力的方法。
[0007]给出以上信息作为背景信息仅为了帮助对本公开的理解。关于任何以上是否可以适用为关于本发明的现有技术,没有确定已经做出,并且没有断言做出。
【发明内容】
[0008]技术问题
[0009]本发明的方面将至少解决以上问题和/或缺点,并至少提供下述优点。因此,本发明的一方面将提供一种在广播或通信系统中发送和接收分组数据的方法和装置。
[0010]本发明的另一方面将提供一种当在广播或通信系统发生中数据丢失时有效地恢复数据的方法和装置。
[0011]本发明的另一方面将提供一种装置和方法,其在广播或通信系统中更有效地构造源块以降低零填充的数据的数量并且改善纠错能力。
[0012]技术方案
[0013]根据本发明的一方面,提供一种在广播和通信系统中发送分组的方法。所述方法包括:将与二维阵列的每行相对应的、具有预定符号大小(T)作为宽度的每个符号划分成为预定数量(m)个区域;从二维阵列的第一行的第一列开始,在二维阵列中的符号大小T之内顺序地排列将发送的源分组;将排列了源分组的最后行当中的、源分组的最后数据被分配在其中的区域的剩余部分设置为预定值;在源分组被排列之后,从排列了源分组的最后行当中的、最后数据被分配在其中的区域的下一区域的开始点开始排列下一源分组;通过在二维阵列中排列全部源分组来构造源块;对源块进行前向纠错(FEC)编码;以及发送经FEC编码的源块。
[0014]根据本发明的另一方面,提供一种在广播和通信系统中发送分组的装置。所述装置包括:源块构造器,被配置为将与二维阵列的每行相对应的、具有预定符号大小(T)作为宽度的每个符号划分成为预定数量(m)个区域;从二维阵列的第一行的第一列开始,在二维阵列中的符号大小T之内顺序地排列将发送的源分组;将排列了源分组的最后行当中的、源分组的最后数据被分配在其中的区域的剩余部分设置为预定值;在源分组被排列之后,排列了源分组的最后行当中的、最后数据被分配在其中的区域的下一区域的开始点开始排列下一源分组;通过在二维阵列中排列全部源分组来构造源块;以及FEC编码器,被配置为对源块进行编码并且发送经FEC编码的源块。
[0015]根据本发明的另一方面,提供一种在广播和通信系统中接收分组的方法。所述方法包括解释在源块中接收到的数据并且对源块进行FEC解码。所述源块通过如下步骤构造:将与二维阵列的每行相对应的、具有预定符号大小(T)作为宽度的每个符号划分成为预定数量(m)个区域;从二维阵列的第一行的第一列开始,在二维阵列中的符号大小T之内顺序地排列将发送的源分组;将排列了源分组的最后行当中的、源分组的最后数据被分配在其中的区域的剩余部分设置为预定值;在源分组被排列之后,从排列了源分组的最后行当中的、最后数据被分配在其中的区域的下一区域的开始点开始排列下一源分组;以及在二维阵列中排列全部源分组以便构造源块。
[0016]根据本发明的另一方面,提供一种在广播和通信系统中接收分组的装置。所述装置包括:源块解释器,被配置为解释在源块中接收到的数据;以及FEC解码器,被配置为对源块进行FEC解码。所述源块通过如下步骤构造:将与二维阵列的每行相对应的、具有预定符号大小(T)作为宽度的每个符号划分成为预定数量(m)个区域;从二维阵列的第一行的第一列开始,在二维阵列中的符号大小T之内顺序地排列将发送的源分组;将排列了源分组的最后行当中的、源分组的最后数据被分配在其中的区域的剩余部分设置为预定值;在源分组被排列之后,从排列了源分组的最后行当中的、最后数据被分配在其中的区域的下一区域的开始点开始排列下一源分组;以及在二维阵列中排列全部源分组以便构造源块。
[0017]本发明的其他方面、优点和显著的特征将从以下结合附图做出的公开了本发明的示例性实施例的详细说明中对本领域技术人员变得清楚。
【专利附图】
【附图说明】
[0018]从下面结合附图的描述,本发明特定示例性实施例的上述和其他方面、特征和优点将更加清楚,附图中:
[0019]图1是根据本发明的实施例的发送器和接收器的框图;
[0020]图2示出根据本发明的示例性实施例的通用源块的配置;
[0021]图3a和图3b示出根据本发明的示例性实施例的源块的配置;
[0022]图4示出根据本发明的示例性实施例的、添加到源分组和修复分组的信令信息;
[0023]图5示出根据本发明的示例性实施例的、添加到源分组的信令信息;
[0024]图6示出根据本发明的示例性实施例的、添加到修复分组的信令信息;
[0025]图7示出根据本发明的示例性实施例的、添加到源分组的信令信息;
[0026]图8示出根据本发明的示例性实施例的、添加到源分组的信令信息;
[0027]图9示出根据本发明的示例性实施例的源块的配置;
[0028]图1Oa和图1Ob示出根据本发明示例性实施例的、前向纠错(FEC)对象传输信息(OTI);
[0029]图11示出根据本发明的示例性实施例的信令信息的集合;
[0030]图12示出根据本发明的示例性实施例的信令信息的集合;以及
[0031]图13a和图13b示出根据本发明示例性实施例的FEC OT10
[0032]遍及附图,相似的参考标记将理解为参考相似的部分、组件和结构。
【具体实施方式】
[0033]提供以下参照附图的描述来帮助全面理解权利要求及其等效物所限定的本发明的示例性实施例。以下描述包括各种具体细节来帮助理解,但这些具体细节应被看作仅仅是示例性的。因此,本领域普通技术人员将认识到,可以对此处描述的实施例进行各种改变和修改而不会偏离本发明的范围和精神。此外,为清楚和简洁起见,可能省略对公知功能和结构的描述。
[0034]下面的描述及权利要求中使用的术语和词汇不局限于文献学含义,发明人使用这些数据和词汇仅仅是为了实现对本发明清楚和一致的理解。因此,对本领域技术人员应当清楚的是,以下对本发明示例性实施例的描述仅仅是出于举例说明的目的而提供的,并非为了对权利要求及其等效物所限定的本发明进行限制。
[0035]将理解,单数形成“一”、“一个”、“该”包括复数对象,除非上下文清楚做出相反指示。因而,例如,当提到“一个组件表面”时,包含了一个或多个这样的表面。
[0036]关于术语“实质上”,它意思指列举的特性、参数或值不必精确地实现,而是可以发生包括例如,容差、测量误差、测量精度限度及本领域技术人员已知的其他因素的偏差或变化,总之不排除想要提供的特性的效果。
[0037]将提供本发明的示例性实施例以实现上面描述的本发明的技术方面。在示例性实现中,定义的实体可以具有相同名称,本发明不限于此。因此,本发明的示例性实施例可以在具有类似技术背景的系统中利用相同或现成的修改来实现。
[0038]本发明的示例性实施例提供一种在电子设备中有效地恢复丢失数据的方法,电子设备诸如可以发送和接收包括高清晰度(HD)内容或超清晰度(UHD)内容的大尺寸内容以及包括视频会议/呼叫的多种多媒体服务的移动式电话、TV、计算机、电子黑板、平板计算机和电子书。本发明的示例性实施例提供一种当前向纠错(FEC)编码将应用于数据分组时通过有效地构造源块来改善解码性能或提高传输效率的方法。虽然本文没有特定地提及特定FEC编码方案,但是将理解地是,本发明可应用于(但不限于)里德-索罗蒙(RS)码、低密度奇偶校验码(LDPC)码、Turbo码、Raptor码、Raptor Q码、XOR(单个奇偶校验码)、前运动图像专家组(MPEG)FEC码等等。
[0039]图1是根据本发明的示例性实施例的发送器和接收器的框图。
[0040]参照图1,发送器100包括源块构造器102和FEC编码器103。源块构造器102利用被称作源分组101的预定数量的数据分组(每个数据分组具有可变长度)来构造源块。FEC编码器103通过对源块进行FEC编码来向源块添加诸如奇偶校验数据或修复分组的修复信息104,并且发送源块。
[0041]接收器110包括源块解释器112和FEC解码器113。源块解释器112将在源块中接收到的数据111划分成为已经添加了修复块的源符号。FEC解码器通过对源符号进行FEC解码来恢复源分组114。源块解释器112使用与数据111 一起接收或分开接收的信令信息115来恢复丢失数据。
[0042]图2示出根据本发明的示例性实施例的通用源块的配置。
[0043]参照图2,设定源分组在具有预定宽度T的二维阵列中顺序地排列。阵列的每行是符号并且T是符号大小。符号大小通常以字节或位来表示。通常以符号为基础来应用FEC。
[0044]源块构造器102向每个源分组203添加流标识符(ID) 201和分组长度信息202,并且在符号大小T之内从阵列中的第一行的第一列开始顺序地排列源分组203。除非另作说明,通常以字节表示分组长度信息。
[0045]添加了附加信息201和202的全部源分组203从第一行的第一列开始在阵列中逐行排列。如果具有附加信息201和202的源分组的长度不是符号大小T的倍数,则具有源分组的最后行的剩余部分以零填充,如由零填充204指示的。当以以上方式完全地排列了给定源分组203时,具有K行的结果阵列被称作源块206。
[0046]源块206的K行可以被认为是将被FEC编码的K个源符号。通过对K个源符号进行FEC编码来生成修复符号(例如,奇偶校验符号)205或207。源符号和修复符号共同地称作编码符号。
[0047]如果用这样的方式构造源块,则可能增加零填充的长度。因此,本发明的示例性实施例提供一种有效地构造源块以改善纠错能力的方法,同时降低零填充数据的数量。
[0048]图3a和图3b示出根据本发明的示例性实施例的源块的配置。
[0049]参照图3a,源块构造器102以符号为基础将具有符号大小T的二维阵列的列划分成为m个区域。在图3a中示出的示例中,m = 4。如果T不是m的倍数,则m个区域包括每个具有[T/m]+l个列的区域以及每个具有[T/m]个列的区域。[A]表示等于或小于任一实数A的最大整数。每个具有[T/m]+l列的区域以及每个具有[T/m]个列的区域可以根据预定规则在发送器100和接收器110之间预定义,或者可以通过每个区域中的列的数量指示。预定规则可以是,如果将T除以m的余数是n (n<m),则最初的η个区域中的每一个具有[Τ/m]+l个列并且剩余的(m-Ι)个区域中的每一个具有[T/m]列。除了区域的常规划分之外,每个区域中的列的数量可以根据发送器100和接收器110之间的双方协定来不同地设置。
[0050]必要时,诸如流ID (例如,用户数据报协议(UDP)流ID)的特征信息301和分组长度信息302被添加到每个源分组。具有信息301和302的源分组从阵列中的第一行的第一列开始在符号大小T之内顺序地排列,。
[0051]利用预定值来填充排列了源分组的最后行当中的、添加有附加信息的源分组的最后数据被分配在其中的区域的剩余部分。预定值可以是0,但是不局限于此。例如,在图3a中,第一分组的最后数据被分配给四个区域中的第二区域,并且因此第二区域的剩余部分305用O填充。
[0052]在具有附加信息的一个源分组被排列之后,下一源分组从具有先前的源分组的最后行当中的、具有先前的源分组的最后数据的区域之后的区域的开始点开始。换句话说,每个源分组将从区域的开始点开始。例如,第二源分组从在零填充的数据305之后的第三区域的开始点开始。如果零填充的数据被分配给最后区域,类似第四源分组的零填充数据306,则第五源分组从下一行中的第一区域开始。
[0053]当以以上方式排列了全部给定源分组时,结果阵列307是源块。
[0054]图3b示出根据本发明的示例性实施例的、当T = 16并且m = 2时,利用分别具有长度18、32、59、20和24的五个用户数据报协议(UDP)分组构造的源块308。从UDP流O生成最初的两个分组,从UDP流I生成第三分组和第四分组,并且从UDP流2生成第五分组。如图3b中示出的,通过向每个源分组添加UDP流ID和UDP分组长度信息来构造源块。源块中的每个项Bi,j是字节数据,指示第(i+l)UDP分组的第(j+Ι)字节。
[0055]源块308的每行相应于一个源符号。如果根据划分的区域按照T/m对每个源符号进行子划分并且子划分的分段中的每一个被定义为子符号(子划分符号)或符号元素,则每个源符号包括源块308中的两个长度为8的子符号,如参考数字309指示的。因此,源块308包括12个源符号,即24个子符号309。
[0056]下面描述根据本发明的示例性实施例的源块的最后行(或最后的源符号)的结构的说明。
[0057]当利用源分组构造源块时,源块的长度K可能由于处理时间或系统中的存储容量的限制而受限。例如,如果源块的最大允许长度是Kmax,则很明显地是,包括在一个源块中的数据的最大大小是T*Kmax。然而,可能在排列源分组期间生成零填充,所以源块的实际数据可能小于T*Kmax个字节。
[0058]如果由于输入到源块构造器的特定分组的添加而导致源块要求比最大允许源块长度Kmax更多的源符号,则输入分组被排除在源块外。具体地,通过在最大数据大小之内顺序地分配源分组来构造不超过最大数据容量T*Kmax的源块。
[0059]在这种情况下,源块最后分组的部分始终位于源块的最后行(或最后的源符号)中。在最后的分组被分配之后,始终在最后行(或最后的源符号)的剩余部分中分配(或设置)预定值,而不管区域划分。例如,在图3b中,如果第五源分组是源块308的最后分组,则最后分组的数据的一部分位于最后的第12行(或源符号)的第一区域(或第一子符号)中。最后的第二区域(或第二子符号)以及第一区域的剩余部分(或第一子符号)全部用O填充,如所示的通过零填充310。
[0060]下面描述根据本发明的另一示例性实施例的源块的最后行(或源符号)的结构。
[0061]可以取决于系统设置条件在源块的最后行(或最后的源符号)的结构上施加多种约束。例如,可以指定仅一个源分组的数据的一部分始终被分配给源块的最后行(或源符号)。换句话说,不向源块的最后行(或源符号)同时分配两个或更多分组的部分数据。
[0062]下面描述在约束下构造源块的示例性操作。如果源块的最大允许长度是Kmax并且施加仅一个源分组的数据的一部分始终被分配给源块的最后行(或源符号)的约束,则如下构造源块。
[0063]如果添加特定源分组导致源块要求比Kmax更多的源符号,则源块构造器仅利用除了最后接收的源分组之外的先前接收到的源分组来构造源块。为了说明的方便起见,通过Packet-O表示最后接收的源分组,而通过Packet-l、Packet_2、...以相反次序表示先前的源分组。
[0064]源块构造器确定在Packet-O之前接收到的源分组当中的两个或更多源分组的部分数据是否被同时分配给源块的最后行(或源符号)。如果仅最后的源分组Packet-1的数据被分配给源块的最后行(或源符号),则源块构造器将该源块确定为最终源块。
[0065]相反,如果两个或更多源分组的部分数据包括在最后行(或源符号)中,则以到源块构造器的输入的相反次序从源块除去一个或多个源分组直到仅一个源分组的部分数据被包括在最后行(或源符号)中。例如,如果Packet-1和Packet-2的部分数据被包括在源块的最后行(或源符号)中,则从源块除去Packet-Ι。在另一示例中,如果Packet-1、Packet-2和Packet-3的部分数据被包括在源块的最后行(或源符号)中,则从源块中除去Packet-1和Packet-2。一旦以满足给定约束的方式适当地排列了源分组,结果源块被确定为最终的源块。
[0066]根据源块的最后行(或源符号)的结构的另一示例性实施例,源块长度的推荐的参考值被设置为Kb。在这种情况下,一个源块的优选的数据大小是T*Kb个字节。然而,因为可能在排列源分组期间存在零填充,所以源块的实际数据可能小于T*Kb个字节。
[0067]如果由于特定分组的输入导致源块要求多于源块长度Kb的源符号,则输入的分组成为源块的最后分组。具体地,当源分组被顺序地分配给源块时,在构造源块时使用直到第一源分组的分组,该第一源分组的添加使源块超过推荐的数据大小Kb。然而,如果由于最后输入的分组的添加导致源块超过系统设置的最大存储大小或缓冲大小,则最后输入的分组被排除在源块之外。
[0068]在以上示例性实施例中,虽然源符号的数量(即,源块长度)可以比Kb稍大,但是除最后的分组太大并且因此由于最后的分组的添加导致源块超过系统设置的最大存储或缓冲大小从而使得不可能构造源块的情况之外,可以满足仅一个源分组的数据的一部分被分配给源块的最后行(或最后的源符号)的约束。
[0069]如下根据本发明的示例性实施例构造源块。
[0070]具有符号大小T的二维阵列的列被划分成每个具有大小T/m的m个区域。在T不是m的倍数,则m个区域包括每个具有[T/m]+l个列的区域和每个具有[T/m]个列的区域。在必要时向源分组添加附加信息之后,在二维阵列中的符号大小之内顺序地排列源分组。根据另一示例性实施例,在确定了 m之后,T可以被定义为m的倍数。
[0071]每个源分组将从m个区域中的任何一个的第一列开始,并且诸如O的预定值被分配给源分组位于之中的最后行当中的、添加有附加信息的源分组的最后数据被分配在其中的区域的剩余部分。
[0072]虽然取决于系统需求T/m个或更多个零填充可以插入在排列的源分组之间,但是零填充的最大长度通常小于T/m以便最小化零填充的比率。因此,在添加有附加信息的一个源分组被排列之后,下一源分组从具有先前的源分组的最后行当中的、具有先前的源分组的最后数据的区域之后的区域的开始点开始。如果源分组的最后数据被分配给最后的第m区域,则下一源分组从下一行的第一区域开始。
[0073]与图2中示出的源块配置相比,图3a和图3b中示出的源块配置可以有效地降低零填充的数量。特别是当每个源分组的长度可变时,零填充的数量可以通过将二维阵列划分成为m个区域而平均降低Ι/m。因此,经FEC编码的源符号的数量可以降低。
[0074]假定给定符号大小T,在根据现有技术的方法中,从源分组生成Kl个源符号并且通过对源符号进行FEC编码生成Np个修复符号。也可以假定,给定符号大小T,从相同源分组生成K2个源符号,并且通过以同样方式对源符号进行FEC编码来生成相同数量的修复符号,即,Np个修复符号。因为从相同数量的源分组生成相同数量的修复符号,所以两种情况具有相同开销。然而,FEC码率Kl/(K1+Np)和K2/(K2+Np)之间的比较得出K1>K2。因此,Κ1/(Κ1+Νρ)>Κ2/(Κ2+Νρ)。已知地是,在相同的FEC方案中对于相同数量的奇偶校验信息,较低码率具有更强健的保护性能。
[0075]因此,本发明的示例性实施例可以提供比根据现有技术的方法更好的纠错性能,通过有效地降低零填充的数量而几乎没有额外开销。
[0076]在根据现有技术的源块配置中,如果一个源分组丢失,则该源分组排列在其中的全部行(即,源分组的全部编码符号)被认为丢失。相反,因为根据本发明的示例性实施例的源块的列或编码符号被划分成m个区域,所以可以区分丢失部分和正常部分,并且因此m个区域中的正常部分可以被用于解码,从而改善根据本发明的示例性实施例的解码性能。
[0077]当FEC应用于根据本发明的示例性实施例配置的源块时,发送器100将向接收器110发送指示源块中的划分的区域的数量的信息以及指示每个源分组的开始区域的信息。如果接收器110获得信息失败并且源分组丢失,则接收器110在对源分组进行FEC解码方面有困难,因为接收器110不知道源块中的丢失分组的位置。
[0078]关于符号大小T和划分的区域的数量m的信令信息可以被发送、添加到每个源分组或者在额外的分组中发送、添加。根据在额外的分组中发送信令信息的示例性实施例,T和m可以通过诸如会话描述协议(SDP)的内容传输协议(CDP)与FEC信息一起发送。如果T不是m的倍数,则接收器110可以根据预定规则基于T和m确定在每个区域中的列的数量(例如,每个上(upper)区域包括[T/m]+l列以及每个下(lower)区域包括[T/m]列)。
[0079]根据本发明的另一示例性实施例,指示每个源分组的开始行的信息(即,指示编码符号的次序以及源分组的开始编码符号中的源分组的开始区域的信息)可以添加到源分组并且发送到接收器110,以便接收器110可以确定源块中的源分组的布局。
[0080]图4示出根据本发明的示例性实施例的、添加到源分组和修复分组的信令信息。
[0081]参照图4,源分组和修复分组中的每一个可以包括以下参数中的至少一个。源块编号(SBN)401标识源分组涉及的源块,编码符号ID(ESI)402指示源分组的开始编码符号(即,源块中的源分组的开始行),并且分组开始位置(PSP) 403指示源块中的源分组的开始区域。SBN 401可以包括指示源块的开始源符号的ID的信息字段以及指示源块中的源符号的数量的信息字段。
[0082]例如,如果如图3a中所示的m = 4,则第一源分组的ESI和PSP可以是(0,0),第二源分组的ESI和PSP可以是(2,2),第三源分组的ESI和PSP可以是(4,3),并且第四源分组的ESI和PSP可以是(7,I)。
[0083]指示源块中的行的总数量的可选的源块长度(SBL)406可以被发送以便指定精确的源块配置。此外,ESI 405可以被添加到修复分组。
[0084]如果源块包括K个源符号,则顺序地分配值0、1、2、...(K-1)作为K个源符号的ESI 402,从而标识FEC源分组的源符号。每个源符号的ESI 402可以被称为源FEC有效负载ID,因为ESI 402标识FEC源分组中的源符号。
[0085]在替换实施例中,修复分组的ESI 405可以取决于系统要求而以各种方式分配。例如,如对源分组的ESI 402所做的,可以顺序地分配值0,1、2、...作为修复分组的ESI405。在这种情况下,可以最小化表示修复分组的ESI 405所需的八位字节大小。
[0086]在另一示例性实施例中,考虑到修复符号作为跟随源符号的编码符号,可以顺序地分配索引K、(K+1)、(K+2)、…作为修复符号的ESI 405。
[0087]在另一示例性实施例中,如果源块被划分成m个区域并且每个源符号被认为是k个子符号,则源块包括总共mXk个子符号。因此,可以顺序地分配值mXk、(mXk+1)、(mXk+2)、...作为修复符号的ESI 405。
[0088]信令字段401到406的大小可以取决于系统要求。在示例性实施例中,SBN 401可以是I或2字节,ESI 402可以是2或3字节,PSP 403可以是I或2字节,并且SBL 406可以是2或3字节。
[0089]接收器110从每个源分组获得SBN 40UESI 402 JPPSP 403。如果一个或多个源分组丢失并且因此需要FEC解码,则接收器110可以接收至少一个修复分组并且从修复分组获得SBL 406。一旦接收器110从额外的分组获得发送的源块中的关于区域的数量的信息,接收器110可以确定相应于SBN401的源块的完整配置。此外,接收器110可以通过从每个修复分组获得SBN404和ESI 405并且使用SBN 404和ESI 405对相应于SBN 404的源块进行FEC解码来恢复丢失源分组。
[0090]图5示出根据本发明的示例性实施例的、添加到源分组的信令信息。
[0091]参照图5,通过根据每个划分的区域对编码符号进行子划分,即,将编码符号子划分成为每个具有预定长度的预定数量的子符号,并且向每个区域分配符号编号,子划分的编码符号ID(SESI)502可以代替图4中示出的ESI 402和PSP 403。类似ESI 402,SESI502标识FEC源分组中的子符号,并且每个FEC源分组的SESI 502可以从先前的FEC源分组的SESI 502增加子符号的数量。如果划分的区域的数量是m,则子符号的数量是编码符号的总数量的m倍,并且子符号的大小是平均的编码符号大小的Ι/m。在示例性实施例中,SESI 502可以是2到4字节。
[0092]例如,如果如图3a中所示m = 4,则每个编码符号被划分成每个具有大小T/4的四个子符号。因此,子符号的总数量是编码符号的总数量的四倍。如图3a中所示,第一源分组到第四源分组的SESI可以分别表示为0、10、19和29。
[0093]虽然在以上的本发明的示例性实施例中SESI = mXESI+PSP,但是可以取决于系统设置以多种方式修改该关系式。接收器110可以基于关系式SESI =mXESI+PSP从ESI和 PSP 导出 SESI,以及通过 ESI = [SESI/m]和 PSP = SES1-mX [SEI/m]从 SESI 获得 ESI和PSP。接收器110可以根据FEC解码器113的配置在FEC解码中使用获得的值。
[0094]虽然在用于通过SDP在额外的分组中发送关于划分的区域的数量m的信令信息的开销方面有效,但是在本发明的另一示例性实施例中信令信息可以被添加到源分组或修复分组。
[0095]图6示出根据本发明的示例性实施例的、添加到修复分组的信令信息。
[0096]参照图6,SBN 404、ESI 405、SBL 406、以及指示划分的区域的数量m的区域的数量(number of reg1n, NOR) 407被添加到修复分组。
[0097]如果需要FEC解码,则接收器110可以从修复分组的SBL 406中确定源块的大小。此外,接收器110可以以区域为基础单独地解码源块,因为可以从N0R407确定源块被划分成多少个区域。
[0098]如果接收器110预期由于较差的网络或信道状态而需要FEC解码,则接收器110在接收源块的同时优选地确定源块中的区域的数量。因此,在将在下面描述的本发明的示例性实施例中,NOR可以在发送之前被添加到源分组。
[0099]图7和图8示出根据本发明的示例性实施例的、添加到源分组的信令信息。
[0100]参照图7和图8,如图7中所示,添加到源分组的信令信息包括SBN 70UESI 702、NOR 703和PSP 704。可替换地,如图8中所示,添加到源分组的信令信息可以包括SBN 801、NOR 802和SESI 803。根据本发明的示例性实施例,其他排列还可以是可能的。
[0101]如上所述,发送器100向源分组添加指示源块中的每个源分组的开始区域的信令信息并且发送该源块,以便向接收器110提供关于源块的配置的信息。信令信息包括SESI或PSP。此外,指示从源块划分的区域的数量的NOR可以被发送、添加到源分组或修复分组,或在额外的分组中被发送、添加。
[0102]接收器110可以通过接收SBN、SBL和NOR确定源块的配置,并且因此从接收到的SBN、SBL和NOR获得ESI和PSP或获得SESI,并且因此可以执行FEC解码。
[0103]第三代合作伙伴项目服务方面4多媒体广播和组播服务(3rd Generat1nPartnership Project Service Aspects 4 Multimedia Broadcast and MulticastService, 3GPP SA4 MBMS)标准使用Raptor码。可用于Raptor码的最大源符号大小是8192。因此,如果给出预定数量或更多个源分组,则在构造源块时在减少T以降低填充字节的数量方面存在的限制。
[0104]在这方面,当遵循3GPP SA4 MBMS标准实现本发明的示例性实施例时,对于Raptor码的最大可利用的资源符号大小8192之内的源分组,通过按照m划分T来构造源块。得到的填充字节数量的降低引起编码符号的数量的降低并改善纠错能力。
[0105]例如,如果存在1,000个源分组并且每个源分组的长度在512和1024字节之间随机地选择,则源分组的平均长度是768字节。因此,数据的总量是大约768,000字节。如果T设置为128字节,则每源分组的平均填充是64字节,并且因此填充的总量是64,000字节。因此,源块的总大小是832,000字节。因为T是128字节,所以源符号的数量是6500。
[0106]如果根据本发明M = 4,则子源符号大小是32 ( = T/4)并且每源分组生成16字节填充。因此填充的总量是16,000字节并且源块的总大小是784,000字节。因为T/4 =32,所以子源符号的数量是24500并且因此源符号的数量是6,125。因此,与根据现有技术的方法相比,本发明的示例性实施例可以减少源符号数量375( = 6,500-6, 125)。如果m =8、16等等,则可以提闻该效果。
[0107]当发送器100使用应用层-FEC(AL-FEC)时,发送器100按照预定数量顺序地划分给定的源分组。源块构造器接收预定数量的源分组,向每个源分组添加UDP流ID和源分组长度信息,并且因此根据给定T和m值构造包括K个源符号的源块。FEC编码器103使用源块生成预定数量的修复符号。以图4或图5中示出的方式,发送器100的信令信息生成器(未示出)向每个源分组的结尾添加SBN和SESI,或者通过连接一个或多个修复符号到每个源分组来生成修复分组并且向修复分组的开始添加SBN、ESI和SBL。分配修复分组的第一修复符号的ESI作为修复分组的ESI。UDP头被添加到每个分组的开始,并且因为源分组和修复分组具有不同的端口所以构造源分组和修复分组作为不同的UDP分组。可以在分组的发送之前通过SDP发送包括T和m的FEC信令信息。
[0108]在接收器110中,源块解释器112通过包括在接收到的分组中的UDP头的端口来识别接收到的分组是源分组还是修复分组。在源分组情况下,接收器110从源分组的结尾获得SBN和SESI。在修复分组情况下,接收器110从修复分组获得SBN、ESI和SBL。然后接收器110基于在前地接收到的T和m值从接收到的分组重建源块和修复符号。FEC解码器113解码m个子源符号中的每一个。可替换地,FEC解码器113可以解码大小为T的每个源符号。在这种情况下,如果具有大小T的源符号的子源符号丢失,则源符号被认为丢失然后被解码。
[0109]可以根据本发明的另一示例性实施例如下配置源块。
[0110]如果给定特定FEC码,则源符号的数量通常受限。如果用于给定FEC码的最大可用的编码符号的数量是Kmax,则源块可以考虑给定源分组的FEC编码/解码复杂性或者可以在源块的构造期间生成的填充字节的数量确定T而不管Kmax ;生成每个具有符号大小T的K个源符号;以及构造每个具有[K/m]+l或[K/m]个源符号的m个源块。例如,如果存在利用0,1,2.....(K-1)索引的K个源符号,则第一源块包括利用0、m、2m、3m.....{([K-1])/
m}xm索引的[Κ/Μ]个源符号,并且第二源块包括利用1、m+l、2m+l、3m+l.....{([K-1])/
m}Xm+l索引的[Κ/Μ]个索引。用这样的方式,可以构造m个源块。为了说明的方便起见,假定K是m的倍数。
[0111]如果mXKmax = K,则与常规方法相比,具有K/m( = Kmax)个源符号的源块可以具有较少量的填充。在常规方法中每源分组生成mXT/2字节个填充,而在以上方法中生成T/2字节个填充。因此,填充字节的数量平均减少(m-1) XT/2字节,并且因此编码符号的数量减少。
[0112]在本发明的扩展实施例中,每个具有K/m个源符号的m个源块可以组合成一个更大的源块。在这种情况下,符号大小是mXT并且图4到图8中示出的SBN标识更大的源块。
[0113]为了帮助理解,在图9中示出利用m = 4的简单示例。
[0114]图9示出根据本发明的示例性实施例的源块的配置。
[0115]参照图9,在生成K个源符号901之后,源块构造器利用以0、4、8、12、...、(K-4)
索引的K/4个源符号构造第一源块902,利用以1、5,9、13.....(K-3)索引的K/4个源符号构造第二源块903、利用以2、6、10、14、...,(K-2)索引的K/4个源符号构造第三源块904、并且利用以3、7,11、15.....(K-1)索引的K/4个源符号构造第四源块905。
[0116]发送器100或接收器110可以在源块902到905上单独地执行FEC编码或解码,或者可以组合源块902到905成为一个源块906并且在该源块906上执行FEC编码或解码。如果每个源符号901的大小是T,则组合的源块906的符号大小是4T。应当注意,组合的源块906具有图3a中示出的源块配置。
[0117]图9中示出的源块可以按图3a、图3b和图4中示出的源块类似的方式经受FEC编码和解码以及发信号。
[0118]根据本发明的另一示例性实施例,关于符号大小T和划分的区域的数量m的信息可以在额外的分组或路径中发送。为了帮助理解,下面将描述在3GPP TS26.346中通过SDP携带符号大小T的FEC对象传输信息(OTI)。
[0119]FEC OTI指定以符号为单位的最大源块长度以及以字节为单位的符号大小。符号大小和最大源块长度可以编码为4个八位字节字段。源块长度通过特定分组的修复FEC有效负载ID用信号通知其未超过用于特定流的、由FEC OTI指示的最大源块长度。FEC OTI通过SDP发送。修复FEC有效负载ID是添加到修复分组以指示源块配置的信令信息。
[0120]为了指示源块中的被划分的区域的数量m或者一个编码符号中的子符号的数量m,预定大小的信令信息可以被添加到FEC 0ΤΙ。发送器100还可以包括用于FEC OTI发送的信令信息生成器(未示出),并且接收器110还可以包括用于FEC OTI接收的信令信息接收器(未示出)。信令信息生成器以预定格式利用与源块构造器102中使用的相同的信令信息来构造FECOTI,并且通过预定传输协议,例如,通过SDP向接收器110发送FEC OT10信令信息接收器从接收自发送器100的FEC OTI提取信令信息,并且向源块解释器112提供提取的信令信息。
[0121]图1Oa和图1Ob示出根据本发明示例性实施例的FEC OT10
[0122]参照图10a,指示一个编码符号中的子符号的数量m的子符号的数量(NSS) 1002与符号大小(T) 1001和最大源块长度1003 —起包括在FEC OTI中。符号大小(T) 1001指示以字节为单位的编码符号的长度并且可以被定义为源符号或修复符号的长度。NSS 1002指示每源符号的子符号的数量或者包括在一个源符号中的符号元素的数量。
[0123]图1Ob示出根据本发明的示例性实施例的FEC OTI的配置,其中图1Oa的NSS1002被替换为NOR 1004。
[0124]参照图10b,NSS 1002指示一个符号中的子符号的数量,而NOR 1004指示源块中的划分的区域的数量。然而,NSS 1002和NOR 1004可以具有相同的值并且具有相同的功倉泛。
[0125]取决于系统要求,NSS 1002或NOR 1004可以具有可变长度而没有任何特殊限制。根据本发明的示例性实施例,NSS 1002或NOR 1004可以具有I或2个字节。在图1Oa和图1Ob中,可以根据系统发送或不发送最大源块长度1003。
[0126]将提供根据符号大小T和与NSS或NOR相对应的m之间的关系确定每个子符号的大小的示例性实施例的说明。
[0127]如果T除以m的商和余数分别是a和b(即,如果建立关系式T = mXa+b,0< =b〈m),则第一子符号中的每一个具有大小(a+Ι)并且剩余(m-b)个子符号中的每一个具有大小a。大小为(a+Ι)的子符号以及大小为a的子符号的次序可以颠倒。如果T是m的倍数,则每个子符号具有大小a。
[0128]下面描述根据符号大小T和与NSS或NOR相对应的m之间的关系确定每个子符号的大小的另一示例性实施例。
[0129]如果T除以m的商和余数分别是a和b,即,如果建立了关系式T = mXa+b,0< =b〈m,则第一子符号具有大小(a+Ι)并且剩余(m-Ι)个子符号中的每一个具有大小a。大小为(a+b)的子符号以及大小为a的子符号的次序可以颠倒。
[0130]如上所述,可以以多种方式设置每个子符号的大小。此外,每个子符号的大小可以表示为相应于子符号的区域中的列的数量。
[0131]在广播或通信系统中源块被构造并且被FEC编码以便允许接收器110恢复丢失分组的情况下,在下面参照图11和图12描述添加到源分组的信令信息(即,源分组附加信息)(即,源FEC有效负载ID)、添加到修复分组的信令信息(即,修复分组附加信息)(即,修复FEC有效负载ID)、以及用于指示源块配置的FEC OTI的集合(或组集)的示例。
[0132]图11示出根据本发明的示例性实施例的信令信息的集合。
[0133]参照图11,如果发送的源分组的一部分丢失并且因此需要FEC解码,则在使用一个或多个修复分组解码期间,接收器110从FEC OTI获得符号大小(T) 1001和NSS(m) 1002,从源分组附加信息获得SBN 501和SESI 502,并且从修复分组附加信息获得SBL 406,确定源块配置,以及通过适当地排列接收到的源分组来重建源块。因为每个源分组的SESI 502指示源分组的开始子符号,所以接收器110可以精确地确定每个源分组的布局。丢失源分组的位置进行清除处理。
[0134]接收器110根据从源分组附加信息获得的SBN 501以及从修复分组附加信息获得的SBN 404和ESI 405,基于源块和修复分组之间的映射关系执行FEC解码。FEC解码器113从FEC OTI获得NSS(即,m),将源块划分成为m个区域,并且解码单独的m个区域。根据本发明的另一示例性实施例,FEC解码器113可以通过将源块作为符号大小T的一个区域对待来执行FEC解码,而不将源块划分成为m个区域。在后一情况下,包括丢失源分组的全部行及其附加信息作为进行处理。
[0135]图12示出根据本发明的示例性实施例的信令信息的集合。
[0136]参照图12,信令信息集合包括源分组附加信息、修复分组附加信息和FEC 0ΤΙ。
[0137]不同于图11,FEC OTI如图1Ob中所示被构造。源分组附加信息用信号单独地通知 ESI 405 和 PSP 406,而不是 SESI 502。
[0138]如果发送的源分组的一部分丢失并且因此需要FEC解码,则接收器110从FEC OTI获得符号大小(T) 1001和NSS (m) 1004,从源分组附加信息获得SBN 401、ESI 402和PSP403,以及从修复分组附加信息获得SBL 406。在使用一个或多个修复分组的解码期间,接收器110确定源块配置,并且通过适当地排列接收到的源分组来重建源块。因为每个源分组的ESI 402指示源分组的开始行或源符号,并且每个源分组的PSP 403指示源分组的开始区域,所以接收器110可以精确地确定源块中的每个源分组的布局。丢失源分组的位置进行清除处理。
[0139]接收器110根据从源分组附加信息获得的SBN 401以及从修复分组附加信息获得的SBN 404和ESI 405,基于源块和修复分组之间的映射关系执行FEC解码。FEC解码器113从FEC OTI获得NSS 1004 ( S卩,m),分离源块成为m个区域,并且解码单独的m个区域。根据本发明的另一示例性实施例,FEC解码器113可以通过将源块作为符号大小T的一个区域对待来执行FEC解码,而不将源块划分成为m个区域。在后一情况下,包括丢失源分组的全部行及其附加信息进行清除处理。
[0140]图11和图12中示出的信令信息的集合包括接收器110恢复丢失源分组所需的全部信息。可以取决于系统情境在图11和图12中发送或不发送最大源块长度1003。
[0141]图13a和图13b示出根据本发明示例性实施例的FEC OT10
[0142]参照图13a和图13b,与图1Oa和图1Ob相比,在FEC OTI中包括子符号大小(Tsub) 1301而不是符号大小T。因为在符号大小T、子符号大小Tsub以及由NSS 1002或NOR 1004指示的m当中建立关系T/m = Tsub,所以可以基于该三个值中的两个确定另外一个参数。例如,因为在图13a和图13b中发送器100发送Tsub和m,所以接收器110接收Tsub以及m,通过T = mX Tsub计算符号大小,并且基于符号大小重建源块。类似在前描述的示例性实施例,可以不发送最大源块大小1003。
[0143]基于以下定义,下面描述基于源块和源分组之间的关系计算源块的大小(即,源块中的数据的总量)的操作:
[0144]η:源块中的UDP分组的数量。它在构造源块中是可变的。
[0145]R⑴:插入在源块中的第i UDP分组的UDP有效负载的八位字节。
[0146]I⑴:八位字节中的R(I)的长度。
[0147]L⑴:指示l(i)的值的两个八位字节。
[0148]f⑴:指示第i UDP分组的UDP流ID的整数。
[0149]F⑴:指示f(i)的值的一个八位字节。
[0150]T:以字节为单位的源符号大小。
[0151]m:源符号(或编码符号)中的子符号的数量。如果T/m = T’,则T’是子符号的长度。
[0152]s (i):满足 s (i) XT/m = s (i) XT’> = (I ⑴+3)的最小整数。
[0153]P(i):s(i)Xr-(l(i)+3)个零八位字节。P(i)是将每个UDP分组的开始对准子符号的开始的填充八位字节。
[0154]如果对于i = 1、2、...、n,s(i) XT’的总和是S,则K( = ceil(S/T))是源块的长度并且358( = 1'*(^11(5/1'))是源块的大小。对于实数x,ceil(x)表示等于或大于x的最小整数。
[0155]可以推断出对于i = 1、2、...、η,通过将F(i),L(i),R(i)和P(i)值级联到SSB( =T*ceil(S/T))值来构造源块。本文,S是s(i)XT’值的总和,其中i = 1,2,…,η。
[0156]本发明的特定方面还可以具体实现为非临时计算机可读记录介质上的计算机可读代码。计算机可读记录介质是能够存储稍后能被计算机系统读取的数据的任何数据存储设备。计算机可读记录介质的例子包括只读存储器(ROM)、随机存取存储器(RAM)、CD-R0M、磁带、软盘和光数据存储设备。此外,对于实现本发明的功能程序、代码和代码段能够被本发明所属领域中的熟练程序员容易地理解。
[0157]尽管已经参照本发明的特定示例性实施例示出和描述了本发明,但本领域技术人员将会理解本发明可以对本发明进行形式和细节上的各种改变而不会脱离权利要求及其等同物限定的本发明的精神和范围。
【权利要求】
1.一种在广播和通信系统中发送分组的方法,所述方法包括: 将与二维阵列的每行相对应的、具有预定符号大小(T)作为宽度的每个符号划分成为预定数量(m)个区域; 从二维阵列的第一行的第一列开始,在二维阵列中的符号大小T之内顺序地排列将发送的源分组; 将排列了源分组的最后行当中的、源分组的最后数据被分配在其中的区域的剩余部分设置为预定值; 在源分组被排列之后,从排列了源分组的最后行当中的、最后数据被分配在其中的区域的下一区域的开始点开始排列下一源分组; 通过在二维阵列中排列全部源分组来构造源块; 对源块进行前向纠错(FEC)编码;以及 发送经FEC编码的源块。
2.如权利要求1所述的方法,其中所述二维阵列的每行被划分成m个区域,每个区域具有T/m个列。
3.如权利要求2所述的方法,还包括在FEC对象传输信息(OTI)中发送关于T和m的信息。
4.如权利要求1所述的方法,其中所述源分组中的每一个包括标识源块的源块编号(SBN)以及标识源分组的符号的编码符号标识符(ESI)。
5.如权利要求4所述的方法,其中所述ESI被设置为按照每源分组的区域的数量来增加。
6.如权利要求4所述的方法,其中所述源分组中的每一个还包括如下中的至少一个:指示区域的预定数量(m)的区域的数量(N0R),指示由ESI指示的行中的源分组的开始区域的分组开始位置(PSP),以及指示源块中的行的总数量的源块长度(SBL)。
7.如权利要求1所述的方法,还包括发送通过对源块进行FEC编码生成的修复分组, 其中所述修复分组中的每一个包括标识源块的SBN以及标识与修复分组相对应的源分组的符号的ESI。
8.如权利要求7所述的方法,其中所述修复分组中的每一个还包括如下中的至少一个:指示区域的预定数量(m)的N0R,指示由ESI指示的行中的源分组的开始区域的PSP,以及指示源块中的行的总数量的SBL。
9.一种在广播和通信系统中发送分组的装置,所述装置被配置为执行权利要求1到8中的一个的方法。
10.一种在广播和通信系统中接收分组的方法,所述方法包括: 解释在源块中接收到的数据;以及 对源块进行前向纠错(FEC)解码, 其中所述源块通过如下来构造: 将与二维阵列的每行相对应的、具有预定符号大小(T)作为宽度的每个符号划分成为预定数量(m)个区域; 从二维阵列的第一行的第一列开始,在二维阵列中的符号大小T之内顺序地排列将发送的源分组; 将排列了源分组的最后行当中的、源分组的最后数据被分配在其中的区域的剩余部分设置为预定值; 在源分组被排列之后,从排列了源分组的最后行当中的、最后数据被分配在其中的区域的下一区域的开始点开始排列下一源分组;以及在二维阵列中排列全部源分组以便构造源块。
11.如权利要求1O所述的方法,其中所述二维阵列的每行被划分成m个区域,每个区域具有T/m个列。
12.如权利要求11所述的方法,还包括在FEC对象传输信息(OTI)中接收关于T和m的信息。
13.如权利要求10所述的方法,其中所述源分组中的每一个包括标识源块的源块编号(SBN)以及标识源分组的符号的编码符号标识符(ESI)。
14.如权利要求13所述的方法,其中所述ESI被设置为按照每源分组的区域的数量来增加。
15.如权利要求13所述的方法,其中所述源分组中的每一个还包括如下中的至少一个:指示区域的预定数量(m)的区域的数量(NOR),指示由ESI指示的行中的源分组的开始区域的分组开始位置(PSP),以及指示源块中的行的总数量的源块长度(SBL)。
16.如权利要求10所述的方法,还包括接收通过对源块进行FEC编码生成的修复分组, 其中所述修复分组中的每一个包括标识源块的SBN以及标识与修复分组相对应的源分组的符号的ESI。
17.如权利要求16所述的方法,其中所述修复分组中的每一个还包括如下中的至少一个:指示区域的预定数量(m)的N0R,指示由ESI指示的行中的源分组的开始区域的PSP,以及指示源块中的行的总数量的SBL。
18.—种在广播和通信系统中接收分组的装置,所述装置被配置为执行权利要求10到17中的一个的方法。
【文档编号】H04L1/00GK104303470SQ201380024021
【公开日】2015年1月21日 申请日期:2013年5月7日 优先权日:2012年5月7日
【发明者】明世澔, 黄盛凞, 梁贤九 申请人:三星电子株式会社