预算编码制造技术

技术编号:7978908 阅读:273 留言:0更新日期:2012-11-16 06:41
一种方法包括:接收流式传输媒体数据,流式传输媒体数据具有媒体帧和引用媒体帧的帧索引;通过基于帧索引估计输出媒体帧的帧大小来分配用于输出媒体帧的帧预算;通过基于第一处理参数处理媒体帧并且如果分配的帧预算大于处理的媒体帧的帧大小则填充处理的媒体帧来实时生成输出媒体帧;并且提供输出媒体帧。

【技术实现步骤摘要】
【国外来华专利技术】预算编码
技术介绍
本申请要求对于2009年10月15日提交的美国专利申请号12/580,212的优先权,通过引用将其结合于此。MP4 (称为“MPEG-4 Part 14” 或者“ IS0/IEC 14496-14 :2003”)是作为 MPEG-4 的一部分而指定的多媒体容器文件格式标准。它用来存储数字音频和视频流以及其他数据,诸如字幕和静止图像。主要为视频存储而设计的MP4也由因特网视频web站点用来以伪流传输方式传送视频内容。这样,视频播放器下载剪辑并且在视频内容变得可用时播放它。例如图IA中的MP4文件100由称为框(包括但不限于框110和120)的对象的层级组成。每个框是文件内的邻接字节范围。每个框由文件内的四字符框类型标识。在层级顶部的两个框在这里最相关,即电影框(类型moov 110)和媒体数据框(类型!11(1&丨120)。moov框110包括描述MP4文件100的所有文件信息112。mdat框120包括所有编码音频和视频 帧,例如帧122、124和126。moov段110是用于文件的内容表并且包括媒体帧索引,该索引 引用MP4文件100中的每帧并且指定用于每帧的帧大小和字节偏移。例如moov段110可以包括条目114、116和118,这些条目具有用于MP4文件100内的每个编码帧的帧大小和字节偏移。在图IA中示出了 moov段110为单个表,但是该moov段110在以MP4文件格式编码时可以跨若干结构分布。在mdat框120内的数据可以未成巾贞(unframe)。在mdat框120内,无一帧在何处结束以及下一帧在何处开始的指示。用于区分采样的仅有方式是使用moov框110中的文件信息112。—般未限定moov和mdat框的顺序。对于不同的MP4使用情况,框必须以具体顺序出现。MP4播放器必须在回放可以开始之前读取整个moov段110。当通过HTTP流式传输时,希望播放器在视频完全下载之前开始播放。为了支持这一,清况,moov框110应当出现于mdat框120之前。生成可以向MP4播放器流式传输的MP4文件通常为两步骤过程。在第一步骤中,编码器可以生成帧并且在单独表中记录它们的大小。可以向临时文件或者缓冲器中的mdat框写入生成的帧。在已经对所有帧编码之后,编码器然后可以写moov框。在第二步骤中,编码器可以按照用于流式传输的正确顺序来布置moov和mdat框。这一传统两步骤MP4编码过程的问题之一在于它不能提供实时转码、压缩、优化或者任何其他实时运行中(on-the-fly)修改过程。附图说明图IA图示了 MP4文件的内部布局。图IB图示了示例性预算编码过程。图2图示了示例性系统的框图。图3是图示了图2的示例性系统中的示例性代理服务器的预算视频处理器的一个实施例的框图。图4是图示了图3的实施例中的示例性处理流程的功能图。图5是代表示例性预算编码方法的流程图。图6是具有示例性处理流程的框图,该流程图示了图3的示例性预算视频处理器的不例性编码器的一个实施例。图7是具有不例性处理流程的框图,该流程图不了图3和图4的不例性预算视频处理器的另一实施例。图8是代表用于预测量化参数的示例性方法的流程图。图9是图示了图2的示例性系统的一个示例性实施例的框图。图10是图示了图9的实施例中的示例性处理流程的功能图。图11是代表用于在预算编码的背景中的媒体寻找的示例性方法的流程图。 具体实施例方式现在将详细参照示例性实施例,在附图中图示了这些实施例的例子。只要有可能,相同标号将在所有附图中用来指代相同或者相似部分。这里公开的示例性实施例涉及用于预算编码的方法和系统。预算编码是一种用于在实时处理模型内以媒体容器格式生成文件的技术,该格式具有指定用于每个媒体帧的字节大小和字节偏移的帧索引。虽然MP4容器格式在示例性实施例中用来举例说明预算编码,但是可以对任何其他媒体容器格式执行预算编码,该格式具有指定用于每个媒体帧的字节大小和字节偏移的帧索引。实时预算编码技术可以允许截获来自媒体服务器的一个或者多个下载、处理它的媒体内容并且生成可以在单遍(single pass)中向客户端流式传输的媒体文件。图IB图示了示例性预算编码过程。预算编码是一种允许代理服务器对某些媒体格式执行实时运行中修改过程的技术。修改过程可以例如包括对媒体数据的转码、压缩、优化和/或任何其他实时运行中修改。例如为了运行中和/或实时优化MP4文件,代理服务器可以先通过预测输出(例如优化的)媒体数据中的每个媒体帧的大小来计算输出(例如优化的)帧索引(例如moov段)。随后,代理服务器然后可以通过优化它从媒体服务器下载的每个新媒体帧以满足在输出帧索引中预测的帧大小来坚持它的先前预测。更具体而言,在第一步骤中,来自原始MP4文件100的moov框110用来生成输出MP4文件130的输出moov框140。输出moov框140可以包括但不限于文件信息142,该信息142可以包括描述输出巾贞大小的条目,诸如条目144、146和148。根据来自于在原始MP4文件100的moov框110中提供的条目114、116和118的原始帧大小估计输出moov框140中的输出帧大小。估计的输出帧大小被记录并且可以在第二步骤中用作帧预算。在第二步骤中,在对帧编码时使用估计的帧大小作为帧预算。处理模块(例如编码器)使用解码帧和对应帧预算的参数来预测将用于处理(例如,编码)解码帧的处理参数,诸如编码参数,包括一个或者多个量化参数。如果处理模块预测错误并且生成未在对应帧预算内相配的帧,则它确定新处理参数并且重新处理帧。一旦帧在预算以下相配,则填充它(下文进一步描述)以满足预算并且向输出MP4文件的输出mdat框150写入。在输出moov框140中指示的巾贞大小可以包括处理的巾贞和填充(padding)二者。当MP4播放器播放输出MP4文件140时,可以向MP4播放器的解码器发送处理的巾贞加上填充,例如媒体帧152、154和156。填充序列可以充当向解码器的无操作指示符。用于填充的确切位序列根据编解码器变化。一旦写入输出moo V框140,就可以固定用于输出MP4文件130的总位速率(文件大小)。无论处理模块为每帧生成的字节数量如何,每个帧可以具有固定大小。图2图示了示例性系统200的框图。示例性系统200可以是通过本地连接或者诸如无线网络、因特网、广播网络等网络提供媒体内容的任何类型的系统。示例性系统200可以除了别的以外包括用户设备202、网关204、一个或者多个网络206和210、代理服务器208和一个或者多个媒体服务器212-214。用户设备202可以是硬件设备(诸如计算机、PDA、蜂窝电话、膝上型计算机、桌面型计算机或者访问数据网络的任何设备)。用户设备202可以包括软件应用,这些软件应用允许设备与数据网络通信并且从数据网络接收数据分组(诸如流式传输媒体的数据分组)。例如,用户设备202可以向媒体服务器发送用于下载特定流式传输媒体文件的请求数据,并且媒体服务器可以向用户设备202传输流式传输媒体文件。在一些实施例中,可以通过代理服务器208路由流式传输媒体文件。用户设备202可以提供用于向用户设备的用户显 示流式传输媒体的显示器和一个或者多个软件应用,本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2009.10.15 US 12/580,2121.ー种方法,包括 接收流式传输媒体数据,所述流式传输媒体数据具有媒体帧和引用所述媒体帧的帧索弓I ; 通过基于所述帧索引估计输出媒体帧的帧大小来分配用于所述输出媒体帧的帧预算; 通过基于第一处理參数处理所述媒体帧并且如果分配的帧预算大于处理的媒体帧的帧大小则填充所述处理的媒体帧来实时生成所述输出媒体帧;并且提供所述输出媒体帧。2.根据权利要求I所述的方法,还包括 提取帧索引,所述帧索引引用在所述流式传输媒体数据中呈现的媒体帧; 通过基于所述帧索引估计所述输出媒体帧的帧大小来分配用于输出媒体帧的帧预算,每个输出媒体帧具有对应帧预算;并且 在生成所述输出媒体帧之前基于所述帧预算和引用所述媒体帧的所述帧索引来生成弓I用所述输出媒体巾贞的输出巾贞索弓I。3.根据权利要求I所述的方法,还包括 基于所述帧索引从所述流式传输媒体数据取回所述媒体帧; 对所述媒体帧解码;并且 基于解码的媒体帧获得所述第一处理參数。4.根据权利要求3所述的方法,其中获得所述第一处理參数包括获得用于量化所述媒体帧的ー个或者多个第一量化參数。5.根据权利要求I所述的方法,还包括 如果所述输出帧未在所述帧预算内相配,则基于所述帧预算和所述第一处理參数确定第二处理參数;并且 通过基于所述第二处理參数重新处理所述媒体帧并且如果分配的帧预算大于处理的媒体帧的帧大小则填充所述处理的媒体帧来生成所述输出媒体帧。6.根据权利要求5所述的方法,其中确定所述第二处理參数包括确定用于量化所述媒体帧的ー个或者多个第二量化參数。7.根据权利要求I所述的方法,还包括 在用户设备接收所述输出媒体帧之前通过压缩所述输出媒体帧来去除填充。8.根据权利要求I所述的方法,还包括 与标准文件压缩技术耦合以处理所述媒体帧,其中所述标准文件压缩技术在提供所述输出媒体帧之前去除所述填充;并且 基于对所述耦合的认知来分配用于所述输出媒体帧的所述帧预算,使得改进所述处理的媒体帧在所述帧预算内相配的机会。9.ー种方法,包括 接收流式传输媒体数据,所述流式传输媒体数据具有媒体帧和引用所述媒体帧的帧索弓I ; 通过基于所述帧索引估计输出媒体帧的帧大小来分配用于所述输出媒体帧的帧预算;预测最优量化參数;并且 基于所述最优量化參数处理所述媒体帧,使得处理的媒体帧至少在所述帧预算内相配。10.ー种耦合成接收流式传输媒体数据的设备,所述流式传输媒体数据具有媒体帧和引用所述媒体帧的帧索引,所述设备包括 帧预算算法模块,被配置成通过基于所述帧索引估计输出媒体帧的帧大小来分配用于所述输出媒体帧的帧预算; 处理算法模块,被配置成基于所述帧预算和所述媒体帧确定第一处理參数; 处理模块,被配置成基于所述第一处理參数处理所述媒体帧; 帧填充器,被配置成填充所述处理的媒体帧以生成所述输出媒体帧;以及 帧写入器,被配置成提供所述输出媒体帧。11.根据权利要求10所述的设备,还包括 媒体读取器,被配置成接收帧索引,所述帧索引引用在所述流式传输媒体数据中呈现的媒体帧。12.根据权利要求11所述的设备,其中所述帧预算算法模块还被配置成 通过基于引用所述媒体帧的所述帧索引估计所述输出媒体帧的帧大小来分配用于输出媒体帧的帧预算,每个输出媒体帧具有对应帧预算。13.根据权利要求12所述的设备,还包括 输出帧索引生成器,被配置成在生成所述输出媒体帧之前基于所述帧预算和引用所述媒体帧的所述帧索引生成引用所述输出媒体帧的输出帧索引。14.根据权利要求13所述的设备,所述输出帧索引生成器还被配置成 基于编码器的配置信息更新所述输出帧索引。15.根据权利要求10所述的设备,还包括 解码器,被配置成对所述媒体帧解码并且从解码的媒体帧获得信息以促进所述处理算法模块确定所述第一处理參数。16.根据权利要求10所述的设备,所述处理算法模块还被配置成 确定用于量化所述媒体帧的ー个或者多个第一量化參数。17.根据权利要求10所述的设备,所述处理算法模块还被配置成 如果输出帧未在所述帧预算内相配,则基于所述帧预算和所述第一处理參数确定第二处理參数。18.根据权利要求17所述的设备,所述处理算法模块还被配置成 确定用于量化所述媒体帧的ー个或者多个第二量化參数。19.根据权利要求17所述的设备,所述处理模块还被配置成 基于所述第二处理參数重新处理所述媒体帧,使得所述处理的媒体帧在所述帧预算内相配。20.ー种耦合成接收流式传输媒体数据的设备,所述流式传输媒体数据具有媒体帧和引用所述媒体帧的帧索引,所述设备包括 帧预算算法模块,被配置成通过基于所述帧索引估计输出媒体帧的帧大小来分配用于所述输出媒体帧的帧预算;量化预测器,被配置成预测最优量化參数;以及 处理模块,被配置成基于所述最优量化參数处理所述媒体帧,使得处理的媒体帧在所述中贞预算内接近地相配。21.一种存储指令的计算机可读介质,所述指令在执行时使计算机执行方法,所述方法包括 接收流式传输媒体数据,所述流式传输媒体数...

【专利技术属性】
技术研发人员:M梅尔尼克R基德J塞斯特里奇J泰德曼K阿亚F库普曼A彭纳
申请(专利权)人:拜特移动网络公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1