输送流到节目流的变换的制作方法

文档序号:7750174阅读:177来源:国知局
专利名称:输送流到节目流的变换的制作方法
技术领域
本发明总的涉及数字数据通信,具体地,涉及MPEG输送流到节目流的变换。
背景描述当前,MPEG-2委员会规定了用于传递音频/图象节目的两种不同的机制,输送流和节目流。输送流打算用于广播应用,它包含各种传输错误恢复机制,并伴有多频道节目导引和其他适于广播的数据。另一方面,节目流打算用于非同步传递系统,诸如DVD和其他基于文件的系统。大多数非广播的应用,例如,大多数基于计算机的MPEG-2硬件,只接受节目流作为输入以用于解码和呈示音频/视频内容。如果利用这样的解决方案的系统具有输送流格式的音频/图象输入,则必须把输送流语法和语义变换成适当的节目流语法和语义。在通常的情形下,这不一定可能,因为在输送流与节目流技术规范之间有相互矛盾的限制条件。因此,一种从输送流语法和语义到等价的节目流语法的代码转换或变换的方法是想要的和特别有利的。而且,一种为代码转换而执行某些有用的变换(诸如时间不连续性)的方法也是想要的和特别有利的。
发明概要上述的问题以及现有技术的其他有关的问题,通过本发明的MPEG-2输送流到节目流变换而被解决。
本发明对进入的输送流分组进行滤波,从输送流收集用于所请求的节目的所有相关的分组,以及变换到有效的节目流。有利地,本发明包括专门机制,用来处理已被预滤波以去除分组的输送流,以便处理时间不连续性和以便保持在同步传递的输送流与解码器之间的同步。
按照本发明的一个方面,提供了在从输送流到节目流的变换期间用于保持在输送流与节目流解码器之间的同步的方法。根据输送流来计算系统参考时钟(SCR)。为节目流计算复用器速率。节目流是通过使用复用器速率去复用与输送流相对应的分组化基本流(PES)的分和输入/输出(I/O)接口的计算机平台上实施。计算机平台还包括操作系统和微指令代码。这里描述的各种处理和功能可以是微指令代码的一部分或通过操作系统执行的专用程序的一部分(或它们的组合)。另外,各种其他外围设备可被连接到计算机平台,诸如附加数据存储设备。
还应当指出,因为附图上描绘的某些组成系统的部件可以以软件实施,所以在系统部件之间的实际的连接可以随本发明编程的方式而不同。在这里给出教导后,本领域技术人员将能够预期本发明的这些和类似的实施方案或结构。
现在提供本发明的一般说明,向读者介绍本发明的概念和原理。随后,将参照

