编码和解码信号的装置和方法

申请号 CN200880016135.X 申请日 2008-05-16 公开(公告)号 CN101933235A 公开(公告)日 2010-12-29
申请人 汤姆森特许公司; 发明人 理查德·W·西塔; 斯科特·M·洛普雷斯托;
摘要 新的能 力 使传统广播传送可用于移动设备。本 实施例 描述了编码和解码 信号 的装置和方法。该装置(600)包括:第一 编码器 (602),第一编码器(602)接收数据并使用第一字节码编码处理来编码数据;与第一编码器(602)耦合的交织器(604),用于从第一编码器(602)接收编码的数据并重新排序数据;和与交织器(604)耦合的第二编码器(606),用于接收重新排序的数据并使用第二字节码编码处理来编码重新排序的数据。该方法(1600)包括如下步骤:接收数据(1610);使用第一字节码编码处理来编码数据(1620);交织编码的数据(1630);和使用第二字节码编码处理来编码交织的数据(1640)。还描述了解码信号的装置和方法。
权利要求

1.一种包括如下步骤的方法(1600):
接收(1610)数据;
使用第一字节码编码处理来编码(1620)数据;
交织(1630)编码的数据;和
使用第二字节码编码处理来编码(1640)交织的数据。
2.如权利要求1所述的方法(1600),其中,所述第一字节码编码处理和所述第二字节码编码处理使用伽罗瓦域生成矩阵来补充数据。
3.如权利要求2所述的方法(1600),其中,在伽罗瓦域256上将所述生成矩阵定义成:
(12)。
4.如权利要求3所述的方法(1600),其中,所述生成矩阵产生等于1/2比率的码率。
5.如权利要求2所述的方法(1600),其中,在伽罗瓦域256上将所述生成矩阵定义成:

6.如权利要求5所述的方法(1600),其中,所述生成矩阵产生等于2/3比率的码率。
7.如权利要求1所述的方法(1600),其中,所述第一字节码编码处理和所述第二字节码编码处理使用不同编码率。
8.如权利要求1所述的方法(1600),其中,以分组来排列所述接收(1610)的步骤中的数据,每个分组包括187个字节的数据。
9.如权利要求1所述的方法(1600),进一步包含收缩(1650)编码的交织的数据的步骤。
10.如权利要求9所述的方法(1600),其中,所述收缩(1650)的步骤包括从所述编码的交织的数据中去除一部分数据。
11.如权利要求10所述的方法(1600),其中,所述收缩(1650)的步骤导致数据的收缩的字节的编组,其中所述编组中的字节的数量是26的倍 数。
12.如权利要求10所述的方法(1600),其中,所述收缩(1650)的步骤导致数据的收缩的字节的编组,其中所述编组中的字节的数量是24的倍数。
13.如权利要求1所述的方法(1600),其中,所述使用第一字节码编码处理来编码(1620)的步骤包括编码接收的数据的字节的编组。
14.如权利要求13所述的方法(1600),其中,在所述交织的步骤中使用的字节的数量等于所述第一字节码编码处理所输出的输出字节的数量。
15.如权利要求1所述的方法(1600),其中,基于在白噪声平上降低字节错误率来排列所述交织。
16.如权利要求1所述的方法(1600),其中,所述交织依照如下表格发生:
  输入   0    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17    18    19    20    21    22    23    输出   0    12    1    13    2    14    3    15    4    16    5    17    6    18    7    19    8    20    9    21    10    22    11    23 
17.如权利要求1所述的方法(1600),其中,所述交织依照如下表格发生:
  输入    0    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17    输出    10    13    0    5    1    17    3    11    12    15    4    6    2    9    7    16    8    14 
18.如权利要求1所述的方法(1600),其中,所述第一字节码编码处理和所述第二字节码编码处理被包括在GF(256)串行级联的码处理中。
19.如权利要求1所述的方法(1600),其中,在电视广播系统中使用所述方法。
20.一种包含如下的装置(600):
第一编码器(602),所述第一编码器(602)接收数据并使用第一字节码编码处理来编码数据;
与第一编码器(602)耦合的交织器(604),用于从第一编码器(602)接收编码的数据并重新排序数据;和
与交织器(604)耦合的第二编码器(606),用于接收重新排序的数据并使用第二字节码编码处理来编码重新排序数据。
21.如权利要求20所述的装置(600),其中,所述交织器(604)基于在白噪声水平上降低字节错误率来重新排序数据。 
22.如权利要求20所述的装置(600),其中,所述第一编码器(602)和所述第二编码器(606)使用伽罗瓦域生成矩阵来补充数据。
23.如权利要求22所述的装置(600),其中,在伽罗瓦域256上将所述第一编码器(602)的生成矩阵定义成如下之一:
(12)和 
以及在伽罗瓦域256上将所述第二编码器(606)的生成矩阵定义成如下之一:
(12)和 
24.如权利要求20所述的装置(600),其中,所述第一编码器(602)和所述第二编码器(606)使用不同编码率来编码数据。
25.如权利要求20所述的装置(600),其中,所述第一编码器(602)以1/2比率和2/3比率之一的码率来编码数据,所述第二编码器(606)以1/2比率和2/3比率之一的码率来编码数据。
26.如权利要求20所述的装置(600),进一步包含与所述第二编码器(606)耦合的收缩块(608),所述收缩块(608)去除从所述第二编码器输出的编码的数据的至少一部分。
27.如权利要求20所述的装置(600),其中,以分组来排列接收的数据,每个分组包括187个字节的数据。
28.如权利要求27所述的装置(600),进一步包含与所述收缩块(608)耦合的分组化块(610),所述分组化块(610)输出收缩的分组的编组使得所述编组中的分组的数量是24个分组、26个分组、和52个分组之一。
29.如权利要求20所述的装置(600),其中,所述第一编码器(602)和所述第二编码器(606)被包括在伽罗瓦域(256)串行级联的块编码器中。
30.一种包含以下部件的装置(600):
使用第一字节码编码处理来编码(602)数据的部件;
交织(604)所述编码的数据的部件;和
使用第二字节码编码处理来编码(606)所述交织的数据的部件。
31.如权利要求30所述的装置(600),其中,所述使用第一字节码编码处理来编码(602)的部件和所述使用第二字节码编码处理来编码(606)的 部件包括使用伽罗瓦域生成矩阵来补充数据的部件。
32.如权利要求30所述的装置(600),其中,以分组来排列数据编码处理,每个分组包括187个字节的数据。
33.一种包含如下步骤的方法:
接收数据;
使用第一字节码解码处理来解码数据;
去交织解码的数据;和
使用第二字节码解码处理来解码去交织的数据。
34.如权利要求33所述的方法,其中,以分组来排列所述接收步骤中的数据,每个分组包括207个字节的数据。
35.如权利要求33所述的方法,进一步包含处理解码的去交织的数据以对移动接收器生成数据流的步骤。
36.一种接收信号的装置(2200),包含:
第一解码器(2204),所述第一编码器(2204)接收数据,所述第一编码器使用第一字节码解码处理来解码数据;
与第一解码器(2204)耦合的去交织器(2208),所述去交织器重新排序解码的数据;和
与所述去交织器(2208)耦合的第二解码器(2210),所述第二解码器(2210)使用第二字节码解码处理来解码重新排序的数据。
37.如权利要求36所述的装置(2200),进一步包含与所述第一解码器(2204)耦合的格状解码器(2202),所述格状解码器(2202)接收数据并使用卷积解码处理来解码数据,
其中,所述第一解码器(2204)将反馈提供给所述格状解码器(2202)。
38.如权利要求36所述的装置(2200),其中,所述第二解码器(2210)将反馈提供给所述第一解码器(2204)。
39.如权利要求36所述的装置(2200),其中,以分组来排列接收的数据,每个分组包括207个字节的数据。 

说明书全文

技术领域

本公开一般涉及数字广播系统的操作,且更具体地涉及为旨在供移动、行人和个人设备使用的广播电视进行编码和解码数据。

背景技术

