在自适应流送中用缓冲器和范围约束来进行质量优化的制作方法_3

文档序号:9635405阅读:来源:国知局
媒体存储器312的缓冲器和/或其他缓冲器(例如,网络缓冲器)可W驻留于其他存储 器(例如,W下所描述的存储器322)中,或者被分布在媒体存储器312和存储器322间。此 夕F,媒体引擎306包括质量优化(QO)引擎309,其被用于根据本文中所描述的技术基于对有 限数目或选定将来段的分析来确定每段的优化质量。
[0041]计算设备105包括被禪合到总线305的额外的组件。例如,计算设备105还包括 接收机314(其被配置为(例如,通过直接物理的或无线连接,经由键盘、远程控制、语音激 活等来)接收用户输入,W传达用户的请求或命令(例如,用于程序选择、诸如快进、倒带、 暂停、频道切换之类的流操纵))、一个或多个处理器316(示出了一个)(其用于控制计算设 备105的操作等))、和时钟电路318,时钟电路318包括将在音频、视频、或A/V流中接收的 系统时钟信息锁定的相位和/或频率锁定环电路(或软件、或硬件和软件的组合)W协助 解码操作并且为所重建的视听内容的输出计时。
[0042]在一个实施例中,计算设备105还包括存储设备320 (和相关联的控制逻辑)W临 时存储内容(例如,连同媒体存储器312的(一个或多个)缓冲器313所缓冲的内容)和/ 或更永久地存储所记录的内容。计算设备105中的存储器322包括易失性和/或非易失性 存储器,并且被配置为存储与操作系统(0/S) 324相关联的可执行指令或代码、W及一个或 多个应用326(例如,除了诸如按次计费、音乐、个人视频录像(PVR)、驱动器软件等之类的 其他应用之外还包括交互式编程指南(IPG)、点播视频(VoD)、(与广播网络TV相关联的) WatchTV、HTTP逻辑325)。HTTP逻辑325包括具有HTTP客户端功能的一个或多个处理器, 并且可W,例如基于来自清单218的信息(例如,包括VQ/BR信息125)来生成对段的请求。 由HTTP逻辑325决定上移或下移(或维持)当前的质量等级可W基于来自媒体引擎306 的反馈(例如,W上所描述的缓冲器等级)和被监控的带宽值。具体地,HTTP逻辑325基 于从QO引擎309接收的信息来生成针对段的请求,其利用本文中所描述的技术来基于对选 定范围的将来段的分析来确定段的质量等级。HTTP逻辑325存储所接收的清单(或其中所 包括的信息),并且由此获知存储在内容服务器设备114处的段的可用的质量等级。因此, 在不同表示间的切换(例如,到不同质量等级)通过使用清单中的信息(例如,基于VQ/BR 信息125)而被使能。尽管HTTP逻辑325的功能被描述为软件,但在一些实施例中其可W 被配置于硬件或者硬件和软件的组合中。
[0043] 如W上所指示的,计算设备105还被配置有显示和输出逻辑330,显示和输出逻辑 330除本领域已知的其他电路之外还包括图形和视频处理管线(pipeline)W处理经解码 的图片和相关联的音频,并且在显示设备或其他媒体设备上提供表示(例如,显示)或者提 供与显示设备或其他媒体设备相关联的表示(例如,显示)。通信端口 332(或多个通信端 口)还被包括在计算设备105中W用于从其他设备接收信息W及将信息发送到其他设备。 例如,通信端口 332可W描绘USB(通用串行总线)、W太网、I邸E-1394、串行和/或并行的 端口等。此外,通信端口 332可W被配置用于家庭网络(例如,HPNA/MoCA等)。计算设备 105还可W包括用于接收模拟视频信号的模拟视频输入端口。
[0044] 本领域普通技术人员应该理解,在本公开的上下文中,计算设备105可W包括未 示出的其他组件,包括压缩引擎、存储器、解密器、采样器、数字转换器(例如,模数转换 器)、多路复用器、条件访问处理器和/或应用软件、驱动器软件、互联网浏览器、及其他。此 夕F,尽管HTTP逻辑325被示为驻留于存储器322中,但应该理解在一些实施例中,HTTP逻 辑325可W被合并在媒体引擎306中或别处(比如,0/S 324中,及其他位置中)或者与计 算设备105的其他逻辑相结合。相似地,在一些实施例中,在图3中被示出的或者与图3相 关联地进行描述的组件中的一个或多个的功能可W与另一组件一起被组合为单个集成组 件或设备。
[0045] 自适应流送系统的某些实施例可W包括W下各项中的一个或组合的全部或一部 分:编码设备116、缓存服务器108、内容服务器114或者一个或多个计算设备102、104、105 和/或106。
[0046] 本公开的某些实施例中的HTTP逻辑325、媒体引擎306、编码逻辑122和/或段选 择逻辑216可W在硬件、软件、固件或其组合中实现。在HTTP逻辑325、媒体引擎306、编码 逻辑122和/或段选择逻辑216在软件或固件(统称为,软件代码或软件逻辑、或者简单地 逻辑)中实现的实施例中,运些实施例被存储在存储器中,并且由合适的指令执行系统使 用计算设备的一个或多个处理器来执行。当HTTP逻辑325、媒体引擎306、编码逻辑122和 /或段选择逻辑216在软件中被实现时,应该注意到,HTTP逻辑325、媒体引擎306、编码逻 辑122和/或段选择逻辑216可W被存储在任意计算机可读存储介质上,W供任何计算机 相关的系统或方法使用或与之相结合。因此一般地,HTTP逻辑325、媒体引擎306、编码逻 辑122和/或段选择逻辑216可W包括一个或多个有形的(非暂态的)计算机可读存储介 质(例如,存储器设备),该计算机可读存储介质编码有包括计算机可执行指令的软件,并 且当软件被执行时可操作来执行本文中所描述的操作。在本文档的上下文中,计算机可读 存储介质是电的、磁的、光学的、半导体的或者其他有形的、物理的设备或装置,该设备或装 置可W包含或存储被计算机相关的系统或方法使用的或者与其相关的计算机程序。HTTP逻 辑325、媒体引擎306、编码逻辑122和/或段选择逻辑216可W体现于非暂态的计算机可 读介质中,W供指令执行系统、装置或设备(比如,基于计算机的系统、包含处理器的系统 或者可W从指令执行系统、装置或设备获取指令并执行指令的其他系统)使用或者与之相 务主厶 台口口O
[0047] 在HTTP逻辑325、媒体引擎306、编码逻辑122和/或段选择逻辑216的功能的全 部或一部分在硬件中实现的实施例中,HTTP逻辑325、媒体引擎306、编码逻辑122和/或 段选择逻辑216的运样的功能可W用本领域周知的W下技术中的任意或组合来实现:(一 个或多个)离散的逻辑电路(其具有用于实现基于数据信号的逻辑功能的逻辑口)、具有合 适的组合逻辑口的专用集成电路(ASIC)、(一个或多个)可编程口阵列(PGA)、现场可编程 口阵列(FPGA)等。
[0048] 现在参考图4和图5的流程图来描述描绘的系统来针对使用本文中所描述的并且 在图1-3中描绘的系统来优化内容流的段的质量的示例方法。参考图4,在400,编码设备 116生成内容流的清单124(其还可W被修改或补充,如同存储在内容服务器114的存储器 204内的清单218),其中清单包括针对将被一个或多个计算设备102、104、105、106、108下 载的编码的视频段的多个比特率和对应的质量评分。如先前所指出的,内容流可W被例如 从存储设备212获得,该存储设备212将内容(例如,电影或其他视频表示)存储于不同质 量等级处(例如,将电影A存储于CQA# 1、CQA#2…CQA#N处、将电影B存储于C地# 1处等)。 在410,响应于计算设备(例如,计算设备105)请求某一内容,内容服务器114向该计算设 备提供与所请求内容相关联的清单,W协助计算设备对编码比特率的确定,W该编码比特 率、使用本文中所描述的技术、基于质量优化来接收内容流的段。在420,内容流的段基于质 量优化、W由计算设备为每个段选定的比特率被提供给计算设备。
[0049]参考图5,在500,当计算设备处的用户想要观看从内容服务器114可得的内容时, 内容流的清单被提供给该计算设备。本文中描述了关于(例如,图3中所描述的)计算设 备105的技术。然而,如先前所指出的,具有相似硬件和/或软件组件(包括QO引擎)的 任意其他合适的计算设备可W被用于执行本文中所描述的技术。清单包括关于内容流的每 一经编码段的每一可用段比特率的视频质量评分的信息(VQ/BR信息125)。在510,对将被 计算设备105使用的当前可用的网络带宽做出估计。所估计的网络带宽可WW任意合适的 方式(例如,基于任意传统或其他合适的测量或估计方法)由计算设备确定。在520,计算 设备105的QO引擎309基于当前缓冲器状态、所估计的网络带宽和选定范围中的内容流的 段的质量值(基于如本文所述的那样起作用的在线算法和一个或多个动态编程的算法)来 确定优化当前段的质量用于当前段的编码比特率。在530,W确定的优化质量的编码比特率 来从内容服务器114下载当前段。在存在针对(在540确定的)流的另一段的情况下,下 一段在550被设置为当前段,并且处理在510被重复。
[0050] 注意到,尽管图5中所描述的流程图提供了其中清单最初在计算设备处被接收的 步骤,但处理可W被容易地修改,W使得清单在很多时候可W在处理期间由计算设备进行 接收。例如,在某些情境下,清单可W定期地被更新,W使得经修改的清单(例如,带有经修 改的VQ/BR信息)被提供给计算设备。
[0051] 媒体引擎306的QO引擎309,在520处做出关于当前段的编码比特率时,使用在 线算法和一个或多个动态编程算法来进行视频段的比特率选择,其中,基于在选定将来时 间窗口或范围上的质量优化分析并且将计算设备105的当前缓冲器约束考虑在内来为每 一段选择合适的比特率。在每一速率选择步骤,QO引擎309使用最新的可用信息、解决选 定范围内的视频段的优化问题、并且计算可用比特率中用于最紧急的视频段的最优比特率 (其中,过程针对每下一段而被重复进行)。在每一步骤中,引擎可用的信息包括(例如,在 510基于任意传统的或其他合适的测量或估计方法而确定的)计算设备105的当前估计的 链路带宽和(在清单124内提供的)所定义的范围内的视频段的比特率和质量评分。
[0052] QO引擎309在考虑到当前条件(例如,网络带宽条件、缓冲器条件和来自当前段的 有限数量或范围内的段的质量等级)来为内容流中的每段确定产生优化的质量的比特率 时,采用一系列速率选择步骤n(其中,n= 1、2、3…)。用于下载当前视频段的比特率(定 义为R(n))在每一步骤n被确定。针对每一视频段存在有限数量的可用比特率。因此,当 前视频段的可用比特率的数量被定义为R(n,1),其中1 =l、2、3wL其中L是可用比特率 的数量。每一比特率R(n,1)还与视频质量评分Q(n,1)相关联。与当前段的选定比特率 R(n)相关联的质量评分被定义为Q(n)。如先前所指出的,视频段的质量评分可W使用任意 适当的技术来确定,其中一些非限制性的示例包括PSNR和-MSE。
[0053]QO引擎309所使用的算法是基于将范围上的内容流的视频质量的一些综合测量 最大化的。本文中所描述的技术使用
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1