代码转换器媒体时间变换的制作方法

文档序号:7936895阅读:189来源:国知局
专利名称:代码转换器媒体时间变换的制作方法
技术领域
本发明涉及多媒体信号处理,且更明确地说涉及视频编码及解码。
背景技术
可将数字多媒体能力并入于广泛范围的装置中,所述装置包括数字电视、数字直接 广播系统、无线通信装置、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计 算机、数字相机、数字记录装置、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线 电话等等。数字多媒体装置可实施视频编码技术(例如MPEG-2、 MPEG-4或 H.264/MPEG-4 (第10部分,高级视频编码(AVC)))以更有效地发射及接收数字视频 数据。视频编码技术可经由空间及时间预测来执行视频压缩以减少或移除视频序列中所 固有的冗余。
媒体内容分配者(例如电缆及卫星电视服务)从多种源接收多媒体内容。这些源可 包括电视台、无线电台及其它原始多媒体内容提供者。多媒体内容分配者可向其它装置 (例如由最终消费者所使用的那些装置)产生或重新分配原始多媒体。在此重新分配之 前,多媒体数据可经重新格式化或从输入格式变换为另一格式(例如无线格式)。此过 程通常被称作"代码转换"且由被称作代码转换器或代码转换器装置的处理元件来实现。 多媒体数据的输入流经格式化并以多种方式加以传送。举例来说,可将输入流格式化为 移动图片专家组传送流(MPEG-TS)并经由非同步串行接口 (ASI)来传送。在另一实 例中,可格式化输入流并使用串行数字接口 (SDI)来传送。
多媒体内容分配者可能想要使用多媒体广播技术来将多媒体数据发射到移动无线 订户装置(例如移动手持机或所谓的多媒体"蜂窝式电话")。举例来说,多媒体广播技 术包括被称作仅前向链路(FLO)、数字多媒体广播(DMB)及手持装置的数字视频广 播(DVB-H)的那些技术。无线数字多媒体广播可将多媒体内容作为一系列广播信道而传递到许多订户装置,从而提供类似于常规电视的多媒体内容选择体验的多媒体内容选 择体验。每一广播信道载送包含经编码音频/视频流、音频/视频剪辑或其它信息内容的 数字数据。所述数字广播信道以多播为基础而被同时传递到多个移动无线订户装置。接 收数字广播的移动无线订户装置的用户可将其订户装置个别地调谐到所述广播信道中 的一者或一者以上。当移动无线订户装置的用户将他或她的移动无线订户装置调谐到特 定广播信道时,移动无线订户装置将所述特定广播信道中的多媒体数据呈现给所述用 户。

发明内容
一般来说,本发明描述一种用于补偿和输入媒体数据流相关联的时钟与和输出媒体 数据流相关联的时钟之间的小差异的技术。归因于管控代码转换器用以接收媒体数据单 元("MDU")的速率的时钟与管控所述代码转换器用以输出MDU的速率的时钟之间的 漂移,代码转换器可以比所述代码转换器用以输出MDU的速率快或慢的速率接收所述 MDU。代码转换器通过以下步骤来补偿所述差异识别占等于输出周期减去校正量值的 时间的若干组已接收MDU;修改已识别的所述组MDU,使得所述组MDU占等于所述 输出周期的时间;以及将经修改的所述组MD U作为输出流的 一 部分而输出。
本发明可涉及收集时间漂移误差及(例如)通过检査并处理输入多媒体数据来连续
执行内容间隙检测。 一旦检测到间隙,本发明便可涉及校正累积到该点的总误差。时间
校正及变换可使用输入多媒体数据中的内容间隙的检测以便避免内容破坏。可使用
MDU的修改以调整时序,且因此通过识别输入多媒体数据中的内容间隙,所述调整可
对于接收经代码转换内容的最终消费者来说是透明的。
在一个实例中, 一种方法包含以视媒体源的源时钟而定的速率而将多个媒体数据
单元MDU存储到代码转换器的缓冲器中;识别用于所述缓冲器中的一组MDU的输出 时间间隔,其中所述输出时间间隔视所述源时钟而定且与输出周期相差一校正量值,其 中所述输出周期视代码转换器的输出时钟而定;从缓冲器移除所述组MDU,其中与所 移除的所述组MDU相关联的时间量大体上对应于输出时间间隔;及基于MDU的内容 来修改从缓冲器移除的所述组MDU,使得与经修改的所述组MDU相关联的时间量大体 上对应于输出周期。如下文予以更详细论述,所述组MDU的修改可基于MDU的内容。 在另一实例中,本发明提供一种代码转换器装置,其包含输出时钟;缓冲器,其 能够存储媒体数据单元MDU;接收模块,其以视媒体源的源时钟而定的速率而将MDU 存储到缓冲器中;时间间隔识别模块,其识别用于缓冲器中的一组MDU的输出时间间隔,其中所述输出时间间隔视源时钟而定且与输出周期相差一校正量值,其中所述输出 周期视代码转换器装置的输出时钟而定;MDU移除模块,其从缓冲器移除所述组MDU, 其中与所移除的所述组MDU相关联的时间量大体上对应于输出时间间隔;及漂移校正 模块,其基于MDU的内容来修改从缓冲器移除的所述组MDU,使得与经修改的所述组 MDU相关联的时间量大体上对应于输出周期。
在另一实例中,本发明提供一种代码转换器装置,其包含用于以视媒体源的源时 钟而定的速率而将多个媒体数据单元MDU存储到缓冲器中的装置;用于识别用于缓冲 器中的一组MDU的输出时间间隔的装置,其中所述输出时间间隔视源时钟而定且与输 出周期相差一校正量值,其中所述输出周期视代码转换器的输出时钟而定;用于从缓冲 器移除所述组MDU的装置,其中与所移除的所述组MDU相关联的时间量对应于输出 时间间隔;及用于基于MDU的内容来修改从缓冲器移除的所述组MDU使得与经修改 的所述组MDU相关联的时间量大体上对应于输出周期的装置。
可以硬件、软件、固件或其任何组合来实施本发明中所描述的技术。如果以软件实 施,则可使用一个或一个以上处理器(例如微处理器、专用集成电路(ASIC)、现场可 编程门阵列(FPGA)或数字信号处理器(DSP))来执行软件。执行所述技术的软件可 最初被存储于计算机可读媒体中且经载入并使用所述一个或一个以上处理器来执行。
因此,本发明还涵盖包含可执行指令的计算机可读媒体。所述指令在执行时致使一 个或一个以上处理器以视媒体源的源时钟而定的速率而将多个媒体数据单元MDU存 储到代码转换器的缓冲器中;识别用于缓冲器中的一组MDU的输出时间间隔,其中所 述输出时间间隔视源时钟而定且与输出周期相差一校正量值,其中所述输出周期视代码 转换器的输出时钟而定;从缓冲器移除所述组MDU,其中与所移除的所述组MDU相关 联的时间量大体上对应于输出时间间隔;及基于MDU的内容来修改从缓冲器移除的所 述组MDU,使得与经修改的所述组MDU相关联的时间量大体上对应于输出周期。
在一些状况下,计算机可读媒体可形成可出售及/或用于视频编码装置中的计算机程 序产品的至少一部分。所述计算机程序产品可包括计算机可读媒体,且在一些状况下, 所述计算机程序产品还可包括封装材料。
在下文的附图及描述中陈述了一个或一个以上实例的细节。其它特征、目标及优点 将从描述及附图以及权利要求书显而易见。


