具有存储器地址电路的反向传输处理器的制作方法

文档序号:7566147阅读:221来源:国知局
专利名称:具有存储器地址电路的反向传输处理器的制作方法
技术领域
本发明涉及处理来自包视频信号的节目分量数据包并且抽出不同节目信号分量的相应的有效部分的装置。它包括对传输缓冲存储器寻址的装置和采用一个共同的传输缓冲存储器的概念。
例如从美国专利第5,168,356号和美国专利第5,289,276号中了解到,对各个包提供误差保护/校正的措施来传输包中压缩的视频信号是非常有利的。上述专利中的系统即使有多个节目分量,也是从各个传输频道传输和处理单个电视节目。这些系统采用反向传输处理器抽出各个节目的视频信号分量,以便进行进一步处理,使视频分量满足重放的条件。第5,289,276号专利只讨论了处理视频信号分量的过程。第5,168,356号专利描述了一种反向传输处理器,它利用一个简单的多路分配器,根据包首标数据分离其它的节目分量,以便鉴别各个信号分量。经分离的视频信号分量送至缓冲存储器,而其余的信号分量直接送至它们各自的处理电路。
从美国专利第5,233,654号中了解到,为了提供交互编排节目可以随电视信号传输代码。这一代码一般在与电视接收机关联的计算机上操作或由该计算机执行。
在大多数节目分量被压缩的应用场合,在传输频道和大多数相应分量处理(解压)装置之间需要进行一些缓冲,于是就要求将大多数分量(如果不是全部的话)送至缓冲存储器。不同节目分量的数据率在各个分量之间以及各个分量中可以有很大变化。因此最好分别缓冲每个分量。总之对缓冲经压缩的节目分量数据和处理交互节目而言,缓冲存储器并不是没有意义的。事实上,它能影响接收机系统的成本。
如果反向传输处理器存在于例如装置上部的盒中,那么存储器的尺寸和管理电路将保持在最小程度,从而使消费者所花的费用尽可能地低。因此从经济上考虑,希望对节目分量缓冲、处理器内务处理和交互功能都采用相同的存储器和存储器管理电路。
本发明是一种用于TDM包信号接收机的反向传输处理器系统。该系统包括有选择地抽出节目分量数据的所需有效部分并将该数据送至通用缓冲存储器数据输入口的装置。一个微处理器产生也施加到通用缓冲存储器数据输入口的数据。各个分量有效部分和微处理器产生的数据根据相关的存储器地址存储在通用缓冲存储器的相应的块中,该地址是由地址多路开关选择器施加到存储器地址输入口上的。
在一个具体的实施例中,根据多个开始和结束指针,各个节目分量的节目包有效部分被多路选择至存储器数据输入口,并且直接到随机存取存储器(RAM)的选择区。开始和结束指针存储在第一多个寄存器中,每个节目分量一个。通过多路选择的多个读指针寄存器分几部分产生地址,多路选择是利用一个加法器对各个节目分量的指针连续加1完成的。开始指针与存储器地址的读指针关联,它们从有选择地分配给相应节目分量的所指示的存储器块上卷。
在第二个实施例中,包括一个解密装置,用于根据包特定的解密关键字对有效部分数据解密。
在第三个实施例中,包括一个检测器,用于检测包括命名数据的有效部分。包括命名数据的有效部分通过通用缓冲存储器直接到达一个灵巧卡(smartcard),该卡产生包特定解密关键字。
从存储器输出的数据送至与各个节目分量处理器互连的总线。根据来自各个节目分量处理器的数据请求和来自分量有效部分源的数据写请求,对读和写功能而言存储器的访问是任意的,因此没有丢失进来的节目数据,并且所有的分量处理器都运行。
本发明将参照附图予以描述。附图中

