速率控制方法及设备的制作方法

文档序号:7950990阅读:241来源:国知局
专利名称:速率控制方法及设备的制作方法
速率控制方法及设备背景技术通常,在将源视频流编码为具有预定格式的多个画面组(GOP) 并通过信道以目标速率传输所述GOP的情况下,视频处理器可以包 括用于编码源视频流的编码器、用于控制编码器输出速率的控制器、 以及用于在通过信道传输GOP之前暂时存储GOP的缓冲器。控制器 可以基于缓冲器的预定目标充满度,控制编码器对当前帧进行编码的 目标分配(targetallocation)(例如,目标比特数量)。


通过实例和附图来阐述在此所述的本发明,但是本发明并不局限 于附图。为了阐述的简单清晰,附图中所示的元件并不一定按比例绘 制。例如,为了清晰起见, 一些元件的尺寸可能相对于其他元件而被 放大。此外,在适当考虑的情况下,参考标记在多个附图中重复出现, 以指示相应的或者类似的元件。图1是视频处理系统的一个实施例;图2是在图1的视频处理系统中的控制器的一个实施例; 图3是速率控制方法的一个实施例;图4是适应性地确定在图3的速率控制方法中使用的目标缓冲器充满度(buffer flillness)的方法的实施例;图5是目标缓冲器充满度模式(pattern)的一个实例;图6是目标缓冲器充满度模式的另一实例;以及图7是根据图4的方法而适应性地确定的目标缓冲器充满度模式的一个实例。
具体实施方式
以下描述说明了用于存储器写入方法和系统的技术。在以下描述中,提出了多个具体细节,例如逻辑实现、伪代码、指定操作数的方 法、源划分/共享復制的实现、系统组件的类型及相互关系、以及逻 辑划分/集成的选择,以便提供对本发明的更为透彻的理解。然而, 在没有这些具体细节的情况下也可以实现本发明。在其他实例中,没 有详细示出控制结构、门级别的电路以及完整的软件指令序列,以便 不会使本发明变得难以理解。本领域普通技术人员利用所包含的说明 将能够在不进行过度试验的情况下实现正确的功能。在说明书中提到的"一个实施例"、"实施例"、"实例实施例"等 等,指示所描述的实施例可以包含特定特征、结构或者特点,但是并 不是每个实施例都必然包含这些特定特征、结构或者特点。此外,这 些措辞并非必然指代同一实施例。此外,当结合实施例描述特定特征、 结构或者特点时,就认为不管是否明确说明,结合其他实施例来实现 这些特定特征、结构或者特点是在本领域技术人员的知识范围之内。本发明的实施例可以用硬件、固件、软件、或者其任意组合来实 现。本发明的实施例还可以实现为存储在机器可读介质上的指令,其 能够通过一个或多个处理器读出并执行。机器可读指令可以包括用于 以机器(例如,计算装置)可读的形式来存储或传输信息的任何机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器 (RAM);磁盘存储介质;光存储介质;闪存装置;电、光、声、或 其他形式的传播信号(例如,载波、红外信号、数字信号、等等)以 及其他。图1示出了视频处理系统的一个实施例。视频处理系统的实例的 非穷举式列表可以包括分布式计算系统、超级计算机、计算集群、 大型计算机、小型计算机、客户机-服务器系统、个人计算机、工作 站、便携式计算机、膝上型计算机、移动电话或者个人数字助理 (PDA)、或者能够进行视频处理和传输的其他装置。在一个实施例中,视频处理系统可以包括视频输入组件11、 一个或多个处理器12、存储器13、视频输出组件14、以及芯片组15。 视频输入组件11可以输入源视频流。在一个实施例中,视频输入组 件可以包括用于输入源图像的源图像输入组件,以及用于在对源图像进行编码之前对其进行预处理的预处理组件。源图像输入组件的实例可以包括用于拍摄源图像的摄像头(camera header)、用于从图像 记录介质(诸如胶片等等)中读出源图像的源图像读取器。预处理组 件的实例可以包括用于将模拟的源图像转换为数字的源视频流的模 数转换器。一个或多个处理器12绿由诸如处理器总线之类的一个或多个总 线可通信地耦合到各种组件(例如存储器13)。处理器12可以实现 为具有一个或多个处理内核的集成电路(IC)。处理器12可以包括诸 如Intel Pentium 4处理器或者Intel XScale⑧处理器之类的微处理 器,其执行用于实现各种任务的指令。具体而言,处理器12可以执 行用于控制视频流的编码和解码的指令。存储器13可以存储处理器12要执行的代码。在一个实施例中, 存储器13可以存储从视频输入组件11输入的源视频流121,编码器 122将源视频流按照各种视频编码标准(诸如MPEG-1、 MPEG-2、 MPEG-4、 H.261、 H.263、 H.264、 AVS (视频))编码为包含多个帧 的画面组(GOP);缓冲器123暂时存储这些帧;速率控制器124控 制编码器122输出这些帧至缓冲器123的输出速率。速率控制器124可以控制待编码的当前帧(例如,GOP中第n 帧)的目标分配(例如,目标比特数量),编码器122可以采用基于 从速率控制器124输出的目标分配而确定的实际分配(例如,实际比 特数量)来编码当前帧。在一个实施例中,速率控制器可以根据在先 前帧(例如,GOP中第(n- 1)帧)进入缓冲器123之后的时刻的 实际缓冲器充满度以及该先前帧的目标缓冲器充满度,来控制当前帧 的目标分配。在另一实施例中,如果当前帧是GOP中起始帧,则可 以预先确定"先前帧"的实际充满度以及其目标缓冲器充满度。视频输出组件14可以输出在缓冲器123中的帧。在一个实施例 中,视频输出组件14可以以目标速率通过信道输出所述帧。视频输 出组件14的实例可以包括网卡、蓝牙等等。芯片组15可以提供在视 频输入组件11、处理器12、存储器13和视频处理组件14之间的一 个或多个可通信路径。其他实施例可以实现对上述视频处理系统10的结构的其他修改 和变形。例如,视频处理系统IO还可以包括除了图1所示的视频输 入/输出组件之外的其他I/O组件。对于另一实例,视频处理系统10 还可以包括BIOS固件,其可以存储在系统启动过程中视频处理系统 10执行来初始化处理器12、芯片组15以及视频处理系统10的其他 组件的例行程序。图2示出了图1中的速率控制器124的实施例。速率控制器124 可以包括目标缓冲器充满度逻辑(target buffer fUllness logic) 210以 及目标分配逻辑(targetallocation logic) 211。目标缓冲器充满度逻辑 210可以确定GOP中每个帧的目标缓冲器充满度,以便在GOP中至 少两个帧具有不同目标缓冲器充满度的情况下形成GOP的目标缓冲 器充满度模式。图5和6示出了目标缓冲器充满度模式的两个实例。如图5所示, 目标缓冲器充满度模式可以是斜线,其中GOP中第一帧的目标缓冲 器充满度比其最后一帧的目标缓冲器充满度高。图5的目标缓冲器充 满度模式可以适合于GOP可能以一个或多个帧内编码画面帧(即I 帧)开始并随后跟着多个帧间编码画面帧(即P帧)和/或者双向预 测帧(即B帧)的情况。通常,I帧可能比P帧或B帧花费更多的比 特分配。如图6所示,目标缓冲器充满度模式可以是类似Z字型的模式, 其中GOP中第一帧的目标缓冲器充满度比其最后一帧的目标缓冲器 充满度高。图6的目标缓冲器充满度模式不仅可以适合于参考图5所 述的情况,而且还适合于GOP的复杂度在GOP中不一致的情况,例 如第一帧到第五帧的复杂度比第六帧到第十帧的复杂度高,但是比第 十一帧到第十五帧的复杂度低,等等。在其他实施例中,目标缓冲器 充满度模式可以具有除了图5和6中的形式之外的其他形式。可以以各种方式确定每个帧的目标缓冲器充满度。在一个实施例 中,可以在对GOP中起始帧进行编码之前,根据一个(或多个)特 定因子(例如,在对起始帧进行编码之前时刻的实际缓冲器充满度, 和/或者画面复杂度的估计等等)来确定目标缓冲器充满度。在另一实施例中,可以在对GOP进行编码的处理之前或者过程中适应性地 确定GOP中每个帧的目标缓冲器充满度。例如,GOP (例如图5中 的GOP2)中每个帧的目标缓冲器充满度可以在对该GOP编码之前, 根据另一 GOP中某个帧(例如,在图5中的GOPl的最后一帧)的 实际缓冲器充满度和目标缓冲器充满度来确定,或者,该目标缓冲器 充满度可以在对该GOP进行编码的处理过程中,根据该GOP中某个 帧(例如,图5中的GOP2的第一帧)的实际缓冲器充满度和目标缓 冲器充满度来确定。目标分配逻辑211可以根据从缓冲器123输出的GOP中某个先 前帧(例如,在图5中的GOP2的第3帧)的实际缓冲器充满度以及 从目标缓冲器充满度逻辑210输出的该先前帧的目标缓冲器充满度, 来确定该GOP中当前帧(例如,图5中的GOP2的第4帧)的目标 分配。在一个实施例中,如果先前帧的实际缓冲器充满度小于其目标 缓冲器充满度,则目标分配逻辑211可以将当前帧的目标分配确定为 大于平均目标分配,反之亦然。平均目标分配可以根据视频输出组件 14从缓冲器123输出编码帧的预定目标速率以及预定帧速率来确定。 在另一实施例中,如果先前帧的实际缓冲器充满度大于某个预定阈 值,例如,缓冲器溢出警告等级,则目标分配逻辑211可以将当前帧 的目标分配确定为是O,即,编码器122可以跳过对当前帧的编码。在一个实施例中,速率控制器124还可以包括实际缓冲器充满度 逻辑212,用于计算一个帧的实际缓冲器充满度,而不是从缓冲器123 获得该实际缓冲器充满度。例如,实际缓冲器充满度逻辑212可以根 据在一个帧之前编码的另一帧的实际缓冲器充满度、由编码器122确 定的所述另一帧的实际分配、以及平均目标分配,来计算该帧的实际 缓冲器充满度(即,在该帧进入缓冲器123之后的实际缓冲器充满 度)。编码器122还可以包括量化参数逻辑213,用于根据一个帧的目 标分配以及画面复杂度估计来计算该帧和/或者该帧中多个块的量化 参数,从而使得编码器122可以基于该量化参数对该帧进行编码。可 替换的,量化参数逻辑213可以位于速率控制器124内部。参考图3和图4,将详细描述速率控制方法的一个实施例。图3 示出了速率控制方法的一个实施例。该速率控制方法可以采用图1中 的速率控制器124来实现。在框301中,控制器124的目标缓冲器充 满度逻辑210可以确定GOP中每个帧的目标缓冲器充满度。GOP可 以包括在当前帧(例如,第n帧)之前编码的先前帧(例如,第(n-1)帧)。如以上参考图2所述,GOP中每个帧的目标缓冲器充满度 可以在对该GOP中的起始帧进行编码之前预先确定,或者可以在对 该GOP进行编码之前或者处理过程中适应性地确定。稍后将参考图 4描述适应性地确定GOP中每个帧的目标缓冲器充满度的实施例。在框302中,目标分配逻辑211可以获得先前帧的实际缓冲器充 满度。先前帧的实际缓冲器充满度能够从缓冲器123中获得,或者可 以通过采用以下公式计算在先前帧之前编码的另一帧(例如,第(n-1)帧)的实际缓冲器充满度来获得BFn-, = BFn_2 + AL^ - R/F 其中,BF^表示第(n-1)帧的实际缓冲器充满度;BFn—2表示第(n -2)帧的实际缓冲器充满度;AL^表示第(n-l)帧的实际分配; R表示视频输出组件14从缓冲器123输出所述多个帧的目标速率;F 表示目标帧速率。在框303中,速率控制器124的目标分配逻辑211可以判断先前 帧的实际缓冲器充满度是否高于缓冲器溢出警告等级。如果是,则目 标分配逻辑211可以将当前帧的目标分配确定为是0 (框304)。如果目标分配逻辑211在框303中判定先前帧的实际缓冲器充满 度低于该缓冲器溢出警告等'级,则目标分配逻辑211可以继续在框 305中判断该实际缓冲器充满度是否高于其目标缓冲器充满度。目标 分配逻辑211可以以不同方式实现框305。在一个实施例中,可以将 在框301中所确定的该GOP中每个帧的目标缓冲器充满度存储在表 格中。然后,目标分配逻辑211可以通过从该表格中搜索与先前帧相 对应的表项来获得先前帧的目标缓冲器充满度,然后确定该实际缓冲 器充满度是否高于其目标缓冲器充满度。在另一实施例中,如果该 GOP的目标缓冲器充满度模式是如图5中所示的斜线,则速率控制器124可以判断先前帧的实际缓冲器充满度是否大于<formula>formula see original document page 14</formula>,,其中,A是GOP的目标缓冲器充满度的中间点等级,C是该斜线的最高点与最低点之间的峰值差,i是先前帧的 帧索引,N是GOP的帧数量,同时1^&N。如果目标分配逻辑211在框305中判定先前帧的实际缓冲器充满 度并不高于其目标缓冲器充满度,则目标分配逻辑211可以将当前帧 的目标分配确定为大于平均目标分配(框306)。在一个实施例中, 目标分配逻辑211可以采用以下公式来计算当前帧的目标分配TLn = R/F + Ai其中,TL。是第n帧(即,当前帧)的目标分配,R/F表示基于目标 速率R和目标帧速率F计算的平均目标比特数量;^是增量。在一 个实施例中,增量A,可以是先前帧的实际缓冲器充满度与目标缓冲 器充满度之间的差值。然而,增量Ai可以包含按照缓冲器容量和/或 者GOP特征(例如GOP的长度和复杂度)而确定的任何值。然而,目标分配逻辑211在框305中判定先前帧的实际缓冲器充 满度高于其目标缓冲器充满度,则目标分配逻辑211可以将当前帧的 目标比特数量确定为小于该平均目标比特数量(框507)。例如,控 制器可以采用以下公式计算当前帧的目标比特数量-TXn = R/F-A2其中,厶2表示减量(decrement)。在一个实施例中,减量^可以基 于先前帧的实际缓冲器充满度以及目标帧速率(例如BF^/F)来确定。 然而,减量~可以包含按照缓冲器容量和/或者GOP特征(例如GOP 的长度和复杂度)而确定的任何值。上述方法可以用于确定GOP中起始帧的目标比特数量,除了要 预先确定"先前帧"的实际缓冲器充满度以及其相应的目标缓冲器充 满度之外。图4示出了用于适应性地确定在图3中的方法中使用的GOP(例 如,当前GOP)中每个帧的目标缓冲器充满度的一个实施例。在框 401中,速率控制器124的目标缓沖器充满度逻辑210可以将当前GOP中每个帧的目标缓冲器充满度初始化为某个特定值。在一个实 施例中,目标缓冲器充满度可以被初始化为用于另一 GOP中每个帧 的值,例如,所述另一GOP可以在当前GOP之前进行编码(例如, 先前GOP)。然而,其他实施例可以实现对框401的其他修改和变形。在框402中,目标缓冲器充满度逻辑210可以获得先前GOP中 的某个帧(例如,其最后一帧)的实际缓冲器充满度。目标缓冲器充 满度逻辑210可以以不同方式实现框402。在一个实施例中,目标缓 冲器充满度逻辑210可以从缓冲器123获得该最后一帧的实际缓冲器 充满度。在另一实施例中,目标缓冲器充满度逻辑210可以从实际缓 冲器充满度逻辑212获得实际缓冲器充满度,实际缓冲器充满度逻辑 212可以采用公式BFn., =BFn_2 + AL^ — R/F计算实际缓冲器充满度。在框403中,目标缓冲器充满度逻辑210可以确定先前GOP中 最后一帧的实际缓冲器充满度是否高于预定阈值。在一个实施例中, 该阈值被确定为是缓冲器容量的一半。在其他实施例中,只要与缓冲 器容量和/或者当前GOP的特征(例如当前GOP的长度和复杂度) 一致,该阈值可以是其他值。如果在框403中,目标缓冲器充满度逻辑210判定该最后一帧的 实际缓冲器充满度高于该预定阈值,则目标缓冲器充满度逻辑210可 以在框405中调节当前GOP中每个帧的目标缓冲器充满度。在一个 实施例中,如果目标缓冲器充满度模式是如图5和6所示的斜线或者 Z字型线,则目标缓冲器充满度逻辑210可以进行调节,以增加斜线 或者Z字型线的倾斜度,例如,可以将倾斜度增加一个或多个步长(例 如, 一个步长=5°)。然而,其他实施例可以实现对框405的其他修 改和变形。如果在框403中,目标缓冲器充满度逻辑210判定先前GOP中 最后一帧的实际缓冲器充满度小于该预定阈值,则目标缓冲器充满度 逻辑210可以继续在框404中判断该最后一帧的实际缓冲器充满度是 否小于其目标缓冲器充满度。如上所述,目标缓冲器充满度逻辑210 可以以各种方式获得该最后一帧的目标缓冲器充满度。在一个实施例 中,目标缓冲器充满度可以通过从表格中搜索存储了与该最后一帧相对应的目标缓冲器充满度的表项来获得。在另一实施例中,如果先前GOP的目标缓冲器充满度模式是如图5所示的斜线,则可以采用以 下公式来获得目标缓冲器充满度-其中,TBFN是第N帧(即,最后一帧)的目标缓冲器充满度。如果目标缓沖器充满度逻辑210在框404中判定该最后一帧的实 际缓冲器充满度不小于其目标缓冲器充满度,则图4中的方法可以到 结束,即,目标缓冲器充满度逻辑210可以保持当前GOP中每个帧 的初始化目标缓冲器充满度不变。然而,如果反之,则目标缓冲器充 满度逻辑210可以在框405中调节当前GOP中每个帧的目标缓冲器 充满度。在一个实施例中,如果目标缓冲器充满度模式是如图5和6 所示的斜线或者Z字型线,则目标缓冲器充满度逻辑210可以进行调 节,以便降低斜线或者Z字型线的倾斜度,例如,可以将倾斜度降低 一个或多个步长(例如, 一个步长=5°)。然而,其他实施例可以实 现对框405的其他修改和变形。图7示出了对当前GOP的目标缓冲器充满度模式的倾斜度进行 调节的实例。如所示,参考平衡等级(例如,缓冲器容量的一半)来 调节该倾斜度。其他实施例可以以所述平衡等级之外的参考来调节该 倾斜度。返回参考图4,在框406中,目标缓冲器充满度逻辑210可以进 一步判断是否当前GOP中至少一个帧的目标缓冲器充满度位于由预 定的上限和下限所定义的范围之夕卜。如果是,则目标缓冲器充满度逻 辑210可以在框407中基于所述上限和下限来进一步调节当前GOP 中至少一个帧的目标缓冲器充满度。如果不是,则图4中的方法可以 到结束,这表示当前GOP中每个帧的目标缓冲器充满度被确定为是 在框405中进行调节的目标缓冲器充满度。如上所述,可以根据一个(或多个)特定因子来预先确定多个 GOP中的起始GOP中每个帧的目标缓冲器充满度。已经参考图4描 述了用于确定GOP中每个帧的目标缓冲器充满度的方法的一个实施例。然而,其他实施例可以实现对图4方法的其他修改或者变形。例 如,图4示出了在对GOP进行编码之前确定GOP中每个帧的目标缓 冲器充满度。然而,其他实施例可以在其他时间点,例如在对GOP 中第一帧进行编码之后,来确定GOP的目标缓冲器充满度。在该情况下,目标缓冲器充满度逻辑210可以首先将GOP中每 个帧的目标缓冲器充满度初始化为与另一 GOP中每个帧的目标缓冲 器充满度相同的值。在编码器122对GOP中第一帧进行编码并将编 码帧输出到缓冲器123之后,目标缓冲器充满度逻辑210可以获得第 一帧的实际缓冲器充满度。然后,可以将该实际缓冲器充满度与预定 的缓冲器溢出警告等级以及其目标缓冲器充满度进行比较。如果实际 缓冲器充满度高于警告等级或者小于其目标缓冲器充满度,则可以调 节GOP中每个帧的目标缓冲器充满度。在一个实施例中,如果GOP 的目标缓冲器充满度模式是斜线或Z字型线,则目标缓冲器充满度逻 辑210可以进行调节,以增加(在实际缓冲器充满度高于警告等级的 情况下)或者降低(在实际缓冲器充满度小于其目标缓冲器充满度的 情况下)斜线或者Z字型线的倾斜度。然后,如果实际缓冲器充满度 位于由预定上限和下限所定义的范围之外,则目标缓冲器充满度逻辑 210可以进一步修改GOP的至少一个帧的结果目标缓冲器充满度。虽然结合特定实施例描述了本发明,但是应该理解,本领域技术 人员容易理解的是,在不脱离本发明的精神和范围的情况下,可以进行多种修改和变形。这种修改和变形认为是在本发明以及附带的权利 要求的范围之内。
权利要求
1、一种方法,包括确定多个帧中每个帧的目标缓冲器充满度模式;并且基于所述多个帧中每个帧的目标缓冲器充满度,执行速率控制,其中,所述多个帧中的至少两个帧具有不同的目标缓冲器充满度。
2、 如权利要求l所述的方法,其中,执行所述速率控制的步骤 还包括获得所述多个帧中一先前帧的实际缓冲器充满度;并且基于所述先前帧的实际缓冲器充满度和目标缓冲器充满度,确定 当前帧的目标分配。
3、 如权利要求1所述的方法,还包括基于所述多个帧中每个帧的目标缓冲器充满度来确定所述多个帧的目标缓冲器充满度模式,其中,所述目标缓冲器充满度模式是斜线和z字型线中的一种。
4、 如权利要求l所述的方法,其中,确定所述目标分配的步骤 还包括如果所述先前帧的实际缓冲器充满度高于缓冲器溢出警告等级,则将所述当前帧的目标分配确定为是o。
5、 如权利要求l所述的方法,其中,确定所述目标分配的步骤还包括如果所述先前帧的实际缓冲器充满度低于所述先前帧的目标缓 冲器充满度,则将所述当前帧的目标分配确定为大于平均目标分配, 其中,所述平均目标分配是根据预定目标速率以及预定目标帧速率而 确定的;并且如果所述先前帧的实际缓冲器充满度大于所述先前帧的目标缓 冲器充满度,则将所述当前帧的目标分配确定为低于所述平均目标分配。
6、 如权利要求l所述的方法,其中,确定所述目标缓冲器充满度的步骤还包括适应性地确定所述多个帧中至少一个帧的目标缓冲 器充满度。
7、 如权利要求6所述的方法,其中,适应性地确定所述目标缓冲器充满度的步骤还包括将所述多个帧中每个帧的目标缓冲器充满度初始化为在所述多 个帧之前的另外的多个帧中的每个帧的目标缓冲器充满度;并且基于所述另外的多个帧中最后一帧的实际缓冲器充满度和目标 缓冲器充满度,来调节所述多个帧中至少一个帧的目标缓冲器充满 度。
8、 如权利要求6所述的方法,其中,适应性地确定所述目标缓 冲器充满度的步骤还包括将所述多个帧中每个帧的目标缓冲器充满度初始化为在所述多 个帧之前的另外的多个帧中的每个帧的目标缓冲器充满度;并且基于所述多个帧中第一帧的实际缓冲器充满度和目标缓冲器充 满度,来调节所述多个帧中至少一个帧的目标缓冲器充满度。
9、 一种设备,包括目标缓冲器充满度逻辑,用于确定多个帧中每个帧的目标缓冲器 充满度,所述多个帧包括一先前帧;以及目标分配逻辑,用于基于所述先前帧的实际缓冲器充满度以及所 述先前帧的目标缓冲器充满度,来确定当前帧的目标分配,其中,所述多个帧中至少两个帧具有不同的目标缓冲器充满度。
10、 如权利要求9所述的设备,还包括实际缓冲器充满度逻辑, 用于基于所述先前帧的实际分配以及平均目标分配来计算所述先前帧的实际缓冲器充满度,其中,所述平均目标分配是基于预定目标速 率以及预定帧速率而确定的。
11、 如权利要求9所述的设备,所述目标缓冲器充满度逻辑还基 于所述多个帧中每个帧的目标缓冲器充满度来确定所述多个帧的目 标缓冲器充满度模式,其中,所述目标缓冲器充满度模式是倾斜的。
12、 如权利要求9所述的设备,其中,所述目标分配逻辑还在所 述先前帧的实际缓冲器充满度高于缓冲器溢出警告等级的情况下将 所述当前帧的目标分配确定为是O。
13、 如权利要求9所述的设备,其中,所述目标分配逻辑还在所述先前帧的实际缓冲器充满度低于所 述先前帧的目标缓冲器充满度的情况下将所述当前帧的目标分配确 定为大于平均目标分配,在所述先前帧的实际缓冲器充满度大于所述 先前帧的目标缓冲器充满度的情况下将所述当前帧的目标分配确定 为低于所述平均目标分配;并且所述平均目标分配是根据预定目标速率以及预定目标帧速率而 确定的。
14、 如权利要求9所述的设备,其中,所述目标缓冲器充满度逻 辑适应性地确定所述多个帧中至少一个帧的目标缓冲器充满度。
15、 如权利要求14所述的设备,其中,所述目标缓冲器充满度 逻辑将所述多个帧中每个帧的目标缓冲器充满度初始化为在所述多 个帧之前的另外的多个帧中的每个帧的目标缓冲器充满度;并且基于所述另外的多个帧中最后一帧的实际缓冲器充满度和目标 缓冲器充满度,来调节所述多个帧中至少一个帧的目标缓冲器充满 度。
16、 如权利要求14所述的设备,其中,所述目标缓冲器充满度逻辑将所述多个帧中每个帧的目标缓冲器充满度初始化为在所述多 个帧之前的另外的多个帧中的每个帧的目标缓冲器充满度;并且基于所述多个帧中第一帧的实际缓冲器充满度和目标缓冲器充 满度,来调节所述多个帧中至少一个帧的目标缓冲器充满度。
17、 一种系统,包括 输入组件,用于输入视频流,编码器,用于将所述视频流编码为具有预定格式的多个帧;以及 控制器,通过利用所述多个帧中每个帧的目标缓冲器充满度,来控制从所述编码器输出所述多个帧的速率,其中,所述多个帧中的至少两个帧具有不同的目标缓冲器充满度。
18、 如权利要求17所述的系统,还包括缓冲器,用于在以预定 目标速率传输从所述编码器输出的所述多个帧之前,存储所述多个 帧。
19、 如权利要求17所述的系统,其中,所述控制器 确定所述多个帧中每个帧的目标缓冲器充满度,所述多个帧包括一先前帧;确定所述先前帧的实际缓冲器充满度,并且 基于所述先前帧的实际缓冲器充满度和目标缓冲器充满度,来确 定当前帧的目标分配。
20、 如权利要求17所述的系统,其中,所述控制器确定所述多 个帧中每个帧的目标缓冲器充满度,以形成所述多个帧的目标缓冲器 充满度模式,所述目标缓冲器充满度模式包括斜线和Z字型线中的一 种。
21、 如权利要求17所述的系统,其中,所述控制器适应性地确 定所述多个帧中至少一个帧的目标缓冲器充满度。
22、 如权利要求22所述的系统,其中,所述控制器 将所述多个帧中每个帧的目标缓冲器充满度初始化为在所述多个帧之前的另外的多个帧中的每个帧的目标缓冲器充满度;并且基于所述另外的多个帧中最后一帧的实际缓冲器充满度和目标 缓冲器充满度,来调节所述多个帧中至少一个帧的目标缓冲器充满 度。
23、 如权利要求22所述的系统,其中,所述控制器 将所述多个帧中每个帧的目标缓冲器充满度初始化为在所述多个帧之前的另外的多个帧中的每个帧的目标缓冲器充满度;并且基于所述多个帧中第一帧的实际缓冲器充满度和目标缓冲器充 满度,来调节所述多个帧中至少一个帧的目标缓冲器充满度。
24、 一种机器可读介质,其包含多个指令,响应于所述多个指 令的执行导致计算装置-确定多个帧中每个帧的目标缓冲器充满度模式;并且 基于所述多个帧中每个帧的目标缓冲器充满度,执行速率控制, 其中,所述多个帧中的至少两个帧具有不同的目标缓冲器充满度。
25、 如权利要求24所述的机器可读介质,其中,所述多个指令 还导致所述计算设备获得所述多个帧中一先前帧的实际缓冲器充满度;并且 基于所述先前帧的实际缓冲器充满度和目标缓冲器充满度,确定 当前帧的目标分配。
26、 如权利要求25所述的机器可读介质,其中,所述多个指令 还导致所述计算设备基于所述多个帧中每个帧的目标缓冲器充满度 来确定所述多个帧的目标缓冲器充满度模式,其中,所述目标缓冲器 充满度模式是倾斜的。
27、 如权利要求24所述的机器可读介质,其中,所述多个指令 还导致所述计算设备如果所述先前帧的实际缓冲器充满度高于缓冲 器溢出警告等级,则将所述当前帧的目标分配确定为是O。
28、 如权利要求24所述的机器可读介质,其中,所述多个指令 还导致所述计算设备如果所述先前帧的实际缓冲器充满度低于所述先前帧的目标缓 冲器充满度,则将所述当前帧的目标分配确定为大于平均目标分配, 其中,所述平均目标分配是根据预定目标速率以及预定目标帧速率而 确定的;并且如果所述先前帧的实际缓冲器充满度大于所述先前帧的目标缓 冲器充满度,则将所述当前帧的目标分配确定为低于所述平均目标分 配。
29、 如权利要求24所述的机器可读介质,其中,所述多个指令 还导致所述计算设备适应性地确定所述多个帧中至少一个帧的目标 缓冲器充满度。
30、 如权利要求29所述的机器可读介质,其中,所述多个指令 还导致所述计算设备将所述多个帧中每个帧的目标缓冲器充满度初始化为在所述多 个帧之前的另外的多个帧中的每个帧的目标缓冲器充满度;并且基于所述另外的多个帧中最后一帧的实际缓冲器充满度和目标 缓冲器充满度,来更新所述多个帧中每个帧的目标缓冲器充满度。
全文摘要
一种速率控制方法,包括确定多个帧中每个帧的目标缓冲器充满度模式,获得所述多个帧中一先前帧的实际缓冲器充满度;基于所述先前帧的实际缓冲器充满度和目标缓冲器充满度来确定当前帧的目标分配,其中,所述多个帧中的至少两个帧具有不同的目标缓冲器充满度。
文档编号H04N7/50GK101223790SQ200580051052
公开日2008年7月16日 申请日期2005年7月14日 优先权日2005年7月14日
发明者H·吴, Z·周 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1