图1为说明示范性媒体分配系统的框图。图2为说明代码转换器的示范性细节的框图。
图3为说明代码转换器中的时间变换模块的示范性细节的框图。
图4为说明时间变换模块的示范性操作的流程图。
图5为说明由时间变换模块中的校准模块执行的示范性校准操作的流程图。 图6为说明时间变换模块中的后校准模块的示范性后校准操作的流程图。
具体实施例方式
本发明描述一种用于补偿和输入媒体数据流相关联的时钟与和输出媒体数据流相 关联的时钟之间的小差异的技术。归因于管控代码转换器用以接收媒体数据单元 ("MDU")的速率的时钟与管控所述代码转换器用以输出MDU的速率的时钟之间的漂 移,代码转换器可以比所述代码转换器用以输出MDU的速率快或慢的速接收所述 MDU。代码转换器通过以下步骤来补偿所述差异识别占等于输出周期减去校正量值的 时间的若干组已接收MDU;修改已识别的所述组MDU,使得所述组MDU占等于所述 输出周期的时间。如下文予以更详细描述,MDU的修改可基于MDU的内容以在将所述 内容呈现给最终消费者时减少或消除所述内容的任何可察觉变化。
图1为说明示范性媒体分配系统2的框图。媒体分配系统2是媒体源4将多媒体数 据流提供到代码转换器6的媒体分配系统的实例。代码转换器6修改所述多媒体数据流 并使用无线多媒体广播技术以将多媒体内容发射到多个订户装置10A-10N (共同为"订 户装置10")。举例来说,代码转换器6可使用包括被称作仅前向链路(FLO)、数字多 媒体广播(DMB)及手持装置的数字视频广播(DVB-H)的那些技术的无线多媒体广播 技术。
媒体分配系统2仅具有示范性,因为许多其它系统也可利用本文中所描述的技术。 本发明的技术可对广播系统尤为有用,但还可应用于支持多媒体信息的双向无线通信的 系统(例如支持视频电话的系统或支持视频编码及视频信息的通信的其它系统)。尽管 如此,虽然将本发明的技术主要描述为用于无线系统中,但其它系统(包括有线通信系 统)也可受益于本文中所描述的技术。
在媒体分配系统2中,媒体源4经由一个或一个以上有线或无线链路来提供媒体内 容。举例来说,媒体源4可为卫星,其发射经编码电视节目、视频剪辑、电影、广告消 息、串流音频、视频馈入、视频电话会议数据及其它媒体内容。在另一实例中,媒体源 4可为用于电缆电视服务的发射单元。由媒体源4供应的媒体数据流及由代码转换器6 产生的媒体数据流包括媒体数据单元("MDU")。如本发明中所使用,"媒体数据单元"可指视频帧、音频样本或另一类型及数量的媒体数据。
在媒体分配系统2中,代码转换器6从媒体源4接收媒体数据流。举例来说,代码 转换器6可从媒体源4接收移动图片专家组-2 (MPEG-2)传送流。当代码转换器6接 收所述媒体数据流时,代码转换器6可基于所述媒体数据流中的MDU而将MDU临时 存储于输入缓冲器8中。代码转换器6可接着从输入缓冲器8移除MDU、修改所述所 移除的MDU及经由一个或一个以上有线或无线链路而将所述经修改的MDU作为媒体 数据流而输出。作为实例,代码转换器6可使用一种或一种以上无线电广播技术(例如 FLO、 DMB或DVB-H)或根据一种或一种以上无线电存取技术(例如全球移动通信系 统(GSM)、码分多址(CDMA)、 CDMA 2000、宽带CDMA (W-CDMA)、 CDMA lx 演进数据最优化(EV-DO)、频分多址(FDMA)、正交频分多路复用(OFDM)、时分多 址(TDMA)或经开发以有助于由各种IEEE 801.xx标准所界定的无线联网的广泛标准 系列)或其它无线或有线通信标准来输出所述经修改的MDU。
在一些方面中,可将本发明中所描述的技术应用于增强H.264视频编码以用于使用 将作为技术标准TIA-1099而被公布的FLO空中接口规范("用于地面移动多媒体多播的 仅前向链路空中接口规范(Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast)") ( "FLO规范")来在地面移动多媒体多播(TM3)系统 中传递实时视频服务。即,代码转换器6可根据FLO规范等来广播无线视频信息。FLO 规范包括界定位流语法及语义的实例及适合用于FLO空中接口的解码过程。或者,可根 据其它标准(例如手持装置的数字视频广播(DVB-H)、地面的综合服务数字广播 (ISDB-T)或数字媒体广播(DMB))来广播视频。
订户装置10可接收由代码转换器6产生的经修改的媒体数据流。当订户装置10接 收所述经修改的媒体数据流时,订户装置10可对所述经修改的媒体数据流进行解码并 呈现经解码的媒体数据。举例来说,所述经修改的媒体数据流可表示电视节目。在此实 例中,订户装置10可显示电视节目。订户装置10可为广泛多种装置。举例来说,订户 装置10可为移动无线电话、数字电视、个人数字助理、集成到车辆(例如,汽车、摩 托车、飞机、宇宙飞船、卡车、火车、公共汽车等等)中的装置、视频游戏系统、膝上 型计算机、平板计算机、个人计算机、电视机顶盒、个人媒体播放器、剧场系统、数字 标牌及其它类型的装置。
媒体源4以由源时钟(例如,媒体源4的源时钟12)管控的速率输出MDU。举例 来说,媒体源4可以如由源时钟12所测量的每秒30个视频帧的速率输出视频帧。此外, 代码转换器6以由输出时钟14管控的速率输出MDU。举例来说,代码转换器6可以如由输出时钟14所测量的每秒30个视频帧的速率输出视频帧。如果源时钟12及输出时 钟14是精确同步的(即,两个时钟均不比另一者"运行"快),则代码转换器6以与所 述代码转换器6将MDU输出到订户装置10相同的速率从媒体源4接收MDU。
然而,源时钟12及输出时钟14可能并不精确同步。当源时钟12相对于输出时钟 14太快时,代码转换器6可以比代码转换器6用以输出MDU的速率快的速率从媒体源 4接收MDU。如果保持未校正,则输入缓冲器8中的MDU的数目可增加到输入缓冲器 8无法再存储未发送MDU的点(即,上溢点)。此可导致MDU的损失。类似地,当源 时钟12相对于输出时钟14太慢时,代码转换器6可以比代码转换器6用以输出MDU 的速率慢的速率从媒体源4接收MDU。如果保持未校正,则输入缓冲器8中的MDU的 数目可减少到不存在待发送的存储于缓冲器8中的足够MDU的点(即,下溢点)。此可 在输出流中产生间隙。在任一情况中,订户装置10的用户均可能够察觉到此MDU损失 或此间隙。此可能对用户的体验具有破坏性。
作为用以补偿源时钟与输出时钟之间的漂移的操作的一部分,代码转换器6可经过 一系列不同阶段。当代码转换器6最初开始从媒体源4接收输入流时,代码转换器6可 处于"缓冲器填充"阶段。在所述"缓冲器填充"阶段期间,代码转换器6可将来自媒 体源4的MDU存储于输入缓冲器8中,而不将MDU输出到订户装置10。此外,在"缓 冲器填充"阶段期间,代码转换器6可继续将来自媒体源4的MDU存储于输入缓冲器 8中,而不将MDU输出到订户装置10,直到输入缓冲器8存储了足够最小数目的MDU。 当输入缓冲器8存储足够最小数目的MDU时,"缓冲器填充"阶段可结束且校准阶段可 开始。此足够最小数目可由所述实施方案界定,但其通常为足以有助于如本文中所描述 的测量及调整的MDU数目。
在校准阶段期间,代码转换器6从媒体源4接收MDU并将所述所接收的MDU临 时存储于输入缓冲器8中。此外,在校准阶段期间,代码转换器6可在每次输出时钟确 定输出时间间隔已流逝时执行校准操作。此输出时间间隔可为等于一秒或另一时间周期 的时间。或者,所述输出时间间隔可基于样本数目来界定。在校准操作期间,代码转换 器6可从输入缓冲器8移除输入缓冲器8中的一组最旧MDU。所述最旧MDU可由接收 所述MDU的次序来界定。此组MDU占等于如由输出时钟所测量的一个输出时间周期 的时间。换句话说,所述所移除的MDU将在如由输出时钟所测量的一个输出周期中被 回放。在从输入缓冲器8移除所述组MDU之后,代码转换器6可基于所移除的所述组 MDU而输出MDU。此外,当代码转换器6执行校准操作时,代码转换器6可计算输入 缓冲器8的平均深度。如本发明中所使用,输入缓冲器8的"深度"是指如由输出时钟所测量的在输入缓冲器8中的"最旧"MDU与输入缓冲器8中的"最新"MDU之间的 时间长度。所述最旧MDU及所述最新MDU可根据MDU何时被接收于输入缓冲器8 中(例如,根据先进先出(FIFO)技术)来界定。输入缓冲器8中的"最旧"MDU是 输入缓冲器8中的将在输入缓冲器8中的任何其它MDU之前呈现的MDU。输入缓冲器 8中的"最新"MDU是输入缓冲器8中的将在输入缓冲器8中的所有其它MDU之后呈 现的MDU。
在此校准操作结束时,代码转换器6可确定输入缓冲器8的平均深度是否稳定。当 输入缓冲器8的平均深度在特定时间周期内未改变超过某一百分数时,代码转换器6可 确定输入缓冲器8的平均深度是稳定的。如果输入缓冲器8的平均深度是稳定的,则代 码转换器6可将设定点确立为输入缓冲器8的平均深度且校准阶段完成。
在校准阶段完成之后,代码转换器6可继续从媒体源4接收MDU且可继续将所接 收的MDU存储于输入缓冲器8中。此外,在校准阶段完成之后,代码转换器6在每次 输出时钟确定输出周期已流逝时执行后校准操作。作为后校准操作的一部分,代码转换 器6可识别校正量值。如下文予以详细描述,代码转换器6可基于漂移因子来识别校正 量值,所述漂移因子至少近似等于设定点减去输入缓冲器8的当前深度。在识别校正量 值之后,代码转换器6可从输入缓冲器8移除一组最旧MDU。所移除的此组MDU占等 于一个输出时间间隔的时间量,其还可对应于一个输出周期减去所识别的校正量值。在 从输入缓冲器8移除所述组MDU之后,代码转换器6可修改所移除的所述组MDU,使 得经修改的所述组MDU对应于等于一个输出周期的时间量。代码转换器6可通过执行 一个或一个以上修改所移除的所述组MDU中的现有MDU之间的时间的操作或选择性 地删除所移除的所述组MDU中的MDU来修改所移除的所述组MDU。此外,MDU的 这些调整可基于内容,使得对于操作订户装置10的最终消费者来说,避免了内容破坏。
代码转换器6可接着在每次输出时钟指示一个输出周期己流逝时输出所述组MDU 中的一者。举例来说,代码转换器6可产生多媒体数据流且接着根据无线物理层调制方 案来调制所述多媒体数据流。举例来说,代码转换器6可根据一种或一种以上无线电广 播技术(例如仅前向链路("FLO")、数字多媒体广播("DMB")或手持装置的数字视 频广播("DVB-H"))或根据一种或一种以上无线电接入技术(例如全球移动通信系统 ("GSM")、码分多址("CDMA")、 CDMA2000、宽带CDMA ("W-CDMA")、 CDMA lx进化数据最优化("EV-DO")、频分多址("FDMA")、正交频分多路复用("OF画")、 时分多址("TDMA")或经开发以有助于由各种IEEE 801.llx标准所界定的无线联网的 广泛标准系列)来调制经多路复用的多媒体数据流。代码转换器6可接着将经调制的多媒体数据流发射到订户装置10。
图2为说明代码转换器6的示范性细节的框图。如图2的实例中所说明,代码转换 器6包括接收模块20。接收模块20从媒体源4接收MDU。当接收模块20接收到MDU 时,接收模块20将所述MDU添加到输入缓冲器8。在一些范例中,接收模块20可接 收被包括于多媒体数据流中的经编码MDU。在这些范例中,接收模块20可在将经编码 MDU添加到输入缓冲器8之前对所述MDU进行解码。
代码转换器6中的输出时钟14通过输出脉冲来指示输出周期已流逝。举例来说, 当输出周期为一秒时,输出时钟14可通过在一秒流逝之后输出脉冲来指示一秒已流逝。 可使输出时钟14与全球定位系统("GPS")或其它高度准确的计时系统(未图示)同步。 举例来说,输出时钟14可从沿轨道运行的GPS卫星接收信号并可使用这些信号来准确 地确定当前时间。在另一实例中,输出时钟14可通过从与GPS同步的其它装置(未图 示)接收消息而被同步。由于与GPS或其它准确的计时系统同步,所以输出时钟14可 非常准确。
当代码转换器6中的时间变换模块26从输出时钟14接收脉冲时,时间变换模块26 可确定代码转换器6是否处于"缓冲器填充"阶段。当代码转换器6最初开始从媒体源 4接收媒体数据流时,代码转换器6可处于"缓冲器填充"阶段。当旗标指示代码转换 器6处于"缓冲器填充"阶段时或通过缓冲器充满度或深度的某一其它测量,时间变换 模块26可确定代码转换器6处于"缓冲器填充"阶段。
当时间变换模块26确定代码转换器6处于"缓冲器填充"阶段时,时间变换模块 26测量输入缓冲器8的"深度"。如本发明中所使用,输入缓冲器8的"深度"是指如 由输出时钟14所测量的在输入缓冲器8中的"最旧"MDU与输入缓冲器8中的"最新" MDU之间的时间长度。输入缓冲器8中的"最旧"MDU是输入缓冲器8中的将在输入 缓冲器8中的任何其它MDU之前呈现的MDU。输入缓冲器8中的"最新"MDU是输 入缓冲器8中的将在输入缓冲器8中的所有其它MDU之后呈现的MDU。在一个实例中, 输入缓冲器8的"深度"可包含占用多少秒的MDU当前被存储于输入缓冲器8中的测 量(如由输出时钟14所测量)。
此外,在"缓冲器填充"阶段,时间变换模块26确定输入缓冲器8的平均深度是 否大于或等于最小缓冲器深度。举例来说,最小缓冲器深度可为两个完整输出周期(例 如,两秒),输入缓冲器8中的最旧MDU与输入缓冲器8中的最新MDU之间的时间长 度是两秒,如由输出时钟14所测量。如果时间变换模块26确定输入缓冲器8的平均深 度并不大于或等于(即,小于)最小缓冲器深度,则时间变换模块26可等待直到来自输出时钟H的下一脉冲为止。另一方面,如果时间变换模块26确定输入缓冲器8的平 均深度大于或等于最小缓冲器深度,则时间变换模块26可设定用以指示"缓冲器填充" 阶段完成的旗标。
如果在从输出时钟14接收到脉冲之后时间变换模块26确定代码转换器6并未处于 "缓冲器填充"阶段,则时间变换模块26可确定代码转换器6是否处于校准阶段。时间 变换模块26可通过确定旗标是否指示代码转换器6处于校准阶段或通过另一方式来确 定代码转换器6处于校准阶段。如果时间变换模块26确定代码转换器6处于校准阶段, 则时间变换模块26可执行校准操作。如下文予以详细解释,每次时间变换模块26执行 校准操作时,时间变换模块26计算输入缓冲器8的平均深度且从输入缓冲器8移除占 用一个输出周期的MDU。当时间变换模块26确定输入缓冲器8的平均深度稳定时,校 准阶段完成且将设定点设定到输入缓冲器8的平均深度。时间变换模块26接着将所移 除的MDU提供到数据变换模块28。
另一方面,如果时间变换模块26在时间变换模块26从输出时钟14接收到脉冲时 确定代码转换器6并非处于"缓冲器填充"阶段或处于校准阶段,则时间变换模块26 执行后校准操作。如下文予以详细解释,在后校准操作期间,时间变换模块26识别用 于输入缓冲器8中的若干组MDU的输出时间间隔。此外,时间变换模块26从输入缓冲 器8移除若干组MDU。从输入缓冲器8移除的所述若干组MDU对应于大体上等于已针 对所述若千组MDU中的相应MDU而识别的输出时间间隔的时间量。另外,在后校准 操作期间,时间变换模块26可修改占大体上不等于输出周期的时间量的所述若干组 MDU中的一个或一个以上MDU。时间变换模块26可通过修改所述若干组MDU中的所 述MDU内的MDU之间的时间或通过选择性地添加或删除所述若干组MDU中的所述 MDU内的一个或一个以上MDU来修改所述若干组MDU,以便致使经修改的所述若干 组MDU对应于正确的输出周期。在执行任何所述修改之后,时间变换模块26可将所述 若干组MDU (经修改或未经修改)提供到数据变换模块28。 一旦时间变换模块26完成 后校准操作,时间变换模块26便可等待来自输出时钟14的下一脉冲。
当数据变换模块28从时间变换模块26接收到一组MDU时,数据变换模块28可将 MDU中的媒体数据从第一格式变换到第二格式以有效地对所述数据进行"代码转换"。 举例来说,数据变换模块28可将MDU中的媒体数据从MPEG-2数据变换到供由加利福 尼亚州(California)的圣地亚哥(San Diego)的高通(QUALCOMM)有限公司公布的 MediaFLOTM系统中使用的数据。在另一实例中,数据变换模块28可将MDU中的媒体 数据从串行数字接口格式(例如,美国国家标准学会/电影电视工程师协会(Society ofMotion Picture and Television Engineers) ("ANSI/SMPTE")串行数字接口 259M、 125M、 272M等等)变换到另一格式。数据变换模块28可在固定时间周期中将所述组MDU从 第一格式变换到第二格式。在数据变换模块28将所述组MDU从第-一格式变换到第二格 式之后,数据变换模块28可将所述经变换的MDU添加到输出缓冲器30中。
应进一步注意,数据变换模块28还可在将MDU输入到输入缓冲器8中之前对所述 MDU进行变换。在此情况中,时间变换模块26可将经修改的所述组MDU直接输出到 输出缓冲器30。
当输出模块32从输出时钟14接收到脉冲时,输出模块32可识别输出缓冲器30中 占用一个输出周期的最旧MDU。在识别所述MDU之后,输出模块32可从输出缓冲器 30移除己识别的MDU。输出模块32可接着将所述所移除的MDU作为输出流的一部分 而发射到订户装置IO。在其它实施方案中,输出缓冲器32及输入缓冲器8可为共用存 储器内的单独存储空间或可能为存储器内的共用存储空间。
图3为说明代码转换器6中的时间变换模块26的示范性细节的框图。如图3的实 例中所说明,时间变换模块26包含阶段识别模块70。阶段识别模块70可每输出周期从 输出时钟14接收脉冲一次。当阶段识别模块70从输出时钟14接收到脉冲时,阶段识 别模块70识别代码转换器6的当前阶段。如果阶段识别模块70将"缓冲器填充"阶段 识别为代码转换器6的当前阶段,则阶段识别模块70可指令时间变换模块26中的缓冲 器填充模块72执行"缓冲器填充"操作。如果阶段识别模块70将校准阶段识别为代码 转换器6的当前阶段,则阶段识别模块70可指令校准模块74执行校准操作。其它方面, 如果阶段识别模块70将后校准阶段识别为代码转换器6的当前阶段,则阶段识别模块 70可指令后校准模块76执行后校准操作。
当阶段识别模块70指令缓冲器填充模块72执行"缓冲器填充"操作时,缓冲器填 充模块72可测量输入缓冲器8的平均深度。为测量输入缓冲器8的平均深度,缓冲器 填充模块72可(例如)保持脉冲计数器73,所述脉冲计数器73指示从"缓冲器填充" 阶段开始以来多少输出周期(如由输出时钟14所测量)已流逝。另外,缓冲器填充模 块72可保持表示在"缓冲器填充"阶段期间输入缓冲器8的所有测量深度的和的合计 深度值75。在此实例中,缓冲器填充模块72可通过以下操作来计算输入缓冲器8的平 均深度测量输入缓冲器8的当前深度、将输入缓冲器8的当前深度加到合计深度值75 及用脉冲计数器73来除此和。以此方式计算输入缓冲器8的平均深度可最小化由于抖 动所产生的暂时效应。
在缓冲器填充模块72计算输入缓冲器8的平均深度之后,缓冲器填充模块72可接着确定输入缓冲器8的平均深度是否大于或等于最小缓冲器深度。如果缓冲器填充模块 72确定输入缓冲器8的平均深度大于或等于最小缓冲器深度,则缓冲器填充模块72可 设定用以指示"缓冲器填充"阶段完成的旗标。否则,如果缓冲器填充模块72确定输 入缓冲器8的平均深度并不大于或等于(即,小于)最小缓冲器深度,则缓冲器填充模 块72不执行进一步动作。以此方式,缓冲器填充模块72可确保输入缓冲器8在时间变 换模块26中的其它模块开始从输入缓冲器8移除MDU之前含有足够数目的MDU。
当阶段识别模块70指令校准模块74执行校准操作时,校准模块74执行校准操作。 作为校准操作的部分,校准模块74可递增脉冲计数器73。在递增脉冲计数器73之后, 校准模块74可测量输入缓冲器8的当前深度。校准模块74可接着将输入缓冲器8的当 前深度加到合计深度值75。紧接着,校准模块74可通过用脉冲计数器73除合计深度值 75来计算输入缓冲器8的平均深度。
在计算输入缓冲器8的平均深度之后,校准模块74可确定输入缓冲器8的平均深 度是否稳定。当平均深度在给定的时间周期内未改变显著量时,校准模块74可确定平 均深度是稳定的。举例来说,如果平均深度在六十秒内未改变超过一微秒,则校准模块 74可确定平均深度是稳定的。
如果校准模块74确定平均深度是稳定的,则校准模块74可将设定点确立为等于平 均深度。以此方式,所述设定点是在校准阶段期间输入缓冲器8的平均深度的测量。校 准模块74可接着设定用以指示校准阶段完成的旗标。由于校准阶段现己完成,所以将 设定点确立(即,"设定")为平均深度"稳定"的值。又,如果输入缓冲器8的平均深 度在特定时间周期内未改变超过某一 (例如,预定)百分数,则可确定所述平均深度是 稳定的。
另一方面,如果校准模块74确定平均深度并不稳定(例如,确定平均深度在给定 的时间周期内已改变显著量),则校准模块74不将设定点确定为平均深度且并不设定用 以指示校准阶段完成的旗标。因此,校准阶段并未完成且代码转换器6仍然处于校准阶 段。
紧接着,校准模块74可从输入缓冲器8移除输入缓冲器8中占用一个输出周期的 最旧MDU (如由输出时钟14所测量)。举例来说,如果其花费一个输出周期(如由输 出时钟14所测量)来显示五十个MDU,则时间变换模块26移除输入缓冲器8中的五 十个最旧MDU。在校准模块74从输入缓冲器8移除这些MDU之后,校准模块74可将 这些MDU提供到数据变换模块28。
当阶段识别模块70指令后校准模块76执行后校准操作时,后校准模块76执行后校准操作。为执行后校准操作,后校准模块76中的时间间隔识别模块82识别输出时间 间隔。在图3的实例中,时间间隔识别模块82包括计算漂移因子的漂移计算模块80。 漂移计算模块80可通过递增脉冲计数器73来计算漂移因子。漂移计算模块80可接着 通过测量输入缓冲器8的当前深度并将输入缓冲器8的测量深度加到合计深度值75来 更新合计深度值75。紧接着,漂移计算模块80可通过计算合计深度值75除以脉冲计数 器73的商(例如,漂移计算模块80可用脉冲计数器73除合计深度值75)来计算输入 缓冲器8的平均深度。漂移计算模块80可接着通过从设定点减去平均深度来计算漂移 因子。
如上文所论述,当媒体源4的时钟(即,源时钟12)完全准确时,代码转换器6每 输出周期(如由输出时钟所测量)从媒体源4接收占用一个输出周期的MDU。然而, 如果源时钟相对于输出时钟14较快,则媒体源4每输出周期(如由输出时钟14所测量) 将占用一个以上的输出周期的MDU提供到代码转换器6。在无漂移补偿的情况下,代 码转换器6每输出周期输出占用一个输出周期的MDU。因此,代码转换器6在一个输 出周期中从媒体源4接收比代码转换器6在一个输出周期中输出的MDU多的MDU。为 此,随时间的过去,当源时钟相对于输出时钟14太快时,输入缓冲器8中的MDU趋向 于在数目上增加。当从稳定的设定点减去输入缓冲器8的当前平均深度时,此增加由负 漂移因子来反映。类似地,如果源时钟12相对于输出时钟14较慢,则媒体源4每输出 周期(如由输出时钟14所测量)将占用不到一个输出周期的MDU提供到代码转换器6。
在无漂移补偿的情况下,代码转换器6每输出周期输出占用一个输出周期的MDU。 因此,代码转换器6在一个输出周期中从媒体源4接收比代码转换器6在一个输出周期 中输出的MDU少的MDU。为此,随时间的过去,当源时钟相对于输出时钟H太慢时, 输入缓冲器8中的MDU趋向于在数目上下降。当从稳定的设定点减去输入缓冲器8的 当前平均深度时,此下降由正漂移因子来反映。
在漂移计算模块80计算漂移因子之后,时间间隔识别模块82中的漂移阈值模块84 可确定漂移因子的绝对值是否大于或等于最小漂移阈值。所述最小漂移阈值是一指示在 可执行漂移校正之前的最小漂移量的值(即,绝对值)。举例来说,最小漂移阈值可等 于三十毫秒。如果漂移阈值模块84确定漂移因子的绝对值并不大于或等于(即,小于) 最小漂移阈值,则漂移阈值模块84可将校正量值识别为零。漂移阚值模块84可接着通 过从一个输出周期减去已识别的校正量值来计算输出时间间隔。因为输出时间间隔等于 一个输出周期减去校正量值,所以在此情况中,漂移阈值模块84识别一个输出周期的 输出时间间隔。以此方式,当仅少量漂移已累积时,后校准模块76并不尝试补偿漂移。否则,如果漂移阈值模块84确定漂移因子的绝对值大于或等于最小漂移校正时间, 则时间间隔识别模块82中的机会检测模块86可确定输入缓冲器8中的一组占等于一个 输出周期的时间量的最旧MDU是否与"校正机会"相关联。如本发明中所使用,术语 "校正机会"是指媒体数据流中的用户将不能够注意到漂移校正的一组MDU。
校正机会可由MDU的实际内容来界定。举例来说,当所述组最旧MDU并不与对 程序时钟参考的参考相关联时、当所述组最旧MDU中的MDU与不连续程序时钟参考 相关联时、当所述组最旧MDU中的MDU与不同程序映射表相关联时、当一个或一个 以上连续MDU对应于音频静默及/或黑暗或无视频时或当所述组最旧MDU中的一个或 一个以上MDU与程序映射表修正消息相关联时,输入缓冲器8中的最旧MDU可表示 校正机会。如果机会检测模块86确定所述组最旧MDU与校正机会相关联,则机会检测 模块86可将校正量值识别为漂移因子。机会检测模块86可接着通过从一个输出周期减 去漂移因子来减去已识别的校正量值而计算输出时间间隔。以此方式,当用户将不能够 注意到漂移校正时,后校准模块76补偿所有累积的漂移。
当机会检测模块86确定所述组最旧MDU并不表示校正机会时,时间间隔识别模块 82中的部分校正模块88可确定漂移因子的绝对值是否大于或等于最大可允许漂移阈值。 所述最大可允许漂移阈值是一指示可在执行漂移校正之前发生的最大量的漂移的值。举 例来说,所述最大可允许漂移阈值可等于250毫秒。在此实例中,250毫秒表示显著漂 移量。举例来说,根据MPEG-2标准,27MHz源时钟不可以在一秒当中漂移超过30微 秒。以此最大漂移速率,源时钟将花费几乎整整两个小时漂移远离保持完全准确的时间 的时钟250毫秒。如果部分校正模块88确定漂移因子的绝对值并不大于或等于(即, 小于)最大可允许漂移阈值,则部分校正模块88可将校正量值识别为零。因为输出时 间间隔等于一个输出周期减去校正量值,所以在此情况中,部分校正模块88识别一个
输出周期的输出时间间隔。
另一方面,如果部分校正模块88确定漂移因子的绝对值大于或等于最大可允许漂 移阈值,则部分校正模块88可将校正量值识别为最大漂移校正值。所述最大漂移校正 值是一小于漂移因子的值。举例来说,最大漂移校正值可等于十五毫秒。因为输出时间 间隔等于一个输出周期减去校正量值,所以在此实例中,漂移阈值模块84识别一个输 出周期减去十五毫秒的输出时间间隔。
在时间间隔识别模块82识别输出时间间隔之后,后校准模块76中的MDU移除模 块96从输入缓冲器8移除一组占等于输出时间间隔(如由输出时钟14所测量)的时间 量的最旧MDU。在MDU移除模块96从输入缓冲器8移除此组MDU之后,后校准模块76中的漂移校正模块90可以此方式修改所述组MDU,使得经修改的所述组MDU占 等于一个输出周期(如由输出时钟14所测量)的时间。为修改所述组MDU,漂移校正 模块卯可执行一个或一个以上操作,所述操作修改所移除的所述组MDU中的MDU中 的现有MDU之间的时间或选择性地删除所移除的MDU中的现有MDU。 一旦漂移校正 模块90修改MDU,漂移校正模块90便可将所述经修改的MDU提供到数据变换模块 28。
漂移校正模块90修改所述组MDU的方式可视所述组MDU中所含有的媒体数据的 类型而定。举例来说,MDU可为线性脉冲码调制音频样本。在此实例中,MDU移除模 块96可从输入缓冲器8移除一组占一个输出周期减去校正量值的音频样本。此外,在 此实例中,漂移校正模块90包括音频修改模块92,所述音频修改模块92以此方式修改 所移除的所述组音频样本使得所述组经修改的音频样本占等于一个输出周期(如由输出 时钟14所测量)的时间。
如果所述组所移除的音频样本占等于不到一个输出周期的时间,则音频修改模块92 可接着将足够数目的静默样本添加到所述组所移除的音频样本以使所述组经组合的音 频样本占等于一个输出周期(如由输出时钟14所测量)的时间。当回放时,静默样本 可导致订户装置10在等于校正量值的时间间隔内无声音播放。在将静默样本添加到所 移除的样本之后,音频修改模块92可将所述组经组合的音频样本提供到数据变换模块 28。以此方式,时间变换模块26注入持续校正量值的周期的静默周期。如果音频修改 模块92将所述静默样本添加到一组含有可听见声音的音频样本,则静默样本可产生听 者可察觉的静默周期。然而,因为漂移校正通常在不存在可听见声音时的校正机会处发 生,所以听者可能察觉不到此静默周期。以此方式,内容辨识可以一种以察觉不出的方 式调整漂移的方式来帮助调整MDU。当在除校正机会之外的时间发生漂移校正时,可 存在可听见声音。因此,听者可能够察觉到静默周期。然而,因为最大漂移校正值小于 总漂移因子,所以所述静默周期相对较短且可能不会显著干扰听者的体验。
另一方面,如果所述组所移除的音频样本占等于一个以上的输出周期的时间,则音 频修改模块92可从所述组所移除的音频样本删除足够数目的音频样本以使所产生的所 述组音频样本占等于一个输出周期(如由输出时钟14所测量)的时间。在从所述组所 移除的音频样本删除音频样本之后,音频修改模块92可将所产生的所述组音频样本提 供到数据变换模块28。如果音频修改模块92从一组含有可听见声音的音频样本删除音 频样本,则听者可以多种方式察觉到结果。举例来说,如果音频修改模块92周期性地 删除所述组音频样本内的音频样本,则音频样本的总频率可更大。结果,听者可察觉到所产生的所述组音频样本具有比所述组原始音频样本的音调高的音调。在另一实例中, 如果音频修改模块92从所述组音频样本的开始或结束删除音频样本,则听者可在所述 组音频样本的开始或结束察觉到啁啾声(归因于所述组音频样本与先前一组或下一组音 频样本之间的不连续性)。如果音频修改模块92从一组不含有可听见声音的音频样本删 除音频样本,则听者可能不能够察觉到音频修改模块92已删除了任何样本。
在另一实例中,MDU可为视频帧。在此实例中,MDU移除模块96可从输入缓冲 器10移除一组占等于一个输出周期减去校正量值的时间量的视频帧。此外,在此实例 中,漂移校正模块90包括视频修改模块94,所述视频修改模块94以此方式修改所述组 所移除的视频帧使得经修改的所述组视频帧占等于一个输出周期(如由输出时钟14所 测量)的时间量。
如果所述组所移除的视频帧占等于不到一个输出周期的时间量,则视频修改模块94 可修改或产生关于所述组所移除的视频帧中的视频帧的时间戳使得所述时间戳指令视 频帧的解码器在一个输出周期中解码并呈现所述组所移除的视频帧中的视频帧。此可意 指在所述视频帧的每一者之间存在更多时间。举例来说,如果所移除的视频帧中的每一 者与一时间戳相关联,则视频修改模块94可用所述组所移除的视频帧中的视频帧数目 除校正量值,且接着将此商加到所述时间戳中的每一者。
类似地,如果所述组所移除的视频帧占等于一个以上的输出周期的时间量,则视频 修改模块94可修改或产生关于所述组所移除的视频帧中的视频帧的时间戳使得所述时 间戳指令视频帧的解码器在一个输出周期中解码并呈现所述组所移除的视频帧中的视 频帧。此可意指在所述视频帧中的每一者中存在更少时间。假设所涉及的时间量较小且 无视频帧被移除或添加,则视频帧的观察者将未必能够察觉到所述视频帧的步调不同于 所述视频帧的原始步调。
图4为说明时间变换模块26的示范性操作的流程图。最初,时间变换模块26中的 阶段识别模块70从输出时钟14接收脉冲(100)。阶段识别模块70可每输出周期从输 出时钟14接收脉冲一次。当阶段识别模块70从输出时钟14接收所述脉冲时,阶段识 别模块70可确定代码转换器6是否处于"缓冲器填充"阶段(102)。
如果代码转换器6处于"缓冲器填充"阶段(102的"是"),则时间变换模块26中 的缓冲器填充模块72可测量输入缓冲器8的当前深度(104)。当缓冲器填充模块72测 量输入缓冲器8的当前深度时,缓冲器填充模块72可将输入缓冲器8的当前深度计算 为输入缓冲器8的当前平均深度。紧接着,缓冲器填充模块72可确定输入缓冲器8的 当前深度是否大于或等于最小缓冲器深度(106)。如果输入缓冲器8的当前深度大于或等于最小缓冲器深度(106的"是"),则缓冲器填充模块72可设定用以指示"缓冲器填 充"阶段完成的旗标(108)。如果输入缓冲器8的当前深度并不大于或等于最小缓冲器 深度(106的"否"),则所述过程继续另一输出时钟脉冲的接收(100)。在缓冲器填充 模块72设定此旗标或在缓冲器填充模块72确定输入缓冲器8的当前深度并不大于或等 于(即,小于)最小缓冲器深度之后,时间变换模块26环回且等待直到从输出时钟14 接收到另一脉冲为止(100)。
如果阶段识别模块70确定代码转换器6并不处于"缓冲器填充"阶段(102的"否"), 则阶段识别模块70可确定代码转换器6是否处于校准阶段(110)。如果阶段识别模块 70确定代码转换器6处于校准阶段(110的"是"),则校准模块74可执行校准操作(U2)。 下文关于图5描述了实例校准操作。在校准模块74执行校准操作之后,时间变换模块 26可再次等待直到从输出时钟14接收到另一脉冲为止(100)。
另一方面,如果阶段识别模块70确定代码转换器6并不处于校准阶段(110的"否"), 则后校准模块76可执行后校准操作(114)。下文关于图6描述了实例后校准操作。在 后校准模块76执行校准操作之后,时间变换模块26可再次等待直到从输出时钟14接 收到另一脉冲为止(100)。
图5为说明由时间变换模块26中的校准模块74执行的示范性校准操作的流程图。 当校准模块74开始校准操作时,校准模块74可递增脉冲计数器73 ( 130)。紧接着,校 准模块74可测量输入缓冲器8的当前深度(132)。在测量输入缓冲器8的当前深度之 后,校准模块74可通过将输入缓冲器8的当前深度加到合计缓冲器深度75来更新合计 缓冲器深度值75 (134)。校准模块74可接着通过计算合计缓冲器深度值75除以脉冲计 数器73的商来计算输入缓冲器8的平均深度(136)。
在校准模块74计算平均缓冲器深度之后,校准模块74可确定平均缓冲器深度是否 稳定(138)。校准模块74可通过确定平均缓冲器深度在某一时间周期内是否已改变超 过某一百分数来确定所述平均缓冲器深度是否稳定。如果校准模块74确定平均缓冲器 深度是稳定的(138的"是"),则校准模块74可将设定点确定为平均缓冲器深度(140)。 紧接着,校准模块74可设定用以指示校准阶段完成的旗标(142)。
在校准模块74设定用以指示校准阶段完成的旗标或在校准模块74确定平均缓冲器 (144)深度并不稳定(138的"否")之后,校准模块74可从输入缓冲器移除占用一个 输出周期的MDU。校准模块74可接着将所述所移除的MDU输出到数据变换模块28 (146)。
图6为说明后校准模块76的示范性后校准操作的流程图。当阶段识别模块70指令后校准模块76执行后校准操作时,后校准模块76中的漂移计算模块80可计算输入缓 冲器8的平均深度(160)。紧接着,漂移计算模块80可计算漂移因子(162)。漂移计 算模块80可(例如)通过从设定点减去输入缓冲器8的平均深度来计算漂移因子。
在漂移计算模块80计算漂移因子之后,后校准模块76的时间间隔识别模块82中 的漂移阈值模块84可开始通过确定漂移因子的绝对值是否大于或等于最小漂移阈值来 识别校正量值的过程(164)。如果漂移阔值模块84确定漂移因子并不大于或等于(即, 小于)最小漂移阈值(164的"否"),则漂移阈值模块84可将校正量值设定到零(166)。
如果漂移阈值模块84确定漂移因子大于或等于最小漂移阈值(164的"是"),则时 间间隔识别模块82中的机会检测模块86可确定输入缓冲器8中的占等于一个输出周期 的时间量的所述组最旧MDU是否与校正机会相关联(168)。如上文所论述,当所述组 最旧MDU并不与对程序时钟参考的参考相关联时、当所述组最旧MDU中的MDU与不 连续程序时钟参考相关联时、当所述组最旧MDU中的MDU与不同程序映射表相关联 时、当一个或一个以上连续MDU对应于音频静默及/或黑暗或无视频时或当所述组最旧 MDU中的一个或一个以上MDU与程序映射表修正消息相关联时,机会检测模块86可 确定输入缓冲器中的此组最旧MDU构成校正机会。如果机会检测模块86确定输入缓冲 器8中的此组最旧MDU构成校正机会(168的"是"),则机会检测模块86可将校正量 值设定为等于漂移因子的全量(170)。
另一方面,如果机会检测模块86确定输入缓冲器8中的此组最旧MDU并不构成校 正机会(168的"否"),则时间间隔识别模块82中的部分校正模块88可确定漂移因子 的绝对值是否大于或等于最大可允许漂移阈值(172)。如果部分校正模块88确定漂移 因子大于或等于最大可允许漂移阈值(172的"是"),则部分校正模块88可将校正量值 设定为等于最大漂移校正值(174)。所述最大漂移校正值是一小于全漂移因子的值。如 果部分校正模块88确定漂移因子并不大于或等于最大可允许漂移阈值(172的"否"), 则部分校正模块88可将校正量值设定到零(176)。
在时间间隔识别模块82中的模块识别校正量值之后,MDU移除模块96可从输入 缓冲器8移除一组占等于一个输出周期减校正量值的时间的最旧MDU (178)。漂移校 正模块90可接着修改所述组MDU,使得经修改的所述组MDU占等于一个输出周期的 时间(180)。在漂移校正模块卯修改所述组MDU之后,漂移校正模块90可将所述经 修改的MDU提供到数据变换模块28 ( 182)。
可以硬件、软件、固件或其任何组合来实施本文中所描述的技术。任何被描述为模 块或组件的特征均可共同实施于集成逻辑装置中或单独实施为离散但能共同操作的逻辑装置。如果以软件来实施,则可至少部分地由包含指令的计算机可读媒体来实现所述 技术,当执行所述指令时,所述指令执行上文所描述的方法中的一者或一者以上。所述 计算机可读媒体可形成计算机程序产品的一部分,所述计算机程序产品可包括封装材 料。所述计算机可读媒体可包含随机存取存储器(RAM)(例如同步动态随机存取存储 器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦 除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等。所述技 术额外地或替代地可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒 体以可由计算机存取、读取及/或执行的指令或数据结构的形式来载送或传达代码。
所述代码可由一个或一个以上处理器(例如一个或一个以上数字信号处理器(DSP)、 通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集 成或离散逻辑电路)来执行。因此,如本文中所使用,术语"处理器"可指前述结构或 适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本 文中所描述的功能性可提供于经配置以用于编码及解码的专用软件模块或硬件模块内 或并入于组合式视频编码器解码器(CODEC)中。
已描述了各种实例实施方案。这些及其它实施方案在所附权利要求书的范围内。
权利要求
1.一种方法,其包含以视媒体源的源时钟而定的速率将多个媒体数据单元(“MDU”)存储到代码转换器的缓冲器中;识别用于所述缓冲器中的一组所述MDU的输出时间间隔,其中所述输出时间间隔视所述源时钟而定且与输出周期相差一校正量值,其中所述输出周期视所述代码转换器的输出时钟而定;从所述缓冲器移除所述组所述MDU,其中与所移除的所述组所述MDU相关联的时间量大体上对应于所述输出时间间隔;以及基于所述MDU的内容来修改从所述缓冲器移除的所述组所述MDU,使得与经修改的所述组MDU相关联的时间量大体上对应于所述输出周期。
2. 根据权利要求1所述的方法,其中修改所述组MDU包含基于所述MDU的内容来 添加或删除一个或一个以上MDU。
3. 根据权利要求1所述的方法,其进一步包含将经修改的所述组MDU作为输出媒体 数据流的一部分而输出。
4. 根据权利要求1所述的方法,其中识别所述输出时间间隔包含基于所述缓冲器的当前平均深度来识别所述校正量值;以及 将所述输出时间间隔识别为等于所述输出周期减去所述校正量值的值。
5. 根据权利要求4所述的方法,其中所述方法进一步包含在所述代码转换器处在校准阶段期间执行校准操作,所述校准操作确立作为所述 缓冲器的平均深度的测量的设定点;以及计算等于所述设定点减去所述缓冲器的当前平均深度的漂移因子,其中识别所述校正量值包含基于所述漂移因子来识别所述校正量值。
6. 根据权利要求5所述的方法,其中执行所述校准操作包含在所述校准阶段期间在每 次所述输出时钟指示所述输出周期己流逝时执行所述校准操作中的一者。
7. 根据权利要求5所述的方法,其中基于所述漂移因子来识别所述校正量值包含确定所述漂移因子的绝对值是否大于或等于最小漂移阈值;以及 当所述漂移因子的所述绝对值不大于或等于所述最小漂移阈值时,将所述校正量 值识别为零。
8. 根据权利要求5所述的方法,其中基于所述漂移因子来识别所述校正量值包含确定所移除的所述组所述MDU是否与校正机会相关联;以及 当所移除的所述组所述MDU与校正机会相关联时,将所述校正量值识别为所述漂移因子。
9. 根据权利要求8所述的方法,其中确定所移除的所述组所述MDU是否与所述校正机会相关联包含当满足选自 机会列表的至少一个机会时确定所移除的所述组所述MDU与所述校正机会相关 联,所述机会列表包括当所移除的所述组所述MDU中的所述MDU不与对程序时钟参考的参考相关联时,当所移除的所述组所述MDU中的MDU与不连续程序时钟参考相关联时, 当所移除的所述组所述MDU中的MDU与不同程序映射表相关联时, 当所移除的所述组所述MDU中的一个或一个以上MDU与程序映射表修正消 息相关联时,当所移除的所述组MDU中的一个或一个以上连续MDU与音频静默相关联时, 当所移除的所述组MDU中的一个或一个以上连续MDU与黑暗视频相关联时, 以及当所移除的所述组MDU中的一个或一个以上连续MDU与音频静默及黑暗视 频相关联时。
10. 根据权利要求5所述的方法,其中基于所述漂移因子来识别所述校正量值包含确定所述漂移因子的绝对值是否大于或等于最大可允许漂移阈值;以及 当所述漂移因子的所述绝对值大于或等于所述最大可允许漂移阈值时,将所述校 正量值识别为最大漂移校正值,其中所述最大漂移校正值是小于所述漂移因子的值。
11. 根据权利要求1所述的方法,其中所述MDU包含视频帧。
12. 根据权利要求11所述的方法,其中修改所述组MDU包含修改与所述视频帧相关 联的时间戳。
13. 根据权利要求1所述的方法,其中MDU包含音频样本。
14. 根据权利要求13所述的方法,其中修改所述组MDU包含删除一个或一个以上音 频样本。
15. 根据权利要求13所述的方法,其中修改所述组MDU包含插入一个或一个以上音 频样本。
16. 根据权利要求l所述的方法,其中识别用于所述缓冲器中的所述组所述MDU的所 述输出时间间隔包含识别用于所述组所述MDU的所述输出时间间隔,使得所述 缓冲器的平均深度不降到缓冲器下溢点以下且不升到缓冲器上溢点以上。
17. 根据权利要求1所述的方法,其进一步包含将所述MDU从第一格式变换为第二格 式,其中以所述第二格式而格式化所述输出媒体数据流中的所述组MDU。
18. 根据权利要求17所述的方法,其中所述第一格式选自由以下格式组成的群组移 动图片专家组(MPEG)标准格式、国际电信联盟(ITU) H.261标准格式、H.262 标准格式、H.263标准格式、ITUH.264标准格式以及串行数字接口标准格式。
19. 根据权利要求l所述的方法,其进一步包含接收包括经编码MDU的输入多媒体数据流;以及 通过对所述经编码MDU进行解码而产生所述MDU。
20. —种代码转换器装置,其包含输出时钟;缓冲器,其能够存储媒体数据单元("MDU");接收模块,其以视媒体源的源时钟而定的速率将所述MDU存储到所述缓冲器中;时间间隔识别模块,其识别用于所述缓冲器中的一组所述MDU的输出时间间隔, 其中所述输出时间间隔视所述源时钟而定且与输出周期相差一校正量值,其中所述 输出周期视所述代码转换器装置的所述输出时钟而定;MDU移除模块,其从所述缓冲器移除所述组MDU,其中与所移除的所述组所述 MDU相关联的时间量大体上对应于所述输出时间间隔;以及漂移校正模块,其基于所述MDU的内容来修改从所述缓冲器移除的所述组 MDU,使得与经修改的所述组所述MDU相关联的时间量大体上对应于所述输出周 期。
21. 根据权利要求20所述的装置,其中所述漂移校正模块通过基于所述MDU的内容 而添加或删除一个或一个以上MDU来修改所述组MDU。
22. 根据权利要求20所述的装置,其进一步包含输出模块,所述输出模块将经修改的 所述组MDU作为媒体输出流的一部分而输出。
23. 根据权利要求20所述的装置,其中所述时间间隔识别模块基于所述缓冲器的当前 平均深度来识别所述校正量值且将所述输出时间间隔识别为等于所述输出周期减 去所述校正量值的值。
24. 根据权利要求23所述的装置,其中所述装置进一步包含校准模块,所述校准模块在所述代码转换器装置处在校 准阶段期间执行校准操作,所述校准操作确立作为所述缓冲器的平均深度的测量的 设定点;其中所述时间间隔识别模块包含漂移计算模块,所述漂移计算模块计算等于所述 设定点减去所述缓冲器的当前平均深度的漂移因子;且其中所述时间间隔识别模块基于所述漂移因子来识别所述校正量值。
25. 根据权利要求24所述的装置,其中所述校准模块在所述校准阶段期间在每次所述 输出时钟指示所述输出周期已流逝时执行所述校准操作中的一者。
26. 根据权利要求24所述的装置,其中所述时间间隔识别模块包含漂移阈值模块,所述漂移阈值模块确定所述漂移因子的绝对值是否大于或等于最小漂移阈值,且当所 述漂移因子的所述绝对值不大于或等于所述最小漂移阈值时将所述校正量值识别 为零。
27. 根据权利要求24所述的装置,其中所述时间间隔识别模块包含机会检测模块,所 述机会检测模块确定所移除的所述组所述MDU是否与校正机会相关联,且当所移 除的所述组所述MDU与校正机会相关联时将所述校正量值识别为所述漂移因子。
28. 根据权利要求27所述的装置,其中当满足选自机会列表的至少一个机会时,所述机会检测模块确定所移除的所 述组所述MDU与校正机会相关联,所述机会列表包括-当所移除的所述组所述MDU中的所述MDU不与对程序时钟参考的参考相关 联时,当所移除的所述组所述MDU中的MDU与不连续程序时钟参考相关联时, 当所移除的所述组所述MDU中的MDU与不同程序映射表相关联时, 当所移除的所述组所述MDU中的一个或一个以上MDU与程序映射表修正消 息相关联时,当所移除的所述组MDU中的一个或一个以上连续MDU与音频静默相关联时, 当所移除的所述组MDU中的一个或一个以上连续MDU与黑暗视频相关联时, 以及当所移除的所述组MDU中的一个或一个以上连续MDU与音频静默及黑暗视 频相关联时。
29. 根据权利要求24所述的装置,其中所述时间间隔识别模块包含部分校正模块,所述部分校正模块确定所述漂移 因子的绝对值是否大于或等于最大可允许漂移阈值,且当所述漂移因子的所述绝对 值大于或等于所述最大可允许漂移阈值时将所述校正量值识别为最大漂移校正值,其中所述最大漂移校正值是小于所述漂移因子的值。
30. 根据权利要求20所述的装置,其中MDU包含视频帧。
31. 根据权利要求30所述的装置,其中所述漂移校正模块包含修改与所述视频帧相关 联的时间戳的视频修改模块。
32. 根据权利要求20所述的装置,其中MDU包含音频样本。
33. 根据权利要求32所述的装置,其中所述漂移校正模块包含删除所述音频样本中的 一者或一者以上以产生经修改的所述组MDU的音频修改模块。
34. 根据权利要求32所述的装置,其中所述漂移校正模块包含插入所述音频样本中的 一者或一者以上以产生经修改的所述组MDU的音频修改模块。
35. 根据权利要求20所述的装置,其中所述时间间隔识别模块识别用于所述缓冲器中 的所述组所述MDU的所述输出时间间隔,使得所述缓冲器的平均深度不降到缓冲 器下溢点以下且不升到缓冲器上溢点以上。
36. 根据权利要求20所述的装置,其中所述装置进一步包含将所述MDU从第一格式变换为第二格式的数据变换模 块;且其中所述输出媒体数据流中的MDU以所述第二格式而被格式化。
37. 根据权利要求36所述的装置,其中所述第一格式选自由以下格式组成的群组移 动图片专家组(MPEG)标准格式、国际电信联盟(ITU) H.261标准格式、H.262 标准格式、H.263标准格式、ITUH.264标准格式以及串行数字接口标准格式。
38. 根据权利要求20所述的装置,其中所述接收模块接收包括经编码MDU的输入多 媒体数据流且通过对所述经编码MDU进行解码而产生所述MDU。
39. —种代码转换器装置,其包含用于以视媒体源的源时钟而定的速率将多个媒体数据单元("MDU")存储到缓 冲器中的装置;用于识别用于所述缓冲器中的一组所述MDU的输出时间间隔的装置,其中所述 输出时间间隔视所述源时钟而定且与输出周期相差一校正量值,其中所述输出周期视所述代码转换器的输出时钟而定;用于从所述缓冲器移除所述组所述MDU的装置,其中与所移除的所述组所述 MDU相关联的时间量大体上对应于所述输出时间间隔;以及用于基于所述MDU的内容来修改从所述缓冲器移除的所述组所述MDU使得与 经修改的所述组MDU相关联的时间量大体上对应于所述输出周期的装置。
40. 根据权利要求39所述的装置,其中所述用于修改从所述缓冲器移除的所述组MDU 的装置通过基于所述MDU的内容而添加或删除一个或一个以上MDU来修改所述 组MDU。
41. 根据权利要求39所述的装置,其进一步包含用于将经修改的所述组MDU作为输 出媒体数据流的一部分而输出的装置。
42. 根据权利要求39所述的装置,其中所述用于识别所述输出时间间隔的装置-基于所述缓冲器的当前平均深度来识别所述校正量值;且 将所述输出时间间隔识别为等于所述输出周期减去所述校正量值的值。
43. 根据权利要求39所述的装置,其进一步包含用于在所述代码转换器处在校准阶段期间执行校准操作的装置,所述校准操作确立作为所述缓冲器的平均深度的测量的设定点;以及用于计算等于所述设定点减去所述缓冲器的当前平均深度的漂移因子的装置,其中所述用于识别所述校正量值的装置基于所述漂移因子来识别所述校正量值。
44. 根据权利要求43所述的装置,其中所述用于执行所述校准操作的装置在所述校准 阶段期间在每次所述输出时钟指示所述输出周期已流逝时执行所述校准操作中的一者。
45. 根据权利要求43所述的装置,其中所述用于基于所述漂移因子来识别所述校正量 值的装置确定所述漂移因子的绝对值是否大于或等于最小漂移阈值;且 当所述漂移因子的所述绝对值不大于或等于所述最小漂移阈值时将所述校正量值识别为零。
46. 根据权利要求43所述的装置,其中所述用于基于所述漂移因子来识别所述校正量 值的装置确定所移除的所述组所述MDU是否与校正机会相关联;且当所移除的所述组所述MDU与校正机会相关联时,将所述校正量值识别为所述 漂移因子。
47. 根据权利要求46所述的装置,其中所述用于确定所移除的所述组所述MDU是否与所述校正机会相关联的装置 包含用于当满足选自机会列表的至少一个机会时确定所移除的所述组所述MDU与 所述校正机会相关联的装置,所述机会列表包括当所移除的所述组所述MDU中的所述MDU不与对程序时钟参考的参考相关联时,当所移除的所述组所述MDU中的MDU与不连续程序时钟参考相关联时, 当所移除的所述组所述MDU中的MDU与不同程序映射表相关联时, 当所移除的所述组所述MDU中的一个或一个以上MDU与程序映射表修正消 息相关联时,当所移除的所述组MDU中的一个或一个以上连续MDU与音频静默相关联时, 当所移除的所述组MDU中的一个或一个以上连续MDU与黑暗视频相关联时, 以及当所移除的所述组MDU中的一个或一个以上连续MDU与音频静默及黑暗视 频相关联时。
48. 根据权利要求43所述的装置,其中所述用于基于所述漂移因子来识别所述校正量 值的装置确定所述漂移因子的绝对值是否大于或等于最大可允许漂移阈值;且 当所述漂移因子的所述绝对值大于或等于所述最大可允许漂移阈值时将所述校 正量值识别为最大漂移校正值,其中所述最大漂移校正值是小于所述漂移因子的值。
49. 根据权利要求39所述的装置,其中所述MDU包含视频帧。
50. 根据权利要求49所述的装置,其中所述用于修改所述组MDU的装置修改与所述 视频帧相关联的时间戳。
51. 根据权利要求39所述的装置,其中MDU包含音频样本。
52. 根据权利要求51所述的装置,其中所述用于修改所述组MDU的装置删除一个或 一个以上音频样本。
53. 根据权利要求51所述的装置,其中所述用于修改所述组MDU的装置插入一个或 一个以上音频样本。
54. 根据权利要求39所述的装置,其中所述用于识别用于所述缓冲器中的所述组所述 MDU的所述输出时间间隔的装置识别用于所述组所述MDU的所述输出时间间隔, 使得所述缓冲器的平均深度不降到缓冲器下溢点以下且不升到缓冲器上溢点以上。
55. 根据权利要求39所述的装置,其进一步包含用于将所述MDU从第一格式变换为 第二格式的装置,其中所述输出媒体数据流中的所述组MDU以所述第二格式而被 格式化。
56. 根据权利要求55所述的装置,其中所述第一格式选自由以下格式组成的群组移 动图片专家组(MPEG)标准格式、国际电信联盟(ITU) H.261标准格式、H.262 标准格式、H.263标准格式、ITUH.264标准格式以及串行数字接口标准格式。
57. 根据权利要求39所述的装置,其进一步包含用于接收包括经编码MDU的输入多媒体数据流的装置;以及 用于通过对所述经编码MDU进行解码而产生所述MDU的装置。
58. —种包含指令的计算机可读媒体,所述指令在执行时致使一个或一个以上处理器以视媒体源的源时钟而定的速率将多个媒体数据单元("MDU")存储到代码转 换器的缓冲器中;识别用于所述缓冲器中的一组所述MDU的输出时间间隔,其中所述输出时间间 隔视所述源时钟而定且与输出周期相差一校正量值,其中所述输出周期视所述代码 转换器的输出时钟而定;从所述缓冲器移除所述组所述MDU,其中与所移除的所述组所述MDU相关联 的时间量大体上对应于所述输出时间间隔;且基于所述MDU的内容来修改从所述缓冲器移除的所述组所述MDU,使得与经 修改的所述组MDU相关联的时间量大体上对应于所述输出周期。
59. 根据权利要求58所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器通过基于所述MDU的内容来添加或删除一个或一个以上MDU而 修改所述组MDU。
60. 根据权利要求58所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器将经修改的所述组MDU作为输出媒体数据流的一部分而输出。
61. 根据权利要求58所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器基于所述缓冲器的当前平均深度来识别所述校正量值;且 将所述输出时间间隔识别为等于所述输出周期减去所述校正量值的值。
62. 根据权利要求61所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器在所述代码转换器处在校准阶段期间执行校准操作,所述校准操作确立作为所述缓冲器的平均深度的测量的设定点;且计算等于所述设定点减去所述缓冲器的当前平均深度的漂移因子,其中识别所述校正量值包含基于所述漂移因子来识别所述校正量值。
63. 根据权利要求61所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器在所述校准阶段期间在每次所述输出时钟指示所述输出周期已流 逝时执行所述校准操作中的一者。
64. 根据权利要求61所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器确定所述漂移因子的绝对值是否大于或等于最小漂移阈值;且 当所述漂移因子的所述绝对值不大于或等于所述最小漂移阈值时,将所述校正量 值识别为零。
65. 根据权利要求61所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器确定所移除的所述组所述MDU是否与校正机会相关联;且当所移除的所述组所述MDU与校正机会相关联时,将所述校正量值识别为所述 漂移因子。
66. 根据权利要求65所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器确定所移除的所述组所述MDU是否与所述校正机会相关联,所述确定包含当满 足选自机会列表的至少一个机会时确定所移除的所述组所述MDU与所述校正机会相关联,所述机会列表包括当所移除的所述组所述MDU中的所述MDU不与对程序时钟参考的参考相关 联时,当所移除的所述组所述MDU中的MDU与不连续程序时钟参考相关联时, 当所移除的所述组所述MDU中的MDU与不同程序映射表相关联时, 当所移除的所述组所述MDU中的一个或一个以上MDU与程序映射表修正消 息相关联时,当所移除的所述组MDU中的一个或一个以上连续MDU与音频静默相关联时, 当所移除的所述组MDU中的一个或一个以上连续MDU与黑暗视频相关联时, 以及当所移除的所述组MDU中的一个或一个以上连续MDU与音频静默及黑暗视 频相关联时。
67. 根据权利要求61所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器确定所述漂移因子的绝对值是否大于或等于最大可允许漂移阈值;且 当所述漂移因子的所述绝对值大于或等于所述最大可允许漂移阈值时,将所述校 正量值识别为最大漂移校正值,其中所述最大漂移校正值是小于所述漂移因子的值。
68. 根据权利要求58所述的计算机可读媒体,其中所述MDU包含视频帧。
69. 根据权利要求68所述的计算机可读媒体,其中所述指令在执行时通过修改与所述 视频帧相关联的时间戳来修改所述组MDU。
70. 根据权利要求58所述的计算机可读媒体,其中所述MDU包含音频样本。
71. 根据权利要求70所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器通过删除一个或一个以上音频样本来修改所述组MDU。
72. 根据权利要求70所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器通过插入一个或一个以上音频样本来修改所述组MDU。
73. 根据权利要求58所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器识别用于所述组所述MDU的所述输出时间间隔,使得所述缓冲器 的平均深度不降到缓冲器下溢点以下且不升到缓冲器上溢点以上。
74. 根据权利要求58所述的计算机可读媒体,其中所述指令在执行时致使所述一个或 一个以上处理器将所述MDU从第一格式变换为第二格式,其中所述输出媒体数据 流中的所述组MDU以所述第二格式而被格式化。
75. 根据权利要求74所述的计算机可读媒体,其中所述第一格式选自由以下格式组成 的群组移动图片专家组(MPEG)标准格式、国际电信联盟(ITU) H.261标准格 式、H.262标准格式、H.263标准格式、ITU H.264标准格式以及串行数字接口标准 格式。
76. 根据权利要求58所述的计算机可读媒体,其中所述指令在执行时致使所述一个或一个以上处理器接收包括经编码MDU的输入多媒体数据流;且 通过对所述经编码MDU进行解码而产生所述MDU。
全文摘要
一般来说,本发明描述补偿和输入媒体数据流相关联的时钟与和输出媒体数据流相关联的时钟之间的差异的技术。归因于管控代码转换器用以接收媒体数据单元(MDU)的速率的时钟与管控所述代码转换器用以输出MDU的速率的时钟之间的漂移,所述代码转换器可以比所述代码转换器用以输出MDU的速率快或慢的速率接收所述MDU。所述代码转换器通过以下操作来补偿所述差异识别占等于输出周期减去校正量值的时间的若干组已接收MDU;修改已识别的所述若干组MDU,使得所述若干组MDU占等于所述输出周期的时间;以及将经修改的所述若干组MDU作为输出流的一部分而输出。
文档编号H04N7/24GK101622875SQ200880006421
公开日2010年1月6日 申请日期2008年2月29日 优先权日2007年3月1日
发明者塞拉菲姆·S·小劳卡斯 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1