CN101505417A - 时戳附加装置、时戳附加方法以及时戳附加程序 - Google Patents
时戳附加装置、时戳附加方法以及时戳附加程序 Download PDFInfo
- Publication number
- CN101505417A CN101505417A CNA2009100062401A CN200910006240A CN101505417A CN 101505417 A CN101505417 A CN 101505417A CN A2009100062401 A CNA2009100062401 A CN A2009100062401A CN 200910006240 A CN200910006240 A CN 200910006240A CN 101505417 A CN101505417 A CN 101505417A
- Authority
- CN
- China
- Prior art keywords
- bag
- pcr
- time
- special
- positional information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开了时戳附加装置、时戳附加方法及程序,用于将时戳附加至包括在MPEG2-TS(运动图像专家组2传输流)中的多个TS(传输流)包的每一个,以用作表示将各个TS包提供给用于解码MPEG2-TS的解码器的输入定时的时戳,该时戳附加装置包括不连续检测部、PCR检测部、时间间隔计算部和时戳计算部。通过本发明,能够将时戳附加至MPEG2-TS的每个TS包,以用作使MPEG2-TS正常再生的时戳。
Description
相关申请的交叉参考
本发明包含于2008年2月8日向日本专利局提交的日本专利申请第2008-028541号的主题,其全部内容结合于此作为参考。
技术领域
一般地,本发明涉及时戳附加装置、时戳附加方法以及时戳附加程序。具体地,本发明涉及能够向包含在MPEG2-TS中的每个TS(传输流)包(packet)附加使MPEG-2TS(运动图像专家组传输流)正常再生的时戳的时戳附加装置,并涉及该时戳附加装置所采用的时戳附加方法以及实现该时戳附加方法的时戳附加程序。
背景技术
近年来,TV节目数字装置变得非常流行并成为广泛使用的装置。TV节目数字装置被用于在诸如硬盘的记录介质上记录TV节目,并随后再生已经记录在记录介质上的TV节目。典型的TV节目数字装置包括硬盘记录器、个人计算机以及具有记录功能的TV广播接收装置。
在日本,TV广播的标准设置包括作为国际标准规格的MPEG(运动图像专家组)标准。在MPEG标准中,采用了虑及在通信和广播系统中应用的MPEG-2系统。此外,在MPEG-2系统中,采用了称为MPEG2-TS的格式。MPEG2-TS格式是在传输期间产生错误的环境中被用于数据传输和积累的格式。
根据MPEG2-TS格式,在发射侧的装置中,已通过采用MPEG-2编码方法而编码的视频和声音被分割成多个包,随后将这些包依次传输至接收侧的装置。这些包被称作TS(传输流)包。
另外,根据MPEG2-TS格式,某些TS包包括采用27MHz的系统时钟频率作为基准的嵌入PCR(节目时钟基准),使得接收侧的装置能够再生发射侧的装置所期望的节目。同样,TS包还包括诸如PTS(节目时戳)和DTS(解码时戳)的嵌入式数据。PTS是在再生处理中所参考的时间管理信息,而DTS是在解码处理中所参考的时间管理信息。
诸如上述数字装置的接收侧装置从发射侧装置接收TS包,并从预定的一个TS包中得到PAT(节目关联表)和PMT(节目映射表)。基于PAT和PMT,接收侧装置识别预先确定的每个PID(包标识符),并将由预先确定的PID所识别的每个TS包分成视频包、音频、PCR和其它数据。
另外,接收侧装置使用从TS包获取的PCR,以设定STC(系统时钟)的初始值。此外,接收侧装置将周期性接收的PCR值与STC进行比较,以调节用作解码处理的时基(time base)的27MHz系统时钟频率的误差。
通常,设计接收侧装置,以使在作为从TS包生成视频和声音的处理、由接收侧装置执行的将由诸如广播站的发射侧装置所传输的TS包进行解码的处理中,在接收侧装置中所采用的、作为临时存储诸如TS包的数据的缓冲器的接收缓冲器没有上溢或下溢,并且能够正常执行使视频和声音彼此同步的处理。
顺便提及,在某些情况下,具有MPEG2-TS格式的视频内容可以通过IPTV(互联网协议电视)网络等的方式进行分配,或者在由DLNA(数字生活网络联盟)环境表示的家庭网络环境中进行分配。
在通过这种网络分配具有MPEG2-TS格式的视频内容的处理中,即使发射侧装置以高精度控制TS包的输出定时,TS包通过网络中的不同路径,使得TS包的到达时间在某些情况下与传输间隔不一致的情况是极其可能的。除此之外,如果网络中的中继装置同时执行与MPEG2-TS处理完全无关的另一传输处理,则TS包的到达时间在某些情况下也会与传输间隔不一致。
另外,MPEG标准规定:在100ms的周期内至少包括1个PCR。即,没有规定在MPEG2-TS的每个TS包中都包括PCR。因此,如果接收侧装置仅参照通过网络传输的TS包的PCR,则接收侧装置很难将在发射侧装置所期望的定时下接收的TS包提供给解码器,该解码器应用在接收侧装置中以用作对MPEG2-TS进行解码的解码器。
因此,需要为这种难题提供有效的解决方式。根据本实施例提供的时戳附加方法,在通过这种网络分配视频内容的处理中,发射侧的装置向MPEG2-TS的每个TS包附加时戳,以用作表示TS包被提供给解码器的定时的信息,而接收侧的装置使用附加至TS包的时戳,以控制定时。在下面的描述中,TS包被提供给解码器的定时也被称作输入定时。
例如,作为TV广播传输的内容被记录在诸如记录装置的装置中作为MPEG2-TS,并且用户编辑MPEG2-TS,切割场景并改变场景顺序,从而失去了PCR值的连续性。
下面将说明在2个特定的连续TS包之间的输入定时间隔以及这些特定TS包的PCR值的变化。特定TS包是位于每个均进行了编辑处理以切割场景的先于或迟于中间TS包的TS包。由于中间TS包的场景被切割而使中间TS包的数量减少,所以通过与中间TS包数量减少相对应的减少来缩短2个特定的TS包之间的时间间隔。然而,如果与由于场景切割而引起的特定TS包之间的缩短距离相比,特定TS包之间的RCR值的差会显著增加(或跃升)。
因此,例如,在通过网络将MPEG2-TS分配给接收侧的装置的情况下,如果在切除场景的编辑处理中消除了MPEG2-TS的场景,然后在将时戳附加至接收侧的编辑后的MPEG2-TS的处理中仅使用编辑后的MPEG2-TS的PCR值,则上述特定TS包之间的PCR值的差值根本不反映特定TS包之间的校正输入定时的差值。结果,将一个特定的TS包提供给用于对MPEG2-TS进行解码的解码器的输入定时也变得完全不正确。另外,如果通过网络将MPEG2-TS传输至接收侧的装置然后进行编辑处理来改变MPEG2-TS的场景顺序,则输入定时也会不期望地变得提前或滞后,从而不能够正常再生MPEG2-TS。结果,由MPEG2-TS所表示的视频发生了不希望地失真。
为了解决上述问题,如在日本专利公开第2001-285233号中所披露的,提供了一种用于在维持由时间信息表示的连续性和周期特性的同时生成以各种传输速度传输的传输流的技术。
另外,日本专利公开第Hei.11-41193号披露了一种用于消除多路复用多个异步传输流时所生成的延迟变化的技术。
发明内容
如上所述,如果用户编辑MPEG2-TS,则会失去在作为编辑操作结果而获取的MPEG2-TS的TS包中所包括的PCR值的正确连续性。因此,如果通过使用PCR值来执行时戳附加处理以将时戳附加至MPEG2-TS的每个TS包,从而用作表示将TS包提供给用于对MPEG2-TS进行解码的解码器的输入定时的时戳,则作为时戳附加处理结果而获得的每个时戳在某些情况下可能不正确。即,被附加至TS包的每个时戳在某些情况下不再表示正确的输入定时。因此,在再生通过网络传输并由用户编辑的MPEG2-TS的操作中,因为由作为在编辑操作后执行的时戳附加处理结果而获得的时戳所表示的每个输入定时可能与正确的输入定时不同,所以在某些情况下不能正常再生MPEG2-TS。
为了解决上述问题,发明了本发明的实施例,作为能够将正确的时戳附加至MPEG2-TS的每个TS包以用作使MPEG2-TS正常再生的时戳的实施例。
根据本发明的实施例,提供了一种时戳附加装置,被配置为将时戳附加至包括在MPEG2-TS中的多个TS包的每一个,以用作表示将各个TS包提供给用于对MPEG2-TS进行解码的解码器的输入定时的时戳。该时戳附加装置采用不连续检测部,其被配置为在TS包的适配域中所包括的不连续标识符表示采用预先确定的系统时钟频率作为基准的PCR(节目时钟基准)不完全连续的情况下,获取包括不连续标识符的TS包的位置信息。该时戳附加装置还采用PCR检测部,其被配置为在TS包包括适配域并且TS包的适配域包括PCR的情况下,提取嵌入在TS包的适配域中的PCR的值,并获取包括所嵌入PCR的TS包的位置信息。该时戳附加装置还采用时间间隔计算部,其被配置为通过使用由不连续检测部获取的作为包括被描述为表示PCR不完全连续的不连续标识符的不连续标识符的特定TS包的位置信息的信息、使用由PCR检测部提取的作为PCR值的值以及使用由PCR检测部获取的作为包括所嵌入PCR的特殊TS包的位置信息的信息,来计算每两个相邻TS包的输入定时之间的平均输入定时间隔。该时戳附加装置还采用时戳计算部,其被配置为基于每两个相邻TS包的输入定时之间的平均输入定时间隔计算TS包的每一个的输入定时,并将时戳附加至TS包的每一个,以用作表示TS包的输入定时的时戳。
根据本发明的另一个实施例,提供了一种用于附加时戳的时戳附加方法以及一种由计算机执行的时戳附加程序,用于执行将时戳附加至包括在MPEG2-TS中的多个TS包中的每一个的处理,以用作表示将每个TS包提供给用于解码MPEG2-TS的解码器的输入定时的时戳。该时戳附加方法和程序包括以下步骤:在TS包表示采用预先确定的系统时钟频率作为基准的多个PCR(节目时钟基准)不完全连续的情况下,获取包括在TS包的适配域中描述的不连续标识符的TS包的位置信息。该时戳附加方法和程序还包括以下步骤:在TS包包括适配域并且TS包的适配域包括嵌入PCR的情况下,提取TS包的PCR的值,并获取包括嵌入PCR的TS包的位置信息。该时戳附加方法和程序还包括以下步骤:通过使用包括表示PCR不完全连续的不连续标识符的特定TS包的位置信息、使用PCR的值以及使用包括嵌入PCR的特殊TS包的位置信息,来计算每两个相邻TS包的输入定时之间的平均输入定时间隔。该时戳附加方法和程序还包括以下步骤:基于以每两个相邻TS包的时间间隔计算出的平均输入定时间隔来计算TS包的每一个的输入定时,并将时戳附加至TS包的每一个,以用作表示TS包的输入定时的时戳。
根据本发明的实施例,如果在TS包的适配域中描述的不连续标识符表示采用预先确定的系统时钟频率作为基准的PCR(节目时钟基准)不完全连续,则获取包括在其适配域中描述的不连续标识符的TS包的位置信息。随后,如果TS包的适配域包括嵌入PCR,则提取嵌入在TS包的适配域中的PCR的值,并获取具有包括嵌入PCR的适配域的TS包的位置信息。随后,通过使用包括在TS包的适配域中描述的、作为表示PCR不完全连续的不连续标识符的不连续标识符的特定TS包的位置信息、使用所提取的PCR值以及使用特殊TS包的位置信息来计算每两个相邻TS包的输入定时之间的平均输入定时间隔。最后,基于作为每两个相邻TS包的输入定时之间的平均输入定时间隔所计算的每个平均输入定时间隔计算每个TS包的输入定时,并将时戳附加至每个TS包,以用作表示TS包的输入定时的时戳。
根据本发明的实施例,能够将时戳附加至MPEG2-TS的每个TS包,以用作使MPEG2-TS正常再生的时戳。
附图说明
图1是示出实现应用本发明实施例的时戳附加装置的一个实施例的典型结构的框图;
图2是每个均示出MPEG2-TS的典型结构的多个示图;
图3示出了在时戳附加装置将时戳附加至MPEG2-TS的处理描述中参照的示例性流程图;
图4示出了在PCR检测处理描述中参照的示例性流程图;
图5是示出计算输入定时间隔和时戳的处理结构的示图;以及
图6是示出本发明实施例所实现的计算机的典型硬件结构的框图。
具体实施方式
通过参照附图,下面的描述说明实现应用本发明实施例的时戳附加装置的优选具体实施例的细节。
图1是示出实现应用本发明实施例的时戳附加装置11的一个实施例的典型结构的框图。
如图1的框图所示,实现时戳附加装置11的实施例的典型结构包括存储器12、CPU(中央处理器)13、包分析单元14、时间间隔计算部15、时戳计算单元16和系统总线17。
CPU13连接至存储器12。通过系统总线17将CPU13、包分析单元14和时戳计算单元16彼此连接。另外,通过CPU13来实现时间间隔计算部15的功能,从而实施软件程序。
存储器12用于预先存储用作将时戳附加至构成MPEG2-TS的每个TS包的处理对象的MPEG2-TS。在下面的描述中,用作将时戳附加至构成MPEG2-TS的每个TS包的处理对象的MPEG2-TS被称作不包括时戳的MPEG2-TS的无时戳MPEG2-TS。存储器12还用于存储作为将时戳附加至构成不包括时戳的MPEG2-TS的每个TS包的处理结果而获得的MPEG2-TS。
CPU13从存储器12中读出不包括时戳的MPEG2-TS,并通过系统总线17将不包括时戳的MPEG2-TS提供给包分析单元14。
包分析单元14是采用了不连续检测部18和PCR检测部19的硬件功能模块。包分析单元14通过对位于不包括时戳的MPEG2-TS的开始处的首个TS包开始分析来按顺序分析从CPU13接收的无时戳MPEG2-TS的TS包。
例如,包分析单元14分析在不包括时戳的MPEG2-TS所包括的预定TS包中所示的PAT(节目关联表)。预定TS包是具有PID(包标识符)为0的TS包。随后,包分析单元14检测通过在查找处理中发现的PID所识别的其它TS包,并分析包括在其他TS包中的PMT,以查找用于被称作PCR_PID的每个特殊PID的PMT,其中,PCR_PID用于识别包括嵌入PCR的又一TS包以用作属性TS包。因此,数据分析单元14能够检测作为包括嵌入PCR的TS包的属性TS包。
可选地,存储器12用于预先存储包括PMT的其它TS包的PID。因此,包分析单元14能够检测均包括嵌入PCR的每个属性TS包。作为另一选择,存储器12用于预先存储均用于识别包括嵌入PCR的属性TS包的每个PCR_PID。因此,在这种情况下,包分析单元14也能够检测均包括嵌入PCR的每个属性TS包。作为进一步的选择,允许用户指定包括PMT的其它TS包的PID或识别包括嵌入PCR的属性TS包的PCR_PID。作为更进一步的选择,由CPU13执行的应用程序任意地设定包括PMT的其它TS包的PID或识别包括嵌入PCR的属性TS包的PCR_PID。
随后,为了生成关于属性TS包是否包括用于描述MPEG2-TS的附加信息的适配域的确定结果,包分析单元14分析作为由PCR_PID识别的包括嵌入PCR以用作属性TS包的TS包或具有PCR_PID作为其PID的TS包的又一TS包。具体而言,包分析单元14生成关于适配域控制(adaptation_field_control)值是否为10(或11)以及适配域长度(adaptation_field_length)值是否为0的确定结果。
另外,当包分析单元14完成了对包含在从CPU 13接收的MPEG2-TS中的所有TS包执行的分析时,包分析单元14通过系统总线17将通知CPU 13以及完成分析的消息传输至CPU 13。
如果由包分析单元14生成的确定结果表示属性TS包包括上述适配域,则在包分析单元14中使用的不连续检测部18通过检查包含在适配域中的不连续标识符的值来处理属性TS包。如果发现不连续标识符的值为1,则不连续检测部18获取关于属性TS包的位置的信息。作为具有设定为1的不连续标识符的属性TS包的典型位置信息,可以使用之前刚检测为由PCR_PID识别的TS包的属性TS包与具有包括设定为1的不连续标识符的适配域的属性TS包之间的TS包的数目。
随后,不连续检测部18通过系统总线17将具有设定为1的不连续标识符的属性TS包的位置信息提供给CPU 13。例如,每当不连续检测部18检测具有设定为1的不连续标识符的属性TS包,不连续检测部18都将属性TS包的位置信息提供给CPU 13。可选地,当不连续检测部18完成对包含在从CPU 13接收的MPEG2-TS中的所有属性TS包执行的分析时,包分析单元14通过系统总线17将通知CPU 13已经完成分析的消息传输给CPU 13,并将具有设定为1的不连续标识符的每个属性TS包的位置信息提供给CPU 13。
如果包含在随后属性TS包中的PCR值已经被重置,则如在ISO/IEC 1318-1:2000(E)所规定的,包含在随后属性TS包的适配域中的不连续标识符被设定为1。
顺便提及,例如,如果包含在MPEG2-TS所包括的作为包括嵌入PCR的TS包的特定属性TS包中的适配域中的不连续标识符值为1,则解码器通过使用针对在特定属性TS包与在特定属性TS包之前最近的作为包括紧前PCR的TS包的属性TS包之间的TS包获得的平均输入定时间隔来执行解码处理,直至出现包括紧接PCR用作新时基或新平均输入定时间隔的属性TS包。另外,不连续性标识符保持为原有的1,直至出现包括PCR作为新时基的属性TS包。
为了生成关于表示在属性TS包的适配域中的可选域(optionalfield)中描述PCR值的PCR_flag值是否为1的确定结果,在包分析单元14中应用的PCR检测部19处理被包分析单元14确定的作为包括适配域的TS包的属性TS包。PCR_flag是用于表示在可选域中是否描述了PCR值的标记(flag)。如果确定结果表示PCR_flag值为1,则PCR检测部19从属性TS包中提取出PCR值,并获取属性TS包的位置信息。作为属性TS包的典型位置信息,如果属性TS包是从MPEG2-TS得到PCR的第一个属性TS包,则可以使用位于MPEG2-TS开头的首个包与属性TS包之间的TS包数,如果属性TS包是从MPEG2-TS得到PCR的最后一个属性TS包,则可以使用位于属性TS包与位于MPEG2-TS末端的尾部TS包之间的TS包数,或者如果属性TS包在MPEG2-TS中既不是第一个属性TS包也不是最后一个属性TS包,则可以使用位于该属性TS包之前最近的属性TS包与该属性TS包之间的TS包数。
随后,PCR检测部19通过系统总线17将从具有设定为1的PCR_flag的属性TS包中提取的PCR值和属性TS包的位置信息提供给CPU13。例如,每当PCR检测部19检测具有设定为1的PCR_flag的属性TS包,PCR检测部19都将从属性TS包中提取的PCR值和属性TS包的位置信息提供给CPU 13。可选地,当不连续检测部18完成对包含在从CPU 13接收的MPEG2-TS中的所有属性TS包执行的分析时,包分析单元14通过系统总线17将通知CPU13已经完成分析的消息传输给CPU 13,并提供具有如上所述设定为1的不连续标识符的每个属性TS包的位置信息。此时,PCR检测部19将从具有设定为1的PCR_flag的每个TS包中提取的PCR值和这样的每个TS包的位置信息提供给CPU 13。
CPU 13的时间间隔计算部15基于由CPU 13从不连续检测部18接收的作为具有设定为1的不连续标识符的每个属性TS包的位置信息的信息、由CPU 13从PCR检测部19接收的作为具有设定为1的PCR_flag的每个属性TS包的位置信息的信息以及由CPU 13从PCR检测部19接收的作为具有设定为1的PCR_flag的属性TS包的PCR值的每个值,来计算诸如每两个相邻TS包之间的平均输入定时间隔的量。例如,平均输入定时间隔是每两个相邻TS包的输入定时之间的平均间隔。TS包的输入定时是TS包被提供给被配置为对包括TS包的MPEG2-TS进行解码的解码器的时间。随后,时间间隔计算部15生成包括所计算的平均输入定时间隔的时间间隔数据。随后,CPU 13通过系统总线17将由时间间隔计算部15生成的时间间隔数据和从存储器12读出的无时戳MPEG2-TS提供给时戳计算单元16。
根据预先确定的公式,时戳计算单元16通过使用从CPU 13接收的时间间隔数据来导出每个TS包的具有典型4字节长度的时戳。随后,为了生成包括时戳的MPEG2-TS,时戳计算单元16将为TS包计算的每个时戳附加至包括在从CPU 13接收的无时戳MPEG2-TS中的TS包。随后,时戳计算单元16通过系统总线17将包括时戳的MPEG2-TS提供给CPU 13。最后,CPU 13将包括时戳的MPEG2-TS存回存储器12。
图2是每个均示出MPEG2-TS的典型结构的多个示图。
图2上侧的示图示出了在存储器12中预先存储的作为将被时戳附加装置11处理的TS的无时戳MPEG2-TS,而图2下侧的示图示出了作为由时戳附加装置11执行的将时戳附加至不包括时戳的MPEG2-TS所包括的每个TS包的处理结果而获得的MPEG2-TS。
如图2的上侧示图所示,没有时戳的MPEG2-TS包括多个连续的TS包,每一个均具有188字节长度。另一方面,如图2的下侧示图所示,在包括时戳的MPEG2-TS所包括的每个TS包均具有192个字节的长度,其包括形成附加至TS包的开头的时戳的4个字节。类似于不包括时戳的MPEG2-TS,包括时戳的MPEG2-TS具有每个均具有192个字节长度的多个连续的TS包。
图3示出了在通过时戳附加装置11执行的将时戳附加至初始不包括时戳的MPEG2-TS的每个TS包的处理的描述中所参照的示例性流程图。
在初始状态下,不包括时戳的MPEG2-TS已存储在存储器12中。在步骤S11中,CPU 13从存储器12中读出不包括时戳的MPEG2-TS。随后,时戳附加装置11继续步骤S11至步骤S12的处理。
在步骤S12中,CPU 13将在步骤S11中从存储器12读出的无时戳MPEG2-TS提供给包分析单元14。然后,CPU 13将该处理置于等待将由包分析单元14提供的分析完成通知的状态。当从包分析单元14中接收到分析完成通知时,时戳附加装置11继续步骤S12至步骤S13的处理。
在步骤S13中,CPU 13从包分析单元14接收分析完成通知。另外,如上所述,CPU 13不仅从包分析单元14接收分析完成通知,而且从不连续检测部18接收具有设定为1的不连续标识符的每个属性TS包的位置信息。另外,CPU 13还从PCR检测部19接收具有设定为1的PCR_flag的每个属性Ts包的位置信息和这样的每个属性TS包的PCR值。
随后,时戳附加装置11继续步骤S13至步骤S14的处理。在步骤S14中,CPU 13的时间间隔计算部15基于由CPU 13从不连续检测部18接收的作为具有设定为1的不连续标识符的每个属性TS包的位置信息的信息、由CPU 13从PCR检测部19接收的作为具有设定为1的PCR_flag的每个属性TS包的位置信息的信息以及由CPU 13从PCR检测部19接收的作为具有设定为1的PCR_flag的属性TS包的PCR值的每个值,来计算诸如每两个相邻TS包之间的平均输入定时间隔的量。随后,时间间隔计算部15生成包括所计算的平均输入定时间隔的时间间隔数据。
随后,时戳附加装置11继续步骤S14至步骤S15的处理。在步骤S15中,CPU 13通过系统总线17将由时间间隔计算部15生成的时间间隔数据和从存储器12读出的无时戳MPEG2-TS提供给时戳计算单元16。随后,CPU 13将该处理置于等待将由时戳计算单元16提供的包括时戳的MPEG2-TS的状态。当通过时戳计算单元16提供包括时戳的MPEG2-TS时,时戳附加装置11继续从步骤S15至步骤S16的处理。
在步骤S16中,CPU 13从时戳计算单元16接收包括时戳的MPEG2-TS。随后,时戳附加装置11继续步骤S16至步骤S17的处理。
在步骤S17中,CPU 13在存储器12中存储在步骤S16中从时戳计算单元16接收的TS作为包括时戳的MPEG2-TS。最终,时戳附加装置11结束由CPU 13执行的处理。
当CPU 13在步骤S12中提供无时戳MPEG2-TS时,包分析单元14在步骤S21中接收由CPU 13提供的无时戳MPEG2-TS。
随后,时戳附加装置11继续步骤S21至步骤S22的处理。在步骤S22中,包分析单元14根据作为稍后描述的流程图的图4所示的流程图来执行包分析处理,以分析不包括时戳的MPEG2-TS。在包分析处理中,不连续检测部18获取具有设定为1的不连续标识符的每个属性TS包的位置信息,而PCR检测部19获取具有设定为1的PCR_flag的每个属性TS包的位置信息和每个都具有设定为1的PCR_flag的每个属性包的PCR值。
随后,时戳附加装置11继续步骤S22至步骤S23的处理。在步骤S23中,包分析单元14向CPU 13提供分析完成通知、具有设定为1的不连续标识符的每个属性TS包的位置信息、具有设定为1的PCR_flag的每个属性TS包的位置信息以及每个都具有设定为1的PCR_flag的每个属性TS包的PCR值。最终,时戳附加装置11结束由包分析单元14执行的处理。
另外,在CPU 13执行上述处理的同时,在步骤S31中,时戳计算单元16接收在步骤S15中由CPU 13提供的无时戳MPEG2-TS和时间间隔数据。
随后,时戳附加装置11继续步骤S31至步骤S32的处理。在步骤S32中,根据预先确定的公式,时戳计算单元16通过使用在步骤S31中从CPU 13接收的时间间隔数据来为每个TS包得到具有典型4个字节长度的时戳。随后,为了生成如图2所示的包括时戳的MPEG2-TS,时戳计算单元16将为TS包计算的每个时戳附加至在步骤S31中从CPU 13接收的无时戳MPEG2-TS所包括的TS包。随后,时戳附加装置11继续步骤S32至步骤S33的处理。
在步骤S33中,时戳计算单元16通过系统总线17将在步骤S32中生成的TS作为包括时戳的MPEG2-TS提供给CPU 13。最终,时戳附加装置11结束由时戳计算单元16执行的处理。
图4示出了在图3所示流程图的步骤S22中由包分析单元14执行的包分析处理的描述中所参考的示例性流程图。
由包分析单元14对从CPU 13接收的用作处理对象的无时戳MPEG2-TS的TS包按顺序执行包分析处理,如下从位于MPEG2-TS开头的头部TS包开始。首先,在步骤S41中,包分析单元14生成关于用作处理对象的TS包的PID是否是作为表示TS包包括PCR以用作属性TS包的PID的PCR_PID的确定结果。
如果在步骤S41中由包分析单元14执行的处理中生成的确定结果表示用作处理对象的TS包的PID为PCR_PID,则包分析单元14继续步骤S41至步骤S42的处理。
在步骤S42中,包分析单元14生成关于在步骤S41执行的处理中确定为属性TS包的TS包(具有PCR_PID的TS包)是否包括适配域的确定结果。如果在步骤S42中由包分析单元14执行的处理中生成的确定结果表示具有PCR_PID的TS包包括适配域,则包分析单元14继续步骤S42至步骤S43的处理。
在步骤S43中,不连续检测部18生成关于在步骤S42中由包分析单元14执行的处理中确定为包括适配域的属性TS包的属性TS包的适配域是否包括设定为1的不连续标识符的确定结果。
如果在步骤S43中由不连续检测部18执行的处理中生成的确定结果表示在步骤S42中执行的处理中确定为包括适配域的属性TS包的属性TS包的适配域包括设定为1的不连续标识符,则包分析单元14继续步骤S43至步骤S44的处理。
在步骤S44中,不连续检测部18获取具有包括设定为1的不连续标识符的适配域的属性TS包的位置信息。例如,不连续检测部18通过对之前刚刚检测为由PCR_PID识别的TS包的属性TS包与具有包括设定为1的不连续标识符的适配域的属性TS包之间的TS包数进行计数,来获取属性TS包的位置信息。随后,作为具有包括设定为1的不连续标识符的适配域的属性TS包的位置信息,不连续检测部18使用之前刚刚检测为由PCR_PID识别的TS包的属性TS包与具有包括设定为1的不连续性识符的适配域的属性TS包之间的TS包数。
随后,包分析单元14继续步骤S44至步骤S45的处理。如果在步骤S43中由不连续检测部18执行的处理中所生成的确定结果表示在步骤S42中执行的处理中确定的作为包括适配域的属性TS包的属性TS包的适配域包括设定为除1之外的其它值,则包分析单元14从步骤S43直接跳至步骤S45来继续处理。
在步骤S45中,PCR检测部19生成关于在步骤S42中由包分析单元14执行的处理中确定作为包括适配域的TS包的属性TS包的PCR_flag是否为1的确定结果,这表示在属性TS包的适配域的可选域中描述了PCR值。如前所述,PCR_flag是用于表示在可选域中是否描述了PCR值的标记。
如果在步骤S45中由PCR检测部19执行的处理中所生成的确定结果表示包含在属性TS包中的PCR_flag(作为用于表示在属性TS包的适配域的可选域中是否描述了PCR值的标记)的值为1(这表示在可选域中描述了PCR值),则包分析单元14继续步骤S45至步骤S46的处理。在步骤S46中,PCR检测部19从包含在属性TS包中的适配域的可选域中提取PCR值。随后,包分析单元14继续步骤S46至步骤S47的处理。
在步骤S47中,PCR检测部19获取在步骤S45中由PCR检测部19执行的处理中所确定的作为具有设定为1的PCR_flag值的属性TS包的属性TS包的位置信息。例如,PCR检测部19通过对预先确定的作为具有设定为1的PCR_flag值的属性TS包的紧前属性TS包与在步骤S45中由PCR检测部19执行的处理中所确定的作为具有设定为1的PCR_flag值的属性TS包的该属性TS包之间的TS包数,来获取属性TS包的位置信息。随后,PCR检测部19使用TS包数来作为在步骤S45中由PCR检测部19执行的处理中所确定为具有设定为1的PCR_flag值的属性TS包的该TS包的典型位置信息。
随后,包分析单元14继续步骤S47至步骤S48的处理。如果在步骤S41中由包分析单元14执行的处理中所生成的确定结果表示用作处理对象的TS包的PID不是PCR_PID,则包分析单元14从步骤S41直接跳至步骤S48继续处理。同理,如果在步骤S42中由包分析单元14执行的处理中所生成的确定结果表示具有PCR_PID的TS包不包括适配域,则包分析单元14从步骤S42直接跳至步骤S48继续处理。同样,如果在步骤S45中由包分析单元14所采用的PCR检测部执行的处理中所生成的确定结果表示包含在属性TS包中的PCR_flag(作为用于表示在属性TS包的适配域的可选域中是否描述了PCR值的标记)的值不为1(这表示在可选域中没有描述PCR值),则包分析单元14从步骤S45直接跳至步骤S48继续处理。
在步骤S48中,包分析单元14生成关于均包含在从CPU 13接收的MPEG2-TS中的用作处理对象的所有TS包是否已被处理的确定结果。例如,如果由包分析单元14从位于MPEG2-TS开头的头部TS包开始顺序对TS包执行包分析处理,则包分析单元14生成关于位于MPEG2-TS末端的尾部TS包是否已作为处理对象的确定结果。
如果在步骤S48中由包分析单元14执行的处理中所生成的确定结果表示不是所有TS包均包含在MPEG2-TS中,则包分析单元14继续步骤S48至步骤S49的处理。
在步骤S49中,包分析单元14将紧接用作当前处理目标的TS包的TS包作为下一个处理对象。随后,包分析单元14从步骤S49直接返回步骤S41继续处理,并对新对象重复相同处理。
另一方面,如果在步骤S48中由包分析单元14执行的处理中所生成的确定结果表示均包含在从CPU 13接收的MPEG2-TS中的用作处理目标的所有TS包均已经作为处理对象,则包分析单元14结束处理。
参照图5的示图,下面的描述说明用于计算平均输入定时间隔和时戳值所执行的处理。
图5是示出包括多个连续TS包的典型MPEG2-TS结构的示图。
在图5的示图中,通过斜线画出的每个TS包为由包分析单元14确定为属性TS包的包,其PID为PCR_PID。如前所述,具有PCR_PID的TS包是包括嵌入PCR以用作属性TS包的包。在图5的示图所示的MPEG2-TS的情况下,8个属性TS包(即,属性TS包PCR1~PCR8)的每一个都是包括嵌入PCR的属性TS包。例如,我们假设用户编辑MPEG2-TS,以切除TS包α(在图5的示图中示为由点绘出并被属性TS包PCR4和PCR5夹置的块)与在TS包α之前最近的TS包之间的场景。因此,通过TS包α来表示场景切换。
由于如上所述在TS包α中发生了场景切换,所以在TS包α之前最近的作为包括PCR的属性TS包的属性TS包PCR4的不连续标识符被设定为1。
在图5的示图所示的典型MPEG2-TS中,在TS包α之后最近的属性TS包PCR5的PCR_flag具有0值,意味着在属性TS包PCR5中不包括PCR值。因此,在TS包α之后最近的作为具有设定为1(表示在属性TS包中包括PCR值)的PCR_flag的属性TS包的第一个属性TS包是属性TS包PCR6。由于如上所述在TS包α中发生了场景切换,所以包含在属性TS包PCR6中的PCR值相对于包含在属性TS包PCR4之前的每一个TS包中的PCR值以及相对于属性TS包PCR4自身所包括的PCR值不完全连续。注意,即使属性TS包PCR5是具有PCR_PID作为其PID的TS包,属性TS包PCR5的PCR_flag也具有0值。因此,不连续标识符被设定为1。
如图5的示图所示,时间间隔计算部15将MPEG2-TS分割成预先确定的多个处理块。对于每个处理块,时间间隔计算部15计算每两个相邻TS包之间的平均输入定时间隔。在图5的示图所示的典型MPEG2-TS中,时间间隔计算部15将MPEG2-TS分割成多个处理块U1~U5。因此,对于各个处理块U1~U5,时间间隔计算部15计算各个处理块中的每两个相邻TS包之间的平均输入定时间隔。
例如,时间间隔计算部15基本上通过使用属性TS包来对两个相邻的处理块划界。第一处理块U1包括在第一属性TS包PCR1之前的TS包,而最后的处理块U5包括在最后的属性TS包PCR8后面的TS包。
另外,具有设定为1的不连续标识符的属性TS包没有被用作两个相邻处理块之间的定界符。如图5的示图所示,处理块U3包括具有设定为0的不连续标识符的属性TS包PCR3与位于属性TS包PCR3之后位置的作为具有设定为0的不连续标识符的第一属性TS包的属性TS包PCR6之间的多个TS包。
如上所述,对于处理块U1~U5中的每一个,时间间隔计算部15计算各个处理块中的每两个相邻TS包之间的平均输入定时间隔。
例如,在包括具有不连续标识符为0的属性TS包PCR1的第一处理块U1的情况下,时间间隔计算部15基于属性TS包PCR1的PCR值、在第一处理块U1之后最近的属性TS包PCR2的PCR值以及属性TS包PCR2的位置信息来计算第一处理块U1中每两个相邻TS包之间的平均输入定时间隔。以这种方式生成的时间间隔数据包括表示在被位于MPEG2-TS开头的头部TS包和属性TS包PCR1夹置的每两个相邻TS包之间的平均输入定时间隔,以及在被属性TS包PCR1和PCR2夹置的每两个相邻TS包之间的平均输入定时间隔的均一的输入定时间隔。
另外,对于没有包括具有设定为1的不连续标识符的属性TS包的中间处理块,时间间隔计算部15基于用作处理块的前定界符的属性TS包的PCR值和在该处理块之后最近的属性TS包的位置信息来找到处理块中每两个相邻TS包之间的平均输入定时间隔。随后,时间间隔计算部15生成时间间隔数据。在第二处理块U2的情况下,时间间隔计算部15基于前定界符属性TS包PCR2和属性TS包PCR3的PCR值以及属性TS包PCR3的位置信息来得出第二处理块U2中每两个相邻TS包之间的平均输入定时间隔。属性TS包PCR3的位置信息是表示前定界符属性TS包PCR2与属性TS包PCR3之间的TS包数的TS包计数N2,其具有在属性TS包PCR2和PCR3之间的多个TS包且包括属性TS包PCR2。同理,在第四处理块U4的情况下,时间间隔计算部15基于前定界符属性TS包PCR6和属性TS包PCR7的PCR值以及属性TS包PCR7的位置信息来得出第四处理块U4中TS包的时间间隔数据。
另外,时间间隔计算部15基于位于处理块开头的前定界符属性TS包的PCR值、位于前定界符属性TS包后的位置作为在从前定界符属性TS包提取PCR值之后从中提取出PCR值的第一个属性TS包的特定属性TS包的PCR值以及特定属性TS包的位置信息,来得到处理块中TS包的时间间隔数据。在第三处理块U3的情况下,时间间隔计算部15基于前定界符属性TS包PCR3和特定TS包PCR4的PCR值以及属性TS包PCR4的位置信息来得到在第三处理块U3中TS包的时间分隔数据。特定属性TS包PCR4的位置信息是前定界符属性TS包PCR3与特定属性TS包PCR4之间的TS包数,其具有在属性TS包PCR3和PCR4之间的多个TS包且包括属性TS包PCR3。以这种方式得到的时间分隔数据包括表示在被特定属性TS包PCR4和在第三处理块U3之后最近的属性TS包PCR6夹置的每两个相邻TS包之间的平均输入定时间隔以及在被前定界符属性TS包PCR3和特定TS包PCR4夹置的每两个相邻TS包之间的平均输入定时间隔的均一的输入定时间隔。
在第五处理块U5的情况下,时间间隔计算部15基于处理块U5的前定界符属性TS包PCR7的PCR值、最后属性TS包PCR8的PCR值以及最后属性TS包PCR8的位置信息,来得到处理块U5中TS包的时间分隔数据。最终属性TS包PCR8的位置信息是表示前定界符属性TS包PCR7与最终属性TS包PCR8之间的TS包数的TS包计数N5,其具有在属性TS包PCR7与PCR8之间的多个TS包且包括属性TS包PCR7。以这种方式得到的时间间隔数据包括表示在被最终属性TS包PCR8和位于MPEG2-TS末端的尾部TS包夹置的每两个相邻TS包之间的平均输入定时间隔以及在被前定界符属性TS包PCR7和最终属性TS包PCR8夹置的每两个相邻TS包之间的平均输入定时间隔的均一的输入定时间隔。
如上所述,PCR检测部19从属性TS包中提取PCR值,并得到每个属性TS包的位置信息。随后,时间间隔计算部15生成包括基于PCR值和TS包计数所计算的平均输入定时间隔的时间间隔数据。
由参考符号PCRn表示在第n个处理块Un中的属性TS包PCRn,而参考符号Qn是对于图5的示图所示的典型MPEG2-TS表示在处理块Un(n=1~5)中在每两个相邻TS包之间的平均输入定时间隔的整数。在这种情况下,通过如下等式(1)来表示平均输入定时间隔Qn:
Qn=(PCRn+1-PCRn)/Nn (1)
在上面的等式中,参考符号Nn表示包含在时间间隔数据中的作为第n个处理块Un中每两个相邻TS包之间的平均输入定时间隔Qn的平均输入定时间隔Qn的计算中被用作属性TS包PCRn+1的位置信息的TS包计数。用参考符号Rn来表示通过用于得到第n个处理块Un中的每两个相邻TS包之间的平均输入定时间隔Qn的等式(1)的右手侧的表达式所表达的除法操作的余数。在这种情况下,通过如下等式(2)来表示余数Rn。
Rn=(PCRn+1-PCRn)mod Nn (2)
等式(2)中的符号mod是得到作为将算子mod左手边的运算数除以算子mod右手边的运算数的结果而获得的余数的运算的算子。在等式(2)的情况下,算子mod左手边的运算数为差(PCRn+1-PCRn),而算子mod右手边的运算数为TS包计数Nn。
用参考符号Vn[m]来表示在第n个处理块Un中的第m个TS包的时戳值。
首先,在第一处理块U1中的第一TS包的时戳值V1[1]被设定为任意值。注意,第一处理块U1中的平均输入定时间隔Q1为(PCR2-PCR1)/N1,而第一处理块U1的余数R1为(PCR2-PCR1)modN1。
随后,根据如下等式(3)来计算第二处理块U2中的第一TS包的时戳值V2[1]。
V2[1]=V1[1]+Q1(N0+N1)+(R1(N0+N1)+C1[1])/N1
=V1[1]+((PCR2-PCR1)×(N0+N1)+C1[1]])/N1 (3)
等式(3)中所使用的参考符号C1[1]表示第一处理块U1中的第一TS包的时戳值V1[1]的进位(carry-over)。通过下面的等式(4)表示进位C1[1]。
C1[1]=(-R1×N0)mod N1 (4)
注意,在n≥2的情况下在每个处理块Un中的第一TS包的时戳值Vn[1]的进位Cn[1](即,在处理块U2和处理块U2后的处理块中的每一个第一TS包的时戳值Vn[1]的进位Cn[1])为0。另外,第二处理块U2中的平均输入定时间隔Q2为(PCR3-PCR2)/N2,而第二处理块U2的余数R2为(PCR3-PCR2)modN2。
在n≥3的情况下每个处理块Un中的第一TS包的时戳值Vn[1]通过如下等式(5)来表示:
Vn[1]=Vn-1[1]+(PCRn-PCRn-1) (5)
对于每个处理块,为了计算处理块Un中的平均输入定时间隔Qn、处理块Un的余数Rn以及处理块Un中的第一TS包的时戳值Vn[1],时间间隔计算部15执行基于等式(1)~(5)的处理。随后,时间间隔计算部15生成时间间隔数据,包括平均输入定时间隔Qn、余数Rn以及时戳值Vn[1],并将时间间隔数据提供给时戳计算单元16。
基于由时间间隔计算部15生成的时间间隔数据,时戳计算单元16能够将恰当的时戳附加至在位于MPEG2-TS开头的头部TS包与从中提取了第一PCR值的第一属性TS包之间的每个TS包,以及在从中提取了最后的PCR值的最后的属性TS包与位于MPEG2-TS末端的尾部TS包之间的每个TS包。在图5的示图所示的典型MPEG2-TS的情况下,从中提取了第一PCR值的第一属性TS包为属性TS包PCR1,而从中提取了最后的PCR值的最后属性TS包为属性TS包PCR8。
此外,在时基改变的处理块(即,在图5的示图所示的MPEG2-TS中包括TS包α的第三处理块U3中)的情况下,以与得到平均输入定时间隔类似的方式来求得平均输入定时间隔。即,在第三处理块U3中,均一的平均输入定时间隔被用作在被属性TS包PCR4和PCR6夹置的每两个相邻TS包之间的平均输入定时间隔,以及在被属性TS包PCR3和PCR4夹置的每两个相邻TS包之间的平均输入定时间隔。因此,能够将正确的时戳附加至包含在第三处理块U3中的每个TS包。换句话说,即使属性TS包PCR6的PCR值显著大于(或即使显著小于)属性TS包PCR4的PCR值,也不通过使用属性TS包PCR3和PCR6的PCR值来计算第三处理块U3中的每两个相邻TS包之间的平均输入定时间隔,而是通过使用属性TS包PCR3和PCR4的PCR值来计算。因此,被适当的均一平均输入定时间隔彼此分开的每个时戳能够附加至包含在第三处理块U3中的一个TS包。另外,在第三处理块U3的情况下,在平均输入定时间隔的计算中使用属性TS包PCR4的位置信息(即,包括设定为1的不连续标识符的属性TS包的位置信息,表示不适当的PCR值不连续性)。如上所述,属性TS包PCR4的位置信息是位于属性TS包PCR3和PCR4之间的TS包数。
如上所述,时间间隔计算部15将作为包括预定时戳值的数据而产生的时间间隔数据提供给时戳计算单元16,而时戳计算单元16使用时间间隔数据来导出包含在每个处理块中的用于每个TS包的时戳值,并将时戳值附加至已经导出时戳的TS包。
对于(Cn[m-1]+Rn)≥Nn,通过等式(6)来表示包含在处理块Un中的第m个TS包的时戳值Vn[m]。另一方面,对于(Cn[m-1]+Rn)<Nn,通过等式(7)来表示包含在处理块Un中的第m个TS包的时戳值Vn[m]。
Vn[m]=Vn[m-1]+Qn+1 (6)
Vn[m]=Vn[m-1]+Qn (7)
对于(Cn[m-1]+Rn)≥Nn,通过等式(8)来表示包含在处理块Un中的第m个TS包的时戳值Vn[m]的进位Cn[m]。另一方面,对于(Cn[m-1]+Rn)<Nn,通过等式(9)来表示包含在处理模块Un中的第m个TS包的时戳值Vn[m]的进位Cn[m]。
Cn[m]=Cn[m-1]+Rn-Nn (8)
Cn[m]=Cn[m-1]+Rn (9)
但是,等式(6)~(9)的每一个对于m>2均有效。
时戳计算单元16使用从时间间隔计算部15接收的时间间隔数据作为包括平均输入定时间隔Qn、余数Rn和预定时戳值Vn[1]的数据,从而通过基于等式(6)~(9)执行计算处理来计算时戳值Vn[m]。随后,时戳计算单元16将每个计算的时戳值Vn[m]附加至每个均包含在在处理块Un中的一个第m个TS包。
如果不考虑进位Cn[m]而仅通过将平均输入定时间隔Qn与先前的时戳值Vn[m]简单地相加来计算时戳值,则余数被累积,使得在计算的时戳值与PCR值之间存在很大的差值。另一方面,通过考虑到进位Cn[m],能够将计算的时戳值与PCR值之间的差值最小化。
具体而言,当进位Cn[m]大于TS包计数Nn时,根据等式(6),对于进位Cn[m]大于TS包计数Nn的情况,通过将时戳值Vn[n]加1来获取时戳值Vn[m]。另外,在进位Cn[m]大于TS包计数Nn的情况下,根据等式(8),通过从进位Cn[m]中减去TS包计数Nn,就能够防止时戳值与PCR值之间的差值大于1,使得具有对TS包适当的值的时戳可被分配至TS包。
另外,如等式(6)~(9)所示,时戳计算单元16的处理是仅将进位与用于计算平均输入定时间隔的TS包计数进行比较、将平均输入定时间隔与紧前的时戳值相加以及计算新的进位所执行的处理。因此,如果硬件被用于实现时戳计算单元16,则例如与用于要求执行诸如除法的操作的处理的电路相比,硬件电路承担了很小一部分计算。因此,通过特别少量的硬件就能实现时戳计算单元16,并且可将时戳高速附加至它们各自的TS包。
即,如果通过硬件实现时戳计算单元16并且CPU 13执行软件程序来计算包括诸如平均输入定时间隔、其余数和预定时戳值的量的时间间隔数据作为时间间隔计算部15的功能,则时戳计算单元16可用于仅将进位与用于计算平均输入定时间隔的TS包计数进行比较、将平均输入定时间隔与紧前的时戳值相加以及计算新的进位。以这种方式,通过在时戳计算单元16的硬件以及由CPU 13执行用于执行时间分隔计算部15的功能的软件中分配功能,能够高效执行时间间隔计算部15和时戳计算单元16的功能。
另外,通过使用硬件实现时戳计算单元16,可以防止显著增加CPU 13所承担的负荷。因此,即使在诸如硬盘记录器的装置中嵌入CPU作为具有低处理性能的CPU的情况下,仍能够防止CPU完全被装置的处理所占用。因此,与采用具有高处理性能的CPU来解决由于将适当的时戳附加至每个TS包的处理而增加的负荷所引起的问题的结构相比,能够降低诸如硬盘记录器的装置的成本。
因此,通过执行将时戳附加至例如TV广播内容的各个TS包的处理,能够在记录装置等中记录内容作为MPEG2-TS。随后,当稍后将内容输出至家庭网络时,利用基于附加至TS包的时戳的输入定时,将内容的TS包提供给解码器。因此,表示内容的MPEG2-TS能够被正常再生,而不会干扰(破坏)内容的视频。即,即使用户编辑由MPEG2-TS表示的内容,导致包含在MPEG2-TS中的PCR值的不适当的不连续性,在编辑处理之后,也能够将正确的时戳附加至MPEG2-TS的各个TS包,用作使表示内容的MPEG2-TS被正常再生的时戳。
在如上所述实现时戳附加装置11的实施例中,CPU 13从存储器12中读出不包括时戳的MPEG2-TS,并将MPEG2-TS传递至时戳计算单元16。然而,需要注意,CPU 13还可以为时戳计算单元16提供在存储器12中存储MPEG2-TS的地址,随后,时戳计算单元16从存储器12中读出MPEG2-TS。另外,在这种情况下,时戳计算单元16通过执行已知DMA(直接存储器存取)处理的操作而将包括时戳的MPEG2-TS传输至存储器12。通过执行DMA处理,可以缩短执行从存储器12中读出不包括时戳的MPEG2-TS并将包括时戳的MPEG2-TS存回存储器12的整个处理所需的时间。
注意,包分析单元14不必非要向CPU 13提供在从中提取PCR值的最后的属性TS包与位于MPEG2-TS末端的尾部TS包之间的TS包数。在图5的示图所示的典型MPEG2-TS的情况下,最后的属性TS包和位于MPEG2-TS末端的尾部TS包之间的TS包数为TS包计数N6。因此,包分析单元14不必非要向CPU 13提供TS包计数N6。这是因为CPU 13具有MPEG2-TS的长度信息,因此能够从流长度中找到TS包计数N6。
另外,包分析单元14可以采用不连续检测部18作为硬件功能块,并可以采用PCR检测部19作为与实现不连续检测部18的硬件功能块物理分开的硬件功能块。作为选择,包分析单元14采用不连续检测部18和PCR检测部19作为单个集成硬件功能块。在这种情况下,PCR检测部19也能够生成关于TS包的PID是否为PCR_PID的确定结果以及TS包是否包括适配域的确定结果。即,构成单个集成硬件功能块,以使不连续检测部18和PCR检测部19共享生成关于TS包的PID是否为PCR_PID的确定结果以及TS包是否包括适配域的确定结果的功能。
通过如上所述使不连续检测部18和PCR检测部19共享生成关于TS包的PID是否为PCR_PID的确定结果以及TS包是否包括适配域的确定结果的功能,与分开的功能块分别实现生成TS包的PID是否为PCR_PID的确定结果的功能以及生成TS包是否包括适配域的确定结果的功能的结构相比,可将处理负荷减小至很小的数量级。当然,也可以提供一种结构,其中,为不连续检测部18和PCR检测部19分别提供生成TS包的PID是否为PCR_PID的确定结果的功能以及生成TS包是否包括适配域的确定结果的功能。
如上所述,从中得到PCR值的特定属性TS包的位置信息是在特定属性TS包之前最近的另一个属性TS包与特定属性TS包之间的TS包数。然而,从中得到PCR值的属性TS包的位置信息也可以是通过从MPEG2-TS的开头进行计数到属性TS包而得到的字节数。作为选择,从中得到PCR值的属性TS包的位置信息通过从MPEG2-TS的开头计数到属性TS包而得到的TS包数来表示。同理,包括设定为1的不连续标识符的属性TS包的位置信息也可以是通过从MPEG2-TS的开头计数到属性TS包而得到的字节数。作为选择,包括设定为1的不连续标识符的属性TS包的位置信息通过从MPEG2-TS的开头计数到属性TS包而得到的TS包数来表示。总之,从中得到PCR值的属性TS包的位置信息必须通过对不连续检测部18和PCR检测部19来说相同的量来表示。
需要注意,在上述实施例中,CPU 13执行软件程序来执行时间间隔计算部15的功能,而分开的硬件部则分别执行包分析单元14和时戳计算单元16的功能。但是,也可通过在CPU 13中执行软件程序来执行包分析单元14和时戳计算单元16的功能。
可通过执行硬件和/或软件程序来执行先前描述的处理的每个序列。如果通过执行软件程序来执行上述处理序列,则构成软件的程序可以通过图中未示出的网络从外部程序供应商或者从可移动记录介质安装在嵌入专用硬件的计算机、通用个人计算机等中。通用个人计算机是能够通过将各种程序安装在个人计算机中来执行各种功能的个人计算机。
图6是示出用于为了执行先前描述的每个处理序列而执行程序的计算机的典型硬件结构的框图。
如图6的框图所示,在计算机中,CPU(中央处理器)101、ROM(只读存储器)102和RAM(随机访问存储器)103通过总线104彼此连接。
总线104还连接至输入/输出接口105。输入/输出接口105连接至输入单元106、输出单元107、存储单元108和通信单元109。输入单元106包括键盘、鼠标和麦克风,而输出单元107包括显示单元和扬声器。存储单元108包括硬盘或非易失性存储器。通信单元109为网络接口。输入/输出接口105还连接至驱动器110,其上安装有可移动记录介质111。可移动记录介质111可以为磁盘、光盘、磁光盘或半导体存储器。
在具有图6的框图所示的典型硬件结构的计算机中,CPU 101通过执行通过输入/输出接口105和总线104从存储单元108加载至RAM 103中的程序来执行先前描述的每个处理序列。
上述作为将由计算机执行的程序的、安装在计算机中用于记录程序的可移动记录介质111是与具有图6的框图所示的典型硬件结构的计算机的主单元分离而提供给用户的封装介质。可移动记录介质111的实例包括诸如软盘的磁盘、诸如CD-ROM(压缩光盘-只读存储器)或DVD(数字通用盘)的光盘、诸如MD(迷你盘)的磁光盘以及半导体存储器。替代从可移动记录介质111将程序安装在存储单元108中,程序也可以被预先存储在计算机主单元所包括的嵌入记录介质中。有线通信装置包括诸如LAN(局域网)和/或互联网的网络,而无线通信装置使用数字卫星广播。
当在驱动器110上安装可移动记录介质111时,可通过输入/输出接口105将记录在可移动记录介质111上的程序安装在存储单元108中。如上所述,代替将程序从可移动记录介质111安装在存储单元108中,程序也可由外部程序供应商安装在存储单元108中。在这种情况下,程序通过有线或无线通信装置及通信单元109从外部程序供应商下载到存储单元108中。此外,如上所述,代替将程序从可移动记录介质111或外部程序供应商安装到存储单元108中,程序也可以预先存储在计算机主单元所包括的嵌入记录介质中。嵌入记录介质的实例为包含在存储单元108和ROM 102中的硬盘。
注意,在本说明书中,不仅可以以流程图预先规定的顺序作为沿时间轴的顺序来执行上述流程图的每个步骤,而且能够并行处理或在面向对象的处理中分别执行。另外,不仅可通过一个CPU执行每个程序,而且能够通过所谓分散处理中的多个CPU来执行。
注意,本发明实施例的实现不限于上述实施例。即,只要改变在不偏离本实施例宗旨的范围内,就能够以多种方式来修改实施例。
Claims (10)
1.一种时戳附加装置,被配置为将时戳附加至包括在MPEG2-TS(运动图像专家组2传输流)中的多个TS(传输流)包的每一个,以用作表示将各个TS包提供给用于对所述MPEG2-TS进行解码的解码器的输入定时的时戳,所述时戳附加装置包括:
不连续检测部,被配置为在TS包的适配域中所包括的不连续标识符表示采用预先确定的系统时钟频率作为基准的PCR(节目时钟基准)不完全连续的情况下,获取包括所述不连续标识符的所述TS包的位置信息;
PCR检测部,被配置为在TS包包括适配域并且所述TS包的所述适配域包括PCR的情况下,提取嵌入在所述TS包的所述适配域中的所述PCR的值,并获取包括所嵌入PCR的所述TS包的位置信息;
时间间隔计算部,被配置为通过使用由所述不连续检测部获取的作为包括被描述为表示所述PCR不完全连续的不连续标识符的不连续标识符的特定TS包的位置信息的信息、使用由所述PCR检测部提取的作为PCR值的值以及使用由所述PCR检测部获取的作为包括所嵌入PCR的特殊TS包的所述位置信息的信息,来计算每两个相邻TS包的所述输入定时之间的平均输入定时间隔;以及
时戳计算部,被配置为基于每两个相邻TS包的所述输入定时之间的平均输入定时间隔计算所述TS包的每一个的所述输入定时,并将所述时戳附加至所述TS包的每一个,以用作表示所述TS包的所述输入定时的时戳。
2.根据权利要求1所述的时戳附加装置,其中,通过时间间隔计算部,
每两个相邻的均被特殊TS包和在所述特殊TS包之后最近的特定TS包夹置的TS包之间的平均输入定时间隔基于所述特定TS包的位置信息来计算,并被所述时间间隔计算部用作每两个相邻的被所述特殊TS包和在所述特定TS包之后最近的另一特殊TS包夹置的TS包之间的平均输入定时间隔,所述特定TS包被插入其中,
所述特定TS包是包括表示所述PCR不完全连续的不连续标识符的TS包,
所述特殊TS包和所述另一特殊TS包的每一个均为包括所述PCR的TS包。
3.根据权利要求1所述的时戳附加装置,其中,通过所述时间间隔计算部,
基于从两个特殊TS包中提取的PCR值来计算每两个相邻的包括所嵌入PCR的TS包之间的平均输入定时间隔;
基于从第一个特殊TS包提取的PCR值和从在所述第一个特殊TS包之后最近的另一特殊TS包提取的PCR值,来计算被夹置在位于所述MPEG2-TS开头的头部TS包和所述MPEG2-TS的所述第一个特殊TS包之间的每两个相邻TS包之间的平均输入定时间隔;以及
基于从最后一个特殊TS包提取的PCR值和从在所述最后一个特殊TS包之前最近的又一特殊TS包提取的PCR值,来计算被夹置在所述MPEG2-TS的最后一个特殊TS包和位于所述MPEG2-TS末端的尾部TS包之间的每两个相邻TS包之间的平均输入定时间隔;
所述第一个特殊TS包、所述另一特殊TS包、所述最后一个特殊TS包以及所述又一特殊TS包的每一个均为包括所述PCR的TS包。
4.根据权利要求1所述的时戳附加装置,其中,所述TS包的每一个均具有用于识别所述TS包的PID(包标识符),并且所述PCR检测部执行以下步骤:
分析PAT(节目关联表),以对所述PAT进行查找来得到其他TS包的PID,其中,所述PAT是包括其他TS包的PID的PAT,而该其他TS包包括作为所述TS包的PID列表的PMT(节目映射表);
分析包括在由所述其他TS包的所述PID识别出的所述其他TS包中的所述PMT,以对所述PMT进行查找来得到包括所嵌入PCR的属性TS包的PID;
生成关于由包括所嵌入PCR的所述属性TS包的所述PID识别出的TS包是否包括适配域的确定结果;以及
分析被确定为由所述确定结果表示的包括所述适配域的属性TS包的TS包,以从所述适配域中提取所嵌入PCR的值,并获取包括所嵌入PCR的所述属性TS包的位置信息。
5.根据权利要求4所述的时戳附加装置,其中,所述不连续检测部分析被确定为包括由所述PCR检测部生成的所述确定结果所表示的适配域的属性TS包的TS包,以获取包括示出所述PCR不完全连续的所述不连续标识符的所述属性TS包的位置信息。
6.根据权利要求1所述的时戳附加装置,其中:
所述PCR检测部获取第一个特殊TS包的位置信息、最后一个特殊TS包的位置信息或在所述第一个特殊TS包和所述最后一个特殊TS包之间的任意中间特殊TS包的位置信息;
所述第一个特殊TS包的所述位置信息是位于开头的头部TS包与所述第一个特殊TS包之间的TS包数;
所述中间特殊TS包的所述位置信息是在所述中间特殊TS包之前最近的特殊TS包与所述中间特殊TS包之间的TS包数;
所述最后一个特殊TS包的所述位置信息是所述最后一个特殊TS包与位于末端的尾部TS包之间的TS包数;
所述第一个特殊TS包、所述中间特殊TS包以及所述最后一个特殊TS包的每一个均为包括所述PCR的TS包;并且
由所述不连续检测部获取的作为特定TS包的位置信息的信息是在所述特定TS包之前最近的特殊TS包与所述特定TS包之间的TS包数;
所述特定TS包是包括表示所述PCR不完全连续的不连续标识符的TS包,另一方面,所述特殊TS包是包括所述PCR的TS包。
7.根据权利要求1所述的时戳附加装置,其中:
由所述PCR检测部获取的作为包括所述PCR的特殊TS包的所述位置信息的信息是所述MPEG2-TS的开头与包括所嵌入PCR的所述特殊TS包之间的字节数,或者是所述MPEG2-TS的开头与所述特殊TS包之间的TS包数;以及
由所述不连续检测部获取的作为包括表示所述PCR不完全连续的不连续标识符的特定TS包的所述位置信息的信息是所述MPEG2-TS的开头与所述特定TS包之间的字节数或所述MPEG2-TS的开头与所述特定TS包之间的TS包数。
8.一种时戳附加方法,用于将时戳附加至多个TS包的每一个,以用作表示将各个TS包提供给用于对MPEG2-TS进行解码的解码器的输入定时的时戳,所述时戳附加方法包括以下步骤:
在包括在TS包的适配域中描述的不连续标识符的所述TS包表示采用预先确定的系统时钟频率作为基准的多个PCR(节目时钟基准)不完全连续的情况下,获取所述TS包的位置信息;
在TS包包括所述适配域并且所述TS包的所述适配域包括嵌入PCR的情况下,提取所述TS包的PCR的值,并获取包括所述嵌入PCR的所述TS包的位置信息;
通过使用包括表示所述PCR不完全连续的不连续标识符的特定TS包的位置信息、使用PCR的值以及使用包括所述嵌入PCR的特殊TS包的所述位置信息,来计算每两个相邻TS包的所述输入定时之间的平均输入定时间隔;以及
基于以每两个相邻TS包的所述时间间隔计算出的所述平均输入定时间隔来计算所述TS包的每一个的所述输入定时,并将所述时戳附加至所述TS包的每一个,以用作表示所述TS包的所述输入定时的时戳。
9.一种时戳附加程序,由计算机执行,用于执行将时戳附加至多个TS包的每一个的处理,以用作表示将各个TS包提供给用于对MPEG2-TS进行解码的解码器的输入定时的时戳,其中,所述处理包括以下步骤:
在包括在TS包的适配域中描述的不连续标识符的所述TS包表示采用预先确定的系统时钟频率作为基准的多个PCR(节目时钟基准)不完全连续的情况下,获取所述TS包的位置信息;
在TS包包括所述适配域并且所述TS包的所述适配域包括嵌入PCR的情况下,提取所述TS包的PCR的值,并获取包括所述嵌入PCR的所述TS包的位置信息;
通过使用包括表示所述PCR不完全连续的不连续标识符的特定TS包的位置信息、使用PCR的值以及使用包括所述嵌入PCR的特殊TS包的所述位置信息,来计算每两个相邻TS包的所述输入定时之间的平均输入定时间隔;以及
基于以每两个相邻TS包的所述时间间隔计算出的所述平均输入定时间隔来计算所述TS包的每一个的所述输入定时,并将所述时戳附加至所述TS包的每一个,以用作表示所述TS包的所述输入定时的时戳。
10.一种时戳附加装置,被配置为将时戳附加至包括在MPEG2-TS(运动图像专家组2传输流)中的多个TS(传输流)包的每一个,以用作表示将各个TS包提供给用于对所述MPEG2-TS进行解码的解码器的输入定时的时戳,所述时戳附加装置包括:
不连续检测装置,用于在TS包的适配域所包括的不连续标识符表示采用预先确定的系统时钟频率作为基准的PCR(节目时钟基准)不完全连续的情况下,获取包括所述不连续标识符的所述TS包的位置信息;
PCR检测装置,用于在TS包包括适配域并且所述TS包的所述适配域包括PCR的情况下,提取嵌入在所述TS包的所述适配域中的所述PCR的值,并获取包括所嵌入PCR的所述TS包的位置信息;
时间间隔计算装置,用于通过使用由所述不连续检测装置获取的作为包括被描述为表示所述PCR不完全连续的不连续标识符的不连续标识符的特定TS包的位置信息的信息,使用由所述PCR检测装置提取的作为PCR值的值以及使用由所述PCR检测装置获取的作为包括所嵌入PCR的特殊TS包的所述位置信息的信息,来计算每两个相邻TS包的所述输入定时之间的平均输入定时间隔;以及
时戳计算装置,用于基于每两个相邻TS包的所述输入定时之间的平均输入定时间隔计算所述TS包的每一个的所述输入定时,并将所述时戳附加至所述TS包的每一个,以用作表示所述TS包的所述输入定时的时戳。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-028541 | 2008-02-08 | ||
JP2008028541 | 2008-02-08 | ||
JP2008028541A JP4475336B2 (ja) | 2008-02-08 | 2008-02-08 | タイムスタンプ付加装置およびタイムスタンプ付加方法、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101505417A true CN101505417A (zh) | 2009-08-12 |
CN101505417B CN101505417B (zh) | 2011-08-03 |
Family
ID=40671271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100062401A Expired - Fee Related CN101505417B (zh) | 2008-02-08 | 2009-02-06 | 时戳附加装置、时戳附加方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090201998A1 (zh) |
EP (1) | EP2088781A1 (zh) |
JP (1) | JP4475336B2 (zh) |
CN (1) | CN101505417B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387486A (zh) * | 2010-09-06 | 2012-03-21 | 中国移动通信集团河北有限公司 | Gprs分割话单的计费方法及装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9237294B2 (en) * | 2010-03-05 | 2016-01-12 | Sony Corporation | Apparatus and method for replacing a broadcasted advertisement based on both heuristic information and attempts in altering the playback of the advertisement |
KR20130098184A (ko) * | 2010-08-17 | 2013-09-04 | 엘지전자 주식회사 | 디지털 수신기 및 디지털 수신기에서의 컨텐트 처리 방법 |
CN103168473B (zh) * | 2010-10-16 | 2016-09-28 | Lg电子株式会社 | 数字接收机以及用于处理数字接收机中的3d 内容的方法 |
US9832528B2 (en) | 2010-10-21 | 2017-11-28 | Sony Corporation | System and method for merging network-based content with broadcasted programming content |
WO2014028071A1 (en) | 2012-08-17 | 2014-02-20 | Flextronics Ap, Llc | Methods and displays for providing intelligent television badges |
US20160119675A1 (en) * | 2012-09-06 | 2016-04-28 | Flextronics Ap, Llc | Programming user behavior reporting |
US11368760B2 (en) | 2012-08-17 | 2022-06-21 | Flextronics Ap, Llc | Applications generating statistics for user behavior |
JP6320012B2 (ja) * | 2013-12-04 | 2018-05-09 | 株式会社日立情報通信エンジニアリング | 通信装置、通信プログラム、通信方法 |
US11284229B2 (en) * | 2017-02-17 | 2022-03-22 | Nippon Telegraph And Telephone Corporation | Sensing system and time stamp correction method |
JP2020145682A (ja) * | 2020-04-15 | 2020-09-10 | 松野 桂子 | 信号処理装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3400681B2 (ja) | 1997-07-16 | 2003-04-28 | 株式会社日立製作所 | データパケット再多重方法及び再多重装置 |
JP2001285233A (ja) | 2000-03-30 | 2001-10-12 | Matsushita Electric Ind Co Ltd | トランスポートストリーム発生装置 |
GB0007868D0 (en) * | 2000-03-31 | 2000-05-17 | Koninkl Philips Electronics Nv | Methods and apparatus for editing digital video recordings and recordings made by such methods |
US20030066094A1 (en) * | 2001-09-29 | 2003-04-03 | Koninklijke Philips Electronics N.V. | Robust method for recovering a program time base in MPEG-2 transport streams and achieving audio/video sychronization |
KR101151303B1 (ko) * | 2004-12-29 | 2012-06-08 | 엘지전자 주식회사 | 데이터 패킷의 도착시각을 결정하는 방법 및 장치 |
JP4129694B2 (ja) | 2006-07-19 | 2008-08-06 | ソニー株式会社 | 情報処理装置および方法、プログラム、並びに記録媒体 |
JP2008283472A (ja) * | 2007-05-10 | 2008-11-20 | Toshiba Corp | ストリーム再生装置 |
-
2008
- 2008-02-08 JP JP2008028541A patent/JP4475336B2/ja active Active
-
2009
- 2009-01-12 US US12/352,416 patent/US20090201998A1/en not_active Abandoned
- 2009-02-03 EP EP09001447A patent/EP2088781A1/en not_active Withdrawn
- 2009-02-06 CN CN2009100062401A patent/CN101505417B/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387486A (zh) * | 2010-09-06 | 2012-03-21 | 中国移动通信集团河北有限公司 | Gprs分割话单的计费方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101505417B (zh) | 2011-08-03 |
EP2088781A1 (en) | 2009-08-12 |
US20090201998A1 (en) | 2009-08-13 |
JP2009188863A (ja) | 2009-08-20 |
JP4475336B2 (ja) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101505417B (zh) | 时戳附加装置、时戳附加方法 | |
US9451293B2 (en) | Apparatus and method for decoding a segment of an audiovisual stream | |
CA2420019C (en) | System and method of processing mpeg streams for file index insertion | |
US7750935B2 (en) | Apparatus for setting a data stream band width and associated methodology | |
US7738767B2 (en) | Method, apparatus and program for recording and playing back content data, method, apparatus and program for playing back content data, and method, apparatus and program for recording content data | |
CN101164335B (zh) | 流数据记录装置、流数据编辑装置、流数据再现装置、流数据记录方法、以及流数据再现方法 | |
JP4490811B2 (ja) | 暗号化mpegトランスポートストリームからmpegプログラムストリームを作成する方法 | |
US20070211718A1 (en) | Method of and apparatus for converting data stream format and method of and apparatus for recording data stream using the method and apparatus | |
US20050060420A1 (en) | System for decoding multimedia data and method thereof | |
US7382964B2 (en) | Digital video recorder and methods for digital recording | |
CN103491430A (zh) | 流媒体数据处理方法和电子设备 | |
CN100563349C (zh) | 再现设备和方法 | |
CA2182151C (en) | Recording multiplexed plural data encoded by plural methods and decoding same according to particular decoding method | |
US20070147429A1 (en) | Stream file format for digital video recording | |
WO2018190122A1 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
CN103875252A (zh) | 内容显示方法、内容同步方法、广播内容显示方法及显示装置 | |
CN102231803B (zh) | 一种支持ts流媒体文件的容错方法 | |
JPWO2006075457A1 (ja) | 記録装置 | |
US20090100083A1 (en) | Method and apparatus for encoding media content and metadata thereof | |
CN100477769C (zh) | 再生装置、再生方法 | |
CN101150723A (zh) | 快速格式转换方法与系统 | |
US20110293243A1 (en) | Multimedia playing apparatus and multimedia data converter and converting method thereof | |
US20110007751A1 (en) | Transport stream recording and transmission method and device thereof | |
CN101350212B (zh) | 处理装置及处理方法 | |
JP2000041011A (ja) | 情報出力装置および方法、並びに提供媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110803 Termination date: 20130206 |