专利名称:使用耦合到可变速率解码器的可变速率节目流缓冲器来切换节目流的方法和装置的制作方法
使用耦合到可变速率解码器的可变速率节目流缓冲器来切换节目流的方法
和装置
背景技术:
由于改变频道时显著的延迟,较长的数字电视(DTV)频道捕获时间
导致了不良的用户体验。频道切换时间的延迟可能由多种因素造成,诸如
射频(RF)调谐器频率的改变、正交振幅调制(QAM)锁定、符号锁定、分组标识(PID)解码和节目捕获、帧内编码帧(I-帧)延迟、视频帧缓冲器建立、以及节目选择迟滞。在一些情况下,当切换数字频道时,DTV设备可能经历超过一秒的延迟。在该延迟期间,DTV设备上显示的是空白的或冻结的屏幕。
图l示出了根据一个或多个实施例的媒体系统。
图2A和2B示出了根据一个或多个实施例的节目流切换装置。
图3示出了根据一个或多个实施例的用于切换节目流的逻辑流程图。
图4示出了根据一个或多个实施例的包括节目流切换逻辑的制造物品。
具体实施例方式
描述了用于使用耦合到可变速率解码器的可变速率节目流缓冲器来切换节目流的多个实施例。在一个或多个实施例中,在一个或多个实施例中,可以配置可变速率节目流缓冲器来接收多个节目流(例如,视频节目流),并且缓沖包括至少一个锚定帧(anchor frame)的历史帧。可以将可变速率节目流缓冲器配置为总是包括至少一个锚定帧,并且可以通过与活动频道节目流和一个或多个备选频道节目流对应的运行缓冲器(running buffer)和/或弹性缓冲器(elastic buffer)来实现可变速率节目流缓冲器。在检测到频道切换点之后,可以向可变速率解码器以加速方式提供包括锚定帧的、直到频道切换点的历史帧。可以在极短的时间瞬间或突发中(例如,在一个帧或更少的时间间隔之内)将上述历史帧提供给可变速率解码器,以使可 变速率解码器能够追赶上以达到实时的概念。
图1示出了根据一个或多个实施例的媒体系统100的方框图。 一般而 言,媒体系统100可以包括用于传递信息的多个物理和/或逻辑组件,可以
根据对给定设计参数或性能要求的需要,将这些物理和/或逻辑组件实现为 硬件、软件或其组合。尽管图l可能以举例的方式示出了有限数量的组件, 但是应当理解对于给定实施例,可以使用更多或更少数量的组件。
可以将媒体系统100配置为传递一种或多种信息,诸如媒体信息和控
制信息。媒体信息一般地可以指表示用户所需内容的任何数据。诸如图
像信息、视频信息、音频信息、A/V信息、图形信息、语音信息、文本信 息、数值信息、字母数字信息、文字符号等。控制信息一般地可以指表示 针对自动系统的命令、指令或控制字的任何数据。例如,控制信息可以用 来在系统中传递媒体信息、或者指示节点以特定的方式来处理媒体信息。 可以将媒体信息和控制信息在多个不同设备或网络之间进行传递。在多个 实施例中,可以将媒体信息和控制信息分割成一系列分组。例如,每个分 组可以包括具有以比特或字节表示的固定或可变大小的分立的数据集。应 当理解,所描述的实施例可以应用于其它类型的通信内容或格式,诸如分 组(packet )、帧(frame)、分段(fragment)、胞元(cell)、窗口 (window)、单元 (unit)等。
在多个实施例中,媒体系统100可以构成有线通信系统、无线通信系 统或其组合的一部分。例如,可以将媒体系统100配置为在一种或多种有 线通信链路上传递信息。有线通信链路的实例可以包括但不限于导线、 线缆、总线、印刷电路板(PCB)、以太网连接、端对端(P2P)连接、底 板、交换结构、半导体材料、双绞线、同轴电缆、光纤连接等。还可以将 媒体系统100配置为在一种或多种无线通信链路上传递信息。无线通信链 路的实例可以包括但不限于无线电信道、卫星信道、电视信道、广播信 道、红外信道、射频(RF)信道、无线保真(WiFi)信道、RF频谱的一部 分、和/或一个或多个授权或未授权频带。虽然可能以举例的方式使用特定 的通信介质来对特定实施例进行了说明,应当理解,本文所讨论的原理和 技术可以使用多种通信介质和相关技术来实现。可以将媒体系统100实现在包括用于无线通信的一个或多个接口和/或
组件的设备之内,或者与该设备相连接,所述用于无线通信的一个或多个
接口和/或组件诸如 一个或多个发射机、接收机、收发机、芯片组、放大 器、滤波器、控制逻辑、网络接口卡(NIC)、天线等。天线的实例可以包 括但不限于内部天线、全向天线、单极天线、双极天线、底端馈线天线、 圆形极化天线、微带天线、分集天线、双向天线、天线阵列等。
媒体系统100可以根据由标准化组织所颁布的一个或多个协议和/或标 准来传送信息,这些标准化组织诸如国际电信联盟(ITU)、国际标准化 组织(ISO)、国际电工技术委员会(IEC)、电气和电子工程师协会(正EE)、 因特网工程任务组(正TF)等。在多个实施例中,例如,媒体系统100可 以根据媒体处理标准来传送信息,所述媒体处理标准诸如ITU/IECH.263 标准(2000年11月公布的ITU-T推荐标准H,263v3:用于低比特率通信的 视频编码)、ITU/IEC H.264标准(2003年5月公布的ITU-T推荐标准H.264: 用于极低比特率通信的视频编码)、活动图像专家组(MPEG)标准(例如, MPEG-1、 MPEG-2、 MPEG-4)、数字视频广播(DVB)地面(DVB-T)标 准、DVB卫星(DVB-S或-S2)标准、DVB线缆(DVB-C)标准、用于手 持设备的地面DVB (DVB-H)、全国电视系统委员会(NTSC)和逐行倒相
(PAL)标准、高级电视系统委员会(ATSC)标准、电影与电视工程师学 会(SMPTE)标准(例如,基于视窗媒体视频(WMV)第9版的SMPTE 421M 或VC-1标准)、互联网协议上的数字传输内容保护(DTCP-IP)标准、高 性能无线局域网(HiperLAN)标准等。
在一个或多个实施例中,可以针对消费电子(CE)平台将媒体系统100 实J见为设备之内和/或与设备相连接的系统,所述设备诸如机顶盒(STB) 设备、电视(TV)设备、数字电视(DTV)设备、高清TV (HDTV)设备、 直接广播卫星TV (DBS)设备、视频点播(VOD)设备、互联网协议TV
(IPTV)设备、网络TV设备、数字视频记录器(DVR)设备、数字多功 能盘(DVD)设备、高清晰DVD (HD-DVD)设备、蓝光盘(BD)设备、 视频家庭系统(VHS)设备、数字VHS设备、娱乐系统、媒体播放器、媒 体器材、音频/视频(A/V)接收机、个人计算机(PC)或者与所描述的实 施例相符合的任何其它合适的显示设备。在多个实施例中,可以将媒体系统ioo配置为从媒体源接收媒体内容。
媒体源一般地可以包括能够向媒体系统100传递静态或动态媒体内容的各
种设备和/或系统。在一个实施例中,例如,媒体源可以包括媒体分发系统
(DS)或广播系统,或者媒体源可以构成媒体分发系统(DS)或广播系统 的一部分,所述广播系统诸如空中(OTA)广播系统、DVB系统、无线 广播系统、卫星广播系统等。在其它实施例中,媒体源可以包括配置为提 供广播或流式媒体内容的多媒体服务器。可以将媒体源实现在VOD系统或 交互式电视系统中,该VOD系统或交互式电视系统允许用户通过网络来选 择、接收和观看视频内容。媒体源还可以包括IPTV系统或者构成IPTV系 统的一部分,该IPTV系统通过IP连接(例如,宽带连接)来传递数字电 视内容。实施例不限于本文所描述的内容。
根据给定实施方式,媒体系统100通过能够承载信息信号的多种通信 信道耦合到媒体源,所述通信信道诸如有线通信链路、无线通信链路或 其组合。还可以将媒体系统100配置为通过多种组件或接口从媒体源接收 媒体内容。例如,可以将媒体系统100配置为通过一个或多个调谐器和/或 接口来接收媒体内容,所述一个或多个调谐器和/或接口诸如 一个或多个 数字调谐器、 一个或多个模拟调谐器、开放线缆(OC, OpenCable)调谐器、 NTSC/PAL调谐器、调谐器/解调器、部署点(POD) /DVB公共接口
(DVB-CI)、 A/V解码器接口、以太网接口、 PCI接口等。
传递给媒体系统100的媒体内容可以包括多种信息,诸如图像信息、 音频信息、视频信息、A/V信息、和/或其它数据。在一些实施方式中,可 以将媒体源配置为传递多种格式的媒体内容以供设备使用,所述设备诸如 STB设备、TV设备、DTV设备、HDTV设备、DBS设备、VOD设备、IPTV 设备、WebTV设备、DVR设备、DVD设备、HD-DVD设备、BD设备、 VHS设备、数字VHS设备、娱乐系统、媒体播放器、媒体器材、A/V接收 机、PC、显示设备等。
在多个实施例中,可以将媒体内容作为一个或多个传输流和节目流传 递给媒体系统100。例如,传输流可以包括在ISO/正C标准13818-1:2000 信息技术——电影和相关音频信息的通用编码——第一部分系统中规定 的MPEG-2传输流。例如,传输流还可以包括在ATSC标准A/90:数据广播标准——修订案1和勘误表1和2中规定的用于数字电视的ATSC传输 流。通常,ATSC数据广播标准所定义的协议与根据MPEG-2 (ISO/IEC 13818-1)系统所构建的数字复用比特流相兼容。
传输流可以包括含有固定大小传输分组的序列或比特流。例如,可以 通过MPEG-2或ATSC传输流将媒体内容作为188字节的传输分组来进行 传递。在一些实施例中,每个传输分组可以是固定长度的188字节的分组, 其包括有效负载和头信息。头信息可以包括用于区分流的分组标识符(PID) 或者用于标识该分组中内容的其它信息(例如,同步字节、传输错误标记、 有效负载开始标记、传输优先级标记、加扰控制比特、自适应字段控制比 特、连续性计数器比特)。在一些情况下,还可以将差错校正数据附加到传 输分组。
每个传输流可以包括一个或多个节目流。例如,MPEG-2和ATSC传输 流支持多个节目流。传输流的速率或比特率可以决定其支持的节目数量。 由于传输流可以包括固定大小的传输分组,所以该传输流可以支持的节目 流的数量取决于该传输流的比特率,传输流的比特率与该传输流的大小无 关。也就是说,使用更高的比特率可以接收更多的内容。
每个节目流可以包括音频、视频和/或数据内容。在一些实施例中,可 以对节目流的内容进行编码或压縮,以允许媒体系统100高效地存储和转 移数据。在多个实施方式中,可以使用例如空间压縮的技术,该空间压縮 使用离散余弦变换(DCT)、时间压縮、运动补偿和量化。可以执行视频压 縮,例如可以根据诸如H.264、 MPEG-2、 MPEG-4、 VC-I等标准来进行视 频压縮。可以执行音频压縮,例如,可以根据用于DTV、 DVD、 HDTV、 数字线缆和卫星传输的自适应变换编码3 (AC-3)或ATSC A/52音频比特 流标准来执行音频压縮。
传输流可以包括多个复用的节目流。例如,传输流可以支持对来自于 具有独立时间基准的多个节目的视频和音频压縮流的复用。因此,不需要 多个节目流之间的同步,并且节目流可以实时地相互异步。传输流可以包 括代表一个或多个频道(例如,电视频道)的节目流。可以通过传输分组 中的PID将特定频道的多个相关节目流相互关联起来。可以通过对具有相 关PID的传输分组中的有效负载进行解码以及通过丢弃所有其它PID的内容,来将接收机调谐到特定的频道。
在多个实施方式中,可以使用编码正交频分复用(COFDM)调制、用 于ATSC的8级残留边带(8VCB)调制或者其它合适的调制技术来对传输 流进行调制,以允许发射机和调谐器接收机进行通信。在一些情况下,在 将音频和视频解码和解复用为多个组份流(constituent stream)之前,接收 机可以对传输流进行解调并进行差错校正。
尽管使用MPEG-2或者ATSC传输流和节目流对一些实施例进行了描 述,应当理解,可以使用与所描述实施例相一致的多种传输方法和/或节目 流。此外,虽然描述了特定类型的通信网络(例如,ATSC、 DTV、 HDTV 网络),但是可以使用其它类型的通信网络。此外,虽然针对视频内容(例 如,ATSC、 DTV、 HDTV视频内容)对一些实施例进行了描述,但是应当 理解可以实现其它类型的内容。
如图1所示,媒体系统100可以包括多个功能单元或模块,用于对一 个或多个传输流和/或节目流进行接收和处理。在多个实施例中,功能单元 或模块可以包括用于执行媒体系统100的一个或多个操作的硬件和/或软 件。例如,模块可以包括控制器或其它计算设备,配置为执行作为软件、 代码和/或固件实现的逻辑。模块还可以包括通过一种或多种计算机可读存 储介质实现的存储器,该一种或多种计算机可读存储介质诸如易失性存 储器或非易失性存储器、可移动存储器或不可移动存储器、可擦除存储器 或非可擦除存储器、可写存储器或可重写存储器等。
媒体系统100可以包括数字调谐器模块102,其配置为接收一个或多个 传输流。在一个或多个实施例中,数字调谐器模块102可以配置为对多个 传输流进行解码。在一些实施方式中,单个数字调谐器可以用于多个节目 流。在其它实施方式中,可以使用多个数字调谐器。在一些情况下,可以 实现调谐器阵列,其包括多个数字调谐器和/或调谐器模块104和一个或多 个模拟调谐器104。
在一些实施例中,数字调谐器模块102可以包括设置在不同频道的多 个数字调谐器,其中一个数字调谐器设置在活动频道并且其它数字调谐器 设置在备选的频道。例如,数字调谐器模块102可以包括三个调谐器,用 于接收三个传输流并且基于本地环境条件调谐到三个频道。可以将主调谐器调谐到活动频道,可以将第一备选调谐器调谐到一个前向DTV频道,并 且可以将第二备选调谐器调谐到一个后向DTV频道。在一些情况下,可以 基于时间延迟之后的频道映射将备选调谐器定位到向上的频道或向下的频 道和/或定位到后一个频道和前一个频道。可以使用四个调谐器,以涵盖基 于时间延迟之后频道映射的频道向上和向下、跳转(来回切换)和返回、 后一个和前一个频道,或者启发式地定位到向上的频道或向下的频道。可 以使用五个调谐器,以涵盖频道向上和向下、跳转和返回、跳转链以及启 发式选择。启发式选择可以涉及基于频道输入进行预测,例如,在按下按 钮2之后按下按钮4则选择频道24,其中,在输入2之后立刻将两个调谐 器定位到频道23和频道24。
媒体系统100可以包括传输流选择模块106。在一个或多个实施例中, 传输流选择模块106可以耦合到数字调谐器模块102并且可以通过一个或 多个解复用器来实现。传输流选择模块106可以配置为在从数字调谐器模 块102接收的多个传输流中进行选择,并且提供一个或多个传输流作为输 出。
媒体系统100可以包括节目流选择模块108。在一个或多个实施例中, 节目流选择模块108可以耦合到传输流选择模块106并且可以通过一个或 多个传输解复用器来实现。传输解复用器可以配置为接收传输流并且对传 输流进行解复用以提供一个或多个节目流。例如,传输解复用器可以将输 入的复用的多节目传输流分离为多个独立的节目流(例如,视频流、音频 流、数据流等)。
传输流选择模块106可以配置为选择和提供多个节目流作为输出。在 一个或多个实施例中,节目流选择模块108可以选择对应于活动频道和一 个或多个备选频道的多个节目流。例如,备选频道可以包括前向频道、后 向频道、向上频道、向下频道、后一个频道、前一个频道(例如,基于时 间延迟之后的频道映射)、跳转(来回切换)频道、返回频道、预测频道、 启发式选择频道等。
在多个实施例中,可以由多个解复用器来实现传输流选择模块106,并 且可以由多个传输解复用器来实现节目流选择模块108。在这些实施例中, 传输流选择模块106可以与节目流选择模块108协作以实现纵横开关(cross-bar switching)功會巨,用于从一个或多个传输流中选择一个或多个节 目流。
媒体系统100可以包括可变速率节目流缓冲器模块110。可变速率节目 流缓冲器模块110可以耦合到节目流选择模块108,并且可以由多个缓冲器 112-1到112-N来实现,其中N可以代表与所描述实施例相一致的任何正整 数。在多个实施方式中,可以设计所使用的缓冲器112-1的数量,以适应当 快速改变频道时可能发生的缓冲器之间的频繁切换。
在一个或多个实施例中,例如,缓冲器112-1到112-N中的每一个可以 包括对应于活动频道节目流和一个或多个备选频道节目流的一个或多个运 行(例如,弹性)缓冲器。在一些实施例中,例如,第一缓沖器112-1和第 二缓冲器112-2均可以由MPEG-2比特流缓冲器和/或AC-3比特流缓冲器 来实现。在特定的时间点,缓冲器112-1可以包括活动频道节目流缓冲,并 且缓冲器112-2可以包括备选频道节目流缓冲。应当理解,在切换到备选频 道的特定切换点(例如,频道改变),缓冲器112-1和112-2可能互换角色, 使得第一缓冲器112-1包括备选频道节目流缓冲以及第二缓冲器112-2包括 活动频道节目流缓冲。
在多个实施方式中,由可变速率节目流缓冲器模块110和/或缓冲器 112-1到112-N接收的节目流可以包括视频流,例如,MPEG-2编码视频流。 在这些实施方式中,每个节目流可以包括图片序列,诸如图片组(GOP) 或长GOP (LGOP)。例如,当使用MPEG-2来进行编码时,可以将每个图 片分割为宏块,并且图片序列可以由三种压縮帧来实现帧内编码帧(I-帧)、预测编码帧(P-帧)和双向预测编码帧(B-帧)。在一些情况下,帧的 类型可以基于宏块预测。应当理解,可以将图片进一步分为更小的区域(例 如,切片),并且可以基于该更小的区域进行预测。
例如,当使用MPEG-2或H.264视频压縮来压縮视频时,通常针对图 片之间的差异(例如,针对图片之间的运动区域)来执行编码。例如,P-帧和B-帧利用其它参考帧中先前解码的数据来允许更大的压縮。对于P-帧 而言,可以使用参考一个或多个先前解码帧的前向预测来编码宏块。对于 B-帧而言,可以使用参考一个或多个先前帧的前向预测、参考一个或多个 未来帧的后向预测和/或参考一个或多个过去帧和未来帧的内插预测来对宏块进行编码。应当理解,虽然P-帧和B-帧允许更大的压縮,但是P-帧和 B-帧的解码需要对其它参考帧较早地进行解码。
不同于P-帧和B-帧,I-帧不依赖于过去帧或未来帧的先前解码的数据。 例如,I-帧可以在不参考其自身之外的任何其它帧的情况下进行编码。I-帧 一般地可以包括单个完整帧的压縮版本。对于I-帧而言,可以在没有预测 的情况下对所有宏块进行编码。在多个实施方式中,可以使用I-帧作为用 于解码其它帧(例如,P-帧和B-帧)的参考,并且I-帧可以包括锚定帧或 起始点,用于在频道切换之后的预测。当由解码器接收之后,I-帧可以建立 起始点以允许解码器正确地从I-帧的位置处开始进行解码。
由于I-帧一般需要很多比特,可以在视频流中较少地发送I-帧。例如, 在GOP中I-帧之间典型地可以具有15个帧。因此,在解码MPEG-2视频 流时,在频道发生改变并且解调开始之后,当从视频流中取出帧时,对解 码器而言起始点具有不确定性。在一些应用中,在频道切换发生之后,用 于获取I-帧并且开始正确地进行解码的延迟可能达500毫秒。例如,DTV 环境中的刷新时间常常是半秒,并且在一些情况下可能会经历更长的刷新 时间。这导致了严重的迟滞,并且在检测到I-帧之前会显示空白或冻结的 屏幕。
在多个实施例中,可变速率节目流缓冲器模块no可以配置为总是包 括锚定帧。例如,在MPEG-2或ATCS实施方式中,锚定帧可以包括I-帧。 对于一些实施方式而言,可变速率节目流缓冲器模块110的缓冲器112-1到 112-N中的每一个可以配置为缓冲至少16个帧,以确保通常情况下的任何 时候至少存储一个I-帧,在该通常情况下图片序列(例如,GOP)中I-帧之 间具有15个帧(例如,P-帧、B-帧)。应当理解,锚定帧(例如,I-帧)可 以是异步的并且相对于时间而移动。缓冲器112-1到112-N可以包括运行和 /或弹性缓冲器,其具有的帧数随时间变化,但是总是包含至少一个锚定帧 (例如,I-帧)。
在一个或多个实施例中,可以在可变速率节目流缓冲器模块110中的 一个或多个备选频道节目流缓冲器(例如,缓冲器112-2至IJ112-N)内存储 锚定帧(例如,I-帧)。因此,可以在检测到节目流切换(例如,频道改变) 之后立即以加速的方式得到锚定帧。可变速率节目流缓冲器模块IIO可以耦合到可变速率解码器模块114。 例如,可以由一个或多个可变速率解码器(例如, 一个或多个可变速率 MPEG-2解码器和/或一个或多个可变速率AC-3解码器)来实现可变速率解 码器模块114。在多个实施方式中,可变速率节目流缓冲器模块110可以配 置为向可变速率解码器模块114以加速方式和/或尽可能快地提供所缓冲的 锚定帧(例如,I-帧)。
在一个或多个实施例中,当频道改变发生时,执行从活动频道节目流 到备选频道节目流的切换。在检测到改变或切换之后,可变速率节目流缓 冲器模块110可以配置为向可变速率解码器模块114提供或送入历史数据, 该历史数据开始于最近的历史锚定帧(例如,I-帧)并且包括直到当前频道 切换点的历史数据或帧(例如,P-帧、B-帧)。可变速率节目流缓沖器模块 110可以实现历史缓冲器,该历史缓冲器创建历史数据组成的锚定帧(例如, I-帧),并且将从最近的锚定帧直到实际时间的历史数据送入可变速率解码 器110。
在多个实施方式中,在极短的时间瞬间或突发中将历史数据提供给可 变速率解码器模块114 (例如,MPEG-2和/或AC-3可变速率解码器),以 使可变速率解码器模块114能够追赶上实时的状态。例如,可以将包括锚 定帧(例如,I-帧)以及直到频道切换点的其它历史帧(例如,P-帧、B-帧) 的历史数据在一帧时间或更短的时间段(例如,1/30秒或1/60秒)内提供 给可变速率编码器模块114。可变速率解码器模块114可以配置为比在实时 状态下更快地接收和解译历史帧,以使离散的时间系统能够追赶上实际时 间。
可变速率解码器模块114可以配置为执行快速更新,以使节目流赶上 实际时间,然后恢复常规速度。在一个或多个实施例中,将所有的历史帧 (例如,I-帧、P-帧、B-帧)送入到可变速率解码器模块110之后,可变速 率解码器模块110开始实时地正常地获取帧。在多个实施方式中,可变速 率解码器模块no可以准确地同步到实际时间,而没有明显的停顿间隙, 使得媒体处理(例如,视频和/或音频)看起来是连续的。
媒体系统100可以包括视频处理模块116。视频处理模块116可以耦合 到可变速率解码器模块114以执行媒体系统100中的用于渲染、显示和/或在显示器(诸如屏幕或其它用户接口 (UI))上播放媒体内容的多个后台处 理操作。在多个实施例中,视频处理模块116可配置为从可变速率解码器 模块114接收视频流(例如,ATSC、 DTV、 HDTV视频流)并且执行视频 和/或音频处理操作,以进行解交织、图像增强、垂直消隐期间(VBI)处 理、电视文字广播、闭路字幕、縮放、画中画(PiP)、在屏显示(OSD)、 颜色控制、显示接口、低电压差分信号传输(LVDS)等。
图2A和图2B示出了根据一个或多个实施例的节目流切换装置200。 用于说明而不是限制的目的,将参考图2A和图2B对示例性实施方式进行 描述。在该实施方式中,节目流可以包括MPEG-2视频节目流,该MPEG-2 视频节目流包含I-帧、P-帧和B-帧组成的图片序列。本文中实施例不是限 制性的。
如图所示,节目流切换装置200可以包括第一可变速率节目流缓冲器 (第一缓冲器)202和第二可变速率节目流缓冲器(第二缓冲器)204,其 配置为从传输解复用器接收MPEG-2视频节目流,并且耦合到可变速率 MPEG-2解码器206。在图2A中,第一缓冲器202包括向MPEG-2解码器 206馈送内容的活动频道节目流缓冲器。第二缓冲器204包括用于缓冲备选 频道节目流的备选频道节目流缓冲器。缓冲器202和204均包括至少十六 个帧,该十六个帧在任何时刻都包括至少一个I-帧。应当理解,I-帧之间不 是同步的。在紧接着频道切换点之前的一个时刻, 一个B-帧被从第一缓冲 器202 (例如,活动频道节目流缓冲器)发送到可变速率MPEG-2解码器 206。
在图2B中,在频道改变的时刻,进行从第一缓冲器202到第二缓冲器 204的切换,使得第一缓冲器202包括备选频道节目流缓冲器,并且第二缓 冲器204包括活动频道节目流缓冲器。如图所示,将最近的历史I-帧连同 直到频道切换点的其它历史帧(B-帧、B-帧和P-帧) 一起发送到可变速率 MPEG-2解码器206。
在多个实施方式中,可以在极短的时间瞬间或突发中将历史帧(例如, IBBP帧)提供给可变速率MPEG-2解码器206,以使可变速率MPEG-2解
码器206能够追赶上实际时间。例如,可以在一个帧计数或更少的时间段 (例如,1/30或1/60秒)内将直到频道切换点的历史帧(例如,IBBP帧)提供给可变速率MPEG-2解码器206。可变速率MPEG-2解码器206可以 配置为比实时状态更快地接收和解译历史帧。
可变速率MPEG-2解码器可以配置为执行快速更新,以使节目流赶上 实际时间,然后恢复常规速度。如图所示,在将所有历史帧(例如,IBBP 帧)送入到可变速率MPEG-2解码器206之后,可变速率MPEG-2解码器 206实时地以常规速度获取B-帧。在多个实施方式中,可变速率MPEG-2 解码器206可以准确地同步到实际时间而没有明显的停顿间隙,使得媒体 处理(例如,视频和/或音频)看起来是连续的。
将参考附图和所附实例来进一步描述多个实施例的操作。 一些附图可 能包括逻辑流程。应当理解,示出的逻辑流程仅仅提供如何实现所描述功 能的一个实例。此外,除非另有说明,给定逻辑流程不必以所示顺序来执 行。此外,可以由硬件元件、由处理器执行的软件元件或者其组合来实现 逻辑流程。本文中实施例不是限制性的。
图3示出了用于切换节目流的逻辑流程300的一个实施例。例如,可 以由图1中示出的媒体系统100和/或图2A和图2B中示出的节目流切换装 置200的一个或多个元件来实现逻辑流程300。本文中实施例不是限制性的。
在多个实施例中,可以由各种系统、设备、单元和/或组件来执行逻辑 流程300,并且可以根据给定设计参数或性能条件的集合来将逻辑流程300 实现为硬件、软件和/或其任意组合。例如,逻辑流程300可以由一个或多 个逻辑设备和/或包括由逻辑设备执行的指令、数据和/或代码的逻辑来实 现。
逻辑流300可以包括在可变速率节目流缓冲器中缓冲包括至少一个锚 定帧的历史帧(方框302)。在一个或多个实施例中,可变速率节目流缓冲 器可以配置为总是包括至少一个锚定帧(例如,I-帧)。可以将来自于一个 或多个节目流(例如,MPEG-2视频节目流)的历史帧进行缓冲。可变速率 节目流缓冲器可以包括对应于活动频道节目流和一个或多个备选频道节目 流的一个或多个运行(例如,弹性)缓冲器。锚定帧可以包括I-帧,并且 历史帧可以包括由备选频道节目流缓冲器所缓冲的一个或多个P-帧和B-帧。
逻辑流300可以包括检测频道切换点(方框304),以及向可变速率解码器以加速方式提供包括该至少一个锚定帧的、直到频道切换点的历史帧
(方框306)。在一个或多个实施例中,可以在极短的时间瞬间或突发中向 可变速率解码器提供历史帧(例如,I-帧、B-帧和P-帧),以使可变速率解 码器能够赶上实际时间。例如,可以在一个帧计数或更短的时间段(例如, 1/30或1/60秒)内将包括该至少一个锚定帧的、直到频道切换点的历史帧 提供给可变速率解码器。可变速率解码器可以配置为比实时状态更快地接 收和解译历史帧。可变速率解码器可以包括一个或多个MPEG-2和/或AC-3
可变速率解码器。
图4示出了制造物品400的一个实施例。如图所示,物品400可以包 括存储器介质402,用于存储节目流切换逻辑404以执行根据所描述实施例 的各种操作。在多个实施例中,可以由多种系统、组件和/或模块来实现物 品400。
物品400和/或存储器介质402可以包括能够存储数据的一种或多种计 算机可读存储介质,包括易失性存储器或非易失性存储器、可移动存储器 或不可移动存储器、可擦除存储器或非可擦除存储器、可写存储器或可重 写存储器等。计算机可读存储介质的实例可以包括但不限于随机访问存 储器(RAM)、动态RAM(DRAM)、同步DRAM (SDRAM)、双速率RAM
(DDRRAM)、 DDRSDRAM、静态RAM (SRAM)、只读存储器(ROM)、 可编程ROM (PROM)、可擦除可编程ROM (EPROM)、电可擦除可编程 ROM (EEPROM)、紧致盘ROM (CD-ROM)、可记录紧致盘(CD-R)、可 复写紧致盘(CD-RW)、闪存(例如,NOR或NAND闪存)、内容可寻址 存储器(CAM)、聚合存储器(例如,铁电聚合存储器)、相位改变存储器
(例如,双向存储器)、铁电存储器、矽氧化氮氧化矽(SONOS)存储器、 盘片(例如,软盘、硬盘、光盘、磁盘、磁光盘)或卡(例如,磁卡、光 学卡)、磁带、盒式磁带、或者适于存储信息的任何其它类型的计算机可读 介质。
物品400和/或存取器402可以存储节目流切换逻辑404,该节目流切 换逻辑404包括指令、数据和/或代码,执行所述指令、数据和/或代码使计 算机或计算机系统执行根据所描述实施例的方法和/或操作。该计算机或计 算机系统可以包括诸如任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、处理器等,并且可以使用硬件和/或软件的 任意合适的组合来实现。
节目流切换逻辑404可以包括或被实现为软件、软件模块、应用程
序、程序、子例程、指令、指令集、计算代码、字、数值、符号或其组合。 指令可以包括任何合适类型的代码,诸如源代码、编译代码、解释代码、 可执行代码、静态代码、动态代码等。可以根据预定义的计算机语言、方 式或语法来实现指令,以指示处理器来执行特定功能。可以使用任何合适
的高级、低级、面向对象的、可视的、编译的和/或解释的编程语言(诸如 C、 C++、 Java、 BASIC、 Perl、 Matlab、 Pascal、 Visual BASIC、汇编语言、 机器代码等)来实现指令。本文中实施例不是限制性的。
已经阐明了多个特定细节以提供对实施例的彻底理解。然而,会理解 可以在没有这些特定的细节的情况下实施这些实施例。在其它的实例中, 为了避免使实施例不清楚,没有对公知的操作、组件和电路进行详细描述。 应当理解,特定结构性和功能性细节是代表性的并且不会对实施例的范围 产生限制。
多个实施例可以包括一个或多个元件。元件可以包括配置为执行特定 操作的任何结构。可以根据给定设计和/或性能条件的集合来将每个元件实 现为硬件、软件或者其组合。虽然可能以举例的方式以特定的拓扑结构使 用有限数量的元件对实施例进行了描述,按照根据给定实施方式的具体情 况,实施例可以在其它拓扑结构中包括更多或更少的元件。
值得注意的是,任何表述"一个实施例"或"一实施例"表示结合该 实施例所描述的特定特征、结构或特性包括在至少一个实施例中。说明书 中出现短语"在一个实施例中"并不必然都指代同一个实施例。
尽管将一些实施例示出和描述为包括用于执行各种操作的示例性功能 组件或模块,但是应当理解,可以由一个或多个硬件组件、软件组件、和/ 或其组合来实现这种组件或模块。例如,可以通过由逻辑设备(例如,处 理器)所执行的逻辑(例如,指令、数据和/或代码)来实现功能组件和/ 或模块。可以在逻辑设备内部或外部将该逻辑存储在一种或多种计算机可 读存储介质上。
还应当理解,所描述的实施例示出了示例性实施方式,以及可以以与所描述实施例相一致的多种其它方式来实现功能性组件和/或模块。此外, 可以针对给定实施方式对这些组件或模块所执行的操作进行组合和/或分 离,并且可以由更多或更少数量的组件或模块来执行这些操作。
除非专门声明,应当理解,诸如"处理"、"计算"、"运算"、"确定" 等词语指代的是计算机或计算系统或类似的电子计算设备的操作和/或处 理,该操作和/或处理将在寄存器和/或存储器中以物理量(例如,电子量) 表示的数据处理和/或变换成为存储器、寄存器或者其它信息存储、传输或 显示设备中以物理量类似地表示的其它数据。
值得指出的是,可能使用"耦合"、"连接"及其派生词的表述来对一 些实施例进行描述。这些词语不旨在相互为同义词。例如,可以使用词语 "连接"和/或"耦合"对一些实施例进行描述,以指示两个或多个元件相 互之间直接的物理接触或电接触。然而,词语"耦合"也可以表示两个或 多个元件之间没有直接的接触,但是相互之间仍然协作或交互。例如,对
于软件元件而言,词语"耦合"可以指代接口、消息接口、 API、交换消息 等。
虽然如上文所述,已经示出了实施例的特定特征,但本领域的技术人 员此时可以获知很多更改、替换、改变或等价物。因此,应当理解所附权 利要求旨在覆盖落入本发明真实精神之内的所有更改和改变。
权利要求
1、一种装置,包括可变速率节目流缓冲器模块,其耦合到可变速率解码器模块,所述可变速率节目流缓冲器模块缓冲包括至少一个锚定帧的历史帧,并且向所述可变速率解码器模块以加速方式提供包括所述至少一个锚定帧的、直到检测到的频道切换点的历史帧。
2、 如权利要求l所述的装置,所述可变速率节目流缓冲器模块总是包括至少一个锚定帧。
3、 如权利要求l所述的装置,所述可变速率节目流缓冲器模块包括对应于活动频道节目流和一个或多个备选频道节目流的多个缓冲器。
4、 如权利要求3所述的装置,在对应于备选频道节目流的至少一个缓冲器中缓冲所述历史帧。
5、 如权利要求l所述的装置,所述锚定帧包括帧内编码帧(I-帧)。
6、 如权利要求1所述的装置,所述可变速率解码器模块包括可变速率视频解码器和可变速率音频解码器中的至少一个。
7、 如权利要求1所述的装置,所述可变速率解码器模块在一帧时间或更短的时间内接收包括所述至少一个锚定帧的历史帧,以赶上实际时间。
8、 一种系统,包括媒体源;节目流切换装置,其耦合到所述媒体源,所述节目流切换装置包括可变速率节目流缓冲器,其耦合到可变速率解码器,所述可变速率节目流缓冲器缓冲包括至少一个锚定帧的历史帧,并且向所述可变速率解码器以加速方式提供包括所述至少一个锚定帧的、直到检测到的频道切换点的历史帧。
9、 如权利要求8所述的系统,所述可变速率节目流缓冲器总是包括至少一个锚定帧。
10、 如权利要求8所述的系统,所述可变速率节目流缓冲器包括对应于活动频道节目流和一个或多个备选频道节目流的多个缓冲器。
11、 如权利要求10所述的系统,在所述多个缓冲器中对应于备选频道节目流的至少一个缓冲器中缓冲所述历史帧。
12、 如权利要求8所述的系统,所述锚定帧包括帧内编码帧(I-帧)。
13、 如权利要求8所述的系统,所述可变速率解码器包括可变速率视频解码器和可变速率音频解码器中的至少一个。
14、 如权利要求8所述的系统,所述可变速率解码器模块在一帧时间或更短的时间内接收包括所述至少一个锚定帧的历史帧,以赶上实际时间。
15、 一种方法,包括在耦合到可变速率解码器的可变速率节目流缓冲器中缓冲包括至少一个锚定帧的历史帧;检测频道切换点;以及向所述可变速率解码器以加速方式提供包括所述至少一个锚定帧的、直到所述频道切换点的历史帧。
16、 如权利要求15所述的方法,还包括总是缓冲至少一个锚定帧。
17、 如权利要求15所述的方法,还包括在对应于活动频道节目流和一个或多个备选频道节目流的多个缓冲器中缓冲节目流。
18、 如权利要求17所述的方法,还包括在对应于备选频道节目流的至少一个缓冲器中缓冲所述历史帧。
19、 如权利要求15所述的方法,所述锚定帧包括帧内编码帧(I-帧)。
20、 如权利要求15所述的方法,还包括在一帧时间或更短的时间内接收包括所述至少一个锚定帧的历史帧,以赶上实际时间。
21、 一种包括计算机可读存储介质的物品,该计算机可读存储介质包含指令,当执行所述指令时使系统在耦合到可变速率解码器的可变速率节目流缓冲器中缓冲包括至少一个锚定帧的历史帧;检测频道切换点;以及向所述可变速率解码器以加速方式提供包括所述至少一个锚定帧的、直到^ 述频道切换点的历史帧。
22、 如权利要求21所述的物品,还包括当执行时使所述系统总是缓冲至少一个锚定帧的指令。
23、 如权利要求21所述的物品,还包括当执行时使所述系统在对应于活动频道节目流和一个或多个备选频道节目流的多个缓冲器中缓冲节目流的指令。
24、 如权利要求23所述的物品,还包括当执行时使所述系统在对应于备选频道节目流的至少一个缓冲器中缓冲所述历史帧的指令。
25、 如权利要求21所述的物品,所述锚定帧包括帧内编码帧(I-帧)。
26、 如权利要求21所述的物品,还包括当执行时使所述系统在一帧时间或更短的时间内接收包括所述至少一个锚定帧的历史帧以赶上实际时间的指令。
全文摘要
描述了使用耦合到可变速率解码器的可变速率节目流缓冲器来切换节目流的多个实施例。在一个或多个实施例中,可变速率节目流缓冲器可配置为接收多个节目流(例如视频节目流)并且缓冲包括至少一个锚定帧的历史帧。可变速率节目流缓冲器可以配置为总是包括至少一个锚定帧,并且可以由对应于活动频道节目流和一个或多个备选频道节目流的运行和/或弹性缓冲器来实现。在检测到频道切换点之后,可以向可变速率解码器以加速方式提供包括锚定帧的、直到频道切换点的历史帧。可以在极短的时间瞬间或突发中(例如,在一个帧或更短的时间内)向可变速率解码器提供历史帧,以使可变速率解码器追赶上实际时间。描述和请求保护了其它实施例。
文档编号H04N7/24GK101563924SQ200780046949
公开日2009年10月21日 申请日期2007年12月17日 优先权日2006年12月20日
发明者J·卡托斯基, P·利维 申请人:英特尔公司