设置媒体帧输出质量的方法和系统的制作方法

文档序号:7605918阅读:132来源:国知局
专利名称:设置媒体帧输出质量的方法和系统的制作方法
技术领域
本发明涉及一种设置下一个媒体帧的输出质量的方法;其中,由媒体处理应用程序提供输出质量;以及该媒体处理应用程序被设计用来提供下一个媒体帧的多个输出质量。
本发明进一步涉及一种设置下一个媒体帧的输出质量的系统;包括应用程序装置,用于提供下一个媒体帧的多个输出质量的输出质量。
本发明进一步涉及一种被设计用来执行这种方法的计算机程序产品。
本发明进一步涉及一种包括这种计算机程序产品的存储设备。
本发明进一步涉及一种包括这种系统的电视机。
WO2002/019095中公开了这种方法和系统的一个实施例。此处,描述了运行算法的方法以及描述了在像VCR、DVD-RW、硬盘这样的系统上或在互联网链接上的一种可升级可编程处理设备。该算法被设计用来处理例如在提供多个质量等级的处理时的视频帧这样的媒体帧。每个质量等级需要大量的资源。取决于不同质量等级的不同需要,将可用资源的预算指定给该算法以便提供能够接受的媒体帧的输出质量。然而,媒体流的内容会随着时间的变化而改变,这导致了随着时间变化的媒体处理算法的资源需求的不同。由于资源是有限的,可能会发生错过截止期限。为了缓和这一点,媒体算法可以在比默认质量等级低的质量等级中运行,导致了相应较低的资源需求。
本发明的一个目的是提供一种根据开头段落所述的以一种改进方式来设置媒体帧质量的方法。为了实现这个目的,该方法包括根据自学控制策略来设置下一个媒体帧的输出质量,该自学控制策略利用处理时间和在先媒体帧的输出质量来判断下一个媒体帧的输出质量。
权利要求2中描述了根据本发明方法的一个实施例,其中该方法包括处理在先媒体帧;判断包括所处理的在先媒体帧的相对进度值、所处理的在先媒体帧的按比例预算值、以及所处理的在先媒体帧的输出质量的状态;根据该状态以及下一个媒体帧的可能输出质量来判断收益。
权利要求3中描述了根据本发明方法的一个实施例,其中收益是基于多个被错过的截止期限、在先媒体帧的输出质量、以及质量改变的。
权利要求4中描述了根据本发明方法的一个实施例,其中确定有限数量个状态的收益,该有限数量个状态由按比例预算值的有限集合和相对进度值的有限集合来确定。
权利要求5中描述了根据本发明方法的一个实施例,包括减少状态的数目,其中通过减少仅在所处理的在先媒体帧的输出质量方面不同的那些状态而确定状态的收益。
本发明的一个目的是提供一种根据开头段落所述的以一种改进方式来设置媒体帧输出质量的系统。为了实现这个目的,该系统包括控制装置,用于根据自学控制策略来设置下一个媒体帧的输出质量,该自学控制策略利用处理时间和在先媒体帧的输出质量来判断下一个媒体帧的输出质量。
权利要求7和8描述了根据本发明系统的实施例。
如由以下图中所示那样,从下文所述实施例中本发明的这些及其他方面将变得显而易见并且参考下文所述实施例来阐明本发明的这些及其他方面。