这个部分旨在向读者介绍可能涉及如下所述的本发明的各个方面的现有技术的各个方面。相信这个讨论有助于向读者提供便于更好地理解本发明的各个方面的背景信息。于是,应理解,要就此而论来阅读这些陈述,而不是将这些陈述看作现有技术的入
全世界的电视广播系统都已经从模拟音频和视频信号的传送转移到现代数字通信系统。例如,在美国,高级电视标准委员会(ATSC)已经开发出了叫做“ATSC标准:数字电视标准A/53”的标准(A53标准)。A/53标准定义了应该如何编码和解码数字电视广播的数据。另外,美国联邦通信委员会(FCC)已经为电视广播分配了部分电磁频谱。FCC将所分配部分内的邻接的6MHz(兆赫)信道指定给广播电台来传送地面(即,非有线或卫星)数字电视广播。每个6MHz信道具有基于A53标准下的编码和调制格式的大约19Mb/s(兆比特每秒)的信道容量。而且,FCC还强制要求通过6MHz信道传送地面数字电视数据必须遵从A53标准。
A53标准定义了应该如何将源数据(例如,数字音频和视频数据)处理和调制成通过信道传送的信号。该处理将冗余信息添加源数据中,以便即使信道将噪声和多径干扰添加到传送的信号中,从信道接收信号的接收器也可以恢复源数据。被添加到源数据中的冗余信息降低了传送源数据的有效数据速率,但提高了从传送信号中成功恢复源数据的可能性。
图1示出了传送遵从A53标准的信号的典型的传送系统100的方图。数据由传送源102生成并被排列成分组。这些分组的尺寸是187个字节,并且可以包含一个或多个码字(codeword)。每个分组包括3字节首标(header),其中的13比特是标识在该分组中发送的数据的类型的分组ID(PID)。例如,PID具有0x11(十六进制11)值的分组可以将内容标识成含有第一视频流,而包含具有0x14值的PID的分组可以将这种分组的内容标识为第一音频流。数据随机性发生器(randomizer)104使分组随机化,并且将分组提供给里德-索洛蒙(Reed-Solomon)编码器106。里德-索洛蒙编码器106计算20个奇偶校验(parity)字节并将它们级联(concatenate)成随机化数据,以产生具有207个字节的R-S分组。
卷积交织器(convolutional interleaver)108交织R-S分组,以便在时间上进一步使数据随机化。格状(trellis)编码器110编码交织的分组以产生828个3-比特码元的块。A53标准规定使用12个格状编码器,其中每个格状编码器是为在交织的分组中存在的每两个比特产生3比特码元的2/3比率格状编码器。其结果是,格状编码器110包括解多路复用器(demultiplexer)、12个并行2/3比率格状编码器、和多路复用器。将来自卷积交织器108的数据进行解多路复用和分配给12个格状编码器,并且将12个格状编码器生成的码元多路复用成码元流。
同步多路复用器112在每个828码元块的开头处插入4个预定分段同步码元以创建832码元的分段。另外,同步多路复用器112为生成的每312个分段插入包含832个码元的字段同步。具体地,字段同步码元在312个分段之前。
8-VSB调制器114使用包括格状编码器110编码的数据、分段同步码元、和字段同步的多路复用码元,以便利用8-VSB(残留边带)调制来调制载波信号。具体地说,8-VSB调制器114生成一信号,其中该信号的幅度处在8个离散电平之一上,其中每个离散电平对应于特定的3比特码元。此后,使用未示出的电路将该信号从数字信号转换成模拟信号格式并上变频(up-convert)为射频。使用天线116传送该射频信号。通常,将数据随机性发生器104、里德-索洛蒙编码器106、卷积交织器108、和格状编码器110的组合称为8-VSB编码器120。8-VSB编码器120也可以被称为A53编码器或ATSC编码器。
传送源102生成的数据包括作为使用运动画面娱乐组(MPEG)2格式编码的源的视频,MPEG 2格式也等效于国际标准化组织/国际电工委员会(ISO/IEC)13818-2格式。传送源102还包括作为使用杜比(Dolby)Arc(弧)一致性算法的#3(AC-3)编码的源的音频数据。A53标准还允许将元数据用于诸如节目指南数据之类的其它节目元素,并且这样的节目元素可以是使用其它方法编码的源。另外,A53标准允许传送以从标准清晰度隔行扫描电视质量逐行扫描宽屏高清质量的多种视频质量平和显示格式的视频。FCC要求广播电台必须使用A53标准来编码传送源102生成的数据。如果数字电视节目广播的传送未要求所分配信道的整个19Mb/s容量,则广播电台可以使用任何多余容量来广播其它服务,甚至可能向诸如便携式接收器和蜂窝式电话之类的设备广播其它服务。但是,FCC要求使用多余容量被传送给这样的其它设备的任何数据必须依照A53标准来进行传送。A53标准的修订是可能的并且这是由ATSC所考虑的,但是,必须逐渐地发展,以便可以继续使用现有的,或所谓传统的数字电视接收器。类似地,依照现有A53标准编码和传送信号可以称为传统的编码和传送。
图2示出了可以用于从遵从现有的或传统的A53标准的接收信号中提取源信息的接收器200的方块图。天线202从通过无线电波(airwave)传送的电磁信号中获得(develop)接收的电信号。模拟-数字(A/D)转换器204产生接收信号的数字样本,而格状解码器206解码数字样本,以便产生数据流中的比特的格状解码估计的流。A/D转换器204还可以包括诸如在接收信号内接收所希望的信道的调谐器之类的附加前端处理电路。依照现有或传统A53标准,格状解码器206包括信号解多路复用器、12个2/3比率格状解码器和信号多路复用器。解多路复用器在12个2/3比率格状解码器之间分发(distribute)数字样本,多路复用器多路复用12个2/3比率格状解码器的每一个按字节生成的估计。
卷积去交织器208去交织格状解码的比特估计的流,产生被排列成包括207个字节的序列或分组。连同未示出的同步信号位置确定和识别来执行分组排列。里德-索洛蒙纠错电路210将由去交织器208产生的207个字节的每个序列看作一个或多个码字,并确定码字或分组中的任何字节是否在传送期间由于错误而损坏。往往通过为码字计算和评估一组校验子(syndrome)或错误型式(pattern)来执行该确定。如果检测到损坏,里德-索洛蒙纠错电路210设法使用在奇偶校验字节中编码的信息恢复受损的字节。然后,由去随机性发生器212将作为结果的纠错后的数据流去随机化,并在此后将其提供给正依照传送的内容的类型来解码数据流的数据解码器214。通常,将格状解码器206、去交织器208、里德-索洛蒙解码器210、和去随机性发生器212的组合标识成接收器200内的8-VSB解码器220。重要的是要注意,一般说来,接收遵从传统的A53标准的信号的典型接收器以与传送处理相反的次序执行接收处理。
一般说来,在里德-索洛蒙编码和解码中采用的算法对于本领域的技术人员来说是众所周知的。如上所述,图1的里德-索洛蒙编码器106通过将20个奇偶校验字节添加到具有187个字节的数据分组中生成具有207个字节的码字。图2的里德-索洛蒙解码器210使用由编码器添加的20个字节来纠正多达10个字节的码字中的错误。
里德-索洛蒙纠错算法利用伽罗瓦(Galois)域的特性。具体地说,伽罗瓦域GF(pn)是包含有限数目的元素pn的数学集合,其中p和n的值是整数。使用生成多项式g(x)来定义具体的伽罗瓦域。伽罗瓦域的每个元素可以通过具有n个比特的唯一比特型式来表示。而且,可以将pn次(degree)的唯一多项式与每个元素相关联,其中多项式的每个系数在0到p-1之间。并且,伽罗瓦域中的数学运算具有重要特性。将伽罗瓦域GF(pn)的两个元素的相加(addition)定义成与多项式相关联的元素,该多项式具有作为与被相加的两个元素相关联的多项式的系数的模p和的系数。类似地,将两个元素的相乘定义成以与伽罗瓦域相关联的生成多项式g(x)为模(modulo)的、与两个元素相关联的多项式的相乘。在伽罗瓦域上定义加法和乘法运算符,以便伽罗瓦域的任何两个元素的之和以及之积也是伽罗瓦域的元素。里德-索洛蒙码字的特性是将码字的每个字节乘以伽罗瓦域的元素导致另一有效的里德-索洛蒙码字。而且,两个里德-索洛蒙码字的逐个字节相加产生另一里德-索洛蒙码字。传统A53标准定义用在里德-索洛蒙算法中的256元素伽罗瓦域GF(28)和相关的生成多项式g(x)。伽罗瓦域的特性还建立了为码字生成校验子以便确定错误的能
将来自去随机性发生器的输出分组提供给数据解码器214。数据解码器214使用解码分组的首标中的PID来确定在分组中携带的信息的类型和如何解码这样的信息。将首标中的PID与节目映射表(PMT)中的信息相比较,PMT可以作为数据流的一部分而周期性地传送并在接收器中更新。数据解码器214忽略含有不是所识别类型的数据分组的PID的任何分组。如此,传统A53标准通过允许传送源为新分组类型指定唯一PID值,来允许创建在原标准中未考虑到的新分组类型。不支持新分组类型的传统解码器可以忽略这样的分组,而的确辨别新分组类型的新解码器可以处理这样的分组。
显而易见,只将那些被接收器200中的2/3比率格状解码器206和里德-索洛蒙解码器210适当解码的分组提供给数据解码器214。如果格状解码器206和里德-索洛蒙解码器210不能解码分组,则接收器一般将这样的分组作为错误分组而丢弃。如果接收到太多的错误分组,一些能够接收遵从A53标准的信号的接收器可以设法与传送器重新同步。
重要的是要注意,除了用无线电之外,通常可以以包括在同轴电缆或电话线上传送的方式来传送遵从A53标准的信号。
目前,现有或传统A53标准定义了生成和传送旨在供接收器使用的信号,所述接收器一般是固定的(例如,在家中)以及被耦合到捕获所传送的信号的大型天线。但是,传送的信号不足以强壮或健壮到允许移动接收器或带有在便携式电视、车辆电视、蜂窝式电话、个人数字助理等中使用的小型天线的接收器有效地提取在这样的信号中编码的源数据。具体地,2/3比率格状编码器提供的冗余度是不够的,而低比率编码器(即,具有较大冗余度的那些编码器)是移动采用所必需的。因此,最好引入适合以移动、手持和行人设备中的高级接收器更好地执行的更健壮编码处理。

发明内容

依照本实施例的一个方面,描述了包括如下步骤的方法:接收数据;使用第一字节码编码处理来编码数据;交织编码的数据;和使用第二字节码编码处理来编码交织的数据。
依照本实施例的另一个方面,描述了包括如下的装置:第一编码器,该第一编码器接收数据并使用第一字节码编码处理来编码数据;与第一编码器耦合的交织器,用于从第一编码器接收编码的数据并重新排序该数据;和与交织器耦合的第二编码器,用于接收重新排序的数据并使用第二字节码编码处理来编码重新排序的数据。
依照本实施例的另一个方面,描述了包括如下步骤的方法:接收数据;使用第一字节码解码处理来解码数据;去交织解码的数据;和使用第二字节码解码处理来解码去交织的数据。
依照本实施例的另一个方面,描述了接收信号的装置,其包括:第一解码器,该第一编码器接收数据并使用第一字节码解码处理来解码数据;与第一解码器耦合的去交织器,该去交织器重新排序解码的数据;和与去交织器耦合的第二解码器,该第二解码器使用第二字节码解码处理来解码重新排序数据。
附图说明
在附图中:
图1是传送遵从A53标准的信号的典型传送系统的方块图;
图2是接收遵从A53标准的信号的典型接收器的方块图;
图3是本公开的编码器的实施例的方块图;
图4是本公开的编码器的另一实施例的方块图;
图5是本公开的编码器的又一实施例的方块图;
图6是本公开的级联的字节码(byte-code)编码器的实施例的方块图;
图7是图示本公开的数据交织的映射的表格;
图8是本公开的级联的字节码编码器的另一实施例的方块图;
图9是本公开的级联的字节码编码器的又一实施例的方块图;
图10是本公开的级联的字节码编码器的另一实施例的方块图;
图11是图示本公开的数据交织的另一映射的表格;
图12是本公开的级联的字节码编码器的更进一步实施例的方块图;
图13是在本公开的传送设备中使用的编码器的又一实施例的方块图;
图14是图示本公开的行取向(row oriented)的数据的表格;
图15是图示本公开的列取向(column oriented)的数据的表格;
图16是本公开的编码处理的实施例的流程图
图17是本公开的编码处理的另一实施例的流程图;
图18是图示本公开的比特至码元的映射的表格;
图19是图示本公开的交织器中的字节映射的表格;
图20是本公开的解码器的实施例的方块图;
图21是本公开的解码器的另一实施例的方块图;
图22是本公开的级联的字节码解码器的实施例的方块图;
图23是本公开的级联的字节码解码器的另一实施例的方块图;和
图24是本公开的级联的字节码解码器的又一实施例的方块图。
本发明的特征和优点可以从通过例子给出的如下描述中变得更明显。

具体实施方式

