主动式视频帧丢弃的制作方法

文档序号:8303699阅读:619来源:国知局
主动式视频帧丢弃的制作方法
【专利说明】主动式视频帧丟弃
[0001]相关申请的交叉引用
[0002]本申请涉及并要求2012年10月11日提交的编号为13/649,863的美国专利申请的优先权,在此通过引用将其全部内容并入本文中。
【背景技术】
[0003]视频帧速率定义为每秒所处理的视频帧的数量。通常,希望视频帧速率适应不同的/变化的CPU使用率和信道带宽。因此,一般希望以所确定的视频帧速率来采集视频帧。然而,由于众多不同的现有平台和各种各样的装置,装置并不总是能够精确地并动态地控制视频帧米集速率。

【发明内容】

[0004]广泛地,本发明讨论用于硬件和网络不一致的主动式视频帧丢弃。更详细地,本发明提出了一种用于主动地丢弃视频帧的方法和装置。该方法包括:计算机记录在第一装置采集的视频帧的视频帧采集时间戳;计算机将视频帧采集时间戳与采集的视频关联;计算机将视频帧采集时间戳与该视频帧的视频帧目标时间戳比较;并且根据该比较,如果视频帧采集时间戳与视频帧目标时间戳之间的时间差超出了时间值的预定范围,计算机丢弃该视频帧。
【附图说明】
[0005]图1示出了根据一个实施例的贯穿从发送器到接收器的完整视频通话线路的视频丢弃的示例。
[0006]图2示出了根据一个实施例的用于主动丢弃视频帧的装置。
[0007]图3A和3B是根据一个实施例的用于主动丢弃视频帧的方法的流程图。
[0008]图4示出了根据一个实施例的用于主动丢弃视频帧的视频帧数据包调度控制机构。
[0009]图5是根据一个实施例的用于主动丢弃视频帧的方法的流程图。
[0010]图6示出了根据一个实施例的用于主动丢弃视频帧的装置。
[0011]图7示出了根据一个实施例的用于主动丢弃视频帧的方法。
[0012]图8示出了根据实施例的可在其上执行主动丢弃视频帧的实施例的示例装置。
[0013]图9示出了根据实施例的可在其上执行主动丢弃视频帧的实施例的示例装置。
[0014]图10示出了根据实施例的可在其上执行主动丢弃视频帧的实施例的示例装置(例如,移动装置)的框图。
[0015]除非特别声明,否则本说明书所涉及的附图应该被理解为并非按比例绘制。
【具体实施方式】
[0016]现在将详细参考各个实施例,在附图中示出了这些实施例的示例。虽然将结合这些实施例描述发明主题,但是应该明白,其并不意在将所述主题限制为这些实施例。相反,本文所述的主题旨在涵盖可包含在本精神和范围内的替换、修改和等同变换。而且,在下面的描述中,阐述了大量具体细节以提供对本主题的充分理解。然而,某些实施例可以不用这些特定细节来实施。在其他情况下,为了不使本主题的观点不必要地模糊,没有对众所周知的结构和组件进行详细描述。
[0017]如下将要描述的那样,在视频通话线路(pipeline)的不同阶段期间,各实施例采用三种不同的方法来主动将不同装置(例如,移动的、桌上型的)中的视频丢弃:(I)采集到视频帧后的适应性视频帧丢弃;(2)编码前的适应性视频帧丢弃以促进视频帧数据包调度控制;和(3)视频帧渲染前的动态视频帧丢弃。下面对每种方法进行更加详细地描述。
[0018]图1示出了在贯穿从发送器到接收器的整个视频通话线路中发生的三种可能的视频帧丢弃情景。简而言之,图1示出了从在发送装置100中采集视频帧到在接收装置165中渲染视频帧发生的过程。如图所示,在发送装置100处,视频帧移动的过程如下:视频采集105 ;视频编码110 ;视频打包115 ;以及视频数据包调度120。如图所示,在接收装置165处,视频帧移动的过程如下:视频数据包调度135 ;视频解包140 ;视频解码145 ;以及视频渲染150。
[0019]在不同实施例中,在操作125中,视频帧在视频采集105的处理后丢弃。在不同实施例中,在操作130中,视频帧在视频帧编码10开始前丢弃。此外,在操作130中,示出了在视频帧编码110开始前的视频帧丢弃的过程期间考虑了视频帧调度状态160 (其从视频帧数据包调度120过程中传输)。在不同实施例中,在操作155中,视频帧在视频渲染150前丢弃。图1中也示出了时间戳161至时间戳169。如图所示,一旦从一个过程进入到下一个过程,就生成时间戳。例如,在视频采集105中采集视频帧。一旦进入到视频编码110的过程中,就生成时间戳162,对视频帧编码发生的时间进行标记。
[0020]因此,各实施例提供了主动丢弃视频帧,而不是等待由于各种通信问题(例如,网络拥塞、带宽不足等)而导致网络丢弃视频帧,从而促进装置之间的视频帧能够稳定步调地传输。
[0021]符号和术语
[0022]现在将详细参考本技术的实施例,在附图中示出了这些实施例的示例。尽管本主题将结合不同实施例进行描述,但是应当理解的是,这些实施例并非意图将本主题限制为这些实施例。相反,如所附权利要求所限定的那样,本文所描述的主体旨在涵盖可包括在不同实施例的精神和范围内的替换、修改以及等同变换。
[0023]此外,在下面描述的实施例中,阐述了大量特定细节以便提供对本技术的充分理解。然而,本技术可以不用这些具体细节即可实施。在其他情况中,为了避免不必要地使本实施例的观点模糊,没有对众所周知的方法、过程、组件和电路进行详细描述。
[0024]随后的实施例的描述的一些部分以过程、逻辑模块、处理和对在计算机存储器中的数据比特进行操作的其他符号表示法来阐述。这些描述和表示法是数据处理领域中的技术人员用于向所属领域中的其他技术人员最有效地传达其工作本质的手段。在本申请中,过程、逻辑块、处理等被构思为产生期望结果的步骤或指令的自洽序列。这些步骤是需要物理量的物理操控的步骤。通常,虽然不是必须的,但是这些量表现为能够在计算机系统中被存储、传输、组合、比较和以其他方式操控的电信号或磁信号的形式。
[0025]然而,应该牢记,所有的这些和相似术语都与合适的物理量相关联并仅仅是应用到这些量的便利标记。除非特别声明,否则根据下面的论述显而易见的是,应该意识到,在整个本论述中,术语(例如,“记录”、“关联”、“比较”、“丢弃”、“发送”、“更新”、“估计”、“存取”、“接收”、“增加”、“预测”、“保持”、“发送”、“调度”、“维持”等)都是指计算机系统或类似的电子计算装置的行为和过程,所述计算机系统或类似的电子计算装置将计算机系统的寄存器和存储器中的以物理(电子)量表示的数据操控并转换为计算机系统的存储器或寄存器或其他这种信息存储器、传输装置或显示装置中的类似地以物理量表示的其他数据。
[0026](I)采集到视频帧后的适应性视频帧丢弃
[0027]视频帧速率定义为每秒所处理的视频帧的数量。通常,希望视频帧速率适应不同的/变化的CPU使用率和信道带宽。因此,一般希望以所确定的视频帧速率来采集视频帧。然而,由于众多不同的现有平台和各种各样的装置,装置并不总是能够精确地并动态地控制视频帧采集速率。这在某种程度上是因为某些装置和/平台不提供如下的清晰API,该清晰API提供准确的视频帧速率;并且某些装置和/或平台在视频帧的采集过程中在没有出现暂停或闪烁的情况下不启用摄像机帧速率设置以动态变化。
[0028]因此,在瞬时目标视频帧速率低于瞬时摄像机采集视频帧速率的情况下,各实施例提供了一种视频帧丢弃的方法,使得采集的视频帧的步调稳定同时仍然获得变化的目标视频帧速率。在一些情况下,摄像机采集视频帧速率可以由于不同的CPU使用状态和/或不同的照明条件而改变。此外,在其他情况下,目标视频帧速率可以改变以获得优良的整体的端到端的用户体验,例如通过适应于变化的网络条件以及本地装置和/或对等装置的(PU使用状态来获得优良的整体的端到端的用户体验。
[0029]用于一个视频帧的“目标时间点(time instance) ”定义为需要处理视频帧以最佳地达到目标视频帧速率的时间点。“采集时间点”定义为正在采集视频帧的时间点。在一个实施例中,为每个新采集的视频帧更新目标时间点。针对用于视频的采集的视频帧而使用与采集时间点相关联的历史数据,为下一个采集的视频帧估计采集时间点。在用于视频帧的目标时间点接近(达到和/或超出阈值)当前的采集时间点时,保留新采集的视频帧。否则,丢弃(跳过)该新采集的视频帧。
[0030]通过促进适应性的和主动的视频帧丢弃,各实施例使得视频帧以稳定的步调传输。由于大量的视频正在被采集(非常快地采集视频帧),所以希望在采集阶段丢弃视频帧。例如,发生网络拥塞、以及I帧丢失。最终,丢失这些I帧使得重新转换IDR,引起更大的拥塞。视频帧的反复无常的丢弃是危险的,这是因为不能确定哪些视频会丢失。各实施例对视频帧进行主动的丢弃。
[0031]图2示出了用于主动地丢弃视频帧的装置202。如本文所述,装置202至少包括与计算机耦接的以下组件:视频采集时间戳记录器215、视频帧采集时间戳关联器220、视频帧采集时间戳比较器235、和包含视频帧丢弃器250的视频帧操控器245。如本文所述,在不同实施例中,装置202可选地包括与计算机耦接的以下组件中的任意一个:视频帧发送器255、视频帧目标时间戳更新器265、和视频帧采集时间戳估计器270。
[0032]视频帧采集时间戳记录器215记录用于在第一装置200处采集的视频帧205的视频帧采集时间戳210。在不同实施例中,第一装置200是一种能够将视频传输到另一个装置(第二装置260)的装置。视频帧采集时间戳关联器220将视频帧采集时间戳210与采集的视频帧205关联。视频帧采集时间戳比较器235将视频帧采集时间戳210与用于视频帧205的视频帧采集目标时间戳240比较。视频帧采集目标时间戳240指示希望采集视频帧210的时间。
[0033]视频帧操控器245根据视频帧采集时间戳210与视频帧采集目标时间戳240的时间差来操控视频帧210。视频帧操控器245包括视频帧丢弃器250。如果视频帧采集时间戳210与视频帧采集目标时间戳240之间的时间差超出了时间值的预定范围,则视频帧丢弃器250就将视频帧205丢弃。
[0034]如果视频帧采集时间戳210与视频帧采集目标时间戳240之间的时间差落入时间值的预定范围内,则视频帧发送器255就将来自第一装置200的视频帧采集时间戳210和视频帧205发送给第二装置260。
[0035]视频帧目标时间戳更新器265更新与随后采集的视频帧相关联的随后的视频帧目标时间戳。从而,在视频帧205之后采集的每个视频帧都被认为是随后采集的视频帧。每个随后采集的视频帧接收视频帧采集时间戳,并与视频帧目标时间戳关联。每次采集到新的视频帧后,改变该视频帧采集目标时间戳以表明希望新的视频帧已经被采集的
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1