图1到9提供本发明的各个方面的更详细的说明。
本发明从输送流提取节目,以及把它变换成正确的节目流。
本发明对进入的输送流分组滤波,收集所请求的节目的相关的分组,以及把分组重新打包成节目流。这个方法的独特之处至少在于一种处理输送流的专门机制,该输送流已被预滤波以便去除分组;一种处理时间不连续性的方法;以及一种在同步地传递的输送流与解码器之间保持同步的方法。
图1A是显示按照本发明的说明性实施例的、用于把MPEG2输送流变换成MPEG2节目流的系统100的方框图。系统100包括广播调谐器或同步传递系统102;输送流到节目流代码转换器104;和实时节目流音频-图象呈示硬件或软件106。广播调谐器或同步传递系统102接收要变换的输送流。然后,由输送流到节目流代码转换器104把输送流变换成节目流。该节目流然后由实时节目流音频-图象呈现硬件或软件106实时呈现。
图1B是显示按照本发明的说明性实施例的、用于把MPEG2输送流变换成MPEG2节目流的步骤/单元的高级别方框图。
方块110相应于输送流去分组化。方块120相应于分组化基本流(PES)的分组滤波。方块130相应于节目流组装。
图1C是显示按照本发明的说明性实施例的、由图1A的代码转换器120执行的输送流到节目流的变换方法的流程图。应当看到,图1C的方法扩展图1B所示的单元/步骤。
输送流被分析器分析以得到PES分组(步骤1105)。确定当前的组而形成的。
通过结合附图阅读以下的优选实施例的详细说明,将明白本发明的这些和其他方面,特性和优点。
附图简述图1A是显示按照本发明的说明性实施例的、用于把MPEG2输送流变换成MPEG2节目流的系统100的方框图;图1B是显示按照本发明的说明性实施例的、用于把MPEG2输送流变换成MPEG2节目流的步骤/单元的高级别方框图;图1C是显示按照本发明的说明性实施例的、由图1A的代码转换器120执行的输送流到节目流的变换方法的流程图;图2是按照本发明的说明性实施例的、由图1的方块110(输送流去分组化)执行的方法的流程图;图3是按照本发明的说明性实施例的、由图1的方块120(PES分组滤波)执行的方法的流程图;图4是按照本发明的说明性实施例的、由图1的方块130(节目流组装)执行的方法的流程图;图5是显示按照本发明的说明性实施例的、用于保持在进入的同步传递的输送流与解码器之间的同步的方法的流程图;图6是显示按照本发明的说明性实施例的、用于在从MPEG2输送流到节目流的变换中管理时间不连续性的方法的流程图;图7是显示按照本发明的说明性实施例的、用于确定SCR和复用器速率数值的同步的方法的流程图;图8是显示按照本发明的另一个说明性实施例的、用于确定SCR和复用器速率数值的同步的方法的流程图;以及图9是显示按照本发明的另一个说明性实施例的、用于把MPEG2输送流变换成MPEG2节目流的步骤/单元的高级别方框图。
优选实施例详细描述应当看到,本发明可以以各种形式的硬件、软件、固件、专用处理器、或它们的组合来实现。优选地,本发明以硬件和软件的组合来实施,软件是在程序存储装置上有形地体现的应用程序。应用程序可以由包括任何适当结构的机器进行上载和执行。优选地,机器在具有硬件,诸如一个或多个中央处理机(CPU)、随机存取存储器(RAM)、PES分组是否为输送流的最后的分组(步骤1110)。如果是的话,则方法进到步骤1155。否则,PES分组按相关的分组识别号(PID)被收集到分开的PES缓存器(步骤1115)。确定PES是否完整(步骤1120)。如果不是的话,则方法返回到步骤1105。否则,把完整的PES分组移到包(pack)缓存器(步骤1125)。
确定包缓存器是否完整(步骤1130)。如果不是的话,则方法返回到步骤1105。否则,确定该完整的包是否来自输送流的第一个完整的包(pack)(步骤1135)。如果是的话,则输出节目流的开始标题(步骤1140)。否则,输出该完整的包的包标题(步骤1145)。输出该包缓存器的内容(步骤1150),以及方法返回到步骤1105。
在步骤1155,在PES缓存器中任何剩余的字节被移到包缓存器。节目流系统标题被加到包缓存器(步骤1160)。然后输出节目流(步骤1165)。
图2是按照本发明的说明性实施例的、由图1B的方块110(输送流去分组化)执行的方法的流程图。应当看到,虽然图2的方法为了简明起见是对于单个输送分组描述的,但方法可以对于输送流的所有的输送分组重复进行。
在步骤210,从输送流提取输送分组。在步骤220,从输送分组提取任何扩展的时间印记。扩展的时间印记允许正确计算字节应到达解码器的相对时间,特别是如果被传递到代码转换器的输送流分组没有包括输送流中的所有的分组的话(即,由MPEG2输送流分接器从原先的数据流中提取单个节目)。时间印记应当用独特的识别号加前缀,以便认出它是扩展的时间印记,而不会与标准输送分组混淆。
应当看到,扩展的时间印记包括相应于输送分组的预定的字节(例如,第一字节)的实际传递时间的实时时钟的数值。通常,PCR数值在完整的输送流中是足够的。然而,可以合理地预期,在把数据流提交给代码转换器之前,部分数据流会被去除。如果发生这种情形,则在PCR样本之间出现分组的时间在传送时会丢失,使得SCR和复用速率的计算不正确。如果在这些计算中的错误足够大,则它们可能违反基本的MPEG-2中在SCR与DTS/PTS(解码时间印记/呈现时间印记)值之间的约束条件。在这种情形下,解码器可能造成音频和/或视频呈现的不连续性。正如已知的,PCR相应于输送流,以及SCR相应于节目流。
在步骤230,从输送分组的分组标题中提取相关的信息。这样的相关信息可包括(但不限于)以下内容PCR基本和扩展区;分组的PID值;单元开始标志;不连续点标志;分组的有用负载(MPEG2节目数据);有用负载中的有用字节的数目;以及扩展的时间印记时钟值。也就是,相关信息可包括相应于节目的任何信息,这是本领域技术人员容易确定的。在步骤240,从上一个节目时钟基准(PDR)所找到的字节数计数值被保持。
图3是按照本发明的说明性实施例的、由图1的方块120(PES分组滤波)执行的方法的流程图。应当看到,虽然图3的方法为了清晰起见是对于单个输送分组描述的,但方法可以对于输送流的所有的输送分组重复进行。
在步骤310,确定是否有扩展的时间印记附着到输送分组(即,在图2的方法的步骤220从输送分组提取的扩展的时间印记)。如果扩展的时间印记被附着到输送分组,则根据扩展的时间印记计算系统时钟时间(PCR)(步骤320)。否则,如果扩展的时间印记没有附着到输送分组,则使用可得到的PCR时间印记来插入分组时间(步骤330)。应当指出,如果从原先的输送流中去除了分组,则会导致严重的时间不精确。这在输送流是由MPEG调谐器(分接器)提取单个频道(节目)的情形下将会是典型的。
在步骤340,从输送流识别任何非相关的分组,诸如具有PID值的分组,它们不被代码转换器使用,所以被丢弃。
图4是按照本发明的说明性实施例的、由图1B的方块130(节目流组装)执行的方法的流程图。
在步骤410,识别可从PES缓存器收集的PES信息(音频和视频)。在步骤420,从PCR数据计算系统时钟基准(SCR)信息。在步骤430,对于每个相关的PES ID组装PES。在步骤440,确定PES是否完整。如果是的话,则把完整的PES分组复制到包缓存器(步骤450)。否则,方法返回到步骤410。
在步骤470,确定包缓存器是否完整。如果是的话,则计算复用器速率,把标题加到包缓存器中的PES分组,PES分组以复用器速率被复用,以及输出节目流(PS)(步骤480)。否则,方法返回到步骤410。
为了保持在进入的同步传递的输送流与解码器之间的同步,通过使用在PES分组的单元开始标志被设置成“真”之前和之后的PCR值而精确地计算SCR值。图5是显示按照本发明的说明性实施例的、用于保持进入的同步传递的输送流与解码器之间的同步的方法的流程图。
确定分组是否具有扩展的时间印记(步骤510)。如果分组不具有扩展的时间印记,则SCR按以下方式计算(步骤520)时间差=PCR值之间的差值输送速率=“PCR之间的字节数”/“时间差”SCR=[“在单元开始的分组与PCR分组之间的字节数”/“输送速率”]+“单元开始前的PCR”然而,如果分组具有扩展的时间印记,则SCR按以下方式计算(步骤530)SCR=[“在单元开始处的时间差”/“到当前的分组的时间差”]+“单元开始前的PCR”复用器速率按下法计算(步骤540)SCR差=“在包的末尾处的SCR”-“在包的开始处的SCR”复用器速率=[“要输出的字节数”+“27,000,000滴答声”]/“50字节”/“SCR差”正如已知的,单元开始相应于一个帧的开始的分组的标志。
在输送流中会出现PCR不连续,导致SCR不连续。因为节目切换(频道改变)、PCR溢出等等,会出现PCR的不连续。如果出现SCR不连续,则将不计算复用器速率,以及保持以前计算的复用器速率。
图6是显示按照本发明的说明性实施例的、用于在从MPEG2输送流到节目流的变换中管理时间不连续性的方法的流程图;在步骤610,检测SCR不连续性。然后,确定解码器是否使用系统标题来复位内部基准时钟(步骤620)。
如果解码器确实使用系统标题来使内部基准时钟复位,则在该不连续点处,丢弃当前的包(步骤630),以及把系统标题加到随后的包标题中以通知解码器调整内部基准时钟,使得内部基准时钟将不失去同步(步骤640)。
然而,如果解码器不使用系统标题来使内部基准时钟复位,则解码器可以通过禁止在不连续点处的时间印记解码而使内部基准时钟复位(步骤650)。这可以例如通过在该不连续点处使解码器低延时模式在接通和关断之间反转而完成(步骤650a)。实际的方法取决于由特定的硬件或软件解码器所提供的基准时钟控制。也就是,在给出这里提供的本发明的教导后,本领域技术人员将预期用于禁止在不连续点处的时间印记解码的这些和其他方法,而同时保持本发明的精神和范围。
如果输送流被预先滤波以去除某些分组,则代码转换器不能从已滤波的流中精确地确定SCR和复用器速率值。现在参照图7和8描述这个问题的两个说明性解决方案。
图7是显示按照本发明的说明性实施例的、用于确定SCR和复用器速率数值的方法的流程图。图8是显示按照本发明的另一个说明性实施例的、用于确定SCR和复用器速率数值的方法的流程图。图7和8的方法用于当输送流被预先滤波以去除某些分组和代码转换器不能从已滤波的流中精确地确定SCR和复用器速率值时的情形。
参照图7,时间印记被加到每个输送分组(步骤710)。也就是,把标题加到其中包含第一分组字节被接收的时间的原始输送分组。通过使用加上时间印记和图5的方法可以精确地计算SCR和复用器速率(步骤720)。
参照图8,确定在分组之间丢失的字节数目的计数值(步骤810)。该计数值被包括在由图5的方法所作的计算中,以允许对于要被包括在节目流中的字节正确地计算字节时间定位(SCR和复用器速率)(步骤820)。
应当看到,可以使用任一个方法(图7或8),但两个方法都包括对输送流分析器的修正方案以提取新的信息以及把它一起传送到随后的处理。这两个方法中的一个方法被选择来保持在进入的数据流与解码器之间的同步,以避免缓存器上溢和下溢的情况。本领域技术人员将预期用于从滤波的流确定SCR和复用器速率的这些和各种其他方法,而同时保持本发明的精神和范围。
图9是显示按照本发明的另一个说明性实施例的、用于把MPEG2输送流变换成MPEG2节目流的步骤/单元的高级别方框图。
在步骤910,接收输入的输送流,以及输送流(TS)分组被积累在分组缓存器中。在步骤920,分析分组标题,以确定分组是相应于音频还是视频。如果分组相应于音频,则PES音频分组和PCR基准被收集在PES音频缓存器999(步骤930)。然而,如果分组相应于视频,则PES视频分组和PCR基准被收集在PES视频缓存器998(步骤940)。在步骤950,PES分组被交织到节目流(PS)包中,和被放置到PC包缓存器997。在步骤960,计算SCR,以及把包标题加到PS包中。在步骤970,PS包作为输出的节目流被输出。
虽然在这里说明性实施例是参照附图描述的,但应当看到,本系统和方法并不限于这些精确的实施例,以及可以由本领域技术人员作出各种改变和修正,而不背离本发明的范围或精神。所有这样的改变和修正都打算包括在由附属权利要求规定的本发明的范围内。
权利要求
1.一种用于在从输送流到节目流的变换期间保持输入的输送流与节目流解码器之间的同步的方法,包括以下步骤根据输送流计算系统时钟基准(SCR)(420);计算节目流的复用器速率(480);以及通过使用复用器速率来复用与输送流相对应的分组化基本流(PES)分组而形成节目流(480)。
2.权利要求1的方法,还包括在变换期间管理时间不连续点的步骤,其中所述管理步骤包括以下步骤检测SCR不连续点(610);以及当解码器使用系统标题来使内部基准时钟复位时,丢弃当前的包和把系统标题添加到随后的包中以便通知解码器去调整内部基准时钟使其被同步(630)。
3.权利要求1的方法,还包括在变换期间管理时间不连续点的步骤,其中所述管理步骤包括以下步骤检测SCR不连续点(610);以及当解码器不使用系统标题来使内部基准时钟复位时,禁止由解码器在SCR不连续性点上所进行的时间印记解码以便使解码器的内部基准时钟复位(650)。
4.权利要求3的方法,其中所述禁止步骤包括在SCR不连续点处使解码器的低延时模式在接通和关断之间反转(650a)。
5.权利要求1的方法,还包括当执行所述计算SCR的步骤时要包括在输送流的分组之间丢失的字节的数目的步骤(810)。
6.权利要求1的方法,其中所述计算SCR的步骤包括以下步骤计算作为输送流的节目时钟基准(PCR)值之间的差值的时间差(520);计算作为PCR之间的字节数除以时间差的输送速率(520);以及计算作为在单元开始分组与PCR分组之间的字节数除以输送速率之后加上单元开始之前的PCR的SCR(520)。
7.权利要求1的方法,其中所述计算复用器速率的步骤包括以下步骤计算作为在包末尾处SCR与包开始处SCR之间的差值的SCR差(540);以及计算作为要输出的字节数与27,000,000个滴答的乘积、除以50字节、再除以SCR差的复用器速率(540)。
8.权利要求1的方法,其中输送流包括至少一个具有扩展的时间印记的分组,扩展的时间印记规定了与一个预定字节的实际传递时间相对应的数值(510)。
9.权利要求1的方法,其中所述计算复用器速率的步骤包括计算SCR的步骤,该SCR是在单元开始处的时间差除以到当前分组的时间差再加上在单元开始前的PCR(530)。
10.权利要求6的方法,其中所述计算复用器速率的步骤包括以下步骤计算作为在包末尾处SCR与包开始处SCR之间的差值的SCR差(540);以及计算作为要输出的字节数与27,000,000个滴答的乘积、除以50字节、再除以SCR差值的复用器速率(540)。
11.权利要求81的方法,还包括下列步骤把规定第一分组字节被接收的时间的时间印记添加到每个输送分组上以及在执行所述计算SCR的步骤中使用时间印记(710)。
12.一种用于在从输送流到节目流的变换期间保持在进入的输送流与节目流解码器之间的同步的设备,包括用于根据输送流计算系统时钟基准(SCR)的装置(420);用于计算节目流用的复用器速率的装置(480);以及用于通过使用复用器速率来复用与输送流相对应的分组化基本流(PES)的分组而形成节目流的装置(480)。
13.权利要求12的设备,还包括用于在变换期间管理时间不连续点的装置。
14.权利要求13的设备,其中所述用于管理时间不连续的装置包括用于检测SCR不连续点的装置(610);以及用于当解码器使用系统标题来使内部基准时钟复位时丢弃当前的包和把系统标题添加到随后的包中以便通知解码器去调整内部基准时钟使其被同步的装置(630)。
15.权利要求13的设备,其中所述用于管理时间不连续的装置包括用于检测SCR不连续点的装置(610);以及用于当解码器不使用系统标题来使内部基准时钟复位时禁止由解码器在SCR不连续点上所进行的时间印记解码以便使解码器的内部基准时钟复位的装置(650)。
16.权利要求15的设备,其中所述用于禁止时间印记解码的装置在SCR中断点处使解码器的低延时模式在接通和关断之间反转(650a)。
17.权利要求12的设备,其中所述用于计算SCR的装置在计算SCR时要包括在输送流的分组之间丢失的字节的数目(810)。
18.权利要求12的设备,其中输送流包括至少一个具有扩展的时间印记的分组,扩展的时间印记规定了与一个预定字节的实际传递时间相对应的数值(510)。
19.权利要求18的设备,还包括用于把规定第一分组字节被接收的时间的时间印记添加到每个输送分组的装置,以及其中所述用于计算SCR的装置在计算SCR时使用该时间印记(710)。
20.用于把输送流变换成节目流的设备,包括用于提供输送流的同步传递系统(102);以及节目流解码器(104),用于根据输送流计算系统时钟基准(SCR),用于计算节目流用的复用器速率,以及用于通过使用复用器速率去复用与输送流相对应的分组化基本流(PES)的分组而形成节目流。
21.用于把MPEG输送流代码转换成MPEG节目流的设备,包括分析器(110),用于分析来自输送流的分组化基本流(PES)的分组;PES滤波器(120),用于传送和缓存被选中的所分析的PES分组之一;以及分组组装器(130),用于获取和复用缓存的经分析后的PES分组中选定的一些分组以形成MPEG节目流。
全文摘要
一种用于在从输送流到节目流的变换期间保持输送流与节目流解码器之间的同步的方法(图4)。根据输送流计算系统时钟基准(SCR)(410)。计算节目流的复用器速率(480)。通过使用计算的复用器速率去复用根据输送流所分析的分组化的基本流(PES)的分组而形成节目流(480)。
文档编号H04N7/62GK1599982SQ02823931
公开日2005年3月23日 申请日期2002年11月14日 优先权日2001年11月29日
发明者加里·艾伦·金德尔 申请人:汤姆森许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1