传输速率调整设备的制作方法

文档序号:7669770阅读:111来源:国知局
专利名称:传输速率调整设备的制作方法
技术领域
本实用新型涉及用于调整传送流的传输速率和设备,更为确切地 说,涉及用于调整已经根据MPEG (运动图片专家组)标准进行压縮 编码的传送流(MPEG-TS)的传输速率和设备。
背景技术
近年,用于回放存储在诸如存储卡等记录媒介上的MPEG文件的 设备被普遍使用。在这种回放设备中,使用MPEG解码器来作为 MPEG2-TS中的MPEG文件的接口。典型地,各种传输速率的数据作 为MPEG文件被存储在记录媒介上,并且从MPEG文件中读取的 MPEG2-TS具有各种传输速率。结果,从MPEG文件中读取的 MPEG2-TS的传输速率有时候与适用于MPEG解码器的传输速率不同。 在这种情况下,从MPEG文件中读取的MPEG2-TS必须被转换成适合 于MPEG解码器的传输速率。以适合于MPEG解码器的传输速率来供应已经从MPEG文件中读 取的MPEG2-TS的方法中包括以下方法,其中,通过利用PLL电路使 PCR(程序时钟参考)重新生成时钟,然后将与所述重新生成的时钟相 匹配的MGEG-TS发送至MPEG解码器,其中所述PCR是TS信息包 (TS packets)中记录的程序时间标准参考值。除了上述方法, JP-A-2001-339688 (下面称之为专利文献l)中公开了一种回放设备, 下面对其结构和操作进行更加详细地讲述。MPEG-TS允许诸如视频信号、音频信号和数据等多个程序在单个 流中进行多路复用。图1示出了 MPEG-TS的信息包结构。MPEG-TS是由多个如图1 (A)所示的信息包长度为188字节的 传送信息包(下面简称为"TS信息包")组合而成。每一个TS信息 包由报头51和有效负载52组成,如图l (B)所示。报头51由32位 的传送报头和备用字段54组成,如图1 (C)所示。传送报头包括13 位的PID (信息包标识)53,它是信息包标识信息。如图1 (D)所示, 备用字段54包括48位的PCR55,它是程序时间标准参考值。PCR 55 是27MHz的时间戳。在通过MPEG解码器的STC (系统时间时钟)来 进行解码的期间,将参考该PCR55来重新生成标准时间。如图1 (E)所示,PCR 55由总共48位来描述9位的扩展部分 60重复300次,33位的基本部分58在扩展部分60重复300次时计数 一次,并且还有6位的保留区域59。图2示出了专利文献1中讲述的传送流回放设备的结构。参考图2, 传送流回放设备由以下组成回放处理器102、存储器103、 PCR检测 器104、定时控制器105、 PCR操作单元106、 NULL信息包生成单元 107和选择器108。以不同于27Mbps传输速率的记录速率将MPEG-TS记录在记录媒 介100上。回放处理器102回放来自记录媒介100的MPEG-TS,并且 将该重新生成的MPEG-TS传递到存储器103和PCR检测器104。 PCR 检测器104在重新生成的MPEG-TS中检测PCR,并且对于PCR的每 一次检测,将PCR检测信号发送到定时控制器105。NULL信息包生成单元107生成NULL信息包,它是哑TS信息包。 这些NULL信息包的信息包长度也是188字节,与TS信息包的字节数
一样。已经从存储器103中读出的MPEG-TS被供应给选择器108的其 中一个输入,并且在NULL信息包生成单元107中生成的NULL信息 包被供应给选择器108的另一个输入。选择器108选择和供应这些输 入中的一个作为输出。PCR操作单元106计算下一个PCR的值,以便 当由于插入NULL信息包而使当前的PCR和下 一个PCR的间距超出合 适的PCR间距时能够实现合适的PCR间距。定时控制器105既监控所输入PCR检测信号的被检测PCR值,同 时还供应来自选择器108的已经从与27MHz时钟相匹配的存储器103 中读出的回放MPEG-TS。定时控制器105计算当前PCR和下一个PCR 之间的差值,并且基于所计算的结果,判断当以27Mbps的传输速率供 应已经从存储器103中读出的MPEG-TS时,以27MHz时钟在当前PCR 和下一个PCR之间的间距中可以发送多少比特数据。当在包含有下一 个PCR的MPEG-TS信息包的供应期间,在PCR间距中有什么不一致 情况发生时,定时控制器105不从存储器103中读出包含有下一个PCR 的MPEG-TS信息包,而是将在NULL信息包生成单元107中生成的 NULL信息包插入到它的位置。如果在当定时控制器105还要插入另一 个NULL信息包并且然后供应包含有下一个PCR的MPEG-TS信息包 时当前PCR和下一个PCR之间的间距超出合适的PCR间距,则定时 控制器105从存储器103中读取包含有下一个PCR的TS信息包,而 不会插入NULL信息包。此时,定时控制器105将已经记在被读取的 TS信息包中的下一个PCR的值重写为已经在PCR操作单元106中计 算出的PCR值,以便与输出定时相匹配。这样,可以获得在PCR之间 缺乏失配的输出MPEG-TS。不过,上述回放方法和回放设备具有如下所述问题。在其中使用PCR来在PLL电路中重新生成时钟并且MPEG2-TS 被传输到与重新生成的时钟相匹配的MPEG解码器的方法中,需要有 使用了 PLL电路的时钟重新生成单元,并且该方法因此具有电路规模
增大和高成本的缺点。另外在MPEG解码器中,当重新生成已经进行 了从MPEG2-PS (程序流)到MPEG2-TS的软件转换的数据时,根据 MPEG2-TS的PCR之间的字节数而计算的传输速率有时候不均一,并 且结果使用上述PLL电路的时钟重新生成是有问题的。在专利文献1中讲述的重新生成设备是将传输速率为25Mbps的 记录数据(MPEG文件)重新生成和供应为传输速率为27Mbps的 MPEG-TS并且使用传输速率为27MHz的时钟来供应该重新生成的 MPEG-TS。用于该输出的27MHz的时钟必须与从PCR计算的时钟相 匹配。结果,在专利文献1中讲述的重新生成设备也需要有使用PLL 电路的时钟重新生成电路,并且因此具有如上所述的相同缺点。实用新型内容本实用新型的目标是提出一种传输速率调整设备,用于以期望的 传输速率来供应MPEG-TS而不需要使用PLL电路,并且因此提供了 上述问题的解决方案。为了实现上述目标,本实用新型涉及一种传输速率调整设备,用 于调整所输入的传送流的传输速率,该传输速率调整设备将由具有固 定信息包长度的多个传送信息包组成的传送流作为输入,其中所述信 息包中存储有已编码数据并且以固定时间间隔记录了在上述编码期间 作为标准时间间隔的规定频率的时间戳(PCR);传输速率调整设备包括缓存;缓存写入单元,将输入传送流的传送信息包连续写入到缓存,并 且检测输入传送流中的时间戳;以及缓存读取单元,将指定频分率的频分率信号和用于对已编码数据进行解码的解码器的系统时钟作为输入,并且以由输入的频分率信号所指定的频分率来对输入的系统时钟进行频分所获得的时钟所决定的 传输速率将已经从缓存中依序读出的传送信息包发送到解码器;
其中所述缓存写入单元,当检测到所述时间戳时,将下述内容作 为其中记有所述第二时间戳的传送信息包的增补信息存储在缓存中 此次被检测的所述第一时间戳和之前被检测的所述第二时间戳之差, 在所述第一和所述第二时间戳之间的间距中的传送信息包数,以及所 述第二时间戳的值;以及缓存读取单元,当从所述缓存中读出其中记有第二时间戳的传送 信息包时,根据附在所述传送信息包上的增补信息,在已经从缓存中 读出的传送信息包之间插入NULL信息包以实现调整,使得以该传输 速率来发送传送信息包,并且当仅通过插入NULL信息包无法实现调整时,当从所述缓存中读取其中记有第一时间戳的传送信息包时,重 写该传送信息包的时间戳。根据上述结构,通过对解码器(MPEG解码器)的系统时钟进行 频分而得到的时钟被用作为与解码器相接口的时钟,从而避免通过例 如PLL电路来重新生成时钟的需要。另外,不仅在传送信息包之间插入NULL信息包,而且重写时间 戳(PCR),以使得从缓存中依序读出的传送信息包的传输速率与接口 时钟所决定的接口传输速率相匹配,并且结果导致,在准备通过MPEG 解码器来对已经经过从MPEG2-PS (程序流)到MPEG2-TS的软件转 换的数据进行重新生成的情况下,即便当根据在MPEG2-TS的PCR之 间的字节数来计算的传输速率不均一时,可以调整传输速率以便与由 接口时钟所决定的接口传输速率相匹配。因此,可以以正确的传输速率来将MPEG2-TS发送到MPEG解码器,而不会在解码器端的时钟重 新生成中发生问题。如前述解释所述,通过消除使用包括有PLL电路的时钟重新生成 电路的需要,本实用新型能够使成本相应下降和电路规模减小。另夕卜,即便当根据在MPEG2-TS的PCR之间的字节数来计算的传 输速率不均一时,可以以正确的传输速率来将MPEG2-TS发送到MPEG 解码器,从而可以为解码器提供比现有技术的设备更为稳定的解码操作。通过下面的讲述并参考用于解释本实用新型示例的附图,将使本 实用新型的上述和其他目的、特征和优势更加明显。