下面将描述本发明的一个或多个具体实施例。为了努力提供这些实施例的简洁描述,并不是实际实现的所有特征都在说明书中加以描述。应该懂得,在像在任何工程或设计项目中那样,任何这样的实际实现的开发中,必须做出许多具体实现的决定以达到开发者的特定目的,譬如,遵从可能随实现而变的系统相关和商业相关的约束。此外,还应该懂得,对于受益于本公开的普通技术人员来说,这样的开发努力不过是设计、制作、和制造的例行任务。
下文描述了涉及电视广播信号、且具体地涉及为供美国使用而定义的广播信号的系统。所述的实施例可以用在移动的、手持的、或行人的设备中。所用设备的例子包括,但不局限于,蜂窝式电话、智能电话、个人数字助理、膝上型计算机、以及便携式电视。用于传送和接收其它类型信号的其它系统可以包括类似结构和处理。本领域的普通技术人员应该懂得,在此所述的电路和处理的实施例仅仅是一组可能的实施例。同样地,在可替代实施例中,可以重新排列或省略该系统的组件,或可以添加附加组件。例如,只要做少许修改,就可以将所述的系统配置成供包括在世界其它地方使用的服务的卫星视频和音频服务或电话数据服务使用。
现在转到图3,示出了编码器300的实施例的方块图。编码器300包括适合将数据编码成作为结果的强壮或健壮的数据流的处理电路。将数据编码成强壮的数据流使得在困难传送环境下也可以恢复数据。例如,编码器300产生的强壮的数据流允许改善手持的、移动的、或行人的接收设备对广播电视信号的接收。传送源303连接到随机性发生器304。随机性发生器304提供信号M并连接到里德-索洛蒙编码器306。里德-索洛蒙编码器306提供信号C并连接到字节码编码器308。字节码编码器308提供两个信号A和A′,并将每个信号连接到交织器310。交织器310提供输出信号I并连接到格状编码器312。某些方块与前面所述的方块类似,并且同样地,这里将不作详细描述。
图3中的数据随机性发生器304将来自传送源302的数据分组的流随机化。数据分组的流被组织成187个字节的编组(group)。重要的是要注意到,用于数据分组流的其它排列也是可以的。另外,每个数据分组可以包括一个或多个码字。里德-索洛蒙编码器306对每个187字节随机化分组进行编码,以产生包含一个或多个码字的207字节分组。里德-索洛蒙编码器206通常产生20个新字节,并将20个新字节附在187字节码字的末端。字节码编码器308进一步接收信号C,并编码每个207字节里德-索洛蒙分组,以产生附加的207字节码字。在一个实施例中,字节码编码器308是1/2比率编码器。1/2比率编码器为在输入端上提供的每个码字提供两个输出码字。如图3所示,可以作为信号A和A′分开地提供两个码字中的每一个。正如下面进一步详述的那样,其它码率编码器也可以用于字节码编码器308。卷积交织器310交织每个207字节码字,并将作为结果的信号I提供给格状编码器312,以为调制和传送作好准备。里德-索洛蒙编码器306、卷积交织器310、和格状编码器312可以与用在遵从诸如传统A53标准之类的现有电视广播标准的传统传送器中的那些相同。
如上所述,1/2比率字节码编码器308生成的两个码字或分组包括原输入里德-索洛蒙分组的副本(replica)和对里德-索洛蒙分组提供冗余的新码字。两个码字也可以被描述为系统的(systematic)数据和非系统的数据。重要的是要注意到,可以排列表示系统的和非系统的数据的码字以形成较大的数据结构。在优选实施例中,可以组织码字以形成数据分组的强壮的数据流。强壮的数据流包括作为流A中的数据分组的副本的系统的分组、以及流A′中通过字节码编码器的处理生成的非系统的分组。非系统的分组还包括可以从强壮的数据流的其它系统的和非系统的分组中导出的分组。另外,强壮的数据流中的分组可以进一步包括系统的字节和非系统的字节。在这样的实施例中,系统的字节是内容数据的字节的副本,而非系统字节是从其它系统的和非系统的字节中导出的那些字节。
字节码编码器输出的冗余或非系统码字或分组是将里德-索洛蒙分组的每个元素乘以伽罗瓦域的元素b的结果。在一个实施例中,如果传送源302和数据随机性发生器304生成消息M,消息M由字节M(1),M(2),...,M(187)组成,其中M(1)是消息的第1字节,M(2)是消息的第2字节,依此类推,那么,里德-索洛蒙编码器306此后从消息M中产生分组或码字C,其中码字C包含字节C(1),C(2),...,C(207)。随后,字节码编码器308按如下从码字C中产生码字A和A′:
A(i)=C(i)  i=1,2,...,207                          (1)
A’(i)=b*C(i)  i=1,2,...,207                     (2)
值b是可以供里德-索洛蒙编码器306使用的相同伽罗瓦域GF(28)的预定(非零)元素。在一个示例性实施例中,b元素的值是2。显而易见,码字A′也是里德-索洛蒙码字。也就是说,遵从传统A53标准的接收器中的里德-索洛蒙解码器从码字A′中计算有效的校验子,以确定在信号传送期间错误是否被引入码字A′中,并且还使用计算的校验子纠正任何这样的错误。
现在转到图4,示出了编码器400的另一实施例的方块图。编码器400中的方块主要具有与以前针对编码器300所述的相同的功能。但是,已经按操作次序重新排列了几个方块。字节码编码器406已经位于里德-索洛蒙编码器408之前。在这种排列中,传送源402和数据随机性发生器404产生消息流M。可以将该消息流排列成例如187字节分组。示为1/2比率编码器的字节码编码器406为每个输入的187字节消息分组生成两个187字节分组。与前面一样,两个187字节分组包括标为A的并标识成系统的分组的消息分组的副本,以及标识成包含冗余数据的非系统的分组的新分组A′。重要的是要注意到,图4中标为A和A′的分组不同于图3中的分组A和A′。
里德-索洛蒙编码器408依次编码两个分组A和A′,以分别产生两个207字节码字C和C ′。卷积交织器410交织每个码字C和C′,此后,格状编码器412编码交织的数据,为调制做准备。字节码编码器406和里德-索洛蒙编码器408使用的伽罗瓦域算术的特性保证了码字C和C′分别与码字A和A′相同。重要的是要注意到,因为块处理并且在相同伽罗瓦域上基本数学关系是线性运算,所以可以对方块重新排序。
现在转到图5,示出了编码器500的另一实施例的方块图。与前面一样,编码器500中的方块主要具有与以前针对编码器300和400所述的相同的功能。但是,已经按操作次序重新排列了几个方块。字节码编码器504已经位于随机性发生器506之前。数据发生器502生成以例如187字节数据分组排列的消息流。对于每个这样的数据分组,字节码编码器504生成系统的分组(即,数据分组的副本),并生成附加的非系统的分组(即,通过字节码编码数据分组生成的字节编码的分组)。字节码编码器504生成的分组(原始数据和编码的)被包括在可以提供给传统8-VSB信号编码器530的强壮的数据流中。传统8-VSB信号编码器530在功能上与如图1所示的8-VSB编码器120相似。传统8-VSB编码器530包括数据随机性发生器506、里德-索洛蒙编码器508、卷积交织器510、和格状编码器512。传统的8-VSB编码器530如前所述地对遵从A53标准的系统的分组和非系统的分组相同地进行编码。如所示的,可以将数据发生器502和字节码编码器504看作传送源520的一部分。此外,通过对诸如传统的8-VSB编码器530之类的现有传送设备的现有硬件结构做少许改变,可以添加字节码编码器504产生强壮或健壮数据流的附加功能。重要的是要注意到,由于块处理并且在相同伽罗瓦域上基本数学关系是线性运算,所以可以对随机性发生器506和字节码编码器504重新定位。随机性发生器506与里德-索洛蒙编码器一样,使用将数据中的每个字节乘以恒定值的线性运算。
字节码编码器504编码数据分组的所有字节,包括形成包含PID的首标的字节,来生成强壮的数据流的一个或多个非系统的分组。因此,每个非系统的分组的PID都进行字节码编码,可能不再表示接收设备可识别的PID值。
显而易见,通过编码器500描绘的传送器的实施例编码的任何分组都可以通过与在图2(例如,遵从A53标准的传统接收器)中描述的解码器200类似的解码器的实施例来解码。解码器216将强壮的数据流的分组提供给数据解码器214。强壮的数据流包括解码器220不能正确解码的、使用字节码编码器编码的非系统的分组。但是,因为这样的分组具有在节目映射表(PMT)中不与现有或传统的数据格式相关联的PID,所以传统接收器中的数据解码器214忽略强壮的数据流的这些非系统的分组。
字节码编码器504使用上面的等式(2)为每个系统的分组生成非系统的分组,并且将两种分组提供给传统8-VSB编码器530加以传送,产生具有1/2的有效数据率(即,1个字节进,2个字节出)的编码流。如前所述,字节码编码器504能够使用其它编码率来产生其它有效数据率。在一些实施例中,字节码编码器可以为数据发生器504产生的每两个源分组产生一个字节编码的分组,以生成2/3比率强壮的数据流,该数据流包含两个系统的分组和按如下计算的一个非系统的分组:
MAB(i)=MA(i)*b1+MB(i)*b2  i=1,2,...,187             (3)
其中,MA和MB是数据发生器502产生的相继的系统的分组,而b1和b2是诸如里德-索洛蒙编码器508使用的伽罗瓦域之类的伽罗瓦域的预定元素。在一个示例性实施例中,b1和b2元素的值是2。在一些实施例中,b1和b2的值可能不相同。字节码编码器504将分组MA,MB、和MAB提供给传统8-VSB编码器530,以便进一步编码和传送。
字节码编码器504可以通过包括生成冗余分组的附加输入数据分组,来使用不同的编码率以产生强壮的数据流(即,具有低数据率的数据流)。字节码编码器504的一个实施例通过采用来自数据发生器502的四个系统的分组MA、MB、MC、和MD,以及按如下计算的5个非系统的分组,来产生4/9比率数据流:
MAB(i)=MA(i)*b1+MB(i)*b2       i=1,2,...,187         (4)
MCD(i)=MC(i)*b3+MD(i)*b4       i=1,2,...,187         (5)
MAC(i)=MA(i)*b5+MC(i)*b6       i=1,2,...,187         (6)
MBD(i)=MB(i)*b7+MD(i)*b8       i=1,2,...,187         (7)
MABCD(i)=MAB(i)*b9+MCD(i)*b10  i=1,2,...,187         (8)
值b1,b2,...,b10是从伽罗瓦域中选择的预定元素。在一个示例性实施例中,b1,b2,...,b10的值是2。另外,如等式(8)所示,分组MABCD是只从其它冗余分组,具体地说,只是从分组MAB和MCD中生成的冗余分组。显而易见,可替代地可以使用冗余分组MAC和MBC的元素来生成冗余分组MABCD。在传送源发生器520的一些实施例中,可以在被称为收缩(puncturing)的操作中执行一个或多个非系统的分组的消除。例如,可以通过例如不生成只采用冗余分组的分组之一(即,在这种情况下,MABCD)来产生4/8收缩率。代码收缩可以用于改变传送分组的数量,以便满足对传送的分组或码字的数量的某些限制。
另外,字节码编码器504也可以通过按如下采用8个数据分组MA,MB,...,MH来产生19个非系统的分组,以产生具有8/27的数据率的强壮的数据流:
MAB(i)=MA(i)*b1+MB(i)*b2       i=1,2,...,187    (9)
MCD(i)=MC(i)*b3+MD(i)*b4       i=1,2,...,187    (10)
MAC(i)=MA(i)*b5+MC(i)*b6       i=1,2,...,187    (11)
MBD(i)=MB(i)*b7+MD(i)*b8       i=1,2,...,187    (12)
MABCD(i)=MAB(i)*b9+MCD(i)*b10  i=1,2,...,187    (13)
MEF(i)=ME(i)*b11+MF(i)*b12     i=1,2,...,187    (14)
MGH(i)=MG(i)*b13+MH(i)*b14     i=1,2,...,187    (15)
MEG(i)=ME(i)*b15+MG(i)*b16     i=1,2,...,187    (16)
MFH(i)=MF(i)*b17+MH(i)*b18     i=1,2,...,187    (17)
MEFGH(i)=MEF(i)*b19+MGH(i)*b20 i=1,2,...,187    (18)
MAE(i)=MA(i)*b21+ME(i)*b22     i=1,2,...,187    (19)
MBF(i)=MB(i)*b23+MF(i)*b24     i=1,2,...,187    (20)
MCG(i)=MC(i)*b25+MG(i)*b26     i=1,2,...,187    (21)
MDH(i)=MD(i)*b27+MH(i)*b28     i=1,2,...,187    (22)
MACEG(i)=MAC(i)*b29+MEG(i)*b30 i=1,2,...,187    (23)
MBDFH(i)=MBD(i)*b31+MFH(i)*b32 i=1,2,...,187    (24)
MABEF(i)=MAB(i)*b33+MEF(i)*b34 i=1,2,...,187    (25)
MCDGH(i)=MCD(i)*b35+MGH(i)*b36    i=1,2,...,187         (26)
MABCDEFGH(i)=MABCD(i)*b37+MEFGH(i)*b38  i=1,2,...,187   (27)
另外,字节码编码器504可以通过不生成分组MABCDEFGH、或只从冗余分组生成的另一个分组,来生成具有8/26的数据率的收缩码。
如上所述,可以将字节码编码器配置成基于所使用的码字或分组的数量和通过单个编码处理形成的码字或分组的数量来产生某些编码码率。另外,可以将前述码率编码器的特定的排列用作构件或组成的码率编码器来构建更复杂的码率。另外,可以包括附加处理块以形成级联的字节码编码器。例如,除了冗余之外,级联的字节码编码器可以在组成的字节码编码器之间使用附加的交织块来提高所产生的数据流的强壮性。下面将描述级联的字节码编码器的各种实施例。
现在转到图6,示出了级联的字节码编码器600的实施例。该级联的字节码编码器接收分组或码字,并将它们提供给第一2/3比率字节码编码器602。将第一2/3比率字节码编码器602的输出提供给交织器604。将交织器604的输出提供给第二2/3比率字节码编码器606。将第二2/3比率字节码编码器606的输出提供给字节收缩块608。将收缩块608的输出提供给数据分组器610。可以提供数据分组器610的输出供进一步处理(例如,如前面在图5中所述的传统的传送编码)。
第一2/3比率字节码编码器602接收内容数据分组的12个字节,并且从该12个字节中生成第一字节码编码流。对于12个字节的每两个内容数据字节MA和MB,第一字节码编码流包括字节MA和MB的副本和如前所述计算的冗余字节MAB。在一些实施例中,内容数据字节MA和MB是数据发生器(例如,图5中的数据发生器502)生成的一个内容数据分组的字节。在其它实施例中,第一2/3比率字节码编码器602分别从两个不同内容数据分组A和B中选择内容数据字节MA和MB。对于内容数据的每12个字节,输出18个字节作为第一字节码编码的输出流的一部分。
第一字节码编码流经交织器604交织,产生包含18个交织字节的交织流。交织器604以及如下所述的其它交织器可以使用在本领域已知的任何交织方法(例如,伪随机、行-列、代码优化等)。另外,交织器也可以包括具有存储整个交织器数据长度的存储容量的存储器。在优选实施例中,交织器604如图7所示的表格700中呈现的那样排列输出字节。表格700包括指示输入端处字节的位置的行710。行720指示当在输出端处读出字节时这些字节的次序。将交织流提供给第二2/3比率字节码编码器606。第二2/3比率字节码编码器606编码交织流中的18个交织字节的编组,以生成包括27个字节的编组的第二字节码编码流。如上所述,对于交织器产生的每两个字节IA和IB,第二2/3比率字节编码流含有两个字节IA和IB的副本和字节IAB。显而易见,字节IA可以是数据发生器(例如,图5中的数据发生器502)生成的内容数据的字节之一的副本,或可以是由第一字节码编码器602作为冗余或非系统的字节获得的字节。类似地,字节IB可以是内容数据的字节的副本,或可以是由第一字节码编码器602作为冗余或非系统获得的字节。
用在线性编码器中的交织器传统上在交织器长度或深度上很长。用在级联的字节码编码器中的、诸如交织器604之类的交织器在长度上是短的,并且针对编码率加以优化。与传统方法相反,字节码交织器强调例如短的等待时间(latency)。
字节收缩块608从第二字节码编码流中的27个字节的编组中去除一个字节,以产生包含26个字节的编组的收缩流。使用字节收缩、通过减少为给定编码结构提供的和传送的字节的数量来提高数据效率。但是,针对作为结果的、由于来自数据流的一个或多个编码的字节的缺失(absence)引起的接收器中的解码电路的性能降级来权衡(trade off)所提高的数据效率。字节收缩也可以用于产生对于传送格式来说方便的字节的编组或块或者编码的数据的分组。基于字节或分组的某些编组的编码结构往往称为块码。
字节收缩块608也可以从第二编码流中去除不止1个字节。例如,可以识别可以去除的3个字节以产生12/24比率数据流。收缩不止一个字节在取得编码率的提高的同时将进一步使编码的效率降低。在字节收缩块608中去除附加字节是基于交织器604中的最佳交织而实现的。这样,收缩和交织相互作用(interact),以允许基于产生输出分组的给定输出块大小的最佳码率。
分组器610组合来自收缩流的字节,并将它们编组成187个字节的离散分组。由字节码编码器600的组件产生的强壮的数据流产生12/26比率数据流。如果不使用字节收缩块608,则字节码编码器600也可以产生12/27比率数据流。
可以采用与级联的字节码编码器600类似的级联的字节码编码器产生除了上述的12/27比率和12/26比率强壮的数据流之外的其它强壮的数据流。转到图8,示出了级联的字节码编码器800的实施例的另一方块图。级联的字节码编码器800与字节码编码器600类似,除了第一2/3比率字节码编码器802对内容数据的每4个字节产生包含6个字节的编组的第一字节码编码数据流之外。交织器804交织6个字节,并且第二2/3比率字节码编码器806对提供的每6个字节产生包含9个字节的编组的第二字节码编码数据流。对于两个2/3比率字节码编码器的级联,交织器804表示最小的可能的交织器长度。字节收缩808对第二2/3比率字节码编码器806生成的每9个字节去除一个字节。字节码编码器800产生的强壮的数据流被编码成4/8比率字节码。如果不使用字节收缩808,则字节码编码器800也可以用于产生4/9比率字节码。
现在转到图9,示出了级联的字节码编码器900的又一实施例的方块图。第一字节码编码器902和交织器904与字节码编码器600的那些相同。但是,第二字节码编码器906是1/2比率字节码编码器。1/2比率字节码编码器906编码交织流中的18个交织字节的编组,以生成包括27个字节的编组的第二字节码编码流。如上所述,对于交织器904产生的每一个字节I,1/2比率字节码编码流包括字节I的副本和非系统的字节I′。显而易见,字节I可以是数据发生器(例如,图5中的数据发生器502)生成的内容数据的字节之一的副本,或可以是由第一字节码编码器902作为冗余或非系统的字节获得的字节。
字节收缩块908从第二字节码编码流中的36个字节的编组中去除一个字节,产生包含35个字节的编组的收缩流。级联的字节码编码器900可以产生12/35比率收缩的强壮的数据流或12/36比率未收缩的数据流。
尽管图6、8和9示出了利用两个组成字节码编码器和一个交织器的级联的字节码编码器的实施例,但字节码编码器的其它实施例可以包括附加组成字节码编码器和交织器以产生具有其它数据率的强壮的数据流。现在转到图10,示出了级联的字节码编码器1000的又一实施例的方块图。编码器1000包括三个组成字节码编码器、两个交织器、和一个收缩块。1/2比率字节码编码器1002接收来自数据发生器(诸如数据发生器502之类)的内容数据字节。1/2比率字节码编码器对接收的内容数据的每12个字节生成第一字节码编码流中的24个字节的编组。
第一交织器1004交织第一字节码编码流中的24字节编组,并将第一交织流中的交织的24个字节的编组提供给第一2/3比率字节码编码器1006。在优选实施例中,第一交织器1004如在如图11所示的表格1100中呈现的那样排列输出字节。表格1100包括指示输入端处字节的位置的行1110。行1120指示当在输出端处读出字节时这些字节的次序。第一2/3比率字节码编码器1006对提供的24个字节的每个编组产生包含36个字节的编组的第二字节码编码流。第二交织器1008通过将36个字节的每个编组划分成18个字节的两个集合(set)而交织36字节第二字节码编码流。第二交织器1008交织18个字节的每个集合,并将交织的数据提供给第二2/3比率字节码编码器1010作为两个18字节交织的流。第二2/3比率字节码编码器1010以与第一2/3比率字节码编码器1006相似的方式操作,并编码每个18字节交织的流,以产生包含27个字节的编组的第三字节码编码流。字节收缩块1012收缩第三字节码编码流的1个字节,并将26个字节提供给分组器1014。分组器1014对交织器1008分离的26个字节的集合进行重新编组。分组器1014还像前述的那样组合来自收缩流的字节,并将它们编组成187个字节的离散分组。因为第二2/3比率字节码编码器910对在编码器1000的输入端上接收的每12个字节产生2个27字节字节码编码流,所以级联的字节码编码器1000产生12/54未收缩的强壮的数据流或12/52收缩数据流。
转到图12,示出了用于示出级联的字节码编码器1200的又一实施例的方块图。级联的字节码编码器1200包括并行连接和操作的两个组成字节码编码器。换言之,与如前所述的串行级联相反,该级联是并行级联。将来自输入流的17个字节分成16个字节的第一编组和1个字节的第二编组。2/3比率字节码编码器1210接收16个字节的第一编组,并对接收的内容数据的每16个字节生成24字节第一字节码编码流。1/2比率字节码编码器1220接收1个字节的第二编组,并对接收的内容数据的每1个字节生成2字节第二字节码编码流。包含24个字节的编组的第一字节码编码流和包含2个字节的编组的第二字节码编码流被级联以形成包含26个字节的编组的最终的字节码编码流。级联的字节码编码器1200产生17/26比率未收缩的强壮的数据流。
对于本领域的技术人员来说,显而易见,具有除如图6、8、9、10、和12所示的那些之外的其它比率的级联的字节码编码器可以用于以各种码率产生强壮的数据流。类似地,其它类型或排列的交织器或收缩块可以替代在所述实施例中使用的那些。
现在转到图13,示出了编码器1300的又一实施例的方块图。编码器1300是图5所示的编码器500的替代物,并包括MPEG传输流的源1302。MPEG传输流的源1302与包含几个附加块的ATSC M/H块1310连接。在ATSC M/H块1310内包含的那些块处理输入的数据流,并产生适合于移动的、行人、和手持设备接收和使用的强壮的数据流。下面将进一步描述这些方块。ATSCM/H块1310与内部也包含几个附加块的ATSC A53传统块1350连接。在ATSCA53传统块1350内包含的数据随机性发生器1352、里德-索洛蒙编码器1354、卷积字节交织器1356、格状编码器1358、同步插入块1360、和调制块1362与在图1中所述的那些块类似。因此,这里将不再进一步描述这些块。
在ATSC M/H块1310内,分组交织器1312接收按分组排列的数据流。每个分组包含187个字节并包括用于分组标识的3字节首标。将分组交织器1312的输出提供给GF(256)串行级联块编码器(SCBC)1314。将GF(256)SCBC 1314的输出连接到分组去交织器(deinterleaver)1316。将分组去交织器1316的输出连接到传输流首标修改器1318。将传输流首标修改器1318的输出连接到先验(a-priori)传输分组插入器1320。将先验传输分组插入器1320的输出连接到ATSC A53传统编码器1350。
分组交织器1312将作为以行排列的分组而接收的数据重新排列成基于来自分组的行的字节的列的码字。分组交织器1312像图示在图14中那样按逐行的次序从固定数量的相继(consecutive)分组中取出字节,并像在图15中图示的那样逐列地输出字节。具体地,图14和15图示了读入12行的187字节分组和输出187列的12字节代码字。作为分组交织的结果,标为字节0的所有第1字节都被编组在一起,标为字节1的所有第2字节都被编组在一起,依此类推。被读入交织器中的分组的数量构成源,并等于GF(256)SCBC 1314中的处理所需的源码字或码元的数量。重要的是要注意到,可以基于所包括的存储器的类型和大小来改变分组交织器1312的维度(dimension)。例如,可以将第一维度改变成列,而将第二维度改变成行。另外,也可以使用其它维度的排列。
GF(256)SCBC 1314是与前述的字节码编码器类似的块码编码器。具体地,在伽罗瓦域(256)空间上使用短的线性块码实现GF(256)SCBC 1314。可以使用两个组成块码。1/2比率块码编码器使用如下生成矩阵:
G=(1 2)                    (28)
(28)中的矩阵包括在第二列中呈现的具有来自等式(1)的值的b元素。2/3比率块码编码器使用如下生成矩阵:
G=102012---(29)
使用单位矩阵(identity matrix)和一列b元素来形成生成矩阵。矩阵(29)中的第三列包括具有2的值的来自等式(2)和(3)的b元素。重要的是要注意到,已经基于块码编码与整个纠错系统的关系以及调制处理对每个组成代码的生成矩阵中的系数进行了优化。该优化特别考虑到格状编码和8-VSB调制中的比特到码元的映射,因为这些方面在接收和解调处理中是首要方面。
GF(256)SCBC 1314可以是简单的或级联的块码编码器。级联的块码编码器可以包括如前所述的诸如交织和收缩之类的其它功能。GF(256)SCBC1314可能还能够以编码多个编码率,并且可能进一步能够通过未示出的比率模式控制器来切换比率模式。在优选实施例中,GF(256)SCBC 1314可以适于使用以下之一来编码输入的数据流:如前所述的1/2比率组成代码、如图6所示的12/26比率代码、如图10所示的12/52比率代码、或如图12所示的17/26比率代码。
GF(256)SCBC 1314编码从交织器1312输出的沿着列的字节。换句话说,GF(256)SCBC 1314按照通过分组交织器1312中的处理形成的交织器矩阵的第二维度来编码。
分组去交织器1316接收GF(256)SCBC 1314产生的码字的编码流,并输出187字节分组的重构的行。分组去交织器1316按逐列的次序输入编码的码字,每列包括通过GF(256)SCBC 1314中的处理所添加的冗余或非系统的字节,并且以逐行的排列输出这些字节。该处理基本上是利用反转图14和15的次序、对于分组交织器1312所述的处理的反转。分组去交织器1312输入相同数量的列的码字,每个码字现在包括非系统的字节的编码的集合。输出端上的行数对应于编码的码字长度。例如,在12/26码率中,将输出26行的分组。重要的是要注意到,可以基于所包括的存储器的类型和大小来改变分组去交织器1316的维度。另外,可以将第一维度改变成行,而将第二维度改变成列。另外,也可以使用其它维度的排列。
可以将分组排列成两个不同编组。分组的第一编组可以被称为系统的分组,并且与传输流源1302提供的数据的原始分组相同。分组的第二编组可以被称为非系统的分组,并且是通过GF(256)SCBC 1314中的块编码处理形成的奇偶校验分组。重要的是要注意到,作为块编码处理的结果,列的数量(即,第二维度的大小)已经增加了。
MPEG传输流首标修改器1318接收包含系统和非系统的分组的编组的去交织的187字节分组。如前所述,每个分组包含3字节首标。3个字节包括PID,连同用于传达与分组有关的信息的几个其它的比特或比特的编组。为了保持能够接收传统或A53广播信号但不能正确解码ATSC M/H编码的分组的接收器(即,传统接收器)的最有效率的操作,可以修改一部分ATSC M/H分组的首标中的某些比特。通过修改非系统的分组首标中的这些比特,传统接收器应该忽略这些分组,而不是将这些分组看作是损坏的。例如,MPEG传输流首标修改器1318可以将TEI比特、有效载荷单元开始指示符比特、和传输优先级比特设置成‘0’的比特值。另外,加扰控制和自适应字段比特(各2个比特)可以被设置成‘00’。3个比特长的连续计数器也可以被设置成‘000’。最后,PID可以被设置成诸如将被所有传统接收器都忽略的已知值之类的、唯一的和未用过的值。重要的是要注意到,由于MPEG传输流首标修改器1318将对非系统的分组的编组修改每个首标,因此GF(256)SCBC 1314可能没有必要对非系统的分组的编组处理首标。另外,如果传统的接收器不能处理和正确解码系统的分组,则MPEG传输流首标修改器1318也可以修改这些系统分组的首标。如果系统的分组不能被GF(256)SCBC编码器1314编码或不能被MPEG传输流首标修改器1318处理,则可以向移动设备和传统的接收器两者同时广播(simulcast)作为结果的数据流并由移动设备和传统接收器两者接收该数据流。
先验跟踪分组插入器1320可以将预定跟踪分组置入强壮的数据流中。预定分组表示诸如在移动、行人、或手持设备中使用的接收器之类的、能够接收强壮的数据流的接收器完全知道或几乎完全知道的信息的分组。在接收器中使用预定分组有助于解码在传统的或现有的A53编码部分对信号编码和传送的期间建立的格状状态。预定分组也可能有助于接收器的均衡器部分中的收敛(convergence)。重要的是要注意到,预定分组不是旨在改善传统接收器中的接收,但仍然可能导致潜在的改善。此外,与传统训练信息不同,因为预定分组是在执行附加传统编码之前添加的,因此预定分组在传送器的输出端处是不可直接识别的。具体地,可以通过格状编码的处理来变更预定分组。其结果是,预定分组在格状解码期间不提供直接训练,而是提供在确定格状解码映射或分支(branch)中使用的先验分支信息。
可以使用已知训练序列处理以多种方式来生成预定跟踪分组。在一个优选实施例中,预定跟踪分组包括接收器也知道的、具有使用伪随机数(PN)发生器所生成的剩余字节的有效首标。预定跟踪分组也可以被称为先验训练数据、格状模糊(trellis-obscured)训练数据、或伪训练分组,其可以贯穿ATSCM/H传送以某种方式被分配,或者可以以作为ATSC M/H信号传送的前同步码(preamble)的方式在包括放置分组或分组的编组的编组中成簇(cluster)。
传统ATSC编码器1350遵从如前所述的传统A53标准,相同地编码系统的分组和非系统的分组。通过对传送设备的现有硬件结构作少许改变,可以添加ATSC M/H块1310的附加功能以产生强壮或健壮的数据流。另外,为了在ATSC M/H块1310中以一种或多种编码率编码,可以提取来自MPEG传输源1302的输入分组的部分。然后,可以在输入分组的剩余未处理部分上和在ATSC传统编码器1350中编码的已编码部分和未处理部分这两者上重新插入或附上编码的分组。可替代地,可以将分离的分组流提供给ATSC M/H块1310,并且在第二分组流中插入或附上所编码的输出并将其提供给ATSC传统编码器1350。
现在转到图16,示出了用于示出编码处理1600的一个实施例的流程图。处理1600图示了可以用于从输入数据流中生成强壮的数据流的级联的字节码编码处理。将主要参照如图6所示的级联的字节码编码器600来描述处理1600。但是,可以容易地使该处理适配于包括如图6、8、9、10、和12所示和如上所述的编码器在内的任何字节码编码器。此外,重要的是要注意到,可以使用包括离散处理块的或包含一些或所有的必要块的集成电路的硬件、使用在微处理器部件中操作的软件,或使用硬件和软件两者的组合来执行处理1600。另外,将参照数据的字节、码字、和分组来描述处理1600。但是,对于本领域的技术人员来说,显而易见,其它数据配置或排列也是可以的,并且可以使用它们。
首先,在步骤1610中,接收数据流。可以这样排列数据流使得可以将数据的字节编组成码字,并进一步排列成包含一个或多个码字的全部或部分的分组。例如,可以按包含187个字节的数据的分组来排列数据,每个分组包含用于标识目的的分组首标。接着,在步骤1620中,对数据的分组进行字节码编码。可以使用前面讨论过的组成编码器之一来执行步骤1620中的编码。例如,编码步骤1620可以使用导致对于每12个输入字节的数据,输出18个字节的数据的2/3比率字节码编码。可替代地,该编码步骤可以使用诸如1/2比率之类的另一字节码编码率。编码步骤1620可以使用如等式(28)和(29)所示的生成矩阵来补充(supplement)数据的输入字节。补充输入数据包括通过诸如字节码或块码编码处理之类的编码处理来创建纠错或冗余数据字节。输出字节包括已知为系统的字节的数据的12个输入字节的副本,以及冗余或非系统的数据的6个字节。
接着,在步骤1630中,交织来自步骤1620的编码的数据字节。可以使用几种交织排列。例如,如图7所图示的交织排列。图7中的交织排列在使字节码编码步骤1620中生成的代码的距离最大的同时,提供了相对较小交织器尺寸。换句话说,可以优化交织器尺寸,以便在存在白噪声时降低字节错误率。接着,在步骤1640中,对来自步骤1630的交织的字节进行第二次字节码编码。可以使用前面讨论过的组成编码器之一来执行第二字节码编码步骤1640。例如,步骤1620中的编码可以使用导致对于每18个输入字节的数据、输出27个字节的数据的2/3比率字节码编码。可替代地,该编码步骤可以使用诸如1/2比率之类的另一字节码编码率。编码步骤1640像上述那样,可以使用如等式(28)和(29)所示的生成矩阵来补充数据的输入字节。输出字节包括被称为系统的字节的、18个输入字节的数据副本,以及9个字节的冗余或非系统的数据。此外,显而易见,一些系统的字节可以是原始输入数据的字节之一的副本,或可以是由第一字节码编码步骤1620作为冗余或非系统的字节获得的字节。
接着,在步骤1650中,收缩数据字节的第二编码流。收缩步骤1650从第二编码的流中去除数据字节之一。去除的字节可以是第二编码步骤1640的非系统的字节,并且还可以是也来自第一编码步骤1620的非系统的字节。最后,在步骤1660中,将数据流提供给诸如传统或现有的A53编码之类的附加处理。步骤1660也可以包括在提供数据流之前将编码的字节重新分组成与原始接收的排列相似的分组。所述的处理1600导致生成12/26比率的字节码编码的数据流。
可以从处理1600中去除步骤1650中的收缩。基于步骤1630中的交织来执行对要去除的字节的选择。例如,第二编码步骤1640可以不生成作为其编码的一部分的非系统字节之一,直接导致收缩流,这也是可以的。另外,可以绕过收缩步骤1650,以产生未收缩的12/27比率字节码编码的数据流。
步骤1650中的收缩也可以从第二编码流中去除不止1个字节。例如,可以识别可能去除的3个字节以产生12/24比率字节码编码的数据流。收缩不止一个字节在使编码率得到提高的同时将进一步降低编码的效率。基于步骤1630中的最佳交织来实现在收缩步骤1650中对附加字节的去除。这样,收缩和交织相互作用,以允许基于产生输出分组的给定输出块大小的最佳码率成为可能。
重要的是要注意到,可以重复步骤1630和1640,以便形成包括两个交织步骤和三个字节码编码步骤的不同级联的字节码编码处理。可以通过诸如图9所示的编码器900之类的编码器使用使用了重复步骤1530和1540的处理来生成12/52比率强壮的数据流。也可以容易地使处理1600适配于诸如如上所述的那些之类的其它码率。
现在转到图17,示出了示出编码处理1700的另一个实施例的流程图。处理1700图示了以下步骤,其用于编码和传送也遵从现有或传统A53信号格式的、包括系统和非系统的或冗余数据分组的ATSC M/H数据流。将主要参照图13中的编码器1300来描述处理1700。如上所述,可以使用包括离散处理块或包含一些或所有的必要块的集成电路的硬件、使用在微处理器部件中操作的软件,或使用硬件和软件两者的组合来执行处理1700。重要的是要注意到,可以基于确切需要的实现通过去除或重新排列某些步骤而使处理1700适应。
首先,在步骤1710中,接收分组的传输流。每个分组包含187个字节并包括首标。首标包括PID以及有关分组的其它信息。接着,在步骤1720中,分离或提取标识成用于ATSC M/H分组的分组。将剩余分组标识成未处理的。重要的是要注意到,取代从组合的单个传输流中提取、可以作为分组的分离的输入传输流来提供ATSC M/H分组。另外,可以将传输流中的所有分组都标识成ATSC M/H分组。这些条件的哪一个都可以消除对提取步骤1720的需要。另外,可以对标识成ATSC M/H或未处理的分组进行编组,且可以通过分离编码码率进一步对ATSC M/H标识分组进行标识和编组。
接着,在步骤1730中,按行读入或输入ATSC M/H标识的分组的集合或编组并按列或交织的分组将其输出。输出数据的列等效于码字,每个码字的大小等于分组的编组的大小。图14和15图示了用于示出在步骤1730中读入行和输出列的分组交织的矩阵。重要的是要注意到,可以将在步骤1730中使用的交织器的维度改变成,例如,输入列和输出行,或使用基于交织器实现的任何其它维度方面。接着,在步骤1740中,对来自步骤1730的每个码字进行块码编码。步骤1730中的块码编码类似于处理1600中的字节码编码,并且可以使用简单的编码处理或级联的编码处理。例如,块码编码步骤1730可以使用以下来对码字进行编码:1/2比率组成代码、12/26比率代码、12/52比率代码、或17/26比率代码。
接着,在步骤1750中,通过按列输入码字和按行输出数据分组来对编码的码字的集合进行分组去交织。输入码字现在包含由步骤1730中通过块码编码生成的字节的数量。将输出分组重构成包含187个字节的分组。在块码编码步骤1730中生成的非系统的字节构成编码的数据流中的分组的附加行。重要的是要注意到,可以将在步骤1760中使用的去交织器的维度改变成,例如,输入列和输出行,或使用基于交织器实现的任何其它维度方面。
接着,在步骤1760中,变更编码的去交织的分组中的首标字节。1760中的变更步骤提供了通过防止首标信息被传统接收器识别、来防止不能解码ATSC M/H数据分组的接收器中的性能问题的方式。步骤1760中的变更可以包括将TEI比特、有效载荷单元开始指示符比特、和传送优先级比特设置成‘0’的比特值。步骤1760中的变更还可以包括将加扰控制和自适应字段比特(各2个比特)设置成‘00’。变更步骤1760还可以包括将3个比特长的连续计数器设置成‘000’。最后,步骤1760中的变更还可以包括将PID设置成诸如所有传统接收器都将忽略的已知值之类的唯一的和未用过的值。重要的是要注意到,在编码步骤1640中可以忽略和不处理首标字节。
在步骤1770中,将预定分组或先验跟踪分组插入到包括变更的首标信息的编码的分组流中。先验跟踪分组的插入提高了能够接收ATSC M/H或移动视频编码的信号的接收器的性能。重要的是要注意到,插入步骤1770可以将现有冗余或非系统的分组、或可以将在步骤1710中原始提供的分组替换为数据分组流中的无效(null)分组。
在步骤1780中,将来自步骤1770的ATSC M/H编码分组与数据传输流的未处理部分组合。可以在数据分组的传输流的以前识别的未处理部分中插入或附上ATSC M/H编码分组。可替代地,可以将来自步骤1770的ATSC M/H编码分组与只是传统广播接收所识别的第二传输流组合、在所述第二传输流中插入或附上来自步骤1770的ATSC M/H编码分组。重要的是要注意到,如果步骤1710中的所有分组都被识别和处理成ATSC M/H数据分组,则也可以去除步骤1780。接着,在步骤1790中,使用遵从A53标准的传统或现有编码来处理包括所有分组的、ATSC M/H编码的或未编码的、整个数据流。步骤1790中的传统编码包括里德-索洛蒙编码、随机化、交织、格状编码和同步插入。可以由诸如在传统编码器1350中示出的那些之类的块来执行传统编码步骤1790。
最后,在步骤1795中,传送包括作为ATSC M/H数据而编码的流的所有或一部分的完全编码的数据流。传送步骤1795可以包括使用特别标识的频率范围的传送,并且可以包括使用诸如同轴电缆之类的有线技术的传送,或在无线电波上的电磁的传送。重要的是要注意到,可以连续传送ATSC M/H数据。在这种模式下,ATSC M/H系统的分组也用作传统接收器中的分组。非系统的分组将被忽略。但是,可以以周期性地传送、或在非相邻的短时间时段内连续传送ATSC M/H数据的方式来传送分离的ATSC M/H和传统数据。
转到图18,表格1800图示了传送格式中码元到比特的映射。表格1800示出了表示传送数据的两个比特Z1和Z2的码元0-3的集合的映射。可以通过将与每个码元相对应的信号幅度调制成4-PAM信号来传送该映射。平均来讲,码元的最高有效比特(Z2)的两个值或状态之间的电压或幅度差明显大于码元的最低有效比特(Z1)的两个值或状态之间的电压或幅度差。其结果是,当通过有噪声传送信道传送与特定码元相对应的信号时,在接收器中正确估计Z2比特的概率大于正确估计Z1比特的概率。传送数据码元和作为数据码元循环旋转(cyclic rotation)的第二码元可以产生一代码,该代码可以显著增加正确恢复传送的码元的Z1和Z2比特两者的概率。可以选择上面在等式(1)到(27)中使用的伽罗瓦域的元素bi的值和在等式(28)和(29)中使用的生成矩阵,以便循环地旋转(和/或环绕(wrap))构成分组的字节的比特,并因此进一步提高由使用这样的等式的、字节码编码器生成的数据流的强壮性。循环旋转的选择可以产生一结果,该结果是基于伽罗瓦域的特定属性、当字节中的最后比特环绕到第一字节时,根据简单循环旋转修改的。重要的是要注意到,由诸如图1中所示的之类的、格状编码器进行的附加处理在不显著影响原始比特到码元映射的同时,将进一步的冗余信息添加到传送信号中。格状编码和附加信号过滤将导致将这里所述的4-PAM信号转换成如在A53标准中所述的8-VSB信号。
转到图19,示出了图示在卷积交织器中处理的字节的交织器映射1900的图形。交织器映射1900图示了在诸如图13中的ATSC传统编码器1350中使用的交织器1356之类的卷积交织器的处理期间对输入的数据字节的组织。尽管可以使用一系列延迟线(delay line)来实现交织器1356,但可以将交织器映射1900看作是对交织器的存储器映射。交织器映射1900指示放置或写入输入字节的位置以及如何读出输出字节。按照以下来指示交织器映射1900的维度:被编号为从0到206、穿过顶部的字节,以及被编号为从0到103、沿着从顶部到底部的边的行。直线1910指示读出字节的次序。例如,如果直线1910表示第20行,那么,从第0字节开始到第206字节结束,读出第20行中的所有字节。当从第20行中读出最后字节,即,第206字节时,读取前进一行,即,到第21行,直到已读出交织器的最后一行为止。当读出最后一行时,读取再次从第1行(含有新分组数据)开始。
直线1920图示了207个字节码编码的和里德-索洛蒙字节的第1分组的前52个字节的位置,这是基于将那些字节读入交织器的。直线1920从分组中的第0字节的位置开始,并终止在第51字节的位置的中心线1990。直线1922、1924、1926a、和1926b示出了第1分组中的剩余字节的位置。直线1922从处在该直线顶部的第52字节的位置开始,依此类推,并且对直线1922、1924、和1926a的每一条,利用字节位置来推移(process)。沿着直线1926b定位字节的剩余部分,并且终止于处在比直线1990低一行的行中的位置上的第206字节。后继(successive)分组中的字节的位置在第1分组的位置的右边继续,然后推移到对该推移和直线1990上面的位置进行镜像(mirror)的直线1990下面的映射部分。例如,直线1930示出了交织器中第52分组(即,在第1分组之后输入52个分组的分组)的一部分字节的位置。直线1950图示了传送分组的编组的边界(boundary)线。对于每个后继分组,来自那个分组的下一个后继字节落在边界线上。其结果是,直线1950表示第0分组第0字节的位置,后面跟随着第1分组第1字节的位置,依此类推,直到第52分组第52字节的位置。直线1960图示了在直线1950和直线1920之间的一行中的字节的位置。具体地,直线1960示出了作为如图14所示的、来自沿着行取向的分组的集合的第26列的字节的字节的编组的位置。在跟随的行中的字节包含分组的集合一部分的第27字节。直线1960图示了使用上述的字节码编码处理来编码数据的优点,该优点是因为将在连续的短时间时段内按照编组从交织器输出并传送字节码编码的字节。
重要的是要注意到,分组的集合的某些排列可以提供健壮的数据流的更佳的传送排列。如果健壮的数据流不是连续传送的(即,部分数据流是传统的数据),则对健壮的数据流的排列可能是重要的。例如,如图19所示的52个分组的集合导致这样的传送特性,即该传送特性包括可以以使用接收系统中的去交织处理来简单地预测并识别的方式来传送健壮数据。
现在转到图20,示出了在接收器系统中使用的解码器2000的一个实施例的方块图。解码器2000包括适合使用诸如像如上所述的数据流中非系统的分组之类的冗余分组的电路,以有助于解码接收器接收的数据。解码器2000一般还能够解码已使用传统或现有A53标准编码的数据。
在解码器2000中,在其它电路(未示出)的最初调谐、解调、和处理之后,格状解码器2002接收输入的信号。格状解码器2002与卷积去交织器2004连接。将卷积去交织器2004的输出连接到字节码解码器2006。字节码解码器2006具有被连接到里德-索洛蒙解码器2008的输出。将里德-索洛蒙解码器2008的输出连接到去随机性发生器2010。将去随机性发生器2010的输出连接到数据解码器2012。数据解码器2012提供输出信号以供诸如视频显示或音频再现之类接收器系统的剩余部分使用。格状解码器2002、去交织器2004、里德-索洛蒙解码器2008、去随机性发生器2010、以及数据解码器2012在功能上与在图2中描述的那些块类似,这里不再做进一步详述。
以数据分组中的数据字节形式的接收的数据由格状解码器2002解码,并由去交织器2004去交织。该数据分组可以包括207个字节的数据,并且可以被进一步编组成编组或24,26或52个分组。格状解码器2002和去交织器2004能够处理输入的传统格式数据以及字节码编码的数据。基于接收器也知道的预定分组传送序列,字节码解码器2006确定该分组是否是被包括在字节码编码的或健壮的数据流中的分组。如果接收的分组不是来自字节码编码的数据流,那么,将接收的分组提供给里德-索洛蒙解码器2008而不在字节码解码器2006中进行任何进一步的处理。字节码解码器2006也可以包括去随机性发生器,其用于去除在编码期间与数据流相乘或被添加到数据流的已知序列常数。重要的是要注意到,强壮的数据流包括与原始数据相同的系统的分组和字节以及包含冗余数据的非系统的分组和字节这两者。
如果字节码解码器2006确定所接收的是属于健壮或强壮的数据流的字节码编码的分组,则可以与构成同一数据流的其它分组一起解码该分组。在一个实施例中,如上面的等式(2)所示,通过将分组内的每个字节乘以用于获得字节码编码分组的b元素的值的倒数来解码同一数据流的字节码编码分组。将非系统的分组的字节的解码值与系统的分组的字节的值相比较,并且可以在系统的分组中清除(即,设置成零)不相同的两个分组中的任何字节的值或可以用非系统的分组中的信息取代这些值。此后,可以使用在里德-索洛蒙解码器2008中执行的里德-索洛蒙解码来解码错误字节被清除的系统的分组。下面将讨论字节码解码器的其它实施例的进一步描述。
也可以将字节码解码器2006适配于按照图13所示的用于解码编码的信号的块编码器来操作。例如,字节码解码器2006可以包括与分组交织器1312类似的分组交织器和与分组去交织器1316类似的分组去交织器。另外,字节码解码器的功能可以适配于解码GF(256)串行级联的块编码的(SCBC)信号。字节码解码器2006可以进一步包括用于标识为移动或ATSC M/H接收而编码的数据和/或先验训练分组的标识的标识符块。另外,标识符块可以包括分组标识符块,其用于确定例如输入的分组中的首标是否包括用于移动接收的PID。
重要的是要注意到,在诸如图5所示的编码器500之类的优选编码器中,字节码编码在数据分组的里德-索洛蒙编码之前。但是,在这里所示的解码器2000中,在被里德-索洛蒙解码之前对输入的数据进行字节码解码。因为字节码操作和里德-索洛蒙码操作两者在A53标准中使用的伽罗瓦域(256)上是线性的,并且线性操作符在伽罗瓦域中是可交换的,所以可以重新排序。因为字节码编码为恢复接收的信号中的错误提供了更高的可靠性,所以重新排序的重要性是重要的。其结果是,如按照比特错误率和信噪比来量度的话,在里德-索洛蒙解码之前执行字节码解码导致了接收器性能的提高。
另外,与图5中的编码器500和图13中的编码器1300的实施例的描述一样,应该注意到,通过对传统接收器作少许改变,可以将字节码解码元件和处理添加到传统接收器中需要和使用的元件、组件、和电路中。但是,通过将字节码解码处理的特征并入传统接收器中的其它块中可以增强解码处理。
现在转到图21,示出了在接收器中使用的解码器2100的另一个实施例的方块图。解码器2100包括用于接收和解码以下信号的附加电路和处理,在诸如在空中的电磁波之类的传送介质上传送该信号而使该信号已受到不利影响。解码器2100能够解码强壮的数据流以及传统数据流两者。
在解码器2100中,在最初处理之后,将输入信号提供给均衡器2106。均衡器2106与提供两个输出的格状解码器2110连接。来自格状解码器2110的第一输出提供反馈,并且作为反馈输入被连接回到均衡器2106。来自格状解码器2110的第二输出连接到卷积去交织器2114。卷积去交织器2114与也提供两个输出的字节码解码器2116连接。来自字节码解码器2116的第一输出作为反馈输入通过卷积交织器2118被连接回到格状解码器2110。来自字节码解码器2116的第二输出连接到里德-索洛蒙解码器2120。里德-索洛蒙解码器2120的输出连接到去随机性发生器2124。去随机性发生器2124的输出连接到数据解码器2126。里德-索洛蒙解码器2120、去随机性发生器2124、和数据解码器2126连接在一起,并且在功能上以与在图2中描述的里德-索洛蒙、去随机性发生器、和数据解码器块类似的方式操作,这里将不做进一步描述。
将来自接收器(未示出)的前端处理(例如,天线、调谐器、解调器、A/D转换器)的输入信号提供给均衡器2106。均衡器2106处理接收的信号,以便在恢复接收的信号的尝试中完全或部分去除传送信道的影响。各种的去除或均衡方法对于本领域的技术人员来说是众所周知的,这里将不作讨论。均衡器2106可以包括处理电路的多个部分,包括前馈均衡器(FFE)部分和判定反馈均衡器(DFE)部分。
将均衡信号提供给格状解码器2110。格状解码器2110作为一个输出产生被提供给均衡器2106的DFE部分的判定值的集合。格状解码器2110还可以生成也被提供给均衡器2106的DFE部分的中间判定值。DFE部分使用来自格状解码器2110的判定值以及中间判定值来调整均衡器2106中的滤波器抽头的值。调整后的滤波器抽头值消除了在接收信号中存在的干扰和信号反射。叠代(iterative)处理允许均衡器2106借助于来自格状解码器2110的反馈,动态地调整到随时间潜在地变化的信号传送环境的条件。重要的是要注意到,可以以与信号的输入数据率类似的速率(诸如,对于数字电视广播信号,19Mb/s)使叠代处理发生。也可以以高于输入数据率的速率使叠代处理发生。
格状解码器2110还将格状解码的数据流提供给卷积去交织器2114。卷积去交织器2114与在图20中描述的去交织器类似地操作,生成在数据分组内组织的去交织的字节。将数据分组提供给字节码解码器2116。如上所述,通过字节码解码器2116将不是强壮的数据流的一部分的分组简单地传递到里德-索洛蒙解码器2120。如果字节码解码器2116将分组的编组识别成强壮的数据流的一部分,则字节码解码器2116使用非系统的分组中的冗余信息来如上述那样最先解码分组中的字节。
字节码解码器2116和格状解码器2110以被称为涡轮解码器(turbo-decoder)的叠代的方式操作来解码强壮的数据流。具体地说,对于被包括在强壮的数据流中的分组的每个字节,在卷积去交织器2114的去交织之后,格状解码器2110将第一软判决向量(soft decision vector)提供给字节码解码器2116。通常,格状解码器2110按照概率值的向量产生软判决。在一些实施例中,向量中的每个概率值与和该向量相关联的字节可能具有的值相关联。在其它实施例中,为被包含在系统的分组中的每个半字节的一半(half-nibble)(即,两个比特)生成概率值的向量,这是因为2/3比率格状解码器估计两比特的码元。在一些实施例中,格状解码器2110组合与字节的四个半字节的一半相关联的四个软判决以产生一个软判决,该软判决是该字节可能具有的值的概率的向量。在这样的实施例中,将与该字节相对应的软判决提供给字节码解码器2116。在其它实施例中,字节码解码器将与系统的分组的一个字节有关的软判决分离成四个软判决向量,其中四个软判决中的每一个与该字节的半字节的一半相关联。
字节码解码器2116使用与构成强壮的数据流的分组的字节相关联的软判决向量来产生构成分组的字节的第一估计。字节码解码器2116使用系统的分组和非系统的分组两者为构成强壮的流的分组的每个字节生成第二软判决向量,并且将第二软判决向量通过卷积交织器2118重新交织之后提供给格状解码器2110。此后,格状解码器2110使用第二软判决向量以产生被提供给字节码解码器2116的第一判定向量的进一步的叠代。格状解码器2110和字节码解码器2116以这种方式叠代,直到由格状解码器和字节码解码器产生的软判决向量收敛或经历了预定数量的叠代。此后,字节码解码器2116对于系统的分组的每个字节使用软判决向量中的概率值以便为系统的分组的每个字节生成硬判定。从字节码解码器2116向里德-索洛蒙解码器2120输出硬判定值(即,解码的字节)。可以使用最大后验(MAP)解码器来实现格状解码器2110,并且格状解码器2110可以对字节或半字节的一半(码元)的软判决进行操作。
重要的是要注意到,涡轮解码通常利用与在块与块之间传递判定数据有关的叠代速率,该速率比输入数据速率高。可能的叠代数量受限于数据速率和叠代速率的比率。其结果是,在实用程度上,涡轮解码器中的较高的叠代速率通常改善纠错结果。在一个实施例中,可以使用8倍于输入数据速率的叠代速率。
诸如在图21中描述的软输入软输出字节码解码器可以包括向量解码功能。向量解码包括到对包含系统的和非系统的字节的数据字节进行分组。例如,对于1/2比率字节码编码流,将编组1个系统字节和1个非系统字节。两个字节具有超过64,000个可能值。向量解码器为两个字节的每一个可能值确定或估计概率并创建概率图。基于一些或所有概率的加权概率以及到可能码字的欧几里得(Euclidean)距离作出软判决。当欧几里得距离的误差落入阈值以下时,可以作出硬判定。
如在图20和21中描述的字节码解码器可以解码前述字节码编码器已编码的、包括由简单字节码编码器或级联的字节码编码器的编码的强壮的数据流。图20和21中的字节码解码器描述了解码由简单的或只包括到单个编码步骤的组成的字节码编码器编码的强壮的数据流。级联的字节码解码包括在除了诸如去交织、去收缩(de-puncturing)、和重新插入之类的中间处理之外的、不止一个的解码步骤中解码输入的码字或字节。
现在转到图22,示出了级联字节码解码器2200的实施例的方块图。级联字节码解码器2200被配置成以诸如在图21中示出的涡轮解码器配置来操作。级联字节码解码器2200在内部还如同使用叠代处理来解码强壮的数据流中的级联字节码编码的分组的涡轮解码器那样工作。级联字节码解码器2200适配于解码12/26比率字节码编码信号流,从原始编码的26字节中产生12个字节的数据。
将表示26个字节的软判决值的数据流提供给字节插入块2202。将字节插入块2202的输出连接到第一2/3比率字节码解码器2204。第一2/3比率字节码解码器2204提供两个输出。将第一输出连接到收缩块2206,将收缩块2206的输出作为反馈输入通过如图21所示的交织器连接到格状解码器。将第一2/3比率字节码解码器2204的第二输出连接到去交织器2208。将码元去交织器2208的输出连接到也具有两个输出的第二2/3比率字节码解码器2210。将第一输出作为反馈输入通过交织器2212连接到第一2/3比率字节码解码器2204。将第二输出连接到诸如里德-索洛蒙解码器之类的其它处理块。
被输入到字节插入块2202的26字节包括与数据的系统字节或系统的分组有关的由诸如图21中的格状解码器2110之类的格状解码器生成的第一软判决以及与数据的非系统字节或非系统的分组有关的软判决。数据的系统和非系统字节可以来自已经被字节码编码的分组。2/3比率字节码解码器需要3个字节,以便解码2个数据字节。但是,原始级联的编码优选地通过去除非系统字节而去除了一个字节以将码字从27个字节减少到26个字节。因此,需要一个字节替代在编码处理中通过收缩去除的字节。另外,格状解码器未生成与数据流中的收缩字节有关的任何软判决,这是因为到格状解码器的输入流不包含该字节。结果,插入指示收缩字节的值同等可能的软判决值。将来自字节插入块2202的、包括插入的软判决值的第一软判决提供给第一2/3比率字节码解码器2204。第一2/3比率字节码解码器2204基于系统和非系统的分组的字节的解码、使用第一软判决来以生成第二软判决。如上面的等式(2)和(3)所示,软判决的生成利用了,例如,字节的集合与用于获得字节码编码分组的b1和b2元素的值的倒数的乘积。
将来自第一2/3比率字节码解码器的27字节软输出提供给收缩块2206。27字节软输出表示在第一2/3比率字节码解码器中的解码之后、系统和非系统字节两者的软判决值的更新的集合。收缩块2206去除以前插入的软判决字节,以便使字节格式返回到格状解码器原始处理的26字节格式。
将来自第一2/3比率字节码解码器的、只表示系统字节的18字节软输出提供给去交织器2208。去交织器2208以与在2/3比率字节码编码处理中执行的交织相反的方式去交织18个字节的数据。去交织器2206通过例如反转(reverse)图7中的行710和720来精确地反转编码器中的交织映射。
将去交织字节提供给第二2/3比率字节码解码器2210。第二2/3比率字节码解码器2210使用去交织软判决系统字节以与上述方式类似的方式生成软判决字节的两个附加输出。将18字节软输出提供给交织器2212。18字节软输出表示根据第一2/3比率字节码解码器2204的解码的系统和非系统字节两者的软判决值的更新的集合。交织器2212重新交织去交织字节,以便将它们置回到第一2/3比率字节码解码器使用的字节格式。交织器2212基本上与在编码器中使用的诸如图6中的交织器604之类的交织器相同,并且将18字节的重新交织的集合提供给第一2/3比率字节码解码器2204。将该18字节的重新交织的集合用于改善第一2/3比率字节码解码器2204所作的软判决。
来自第二2/3比率字节码解码器2210的12字节输出表示对12/26比率字节码编码的强壮的数据流输出的系统字节解码的数据。如果第二2/3比率字节码解码器2210生成的有关12个系统输出字节的软判决作为正确数据值是无可质疑的(conclusive)的或者在无可置疑的预定阈值之内,则第二2/3比率字节码解码器2210使用该软判决生成有关12个输出字节的硬判定,并且将12个输出字节提供给诸如里德-索洛蒙解码器之类的进一步处理块。但是,如果第二2/3比率字节码解码器2210生成的软判决不是无可质疑的,则使用在前面叠代期间获得的和反馈的软信息,如上述那样获得进一步叠代。通过后继的解码器将这个附加软信息提供给每个软解码器。也就是说,格状解码器使用通过收缩块2206提供的来自第一2/3比率字节码解码器2204的反馈,而第一2/3比率字节码解码器2204使用通过交织器2212提供的来自第二2/3比率字节码解码器2210的反馈。以这种方式继续叠代,直到第二2/3比率字节码解码器2210生成的软判决充分收敛,或直到已经经历了预定次数的叠代。如上所述,所使用的涡轮解码通常利用了与在块与块之间传递判定数据有关的叠代速率,该速率比输入数据速率高。
现在转到图23,示出了级联的字节码解码器2300的另一个实施例的方块图。级联的字节码解码器2300被类似地配置成以诸如在图21中示出的涡轮解码器配置来操作。级联字节码解码器2300在内部还如同使用包括到三个组成字节码解码器的叠代处理来解码强壮的数据流中的级联字节码编码的分组的涡轮解码器那样工作。级联字节码解码器2300适配于解码12/52比率块码编码信号流,从原始编码的52字节中产生12个字节的数据。
将表示52个字节的软判决值的数据流提供给分组插入块2302。将分组插入块2302的输出连接到第一2/3比率字节码解码器2304。第一2/3比率字节码解码器2304提供两个输出。将第一输出连接到收缩块2306,将收缩块的输出作为反馈输入通过未示出的交织器连接到格状解码器。将第一2/3比率字节码解码器2304的第二输出连接到第一去交织器2308。将第一去交织器2308的输出连接到也具有两个输出的第二2/3比率字节码解码器2310。将第一输出作为反馈输入通过第一交织器2312连接到第一2/3比率字节码解码器2304。将第二输出连接到第二去交织器2314。将第二去交织器2314的输出连接到也具有两个输出的1/2比率字节码解码器2316。将第一输出作为反馈输入通过第二交织器2318连接到第二2/3比率字节码解码器2310。将第二输出连接到诸如里德-索洛蒙解码器之类的其它处理块。
将来自格状解码器的包括第一软判决的52字节输入提供给分组插入块2302。分组插入块2302将52个字节分离成26个字节的两个集合。执行该分离是为了与诸如图9中的编码器900之类的编码器在字节码编码期间执行的分离匹配。如上所述,分组插入块2302将具有指示的相等概率值的软判决字节插入26个字节的每个集合中以创建27个字节的两个集合。27个字节的两个集合在处理中保持联络(link),以便使得在进一步字节码解码阶段中重新组合这些集合。第一2/3比率字节码解码器2304、第一去交织器2308、和第一交织器2310以与在图22中描述的相似的方式工作,除了它们对27个软判决字节的两个集合以及在第一2/3比率字节码解码器的输出端处的随后的18个软判决字节的两个集合进行处理并保持联络之外。收缩块2306从27个软输出字节的两个集合中去除以前插入的软判决字节,并将两个集合级联在一起。为了使字节格式返回到格状解码器原始处理的52字节格式,该级联是必要的。被提供给收缩块2306的27字节软输出的两个集合表示在第一2/3比率字节码解码器中的解码之后系统和非系统字节两者的软判决值的更新的集合。
第二2/3比率字节码解码器2310如所述那样处理18个字节的两个集合,但级联表示解码数据的系统字节的12个字节的两个集合以形成24字节软判决输出。将24字节软判决输出提供给第二去交织器2314。第二去交织器2314以与作为在图10中描述的编码处理的一部分的、在交织器1004中执行的交织相反的方式对24个字节的数据进行去交织。第二去交织器2314通过例如反转图11中的行1110和1120来反转编码器中的交织映射。
将去交织的24个软判决字节提供给1/2比率字节码解码器2316。1/2比率字节码解码器2316使用去交织的软判决系统字节、以与上述方式类似的方式来生成软判决字节的两个附加输出。将24字节软输出提供给第二交织器2318。24字节软输出表示来自1/2比率字节码解码器中的解码的系统和非系统字节两者的软判决值的更新的集合。交织器2318重新交织去交织的字节,以便将它们置回到第二2/3比率字节码解码器2310使用的格式。交织器2318基本上与在编码器中使用的诸如图6中的交织器604之类的交织器相同,并且将重新交织的24个字节的集合提供给第二2/3比率字节码解码器2310。使用重新交织的24个字节的集合来改善第二2/3比率字节码解码器2310所做的软判决。
如上所述,如果1/2比率字节码解码器2316的输出端处有关12个系统字节的软判决作为正确数据值是无可质疑的或在无可质疑的预定阈值之内,则1/2比率字节码解码器2316使用该软判决来生成有关12个输出字节的硬判定,并且将12个输出字节提供给诸如里德-索洛蒙解码器中的解码之类的进一步处理块。但是,如果1/2比率字节码解码器2316生成的软判决不是无可质疑的,则使用在前面叠代期间获得的和反馈的软信息获得进一步叠代。通过后继的解码器将该附加软信息提供给每个软解码器。也就是说,格状解码器使用通过收缩块2306提供的、来自第一2/3比率字节码解码器2304的反馈,第一2/3比率字节码解码器2304使用通过第一交织器2312提供的、来自第二2/3比率字节码解码器2310的反馈,而第二2/3比率字节码解码器2304使用通过第二交织器2318提供的、来自1/2比率字节码解码器2316的反馈。以这种方式继续叠代,直到1/2比率字节码解码器2316生成的软判决充分收敛,或直到已经经历了预定次数的叠代。如上所述,所使用的涡轮解码通常利用与在块与块之间传递判定数据有关的叠代速率,该速率比输入数据速率高。
转到图24,示出了级联字节码解码器2400的另一个实施例的方块图。类似地配置级联字节码解码器2400以如在图21中示出的涡轮解码器配置来工作。级联字节码解码器2400包括并行地连接的并对强壮的数据流中的字节码编码分组进行操作的两个组成字节码解码器,即,2/3比率字节码解码器2402和1/2比率字节码解码器2404。级联字节码解码器2400适配于解码17/26比率字节码编码的信号流,从原始编码的26字节中产生17个字节的数据。
将来自格状解码器的26字节的软判决值的输入数据流分离成24个字节的第一编组和2个字节的第二编组。基于诸如图12中的编码器1200之类的编码器对字节的这些编组进行组合的排列来执行该分离,并且该分离一般说来对接收设备是已知的。可以使用未示出的信号或分组多路复用器来执行该分离。可替代地,可以通过例如对输入字节计数来选择要处理哪些字节以在每个字节码编码器中执行该分离和编组。24个软判决字节的第一编组由2/3比率字节码解码器2402如上述的那样解码。2个软判决字节的第二编组由1/2比率字节码解码器2404像上述那样类似地解码。
级联24字节软输出和2字节软输出以形成26字节软输出,所述24字节软输出是表示来自2/3比率字节码解码器2402中解码的、系统和非系统的字节两者的软判决值的更新的集合,所述2字节软输出是表示来自1/2比率字节码解码器2404中解码的、系统和非系统字节两者的软判决值的更新的集合。将26字节软输出提供给格状解码器,以便在下一次涡轮解码器叠代期间潜在地改善字节的软判决值。
类似地,级联来自2/3比率字节码解码器2402的、包含系统字节的16字节软输出和来自1/2比率字节码解码器2404的、包含系统字节的1字节软输出,以形成17字节软输出。如果有关17个系统字节的软判决作为正确数据值是不可质疑的的或在不可质疑的预定阈值之内,则2/3比率字节码解码器2402和1/2比率字节码解码器2404使用该软判决来生成有关17个输出字节的硬判定,并且将17个输出字节提供给诸如里德-索洛蒙解码器之类的进一步处理块。
但是,如果有关17个输出字节的软判决不是无可质疑的,则使用在前面叠代期间获得的和反馈的软信息获得进一步叠代。通过后继的解码器将该附加软信息提供给每个软解码器。也就是说,格状解码器使用来自2/3比率字节码解码器2402和1/2比率字节码解码器2404的级联输出的反馈。以这种方式继续叠代,直到软判决充分收敛,或直到已经经历了预定次数的叠代。如上所述,所使用的涡轮解码通常利用与在块与块之间传递判定数据有关的叠代速率,该速率比输入数据速率高。
重要的是要注意到,在图20-24中描述的字节码解码器也可以配置成对使用在图13中描述的GF(256)SCBC编码的串行级联的块码而编码的数据进行解码。
使用上述的字节码编码和解码的排列的各种系统允许对现有或传统广播系统的应用进行扩展。首先,现有传统接收器可以从使用ATSC M/H编码的附加出现的分组中获益。格状解码器和均衡器可以处理更健壮的SCBC编码分组和先验跟踪分组,以改善动态信号环境条件下的跟踪。其次,创建健壮或强壮数据的ATSC M/H编码的数据使得移动、手持、和行人设备中的接收系统可以在不能接收传统的A53传送的信号环境下接收健壮流。例如,与对于传统A53接收大约15dB(分贝)的白噪声阈值相比,以12/52比率编码的ATSC M/H允许以等于3.5dB(分贝)的白噪声阈值上接收信号。通过生成ATSC M/H分组并与传统A53数据一起周期性地传送这些分组,进一步改善了操作。周期性传送对于容许广播材料的视频和音频递送是重要的。ATSCM/H分组也可以被编组成一个或多个传送脉冲串并作为一个或多个传送脉冲串传送。以脉冲串形式传送对于递送可以被存储以供移动、手持、和行人设备以后使用的数据内容或内容是重要的。
在附图中通过例子已示出了并且在此详细描述了具体实施例,尽管这些实施例可能易于经历各种修改和可替代形式。但是,应该明白,本公开不是旨在受限于所公开的具体形式。而是,本公开将涵盖如所附权利要求书限定的本公开的精神和范围内的所有修改物、等效物和替代物。
对相关申请的交叉引用
本申请要求2007年5月16日在美国提交的临时申请60/930683、2007年5月17日在美国提交的临时申请60/930591、2007年6月20日在美国提交的临时申请60/936360、和2007年7月6日在美国提交的临时申请60/58581在35U.S.C.§119下的权益。
QQ群二维码
意见反馈