图1是用图来表示的分时多路开关选择的包电视信号。
图2是用图来表示各个信号包。
图3是体现本发明的用于选择和处理经多路选择的分量信号包的接收机的框图。
图4是举例说明的存储器管理电路的框图,它可以实现图3的部件17。
图5是用图来表示服务频道数据的存储器地址的构成。
图6是用图来表示辅助包数据的存储器地址的构成。
图7是举例说明的产生辅助包存储器地址的电路框图。
图8是用于使存储器地址递增的另一个寄存器电路的框图。
图9是存储器地址控制的操作流程图。
图10是条件访问滤波器/开始代码检测器的框图。
图1表示由一串框组成的信号流,这些框代表信号包,它们是多个不同电视或交互电视节目的分量。假定这些节目分量由压缩的数据构成,于是各个图象的视频数据的量是可变的。包的长度是固定的。带有下标的字母的包代表单个节目的分量。例如,Vi、Ai、Di代表视频、音频和数据包,由Vl、Al、Dl表示的包代表节目1的视频、音频和数据分量,V3、A31、A32、D3代表节目3的视频、音频1、音频2和数据分量。数据包Di可以包括例如启动接收机内某一动作的控制数据,或它们可以包括构成一个由例如位于接收机内或与接收机关联的微处理器执行的应用程序的可执行代码。
在上面一行包串中,特定节目的各个分量是在一起分组表示的。然而没有必要将相同节目的包象由整个包串表示的那样分组。各个分量的出现顺序也不必有任何特定的次序。
如图2所示,各个包的结构包括一个前缀和一个有效部分。本例的前缀包括两个8位的字节,由五个字段组成,其中四个(P,BB,CF,CS)是1位字段,另一个(SCID)是12位字段。SCID字段是信号分量标识符。字段CF包括指示包的有效部分是否加密的标记,字段CS包括指示用两个交替的解密关键字中的哪一个来对加密包解密的标记。每个包的前缀是包对齐的,因此可以很容易识别各个字段的位置。
首标在每个有效部分中,首标包括连续计数、CC、模16和表示特定节目分量的TOGGLE标记位。连续计数简单地说就是对相同的节目分量的连续包连续地进行计数。TOGGLE标记位是一位信号,对视频分量而言,它改变确定新画面(帧)的开始的包即包括一个画面层首标的包中的逻辑电平或触发。
图3以框图形式表示包括反向传输处理器部件的数字电视信号接收机的一部分。信号由天线10检测,并施加到调谐检测器11,它取出特定频段的接收信号,并提供二进制格式的基带压缩信号。频段由用户用常规的方法通过微处理器19选择。名义上,例如采用Reed-Solomon正向纠错(FEC)编码,广播数字信号将被错误编码。这样基带信号将被送至FEC解码器12。FEC解码器12使接收到的视频信号同步,并提供一个图1中所示类型的一串信号包流。例如通过存储器控制器17,FEC12可以按有规则的间隔或根据需要提供包。在由FEC电路提供包成帧或同步信号的任一种情况下,该信号指示从FEC12传输相应包信息的时间。
被检测的频带可以包括以包的形式的多个分时多路选择的节目。为了有用,只有从单个节目来的包应该进入其它电路部件。在本例中,假定用户不知道选择哪个包。该信息被包括在节目引导中,它本身是包括将通过SCID的节目信号分量相互联系的数据的节目,并且该信息可以包括例如与订户命名有关的信息。节目引导对各个节目的音频、视频和数据分量而言是每个节目的SCID的列表。节目引导(图1中的包D4)被分配一个固定的SCID。当接收机接通电源时,对微处理器19编程,将与节目引导有关的SCID装入一组类似可编程SCID寄存器13中的一个之中。各个检测到的来自FEC12的信号包的前缀部分的SCID字段连续地被装入另一个SCID寄存器14中。可编程寄存器和接收SCID寄存器与比较器电路15的相应输入口相连,并且接收的SCID与节目引导SCID比较。如果一个包的SCID与节目引导SCID一致,那么比较器15使存储器控制器17满足条件,将那个包送入存储器18中的预定存储单元,供微处理器使用。如果接收的SCID与节目引导SCID不一致,那么相应的包被简单地转出。
微处理器等待用户经接口20发出的编程命令,接口20被表示成一个计算机键盘,但也可以是一个通常的遥控器和接收机前面板开关。用户可以要求看到频道4提供的节目(用模拟电视系统的本国语言)。微处理器19被编程,对装入存储器18中的频道4节目分量的各个SCID的节目引导目录进行扫描,并将这些SCID装入寄存器13的存储单元的可编程寄存器的相应的其它寄存器中,寄存器13与对应的分量信号处理通路相关联。
接收的所要求节目的音频、视频或数据节目分量包最终必须分别送至各个音频23、视频22和辅助数据21(24)信号处理器。以相对恒定的速率接收数据,但是信号处理器名义上需要以字符组输入数据(例如根据解压的各种类型)。图3示范性的系统首先选择路径,将各个包送至存储器18中的预定存储单元。然后各个处理器21-24从存储器18请求分量包。通过存储器为分量选择路径提供了一种对所要求的信号数据率的缓冲或调节的措施。
音频、视频和数据包装入相应的预定存储单元,使得便于缓冲的信号处理器访问分量数据。为了使各个分量包的有效部分装入适当的存储区,相应的SCID比较器与这些存储区关联。这种关联可以在存储器控制器17中通过硬连线实现,或者这种关联可以是可编程的。如果是前者,那么可编程寄存器13中特定的那些寄存器总是分别分配给音频、视频和数据SCID。如果是后者,那么音频、视频和数据SCID可以装入可编程寄存器13中的任何寄存器,并且当各个SCID装入可编程寄存器中时,适当的关联将在存储器控制器17中被编程。
在稳定状态,节目SCID已经存储在可编程寄存器13中之后,接收信号包的SCID与可编程SCID寄存器中的所有SCID进行比较。如果任何一个存储的音频、视频或数据SCID都是一致的话,那么对应的包有效部分将分别被存入音频、视频或数据存储器区或块中。
各个信号包从FEC12经信号解密器16送至存储器控制器17。只有信号的有效部分被加密,而包的首标由解密器未加改变地传送。包是否被解密由包前缀中的CF标记确定,而它如何被解密则由CS标记确定。如果一个相应的包的SCID不一致,那么解密器可以简单地被禁止通过任何数据。另外,如果一个包的SCID不一致,那么解密器可以根据其最后的设置被允许解密,而存储器写控制可以被禁止以便转出相应的包。
用灵巧卡装置31提供的解密关键字对解密器进行编程。灵巧卡对包括在特定的节目引导包中的命名信息作出响应,产生适合的解密关键字。本例的系统包括两级加密或程序存取,命名控制信息ECM和命名管理信息EMM。节目命名控制和管理信息有规律地以包的形式传输,这些包用包括在含有节目引导的包信息流中的特定SCID识别。灵巧卡利用包括在这些包中的ECM信息产生由解密器采用的解密关键字。包括在这些包中的EMM信息被用户专用灵巧卡采用,确定用户被命名的节目内容。这些包中的EMM命名信息可以是地区专用的、或组专用的或用户专用的。例如,本系统可以包括将来自灵巧卡的记帐信息与节目提供者例如卫星广播者进行通信的调制解调器(未示出)。灵巧卡可以用例如接收机位置的区域码和电话交换机进行编程。EMM可以包括数据当它被灵巧卡处理时,可以命名或拒绝接收以特定区域码的特定节目。
节目的提供者可能想用非常短的引导时间删除特定区域或组。例如,如果足球赛的票没有卖完,可以要求广播者删除体育场局部地区的足球赛。直到临近比赛都不能得到这一信息。用这样短的引导时间不可能对EMM编程,使得删除局部区域。另一种命名信息的编码包括在命名数据的有效部分中,以便允许即时删除。
包括命名数据的包包括安排在专门编码的4组(每组32位)中的128位有效部分首标。匹配的滤波器或E代码解码器30检测128位首标中的一定的位组合方式。如果检测到匹配,那么解码器就与存储器控制器17和灵巧卡31通信,以使命名有效部分的其余部分对灵巧卡是可用的(通过存储器18)。如果没有检测到匹配,那么专用接收机不接收有效部分。如果使匹配滤波器30可编程,那么专用代码可周期性地加以改变。这些代码可由灵巧卡周期性地提供。对与观看者的命名有关的灵巧卡操作的更具体的细节,读者可参阅卫星书籍第25部分“完全导向卫星电视理论和实践”(“ACOMPLETEGUIDETOSATELLITETVTHEORYANDPRACTICE”)SwiftTelevisionPublications,17Pittsfield,Cricklade,Wilts,England。
匹配滤波器或E代码解码器用来执行第二功能,即检测特定的MPEG视频首标。这些首标或开始码的长度是32位(这是命名有效部分的首标以32位组编码的原因)。如果视频数据丢失,那么MPEG视频解码器在特定的数据进入点可以仅重新开始对视频数据解压。这些进入点与MPEG的开始码是吻合的。解码器可以用来与存储器控制器17通信,以便禁止视频数据流在视频包丢失后进入存储器,并且仅在解码器30检测下一个MPEG开始码之后恢复将视频有效部分写入存储器。
图4表示示于图3的存储器控制器17的示范性装置。每个节目分量存储在存储器18的不同的连续块中。此外其它数据,如由微处理器19或由灵巧卡(未示出)产生的数据也可以存储在存储器18中。
通过多路开关选择器105将地址施加到存储器18上,并且通过多路开关选择器99输入数据施加到存储器18上。存储器管理电路的输出数据通过另一个多路开关选择器104提供给信号处理器。多路开关选择器104提供的输出数据取自微处理器19、存储器18或直接取自多路开关选择器99。假定节目数据具有标准图象分辨率和质量,并以特定的数据率出现。另一方面,可由这一接收机提供的高分辨率电视信号HDTV以比数据率高许多的速率出现。除了可以直接选择从多路开关选择器99到多路开关选择器104的路径的速率更高的HDTV信号以外,实际上由FEC提供的所有数据都将通过存储器18经多路开关选择器99和存储器I/O电路102选择路径。从解密器16、灵巧卡电路、微处理器19和媒体误差码100的源向多路开关选择器99提供数据。此处采用的术语“媒体误差码”是指插入数据流的特定的代码字,规定各个信号处理器(解压器)暂停处理,直到检测预定的代码字,如开始码,然后根据例如开始码恢复处理。
从节目寻址电路79-97、微处理器19、灵巧卡装置31和辅助包地址计数器78向多路开关选择器105提供存储器地址。在任何特定时间内选择特定的地址是受直接存储器存取DMA电路98控制的。来自比较器15的SCID控制信号和来自各个信号处理器的“数据所需”信号被施加到DMA98上,对此作出响应,存储器存取争用信息是任意的。DMA98与服务指针控制器93一起,为各个节目信号分量提供适当的读或写地址。
由四组节目分量或服务指针寄存器83、87、88和92产生不同信号分量存储器块的各个地址。其中存有各个信号分量的存储器各个块的开始指针被包括在各个信号分量的寄存器87中。开始指针可以是固定值,或者它们可以在微处理器19中用常规的存储器管理方法计算出来。
各个块的最后地址指针被存储在服务寄存器组88中,每个可能的节目分量对应一个。与开始地址类似,结束地址可以是固定值,或者通过微处理器19计算出来。采用开始和结束指针的计算值更好一些,因为它提供了带有较少存储器的更通用的系统。
由加法器80和服务头寄存器83产生存储器写指针或头指针。对每个可能的节目分量有一个服务头寄存器。写或头指针值存储在寄存器83中,并在存储器的写周期提供给地址多路开关选择器105。头指针也和加法器80相连,其中头指针增加一个单位,并为下一个写周期,递增的指针存储在适当的寄存器83中。为了当前被使用的适当的节目分量,由服务指针控制器93选择寄存器83。
在本例中,假定开始和结束指针是16位的指针。寄存器83提供16位的写或头指针。选择16位指针以便于采用16位或8位总线在寄存器87和88中装入开始和结束指针。另一方面,存储器18具有18位的地址。18位写地址是通过将16位头指针的开始指针的两个最高有效位与组合的18位写地址的最高有效位的位置中的开始指针位连在一起形成的。通过各个寄存器87向服务指针控制器93提供开始指针。服务指针控制器对来自存储在寄存器87中的开始指针的较高有效开始指针位进行分析,并且将这些位与16位头指针总线相联系。这由总线96表示,该总线表示与退出多路开关选择器85的头指针总线结合,在图5中可参看黑体箭头。
在图5中,上、中和下三行的方框分别代表开始指针、地址和头或尾指针的位。数较大的方框表示较高有效位的位置。箭头表示地址的各个地址位来自哪个开始指针位的位置或头/尾指针位的位置。在这一关系中,实箭头表示稳态操作。
类似地,由加法器79和服务尾寄存器92产生存储器读指针或尾指针。对每个可能的节目分量有一个服务尾寄存器。读或尾指针值存储在寄存器92中,并在存储器的读周期提供给地址多路开关选择器105。尾指针也和加法器79相连,其中尾指针增加一个单位,并且在下一个读周期,递增后的指针存储在适当的寄存器92中。为了当前被使用的适当的节目分量,由服务指针控制器93选择寄存器92。
寄存器92提供16位的尾指针。18位读地址是通过将16位尾指针的开始指针的两个最高有效位与组合的18位写地址的最高有效位的位置中的开始指针位连在一起形成的。服务指针控制器对来自存储在寄存器87中的开始指针的较高有效开始指针位进行分析,并且将这些位与16位尾指针总线相联系。这由总线94表示,该总线表示与退出多路开关选择器90的尾指针总线结合。
数据以计算的地址存储在存储器18中。存储一字节数据之后,头指针递增1,并与这一节目分量的尾指针进行比较,如果它们相等,那么头指针的较高有效位用开始指针的较低的14位代替,0放在地址的头指针部分的较低的两位的位置中。这在图5中用开始指针和地址之间的带阴影的箭头表示。该操作用从服务指针控制器93指向来自多路开关选择器85的头指针总线的箭头97表示。假定较低的14个启动指针位的应用超过了头指针位。对这一写周期,用地址中的较低开始指针位代替头指针位使得存储器从较上面的两个开始位指定的存储器块上卷,于是避免了在每个包的开始将写地址重新编程进块中唯一的存储器的存储单元中。
如果头指针曾经等于尾指针(用于表示从存储器18读数据处),那么向微处理器的中断段发送一个信号,表示出现了头尾冲突。进而禁止从该节目频道向存储器18写入,直到微处理器重新允许该频道。这种情况是很少见的,正常操作时不应出现。
根据各个信号处理器的请求,以加法器79和寄存器92计算的地址从存储器18中检索数据。读出一字节存储的数据以后,尾指针增加一个单位,并与服务指针控制器93中的这一逻辑通道的结束指针进行比较。如果尾指针和结束指针相等,那么尾指针的较高有效位用开始指针的较低14位代替,0放在地址的尾指针部分的较低两位的位置中。这用来自控制器93并指向来自多路开关选择器90的尾指针总线的箭头95表示。如果现在尾指针等于头指针,那么相应的存储器块定义为空,将没有更多的字节传送至相关的信号处理器,直到从FEC中接收这一节目通道的更多的数据。由开始指针的较低的14位对各个写或读地址的头或尾指针部分的实际替换可以通过适当的多路开关选择完成,或采用三态互连完成。
以辅助包形式传输的数据一般是目录、首标或控制信息,因此其处理方式与节目分量数据略有不同。辅助包中的数据包括为各个节目分量和任何包含的应用建立必要的存储器存储区所必需的信息。优选这种辅助包。为每个分量提供两个服务块。对256字节的数据,每块具有八位连续地址或存储单元。每块具有十八位总地址,如图6所示。由顺序计数器提供地址的八个LSB。由来自传输前缀的CS或保密关键字位提供第九位。根据为节目检测分配的特定SCID产生第十至第十二位。本例假设系统规定处理和检测五个节目分量(包括节目引导)或服务。因此有五个编程进各个可编程SCID寄存器13的SCID和五个SCID比较器15。这五个比较器每个都有一个输出端,每个输出端被分配一个节目分量。与五个比较器输出端相关的五个可能的节目被分配相应的三位代码,三位是能够代表五种状态的最少位数。三位代码作为辅助包地址的第十至第十二位被插入。假定五个相应节目分量的SCID被分配给随意编号为1-5的可编程寄存器。分配给分量的三位代码被分配给可编程寄存器1-5,它们分别是000,001,010,011和100。取决于当前正在被检测的那个节目分量,与包括当前节目分量SCID的可编程寄存器相关的三位代码将被插入存储器写地址中的第十至第十二位的位置。
根据常规的存储器管理技术,由微处理器提供18位辅助地址的六位最高有效位。
图7示范性地表示辅助存储器地址产生电路。图7包括用于接收前缀位CS的前缀寄存器125,前缀位CS施加给微处理器19。来自SCID检测器15的五行控制行提供给五控制行/三位转换器126,它可以是简单的布尔逻辑运算器。由转换器126产生的三位施加给微处理器19,它组成辅助地址的相应的10个最高有效位(MSB)部分。当检测辅助包时,10-MSB地址部分施加到寄存器组128中的一个的MSB部分。在每个辅助包的开始处,相应的寄存器128的8-LSB部分被设定为一个预定的值,一般为0。8-LSB部分被施加到10-MSB部分,并被施加到10至1多路开关选择器129的一个输入口。由多路开关选择器129提供的各个地址的8-LSB部分被送至加法器130,其中8-LSB地址值递增一个单位,并经另一个多路开关选择器127返回至寄存器128的8-LSB部分。递增的LSB部分(连同其MSB部分)作为相应辅助包的下一个连续地址。多路开关选择器127和129受DMA控制器98的控制,用于选择指定地址的当前存储器块。应注意,在另一结构中,μPC19可以用来建立辅助地址的至少一部分。
一般对辅助包进行单独处理,整个辅助包有效部分一般在可以 用之前装入存储器。这样,被寻址的用来写入当前辅助包的存储器块正常情况下不会为了读和写的目的而同时被寻址。因此,可以用相同的寄存器来读和写寻址。一旦辅助包存入存储器的相应的块,8-LSB部分被复位到预定的开始地址,准备读出数据。在另一结构中,类似于部件127-130的并行寄存器组、多路开关选择器和加法器可以用来产生读地址。这些读地址可以是由与多路开关选择器129级联的下一个多路开关选择器进行分时多路选择。
由服务指针控制器和直接存储器存取DMA部件93和94进行对存储器的读/写控制。对DMA编程以安排读和写周期。这种安排取决于FEC12是否向存储器提供了写数据。FEC数据写操作在先,因此进来的信号分量数据不会丢失。在图4所示的示范性装置中,有四种类型的可以访问存储器的装置。它们是灵巧卡(未示出)、FEC12(更准确地是解密器16)、微处理器19和应用设备如音频和视频处理器。以下列方式进行存储器信息争用。DMA对来自上述不同的处理部件的数据请求作出响应,为各个节目分量分配存储器块。在95纳秒的时间间隔内对存储器进行存取,在这期间可以从存储器18读出一字节数据或向存储器18写入一字节数据。这里有两种主要的存取分配方式,分别由“FEC提供数据”或“FEC不提供数据”规定。假定最大的FEC数据传输率是每秒5兆字节,或每200纳秒1字节,则每一种方式的时间间隔分配和优先级如下,它们是FEC提供数据1)FEC数据写;
2)应用设备读/微处理器读/写;
3)FEC数据写;
4)微处理器读/写;
FEC不提供数据1)灵巧卡读/写;
2)应用设备读/微处理器读/写;
3)灵巧卡读/写;
4)微处理器读/写。
因为FEC数据写不能延迟,所以当提供数据时必须保证FEC(或更准确地是解密器)在每200纳秒间隔对存储器访问。另外的时间间隔由应用设备和微处理器共享。当没有数据可用于请求设备时,提供微处理器服务应用时间间隔。
控制器93与SCID检测器通信,确定为了存储器写操作,访问各个开始、头和结束指针寄存器中的哪一个。控制器93与DMA通信,确定为了存储器读操作,访问各个开始、结束和尾寄存器中的哪一个。通过多路开关选择器99、104和105,DMA98控制对相应地址和数据的选择。
用于使存储器地址递增的另一个较佳的电路示于图8,该电路既可用于图4的装置,也可用于图7的装置。图8表示根据图4进行尾指针递增的实施方案。在包的开始,相关寄存器92A中的指针与加法器79A相连,其中指针被加1。不是将中间递增的尾指针存储在图8的寄存器92A(图4的92)中,而是将中间递增的指针值连续地存储在工作寄存器107中。信号包的最后一个指针值产生以后,寄存器107中更新的指针转移至与包SCID关联的寄存器92A。
需要省略存储器缓冲器中的数据并不是罕见的情况。例如,当出现系统误差和数据中断时,可能已经存储了部分包。为了节省存储器空间,简单地通过重写部分数据包来将数据省略。通过将适当的指针复位成在包的开始呈现的值来对数据进行重写。这种复位不用将寄存器107中的值传给指针寄存器,什么都不用做就能完成复位。
当包丢失时,比较好的做法是将媒体误差码插入视频分量信号流,使得视频信号解压器能中断解压,直到数据流中出现特定的信号进入点。预测在何处和在哪个视频包可能出现下一个进入点是不实际的。为了尽快地找到下一个入口点,需要在检测丢失包以后,在第一视频包的开始处包括一个媒体误差码。图4的电路将一个媒体误差码放在每个视频包的开始处,如果前面的包没有丢失,那么删去相应包中的媒体误差码。通过在解密器的视频有效部分到来之前的M个写周期内对存储器18进行写入,媒体误差码插入为当前视频包有效部分保留的头M个存储器地址存储单元。同时通过DMA98使多路开关选择器99能从源100向存储器18I/O施加媒体误差码。M是存储媒体误差码所需的存储器存储单元的整数。假定存储器储存8位字节,并且媒体误差码是32位,那么M将是4。
通过多路开关选择器82和多路开关选择器85由相应的视频分量服务寄存器83提供将媒体误差码装入存储器的地址。将理解指针寄存器83提供的用于将媒体误差码装入存储器存储单元(另外也将装入视频分量数据)的头M个地址将简单地是下一M个顺序地址,这些地址通常由视频头指针产生。这些相同的地址与M级延时部件84相结合,因此媒体误差码的最末一个字节之后立即存入存储器18,在延时部件84的输出端可以得到头M个地址。
装入媒体误差码的时间与确定包丢失的时间吻合。装入媒体误差码同时确定包丢失,这在信号流的处理上没有另外的时序限制。
如果检测到包丢失,那么在为那个分量建立的下一个或第(M+1)个存储器块的地址存储单元的开始处,将当前包的视频分量存储在存储器18中。这是通过使多路开关选择器85,能继续让未延时的头指针从适当的寄存器83中经过来实现的。此外,如果未检测到包丢失,那么当前包中的视频分量的头M个字节存储进存储器的存储单元,这些存储单元中之前刚刚存储了媒体误差码。这是通过服务指针控制器使多路开关选择器85满足条件,让未延时的头指针在M个写周期从延时部件84中经过来实现的。在M个写周期的结束处,服务指针控制器93将使多路开关选择器满足条件,再次让未延时的头指针经过。当多路开关选择器切换回未延时的指针时,下一个未延时的指针将对应第M+1个地址。
误差检测器101对当前包的CC和HD数据作出响应,进行包误差或丢失检测。检测器101检查当前包中的连续计数CC,确定它是否与前一个包的CC差一个单位。此外检查当前包中的TOGGLE位,确定它与前一个包相比是否已经经历了变化。如果CC值不正确,那么检查TOGGLE位状态。分别取决于CC和TOGGLE位中的一项或两项是否存在误差或发生改变,实行第一或第二误差校正方式。由CC存在误差和TOGGLE位发生变化引起第二方式,使系统满足条件,对包含图象层首标的包复位。在仅仅是CC存在误差的第一方式中,使系统满足条件,对包含一部分开始码的包复位。(一部分层是一帧中的压缩数据的子集。)在第一和第二两种方式中,写入存储器的媒体误差码保持在相应的有效部分中,使解压器进行校正。
取决于给定接收机的特定的设计,当相应的分量传输包丢失时,在不同的信号分量中能够包括或也能够不包括媒体误差码。此外,最好不同的信号分量格式或压缩处理采用不同的媒体误差码。于是需要一个或多个媒体误差码源。
图9表示DMA98存储器访问过程的示范性流程图。DMA通过检测SCID确定是否检测到接收的包(步骤200)。如果已经检测到SCID,指出来自解密器16的数据将写入存储器,那么来自解码器的一字节的节目数据写入缓冲存储器18(步骤201)。要写入的存储器块由处理器93根据当前的SCID确定。接下来DMA确定任何节目分量处理器(包括灵巧卡和μPC)是否正在请求对存储器18的数据或读/写(R/W)访问(步骤202)。如果DMA确定没有数据请求,那么过程返回步骤200。如果有数据R/W请求,DMA确定请求的优先级(步骤203)。这可以通过常规的中断程序或这些节目处理器请求数据的任意次序中的可变顺序的一字节服务来实现。例如,假定访问优先级的一个任意次序是视频、音频Ⅰ、音频Ⅱ、灵巧卡和μPC。假定只有视频、音频Ⅱ和μPC请求存储器访问。在步骤203的当前操作期间,将从存储器中读出一字节视频数据。在步骤203的下一操作期间,将从存储器中读出一字节音频Ⅱ数据,而在步骤203顺序接下来的操作期间,将向存储器18写入一字节μPC数据或从存储器18中读出一字节μPC数据,等等。应注意的是,灵巧卡和μPC的存取地址是分别由灵巧卡和μPC提供的,但是视频、音频和节目引导地址可从地址指针部件(80-93)得到。
一旦建立起访问优先级(步骤203),通过将一字节数据写入存储器18或从中读出,使用要求的节目处理器(步骤204)。来自解密器16的下一字节数据写入存储器(步骤205)。在步骤206通过检查确定μPC是否请求访问。如果μPC请求访问,则使用一字节数据(步骤207)。如果μPC不请求访问,那么过程跳到步骤202,确定是否有任何节目处理器请求访问。以这种方式,总是保证进来的数据对每个另外的存储器访问周期的访问,并且介入的存储器访问周期在节目处理器之间分布。
如果当前从解密器16得不到数据,即当前没有检测到SCID,那么接下来的是过程(208-216)。首先在步骤208检查灵巧卡,确定是否请求存储器访问。如果是的话,则给一字节存储器访问(步骤209),否则在步骤210通过检查确定是否有任何节目处理器请求存储器访问。如果存在数据R/W请求,那么DMA确定请求的优先级(步骤211)。用一字节存储器读或写访问使用适当的处理器(步骤212)。如果节目处理器还没作出数据R/W请求,那么过程跳到步骤213,在那里通过检查确定是否灵巧卡请求存储器访问。如果是的话,则用一字节存储器访问(步骤216),否则过程跳到步骤200。
应该认识到,在本最佳实例中,当处于“FEC不提供数据”模式时,先于所有其它的节目处理器,灵巧卡被提供二/一访问。该优先级被编程进DMA装置中的可编程状态机器,并且由μPC改变。如前所述,系统旨在提供交互服务,并且μPC19将对交互数据作出响应,进行至少一部分交互操作。这样,μPC19将存储器18既用作应用存储器又用作工作存储器。在这些例子中,系统操作者可以改变存储器访问优先级,以便向μPC19提供更频繁的存储器访问。存储器访问优先级的重新编程可以作为交互应用指令的子集计入。
当包丢失时,比较好的做法是将媒体误差码插入视频分量信号流,使得视频信号解压器满足条件中断解压,直到数据流中出现特定的信号进入点。预测在何处和在哪个视频包可能出现下一个进入点是不实际的。为了尽快地找到下一个入口点,需要在检测丢失包以后,在第一视频包的开始处包括一个媒体误差码。图4的电路将一个媒体误差码放在每个视频包的开始处,如果前面的包没有丢失,那么删去相应包中的媒体误差码。通过在解密器的视频有效部分到来之前的M个写周期对存储器18进行写入,媒体误差码被插入为当前视频包有效部分保留的第一M个存储器地址存储单元中。同时通过DMA98使多路开关选择器99满足条件,从源100向存储器18I/O施加媒体误差码。M是为存储媒体误差码所需的存储器存储单元的整数。假定存储器储存8位字节,并且媒体误差码是32位,那么M将是4。
通过多路开关选择器82和多路开关选择器85由相应的视频分量使用寄存器83提供将媒体误差码装入存储器的地址。将理解指针寄存器83提供的用于将媒体误差码装入存储器存储单元(另外也将装入视频分量数据)的头M个地址将直接是下一M个顺序地址,这些地址通常由视频头指针产生。这些相同的地址与M级延时部件84相结合,因此媒体误差码的最末一个字节之后立即存入存储器18,在延时部件84的输出端可以得到头M个地址。
误差检测器101对当前包的CC和HD数据作出响应,进行包误差或丢失检测。检测器101检查当前包中的连续计数CC,确定它是否与前一个包的CC差一个单位。此外检查当前包中的TOGGLE位,确定它是否呈现了相应的视频帧的适当状态。如果CC值不正确,那么检查TOGGLE位状态。取决于CC和TOGGLE位中的一项或两项是否存在误差,实行第一或第二误差校正方式。在仅仅是CC存在误差的第一方式中,使系统满足条件,对包含一片层(slicelayer)首标的包复位。(一片层是一帧中的压缩数据的子集。)在CC和TOGGLE位存在误差引起的第二方式,使系统满足条件,对包含图象层首标的包复位。在第一和第二两种方式中,写入存储器的媒体误差码保持在相应的有效部分中,使解压器进行校正。
如果检测到包丢失,那么在下一个或第(M+1)个地址存储单元的开始处,将当前包的视频分量存储在存储器18中。这是通过使多路开关选择器85满足条件,继续让未延时的头指针从适当的寄存器83中经过来实现的。此外,如果未检测到包丢失,那么当前包中的视频分量的第一M个字节存储进存储器的存储单元,这些存储单元中之前刚刚存储了媒体误差码。这是通过服务指针控制器使多路开关选择器85满足条件,让未延时的头指针在M个写周期从延时部件84中经过来实现的。在M个写周期的结束处,服务指针控制器93将使多路开关选择器满足条件,再次让未延时的头指针经过。当多路开关选择器切时,未延时的指针时,下一个未延时的指针将对应第M+1个地址。
取决于给定接收机的特定的设计,当相应的分量传输包丢失使,在不同的信号分量中能够包括或也能够不包括媒体误差码。此外,最好不同的信号分量格式或压缩处理采用不同的媒体误差码。于是需要一个或多个媒体误差码。
图10表示检测包的示范性装置,这种包包括条件访问信息或MPEG开始码(图3的解码器30)。或者解码器30满足条件检测命名有效部分,或者MPEG开始码是当前正在接收的SCID的函数。在图10中,假定解密器16提供的数据是以8位为一字节的,并且包对齐。这就是说,命名有效部分的第一字节或MPEG开始码的第一字节与包有效部分的开始处准确对齐,因此对检测特定的首标或开始码字而言,准确地知道它们在位/字节流中的位置。来自解密器16的数据施加到8位寄存器250,该寄存器具有与比较器254的相应的第一输入连接端相连的8位并行输出口,比较器254例如可以由一组八个异“或非”(XNOR)电路和一个锁存器(LATCH)构成,XNOR电路的相应的输出连接端与一个与门相连。该锁存器可以是一个数据锁存器,用来在每个字节间隔锁存与门的结果。
32位MPEG开始码作为四字节存储在一个八位寄存器组265中。命名首标码作为8位字节存储在一个八位寄存器组251中。寄存器组251和265的装入是受微处理器19和/或灵巧卡控制的。开始码寄存器265与四/一多路开关选择器266相连,命名首标寄存器与十六/一多路开关选择器257相连。多路开关选择器257和266的输出口与二/一多路开关选择器249相连。多路开关选择器249的相应的输出连接端与比较器254的相应的第二输入端相连。应注意多路开关选择器249、257和266的输入和输出连接是8位总线。如果寄存器250的相应的输出连接端上的各个值与多路开关选择器249的相应的输出连接端上的各个输出值对应相等,那么对相应的数据字节比较器254电路产生一个真信号。
对开始码检测而言,计数器258对多路开关选择器266扫描,以与解密器16出现的头四个数据字节同步方式,顺序地将四个不同的寄存器265连接至XNOR。另外,对命名有效部分首标检测而言,计数器258对多路开关选择器257扫描,顺序地将不同的寄存器265连接至比较器电路。
比较器电路的输出与累加和检验电路255相连。电路255确定字节的任何一个预定的数目的字节匹配是否满足条件,如果是的话,则为被检查的特定有效部分的一部分中的命名数据产生一个写允许信号。在本系统中,命名有效部分首标包含128位,这128位分成四段,每段32位。不同的用户可以找寻对这128位的字节进行不同的组合的方法。例如,一个用户装置可以安排成符合命名有效部分首标的第一四个字节。而另一用户装置可以安排成符合命名有效部分首标的第二四个字节,等等。在上述示范性的任何一种情况下,电路255都将对适当的四个连续字节确定是否已出现匹配。
图10的装置还包括用于检测全0命名有效部分首标条件的电路(部件261-263)。数据的各个到来的字节的位与8位或门263的相应的端子相连。如果任何一位是逻辑1,那么或门263产生一个逻辑1输出。或门263的输出与一个二输入或门262的一个输入端相连,或门262具有一个输出端和第二输入端,分别与D型锁存器261的数据输入端和Q输出端相连。与进入的数据字节的到来同步,D型锁存器被时序电路259封锁。如果锁存器复位以后出现的任何数据字节中的任何位是逻辑1,那么锁存器261在其Q输出端将是逻辑1,一直到下一个复位脉冲到来。锁存器261的Q输出端与一个反相器相连,无论何时只要锁存器的输出电平是1,那么该反相器的输出电平就是0。于是,如果首标的128位(16字节)已经经过寄存器250之后,反相器的输出是高电位,那么128位就是0值。对命名有效部分首标经过之后来自反相器的输出高电位进行检测,根据这一检测电路255将产生数据写允许信号。
从以上可以看出,将系统分割,使得SCID检测器、解密器、寻址电路、条件访问滤波器和灵巧卡接口都包括在一个单一的集成电路中是非常有效的。这样做限制了可能引起关键性的时序约束的外部通路的数量。
权利要求
1.一种处理经多路开关选择的分时包信号节目分量的系统,各个包包括节目分量有效部分和包含标识符SCID的首标,所述系统的特征在于所述经多路开关选择的分时包信号的源(11);通用缓冲存储器(18);多个节目分量处理装置(21-24),它们各自的输入口与所述通用缓冲存储器的数据输出口相连;与所述源相连的SCID检测器(13-15),用于检测分别由多个预定的SCID中的一个标识的包;将由所述多个预定的SCID标识的包的各个有效部分提供给所述通用缓冲存储器的数据输入口的装置;寻址电路(17),对所述多个预定的SCID的检测作出响应,产生写地址,以便将各个节目分量有效部分存储在所述通用缓冲存储器的相应的块中,并且对来自所述多个节目分量处理装置的数据请求作出响应,将从所述通用缓冲存储器的各个块读出的相应的节目分量有效部分送入请求处理装置。
2.如权利要求1所述的装置,其特征在于所述寻址电路另外还在连续的存储器访问操作中,就所述多个节目分量处理装置请求的读/写功能,进行包有效部分数据写入的操作。
3.如权利要求1所述的装置,其中各个有效部分用SCID特定的加密关键字进行加密,其特征在于向所述通用缓冲存储器的数据输入口提供相应的包有效部分的装置,包括将设计用来对包含在预定接收包中的命名数据作出响应的灵巧卡进行对接的灵巧卡接口,以产生SCID特定的解密关键字;具有与所述通用缓冲存储器的所述数据输入口相连的一个输出口的信号解密器,用于根据相应的SCID特定的解密关键字对各个有效部分解密。
4.如权利要求3所述的装置,其中包含命名数据的包包括带有有效部分特定首标的有效部分,其特征在于所述装置还包括识别所述有效部分特定首标的解码器,用于产生将所述命名数据装入所述通用缓冲存储器的灵巧卡块的控制信号。
5.如权利要求4所述的装置,进一步的特征在于执行至少系统控制功能的微处理器;并且其中所述微处理器将所述通用缓冲存储器用作应用存储器和工作存储器。
6.如权利要求1所述的装置,进一步的特征在于执行至少系统控制功能的微处理器;并且其中所述微处理器将所述通用缓冲存储器用作应用存储器和工作存储器。
7.如权利要求1所述的装置,进一步的特征在于用于检测出现节目分量包丢失的检测器;和根据对丢失包的检测进行校正的装置。
8.一种处理经多路开关选择的分时包信号节目分量的系统,各个包包括节目分量有效部分和包含标识符SCID的首标,所述系统的特征在于所述经多路开关选择的分时包信号的源(11);执行至少系统控制功能的微处理器(19);通用缓冲存储器(18);多个节目分量处理装置(21-24),它们各自的输入口与所述通用缓冲存储器的数据输出口相连;第一多路开关选择器(99),用于有选择地将有效部分数据、由所述微处理器产生的数据和所述多个节目分量处理装置产生的数据送至所述通用缓冲存储器的数据输入口;地址产生电路(78),用于对至少相应的节目分量有效部分产生读和写地址;以及第二多路开关选择器(105),用于有选择地将所述地址产生电路产生的、由所述微处理器产生的和所述多个节目分量处理装置产生的存储器地址送至所述通用缓冲存储器的存储器地址口。
9.如权利要求8所述的装置,其特征在于各个有效部分包括与由所述微处理器执行的应用有关的可执行码,并且所述通用缓冲存储器满足条件存储所述可执行码以及所述微处理器产生的数据。
10.如权利要求8所述的装置,进一步的特征在于第三多路开关选择器(104),具有与所述第一多路开关选择器的一个输出口及所述经多路开关选择分时的包信号的所述源相连的相应的输入口,所述第三多路开关选择器有选择地满足条件,使有效部分从所述源到达所述处理装置中的一个装置,而不经过所述通用缓冲存储器。
11.如权利要求10所述的装置,其中各个有效部分用SCID特定的加密关键字进行加密,其特征在于有效部分与所述第一多路开关选择器的一个输入口相连,所述装置包括将设计用来对包含在预定接收包中的命名数据作出响应的灵巧卡进行对接的灵巧卡接口,以产生SCID特定的加密关键字;具有与所述第一多路开关选择器的所述输入口相连的一个输出口的信号解密器,用于根据相应的SCID特定的解密关键字对各个有效部分解密。
12.如权利要求11所述的装置,进一步的特征在于根据各个包中的SCID,将相应的包有效部分送往所述通用缓冲存储器中的标志区域的装置。
13.在用于处理包括节目分量的经多路开关选择的分时包信号的音频/视频信号传输处理器中的装置,其中各个包包括节目分量数据有效部分和包含节目分量标识符SCID的首标,其中各个有效部分存储在缓冲存储器中,对所述缓冲存储器寻址的电路的特征在于经多路开关选择的分时包的源(12);根据各个首标检测具有预定标识符的包的检测器(15);被编程的控制装置(19),产生多个N位(N是整数)开始和结束指针,用于为多个节目分量的包有效部分的存储分配所述缓冲存储器的多个块;第一和第二相同的多个寄存器(87、88),用于分别存储所述多个N位开始指针和N位结束指针;用于存储N位头(写)指针的第三多个寄存器(83),从每种所述第一、第二和第三多个寄存器中选出的各一个寄存器构成的一组寄存器被分配给每个相应的节目分量;其中对各组寄存器电路(93、96)将所述M位(M是小于N的整数)开始指针与所述N位头指针连在一起,形成N+M位写地址;以及装置(82、86、89、90)向所述缓冲存储器的一个地址输入口提供所述各个写地址。
14.如权利要求13所述的装置,进一步的特征在于用于检测各个头指针何时等于相应的结束指针的比较器;以及根据头和结束指针相等的检测结果,产生下一个写地址的装置,下一个写地址是由所述M+N位写地址的最高有效位的位置中的所述N位开始指针和M个最低有效位的位置的0一起构成的。
15.如权利要求13所述的装置,进一步的特征在于每次对相应的头指针增加一个单位的加法器,这一头指针用来形成写地址。
16.如权利要求13所述的装置,其中所述包有两种类型,基本型和辅助型,其特征在于为辅助包有效部分产生缓冲存储器地址的电路包括第四多个寄存器,每个相应的节目分量对应两个,用于存储辅助有效部分的N+M位(读/写)辅助地址指针;确定出现辅助有效部分的装置;以及用于将所述辅助地址指针产生的存储器地址经多路开关选择送至所述缓冲存储器的一个地址口的装置。
17.如权利要求16所述的装置,其中各个辅助包首标包括加密关键字CS,并且其特征在于为辅助包有效部分产生缓冲存储器地址的电路包括检测各个辅助包中所述加密关键字CS的检测器;产生与节目分量的类型有关的W位代码的转换器,借助该转换器各个辅助包与节目分量的类型相关联;产生与所述W位代码连在一起的Z位指针以及所述加密关键字CS的控制装置;累加电路,用于在每个存储器地址周期将L位值增加一个单位;以及将L位值加在连接的Z位指针、W位代码和所述加密关键字CS上以便形成N+M位辅助包存储器地址,并且将各个N+M地址装入所述第四多个寄存器的装置。
18.如权利要求17所述的装置,进一步的特征在于复位装置,该装置在包含所述分量的一个辅助有效部分的各个包的开始处,将一个分量的所述L位值复位成一个预定值。
19.在一个包信号传输处理器中,该处理器用于处理第一和第二类型即基本型和辅助型的信号包,并且各个包具有标识符,指示包含在相应的包有效部分中的节目分量,装置的特征在于存储包有效部分的存储器;第一直接存储器访问装置,用于产生在所述存储器中存储基本包的有效部分的存储器地址;第二直接存储器访问装置,用于产生在所述存储器中存储辅助包的有效部分的存储器地址,其中所述第二直接存储器访问装置产生的地址至少部分地是与当前辅助包关联的一个标识符的函数。
全文摘要
本发明是一种用于TDM包信号电视接收机的反向传输处理器系统。该系统包括有选择地抽出节目分量数据的所需有效部分并将该数据送至通用缓冲存储器的数据输入口的装置。一个微处理器也将数据施加到通用缓冲存储器数据输入口。各个分量有效部分和微处理器产生的数据根据相关的存储器地址存储在通用缓冲存储器的相应的块中,该地址是由地址多路开关选择器施加到存储器地址输入口上的。
文档编号H04N7/16GK1111867SQ95104689
公开日1995年11月15日 申请日期1995年4月21日 优先权日1994年4月22日
发明者K·E·布里奇沃特, M·S·代斯 申请人:汤姆森消费电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1