图1示出了 MPEG-TS传送信息包的典型结构; 图2为框图,示出了 JP-A-2001-339688中所述的传送流重新生成 设备的结构;图3为框图,示出了作为本实用新型实施例的传输速率调整设备 的示意性结构;图4用于解释传送信息包和存储在图3所示缓存中的增补信息; 图5用于解释在图3所示的传输速率调整设备中的传输速率调整; 图6用于解释在图3所示的传输速率调整设备中的PCR补偿; 图7为框图,示出了 MPEG解码器的示意性结构; 图8示出了频分率和传输速率之间的关系;图9为示意性结构,示出了其中均一插入NULL信息包的传送流示例;图10用于解释在图3所示的传输速率调整设备中插入NULL信息包的示例;图11用于解释在图3所示的传输速率调整设备中插入NULL信息包的另一个示例;图12用于解释在均一插入NULL信息包的情况下,存储在传送缓存中的数据值的改变;以及图13示出了在均一插入NULL信息包的情况下,存储在传送缓存 中的数据值的转换。
具体实施方式
图3为框图,示出了作为本实用新型实施例的传输速率调整设备 的示意性结构。图3所示的传输速率调整设备2是用于调整已经从 MPEG2-TS文件1中读出的MPEG2-TS的传输速率的设备,并且由缓 存写入单元5、缓存6和缓存读取单元7组成。以在数据发送端的设备(图中未示出)中使用的传输速率来将 MPEG2-TS存储在MPEG2-TS文件1中。存储在MPEG2-TS文件1中 的MPEG2-TS可以是已经经过从MPEG2-PS到MPEG2-TS的软件转换 的数据。MPEG2-TS是如图1所示结构的多个TS信息包的集合。PCR 作为27MHz的时间戳被记在TS信息包的备用字段。在数据发送端的 设备中,PCR用于重新生成由MPEG解码器3的STC(系统时间时钟) 在编码期间所使用的标准时间。根据这些PCR,可以知道在其中记有 PCR的信息包的MPEG解码器3中的预测到达时间。8位TS信息包数据和TS信息包时钟作为传输速率调整设备2和 MPEG解码器3之间的接口。 MPEG解码器3使用记在由传输速率调 整设备2所供应的MPEG2-TS的备用字段中的PCR以便在包括有 VCXO 4的PLL电路中重新生成系统时钟,并且将所重新生成的系统 时钟供应给传输速率调整设备2。由PLL电路所重新生成的系统时钟 与数据发送端的设备的系统时钟相匹配。图3所示的缓存写入单元5的组成包括PCR间信息包数测量单 元9、 PCR检测单元10、前级PCR存储单元11、 PCR差值计算单元 12和缓存写入控制单元13。从MPEG2-TS文件1中读出的MPEG2-TS 被供应给每一个PCR间信息包数测量单元9、 PCR检测单元10和缓存 写入控制单元13。PCR检测单元10检查对于作为MPEG2-TS进行供应的每一个TS 信息包,是否己将PCR记在备用字段中。当记有PCR时,PCR检测单 元IO获得PCR的值。 PCR间信息包数测量单元9从其中记有PCR的信息包直到到达其 中记有下一个PCR的信息包之前为止,测量在该期间的信息包数来作 为PCR间信息包数。当PCR检测单元IO检测到下一个PCR时,PCR 间信息包数测量单元9将当前测量值重置为"0"。前级PCR存储单元11保持已经由PCR检测单元10获得的PCR 值,直到检测到下一个PCR为止。PCR差值计算单元12对已经由PCR 检测单元10获取的PCR值和已经由PCR检测单元10获取并且被存储 在前级PCR存储单元11中的前级PCR的PCR值之差进行计算。在PCR 间信息包数测量单元9中测量的PCR间信息包数,在PCR差值计算单 元12中计算的PCR差值,以及存储在前级PCR存储单元11中的前级 PCR值作为增补信息都被供应给缓存写入控制单元13。缓存写入控制单元13以TS信息包为单元,将已经从MPEG2-TS 文件1中读出的MPEG2-TS写入到缓存6中。当将其中记有PCR的信 息包写入到缓存6时,缓存写入控制单元13将存储在前级PCR存储单 元11中的PCR,已经在PCR间信息包数测量单元9中测量的PCR间 信息包数,以及已经在PCR差值计算单元12中计算的PCR差值作为 其中已经记有前级PCR的信息包的增补信息写入到缓存6。图4给出了存储在缓存6中的信息包和增补信息的示意性表示。 在该例中,TS信息包T。、 L、 T2、…、Tn、 Tn+1、 Tn+2、 ...、 Tm、 Tm+2、… 按照所列顺序存储在缓存6中。TS信息包To、L和Tm是其中记有PCR 的TS信息包,并且增补信息被附在这些TS信息包的每一个上。TS信 息包To的增补信息包括已经在PCR间信息包数测量单元9中测量的 TS信息包To和Tn的PCR间信息包数,已经在PCR差值计算单元12 中计算的TS信息包To和Tn的PCR差值,以及存储在前级PCR存储 单元11中的TS信息包To的PCR值。这样,在供应其中记有下一个 PCR的信息包时获取的增补信息与其中记有PCR的信息包一起存储起 来。图3所示的缓存读取单元7是用于从缓存6中读取TS信息包的设 备,它包括时钟频分单元14、缓存读取控制单元15、 PCR差值补偿 单元16、传输速率计算单元17、插入的NULL信息包数/后续的PCR 补偿量计算单元18、 PCR补偿量存储单元19、 PCR补偿单元20、 PCR 重写单元21、 NULL信息包插入控制单元22、 NULL信息包生成单元 23、 NULL信息包插入单元24和信息包传输单元25。为时钟频分单元14和传输速率计算单元17供应频分率输入信号 26。时钟频分单元14对由频分率输入信号26所决定的频分率所供应 的作为VCXO 4的输出的MPEG解码器3的27MHz系统时钟进行频分, 并且将经过频分的时钟作为传送流的接口时钟(TS时钟)供应给MPEG 解码器3。缓存读取控制单元15从缓存6中依序读取TS信息包,并且将TS 信息包供应给PCR重写单元21。缓存读取控制单元15读取其中已将 PCR和TS信息包一同记录的TS信息包的增补信息(PCR值、PCR间 信息包数以及PCR差值)。在已经读取的增补信息中,PCR差值被供 应给PCR差值补偿单元16, PCR间信息包数被提供给插入的NULL信 息包数/后续的PCR补偿量计算单元18,并且PCR值被提供给PCR补 偿单元20。PCR差值补偿单元16将存储在PCR补偿量存储单元19中的PCR 补偿量补偿给由缓存读取控制单元15供应的PCR差值。传输速率计算 单元17根据由频分率输入信号26所决定的频分率来计算到MPEG解 码器3的传输速率。例如,当频分率为4时,TS时钟为6.75MHz,或 27MHz频率的1/4。作为信息包传输单元25的输出的TS数据是8位, 并且因此计算出到MPEG解码器3的传输率为54Mbps (=6.75MHzx8 位)。 插入的NULL信息包数/后续的PCR补偿量计算单元18根据已经 由缓存读取控制单元15所提供的PCR间信息包数,已经由PCR差值 补偿单元16所补偿的PCR差值,以及已经由传输速率计算单元17所计算的传输率,来计算应该插入的NULL信息包数,以使已经从缓存6 中读取的传送流的传输速率与已经由传输速率计算单元17计算得到的 传输速率相匹配,并且计算后续PCR补偿量,以用于补偿仅通过插入 NULL信息包无法实现调整的局部,其中所述后续PCR补偿量用于补 偿其中记有后续PCR的信息包的PCR值。PCR补偿量存储单元19对已经通过插入的NULL信息包数/后续 的PCR补偿量计算单元18计算的后续PCR补偿量进行存储。PCR补 偿单元20根据存储在PCR补偿量存储单元19内的PCR补偿量对由缓 存读取控制单元15提供的PCR进行补偿。对于其内记录了 PCR的并 且已经由缓存读取控制单元15提供的信息包而言,PCR重写单元21 将这些信息包内记录的PCR重写为已经通过PCR补偿单元20进行补 偿后的PCR。NULL信息包插入控制单元22根据由插入的NULL信息包数/后 续的PCR补偿量计算单元18所计算的所插入NULL信息包数和已经 被缓存读取控制单元15所读取的PCR间信息包数,来确定NULL信 息包的插入间距和插入数,并且将表明待插入的NULL信息包的定时 的插入信号作为输出进行供应。NULL信息包生成单元23生成NULL信息包,其用于插入到已经 由缓存读取控制单元15所读取的传送信息包中,以调整传输速率。 NULL信息包插入单元24根据由NULL信息包插入控制单元22所供 应的作为输出的插入信号,将已经由NULL信息包生成单元23所生成 的NULL信息包插入到已经由缓存读取控制单元15进行读取的TS信 息包之间。信息包传输单元25将其中已经由NULL信息包插入单元24
插入了 NULL信息包的信息包以作为8位TS数据的TS时钟发送到 MPEG解码器3。在本实施例的传输速率调整设备2中,缓存读取单元7通过将 NULL信息包插入MPEG2-TS并且根据由缓存写入单元5获取的增补 信息重写PCR,来调整传输速率。图5用于解释传输速率的调整。原始传送流是已经从MPEG2-TS 文件1中读出的MPEG2-TS,并且包括有多个TS信息包TS0、 TSl、 TS2、 TS3、 TS4、 TS5、 ...。 PCR0被记在TS信息包TS0的备用字段 中。PCR1被记在TS信息包TS4的备用字段中。在该原始传送流中的 PCRO和PCR1是时间间隔信息,用于重新生成在MPEG解码器3的 STC中进行编码时所用的标准时间间隔,并且PCRO和PCR1与图5中 的时间轴上的时间间隔没有关系。在如图5所示的其中已经插入了 NULL信息包的传送流中,NULL 信息包被NULL信息包插入单元24插入到原始传送流的每一个信息包 之间。在图5中,其中已经插入了 NULL信息包的传送流当以接口的 传输速率被发送到MPEG解码器3时,被描述在时间轴上。在NULL信息包插入单元24中,NULL信息包被插入在TS信息 包之间,使得原始传送流中分别记在信息包TSO和TS4中的PCRO和 PCR1与时间轴上的PCRO和PCR1相匹配。不过,当在传输速率计算 单元17计算的传输速率不是从MPEG2-TS文件1中读取的MPEG2-TS 的传输速率的整数倍时,如果使在信息包TS4中记录的PCR1的时间 轴上的位置为tl,如图5所示,则该tl的位置不与PCR1在时间轴上 的原始位置相匹配。如果其中tl的位置不与时间轴上PCR1的原始位 置相匹配的传送流被作为TS数据8而不加改变地发送到MPEG解码器 3,则系统时钟无法在MPEG解码器3中准确地重新生成,因此STC 计数就不准确。
当无法仅通过如上所述插入NULL信息包来调整传输速率时, PCR补偿量根据将PCRO和PCRl的差值除以位于PCRO和PCRl之间 的TS信息包和NULL信息包的信息包时间长度之和所产生的余数(片 段)来进行计算,以使记在信息包TS4中的PCRl与时间轴上的位置 tl相匹配,并且PCR1的值根据所计算的PCR补偿量进行重写。这样, 可以使从MPEG2-TS文件1中读取的MPEG2-TS的传输速率与在传输 速率计算单元17中计算的传输速率相一致。PCR补偿的计算的一个实际示例如下所述。首先假定PCRO的值为"0" , PCRl的值为"20" , TS信息包时 间长度(等于NULL信息包时间长度)为"3",并且在原始传送流中 的PCRO和PCRl之间的TS信息包数为"4"。在这种情况下,总TS 信息包时间长度为12 (=3x4)。在这种情况下,当将其中已经插入了 NULL信息包的MPEG2-TS供应给MPEG解码器3时,PCRl的时间 位置为"12",这与所记的时间间隔"20"不一致。通过插入NULL信息包来校正不够长的时间间隔。不够长的时间 间隔是通过从所记的时间"20"中减去TS信息包的总时间长度"12" 而得到的值"8";并且可以在不够长时间间隔这一部分中插入两个 NULL信息包。在这种情况下,两个NULL信息包的总时间长度为"6", 从而通过两个NULL信息包来补偿不够长时间间隔"8"这一部分的时 间间隔"6"。不过,剩余的时间间隔"2"无法通过信息包时间长度 为"3"的NULL信息包来补偿。考虑在其中已经插入了两个NULL信息包的传送流中的PCRl的 时间位置,将两个NULL信息包的时间长度"6"添加到总的TS信息 包时间长度"12"得到"18",并且该"18"与所记的时间"20"不 同。在该时间中PCRl的时间"18"的位置是在如图5所示的时间轴上
的tl位置。在本实施例中,其中已经插入了 NULL信息包的传送流的 PCR1的值从PCR1 "20"的原始位置被重写到tl "18"的时间轴上。图6表示用于在缓存读取单元7中执行的PCR补偿的系列处理进 展的示意图。参考图6,首先根据作为PCRO的增补信息被读取的PCR 差值和PCR间信息包数,在缓存读取单元7中计算出当重写下一个 PCR1以用于调整片段时,待插入的NULL信息包数和PCR补偿量。 然后,根据所计算的PCR补偿量来重写下一个PCR1的值。对紧随PCR1 的增补信息执行相同的计算,并且重写下一个PCR的值。下面来对本实施例的传输速率调整设备2的操作进行解释。首先来解释缓存写入单元5的操作。在缓存写入单元5中,缓存 写入控制单元13将从MPEG2-TS文件1所读取的传送信息包连续写入 到缓存6,只要其中有空间的话,并且PCR检测单元10同时检测和获 取记在传送流的备用字段中的PCR。当通过PCR检测单元10检测第一 PCR时,在该检测时刻PCR间 信息包数测量单元9被重置,并且由PCR检测单元10所检测的第一 PCR被存储在前级PCR存储单元11中。被重置的PCR间信息包数测 量单元9测量其中记有PCR的信息包到在其中记有下一个PCR的信息 包之前的信息包之间的信息包数,来作为PCR间信息包数。当通过PCR检测单元IO检测第二PCR时,PCR差值计算单元12 根据由PCR检测单元10检测的第二 PCR和存储在前级PCR存储单元 11中的前级PCR来计算PCR差值。缓存写入控制单元13然后将由PCR 差值计算单元12计算的PCR差值,由PCR间信息包数测量单元9测 量的PCR间信息包数,以及存储在前级PCR存储单元11中的PCR, 作为其中记有第一 PCR的信息包的增补信息写入到缓存6中。
对于第三和后续的PCR,每次由PCR检测单元10检测PCR时, 重复如上所述用于检测第二 PCR的相同操作。因此,已经从MPEG2-TS 文件1中读取的TS信息包被依次存储在缓存6中,并且增补信息被添 加到其中记有PCR的TS信息包中,其中增补信息包括PCR间信息 包数,也就是从当前PCR到下一个PCR之间的信息包数;PCR差值, 也就是当前PCR和下一个PCR之间的差值;以及当前PCR的值。下面来解释缓存读取单元7的操作。当检测到第二PCR并且增补信息(PCR间信息包数,PCR差值, 以及PCR值)被添加到其中记有第一 PCR并且被缓存写入控制单元5 存储在缓存6中的信息包中时,缓存读取控制单元15开始从缓存6中读取信息包。在初始状态时,将"0"作为补偿量存储在PCR补偿量存储单元 19中。结果,针对从缓存6中与其中记有第一PCR的信息包一起读出 的增补信息的PCR值和PCR差值,没有执行由PCR补偿单元20和PCR 差值补偿单元16所作的补偿。另外,PCR重写单元21将其中记有第 一 PCR的信息包的PCR重写为与该PCR相同的值,并且将该值提供 给NULL信息包插入单元24。在通过缓存读取控制单元15从缓存6中读出其中记有下一个PCR 的信息包之前,插入的NULL信息包数/后续的PCR补偿量计算单元 18计算应该被插入的已插入NULL信息包数,并且进而计算用于补偿 后续PCR的值的后续PCR补偿量,以用于补偿无法被NULL信息包调 整的片段量。该后续PCR补偿量被存储在PCR补偿量存储单元19中。在计算后续PCR补偿量之后,NULL信息包插入控制单元22根 据插入的NULL信息包数和PCR间信息包数来判断NULL信息包的插 入位置,并且NULL信息包插入单元24在由PCR重写单元21供应的
信息包之间插入已经由NULL信息包生成单元23生成的NULL信息 包。其中己经插入了NULL信息包的传送流被作为8位TS数据,以由 时钟频分单元14供应的TS时钟来从信息包传输单元25供应给MPEG 解码器3。当从缓存6中读出其中记有第二和后续PCR的信息包时,根据存 储在PCR补偿量存储单元19中的后续PCR补偿量,PCR补偿单元20 补偿作为增补信息被读取的PCR值,并且PCR差值补偿单元16补偿 作为增补信息被读取的PCR差值。PCR重写单元21然后将其中记有 PCR并且从缓存6中读取的信息包的PCR值重写为被PCR补偿单元 20所补偿的PCR值,并且将结果供应给NULL信息包插入单元24。其中已经通过PCR重写单元21将PCR重写为经过补偿的PCR的 TS信息包被发送到NULL信息包插入单元24。插入的NULL信息包数 /后续的PCR补偿量计算单元18计算应该被插入的已插入NUIX信息 包数和用于补偿无法被NULL信息包所调整的片段量的后续PCR补偿 量,直到从缓存6中读出下一个其中记有PCR的信息包为止。接着, NULL信息包插入控制单元22根据插入的NULL信息包数和PCR间信 息包数来判断插入位置,并且NULL信息包插入单元24将已经由NULL 信息包生成单元23生成的NULL信息包插入到由PCR重写单元21所 供应的信息包之间。由信息包传输单元25以由时钟频分单元14所供 应的TS时钟,将其中插入了NULL信息包的传送流作为8位TS数据 供应给MPEG解码器3。根据前述解释中所讲述的本实施例的传输速率调整设备,通过使 用通过对MPEG解码器3的系统时钟进行频分所获得的TS时钟来作为 与MPEG解码器3的接口时钟,通过在MPEG2-TS的信息包之间插入 NULL信息包来调整根据在MPEG2-TS内记有的PCR间的字节数来计 算的传输速率,以便传输速率与由接口时钟所决定的接口传输速率相 匹配,并且进而,通过对无法只通过插入NULL信息包来实现调整的
片段量重写PCR值,可以以正确的传输速率来将已经从MPEG2-TS文 件1读取的MPEG2-TS发送到MPEG解码器3,而不必通过使用PLL 电路来重新生成时钟。另夕卜,在MPEG2-TS的信息包之间均一插入NULL信息包,能够 抑制MPEG解码器3中的缓存溢出。下面来对起到这些作用的原因的 进行更加具体的解释。图7示出了 MPEG解码器的示意性结构。参考图7,该MPEG解 码器包括开关单元200、传送缓存201a-201c、视频缓存202a、音频 缓存202b、系统缓存202c、视频解码器203a、音频解码器203b和系 统解码器203c。每一个传送缓存201a-201c的容量是512字节。开关单元200将由如图3所示的传输速率调整设备2以TS数据进 行供应的传送流作为输入,并且根据信息包的报头中的PID (信息包识 别信息),将作为输入所接收的传送流分离成视频数据、音频数据和 系统信息的传送信息包。另外,根据PID (信息包识别信息),开关单 元200确定在输入的传送流中的NULL信息包,并且除去NULL信息 包。已经被开关单元200分离的视频数据的传送信息包经由传送缓存 201a被存储在视频缓存202a中,并且然后被视频解码器203a解码。 这里,从传送缓存201a将数据读取至视频缓存202a的速度为 1.2xRmax。 Rmax是由MPEG类和级(profile and level)所决定的比特 率的上限。在主类/主级的情况下,数据读取速度是15Mbps。已经被开关单元200分离的音频数据的传送信息包经由传送缓存 201b被存储在音频缓存202b中,并且然后被音频解码器203b解码。 这里,从传送缓存201b到音频缓存202b的数据读取速度为2Mbps。
已经被开关单元200分离的系统信息的传送信息包经由传送缓存 201c被存储在系统缓存202c中,并且然后被系统解码器203c解码。 这里,从传送缓存201c到系统缓存202c的数据读取速度为lMbps。在上述结构的MPEG解码器中,当输入到传送缓存的数据的比特 率超过传送缓存的读取速率时,在传送缓存中会发生溢出。被作为输入应用于传送缓存的数据的比特率根据在传输速率调整 设备2中插入NULL信息包的方法而改变。例如,如果在传输速率调 整设备2中将NULL信息包作为组在PCR间最后一个TS信息包之后 进行插入,则在发送所有TS信息包之后发送NULL信息包。在这种情 况下,TS信息包的传输速率是在调整之后传送流的传输速率(由图3 所示的信息包传输单元25供应作为输出的传送流的传输速率)。可选 情况下,如果在PCR间TS信息包之间插入NULL信息包,贝l」NULL 信息包与TS信息包交替传输。在这种情况下,TS信息包的传输速率 低于经过调整之后的传送流的传输速率。当在每一个TS信息包之间插 入的NULL信息包数改变时,则TS信息包在几乎没有所插入NULL 信息包的部分中的传输速率高于它在具有许多所插入NULL信息包的 部分中的传输速率。结果,在视频和音频流的比特率中出现比特率较 快的部分和比特率较慢的部分。在如图3所示的结构中,当在从MPEG2-TS文件1中读取的 MPEG2-TS的传输速率和调整之后的传输速率(由图3所示的信息包 传输单元25供应作为输出的传送流的传输速率)之间出现较大差别时, 当在其中NULL信息包作为组被插入到PCR间TS信息包末尾的情况 下,以及当在每一个TS信息包之间插入的NULL信息包数改变的情况 下,作为输入被施加到传送缓存的数据的比特率将超过读取传送缓存 的速率。在每一个TS信息包之间均一插入NULL信息包可以解决这一 问题。
下面来解释在本实施例的传输速率调整设备中实施的在每一个TS信息包之间均一插入NULL信息包的方法。 第一NULL信息包插入方法MPEG解码器3的接口为8位,并且具有通过对MPEG解码器3 的系统时钟进行频分而得到的时钟(27MHz),并且由信息包传输单 元25供应作为输出的传送流(TS数据)的传输速率因此用"27MHz/ 频分率x8位"来表示,并且根据频分率来假定图8所示的值。例如, 当频分率为"1"时,传输速率为"216Mbps"。插入的NULL信息包数/后续的PCR补偿量计算单元18根据PCR 间时间差(PCR差)来计算调整之后的PCR间TS信息包数和已经由 传输速率计算单元17计算的调整之后传输速率,并且然后根据这些计 算结果来计算应该插入的NULL信息包数。调整之后的PCR间TS信 息包数是由[PCR间时间差/(188/调整之后的传输速率)]来给定的。应 该插入的NULL信息包数是由[(PCR间TS信息包数)一 (PCR间时 间差/ (188/转换之后的传输速率))]来给定的。如下所述NULL信息包插入控制单元22接下来控制NULL信息 包在NULL信息包插入单元24中的插入。首先根据PCR间TS信息包 数和在PCR间插入的NULL信息包数来计算[NULL信息包数/TS信息 包数]的商。然后针对每一个TS信息包,将与已经计算出来的商相对 应的数量的NULL信息包进行插入。然后,针对[TS信息包+为每一个 TS信息包插入的NULL信息包],均一插入与[NULL信息包数/TS信息 包数]的余数相对应的数量的NULL信息包。更为具体地说,当为五个TS信息包插入七个NULL信息包时, 为每一个TS信息包插入的NULL信息包数是[NULL信息包数/TS信息 包数]的商,也就是"7/5"的商(=1)。应该均一插入的其余NULL信 息包是[NULL信息包数/TS信息包数]的余数,也就是"7/5" (=2)。
在这种情况下,根据基于"7/5"的商的NULL信息包插入处理,将一 个NULL信息包插入在如图9所示存在于PCR之间的第一至第五个TS 信息包中的每一个之间,并且根据基于"7/5"的余数的NULL信息包 插入处理,将一个NULL信息包进一步插入在第三和第四TS信息包之 间以及PCR间隔的末尾。由于调整之前和之后的传输速率之间的关系,即使基于[NULL信 息包数/TS信息包数]的余数的NULL信息包插入没有利用平均数来执 行,但是通过根据[NULL信息包数/TS信息包数]的商,对于每个TS 信息包平均插入NULL信息包也可以抑制传送缓存中的溢出。第二 NULL信息包插入方法插入的NULL信息包数/后续的PCR补偿量计算单元18也可以找 到NULL信息包的平均插入间距,并且NULL信息包插入控制单元22 可以根据NULL信息包的平均插入间距来控制NULL信息包在NULL 信息包插入单元24中的插入。当NULL信息包的平均插入间距是由例 如[TS信息包"(NULL信息包数/TS信息包数)的余数}]给定的,平均 插入间距的值一般为小数。针对[(TS信息包)+ (为每一个TS信息 包插入的NULL信息包)],将NULL信息包以以下这些值进行插入, 平均插入间距的值(小数),整数部分的值(第一插入间距)和通过 将作为插入间距的该值加"1"而获得的值(第二插入间距)。换句话 说,如果插入间距为"2",则针对两个[(TS信息包)+ (为每一个 TS信息包插入的NULL信息包)]插入一个NULL信息包。更为具体地说,NULL信息包的插入是通过下述过程来执行的。(1) 首先,在第一和第二插入间距中,使用较大的插入间距,从 而对于等于该插入间距值的TS信息包数,插入一个NULL信息包。(2) 找到该点的平均插入间距。这是所述第一插入,因此平均插 入间距是[((1)的插入间距)/1]。3) 如果在之前的情况(2)中找到的平均插入间距大于前级 NULL信息包的平均插入间距,则插入间距被设置为第一和第二平均插 入间距中的较小一个。如果之前示例中的平均插入间距小于或等于 NULL信息包的平均插入间距,则插入间距被设置为第一和第二平均插 入间距中的较大一个。(4) 在等于(3)中确定的插入间距数的TS信息包数中插入一个 NULL信息包。(5) 找到该点的平均插入间距。处理然后返回到(3),并且重 复NULL信息包的插入,直到[NULL信息包数/TS信息包数]的余数为止。下面来解释上述处理的具体示例。例如,在其中在10个TS信息包中插入7个NULL信息包的情况 下,NULL信息包的平均插入间距为"10/7 = 1.429"。在这种情况下 的插入间距是第一插入间距的整数部分"1"和其中将"1"添加到第 一插入间距的第二插入间距"2"。在上述步骤(1)中,首先将较大的第二插入间距"2"作为插入 间距,并且将一个NULL信息包插入到两个TS信息包中。在上述步骤 (2)中,找到该点的平均插入间距。在这种情况下,平均插入间距为 "2/1=2.000"。接下来,在上述(3)的步骤中,之前的平均插入间距"2.000" 大于NULL信息包"1.429"的平均插入间距,并且因此将该插入间距 作为较小的第一插入间距"1"。在上述(4)的步骤中,在一个TS信 息包中插入一个NULL信息包。在上述(5)的步骤中,找到该点的平均插入间距。在这种情况下, 平均插入间距为"3/2 = 1.5"。在上述(3)的步骤中,之前的平均插
入间距"1.5"大于NULL信息包"1.429"的平均插入间距,并且因此 将插入间距设置为较小的第一插入间距"1"。在上述(4)的步骤中, 在一个TS信息包中插入一个NULL信息包。在上述步骤(5)中,接下来找到该点的平均插入间距。在这种情 况下,平均插入间距为"3/2 = 1.333"。由于上述步骤(3)中的之前 平均插入间距"1.333"小于NULL信息包"1.429"的平均插入间距, 因此接下来将插入间距设置为大于第一插入间距"2"。接下来,在上 述步骤(4)中,将一个NULL信息包插入到两个TS信息包中。接下来,在上述步骤(5)中,找到该点的平均插入间距。在这种 情况下,平均插入间距为"3/2 = 1.500"。因此,以同样方式依次插入 NULL信息包。图IO示出了作为NULL信息包插入目标的TS信息包数,插入的 NULL信息包数,总TS信息包,总NULL信息包,以及根据上述过程 的平均插入间距的各数值的变化。从图10中可以看出,开始时对于两 个TS信息包插入一个NULL信息包。此时总的TS信息包为"2", 总的NULL信息包为"1",并且平均插入间距为"2.00"。接下来, 将一个NULL信息包插入一个TS信息包。此时总的TS信息包为"3", 总的NULL信息包为"2",并且平均插入间距为"1.5"。重复这一系 列处理。接下来,解释在第二 NULL信息包插入方法中的NULL信息包插 入的示例。由频分率输入信号26所给定的频分率假定为"8",并且信息包 传输单元25发送给MPEG解码器3的TS数据的传输速率假定为 27Mbps 。
在其中假定MPEG2-TS文件1的类为主类,并且其级假定为主级 的情况下,作为输入施加到如图7所示的传送缓存201a的视频数据比 特率的上限为15Mbps。从传送缓存201a读取视频数据的速率为 18Mbps (1.2xl5Mbps)。从MPEG2-TS文件1读取的MPEG2-TS包含一个视频流和一个音 频流。视频流的比特率为14Mbps,并且音频流的比特率为448kbps。 所读取的MPEG2-TS的传输速率为15Mbps。所读取的MPEG2-TS的 PCR间时间差为90.24ms,并且PCR之间的信息包数为900。调整之后的TS信息包时间长度为"188/27Mbps = 55.704iLis"。调 整之后的PCR间信息包数为[PCR差值/(转换之后的TS信息包时间长 度)=90.24ms/55.704/xs = 1620]。因此,待插入的信息包数为"1620 -卯0 =720"。在这种情况下,720个NULL信息包被插入到PCR之间的卯0 个TS信息包中。首先来考虑其中将720个NULL信息包作为一组插入在900个TS 信息包之后的情况。在这种情况下,视频流的比特率为 15Mbpsx27Mbps/15Mbps = 25.2Mbps 并且音频流的比特率为 448kbpsx27Mbps / 15Mbps = 806.4kbps视频流超出传送流被读取的速率18Mbps,并且视频的传送缓存 201a失去作用。下面来考虑其中在TS信息包之间均一插入NULL信息包的情况。 针对基于PCR间TS信息包数和在PCR间待插入的NULL信息包数的 每一个TS信息包,待插入NULL信息包数为[NULL信息包数/TS信息 包数]的商,也就是"720/900 = 0"的商。因此,根据[NULL信息包数 /TS信息包数]的余数(=720)均一插入NULL信息包。 TS信息包数与NULL信息包数之比为"900:720 = 5:4",并且结 果,对于每五个TS信息包,插入四个NULL信息包。在这种情况下, NULL信息包的平均插入间距为"900/720 = 1.25",因此插入间距为 作为该平均插入间距的整数部分的"1",以及通过将"1"添加到这 个"1"上得到的"2"。因此,根据第二 NULL信息包插入方法,对 于两个TS信息包插入一个NULL信息包,或者对于一个TS信息包插 入一个NULL信息包。图11示出了作为NULL信息包插入目标的TS信息包数,插入的 NULL信息包数,总的TS信息包,总的NULL信息包,以及根据上述 过程的平均插入间距的各数值的变化。从图ll中可以看出,对于两个 TS信息包插入一个NULL信息包。总的TS信息包为"2",总的NULL 信息包为"1",并且平均插入间距为"2.00"。接下来,将一个NULL 信息包插入一个TS信息包。此时总的TS信息包为"3",总的NULL 信息包为"2",并且平均插入间距为"1.5"。重复这一系列处理,以 便NULL信息包基本上被均一地插入到每一个TS信息包之间。在上述情况下,视频的传送缓存201a的读取速率为18Mbps (=1.2xl5Mbps)并且传输速率为27Mbps,从而在其中将一个TS信息 包(188字节)作为输入施加到传送缓存201a的间隔期间,从传送缓 存201a中读取的数据量为"18Mbps/27 Mbpsxl88字节=125.3字节"。图12示出了当如上所述基本上均一插入了 NULL信息包时,存储 在传送缓存201a中的数据量改变,并且图13示出了传送缓存201a中 的数据量转换。从图12和图13可以看出,存储在传送缓存201a中的 数据量不超过512字节,这是缓存的容量,并且因此视频的传送缓存 201a不会失效。在前述解释中,拿视频传送缓存201a作为示例对抑制缓存失效的 原因进行了解释,但是本实用新型也可以抑制音频传送缓存的缓存失 效。优选情况下,被插入到从缓存读取的传送信息包中的每一个信息 包间的NULL信息包数之间的差值位于1的限值内。将NULL信息包数的差值限制在l以内,可以使传送缓存的限制更加可靠。从上述解释可以看出,通过在从缓存中读取的传送信息包之间均 一插入NULL信息包,则本实施例的传输速率调整设备可以抑制MPEG 解码器3中的传输缓存的失效。相比之下,在前面讲述的专利文献1中公开的设备中,在调整之 前和之后的传输速率之差不大,并且结果,视频传送缓存的读取速率 为流比特率的上限的1.2倍,并且音频传送缓存的读取速率为流比特率 的4倍或大于其上限(2 Mbps/448kbps),即便当NULL信息包作为 一组被插入到PCR间的间隔末端时。因此,在其中例如将25Mbps的 传输速率转换为27 Mbps的传输速率的情况下,转换比为1.08,并且 不会发生视频和音频传送缓存的失效。换句话说,即便当视频流位于 上限并且音频流位于上限448 kbps时,读取速率也不会超出。另外,在专利文献1中公开的设备中,PCR每100ms进入一次, 这意味着以25 Mbps的传输速率时,大约1662个字节U00ms/ (188 字节/ (25Mbps/8))的信息包进入PCR之间的传送缓存。以27Mbps 的传输速率时,这些信息包在92ms (lOOms/1.08)内进入传送缓存。 换句话说,以25 Mbps的传输速率时,大约1538 ( 1662/1.08)个字节 的信息包在92ms内进入传送缓存;但是以27Mbps的传输速率进入传 送缓存的信息包仅有大约1662字节,从而不会发生传送缓存的失效。从前述解释中可以看出,在专利文献1中公开的设备中,调整之 前和之后的传输速率之差假定不是特别大,并且因此根据NULL信息 包的插入方法,难以预测MPEG解码器的传送缓存失效问题的发生。
因此,根据专利文献1的公开内容,难以获得通过实施NULL信息包 的均一插入可以抑制传送缓存失效这一技术概念,这是本实用新型的 一个作用。NULL信息包的均一插入并不意味着插入在TS信息包之间的 NULL信息包数就与每一个TS信息包之间插入的NULL信息包数相 同。例如,正如在第一和第二 NULL信息包插入方法中所解释的,当 通过其中首先在TS信息包之间一次插入一个NULL信息包,然后对其 余的NULL信息包进行分割和插入,以使得对于其中已经插入了 NULL 信息包的TS信息包来说时间长度是均一的这一方法来插入NULL信息 包时,插入在TS信息包之间的NULL信息包数就不是与每一个TS信 息包之间插入的信息包数相同。结果,在本实用新型中,当已经均一 地插入了 NULL信息包时,TS信息包间的NULL信息包数可以相同或 不同,只要这些数位于不造成MPEG解码器的传送缓存失效的范围内。进而,尽管已经对其中TS信息包和NULL信息包都是188字节 的情况进行了解释,本实用新型并不限于这一形式,并且信息包可以 是其他固定长度(例如,信息包可以是204字节)。尽管己经使用专业术语讲述了本实用新型的实例实施例,这种讲 述只是用于解释性目的,并且应该理解,不偏离所附权利要求的精神 主旨或范围,可以对其进行修订和更改。进而,申请人的目的是包括所有权利要求的等价物,并且对本应 用中的任何权利要求进行的补充都应被解释为是对其拥有所补充权利 要求的任何等价物或特征的利益或权利的权利要求。
权利要求1.一种传输速率调整设备,用于调整所输入的传送流的传输速率,该传输速率调整设备将由具有固定信息包长度的多个传送信息包组成的传送流作为输入,其中所属信息包中存储有已编码数据并且以固定时间间隔记录了在所述编码期间作为标准时间间隔的规定频率的时间戳,所述传输速率调整设备包括缓存;缓存写入单元,将所述输入传送流的传送信息包连续写入到所述缓存,并且检测所述输入传送流中的时间戳;以及缓存读取单元,将指定频分率的频分率信号和用于对所述已编码数据进行解码的解码器的系统时钟作为输入,并且以由输入的频分率信号所指定的频分率来对输入的系统时钟进行频分所获得的时钟所决定的传输速率将已经从所述缓存中依序读出的传送信息包发送到所述解码器;其中在当检测所述时间戳时,所述缓存写入单元将下述内容作为其中记有第二时间戳的传送信息包的增补信息存储在所述缓存中此次被检测的第一时间戳和之前被检测的所述第二时间戳之差,在第一和第二时间戳之间间隔中的传送信息包数,以及所述第二时间戳的值;并且当从所述缓存中读出其中记有所述第二时间戳的传送信息包时,所述缓存读取单元根据附在传送信息包上的所述增补信息,在已经从所述缓存中读出的传送信息包之间插入NULL信息包以实现调整,使得以所述传输速率来发送所述传送信息包,并且当仅通过插入NULL信息包无法实现调整时,当从所述缓存中读取其中记有所述第一时间戳的传送信息包时,重写该传送信息包的时间戳。
2. 如权利要求l所述的传输速率调整设备,其中所述缓存读取单 元在已经从所述缓存中读取的传送信息包间均一插入所述NULL信息包。
3. 如权利要求2所述的传输速率调整设备,其中所述缓存读取单 元,根据所述第一和第二时间戳之差和由通过频分所述输入系统时钟所获得的时钟所决定的传输速率计算传输速率调整之后的所述第一 和第二时间戳之间的传送信息包数,并且根据计算结果,计算应该被 插入的NULL信息包数;并且当通过将所计算的NULL信息包数除以所计算的传送信息包数的计算结果包含有商和余数时,对于从所述缓 存中读取的每一个传送信息包,插入对应于所述商的NULL信息包数; 并且进而,在其中插入了所述NULL信息包的状态下,均一插入对应 于所述余数的NULL信息包数。
4. 如权利要求2所述的传输速率调整设备,其中所述缓存读取单 元,根据所述第一和第二时间戳之差和由通过频分所述输入系统时钟 所获得的时钟所决定的传输速率计算传输速率调整之后的所述第一 和第二时间戳之间的传送信息包数,并且根据计算结果,计算应该被 插入的NULL信息包数;当通过将所计算的应该插入的NULL信息包 数除以所计算的位于所述第一和第二时间戳之间的传送信息包数所获 得的标准平均插入间距为小数时,将整数部分的值作为第一插入间距, 并且通过将该值加"1"而获得的值作为第二插入间距;并且,根据在 插入了 NULL信息包之后的NULL信息包的平均插入间距和所述标准 插入间距的大小关系,在所述第一和第二插入间距之间进行选择,并 且按照所选插入间距的值的数的传送信息包的每一个,插入一个NULL 信息包。
5. 如权利要求1至4中的任何一个所述的传输速率调整设备,其 中已经在从所述缓存读取的传送信息包的每一个信息包间插入的 NULL信息包数间所述差值为1或更小。
专利摘要一种传输速率调整设备,用于以期望传输速率来供应MPEG-TS,包括缓存;缓存写入单元,将已经从MPEG2-TS文件中读取的传送流的传送信息包连续写入到缓存,并且检测传送流中的时间戳;以及缓存读取单元,以通过由频分率信号所指定的频分率来对MPEG解码器的系统时钟进行频分所获得的时钟所决定的传输速率,将已经从缓存中依序读出的传送信息包发送到MPEG解码器。缓存读取单元不仅在传送信息包之间插入NULL信息包,而且在当通过仅插入NULL信息包无法实现调整时重写时间戳。
文档编号H04N7/24GK201048447SQ200720002260
公开日2008年4月16日 申请日期2007年2月15日 优先权日2006年2月15日
发明者青柳寿和 申请人:Nec显示器解决方案株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1