首页> 中国专利> 时间戳添加设备、时间戳添加方法以及时间戳添加程序

时间戳添加设备、时间戳添加方法以及时间戳添加程序

摘要

提供了时间戳添加设备、时间戳添加方法以及时间戳添加程序,所述时间戳添加设备包括:PCR_PID检测部件,用于通过从包含以MPEG2-TS格式传送的、输入自外部的、没有时间戳的TS信息包的TS的首标来检索TS中包括的TS信息包,并且通过分析得到的PMT,以便检测PMT中包括的PCR_PID;PCR检测部件,用于检测TS的首标和PMT之间包括的PCR的值以及PCR的位置信息,并且检测PMT和TS的尾部之间的TS信息包中的所有PCR的值以及TS中PCR的位置信息;时间间隔计算部件,用于基于PCR值来计算用于添加时间戳的时间间隔和时间戳的值;以及时间戳添加部件,用于基于时间间隔来将时间戳添加到没有时间戳的TS信息包。

著录项

  • 公开/公告号CN101651839A

    专利类型发明专利

  • 公开/公告日2010-02-17

    原文格式PDF

  • 申请/专利权人 索尼株式会社;

    申请/专利号CN200910165897.2

  • 发明设计人 小森谷阳多;

    申请日2009-08-12

  • 分类号H04N7/62(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人郭定辉

  • 地址 日本东京都

  • 入库时间 2023-12-17 23:27:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-10-05

    未缴年费专利权终止 IPC(主分类):H04N21/236 授权公告日:20120620 终止日期:20150812 申请日:20090812

    专利权的终止

  • 2012-06-20

    授权

    授权

  • 2010-04-21

    实质审查的生效 IPC(主分类):H04N7/62 申请日:20090812

    实质审查的生效

  • 2010-02-17

    公开

    公开

说明书

技术领域

本发明涉及可以向以MPEG2-TS(MPEG2-传输流)格式传送的且没有添加时间戳的TS信息包添加时间戳的时间戳(time stamp)添加设备、时间戳添加方法以及时间戳添加程序。

背景技术

过去,已知这样的时间戳添加设备:其向视频编码器压缩和编码的视频流添加作为解码和重现时间信息的时间戳,并且将视频流发送给传输系统(参见日本专利第2872104号)。

发明内容

然而,这种时间戳添加设备仅仅是用于以真实(real)的时间戳来替换具有已添加了伪造的时间戳的视频流的时间戳的设备。难以将这种技术应用于在由广播组织等提供的、在内容中没有时间戳的视频流上新添加时间戳。

关于组成这种视频流的MPEG2-TS数据,具有高视觉(vision)的内容的数据率通常是15~25Mbp,并且当内容的时间很长时,传输数据量可能增加。

用于将时间戳添加到组成视频流的MPEG2-TS数据的硬件规模往往会增大,以便允许以大的数据量来快速处理视频流。

根据发明者关于向MPEG2-TS添加时间戳的详细研究,可以不在MPEG2-TS数据的首标的附近添加时间戳。因此,添加至MPEG2-TS数据的TS信息包的时间戳的精度可能受到损害。

因此,需要可以改善添加至MPEG2-TS数据的TS信息包的时间戳的精度并且降低硬件规模的时间戳添加设备、时间戳添加方法以及时间戳添加程序。

本发明的要点在于:可以通过利用如下的配置来改善添加至MPEG2-TS数据的TS信息包的时间戳的精度并且降低硬件规模,所述配置通过分析TS(Transport Stream,传输流)的首标和所检测的PCR_PID(Program ClockReference Packet Identifier,程序时钟参考信息包标识符)之间包括的TS信息包来检测TS的首标和所检测的PCR_PID之间包括的PCR(Program ClockReference,程序时钟参考),并且检测在所检测的PCR_PID和TS的尾部之间的TS信息包中包括的所有PCR的值以及TS中PCR的位置信息。

本发明的上述要点具体由以下部件来实施。

根据本发明的实施例,提供了如下的时间戳添加设备,PCR_PID检测部件,其用于从包含以MPEG2-TS格式传送的、输入自外部的、没有添加时间戳的多个TS信息包的TS的首标来检索TS中包括的TS信息包,并且通过分析作为检索结果获得的PMT来检测PMT中包括的PCR_PID;PCR检测部件,用于通过分析TS的首标和PMT之间包括的TS信息包来检测TS的首标和PMT之间包括的PCR的值以及TS中的PCR的位置信息并且来检测在PMT和TS的尾部之间的TS信息包中包括的所有PCR的值以及TS中PCR的位置信息;时间间隔计算部件,用于基于由PCR检测部件检测的PCR值,计算用于添加时间戳的时间间隔和要添加的时间戳的值;以及时间戳添加部件,用于基于由时间间隔计算部件计算的时间间隔,将由时间间隔计算部件计算的时间戳添加到从外部输入的、没有添加时间戳的TS信息包。

根据该配置,通过从包含以MPEG2-TS格式传送的、输入自外部的、没有添加时间戳的多个TS信息包的TS的首标来检索TS中包括的TS信息包、并且通过分析作为检索结果获得的PMT,来由PCR_PID检测部件检测PMT中包括的PCR_PID;通过分析TS的首标和PMT之间包括的TS信息包,来由PCR检测部件检测TS的首标和PMT之间包括的PCR的值以及TS中的PCR的位置信息并且检测在PMT和TS的尾部之间的TS信息包中包括的所有PCR的值以及TS中PCR的位置信息;由时间间隔计算部件基于由PCR检测部件检测的PCR值来计算用于添加时间戳的时间间隔和要添加的时间戳的值;以及由时间戳添加部件基于由时间间隔计算部件计算的时间间隔来将由时间间隔计算部件计算的时间戳添加到从外部输入的、没有添加时间戳的TS信息包。因此,可以改善时间戳的精度并降低硬件规模。

根据本发明的另一实施例,提供了如下的时间戳添加方法,其包括以下步骤:通过从包含以MPEG2-TS格式传送的、输入自外部的、没有添加时间戳的多个TS信息包的TS的首标来检索TS中包括的TS信息包,并且通过分析作为检索结果获得的PMT,以便检测PMT中包括的PCR_PID;通过分析TS的首标和PMT之间包括的TS信息包来检测TS的首标和PMT之间包括的PCR的值以及TS中的PCR的位置信息并且来检测在PMT和TS的尾部之间的TS信息包中包括的所有PCR的值以及TS中PCR的位置信息;基于检测PCR的值的步骤中检测的PCR值,计算用于添加时间戳的时间间隔和要添加的时间戳的值;以及基于计算时间间隔的步骤中计算的时间间隔,将计算时间间隔的步骤中计算的时间戳添加到从外部输入的、没有添加时间戳的TS信息包。

根据该配置,通过从包含以MPEG2-TS格式传送的、输入自外部的、没有添加时间戳的多个TS信息包的TS的首标来检索TS中包括的TS信息包,并且通过分析作为检索结果获得的PMT,检测了PMT中包括的PCR_PID;通过分析TS的首标和PMT之间包括的TS信息包,检测了TS的首标和PMT之间包括的PCR的值以及TS中的PCR的位置信息,并且检测了在PMT和TS的尾部之间的TS信息包中包括的所有PCR的值以及TS中PCR的位置信息;基于所检测的PCR值,计算了用于添加时间戳的时间间隔和要添加的时间戳的值;以及基于所计算的时间间隔,将所计算的时间戳添加到从外部输入的、没有添加时间戳的TS信息包。因此,可以改善时间戳的精度并降低硬件规模。

根据本发明的又一实施例,提供了如下的安装在时间戳添加设备的计算机中的时间戳添加程序,该时间戳添加设备用于向包含以MPEG2-TS格式传送的、没有添加时间戳的TS信息包的TS添加时间戳,所述时间戳添加程序指令时间戳添加设备的计算机执行以下步骤:通过从包含以MPEG2-TS格式传送的、输入自外部的、没有添加时间戳的多个TS信息包的TS的首标来检索TS中包括的TS信息包,并且通过分析作为检索结果获得的PMT,以便检测PMT中包括的PCR_PID;通过分析TS的首标和PMT之间包括的TS信息包来检测TS的首标和PMT之间包括的PCR的值以及TS中的PCR的位置信息并且来检测在PMT和TS的尾部之间的TS信息包中包括的所有PCR的值以及TS中PCR的位置信息;基于检测PCR的值的步骤中检测的PCR值,计算用于添加时间戳的时间间隔和要添加的时间戳的值;以及基于计算时间间隔的步骤中计算的时间间隔,将计算时间间隔的步骤中计算的时间戳添加到从外部输入的、没有添加时间戳的TS信息包。

根据该配置,通过从包含以MPEG2-TS格式传送的、输入自外部的、没有添加时间戳的多个TS信息包的TS的首标来检索TS中包括的TS信息包,并且通过分析作为检索结果获得的PMT,检测了PMT中包括的PCR_PID;通过分析TS的首标和PMT之间包括的TS信息包,检测了TS的首标和PMT之间包括的PCR的值以及TS中的PCR的位置信息并且检测了在PMT和TS的尾部之间的TS信息包中包括的所有PCR的值以及TS中PCR的位置信息;基于所检测的PCR值,计算了用于添加时间戳的时间间隔和要添加的时间戳的值;以及基于所计算的时间间隔,将所计算的时间戳添加到从外部输入的、没有添加时间戳的TS信息包。因此,可以改善时间戳的精度并降低硬件规模。

根据本发明的上述实施例,可以改善添加到MPEG2-TS数据的TS信息包的时间戳的精度并且降低硬件规模。

附图说明

图1是图示根据本发明的第一实施例的时间戳添加设备的配置的框图。

图2A和2B是示意性地图示由根据本发明的第一实施例的时间戳添加设备执行的处理的图。

图3是示意性地图示作为根据本发明的第一实施例的时间戳添加设备的处理目标并且没有添加时间戳的MPEG2-TS数据的示例的图。

图4是示意性地图示根据本发明的第一实施例的时间戳添加设备的数据FIFO单元的图。

图5是图示由根据本发明的第一实施例的时间戳添加设备执行的处理的序列的图。

图6是图示根据本发明的第二实施例的时间戳添加设备的配置的框图。

图7是图示由根据本发明的第二实施例的时间戳添加设备执行的处理的序列的图。

图8是图示由根据本发明的第二实施例的时间戳添加设备执行的处理的流程图。

图9是图示由根据本发明的第二实施例的时间戳添加设备执行的处理的流程图。

具体实施方式

下文中,将参照附图详细地描述根据本发明的优选实施例的时间戳添加设备1。

第一实施例

图1是图示根据本发明的第一实施例的时间戳添加设备1的配置的框图。

如图2A和2B所示,根据第一实施例的时间戳添加设备是这样的设备:其用于基于与PCR相同的27MHz时钟来向没有添加时间戳的TS信息包(其存储在时间戳添加设备1中内置的半导体存储器103中,并且其以188字节的MPEG2-TS的格式来传送)添加具有4字节数据的时间戳,以便生成具有添加了时间戳的TS信息包,并且用于向外部输出所生成的具有添加了时间戳的TS信息包。

如图1所示,根据第一实施例的时间戳添加设备1包括:总线接口102,其连接到系统总线101,并且具有内置于其之中的存储控制器;半导体存储器103,内置在总线接口102中的存储控制器可以从其之中读取数据以及向其之中写入数据;CPU 112,其连接到总线接口102;以及TTS处理器104,其经由系统总线101而连接到总线接口102。

TTS处理器104包括:DMA接口105、数据FIFO单元106、TS信息包分析器107、时间戳时间间隔计算器110以及时间戳添加器111。

DMA接口105具有内置在其之中的DMA缓冲器105A,其临时地存储通过总线接口102从半导体存储器读取的并且通过系统总线传送的TS数据。

TS信息包分析器107包括PCR_PID检测器108和PCR检测器109。TS信息包分析器107执行用于确定MPEG2-TS数据是否从总线接口102传送至DMA接口105中内置的DMA缓冲器105的处理。

作为应该被添加时间戳的处理目标的、没有添加时间戳的MPEG2-TS数据存储在半导体存储器103中。

图3是示意性地图示作为根据第一实施例的时间戳添加设备1的处理目标的、没有添加时间戳的MPEG2-TS数据的示例的图。

作为根据第一实施例的时间戳添加设备1的处理目标的、没有添加时间戳的MPEG2-TS数据包括:具有N0+N1数量的TS信息包的处理块U1,其包含首先从MPEG2-TS数据的首标出现的PCR信息包α和PMT信息包β;具有N2数量的TS信息包的处理块U2,其包含PCR信息包;具有N3数量的TS信息包的处理块U3,其包含PCR信息包;以及具有N3数量的TS信息包的处理块U4,其包括PCR信息包。

在根据第一实施例的时间戳添加设备1中,当将MPEG2-TS数据输入时间戳添加设备1时,由PCR_PID检测器获取PCR_PID数据,并且从PCR_PID数据检测PMT数据。

此后,通过PCR检测器109检索从流(stream)的首标至PMT的数据,并且将PCR数据检测为检索结果。

当输入图3中所示的TS数据时,根据第一实施例的时间戳添加设备1基于所检测的PCR的位置来将TS数据划分为处理块U1、处理块U2、处理块U3以及处理块U4。

在根据第一实施例的时间戳添加设备1中,CPU112具有以下功能:从主存储器(未示出)读取TS信息包添加程序并且通过利用读取的TS信息包添加程序来向DMA接口传送用于读取来自半导体存储器的MPEG2-TS的读取指令;以及通过在DMA描述器中描述MPEG2-TS的地址来使能DMA接口和总线接口102之间的DMA传输。

总线接口102连接到用于在时间戳添加设备1的主体内部传送数据的系统总线101,并且通过利用内置的存储控制器(未示出)来控制从半导体存储器103读取数据的操作和向半导体存储器103写入数据的操作。

根据第一实施例的总线接口102具有以下功能:从半导体存储器103读取MPEG2-TS信息包的数据并且向DMA接口105传送所读取的MPEG2-TS信息包的数据;将具有添加了时间戳的并从DMA接口105传送的MPEG2-TS信息包的数据写入到半导体存储器中;以及在所有的TS信息包的DMA传输结束时来使用中断CPU112或者在寄存器中建立标志位的手段来传送DMA传输结束的通知。

DMA接口105是具有临时存储以DMA传输方式传送的TS信息包的数据的DMA缓冲器105的接口,其用作DMA总线主站(master),并且具有以下功能:在内置的DMA缓冲器105A中临时存储经由总线接口102而以DMA传输方式从半导体存储器103传送的TS信息包的数据;以及以DMA传输方式向总线接口102输出具有添加了时间戳(其输出自时间戳添加器111)的TS信息包。

DMA缓冲器105A是DMA接口105中内置的缓冲器,用于临时存储以DMA传输方式传送的TS信息包的数据,并且用于接收以DMA传输方式传送的TS信息包的数据。

PCR_PID检测器108具有以下功能:确定TS信息包是否从半导体存储器103传送到DMA接口105中内置的DMA缓冲器105A,并且在确定TS信息包被传送到DMA接口105中内置的DMA缓冲器105A时,读取在DMA缓冲器105A中存储的TS信息包的数据;确定从DMA缓冲器105A中读取的TS信息包中的PCR_PID是否是已知的;当确定PCR_PID是未知时,通过从读取自DMA缓冲器105A的MPEG2-TS的首标来分析读取的MPEG2-TS中包括的PMT以检测PMT中包括的PCR_PID;通过从TS检测具有与检测的PCR_PID的值相同的PCR_PID的值的TS信息包并且然后分析所检测的TS信息包,获取PCR的值以及TS中TS信息包的位置信息;将从DMA缓冲器105A中读取的TS信息包的数据传送至数据FIFO单元106;以及当从数据FIFO单元106的第二输出端口(随后将描述)输出的数据量为0时,从DMA接口105中内置的DMA缓冲器105A中读取TS信息包的数据并且将所读取的TS信息包的数据传送给数据FIFO单元106。

数据FIFO单元106是以FIFO(先入先出)的方式存储从半导体存储器103读取的以及在DMA缓冲器105A中读取的TS信息包的数据的存储器。

根据第一实施例的数据FIFO单元106包括:输入端口,其用于输入来自外部的TS信息包的数据;第一输出端口,其用于向时间戳添加器111输出从输入端口输入的TS信息包;以及第二输出端口,其用于向PCR检测器109输出从输入端口输入的TS信息包以便检查在从输入端口输入的TS信息包中是否包括PCR。

输入端口是用于输入从DMA接口105中内置的DMA缓冲器105A读取的TS信息包的数据的端口。

根据第一实施例的数据FIFO单元106的第一输出端口具有一输出,该输出指示例如在从输入端口输入并存储了从DMA缓冲器105A读取的七个TS信息包时,在数据FIFO单元106中存储的TS信息包的数据的数量是七个,如图4所示。

在这种状态下,如图4所示,即使当PCR检测器109从第二输出端口读取了对应于两个数据的TS信息包,也不真正地删除在数据FIFO单元106中存储的TS信息包的数据,因此第一输出端口具有指示在数据FIFO单元106中存储的TS信息包的数据的数量是七个(其为针对第一输出端口存储在数据FIFO单元106中的TS信息包的数据的数量)的一输出。

例如,如图4所示,当从输入端口输入并存储了从DMA缓冲器105A读取的七个TS信息包时,根据第一实施例的数据FIFO单元106的第二输出端口具有指示在数据FIFO单元106中存储的TS信息包的数据的数量是七个的一输出。

在这种状态下,当从第二输出端口读取了对应于两个数据的TS信息包时,第二输出端口向PCR检测器109输出指示TS信息包(尚未检查在其之中是否包括数据FIFO单元106中存储的PCR)的数据的数量是五个的一输出,该五个是从数据FIFO单元106中存储的七个TS信息包的数据(其为针对第二输出端口存储在数据FIFO单元106中的TS信息包的数据的数量)中减去两个TS信息包(其为输出到PCR检测器109的TS信息包的数据的数量)的结果。

即,第二输出端口是允许PCR检测器109检查在数据FIFO单元106中存储的TS信息包的数据中是否包括PCR的输出端口。

根据第一实施例的数据FIFO单元106执行以下FIFO处理:在当对从输入端口输入的所有TS信息包开始关于在TS信息包中是否包括PCR的检查时停止了来自输入端口的TS信息包的输入的状态下,将数据FIFO单元106中存储的TS信息包的数据输出给PCR检测器109;并且当对从输入端口输入的所有TS信息包开始关于在TS信息包中是否包括PCR的检查时,恢复来自输入端口的TS信息包的输入。

PCR检测器109具有以下功能:当将未经历关于是否包括PCR的检查的TS信息包存储在数据FIFO单元106中时,从数据FIFO单元106的第二输出端口读取在数据FIFO单元106中临时存储的TS信息包的数据;通过分析在TS的首标和PMT之间包括的TS信息包来检测在TS的首标和PMT之间包括的PCR的值和TS中PCR的位置信息;检测在PMT和TS的尾部之间的TS信息包中包括的PCR的所有值和TS中PCR的位置信息;以及在从TS检测PCR的数据时来向时间戳时间间隔计算器110输出用于指示从TS检测到PCR的数据的PCR检测通知、所检测的PCR的值以及TS中PCR的位置信息。

根据第一实施例的PCR检测器109可以由硬件或者软件来实施,或者可以由软件和硬件的组合来实施。

当接收到指示从TS检测到PCR的数据的PCR检测通知时,时间戳时间间隔计算器110基于所接收的PCR的值和TS中PCR的位置信息,从首先检测的PCR的值、在首先检测的PCR之后检测的PCR的值、以及在首先检测的PCR和在首先检测的PCR之后检测的PCR之间的TS信息包的数量,来计算在存在于TS的首标和首先检测的PCR之间的第一添加目标块中包括的TS信息包中的在首先检测的PCR和在首先检测的PCR之后检测的PCR之间的时间间隔。

当接收到指示从TS检测到PCR的数据的PCR检测通知时,时间戳时间间隔计算器110基于所接收的PCR的值和TS中PCR的位置信息,从在每个处理块的首标中包括的PCR的值、在对应的PCR之后检测的PCR的值、以及每个处理块的首标中包括的PCR和在对应的PCR之后检测的PCR之间的TS信息包的数量,来计算第二添加目标块(其包含首先检测的PCR之后检测的PCR和TS中最后的PCR之间的多个处理块)中包括的TS信息包中的在每个处理块的首标中包括的PCR和对应PCR之后检测的PCR之间的时间间隔。

当接收到指示从TS检测到PCR的数据的PCR检测通知时,时间戳时间间隔计算器110基于所接收的PCR的值和TS中PCR的位置信息,从最后的PCR的值、最后的PCR前一所检测的PCR的值、以及在最后的PCR和最后的PCR前一所检测的PCR之间的TS信息包的数量,来计算在TS中最后的PCR和TS的尾部之间的第三添加目标块中包括的TS信息包中的最后检测的PCR和在最后检测的PCR前一所检测的PCR之间的时间间隔。

更具体地,当接收到第二或者后来的PCR检测通知时,时间戳时间间隔计算器110基于从PCR检测器输出的PCR的值和PCR位置信息,将输入的MPEG2-TS数据划分为在输入的MPEG2-TS的首标和第一PCR之间的TS信息包处理块U1、在PCR和PCR之间的TS信息包处理块U2和U3、以及在输入的MPEG2-TS的最后PCR和输入的MPEG2-TS的尾部之间的TS信息包处理块U4,并且时间戳时间间隔计算器110具有以下功能:通过利用表达式(1)至(4)来计算在作为划分结果获得的每个处理块中的TS信息包之间的时间间隔Qn以及每个处理块的第一信息包的时间戳值Vn;以及向时间戳添加器111输出所计算的在每个处理块中的TS信息包之间的时间间隔Qn以及每个处理块的第一信息包的时间戳值Vn

Qn=(PCRn+1-PCRn)/Nn                             (1)

Rn=(PCRn+1-PCRn)mod Nn                          (2)

Cn=0                                   (3)

Vn=Vn-1+(PCRn+1-PCRn)                  (4)

在此,Vn表示处理块Un的第一TS信息包的时间戳值,Qn表示在处理块Un中的TS信息包之间的时间间隔,Rn表示在处理块Un中的TS信息包之间的时间间隔的剩余(surplus),Cn表示在处理块Un中的第一TS信息包的时间戳值的进位(carry-over),Nn表示处理块Un中PCR和PCR之间的TS信息包(包括第一PCR)的数量。

例如,当假定处理块U1中TS信息包的时间间隔是Q1,处理块U1中的TS信息包之间的时间间隔的剩余是R1,处理块U1中的第一TS信息包的时间戳值的进位是C1,处理块U1中包括的PCR和在对应的PCR之后检测的PCR之间的TS信息包的数量是N1,以及在输入TS的首标和对应PCR之间的TS信息包的数量是N0,则获得用于处理块U1的以下表达式。在处理块U1中,可以将V1的值设置为任意值。

Q1=(PCR2-PCR1)/N1

R1=(PCR2-PCR1)mod N1

Cn=(-R1×N0)mod N1

例如,当假定处理块U2中的TS信息包的时间间隔是Q2时,处理块U2中的TS信息包之间的时间间隔的剩余是R2,处理块U2中的第一TS信息包的时间戳值的进位是C2,处理块U2中包括的PCR和在对应的PCR之后检测的PCR之间的TS信息包的数量是N2,以及在输入TS的首标和对应PCR之间的TS信息包的数量是N0,则获得用于处理块U2的以下表达式。

Q2=(PCR3-PCR2)/N2

R2=(PCR3-PCR2)modN2

C2=0

V2=V1+Q1(N0+N1)+(R1(N0+N1)+C1)/N1

=V1+((PCR2-PCR1)×(N0+N1)+C1)/N1

在根据第一实施例的时间戳添加设备1中,时间戳时间间隔计算器110由硬件来实施,但是鉴于减少分立电路的安装空间以进一步减少电路规模,其也可以由软件来实施。

对于在TS的首标和首先检测的PCR之间的第一添加目标块中包括的TS信息包,时间戳添加器111根据时间戳的初始值和由时间戳时间间隔计算器110所计算的、在首先检测的PCR和首先检测的PCR之后检测的PCR之间的时间间隔来计算被添加到TS信息包的时间戳值,将所计算的时间戳值添加到在TS的首标和首先检测的PCR之间的第一添加目标块中包括的TS信息包,并且向包括DMA缓冲器105A的DMA接口105输出具有添加了时间戳的TS信息包。

对于在第二添加目标块(其包括在首先检测的PCR之后检测的PCR和TS中最后的PCR之间的多个处理块)中包括的TS信息包,时间戳添加器111根据被添加到每个处理块的前一处理块的首标中存在的TS信息包的时间戳值、每个处理块的首标中包括的PCR值、以及在对应的PCR之后检测的PCR值来计算要添加到每个处理块的首标中存在的TS信息包的时间戳值,根据所计算的要添加到每个处理块的首标中存在的TS信息包的时间戳值和所计算的在每个处理块的首标中包括的PCR和在对应的PCR之后检测的PCR之间的时间间隔来计算要添加到每个处理块中的TS信息包的时间戳值,将所计算的时间戳值添加到第二添加目标块(其包括在首先检测的PCR之后的PCR和TS中最后的PCR之间的多个处理块)中包括的TS信息包,并且向包括DMA缓冲器105A的DMA接口105输出具有添加了时间戳的TS信息包。

对于在TS中最后的PCR和TS的尾部之间存在的第三添加目标块中包括的TS信息包,时间戳添加器111根据最后的PCR值和在最后检测的PCR与在最后检测的PCR前一所检测的PCR之间的时间间隔,来计算要添加到TS信息包的时间戳值,将所计算的时间戳值添加到在TS中最后的PCR和TS的尾部之间的第三添加目标块中包括的TS信息包,并且向包括DMA缓冲器105A的DMA接口105输出具有添加了时间戳的TS信息包。

更具体地,当接收到从时间戳时间间隔计算器110输出的处理块中的TS信息包之间的时间间隔Qn和处理块的第一信息包的时间戳值Vn时,时间戳添加器111具有以下功能:执行从数据FIFO单元106的第一输出端口读取在数据FIFO单元106中存储的TS信息包数据并且通过利用表达式(5)至(8)来将时间戳添加到从数据FIFO单元106的第一输出端口读取的TS信息包的处理;以及向包括DMA缓冲器105A的DMA接口105输出具有添加了时间戳的TS信息包。

Vn[m]=Vn[m-1]+Qn+1(其中Cn[m-1]+Rn≥Nn)              (5)

Vn[m]=Vn[m-1]+Qn  (其中Cn[m-1]+Rn<Nn)              (6)

Cn[m]=Cn[m-1]+Rn-Nn(其中Cn[m-1]+Rn≥Nn)     (7)

Cn[m]=Cn[m-1]+Rn  (其中Cn[m-1]+Rn<Nn)      (8)

参照附图将描述具有上述配置的时间戳添加设备1所执行的处理。

图5是图示由根据本发明的第一实施例的时间戳添加设备1执行的处理的序列的图。

首先,CPU 112从主存储器(未示出)读取TS信息包添加程序,通过利用所读取的TS信息包添加程序来将用于从半导体存储器读取MPEG2-TS的读取指令传送给DMA接口,并且通过在DMA描述器中描述MPEG2-TS的地址来使能DMA接口105与总线接口102之间的DMA传输(A1)。

在处理A2中,DMA接口105接收没有添加时间戳的MPEG2-TS数据(其是通过总线接口102从半导体存储器103读取的并且从总线接口102输出的),并且将所接收的MPEG2-TS数据存储在其内置的DMA缓冲器105A中。

在处理A3中,TS信息包分析器107确定MPEG2-TS数据是否被从总线接口102传送至DMA接口105内置的DMA缓冲器105A中。

当在处理A3中确定MPEG2-TS数据从总线接口102被传送至DMA接口105内置的DMA缓冲器105A中(A3中的是)时,则PCR_PID检测器108从DMA缓冲器105A读取MPEG2-TS数据并且在从DMA缓冲器105A读取数据的同时将读取的MPEG2-TS数据输出给数据FIFO单元106(A4)。

PCR_PID检测器108通过从没有添加时间戳的并且从DMA缓冲器105A读取的MPEG2-TS(其PCR_PID是未知的)的首标来分析在读取的MPEG2-TS中包括的PMT以检测PMT中包括的PCR_PID(A5)。

例如,当从半导体存储器103中读取图3中所示的MPEG2-TS数据并将其传送给DMA缓冲器105A时,PCR_PID检测器108通过检索MPEG2-TS数据、检测位置β处的PMT以及分析所检测的PMT来检测PCR_PID。

在随后的处理中,PCR检测器109使用由PCR_PID检测器108检测的PCR_PID来开始包括以下处理的PCR检测处理。

具体地,PCR检测器109确定是否PID=PCR_PID(A6)。

当在处理A6中确定满足PID=PCR_PID(A6中的是)时,则PCR检测器109确定是否存在adaption_table的值,即,adaption_table的值是否是10或者11并且adaption_table_length的值不是0(A7)。

另一方面,当在处理A6中确定不满足PID=PCR_PID(A6中的否)时,PCR检测器109执行用于确定TS信息包是否是MPEG2-TS的尾部的处理。

当在处理A7中确定adaption_table的值存在时,即,adaption_table的值是10或者11并且adaption_table_length的值不是0(A7中的是)时,PCR检测器109检测用于指示TS中TS信息包的位置的位置信息(例如,TS信息包位于自第一TS信息包开始的什么位置),向时间戳时间间隔计算器110输出所检测的TS中TS信息包的位置,然后确定是否PCR_flag=1(A8)。

当在处理A7中确定adaption_table的值不存在时,即,adaption_table的值不是10或11或者adaption_table_length的值是0(A7中的否)时,PCR检测器109执行用于确定TS信息包是否是MPEG2-TS的尾部的处理。

当在处理A8中确定满足PCR_flag=1时(A8中的是),则PCR检测器109获取PCR值并且将获取的PCR值输出给时间戳时间间隔计算器110(A9)。

当在上述处理中确定不满足PCR_flag=1时(A8中的否),则PCR检测器109执行用于确定TS信息包是否是MPEG2-TS的尾部的处理(A10)。

当在处理A10中确定从CPU输出的TS信息包是MPEG2-TS的尾部时(A10中的是),PCR检测器109结束处理的序列。

当结束了关于在数据FIFO单元106中存储的所有TS信息包中是否包括PCR的检查时,PCR检测器109对由PCR_PID检测器108从DMA缓冲器105A读取的TS信息包之后的TS信息包的数据重复执行上述的PCR检测处理(从A4至A10的处理),直到确定要处理的TS信息包是TS中包括的最后的信息包为止。

通过执行该处理序列,将从PCR_PID检测器108读取的TS信息包的数据存储在数据FIFO单元106中。因此,将经由DMA缓冲器105A的所有MPEG2-TS信息包彼此不重叠地存储在数据FIFO单元106中。

在处理A11中,当接收到第二或者后来的PCR检测通知时,时间戳时间间隔计算器110基于从PCR检测器109输出的PCR值和PCR的位置信息,将输入的MPEG2-TS数据划分为在输入的MPEG2-TS的首标和第一PCR之间的TS信息包的处理块U1、在PCR和PCR之间的TS信息包的处理块U2和U3、以及在输入的MPEG2-TS的最后PCR和输入的MPEG2-TS的尾部之间的TS信息包的处理块U4,并且通过利用表达式(1)至(4)来计算在作为划分结果获得的每个处理块中的TS信息包之间的时间间隔Qn以及每个处理块的第一信息包的时间戳值Vn

Qn=(PCRn+1-PCRn)/Nn                  (1)

Rn=(PCRn+1-PCRn)mod Nn               (2)

Cn=0                                 (3)

Vn=Vn-1+(PCRn+1-PCRn)                (4)

在此,Vn表示处理块Un的第一TS信息包的时间戳值,Qn表示在处理块Un中的TS信息包之间的时间间隔,Rn表示在处理块Un中的TS信息包之间的时间间隔的剩余,Cn表示在处理块Un中的第一TS信息包的时间戳值的进位,Nn表示处理块Un中PCR和PCR之间的TS信息包(包括第一PCR)的数量。

在处理A12中,时间戳时间间隔计算器110向时间戳添加器111输出所计算的在每个处理块中的TS信息包之间的时间间隔Qn和每个处理块的第一信息包的时间戳值Vn。

在处理A13中,当接收到从时间戳时间间隔计算器110输出的、在每个处理块中的TS信息包之间的时间间隔Qn和每个处理块的第一信息包的时间戳值Vn时,时间戳添加器111执行从数据FIFO单元106的第一输出端口读取在数据FIFO单元106中存储的TS信息包数据的处理,并且通过利用表达式(5)至(8)来计算要添加到TS信息包的时间戳值,以及将所计算的时间戳值添加到从数据FIFO单元106读取的所有TS信息包。

Vn[m]=Vn[m-1]+Qn+1(其中Cn[m-1]+Rn≥Nn)        (5)

Vn[m]=Vn[m-1]+Qn  (其中Cn[m-1]+Rn<Nn)        (6)

Cn[m]=Cn[m-1]+Rn-Nn  (其中Cn[m-1]+Rn≥Nn)     (7)

Cn[m]=Cn[m-1]+Rn(其中Cn[m-1]+Rn<Nn)          (8)

在处理A14中,时间戳添加器111向包括DMA缓冲器105A的DMA接口105输出具有添加了时间戳的TS信息包。

在处理A15中,DMA接口105以DMA传输方式向总线接口102输出从时间戳添加器111输出的、具有添加了时间戳的TS信息包。

因此,总线接口102在半导体存储器中存储从DMA接口105接收的、具有添加了时间戳的TS信息包的数据。

通过执行上述的一系列操作,根据第一实施例的时间戳添加设备1结束了处理的序列。

如上所述,根据第一实施例,从DMA缓冲器105A中存储的、包括TS信息包的TS的首标检索TS中包括的TS信息包,通过分析作为检索结果获得的PMT,PCR_PID检测器108检测在PMT包括的PCR_PID,从存储在DMA缓冲器105A的TS中检测具有与PCR_PID检测器108检测的PCR_PID值相同的PCR_PID值的TS信息包,然后通过分析检测的TS信息包,PCR检测器109获取TS中的PCR值和TS信息包的位置信息,基于由PCR检测器109检测的PCR值,通过时间戳时间间隔计算器110来计算用于添加时间戳的时间间隔,并且基于由时间戳时间间隔计算器110计算的时间间隔,通过时间戳添加器111来将时间戳添加到数据FIFO单元106中存储的TS信息包。因此,可以改善时间戳的精度并降低硬件规模。

根据第一实施例,可以将时间戳添加到从DMA缓冲器105A中存储的TS的首标到首先检测的PCR的TS信息包以及添加到从DMA缓冲器105A中存储的TS的最后的PCR到TS的尾部的TS信息包这两者。

根据第一实施例,可以通过考虑进位来将实际PCR值和添加到TS信息包的时间戳值之间的差最小化。

根据第一实施例,由于能够降低从CPU 112到数据总线的数据的传输量,因此可以防止在记录或重现其他内容时发生的总线拥塞。

结果,可以降低干扰数据的其他同步处理(诸如记录或重现)的可能性。

第二实施例

图6是图示根据本发明的第二实施例的时间戳添加设备2的配置的框图。

类似于根据第一实施例的时间戳添加设备1,根据第二实施例的时间戳添加设备2是这样的设备,其用于基于与PCR相同的27MHz时钟来向没有添加时间戳的TS信息包(其存储在时间戳添加设备1中内置的半导体存储器103中,并且其以188字节的MPEG2-TS的格式来传送)添加具有4字节数据的时间戳,以便生成具有添加了时间戳的TS信息包并且向外部输出所生成的具有添加了时间戳的TS信息包。

如图6所示,根据第二实施例的时间戳添加设备2包括:CPU 207,其连接到系统总线201;半导体存储器208,通过CPU 207可从其之中读取数据以及向其之中写入数据;TS信息包分析器204;以及时间戳添加器209。

类似于根据第一实施例的时间戳添加设备1,半导体存储器208存储作为应该向其添加时间戳的处理目标的、没有添加时间戳的MPEG2-TS数据,所述MPEG2-TS数据包括:具有N0+N1数量的TS信息包的处理块U1,其包含从MPEG2-TS数据的首标首先出现的PCR信息包α,以及PMT信息包β;具有N2数量的TS信息包的处理块U2,其包括PCR信息包;具有N3数量的TS信息包的处理块U3,其包括PMT信息包;以及具有N3数量的TS信息包的处理块U4,其包括PMT信息包。

在根据第二实施例的时间戳添加设备2中,当将MPEG2-TS数据输入时间戳添加设备2时,由PCR_PID检测器202获取PCR_PID数据并且从PCR_PID数据检测PMT数据。

此后,通过PCR检测器203检索从流的首标到PMT的数据并且检测PCR数据作为检索结果。

当输入图3中所示的TS数据时,根据第二实施例的时间戳添加设备2基于所检测的PCR的位置,将TS数据划分为处理块U1、处理块U2、处理块U3以及处理块U4。

根据第二实施例的CPU 207是用于控制根据第二实施例的整个时间戳添加设备2的单元并且包括TS信息包分析器205和时间戳时间间隔计算器206,时间戳时间间隔计算器206的处理是由从主存储器(未示出)中读取的TS信息包添加程序来实施的。

TS信息包分析器205具有以下功能:读取存储在半导体存储器208中的MPEG2-TS的数据并且使用读取的MPGE2-TS的数据来控制半导体存储器208、PCR_PID检测器202、PCR检测器203、时间戳时间间隔计算器206以及时间戳添加器209以执行随后描述的PCR_PID检测处理、PCR检测处理、时间戳时间间隔计算处理以及时间戳添加处理。

时间戳时间间隔计算器206从首先检测的PCR的值、在首先检测的PCR之后检测的PCR的值、以及在首先检测的PCR和在首先检测的PCR之后检测的PCR之间的TS信息包的数量,来计算在存在于TS的首标和首先检测的PCR之间的第一添加目标块中包括的TS信息包中的首先检测的PCR和在首先检测的PCR之后检测的PCR之间的时间间隔。

时间戳时间间隔计算器206从在每个处理块的首标中包括的PCR的值、在对应的PCR之后检测的PCR的值、以及每个处理块的首标中包括的PCR和在对应的PCR之后检测的PCR之间的TS信息包的数量,来计算第二添加目标块(其包含首先检测的PCR之后检测的PCR和TS中最后的PCR之间的多个处理块)中包括的TS信息包中的每个处理块的首标中包括的PCR和在对应的PCR之后检测的PCR之间的时间间隔。

时间戳时间间隔计算器206从最后的PCR的值、最后的PCR前一所检测的PCR的值、以及在最后的PCR和最后的PCR前一所检测的PCR之间的TS信息包的数量,来计算在TS中最后的PCR和TS的尾部之间的第三添加目标块中包括的TS信息包中的最后检测的PCR和在最后检测的PCR前一所检测的PCR之间的时间间隔。

更具体地,当接收到第二或者后来的PCR检测通知时,时间戳时间间隔计算器206基于从PCR检测器输出的PCR值和PCR位置信息,将输入的MPEG2-TS数据划分为在输入的MPEG2-TS的首标和第一PCR之间的TS信息包处理块U1、在PCR和PCR之间的TS信息包处理块U2和U3、以及在输入的MPEG2-TS的最后PCR和输入的MPEG2-TS的尾部之间的TS信息包处理块U4,并且时间戳时间间隔计算器206具有以下功能:通过利用表达式(1)至(4)来计算在作为划分结果获得的每个处理块中的TS信息包之间的时间间隔Qn以及每个处理块的第一信息包的时间戳值Vn;以及经由系统总线201向时间戳添加器209输出所计算的在每个处理块中的TS信息包之间的时间间隔Qn以及每个处理块的第一信息包的时间戳值Vn

Qn=(PCRn+1-PCRn)/Nn                    (1)

Rn=(PCRn+1-PCRn)mod Nn                 (2)

Cn=0                                   (3)

Vn=Vn-1+(PCRn-PCRn-1)                  (4)

在此,Vn表示处理块Un的第一TS信息包的时间戳值,Qn表示在处理块Un中的TS信息包之间的时间间隔,Rn表示在处理块Un中的TS信息包之间的时间间隔的剩余,Cn表示在处理块Un中的第一TS信息包的时间戳值的进位,以及Nn表示处理块Un中PCR和PCR之间的TS信息包(包括第一PCR)的数量。

例如,当假定处理块U1中TS信息包的时间间隔是Q1,处理块U1中的TS信息包之间的时间间隔的剩余是R1,处理块U1中的第一TS信息包的时间戳值的进位是C1,处理块U1中包括的PCR和在对应的PCR之后检测的PCR之间的TS信息包的数量是N1,以及在输入TS的首标和对应PCR之间的TS信息包的数量是N0,则获得用于处理块U1的以下表达式。在处理块U1中,可以将V1的值设置为任意值。

Q1=(PCR2-PCR1)/N1

R1=(PCR2-PCR1)mod N1

Cn=(-R1×N0)mod N1

例如,当假定处理块U2中的TS信息包的时间间隔是Q2,处理块U2中的TS信息包之间的时间间隔的剩余是R2,处理块U2中的第一TS信息包的时间戳值的进位是C2,处理块U2中包括的PCR和在对应的PCR之后检测的PCR之间的TS信息包的数量是N2,以及在输入TS的首标和对应PCR之间的TS信息包的数量是N0,则获得用于处理块U2的以下表达式。

Q2=(PCR3-PCR2)/N2

R2=(PCR3-PCR2)mod N2

C2=0

V2=V1+Q1(N0+N1)+(R1(N0+N1)+C1)/N1

=V1+((PCR2-PCR1)×(N0+N1)+C1)/N1

TS信息包分析器204包括PCR_PID检测器202和PCR检测器203。

PCR_PID检测器202确定是否通过利用CPU 207中内置的TS信息包分析器205经由系统总线201从CPU 207传送了读取自半导体存储器208的TS信息包的数据,并且PCR_PID检测器202具有以下功能:在确定经由系统总线201从CPU 207传送了TS信息包的数据时,确定从CPU 207传送的TS信息包中的PCR_PID是否是已知的;当确定PCR_PID是未知时,通过从读取自半导体存储器208的MPEG2-TS的首标来分析读取的MPEG2-TS中包括的PMT以检测PMT中包括的PCR_PID;通过从TS中检测具有与检测的PCR_PID的值相同的PCR_PID的值的TS信息包并且然后分析所检测的TS信息包、来获取PCR的值以及TS中TS信息包的位置信息;以及向CPU 207传送用于指示PCR_PID被检测到的PCR_PID检测通知。

PCR检测器203具有以下功能:通过接收经由系统总线201从CPU 207传送的MPEG2-TS数据以及分析在所接收的MPEG2-TS数据中的TS的首标和PMT之间的TS信息包,来执行PCR检测处理(其检测TS的首标和PMT之间的PCR的值以及TS中的PCR的位置信息,以及检测PMT和TS的尾部之间的TS信息包中包括的所有PCR的值和TS中的PCR的位置信息);在从TS信息包中检测PCR数据时,向CPU 207输出用于指示从TS信息包中检测到PCR数据的PCR检测通知、所检测的PCR的值以及TS中PCR的位置信息。

在根据第二实施例的时间戳添加设备2中,将PCR_PID检测器202和PCR检测器203配备为TS信息包分析器204中内置的硬件功能块。然而,可以将PCR_PID检测器202和PCR检测器203配备为物理上不同的硬件功能块。

在根据第二实施例的时间戳添加设备2中,将PCR_PID检测器202和PCR检测器203配备为TS信息包分析器204中内置的硬件功能块,但是可以将其配备为通过在主存储器(未示出)中存储的、由CPU 207从主存储器中读取并执行的程序来实施的功能块。

对于在TS的首标和首先检测的PCR之间的第一添加目标块中包括的TS信息包,时间戳添加器209从时间戳的初始值和由时间戳时间间隔计算器206所计算的、首先检测的PCR和在首先检测的PCR之后检测的PCR之间的时间间隔来计算要添加到TS信息包的时间戳值,将所计算的时间戳值添加到TS的首标和首先检测的PCR之间的第一添加目标块中包括的TS信息包,并且向CPU 207输出具有添加了时间戳的TS信息包。

对于第二添加目标块(其包括在首先检测的PCR之后检测的PCR和TS中最后的PCR之间的多个处理块)中包括的TS信息包,时间戳添加器209根据被添加到每个处理块的前一处理块的首标中存在的TS信息包的时间戳值、每个处理块的首标中包括的PCR值、以及在对应PCR之后检测的PCR值来计算要添加到每个处理块的首标中存在的TS信息包的时间戳值,根据所计算的要添加到每个处理块的首标中存在的TS信息包的时间戳值和所计算的在每个处理块的首标中包括的PCR和在对应的PCR之后检测的PCR之间的时间间隔来计算要添加到每个处理块中的TS信息包的时间戳值,将所计算的时间戳值添加到在第二添加目标块(其包括首先检测的PCR之后检测的PCR和TS中最后的PCR之间的多个处理块)中包括的TS信息包,并且向CPU 207输出具有添加了时间戳的TS信息包。

对于在TS中最后的PCR和TS的尾部之间存在的第三添加目标块中包括的TS信息包,时间戳添加器209根据最后的PCR值和在最后检测的PCR与在该最后检测的PCR前一所检测的PCR之间的时间间隔来计算要添加到TS信息包的时间戳值,将所计算的时间戳值添加到在TS中最后的PCR和TS的尾部之间的第三添加目标块中包括的TS信息包,并且向CPU 207输出具有添加了时间戳的TS信息包。

更具体地,时间戳添加器209接收从时间戳时间间隔计算器206输出的处理块中的TS信息包之间的时间间隔Qn、处理块的第一信息包的时间戳值Vn,以及从CPU传送的作为时间戳添加目标的MPEG2-TS数据,并且时间戳添加器209具有以下功能:通过利用表达式(5)至(8)来执行将时间戳添加到从CPU 207接收的TS信息包的处理;以及向CPU 207输出具有添加了时间戳的TS信息包。

Vn[m]=Vn[m-1]+Qn+1(其中Cn[m-1]+Rn≥Nn)      (5)

Vn[m]=Vn[m-1]+Qn  (其中Cn[m-1]+Rn<Nn)      (6)

Cn[m]=Cn[m-1]+Rn-Nn  (其中Cn[m-1]+Rn≥Nn)   (7)

Cn[m]=Cn[m-1]+Rn  (其中Cn[m-1]+Rn<Nn)      (8)

将参照附图描述由具有上述配置的时间戳添加设备2执行的处理。

图7是图示由根据本发明的第二实施例的时间戳添加设备2执行的处理的序列的图。

图8和图9是图示由根据本发明的第二实施例的时间戳添加设备2执行的处理的流程图。

根据第二实施例的时间戳添加设备2顺序地执行PCR_PID检测处理、PCR检测处理、时间戳时间间隔计算处理以及时间戳添加处理。

PCR_PID检测处理

PCR_PID检测器202首先确定从CPU 207传送的TS中包括的PMT_PID是否是已知的(B1)。

当在处理B1中确定从CPU 207传送的TS中包括的PMT_PID是已知的(B1中的是)时,PCR_PID检测器202确定是否满足PID=PMT_PID(B2)。

当在处理B1中确定从CPU 207传送的TS中包括的PMT_PID是未知的(B1中的否)时,PCR_PID检测器202检测PAT数据并且确定所检测的PAT中包括的PID数据是否满足PID=13`b0(PAT)(B3)。

当在处理B2中确定满足PID=PMT_PID(B2中的是)时,PCR_PID检测器202向CPU 207输出用于指示检测到PCR_PID的PCR_PID检测通知并且结束处理的序列。

当在处理B3中确定所检测的PAT中包括的PID数据满足PID=13`b0(PAT)(B3中的是)时,PCR_PID检测器202检测从CPU 207经由系统总线201输出的TS中包括的PMT_PID数据并且执行随后描述的B6的处理。

当在处理B3中确定所检测的PAT中包括的PID数据不满足PID=13`b0(PAT)(B3中的否)时,PCR_PID检测器202确定从CPU 207输出的TS信息包是否是MPEG2-TS的尾部(B6)。

当在上述的处理B2中确定不满足PID=PMT_PID(B2中的否)时,PCR_PID检测器202确定经由系统总线201从CPU 207输出的与处理B6中的TS信息包相同的TS信息包是否是MPEG2-TS的尾部。

当在处理B6中确定经由系统总线201从CPU 207输出的TS信息包是MPEG2-TS的尾部时(B6中的是),PCR_PID检测器202结束处理的序列。

当在处理B6中确定经由系统总线201从CPU 207输出的TS信息包不是MPEG2-TS的尾部时(B6中的否),PCR_PID检测器202对随后的TS信息包的首标执行A1至A6的处理(B7),直到要处理的TS信息包是TS中包括的最后的信息包为止。

通过执行上述的一系列处理,根据第二实施例的PCR_PID检测器202结束处理的序列。

PCR检测处理

PCR检测器203首先确定是否满足PID=PCR_PID(C1)。

当在处理C1中确定满足PID=PCR_PID(C1中的是)时,PCR检测器203确定是否存在adaption_table的值,即,adaption_table的值是否是10或者11并且adaption_table_length的值不是0(C2)。

另一方面,当在处理C1中确定不满足PID=PCR_PID(C1中的否)时,PCR检测器203执行随后描述的C5的确定处理。

当在处理C2中确定adaption_table的值存在时,即,adaption_table的值是10或者11并且adaption_table_length的值不是0(C2中的是)时,PCR检测器203检测整个TS中的TS信息包的位置,向CPU207输出所检测的整个TS中TS信息包的位置,并且然后确定是否满足PCR_flag=1(C3)。

当在处理C2中确定adaption_table的值不存在时,即,adaption_table的值不是10或11或者adaption_table_length的值是0(C2中的否)时,PCR检测器203执行随后描述的C5的确定处理。

当在处理C3中确定满足PCR_flag=1时(C3中的是),PCR检测器203获取PCR值并且将获取的PCR值输出给CPU(C4)。

当处理C3中确定不满足PCR_flag=1时(C3中的否),则PCR检测器203确定从CPU 207输出的TS信息包是否是MPEG2-TS的尾部(C5)。

当在处理C5中确定从CPU 207输出的TS信息包是MPEG2-TS的尾部时(C5中的是),PCR检测器203结束处理的序列。

当在处理C5中确定经由系统总线201从CPU 207输出的TS信息包不是MPEG2-TS的尾部时(C5中的否),PCR检测器203从随后的TS信息包的首标开始重复地执行C1至C5的处理(C6),直到要处理的TS信息包是TS中包括的最后的信息包为止。

通过执行上述的一系列处理,根据第二实施例的PCR检测器203结束处理的序列。

时间戳时间间隔计算处理

当接收到第二或者后来的PCR检测通知时,时间戳时间间隔计算器206基于从PCR检测器203输出的PCR值和PCR位置信息,将输入的MPEG2-TS数据划分为在输入的MPEG2-TS的首标和第一PCR之间的TS信息包的处理块U1、在PCR和PCR之间的TS信息包的处理块U2和U3、以及在输入的MPEG2-TS的最后PCR和输入的MPEG2-TS的尾部之间的TS信息包的处理块U4,并且通过利用表达式(1)至(4)来计算在作为划分结果获得的每个处理块中的TS信息包之间的时间间隔Qn以及每个处理块的第一信息包的时间戳值Vn(D1);

Qn=(PCRn+1-PCRn)/Nn      (1)

Rn(PCRn+1-PCRn)mod Nn     (2)

Cn=0                     (3)

Vn=Vn-1+(PCRn-PCRn-1)    (4)

在此,Vn表示处理块Un的第一TS信息包的时间戳值,Qn表示在处理块Un中的TS信息包之间的时间间隔,Rn表示在处理块Un中的TS信息包之间的时间间隔的剩余,Cn表示在处理块Un中的第一TS信息包的时间戳值的进位,以及Nn表示处理块Un中PCR和PCR之间的TS信息包(包括第一PCR)的数量。

换言之,时间戳时间间隔计算器206根据首先检测的PCR的值、在首先检测的PCR之后检测的PCR的值、以及在首先检测的PCR和在首先检测的PCR之后检测的PCR之间的TS信息包的数量,来计算存在于TS的首标和首先检测的PCR之间的第一添加目标块中包括的TS信息包中的、首先检测的PCR和在首先检测的PCR之后检测的PCR之间的时间间隔。

时间戳时间间隔计算器206根据在每个处理块的首标中包括的PCR的值、在对应的PCR之后检测的PCR的值、以及每个处理块的首标中包括的PCR和在对应的PCR之后检测的PCR之间的TS信息包的数量,来计算在第二添加目标块(其包含在首先检测的PCR之后检测的PCR和TS中最后的PCR之间的多个处理块)中包括的TS信息包中的每个处理块的首标中包括的PCR和在对应的PCR之后检测的PCR之间的时间间隔。

时间戳时间间隔计算器206根据最后PCR的值、最后PCR前一所检测的PCR的值、以及在最后PCR和最后PCR前一所检测的PCR之间的TS信息包的数量,来计算在TS中的最后PCR和TS的尾部之间的第三添加目标块中包括的TS信息包中的最后检测的PCR和最后检测的PCR前一所检测的PCR之间的时间间隔。

在处理D2中,时间戳时间间隔计算器206向时间戳添加器209输出所计算的每个处理块中的TS信息包之间的时间间隔Qn以及所计算的每个处理块的第一信息包的时间戳值Vn。

通过执行上述的一系列处理,根据本发明第三实施例的时间戳时间间隔计算器206结束处理的序列。

时间戳添加处理

首先,时间戳添加器209接收从时间戳时间间隔计算器206输出的每个处理块中的TS信息包之间的时间间隔Qn、每个处理块中的第一信息包的时间戳值Vn、以及从CPU传送的作为要具有向其添加的时间戳的目标的MPEG2-TS数据,并且时间戳添加器209通过利用表达式(5)至(8)来执行将时间戳添加到经由系统总线201从CPU 207接收的TS信息包的处理(E1)。

Vn[m]=Vn[m-1]+Qn+1(其中Cn[m-1]+Rn≥Nn)     (5)

Vn[m]=Vn[m-1]+Qn  (其中Cn[m-1]+Rn<Nn)     (6)

Cn[m]=Cn[m-1]+Rn-Pn  (其中Cn[m-1]+Rn≥Nn)  (7)

Cn[m]=Cn[m-1]+Rn  (其中Cn[m-1]+Rn<Nn)     (8)

换言之,对于在TS的首标和首先检测的PCR之间的第一添加目标块中包括的TS信息包,时间戳添加器209根据时间戳的初始值和由时间戳时间间隔计算器206所计算的、在首先检测的PCR和在首先检测的PCR之后检测的PCR之间的时间间隔来计算要添加到TS信息包的时间戳值,将所计算的时间戳值添加到在TS的首标和首先检测的PCR之间的第一添加目标块中包括的TS信息包,并且向CPU 207输出具有添加了时间戳的TS信息包。

对于在第二添加目标块(其包括首先检测的PCR之后检测的PCR和TS中最后的PCR之间的多个处理块)中包括的TS信息包,时间戳添加器209根据被添加到每个处理块的前一处理块的首标中存在的TS信息包的时间戳值、每个处理块的首标中包括的PCR值、以及在对应PCR之后检测的PCR值来计算要添加到每个处理块的首标中存在的TS信息包的时间戳值,根据所计算的要添加到每个处理块的首标中存在的TS信息包的时间戳值和所计算的在每个处理块的首标中包括的PCR和在对应的PCR之后检测的PCR之间的时间间隔来计算要添加到每个处理块中的TS信息包的时间戳值,将所计算的时间戳值添加到第二添加目标块(其包括首先检测的PCR之后检测的PCR和TS中最后的PCR之间的多个处理块)中包括的TS信息包,并且向CPU 207输出具有添加了时间戳的TS信息包。

对于在TS中最后的PCR和TS的尾部之间存在的第三添加目标块中包括的TS信息包,时间戳添加器209根据最后的PCR值和在最后检测的PCR与在最后检测的PCR前一所检测的PCR之间的时间间隔,来计算要添加到TS信息包的时间戳值,将所计算的时间戳值添加到在TS中最后的PCR和TS的尾部之间的第三添加目标块中包括的TS信息包,并且向CPU 207输出具有添加了时间戳的TS信息包。

在处理E2,时间戳添加器209向CPU 207输出具有添加了时间戳的TS信息包。因此,通过CPU 207将具有添加了时间戳的TS信息包写入到半导体存储器208。

通过执行上述的一系列处理,根据第二实施例的时间戳添加器209结束处理的序列。

根据上述的实施例,通过从包含半导体存储器208中存储的TS信息包的TS的首标分析PMT,PCR_PID检测器202检测PMT中包括的PCR_PID,从存储在半导体存储器中的TS中检测具有与PCR_PID检测器202检测的PCR_PID值相同的PCR_PID的值的TS信息包,通过分析检测的TS信息包来由PCR检测器203获取TS中的PCR值和对应的TS信息包的位置信息,通过时间戳时间间隔计算器206基于由PCR检测器203检测的PCR值来计算用于添加时间戳的时间间隔,并且通过时间戳添加器209基于由时间戳时间间隔计算器206计算的时间间隔将时间戳添加到半导体存储器208中存储的TS信息包。因此,可以改善时间戳的精度并降低硬件规模。

本申请包括与在2008年8月12日向日本专利局提交的日本优先权专利申请JP2008-208139中公开的主题有关的主题,通过引用在此并入其全部内容。

本领域的技术人员应该理解,取决于设计要求和其他因素可以发生各种修改、组合、部分组合以及变更,只要其在所附的权利要求或其等效物的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号