在使用诸如美国数字电视广播的ATSC标准或欧洲数字卫星广播
的DVB标准的MPEG2标准的数字电视系统中,传输流方式是指将各
种节目的音频/视频流多路复用为带有纠错码的分组,并发送这些多路
复用的音频/视频流。
传输流以预定的传输单位(例如,188字节)发送,每个传输流
单位包括一个PID(分组标识符),用于显示相应的传输流中包含的
是何种信息。因此,位于接收部分中的PID/区段滤波器将接收到的传
输流解码,从解码信息中提取观众所需要的信息,并将该信息下载到
一个外部设备中,储存在存储器中,或根据PID将之丢弃。
然而,通用的PID/区段滤波器的结构仅能够支持ATSC标准或
DVB标准。
作为通用PID/区段滤波器的一个例子,SGS-汤姆森公司的ST20-
TP2芯片利用处理器来对DVB流解码,而区段滤波器部分被构造成
硬件。该芯片包括32个滤波器,在同一时间对分组的32个区段滤波。
其中,每个滤波器需要8个字节的段头数据(section header data)和
8个字节的掩码数据,掩码数据用于指明8字节的段头数据是否用于
滤波。因此,共使用了512字节(32×8×2=512)的固定存储空间。
然而,使用SGS-汤姆森公司的ST20-TP2芯片进行滤波仍会受到限制,
这是因为在ATSC和DVB系统中,某些区段中还包括除了基本的8
字节以外的滤波所需的额外字段。
作为通用PID/区段滤波器的另一个例子,专用于ATSC系统的使
用LG公司的GDC21S802A芯片的PID/区段滤波器的缺点是它不支持
DVB或其它标准。
作为通用PID/区段滤波器的另一个例子,具有ATSC和DVB系
统组合功能的LSI逻辑L64118芯片包括32个PID寄存器,并支持30
个PID的区段滤波。LSI逻辑L64118芯片包括32个滤波器,每个滤
波器被构造为数据,用来滤波包括段头数据在内的最多12个字节。
但是,这种解码芯片的缺点是存储器的使用效率低。
如上所述,由于按照现有技术的PID/区段滤波器只能支持ATSC
标准或DVB标准之一,因此产品的应用范围受到限制。由于用作区
段滤波器的字段的限制而使滤波受到限制,并由于存储器没有被有效
利用而使资源被浪费。
下面,参照附图详细说明根据本发明的PID/区段滤波器的工作过
程和效果。
图1为方框图,示出了根据本发明的PID/区段滤波器的结构。当
观众利用遥控器向外部控制器模块10发出控制指令以发现有关广播
节目的信息时,外部控制器模块10将与请求信息相应的PID值记录
在PID比较电路模块30的各个PID寄存器中,并将所需的滤波器信
息存储在滤波器存储器20中,从而使处理器模块40输出相应的信息。
处理器模块40将从外部设备接收到的具有预定字节(例如188
字节)的传输流解码,检测解码传输流中的PID和TID(表ID),并
请求PID比较电路模块30比较检测到的PID和TID。处理器模块40
根据由外部控制器10存储在滤波器存储器20中的、具有图3所示数
据格式的滤波器信息,对包含在传输流中的区段进行滤波。
滤波器存储器20有一个16位的滤波器掩码区,用于指明是否从
段头区的顶部开始对每个字节进行滤波。例如,当滤波器掩码区的值
为0x000f时,表示对段头区上部的4个字节进行滤波。在这种情况下,
滤波时将要用到的4个字节值被记录在滤波器掩码区的下一个区内。
当处理器模块40请求比较PID和TID时,PID比较电路模块30
对从处理器模块40接收到的比较对象值与分别存储在32个内部寄存
器中的值进行比较,其中后者具有图2a所示的结构。PID比较电路模
块的30的比较结果被传送至具有图2b所示结构的处理器模块40。为
了将比较结果传送给处理器模块40,PID比较电路模块30包括:一
个将输入的PID储存为比较对象的寄存器;一个储存表ID的寄存器;
以及32个内部寄存器。
图2a所示的PID寄存器中的内容由外部控制器10记录。PID寄
存器的结构包括:第一区(PID值),用于指示待比较的PID值;第
二区(区段或非区段),用于表明分配给PID的分组的语法是否具有
区段结构;第三区(解码使能)(Decoding Enable),用于表明是否
解码与PID相应的分组;第四区(下载使能)(Download Enable),
用于表明是否将与PID相应的分组直接发送至外部设备;第五区(表
ID),用于指示待解码的区段的TID值;第六区(滤波器信息索引)
(Filter Information Index),用于表明存储用于区段滤波的信息的存
储器的起始地址;和第七区(滤波器索引或数据类型),用于表明第
六区(滤波器信息索引)的用途。当第七区(滤波器索引或数据类型)
的值为‘0’时,表明其用于原始用途;当第七区的值为‘1’时,表
明其用于数据类型。
PID比较电路模块30包括具有上述结构的32个PID寄存器,还
包括根据处理器模块40的比较请求而使用的参考PID寄存器和TID
寄存器。
另外,PID比较电路模块30中的、具有图2a所示结构的比较结
果被传送给处理器模块40。图2b所示的寄存器包括:第一区(数据
类型),表明32个PID寄存器中的哪一个寄存器与处理器模块40的
比较结果相匹配;第二到第四区(区段或非区段、编码使能、下载使
能),具有与图2a中所述相同的功能;第五区(匹配PID号),用
于表明作为比较结果的PID寄存器号;和第六区(滤波器信息索引),
用于表明存储用于区段滤波的信息的存储器的起始地址。
这里,PID比较电路模块30包括PID和TID,但当PID寄存器
或TID寄存器的TID区(表ID)的值为0xFF时,判断TID相互匹配,
仅比较PID,。换句话说,使用0xFF作为TID意味着所述区不应当
被比较,这表明0xFF值对于MPEG标准中的TID是被禁止的值。
根据比较结果,如果存在几个匹配的PID寄存器值,则具有可用
存储区的PID寄存器可以根据其数据类型号按照升序或降序发送。
下一步,处理器模块40根据从PID比较电路模块30接收到的比
较结果,将从传输流中解码的相应分组存储在预定的存储区内。
换句话说,当匹配的PID号为‘0’时,相应的分组被丢弃。另
一方面,当匹配的PID号为‘1’且其不具有区段结构时,分组被存
储在相应的数据存储区内。当匹配的PID检测器号为‘1’且其具有
区段结构时,根据图3所示的滤波器存储器中的滤波器信息来进行滤
波。接着,判断是否根据滤波结果将相应的分组存储在与数据类型相
应的存储区域内。
而且,当判断出匹配的PID寄存器超过两个并且它们不具有区段
结构时,处理器模块40将分组存储在与从PID比较电路模块30发送
的数据类型值相应的区域内。当判断出匹配的PID寄存器超过两个并
且它们具有区段结构时,根据图3所示的滤波器存储器20的滤波器
信息进行滤波。然后,当滤波结果与滤波器信息匹配时,分组被存储
在相应的数据类型区内。
一旦接到来自处理器模块40的下载指令,下载电路模块50将相
应的分组直接发送到外部硬件,而不经过外部存储器。该功能对于输
入流具有高带宽的情况十分有效,这是因为相应的分组可仅被存储在
外部硬件中,而没有经过其它处理。
然后,外部存储器模块60保持寄存器数据,以便控制与32个PID
寄存器的数据类型相应的外部存储区,并将被解码的数据存储在外部
存储器中。
换句话说,如图4所示,外部存储器模块60中储存了从外部控
制器10接收的存储区的起始和结束地址。一旦接到要求储存处理器
模块40分配的数据类型的指令,外部存储器模块60便将该数据存储
到相应的区。
如上所述,利用各模块之间的相互作用,可以在PID寄存器与外
部存储器模块60的缓冲器之间实现各种匹配。
作为上述匹配方法的一个例子,多个存储器缓冲器可以与一个
PID匹配。在该方法中,相同的PID值被记录在多个PID寄存器上。
例如,如果相同的PID值被记录在32个PID寄存器上,则PID比较
电路模块30为处理器模块40提供具有图5所示格式的比较结果。相
应地,外部存储器模块60可以利用32个存储器缓冲器来存储数据。
该功能的优点是:诸如广播数据之类的具有高带宽的连续发送数
据可以在短时间内被接收而没有任何损失。
作为上述匹配方法的另一个例子,一个存储器缓冲器可以与多个
PID匹配。该方法是如下实现的:将各PID值记录在各个PID寄存器
上;将图2a所示的第七区(滤波器索引或数据类型)的值记录为‘1’;
将图2b所示的第六区(滤波器索引或数据类型)的值记录为一个特
定数据类型值。
在这种情况下,PID比较电路模块30将对于每个PID都具有相
同数据类型值的结果发送给处理器模块40,而处理器模块40将把数
据存储在相同存储器缓冲器内的指令发送到外部存储器模块60。
利用这个功能能使存储器的效率得到提高,这是因为小容量的存
储器可用于接收数据而不需要快速处理。
因此,根据本发明的PID/区段滤波器可以同时支持ATSC(高级
电视系统协会)标准和DVB(数字电视广播)标准。这是通过如下方
法实现的:将诸如PID(分组标识符)和TID(表标识符)之类的信
息存储在PID比较电路模块的多个内部寄存器中;当处理器模块请求
比较PID和TID时,对待比较的对象值与存储在内部寄存器中的值进
行比较;以及从被解码信息中检测观众所需的信息,以便随后下载或
丢弃。
另外,在保持寄存器与PID比较电路模块中的各个PID寄存器的
数据类型相匹配的过程中,外部存储器模块60可以通过使一个PID
与多个存储器缓冲器匹配、或使多个PID与一个存储器缓冲器匹配来
保持寄存器。因此,根据本发明的PID/区段滤波器的存储器使用效率
高。