图1示出了加强学习中的代理环境交互;图2示出了基本的可升级视频处理任务;图3通过时间线的例子示出了任务的处理行为;图4通过时间线的另一个例子示出了任务的处理行为;图5示出了b=P/2的时间线例子;图6示出了b=P/2的时间线另一个例子;图7显示了马尔可夫策略空间中的一个平面;图8示出了三个质量等级的状态空间的例子;图9以示意图方式示出了根据本发明系统的主要部分。
图1示出了加强学习(Reinforcement Learning)中的代理环境交互。加强学习(RL)是一种从交互中有意图地学习的计算方法,例如参见R.S.Sutton和A.G.Barto的Reinforcement Learninganintroduction,MIT Press,Cambridge,MA 1998。它是学习做什么-怎么将状态映射到操作上-以便最大化数字收益信号。学习器和决策制定器被称作是代理。将包括代理之外所有事物的它与之交互的东西称作是环境。不告诉代理要采取哪些操作,但是必须通过试验这些操作来发现哪些操作会产生最大收益。操作可能不仅影响直接收益而且影响下一个情形以及由此而影响所有后续收益。试错法搜索和延迟收益这两个特性是RL的两个最主要的区别特征。
不是通过将学习方法特性化而是通过将学习问题特性化来定义RL。认为非常适合于解决那个问题的所有方法都是RL方法。RL中的任务之一是调查和利用之间的权衡。为了获得许多收益,RL代理必须习惯于选择它过去试验过的和认为在产生收益中有效的操作。但是为了发现这种操作,不得不尝试它之前没有选择过的操作。代理不得不利用它早已知道的东西以便获得收益,但是它也不得不调查以便将来做出更好的操作选择。进退两难的局面是在任务不失败的情况下通常既不仅仅进行调查又不仅仅进行利用。代理必须尝试各种操作以及逐渐地喜爱那些看起来最佳的操作。在随机任务上,必须多次尝试每种操作以获得它预期收益的可靠估计量。
除代理和环境之外,人们可以识别RL系统的三个主要子元素策略、收益函数以及值函数。策略定义了在给定时刻所执行的代理方法。策略是从环境状态到那些状态中所采取操作的映射。通常,策略可能是随机的。收益函数定义了RL问题中的目标。它将环境的每个感知状态(或状态-操作对)映射到表示那个状态内在需求的一个数目,即收益。RL代理的唯一目的是为了将它在长期运行中收到的总收益最大化。收益函数可能是随机的。值函数指定了在长期运行中什么是好的。状态的值是代理可期待从那个状态开始到将来进行累加的收益总量。然而收益确定了环境状态的直接、内在需求,值表示在考虑很可能跟随在应用该策略之后的状态之后的状态长远需求、以及在那些状态中可获得的收益。值必须从代理在其整个使用期限中制定的观测值序列中被估计以及重新估计。
代理100和环境102不断地交互,代理100选择操作而环境102响应那些操作并向代理呈现新情形。环境102也产生收益,即代理100试图随着时间的变化而最大化的特定数值。在每个离散时间步进序列t=0,1,2,3,…处代理100和环境102进行交互。在每个时间步进t,代理100收到环境状态的某些表示st∈S,其中S是环境状态集合,并且在那个基础上选择一种操作,at∈A(st),其中A(st)是状态st中可获得的操作的集合。一次时间步进以后,在某种程度上由于它的操作,代理100收到一个数字收益, 以及环境状态st+1的新表示。
在每个时间步进t,代理100实现了从状态到选择每个可能操作的可能性的映射。将这个映射称作代理的策略并且由πt来表示这个映射,其中πt(s,a)是如果st=s则at=a的可能性。策略也可能是确定性的,其意味着将每个状态映射到单个操作。RL方法指定了代理100如何根据它的经验改变它的策略。大概说来,代理的目标是为了将它长期运行中收到的收益总量最大化。
在RL中,根据从环境102向代理100传送的特定收益信号而形式化代理100的目标。在每个时间步进t>0,收益是简单的数字, 非正式地,代理100的目标是为了将它收到的收益总量最大化。这意味着不是最大化直接收益而是最大化长期运行中累积的收益。如果预计代理100要执行,则必须以这样一种方法向它提供收益以致在最大化收益中代理100也将实现该目标。因此,必须建立收益以便收益与目标相平衡。
RL代理的目标是为了将它在长期运行中收到的收益最大化。通常,预计最大化期望报酬,其中将报酬Rt定义为收益序列的某些特定函数。在最简单的情况下,报酬是收益的和Rt=rt+1+rt+2+rt+3+…+rT(1)其中T是最后的时间步进。这个方法在其中存在着最后时间步进的自然概念的应用程序中起作用,就是说,这时代理-环境交互自然地打断成称作是片段(episode)的子序列,所述片段例如是游戏的播放、行进经过迷宫或任何类型的重复交互。每个片段在称为终结状态的特定状态处结束,该终结状态后面是标准起动状态的重置或起动状态标准分布中的采样的重置。将具有这种类型片段的任务称作片段任务。
另一方面,多数情况下代理-环境交互不会自然地打断可识别的片段,而是无限制地连续进行。将这些称作是连续任务。对于连续任务,最后时间步进是T=∞,因此最大化了的报酬本身是无穷大。所需的另外的概念是贴现。依据这种方法,代理100试图选择操作以便最大化它将来得到的贴现了的收益之和。尤其是它选择at以最大化期望的贴现了的报酬
Rt=rt+1+γrt+2+γ2rt+3+...=Σk=0∞γkrt+k+1,---(2)]]>其中γ是参数,称作是贴现率,0≤γ≤1。贴现率确定未来收益的当前值未来k个时间步进收到的收益仅价值为如果立即接收收益则收益会价值多少的γk-1倍。如果γ<1,则只要收益序列{γk}是有界的那么无穷和就会具有有限值。如果γ=0,则在仅涉及具有最大化直接收益中代理100是“近视的”。当γ接近1时,目标会更强地考虑未来收益代理100变得更加远视。
大多数的RL算法都基于估计值函数-状态函数(或状态操作对),其估计对于处于给定状态的代理100来说有多么好(或者执行给定状态中的给定操作有多么好)。根据可预料的未来收益即根据预期报酬而定义“多么好”的概念。代理100预期在未来得到的收益取决于它采取什么操作。因此,根据具体的策略而定义值函数。
再调用策略π,策略π是从每个状态s∈S和操作a∈A(s)映射到在状态s时采取操作a的可能性π(s,a)。非正式地,由Vπ(s)表示的根据策略π的状态s的值是当在状态s中开始并且其后按照π时的预期报酬Vπ(s)=Eπ{Rt|st=s}=Eπ{Σk=0∞γkrt+k+1|st=s}.---(3)]]>类似地,将表示为Qπ(s;a)的根据策略π在状态s中采取操作a的值定义为从s开始采取操作a并且其后按照策略π的预期报酬Qπ(s;a)=Eπ{Rt|st=s,at=a}=Eπ{Σk=0∞γkrt+k+1|st=s,at=a}.---(4)]]>将Qπ称作是用于策略π的操作-值函数。
为了在一次时间步进选择一种操作,给定状态s,一种方法将表现出贪婪,即选择操作a以便它的Qπ(s;a)最大。这个方法利用当前知识来最大化直接收益,但是它不花费时间调查表面上的次级操作以查看它们是否实际上会更好。一种简单的替换方案是在大多数时间表现出贪婪,但是偶尔,假定具有概率ε,代替随机、均匀、不取决于操作-值估计地选择一种操作。将利用这种近似贪婪操作选择规则的方法称作是ε-贪婪方法。
Sarsa是一种时差(TD)学习方法。TD学习方法可不用环境的动态模型而直接从原始经验中学习,并且TD学习方法不用等待最终结果(它们引导的)而部分地基于其他学习到的值的估计而更新值的估计。在Sarsa中,操作-值的更新规则由下式给定Q(st;at)←Q(st;at)+α[rt+1+γ·Q(st+1;at+1)-Q(st;at)],(5)其中st表示在时间步进t的状态,at表示在时间步进t采取的操作,rt+1表示在下一个时间步进t+1得到的收益,st+1表示在下一个时间步进t+1的状态,at+1表示采取的相应操作,以及←表示用右侧的值更新左侧的值。每次从状态st中转换之后完成这个更新。这个规则利用五元事件(st,at,rt+1,st+1,at+1)的每个元素,其构成了从一个状态-操作对到下一个状态-操作对的转换。这个五元组为该算法产生了名字Sarsa。
以下给出了基于Sarsa更新规则的学习算法,对于连续任务算法SARSAa.任意地初始化所有Q(s;a)b.初始化sc.选择操作a使其Q(s;a)最大(ε-贪婪)d.重复e.采取操作af.在下一个时间步进,观察产生的收益r′以及新状态s′g.选择操作a′使其Q(s′;a′)最大(ε-贪婪)h.Q(s;a)←Q(s;a)+a·(r′+γ·Q(s′;a′)-Q(s;a))i.s←s′,a←a′象机顶盒和数字电视机这样的用户终端当前应用专用硬件元件以处理视频。在可预见的将来,预计具有软件视频处理的可编程硬件会接替。这一所谓的软件视频处理的一些特性是高波动、数据相关、资源需求。
用视频处理,通常在最糟情况解码时间和平均情况解码时间之间存在一个差距。另外,在短期(或随机)负载波动和长期(或结构上的)负载波动之间存在着区别。尤其是,结构上的负载波动是由视频场景的改变复杂性而引起的。因此最糟情况资源分配通常较不被接受,由于成本上的较高压力,资源分配优选是必须接近于平均情况。为了防止超负荷,某种形式的负荷降低是不可避免的。
可以将用于具有如接受偶然截止期限错过或平均情况响应时间需求这种波动负载的任务的软定时需求看作为服务质量(QoS)的特例,参见ITU-T Recommendation E.800-Geneva 1994,“the collectiveeffect of service performances that determine the degree ofsatisfaction by a user of the service”。QoS提取提供了一种装置以推出和处理具有不同软定时需求和不同适应能力的任务,如近似计算、或单个系统内的工作跳过。
具有暂时保护的资源预留允许将用于不同的软-实时系统的超负荷管理问题分割成可分别解决的多个子问题。用这种方法,可以将超负荷管理和语义(即基于值的)决策制定带到调度程序之外。仍然要解决两个职责决定哪个任务获得哪个预算,以及将每个任务的负载调整到其指定预算。第一个职责是全局的,需要统一的QoS标准。第二个职责是局部的,可以采用特定任务QoS自适应。
此处,涉及局部的QoS控制,即在高质量视频处理的环境中设法在所分配的预算内最佳化局部QoS。假定视频处理任务是可升级的,即它可以在独立帧的级别交换用于资源利用的图像质量,以及假如数据是可获得的,则该任务提前运行,即它可以在完成前面一个帧之后立即开始处理下一个帧。这些可升级的视频算法提供了其可为每个帧而选择的有限数目的QoS级别。可应用提前运行的范围由等待时间和缓冲限制来决定。高质量视频的QoS规范组合了不得不被平衡的三个元素处理质量、截止期限错过和质量改变。
平衡控制策略涉及两种类型的负载波动短期(或随机)、以及结构上的。为了控制该短期负载波动,将控制问题建模为马尔可夫判定过程,其是用于解决离散随机判定问题的通用方法,见Wiley Seriesin Probability and Mathematical Statistics,Wiley-Interscience,New York,1994,M.L.Puterman的Markov DecisionProcessesdiscrete stochastic dynamic programming。为了处理结构上的负载波动,采用按比例预算对于与当前结构上的负载成反比的预算施加原始的静态或动态解决方案。
图2示出了基本的可升级视频处理任务。利用关联控制器202,考察单个、异步、可升级视频处理任务200。该视频处理任务200可以在(也许小的)离散数目的质量等级处理帧。视频处理任务200从输入队列204中恢复要处理的帧,以及将已处理的帧放入输出队列210。为了方便起见,假定将连续帧编号为1、2、…。输入进程204(例如数字视频调谐器)以周期P来周期性地将帧插入到输入队列,以及输出进程206(例如视频再现器)以相同的周期P从输出队列中使用帧。因此,假定输入帧频和输出帧频相同,但是它们也可以不同。输入进程204和输出进程206与固定等待时间δ同步,即如果在ei=e0+i·P时刻帧i进入了输入队列208,其中e0是偏移量,那么在ei+δ时刻从输出队列210中使用该帧。处理帧之前,控制器202选择在该级处理帧的那个质量等级。帧的处理时间既取决于所选定的质量等级又取决于帧的数据复杂性。平均起来,该任务必须每个周期P处理一个帧。通过选择比P大的等待时间δ,给该任务某些空间以通过提前运行来平衡其变动负载。
考察在ei时刻进入输入队列的帧i。显然,ei是用于处理帧的最早开始时间,以及di=ei+δ是最近的可能完成时间,因而是截止期限。为了方便起见,定义了虚拟截止期限d0=e0+δ。将帧i的实际开始时间,即任务的第i个起点,表示为si。将帧i的实际完成时间,即任务的第i个新阶段,表示为mi。对于帧的非零处理时间,它保持mi>ei。如果mi>di,那么对于帧i来说任务错过了它的截止期限。如果mi-1<ei,假定i>1,则从mi-1直到ei阻塞该任务。对于i>1,si≥max{mi-1,ei}。
假定一种工作保持方法,其意味着如果错过了它的截止期限那么不会异常终止帧而是无论如何地完成帧。也可以采用其他方法。此后对于下一个截止期限采用该帧。值得注意的是,在完成帧之前甚至可能会错过后续帧的附加截止期限。如果错过了截止期限,那么需要以下操作。第一,输出进程必须执行错误隐蔽。例如,视频再现器可能再利用最近显示的帧。这种错误隐蔽可以是尤其在具有许多运动的场景中降低感知质量。第二,控制器通过跳过后续帧而执行错误恢复以便修复帧号和截止期限之间的对应以及以便避免输入队列中的堆积。应当仔细地选择要跳过的帧。例如,在MPEG解码中,可以安全地跳过B帧,然而跳过I帧可能会停止流。
图3和4通过两个时间线例子示出了任务的处理行为,其中P=1、δ=2以及s1=d0=0。该任务必须处理5帧。在图3中由参考标记301、302、304和305来表示实际处理的帧,以及在图4中由参考标记401、402、403、404和405来表示实际处理的帧。在图3中,错过了截止期限d2。控制器通过在截止期限d3采用帧302以及通过跳过帧303来处理截止期限错过。在图4中,因为在输入队列中不存在帧404(e4=d2),所以任务在新阶段m3变得阻塞了。
从d0处开始,在每对连续截止期限之间的期间,为任务指定一个保障处理时间预算b(0≤b≤P)。根据这个保障预算,引入一个称为进度的标准。在起点si处计算的进度ρi是直到di-1时剩下的保障预算总量除以b。这个进度表示在完成前面的帧i-1之后剩下了多少预算。因为较大的进度会导致错过要处理帧的截止期限的更低危险,因此进度是控制器的一个重要标准。进度总是非负的;在错过截止期限的情况下,通过利用在稍后的截止期限处已完成的帧来确保这一点。此外,由于有限的队列尺寸,因此进度总有一个上界ρmax=δ-1。值得注意的是,根据刚才完成的帧的截止期限来计算起点处的进度。在新阶段不计算进度的原因是由于阻塞造成的预算损耗不会被认为是在该进度中的。因此,在阻塞的情况中,由控制器在第一-下一个起点处所使用的进度会太高(>ρmax)。
在图3和4中,假定b=P,其意味着该任务具有一个专用的处理器。在图3中分别由ρ1=0,ρ2=0.25,ρ4=0.75以及ρ5=0.75来给定连续起点处的进度,而在图4中分别由ρ1=0,ρ2=0.5,ρ3=1,ρ4=1以及ρ5=0.5来给定连续起点处的进度。
图5和6示出了b=P/2的时间线的两个例子。该任务必须处理5帧。在图5中由参考标记501、502、504和505来表示实际处理的帧,以及在图6中由参考标记601、602、603、604和605来表示实际处理的帧。同样,假定P=1、δ=2以及d0=0。进一步假定s1是第一次为任务指定预算的那个时刻。在图5中分别由ρ1=0,ρ2=0.5,ρ4=0.75以及ρ5=0.5来给定连续起点处的进度,而在图6中分别由ρ1=0,ρ2=0.5,ρ3=0.75,ρ4=1以及ρ5=0.5来给定连续起点处的进度。值得注意的是,由于是由基础的调度程序来确定,因此在每个周期中不同地分布预算。图6中,在m3处任务已经为那个周期消耗了它的一半预算。另一半预算由于阻塞而丢失了。
如前所述,在每个起点,控制器必须选择在该级别处理即将到来的帧的那个质量等级。优选的是,这样选择控制策略,即找到最佳平衡以满足以下三个目的
-因为截止期限错过和伴随的帧跳过而在输出中产生了人为噪声,因此截止期限错过应当尽可能地稀疏。为了防止截止期限错过,可能必须在较低的质量等级处理帧。
-为了获得高的输出质量,应当在尽可能高的质量等级处理帧。
-因为质量等级中的(较大)改变会产生(较好的)可感知的人为噪声,因此质量级别改变的数目和大小应当尽可能低。
为了找到最佳平衡,将数字收益指定给每个要处理的帧。收益由以下部分组成对正处理帧的同时错过的截止期限的数目上的(可能很高)罚款、在特定质量等级处理帧的奖励、以及在不同于用于在先帧的质量等级的那个质量等级处理帧的罚款。在帧序列上最大化平均收益的任何控制策略都会平衡这三个目的。此外,平均收益为该任务提供了一个可调的QoS度量。
对于每个质量等级,如果每个帧的处理时间是预先已知的,那么会发现可以计算出其最大化平均收益的控制策略。在那种情况中,利用动态程序设计可以离线计算最佳的质量等级,见DynamicProgramming,Princeton University Press,Princeton,NJ,1957,R.E.Bellman。
作为对于运行时间控制策略的第一个步骤,将系统建模为马尔可夫判定过程(MDP)。MDP考察一组状态,以及对于每个状态的一组操作。在时间上的离散时刻(控制点),控制器观察系统的当前状态s,以及随后采取操作a。这个操作影响系统,以及因此,控制器在下一个离散时刻观察新状态s′。这个新状态不是由该操作及前面的状态而确定性地决定的,但是每个组合(s,a,s′)具有一个固定的已知概率。数字收益与每个状态转换(s,s′)相关。MDP的目标是为了找到在系统使用期限期间在所有状态转换中最大化平均收益的决策策略。
此处,控制器观察系统的离散时刻是起点si。状态包括在那个起点处的任务进度ρi。因为处罚了质量等级改变,所以状态也包括用于在先帧的质量等级(在先质量等级qi-1)。因此,si=(ρi,qi-1)。最后,操作是质量等级qi的选择;以及根据以上描述来定义每次状态改变的收益。
利用称为MDP策略的第一策略来解决MDP是离线解决的。这暗示了预先需要状态转换概率Pr(s,a,s′)。因此,在不同的质量等级为多个典型的视频序列而测量每帧处理时间,以及这些序列用来计算状态转换概率。此后,为预算b的特殊值而离线解决MDP。这产生了(静态的)马尔可夫策略,其是一组状态-操作对,此处(ρi,qi-1;qi)。在运行时间期间,在每个起点,控制器通过协商该静态的马尔可夫策略即简单的表查找来决定它的操作。
如前所述,通过加强学习(RL)在运行时间也可以解决MDP。RL控制策略开始时根本没有知识,然后从它在运行时间期间获得的经验中学习最佳行为。状态-操作值用于在起点处选择质量等级。给定了状态,就选择其产生最大状态-操作值的质量等级(=操作)。将这个方法称为RL控制策略。
如前所述,存在短期的和结构上的负载波动。在结构上的负载值之间的急速转换是相当异常的。通常,该转换是更加平滑的。
MDP和RL控制策略隐含性地假定了连续帧的处理时间是互相独立的。这一般说来是短期负载波动的情况,而不是结构上负载波动的情况。为了也处理结构上的负载波动,可将以下改进用于MDP和RL策略-通过滤除短期负载波动和将它与参考预算进行比较而在运行时间期间跟踪结构上的负载。
-不是通过调整所分配的预算而是通过应用为反比例预算(也称为按比例预算)而得出的策略,根据这个参考预算为结构上的负载波动补偿原始MDP和RL策略。
分别由MDP*和RL*来表示这些改进的策略。
为了在起点跟踪结构上的负载,必须确定刚完成帧的实际处理时间apt与在所应用质量等级对于一帧的期望处理时间ept之间的比率,即cf=apt/ept。对于每个质量等级,已经离线得出了期望处理时间。将这个比率称为复杂化系数cf(complication factor cf)。
假定一帧的复杂化系数或多或少独立于所应用的质量等级如果在不同的质量等级处理帧,那么它将大致产生相同的复杂化系数。因为能够测量已经处理了所完成帧的那个质量等级的处理时间,该处理时间不是为后续帧所选的质量等级所必须的,因此需要这个假定。
复杂化系数遵循短期的和结构上的负载波动。为了获得结构上的负载的更加正确的测量,优选是滤除短期负载波动,以获得运行中复杂化系数rcf(running complication factor rcf)。几种类型的滤波器适于这个目的,如FIR、IIR以及中值滤波器,见A.V.Oppenheim和R.W.Schafer所写的Digital Signal Processing,Prentice-Hall,Englewood Cliffs,NJ,1975。应用IIR滤波器。例如可以采用指数,具有步长参数为0.05的最近-加权-平均值。
运行中复杂化系数rcf是按比例预算的基础。如果rcf偏离于1,它显得似乎可用于该任务的处理预算偏离于它的可获得的预算b。如果rcf=1.2,那么预算b=30ms将表现为仅25ms的预算。如果rcf=0.8,那么同样的预算将表现为37.5ms的预算。因此,将按比例预算定义为b/rcf。在运行时间期间,在每个起点计算按比例预算。
MDP*策略用下列方式改进了MDP策略。首先,标准化用于解决MDP所需的统计数值,其意味着滤除结构上的负载波动。用这种方法,将短期负载波动与结构上的负载波动相分离。在离线阶段,对于一组所选的按比例预算解决MDP,产生一组马尔可夫策略,该组中的每个按比例预算都对应一个马尔可夫策略。其次,在运行时间期间,从相应于按比例预算的实际值的策略中取得起点处的新质量等级。如果所需策略不在组中,则通过马尔可夫策略空间中的线性插值来获得期望值。
图7显示了对于一个特定的在先质量等级q2的马尔可夫策略空间中的平面。在这个平面中,按比例预算值28.2ms处的垂线相应于按比例预算28.2ms的马尔可夫策略中的q2列,其是通过从按比例预算28.0ms和按比例预算28.5ms的策略内插获得的。
在RL*方法中,将该按比例预算直接添加到状态中,即按比例预算变成三维状态空间。在起点处,给定状态(=按比例预算、进度、在先质量等级),优选是选择产生最大状态-操作值的质量等级(=操作)。
在RL*方法内,如前所述参考图1的代理100是一个选择要处理帧的质量等级的控制器。环境102由可升级的视频处理任务来产生。代理与它的环境进行交互的离散时间步进是起点。起点处任务的状态由按比例预算(sb)、进度(ρ)、以及在先质量等级(pq)的组合来定义。操作是对要处理帧的质量等级q的选择。对于状态s=(sb,ρ,pq)和操作q,代理100记住操作-值Q(s;q)。
处理一帧之后,在要处理的后续帧的起点,代理首先利用刚才完成帧的处理时间更新按比例预算。这个更新的按比例预算是起点处的状态的一部分。其次,代理计算刚才完成帧的收益。为了记法上的方便,假定刚才完成的帧是在质量等级q处理的而它之前的帧是在质量等级pq处理的。收益由以下部分组成对由于在先起点而错过的截止期限数目上的(高)负值罚款、对于处理帧的质量等级q的正值奖励、以及对于从pq到q改变质量等级的负值质量改变罚款qcp(pq,q)。值得注意的是,代理根据由环境提供的信息(截止期限错过的数目、质量等级)而计算收益,而不是直接从环境中得到收益。利用该收益,代理更新(学习)它的操作-值。然后,更新了的操作-值用来选择用于处理下一个帧即相应于该起点的那个帧的质量等级。
在所需计算内,可以考察有限数量的状态,同时按比例预算和进度都不断地变化。为了解决这一点,定义了一个按比例预算值的有限集合SB={sb1,…,sbn}和一个进度值的有限集合R={ρ1,…,ρm}。然后,仅对于格点状态,即状态s=(sb,ρ,pq),其中sb∈SB且ρ∈R,必须记录操作-值Q(s;q)。为了对非格点状态近似操作-值,应用了环绕格点状态的操作-值上的线性插值。
图8示出了对于三个质量等级q0到q2的状态空间的例子。在这个状态空间中,按比例预算点是10ms、20ms、30ms和40ms,以及进度点是0.25、0.75、1.25和1.75。为了近似具有按比例预算为25ms、进度为1以及在先质量等级q0的状态的操作-值,将线性插值应用在四个环绕格点状态的操作-值上,如图8中所示。
在Sarsa算法的每次迭代中,通常学习(更新)一个操作-值。因此,学习可能需要很长时间,而且可能需要调查操作(其经常不是最佳的)。利用本发明,在每次迭代(每个起点)中,更新所有格点状态的操作值,其学习得更快了。此外,不再需要调查操作,这意味着可以更好地利用所学到的东西。在起点,确定刚才完成帧的处理时间pt。在特定的质量等级q处理这个帧。为了估计在不同质量等级处用于该帧的处理时间,采用其也用于按比例预算的离线确定的ept值(期望的处理时间)。例如,如果在质量等级q2所处理的帧产生20ms的处理时间,并且如果ept(q0)=15ms且ept(q2)=22ms,那么在质量等级q0用于该帧的估计处理时间是20ms·ept(q0)ept(q2)=13.6ms.]]>该估计处理时间用来模拟处理该帧。在格点状态st处开始、且采取特定质量等级操作qt、利用用于质量等级qt的估计处理时间可以计算出处理该帧之后产生的(无格点)状态st+1、相应的贪婪质量等级操作qt+1、以及最终收益rt+1。在这个计算中,首先用于按比例预算的处理时间(标准化步骤)是正确的。利用这个信息,应用Sarsa更新规则。在每个起点,优选是对所有格点状态和所有质量等级操作均这样做。因此,优选是不需要常常采取随机(非贪婪)操作。可通过以下算法实现本发明,其中sbp表示计算按比例预算的点,即按比例预算点;rpp表示计算相对进度的点,即相对进度点;以及pq表示在先质量。
算法初始化1a. 初始化运行中复杂化系数rcf←11b. 用于所有状态(sbp,rpp,pq)1c. 用于所有质量操作q1d. 初始化(状态,操作)-值Q(sbp,rp,pq;q)←0算法获取判定质量输入相对进度rp输入在先所采用的质量pq输出判定质量dq2a. 计算该按比例预算sb←b/rcf2b. 对于按比例预算sb、相对进度rp和在先质量pq,计算对于所有可能质量操作q的内插(状态,操作)-值Qivec(sb,rp,pq;q)2c. 判定质量dq是相应于最高值Qivec(sb,rp,pq;q)的质量操作q算法更新(状态,操作)-值输入处理时间pt
输入处理质量q3a. 复制与处理最后工作单元之前存在的情况相对应的运行中复杂化系数。
oldrcf←rcf3b. 利用pt和q来更新该运行中复杂化系数rcf←rcf+α·(ptavg(q)-rcf)]]>3c. 计算该按比例预算sb←b/rcf3d. 用于所有状态(sbp,rpp,pq)3e. 用于所有质量操作 3f. 估计用于质量 的最后工作单元的处理时间ept←avg(q~)avg(q)pt]]>3g. 模拟处理质量 中的最后工作单元,在状态(sbp,rpp,pq)开始,以及具有标准化的处理时间甲ept/oldrcf3h. 观察最终收益rev和最终相对进度rp3i. 对于按比例预算sb(在3c中得出的)、相对进度rp、和在先质量 计算所有可能质量操作 的内插(状态,操作)-值Qivec(sb,rp,q~;q~′)]]>3j. Q′是最高值Qivec(sb,rp,q~;q~′)]]>3k. 利用rev和Q′来更新(状态,操作)-值Q(sbp,rpp,pq;q~)]]>Q(sbp,rpp,pq;q~)=]]>Q(sbp,rpp,pq;q~)+]]>β·(rev+γQ′-Q(sbp,rpp,pq;q~))]]>为了减少计算中的状态数目,可以应用以下技术。设sx=(sb,ρ,pqx)和sy=(sb,ρ,pqy)是仅在在先质量等级pqx和pqy中各自不同的格点状态。用于一帧的处理时间与在先帧所应用质量等级无关。因此,在起点处,如果在状态sx或sy处选择了质量等级q,那么在下一个起点产生的状态是相同的。根据操作-值,这意味着Q(sx;q)-qcp(pqx,q)=Q(sy;q)-qcp(pqy,q)。能够采用如下所述的这个观测以减少计算中的状态数目。为了学习操作-值采用了二维格点状态,即组SB中的按比例预算和组R中的进度的所有组合。为了在3维格点状态(sb,ρ,pq)中获得用于选择质量等级q的操作-值Q′((sb,ρ,pq);q),向所学习的操作-值Q′((sb,ρ);q)中增加了罚款qcp(pq;q)。换句话说,Q((sb,ρ,pq);q)=Q′((sb,ρ);q)+qcp(pq,q),并且学习了操作-值Q′。用这种方法,通过系数|Q|而减少了要更新的状态数目,其中Q是质量等级组。
本发明方法的所述实施例的顺序不是强制性的,所属领域技术人员在不脱离由本发明所指概念情况下,可以改变步骤的顺序或者利用线程模型、多处理器系统或多个过程来并行地执行步骤。
图9以示意图方式示出了根据本发明系统的主要部分。系统900包括微处理器914、软件总线912和存储器916。存储器916可以是随机存取存储器(RAM)。存储器916通过软件总线912与微处理器914通信。存储器916包括计算机可读代码902、904、906、908、910和912。计算机可读代码902被设计用来提供下一个媒体帧的多个输出质量的输出质量。计算机可读代码904被设计用来根据自学控制策略来设置下一个媒体帧的输出质量,所述自学控制策略利用处理时间和在先媒体帧的输出质量来确定下一个媒体帧的输出质量。计算机可读代码906被设计用来处理在先媒体帧。计算机可读代码908被设计用来确定包括所处理的在先媒体帧的相对进度值、所处理的在先媒体帧的按比例预算值、以及所处理的在先媒体帧的输出质量的状态。计算机可读代码910被设计用来根据状态和下一个媒体帧的可能的输出质量来确定收益。计算机可读代码912被设计用来减少状态的数目,其中通过减少仅在所处理的在先媒体帧的输出质量方面不同的那些状态而确定状态的收益。可将该系统包含在电视机内。此外,可从如CD或DVD这样的计算机可读介质中读出该计算机可读代码。
值得注意的是,上述实施例说明而不是限制本发明,而且所属领域技术人员在不脱离所附权利要求范围的情况下可设计许多替换的实施例。在权利要求中,置于括号中的所有参考标号不应看作是对该权利要求的限制。单词“包括”不排除存在列在权利要求中的元件或步骤之外的其它元件或步骤。元件之前的单词“一”或“一个”不排除多个这种元件的存在。本发明可借助于包括几个不同元件的硬件并且借助于适当的程序控制式计算机来实现。在列举了几个装置的系统权利要求中,可通过同一个计算机可读软件或硬件来具体化这几个装置。在相互不同的从属权利要求中讲述了某个手段的事实不表示这些手段的组合不能被有利地使用。
权利要求
1.设置下一个媒体帧的输出质量的方法,其中由媒体处理应用程序来提供输出质量;媒体处理应用程序被设计用来提供下一个媒体帧的多个输出质量;以及根据自学控制策略来设置下一个媒体帧的输出质量,该自学控制策略利用处理时间和在先媒体帧的输出质量来确定下一个媒体帧的输出质量。
2.根据权利要求1的方法,该方法包括处理在先媒体帧;判断状态,其包括所处理的在先媒体帧的相对进度值;所处理的在先媒体帧的按比例预算值;以及所处理的在先媒体帧的输出质量;根据该状态以及下一个媒体帧的可能输出质量来判断收益。
3.根据权利要求2的方法,其中收益基于多个被错过的截止期限、在先媒体帧的输出质量、以及质量改变。
4.根据权利要求2的方法,其中确定对于有限数量个状态的收益,该有限数量个状态由按比例预算值的有限集合和相对进度值的有限集合来确定。
5.根据权利要求2的方法,包括减少状态的数目,通过减少仅在所处理的在先媒体帧的输出质量方面不同的那些状态而确定状态的收益。
6.设置下一个媒体帧的输出质量的系统(900),包括应用程序装置(902),用于提供下一个媒体帧的多个输出质量的输出质量;以及控制装置(904),用于根据自学控制策略来设置下一个媒体帧的输出质量,该自学控制策略利用处理时间和在先媒体帧的输出质量来确定下一个媒体帧的输出质量。
7.根据权利要求6的系统,该系统包括处理装置(906),用于处理在先媒体帧;判断装置(908),用于判断状态,该状态包括所处理的在先媒体帧的相对进度值;所处理的在先媒体帧的按比例预算值;以及所处理的在先媒体帧的输出质量;收益装置(910),用于根据该状态以及下一个媒体帧的可能输出质量来判断收益。
8.根据权利要求7的系统,该系统包括减少装置(912),用于减少状态的数目,通过减少仅在所处理的在先媒体帧的输出质量方面不同的那些状态而确定状态的收益。
9.一种被设计用来执行根据权利要求1的方法的计算机程序产品。
10.一种包括根据权利要求9的计算机程序产品的存储设备。
11.一种包括根据权利要求6的系统的电视机。
全文摘要
本发明涉及一种用于设置下一个媒体帧的输出质量的方法和系统,包括应用程序装置,用于提供下一个媒体帧的多个输出质量的输出质量;以及控制装置,用于根据自学控制策略来设置下一个媒体帧的输出质量,该自学控制策略利用处理时间和在先媒体帧的输出质量来确定下一个媒体帧的输出质量。
文档编号H04N7/26GK1777870SQ200480010961
公开日2006年5月24日 申请日期2004年4月22日 优先权日2003年4月23日
发明者W·F·J·维哈格, C·C·伍斯特 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1