CN102204249A - Mpeg传输流的恒定比特率填充 - Google Patents

Mpeg传输流的恒定比特率填充 Download PDF

Info

Publication number
CN102204249A
CN102204249A CN200880131035.1A CN200880131035A CN102204249A CN 102204249 A CN102204249 A CN 102204249A CN 200880131035 A CN200880131035 A CN 200880131035A CN 102204249 A CN102204249 A CN 102204249A
Authority
CN
China
Prior art keywords
pcr
output
buffer
transport stream
clock
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
Application number
CN200880131035.1A
Other languages
English (en)
Other versions
CN102204249B (zh
Inventor
C.A.小诺伦哈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ericsson Television Inc
Original Assignee
Ericsson Television Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ericsson Television Inc filed Critical Ericsson Television Inc
Publication of CN102204249A publication Critical patent/CN102204249A/zh
Application granted granted Critical
Publication of CN102204249B publication Critical patent/CN102204249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

用于处理MPEG传输流的系统和方法。特别地,该系统可以接收具有一个或多个节目的可变比特率输入传输流。利用兼容的节目时钟参考把可变比特率传输流转换成恒定比特率流。空分组在合适的位置上添加到传输流以把它填充到恒定比特率。节目时钟参考分组被重压戳以保证满足所有定时要求。

Description

MPEG传输流的恒定比特率填充
技术领域
本发明通常涉及数据通信。更具体地,本发明涉及用于利用兼容的(compliant)节目时钟参考把可变比特率传输流转换成固定比特率传输流的系统和方法。
背景技术
在数字视频广播(DVB)中,传输流被用来在发射器设备和接收器设备之间递送节目数据。所述传输通常通过网络被传送。节目数据具有视频和音频分量,还有例如副标题、图文电视和其他的辅助信息。
发射器设备接收一个或多个节目的视频、音频和辅助数据分量作为输入。发射器设备压缩所述数据,把所述数据分为分组并且生成单个传输流。周期节目时钟参考(PCR)可被包括在所生成的传输流中。PCR被接收器设备用来以预定的节目速率呈现音频和视频信号。传输流被发射器设备传送到网络。
接收器设备从网络获得所述传输流。接收器设备解码所述传输流。分析所述视频、音频和PCR分量来重构所述传送的(一个或多个)节目。
发明内容
在本发明的一个实施例中,提供了用于把可变比特率传输流转换成恒定比特率传输流的系统。传输流由发射器设备生成并且要被接收器设备接收。所述系统包括发射器设备、接收器设备和至少具有如下部件的另外设备: (1)输入缓冲器,用于存储多个分组和输入传输流的至少两个节目时钟参考;(2)与所述输入缓冲器耦合的比较器,用于确定是否已经存储完整节目时钟参考(PCR)间隔;(3)与所述比较器耦合的算术单元,用于如果已经存储完整PCR间隔则计算插入到输出传输流中的空分组的数目;(4)与所述算术单元耦合的PCR重压戳器(restamper),用于重压戳所述PCR。所述设备可以被实现在发射器设备中、接收器设备中、或到发射器设备和接收器设备的媒介(intermediary)中。
对于本发明的另一实施例,提供了用于把可变比特率传输流转换成恒定比特率传输流的方法。所述方法包括:(1)接收具有一个或多个节目的可变比特率传输流,其中所述传输流包括至少一个PCR流;(2)把所述传输流的多个分组存储到缓冲器;(3)计算要插入到所述传输流的空分组的数目;(4)将所述空分组散布(distribute)到所述传输流。
上述是概要,并且因而在必要的情况下包含细节的简化、概括和省略;因此,本领域的技术人员将理解的是,所述概要仅仅是说明性的,无论如何不是旨在是限制性的。由权利要求单独限定的本公开的其他方面、创造性的特征和优点将在下面阐述的非限制性详细描述中变得显而易见。
附图说明
图1A是用于实现具有VBR到CBR传输流转换器的系统的实施例的框图。
图1B是用于实现具有VBR到CBR传输流转换器的系统的另一实施例的框图。
图1C是用于实现具有VBR到CBR传输流转换器的系统的又另一实施例的框图。
图2是传输流转换器的实施例的框图。
图3是用于转换具有单个PCR PID的VBR传输流到CBR传输流的实施例的流程图。
图4是用于转换具有多个PCR PID的VBR传输流到CBR传输流的实施例的流程图。
图5是用于计算纠错变量α以重压戳PCR的一个实施例的流程图。
图6是用于防止PCR间隔兼容性(compliance)问题的实施例的流程图。
图7是输出生成器的实施例的框图。
图8是输出生成器的另一实施例的框图。
具体实施方式
在下面详细的描述中,阐明多个特定细节以便提供对本发明的透彻理解。然而,本领域的技术人员应该理解的是,在没有这些特定细节的情况下可以实践本发明。在其他情况下,没有详细描述公知的方法、程序、部件和电路以便不会使得本发明变得晦涩难懂。
传输比特率由在两个连续PCR之间的流中比特的数目除以在这两个PCR之间的差(以时间来表示)来定义。压缩的节目数据的通信可以包括可变比特率(VBR)传输流。VBR传输流可以视为在每对连续PCR之间的逐段(piece-wise)恒定比特率流。所述节目可以以多种格式来压缩,包括MPEG-1、MPEG-2、MPEG-4、H.264、VC-1、和其他。一些接收器设备能够接受VBR传输流并且处理或显示它们。然而,其他设备具有严格定时需求并且需要固定的或者恒定比特率(CBR)的传输流以供处理。
图1A描述了具有VBR到CBR传输流转换器的系统的一个实施例的框图。所述系统包括发射器设备100和接收器设备105。发射器设备100可以经由网络被耦合到接收器设备105。
发射器设备100还可以包括编码器110、打包器(packetizer)120、复用器(mux)130和传输流转换器140。编码器110耦合到打包器120。打包器120耦合到复用器130。复用器130耦合到传输流转换器140。
编码器110接收节目的视频和音频分量作为输入。编码器110可以压缩和转换所述输入为数字形式。第一个产生的基本流可以包括视频数据。第二个产生的基本流可以包括音频数据。所述基本流是到打包器120的输入。
打包器120产生打包的基本流。每个打包的基本流(PES)可以包括首部和有效载荷。所述首部可以包括用来解码所述有效载荷比特所必要的信息。所述有效载荷可以包括例如音频和视频信号的基本编码的分量。
复用器130合并所述视频和音频数据的打包的基本流来形成单个传输流。复用器130还负责进一步打包所述打包的基本流到传输分组并且插入PCR。下面在图6中描述用于插入PCR到传输分组的算法的一个实施例。对于本发明的这个实施例,所述传输流是到发射器设备100的传输流转换器140的输入。传输流转换器140转换VBR传输流到CBR传输流。下面在图2中更加详细描述传输流转换器140的实现。
接收器设备105包括解码器150、解复用器(de-mux)160、视频解码器170和音频解码器180。解码器150耦合到解复用器160。解复用器160耦合到视频解码器170和音频解码器180。
解码器150可以基于网络的特定信道来解码传输流。解复用器160分离传输流的音频、视频和时钟分量。所述时钟可以被用来同步基本流的解码与公共主PCR时基。视频解码器170解码所述视频基本流。音频解码器180解码所述音频基本流。
图1B描述了用于实现具有VBR到CBR传输流转换器的系统的另一实施例的框图。与图1A类似,图1B的实现包括发射器设备100和接收器设备105。然而,对于本发明的这个实施例,传输流转换器140是接收器设备105的一部分。传输器设备100部件、编码器110、打包器120和复用器130的功能与前面描述的相同。在接收器设备105中,传输流转换器140耦合到解码器150。接收器设备105部件、传输流转换器140、解码器150、解复用器160、视频解码器170和音频解码器180的功能与前面描述的相同。
图1C描述了用于实现具有VBR到CBR传输流转换器的系统的又另一实施例的框图。与图1A类似,图1C的实现包括发射器设备100和接收器设备105。然而,对于本发明的这个实施例,传输流转换器140在接收器设备105和发射器设备100两者的外面。发射器设备100部件、编码器110、打包器120和复用器130的功能与前面描述的相同。接收器设备105部件、解码器150、解复用器160、视频解码器170和音频解码器180的功能与前面描述的相同。
图2描述传输流转换器140的框图。传输流转换器140包括输入缓冲器210、计数器220、PCR提取器225、比较器230、算术单元235、输出缓冲器240、空分组生成器245、复用器250、PCR重压戳器255、和输出生成器260。输入缓冲器210耦合到计数器220、PCR提取器225、和比较器230。比较器230耦合到算术单元235。算术单元235耦合到输出缓冲器240和空分组生成器245。空分组生成器245耦合到复用器250。复用器250耦合到PCR重压戳器255。PCR重压戳器255耦合到输出生成器260。
对于本发明的这个实施例,传输流作为到传输流转换器140的输入被接收。分组被接收并且存储到输入缓冲器210。每当分组被存储到输入缓冲器210时计数器220可以增加。所述计数器值连同其相应分组可被存储到缓冲器210。PCR提取器225可以从传输流提取PCR值。PCR值可以连同其相应的分组被存储在缓冲器210中。
比较器230识别缓冲器210何时已经存储了完整PCR间隔。一旦比较器230确定缓冲器210具有完整PCR间隔,比较器230传递PCR间隔的分组到算术单元235。算术单元235计算要添加到传输流的空分组的数目。空分组可以填充传输流到恒定比特率。一旦计算出空分组的数目,所述分组被发送到输出缓冲器240。当分组从输出缓冲器输出时,空分组基于分组计数被空分组生成器245和复用器250插入到比特流。PCR重压戳器255重压戳PCR值来确保满足所有定时需求。输出生成器260控制传输流到网络的输出速率。下面在图7和图8中描述输出生成器260的实施例。
图3和图4示出了用于计算要插入的空分组的数目、在缓冲的传输流分组间散布空分组和重压戳PCR的算法。更具体地,图3描述了用于转换具有单个PCR分组标识符(PID)的输入VBR传输流到CBR传输流的实施例的流程图。要传送的每个节目可以具有唯一PID。
在操作310中,分组被接收。一些分组可以具有相应PCR。在接收到至少第一和第二PCR值时,操作320计算要插入的空分组的数目。下述的方程式计算填充输入速率来达到目标速率所需要的比特的数目:
(方程式1)
RT是传输流转换器140的目标比特率。所述目标比特率可以近似等于网络的带宽。PI i+1 是到传输流转换器140的第i+1个输入PCR值。输入PCR值的值可以从输入传输流提取。PO i 是来自传输流转换器140的第i个输出PCR值。第一PCR值,PO 1 可以被设置等于第一输入PCR,PI 1 。BI是在第一PCR和第二PCR之间输入传输流中的比特或者分组的数目。
如果Diff大于零,那么下述方程式被用于计算空分组的数目,NP:
Figure 200599DEST_PATH_IMAGE002
(方程式2)
在方程式2中的Diff被除以1504,因为MPEG格式定义188字节或者1504比特分组。因此,对于本发明的另一实施例,如果要传输的分组具有定义不同数目的比特的格式,则除法器(divider)值可以不同。在公式中的括号表示不大于计算的值的最大整数。否则,如果Diff小于或等于零,则空分组的数目是零。
在操作330中,在输出缓冲器中存储的分组之间均匀地散布空分组。换句话说,在第一和第二输入PCR值之间均匀地散布空分组。如果在T个传输分组之间要被插入NP个空分组,则在分组k(其中k是从1到T)之后立即要被插入的空分组的数目n k 由下面方程式给出:
Figure 918020DEST_PATH_IMAGE003
(方程式3)
添加空分组到比特流可以改变随后输出PCR值的暂时位置。因此,在操作340中,输出PCR值,PO i+1 可以根据下面的方程式被重压戳:
(方程式4)
在方程式4中的乘数是27*106,因为假定PCR是从27 MHz时钟采样的。如果PCR是从不同的时钟频率采样的,则这个乘数可以不同。
图4描述了用于转换具有多个PCR PID的输入VBR传输流到CBR传输流的实施例的流程图。在操作410中,在输入传输流中的PCR被任意地选择作为主PCR。在至少第一PCR和第二PCR被接收到后,在操作420中,要被添加的空分组的数目通过在方程式1和2中呈现的公式来计算。在这个计算中,仅仅被选择的主PCR被考虑用于提供时间戳,但是计算所有传输比特。如果在方程式1中被计算的Diff值小于零,则要添加的空分组的数目是零。在操作430中,被计算的空分组的数目被均匀地散布在缓冲的分组之间,如方程式3所阐述的。
在操作440中,输出PCR基于它们实际的频率被重压戳。对于每个承载PCR的PID、j,第一输出PCR,PO 1 j可以被设置成等于第一输入PCR,PI 1 j。可以有总数N的承载PCR的PID。如果在PCR 
Figure 767082DEST_PATH_IMAGE005
Figure 589544DEST_PATH_IMAGE006
之间有
Figure 528681DEST_PATH_IMAGE007
个传输流分组,则输出PCR应该按照如下方程式被重压戳:
Figure 727582DEST_PATH_IMAGE008
(方程式5)
PCR可以来自27MHz时钟的采样。然而,不需要传输流中的多个PCR来自相同的时钟。因此,在操作450中,计算在每个PCR和主PCR之间的频率差。
Figure 334143DEST_PATH_IMAGE009
是在用于承载PCR的PID j的27MHz时钟和用于主PCR的27MHz时钟之比。通过比较输入PCR的序列和输出PCR误差
Figure 19520DEST_PATH_IMAGE011
可以估计每个PID的值。
空分组添加到传输流可以注入抖动。如果存在频率漂移,则平均输出PCR误差可随时间线性地增加。对于本发明的一个实施例,利用对数据的线性方程的最小二乘方拟合可以估计平均输出PCR误差。对于给定的一组采样
Figure 716135DEST_PATH_IMAGE013
Figure 145979DEST_PATH_IMAGE014
,由下面的方程式给出方程式类型
Figure 325288DEST_PATH_IMAGE015
的最佳拟合:
Figure 600411DEST_PATH_IMAGE016
(方程式6)
Figure 181565DEST_PATH_IMAGE017
(方程式7)
把一组数据采样应用于方程式6和7,校正因子α的值近似等于
Figure 516732DEST_PATH_IMAGE018
。在测量时段开始时的输出PCR误差近似等于。在测量时段结束时的输出PCR误差
Figure 262151DEST_PATH_IMAGE020
近似等于
Figure 461926DEST_PATH_IMAGE021
如果在一个时间段上收集数据采样并且应用于方程式6和7,则可以获得α的良好估计。对于第一估计周期,α可以设置为0。对于α的任意值,可以在估计周期结束时稳态误差为
Figure 233573DEST_PATH_IMAGE022
。在下一周期期间,稳态误差和频率比可以用来补偿输出PCR误差。在操作450中计算的频率估计被用来在操作440中重压戳用于每个PID的PCR值。通过周期性地校正所述估计,可以减少长期漂移。
图5描绘了用于估计α的一个实施例的流程图。在操作510中,对于每个PID,分配持续时间用于估计α的值。对于本发明的一个实施例,用于估计的所述持续时间可以被设置成5分钟。在最坏的情况下,当传输时钟是在27MHz之下百万分之30(ppm)并且最快时钟是在27MHz之上30ppm时,所述漂移将是1620Hz。在五分钟上,这将导致486000滴答声(tick)或18毫秒的PCR漂移。
在操作520中,对于在操作510定义的时间段,使用PIDj的目标比特率收集数据。然后,在操作530中所收集的数据被应用于方程式6,7以获得PCR偏移和频率漂移。对于本发明的一个实施例,锁相环可以比较输入PCR 
Figure 676504DEST_PATH_IMAGE024
和输出PCR 
Figure 28988DEST_PATH_IMAGE025
以生成输出PCR误差以及用于具有PCR的每个PID的校正因子
Figure 347153DEST_PATH_IMAGE027
。在操作540中,更新的校正因子
Figure 203989DEST_PATH_IMAGE027
被供应给PCR重压戳模块,并且根据方程式5被用于抵消PCR误差。所述算法然后返回操作510以周期性地校正PCR漂移。
在图5中提出的所述算法在校正PCR之后的任何时间呈现出潜在的兼容性问题。缓冲器模型被违反是有可能的。例如,在发射器设备中的编码器和复用器之间的定时路径可以大量留出任何额外的定时余量。对于复用器来说在进行任何校正之前检查缓冲器的状态是不实际的。另外,如果比特流被扰乱,则对于复用器来说不可能检查缓冲器的状态。因此,在传输流转换器中可以执行PCR值的分析和重定时,如下面所阐述的。
DVB兼容性要求PCR间隔不多于40毫秒。方程式6和7不保证这个要求将被满足,即使输入流是兼容的。例如,如果两个输入PCR间隔大约40毫秒,则PO i 可以接收负校正并且PO i+1 可以接收正校正。结果,可能的是,在PO i  PO i+1 之间的差大于40毫秒。
图6示出了用于防止PCR间隔兼容性问题的实施例的流程图。对于这个实施例,在一些情况中,可以插入PCR分组而不是空分组。所插入的PCR分组可以具有与PCR流相同的PID,所述PCR流处于非兼容的危险。PCR分组可不具有有效载荷。因此,PCR分组的自适应字段的长度可以是183字节。PCR分组的连续计数器可以设置为与所述流中的先前分组相同的值。PCR分组的PCR标记可以被设置并且PCR字段可以被压戳(stamp)。
在已经利用空分组填充输出流之后,在操作610中根据下面方程式计算PID j的PCR分组之间的间隔差:
Figure 676558DEST_PATH_IMAGE028
 (方程式9)
变量是在给定时间在PCR PID j上在PCR分组i之后的输出传输分组的数目。在操作620中,根据下面的方程式在每个空分组插入时间计算最大定时余量:
Figure 652922DEST_PATH_IMAGE030
(方程式10)
在操作630,确定在操作620中计算的最大定时余量是否大于近似38毫秒或1,026,000滴答声。如果最大PCR差大于38毫秒,则在操作640中通过利用以下值压戳的PCR来代替空分组:
Figure 814913DEST_PATH_IMAGE031
(方程式11)
在操作640之后或者如果在操作630中最大定时余量小于或等于近似38毫秒,则在图6中的算法在操作650中终止。
对应于主PCR PID的粗略一个PCR间隔的传输分组块可用于立刻传送。结果,缺少控制器,该设备的输出可以是近似每40毫秒的背对背分组的突发。为了避免网络带宽的不必要饱和,输出生成器260可以用于控制传输流输出速率。
图7描绘了用于实现输出生成器260的一个实施例。对于这个实施例,输出生成器是包括可以存储数据的缓冲器700的先入先出(FIFO)结构。缓冲器700还可包括第一段710,用于存储要被缓冲的分组;第二段720,用于存储准备被传送的分组;以及,第三段730,用于存储正被传送的分组。
输入到缓冲器700的分组最初是第一段710的部分。上面阐述的填充算法可以对分组执行,其然后可以被存储在第一段710中。一旦接收到PCR间隔,所处理的输出流变为第二段720的部分。添加到FIFO的每个传输分组导致一个传输分组从所述缓冲器中出队,如果一个传输分组就绪的话。正出队的分组变为第三段730的部分。正出队的分组可以包括任何相关联的空值和/或额外PCR。
对于本发明的另一实施例,输出生成器260可以是具有如图8所描述的滞后控制的缓冲器。图8的结构具有两个输出速率。第一速率稍微高于标称,并且第二速率稍微较低。如果缓冲器被朝向上溢,则使用稍微较高的速率。另一方面,如果缓冲器被朝向下溢,则使用稍微较低的速率。
滞后控制可以提供在时间上完全CBR的传输流以便在时间上有恒定的分组间间隙。相反地,FIFO结构的输出取决于到输出生成器260的分组的输入。
图8的结构包括缓冲器810、滞后控制815、压控晶体振荡器(VCXO)820、和输出调度器825。缓冲器810耦合到输出调度器825和滞后控制。输出调度器825和滞后控制815还耦合到VCXO 820。缓冲器810存储可以由上面在图3、4中阐明的(一个或多个)填充算法生成的传输流。缓冲器810具有存储容量B。输出调度器825控制缓冲器的输出。
滞后控制815对照排放速率(drain rate)跟踪剩余缓冲器容量。如果RT是目标输出速率并且Dr是在主PCR时钟和CPU时钟之间的最坏情况的漂移,则缓冲器810可以被预先填充以传输流直到它为半满或包含B/2个分组。此时,缓冲器可以开始以恒定速率RT+δ被排放,其中δ是在主PCR时钟和CPU时钟之间的最坏情况的漂移。滞后控制815输出跟踪的排放速率到VCXO 820。VCXO生成控制来自输出调度器的数据输出速率的时钟。当所述时钟在第一频率范围之间时,在输出调度器处产生第一输出速率。当所述时钟在第二频率范围之间时,在输出调度器处产生第二输出速率。任何时候缓冲器占用降到低于B/3,输出调度器825的排放速率可以被切换到R T -δ。任何时候缓冲器占用超过2B/3,输出调度器825的排放速率可以被切换到R T
ISO IEC 13818-1,“information technology – generic coding of moving pictures and associated audio information:systems,”的国际标准要求PCR时钟在±30 ppm。因此,δ的值可以是30ppm加上CPU时钟的准确度。B的值可以被选择为数据速率的函数。因为分组块在其周围的PCR被接收且处理之前不会准备好传送,并且因为用于DVB兼容性的目标PCR间隔是40毫秒,所以B可以被选择为一秒的比特流。以B计的传输分组的数目可以被表示为
Figure 814093DEST_PATH_IMAGE032
在上面的说明书中,已经参考本发明的特定典型实施例描述了本发明。然而明显的是在不偏离所附权利要求阐明的本发明的较宽精神和范围的情况下可以对其进行修改和改变。因此,在说明性的意义上而非在限制性的意义上考虑说明书和附图。

Claims (20)

1. 一种设备,包括:
输入缓冲器,用于存储多个分组和输入传输流的至少两个节目时钟参考;
与所述输入缓冲器耦合的比较器,用于确定是否已经存储完整节目时钟参考(PCR)间隔;
与所述比较器耦合的算术单元,用于在已经存储完整PCR间隔之后计算要插入到输出传输流的空分组(NP)的数目;
与所述算术单元耦合的PCR重压戳器,用于重压戳所述至少两个PCR。
2. 根据权利要求1所述的设备,还包括:
与PCR重压戳器耦合的输出生成器,用于控制所述输出传输流的输出。
3. 根据权利要求1所述的设备,其中在第i个输入PCR和第i+1个输入PCR之间要插入的NP的数目等于                                               
Figure DEST_PATH_IMAGE002
,在
Figure DEST_PATH_IMAGE004
大于0的情况下,其中R T 是输出传输流的目标比特率,其中PI i 是第i个输入PCR值,其中PI i+1 是第i+1个输入PCR值,PO i 是第i个输出PCR值,其中BI是在第i个输入PCR和第i+1个输入PCR之间的比特的数目,并且其中PO 1 被设置等于PI 1
4. 根据权利要求3所述的设备,其中在分组k之后要插入的空分组的数目n k 等于
Figure DEST_PATH_IMAGE006
,其中k是从1到T的整数。
5. 根据权利要求1所述的设备,还包括:
与所述输入缓冲器耦合的PCR提取器,用于从所述传输流提取所述至少两个PCR,其中所述输入缓冲器存储所提取的PCR。
6. 根据权利要求1所述的设备,还包括:
与所述输入缓冲器耦合的计数器,用于将所存储的每个分组的相应计数提供给所述输入缓冲器,其中所述输入缓冲器存储所述相应计数。
7. 根据权利要求3所述的设备,其中如果所述传输流具有单个PCR分组标识符,则所述重压戳器把第i+1个输出PCR值PO i+1 设置为等于
8. 根据权利要求3所述的设备,其中如果j是从2到N的整数,则所述重压戳器把第j个分组标识符的第i+1个输出PCR值
Figure DEST_PATH_IMAGE010
设置等于
Figure DEST_PATH_IMAGE012
,其中是第j个分组标识符的第i个输出PCR值,其中
Figure DEST_PATH_IMAGE016
是在
Figure 956504DEST_PATH_IMAGE014
Figure 736242DEST_PATH_IMAGE010
之间的传输流分组的数目,其中
Figure DEST_PATH_IMAGE018
被设置为等于第j个分组标识符的第一输入PCR值
Figure DEST_PATH_IMAGE020
,其中
Figure DEST_PATH_IMAGE022
是用于承载PCR的PID j的时钟与用于主PCR的时钟之比。
9. 根据权利要求2所述的设备,其中所述输出生成器包括先入先出缓冲器。
10. 根据权利要求2所述的设备,其中所述输出生成器具有第一输出速率和第二输出速率。
11. 根据权利要求10所述的设备,其中所述输出生成器包括:
缓冲器;
与所述缓冲器耦合的滞后控制,用于跟踪所述缓冲器的占用;
与所述缓冲器耦合的输出调度器,用于使得数据能够从所述缓冲器输出;
与所述滞后控制和所述输出调度器耦合的压控晶体振荡器,用于向所述输出调度器提供时钟,其中所述时钟是所述缓冲器占用的函数,其中所述时钟具有对应于所述第一输出速率的第一频率和对应于所述第二输出速率的第二频率。
12. 根据权利要求11所述的设备,其中所述输出生成器最初被设置为所述第一输出速率,其中如果所述缓冲器降到低于预定占用,则所述输出生成器被切换到所述第二输出速率。
13. 一种方法,包括:
接收具有一个或多个节目的可变比特率传输流,其中所述传输流包括至少一个节目时钟参考(PCR)流;
把所述传输流的多个分组存储到缓冲器;
计算要插入到所述传输流的空分组的数目;
将所述空分组散布到所述传输流。
14. 根据权利要求13所述的方法,还包括:
如果所述传输流具有多于一个PCR分组标识符,则把所述传输流中的一个PCR时钟选择作为主PCR时钟。
15. 根据权利要求14所述的方法,其中所述主PCR时钟被任意地选择。
16. 根据权利要求14所述的方法,还包括:
为每个节目标识符重压戳所述PCR时钟的PCR值。
17. 根据权利要求16所述的方法,还包括:
计算在PCR时钟和主PCR时钟之间的频率差;
周期性地校正在PCR时钟和主PCR时钟之间的漂移。
18. 根据权利要求17所述的方法,还包括:
插入额外的PCR分组以保持小于40毫秒的PCR间隔。
19. 根据权利要求18所述的方法,还包括:
在新的传输流分组到达所述缓冲器时,传送所述传输流分组。
20. 根据权利要求18所述的方法,还包括:
填充所述缓冲器直到所述缓冲器至少半满;
以初始第一恒定比特率排放所述缓冲器;
如果缓冲器占用小于1/3满,则以第二恒定比特率排放所述缓冲器;
如果所述缓冲器大于2/3满,则把所述缓冲器的排放从所述第二恒定比特率切换到所述第一恒定比特率。
CN200880131035.1A 2008-07-09 2008-07-09 Mpeg传输流的恒定比特率填充 Active CN102204249B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/008488 WO2010005416A1 (en) 2008-07-09 2008-07-09 Constant bit rate padding of mpeg transport streams

Publications (2)

Publication Number Publication Date
CN102204249A true CN102204249A (zh) 2011-09-28
CN102204249B CN102204249B (zh) 2014-06-04

Family

ID=40042599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880131035.1A Active CN102204249B (zh) 2008-07-09 2008-07-09 Mpeg传输流的恒定比特率填充

Country Status (3)

Country Link
EP (1) EP2311260B1 (zh)
CN (1) CN102204249B (zh)
WO (1) WO2010005416A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9681421B2 (en) 2013-07-14 2017-06-13 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
CN103501517B (zh) 2013-09-23 2016-09-14 电信科学技术研究院 一种上报移动信息的方法、系统和设备
FR3035288B1 (fr) * 2015-04-14 2018-04-13 Enensys Technologies Procede de remplacement d'un contenu principal par au moins un contenu secondaire, equipement de remplacement de contenus et programme d'ordinateur correspondants
US20210279222A1 (en) * 2020-03-09 2021-09-09 Vimeo, Inc. Dynamic Buffer Lookahead in Adaptive Streaming Using Machine Learning
US20240031419A1 (en) * 2022-07-22 2024-01-25 Mk Systems Usa Inc. Reconstruction of cbr transport streams

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724825B1 (en) 2000-09-22 2004-04-20 General Instrument Corporation Regeneration of program clock reference data for MPEG transport streams
KR100584381B1 (ko) * 2004-02-04 2006-05-26 삼성전자주식회사 엠펙-2 데이터 전송속도 조절 방법 및 그 장치
JP4746998B2 (ja) 2006-02-15 2011-08-10 Necディスプレイソリューションズ株式会社 伝送レート調整装置および伝送レート調整方法
JP2008034905A (ja) * 2006-07-26 2008-02-14 Tektronix Japan Ltd デジタル伝送装置及び方法

Also Published As

Publication number Publication date
CN102204249B (zh) 2014-06-04
EP2311260A1 (en) 2011-04-20
EP2311260B1 (en) 2014-12-24
WO2010005416A1 (en) 2010-01-14

Similar Documents

Publication Publication Date Title
CN1669290B (zh) 用于具有挂钟的系统的抖动补偿方法
US6493832B1 (en) Communication apparatus which handles a time stamp
US7899089B2 (en) Constant bit rate padding of MPEG transport streams
US5640388A (en) Method and apparatus for removing jitter and correcting timestamps in a packet stream
TWI455573B (zh) 恢復系統時鐘的裝置和方法
KR100706619B1 (ko) Tc 계층에서의 다중화를 이용한 통신 및 방송 데이터송/수신 장치
US20040170162A1 (en) Robust MPEG-2 multiplexing system and method using an adjustable time stamp
KR100482287B1 (ko) 디지털 데이터 방송을 위한 동기화 스트림 데이터 삽입장치 및 그 방법
KR20030078354A (ko) 디지털 데이터 방송을 위한 동기화 데이터 삽입 장치 및그 방법
CN102204249B (zh) Mpeg传输流的恒定比特率填充
KR101180540B1 (ko) 스트리밍 서비스 송/수신 장치 및 방법
US20030133462A1 (en) Receiving streams over asynchronous networks
KR20130009670A (ko) 엠엠티 시스템에서의 패킷 전송 장치 및 방법, 및 패킷 수신 장치 및 방법
KR20110098830A (ko) 외부 코프로세서를 포함하는 멀티플렉서에서의 전송 스트림 동기화를 위한 방법
CN102075794A (zh) 用于测量压缩数字流内的延迟的方法和装置
EP1145559B1 (en) Method and apparatus for delivering reference signal information within a specified time interval
WO2006047722A2 (en) Decentralized method for generating an mpeg-2 multiprogram transport stream
US20080101254A1 (en) Instrumentation of MPEG-2 transport streams for testing network performance
CN103975600A (zh) 用信号发送传输时间和/或系统时钟脉冲的方法及设备
KR20130009671A (ko) 엠엠티 시스템에서의 패킷 전송 장치 및 방법, 및 패킷 수신 장치 및 방법
Xingdong et al. Implementation of MPEG-2 transport stream remultiplexer for DTV broadcasting
US10080050B2 (en) System and method for insertion of a program clock reference during packetization of an encoded data stream
KR100375830B1 (ko) 피씨알 지터 제거장치 및 방법
Chen Examples of Video Transport Multiplexer
Ramaswamy et al. Design of an efficient DVB/MPEG transport stream remultiplexor

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