使用运动估计的随时间注视点渲染的制作方法

文档序号:21367763发布日期:2020-07-04 04:43阅读:172来源:国知局
使用运动估计的随时间注视点渲染的制作方法



背景技术:

计算机图形或图像渲染是计算系统基于计算机程序来显示图像的过程。包含关于场景中的对象的信息的场景文件传递到一个或多个处理单元,所述处理单元基于场景文件来渲染图像以进行显示。显示器包含像素阵列,每个像素是显示装置中的最小可寻址元素。渲染显示器的每个像素以生成高分辨率图像是计算上密集的。为了减少渲染工作负载,可通过留下“空洞”或未渲染像素来以较低分辨率渲染图像的一些区域。可通过改变复杂性的技术来“填充”空洞来尝试使空洞不太明显。然而,在查看者感兴趣的图像的区域处留下空洞的结果和填充空洞的方法可显著地损害图像质量。

附图说明

通过参考附图,可更好地理解本公开,并且本公开的许多特征和优点对本领域技术人员来说可显而易见。在不同的图中使用相同的参考符号表示类似或相同的项。

图1是根据一些实施方案的处理系统的框图,所述处理系统包括运动估计器引擎以生成运动矢量场来渲染随时间注视点图像。

图2是根据一些实施方案的图1的运动估计器引擎和渲染处理器的框图。

图3是根据一些实施方案的图2的运动估计器引擎的运动矢量场生成器的框图。

图4是根据一些实施方案的图2的渲染处理器的边缘检测器的框图。

图5是根据一些实施方案的图2的渲染处理器的概率图生成器的框图。

图6是根据一些实施方案的图2的渲染处理器的空洞内插器的框图。

图7是示出根据一些实施方案的用于生成空洞的概率图并且基于运动矢量场来识别用于填充空洞的值以渲染随时间注视点图像的方法的流程图。

具体实施方式

随时间注视点渲染可用于通过选择性地渲染图像的像素或像素块并且留下一些像素或像素块未渲染来减少处理系统上的计算工作负载。通过识别查看者对图像的哪些区域感兴趣,有可能以最高分辨率渲染预期查看者聚焦于的图像的那些区域(“中央凹区域”),并且在感兴趣区域之外选择用于“空洞”或未渲染像素的更多位置,使得它们对查看者来说不那么显眼。像素离感兴趣区域越远,空洞就越可能容忍可接受的质量。

处理系统使用运动估计器引擎来将先前渲染的图像分成一个或多个像素的单元并且生成识别具有移动区域的那些单元的运动矢量场。处理系统使用渲染处理器来将基于运动矢量场而几乎没有运动和具有大量边缘活动的那些单元识别为感兴趣区域,并且最小化这些区域中的空洞的概率。为了避免显眼的图案,渲染处理器应用概率图来确定可能的空洞位置,从而向每个单元分配指示单元内的将成为空洞的像素的百分比的概率。例如,如果运动估计器引擎识别出几乎没有移动的区域位于图像的右上象限,那么渲染处理器将应用识别空洞在图像的右上象限之外的概率更高的更多单元的概率图。以此方式,几乎没有运动和/或具有更高边缘活动的单元将具有更少的空洞。

运动估计器引擎检查两个最近的完全渲染的图像(被称为“n”图像和“n-1”图像),以创建测量先前两个图像的运动的运动矢量场。运动估计器引擎将n图像和n-1图像的每个单元或块进行比较以确定每个块的运动矢量。块是用于基于块的运动估计的均匀大小的一组像素。在一些实施方案中,不基于块的运动估计器引擎生成每像素或每组多个像素的运动矢量。基于对n图像和n-1图像的分析,运动估计器引擎生成运动矢量场,所述运动矢量场指示先前两个图像之间的运动区域、幅度和方向。

如果n图像和n-1图像足够地相关而得出结论:n图像是就在其前面的n-1图像的延续,那么渲染处理器假设运动矢量场是有效的(例如,没有场景变化)并且下一图像(被称为“n+1”图像)的单元将沿着相同的轨迹继续。渲染处理器还分析n图像的像素组并且识别n图像的哪些像素组包含边缘以及边缘的强度,并且它可计算其他相关度量。在一些实施方案中,渲染处理器分析的像素组不同于(即,在大小方面)运动估计器引擎所使用的分析组。在一些实施方案中,渲染处理器识别相邻的像素(即,边缘)之间的大于阈值的差异。基于运动矢量场、检测到的边缘和其他相关度量中的一个或多个,渲染处理器生成概率图,所述概率图指示n+1图像的单元或“图片区域”内的每个像素将是空洞的概率。在一些实施方案中,概率图的单元形成多个像素的块的均匀或非均匀网格。概率图的单元的大小不需要与基础度量所使用的单元的大小相关。概率图将较低空洞概率分配到被确定为包含大于第一阈值量或强度的边缘的那些单元,并且分配到具有小于第二阈值量的运动的区域。其他相关度量将降低包含空洞的单元的概率,因为该单元的重要性被认为更高。

在场景变化的情况下,运动矢量场没有提供有用的信息并且渲染处理器应用默认概率图。在一些实施方案中,默认概率图在n+1图像上分配均匀的概率。在一些实施方案中,默认概率图在图像的中间分配较低空洞概率密度并且接近图像的边缘分配较高空洞概率密度。

另外,渲染处理器识别应基于时间上相邻的图像来如何填充空洞以使空洞对查看者来说不太惹眼的预测器。因此,如果n+1图像包含空洞,那么渲染处理器(使用来自运动估计器引擎的运动矢量场)识别n图像的与n+1图像的空洞相对应的像素,并且使用来自可用像素的时空数据来填充空洞(被称为“时空”内插)。在一些实施方案中,渲染处理器另外地基于局部结构和时间变化来填充空洞。

然而,如果就在前面的图像具有低于阈值的时间相关性(例如,在场景变化的情况下),那么渲染处理器使用空间内插算法来填充空洞。在一些实施方案中,空间内插算法基于图像的空间上相邻的像素的局部平均值来填充空洞。在一些实施方案中,空间内插算法另外地基于检查局部结构来填充空洞。

图1是根据一些实施方案的处理系统100的框图,所述处理系统包括用于生成运动矢量场125的运动估计器引擎120和用于基于运动矢量场125来渲染随时间注视点图像135的渲染处理器130。处理系统100可结合在多种电子装置中的任一种中,诸如服务器、个人计算机、平板计算机、机顶盒、游戏系统等。运动估计器引擎120耦合到存储器110和渲染处理器130,所述渲染处理器将随时间注视点渲染的图像135提供到显示器140。渲染处理器130执行指令并将信息存储在存储器110中,诸如执行的指令的结果。例如,存储器110存储其从渲染处理器130接收到的多个先前渲染的图像(未示出)。在一些实施方案中,存储器110被实现为动态随机存取存储器(dram),并且在一些实施方案中,也使用其他类型的存储器来实现存储器110,包括静态随机存取存储器(sram)、非易失性ram等。处理系统100的一些实施方案包括输入/输出(i/o)引擎(未示出),以用于处理与显示器140以及处理系统100的其他元件(诸如键盘、鼠标、打印机、外部磁盘等)相关联的输入或输出操作。

运动估计器引擎120被配置为从中央处理单元(cpu)(未示出)接收用于最近渲染的图像(n图像)105和第二最近渲染的图像(n-1图像)107的存储器位置。运动估计器引擎120将存储在存储器110处的顺序的先前渲染的图像105和107进行比较以生成运动矢量场125。

渲染处理器130接收由中央处理单元(cpu)(未示出)生成的指示渲染处理器130渲染当前(n+1)图像(未示出)的命令。渲染处理器130的一些实施方案包括独立地同时或并行执行指令的多个处理器核心(为清楚起见,未示出)。由cpu生成的命令的一些实施方案包括限定由渲染处理器130用来渲染n+1图像中的对象或其部分的纹理、状态、着色器、渲染对象、缓冲器等的信息。渲染处理器130渲染对象以产生提供到显示器140的像素值,所述显示器使用像素值来显示表示渲染的对象的图像。

为了便于更有效地渲染图像,渲染处理器130识别n图像105的边缘,并且基于识别的边缘和运动矢量场125来生成概率图,所述运动矢量场指示n+1图像的每个单元的在该单元内的像素将成为空洞的概率。渲染处理器130渲染n+1图像,从而基于概率图留下空洞。渲染处理器130还被配置为基于时间上或空间上相邻的单元来识别空洞的填充值。基于由运动估计器引擎120提供的运动矢量场125,渲染处理器130识别n图像的与n+1图像的空洞相对应的像素。如果n图像的对应的像素被渲染(即,没有空洞),那么渲染处理器130将n图像的对应的渲染的像素的值识别为用于使用“时空”内插方法(例如,基于时间行为和局部结构的方法)来填充n+1图像的空洞的值。如果n图像的对应的像素是空洞,或者如果n图像的对应的单元与当前图像的对应性低于阈值(例如,在场景变化的情况下),那么渲染处理器130基于在空间上与n+1图像的空洞相邻的像素的值来得出用于填充n+1图像的空洞的值(被称为“空间内插”)。在一些实施方案中,渲染处理器130基于简单平均值来进行空间内插。在一些实施方案中,渲染处理器130另外地基于局部结构来进行空间内插。

在操作中,运动估计器引擎120从cpu(未示出)接收n图像105和n-1图像107的存储器位置。运动估计器引擎120至少分析存储在存储器110处的n图像105和n-1图像107以生成估计n+1图像(未示出)的移动区域的运动矢量场125。运动矢量场125指示图像的每个单元的运动方向和/或幅度。运动估计器引擎120将运动矢量场125提供到渲染处理器130。

渲染处理器130从运动估计器引擎120接收运动矢量场125,并且还分析n图像105以识别对象的边缘。基于识别的边缘和由运动矢量场125指示的移动,渲染处理器130生成概率图(未示出),所述概率图指示n+1图像的每个单元的在该单元内的像素将成为空洞的概率值。在一些实施方案中,概率图指示被识别为具有高于平均量的边缘或者超过第一阈值的数量和/或强度的边缘的那些单元的较低空洞概率。在一些实施方案中,概率图指示被识别为几乎没有移动或者具有低于第二阈值的移动的那些单元的较低空洞概率。在一些实施方案中,第一阈值和第二阈值是固定的参数,并且在一些实施方案中,第一阈值和/或第二阈值是基于当前视频或其他系统参数而自适应的。如果n图像105和n-1图像107具有低于第三阈值的相关性(指示场景变化),那么渲染处理器应用默认概率图,所述默认概率图不依赖于运动矢量场125。

渲染处理器130渲染n+1图像,从而留下如由概率图指示的空洞。渲染处理器130还识别用作空洞的填充物的值。渲染处理器130使用识别的值来填充空洞以生成随时间注视点渲染的图像135。渲染处理器130将随时间注视点渲染的图像135提供到显示器140,所述显示器使用随时间注视点渲染的图像135的像素值来显示表示n+1图像的图像。渲染处理器130还将随时间注视点渲染的图像135的副本提供到存储器110,所述副本存储在所述存储器中,以便后续生成下一图像的运动补偿版本。

图2是根据一些实施方案的图1的处理系统100的运动估计器引擎220和渲染处理器230的框图。运动估计器引擎220输出运动矢量场225,所述运动矢量场由渲染处理器230用来生成随时间注视点渲染的n+1图像235。

运动估计器引擎220被配置为基于从比较存储在存储器210处的先前渲染的n图像205和n-1图像207得出的估计来生成运动矢量场225。运动估计器引擎220包括运动矢量场生成器255。运动矢量场生成器255被配置为估计连续图像中的对象的移动。运动估计假设在大多数情况下,连续图像将是类似的,不同在于由在图像内移动的对象引起的变化。为了估计运动,运动矢量场生成器255确定描述根据图像序列的相邻的图像从一个二维图像转换到另一个二维图像的运动矢量。运动矢量是提供从一个图像中的坐标到另一个图像中的坐标的偏移二维矢量。

运动矢量场生成器255将n图像205(最近渲染的图像)和n-1图像207(就在n图像之前渲染的图像)的对应的像素进行比较,以创建模拟两个图像之间的对象的移动的运动矢量场225。在一些实施方案中,运动矢量场生成器255采用块匹配算法,诸如穷举搜索、三步搜索、简单有效搜索、四步搜索、菱形搜索或者块匹配中使用的其他算法。如果n图像205与n-1图像207之间的比较指示图像之间的大变化,那么渲染处理器可确定n图像与n-1图像之间的时间相关性低于阈值。

渲染处理器230包括边缘检测器260、概率图生成器265、渲染器270和空洞内插器275。在一些实施方案中,边缘检测器260、概率图生成器265、渲染器270和空洞内插器275被实现为渲染处理器230上的着色器程序。在一些实施方案中,边缘检测器260、概率图生成器265、渲染器270和空洞内插器275中的一个或多个被实现为运动估计器引擎220中的固定功能硬件。

边缘检测器260被配置为基于由运动图生成器255生成的运动图来识别对象的边缘。边缘检测器260识别n图像205中的图像亮度变化超过阈值量的点。图像亮度的急剧变化可指示深度、表面定向、材料性质的不连续,或者场景照明的变化。边缘检测器260可检测指示n图像205中的对象的边界的连接边缘系列。由于对象的边界可能对应于感兴趣区域,因此n图像205的由边缘检测器260识别为包含边缘的那些部分被分配较低包含空洞概率,如本文所描述。

概率图生成器265被配置为生成用于空洞识别的概率图(未示出)。概率图向n+1图像(将要渲染的下一图像)(未示出)的区域分配指示每个区域的将包含空洞的像素的百分比的概率。概率图生成器265基于运动矢量场225和由边缘检测器260检测到的边缘来生成概率图。概率图生成器265将较低包含空洞概率分配到n+1图像的被识别为几乎没有运动和/或包含更多边缘的那些区域。在一些实施方案中,如果渲染处理器230确定n图像205与n-1图像207之间的时间相关性低于阈值,那么渲染处理器230将默认概率分配到n+1图像的每个区域。

渲染器270被配置为渲染n+1图像,从而留下如由概率图指示的空洞。在一些实施方案中,渲染器270包括多个着色器(未示出),每个着色器是被配置为执行专门的计算并执行用于渲染计算机图形的某些指令的处理元件。例如,在一些实施方案中,着色器计算显示器的每个像素的颜色和其他属性。在一些实施方案中,渲染器270的着色器是二维(2d)着色器(诸如像素着色器)、或三维着色器(诸如顶点着色器、几何着色器或细分曲面着色器),或者它们的任何组合。在一些实施方案中,着色器并行工作以执行渲染n+1图像所需的操作。

空洞内插器275被配置为分配n+1图像的空洞中的每一个的填充值。空洞内插器275确定与运动矢量场225相关联的“成本”。成本表示运动矢量场225的运动矢量中的每一个的聚合幅度。在确定成本时,空洞内插器275考虑到例如在相机平移经过场景时发生的图像上的全局运动。如果成本高于阈值(例如,在场景变化的情况下,并且不考虑全局运动),那么空洞内插器275确定n图像205与n-1图像207之间的时间相关性太低,使得运动矢量场225无法可靠地预测n+1图像的像素的值。如果成本高于阈值,那么空洞内插器275基于与空洞相邻的像素的局部平均值来分配用于填充n+1图像的每个空洞的值。

如果成本处于或低于阈值,那么空洞内插器275基于n图像205的对应的像素来计算n+1图像的填充值。如果n图像205的对应的像素是渲染的像素(即,不是空洞),那么空洞内插器275将对应的渲染的像素的值识别为n+1图像的空洞的填充物。在一些实施方案中,空洞内插器275基于局部平均值和/或局部结构来计算n+1图像的空洞的填充值。例如,如果n图像205的对应的像素是白色的,但针对该像素的n+1图像的局部结构是黑线,那么空洞内插器275采用逻辑以基于局部结构或统计来填充空洞。在一些实施方案中,如果n图像205的与n+1图像的空洞相对应的像素也是空洞,那么空洞内插器275使用运动矢量场225来预测从n图像205到n+1图像的运动,并且用被预测为移动到n+1图像的空洞中的单元的n图像205的像素值来填充n+1图像的空洞。

在一些实施方案中,运动矢量场生成器255通过测量n图像与n+1图像之间的运动来生成运动矢量场225,并且然后,渲染处理器基于运动矢量场和先前的图片来填充n+1中的空洞。运动矢量场生成器255执行相对于两个图像的很多候选区域的多个比较的运动搜索。为了执行运动搜索中所需的比较,运动矢量场生成器用常量替换n+1图像的空洞。运动矢量场生成器255将n图像中的与n+1图像进行比较的候选比较区域视为在相同的位置(换句话说,在与图像n+1中的空洞位于一起的位置)具有相同的常量。通过用相同的常量替换n+1图像和n图像的比较区域的空洞,运动矢量场生成器255搜索移动,而忽略空洞。通过将常量用作n+1图像的空洞和n图像的对应的像素的替换,运动矢量生成器255将n图像205与n-1图像207进行比较,而忽略n+1图像的空洞,以创建修改的运动矢量场。空洞内插器275将n+1图像的空洞与修改的运动矢量场进行比较,并且基于修改的运动图的对应的单元来分配用于填充n+1图像的空洞的值。在一些实施方案中,空洞内插器275基于与空洞相邻的像素的局部平均值来分配用于填充n+1图像的一些空洞的值,并且基于修改的运动图的对应的单元来分配用于n+1图像的其他空洞的值。

图3是根据一些实施方案的图2的运动估计器引擎220的运动矢量场生成器355的框图。运动矢量场生成器355将n图像315和n-1图像317的对应的单元或像素组进行比较,以创建模拟从连续图像上的一个单元或另一个单元的对象的移动的矢量的运动矢量场325。运动矢量场生成器355可采用块匹配算法,诸如穷举搜索、三步搜索、简单有效搜索、四步搜索、菱形搜索或者块匹配中使用的其他算法。在图3所示的示例中,运动矢量场生成器355生成包含运动矢量的运动矢量场325,所述运动矢量指示例如从单元c4到单元c6、从单元d4到单元d6、从单元e4到单元e6从单元c8到单元c10、从单元d8到单元d10以及从单元e8到单元e10的运动。

图4是根据一些实施方案的图2的渲染处理器230的边缘检测器460的框图。边缘检测器460检测n图像415的单元内或之间的亮度变化。在一些实施方案中,由边缘检测器460分析的单元是被运动矢量场生成器355分析的相同像素组。在一些实施方案中,由边缘检测器460分析的单元是比由运动矢量场生成器355分析的单元更大或更小的像素组。边缘检测器460将亮度变化超过阈值的那些单元识别为包含边缘。阈值的幅度将决定检测到多少边缘。因此,如果阈值较低,那么将检测到更多的边缘,但结果可能易受噪声的影响,并且可检测到不相关特征的边缘。在图4所示的示例中,边缘检测器460检测单元c8、c9、c10、c11、c12、d8、e8、f8、f9、f10、f11、f12、d12和e12中的亮度变化。边缘检测器460将估计单元c8、c9、c10、c11、c12、d8、e8、f8、f9、f10、f11、f12、d12和e12包含边缘的经边缘检测的图像419提供到概率函数生成器(未示出)。

图5是根据一些实施方案的图2的渲染处理器230的概率图生成器565的框图。概率图生成器565接收来自边缘检测器(未示出)的经边缘检测的n图像519和来自运动图生成器(未示出)的运动矢量场525。概率图生成器565基于经边缘检测的图像519和运动矢量场525来生成概率图527。针对n+1图像(未示出)的每个单元,概率图生成器565分配指示单元内将成为空洞的像素的百分比。在一些实施方案中,由概率图生成器565分析的单元是与由运动矢量场生成器355或边缘检测器460分析的那些相同的像素组,并且在一些实施方案中,由概率图生成器565分析的单元是比由运动矢量场生成器355或边缘检测器460分析的那些更大或更小的像素组。

概率图生成器565基于单元包含边缘的估计和/或与单元相关联的运动图的运动矢量的幅度来得到单元包含空洞的概率。在一些实施方案中,概率图生成器565基于单元内的附加因素(诸如细节水平或像素值的变化量)来得到单元包含空洞的概率。概率图527指示包含与n+1图像的每个单元相关联的空洞的概率,并且分配概率,使得空洞的概率在n+1图像的包含估计有更多边缘、更大运动矢量和/或更多细节的单元的区域中较低。

图6是根据一些实施方案的图2的渲染处理器230的空洞内插器675的框图。空洞内插器675识别用于填充渲染的n+1图像中的空洞的值。在图7所示的示例中,渲染的n+1图像的单元605是4像素乘4像素,其中一个像素是空洞。空洞内插器675选择用于填充空洞的值,使得图像607的单元将具有用于每个像素的值,其中使用空洞内插器675选择的值来填充空洞。

在一些实施方案中,空洞内插器675基于就在前面的(n)图像(未示出)来得出用于n+1图像的每个单元的填充值。在一些实施方案中,如果n图像的与n+1图像的空洞相对应的像素中的一个或多个也是空洞,那么空洞内插器675用相同的常量来替换n图像的空洞和当前图像的空洞,以生成n图像和n+1图像的修改版本。空洞内插器675将修改的图像提供到运动矢量场生成器(未示出)。运动图生成器将修改的n图像和n+1图像的对应的单元进行比较以创建修改的运动矢量场(未示出)。空洞内插器675将n+1图像的空洞与修改的运动矢量场进行比较,并且基于空洞内插器675根据修改的运动矢量场预测将移动到n+1图像的空洞中的n图像的单元来分配用于填充n+1图像的空洞的值。如果n图像与n+1图像之间的相关性低于阈值,那么在一些实施方案中,那么空洞内插器675基于与空洞相邻的像素的局部平均值来分配用于填充n+1图像的一些空洞的值。

图7是根据一些实施方案的用于生成识别空洞的掩模并且基于运动估计来识别用于填充空洞的值以渲染随时间注视点图像的方法700的流程图。方法800在图1所示的处理系统100以及图2所示的运动估计器引擎220和渲染处理器230的一些实施方案中实现。

在框702处,运动估计器引擎220接收两个最近渲染的(n和n-1)图像。在框704处,运动估计器引擎220的运动矢量场生成器255将n图像和n-1图像进行比较以生成运动矢量场225。在框706处,渲染处理器230的边缘检测器260估计n图像的哪些单元包含边缘。在框708处,概率图生成器265基于运动矢量场225(假设n图像和n-1图像的相关性超过阈值)和检测到的边缘来生成指示n+1图像的每个单元的包含空洞的概率的概率图。概率图分配空洞的概率,使得与估计为不包含边缘或移动区域的单元相比,n+1图像的被估计为包含边缘或移动区域的单元不太可能包含空洞。

在框710处,渲染处理器230的渲染器270渲染n+1图像,从而在由概率图指示的地方留下空洞。在框712处,渲染处理器230的空洞内插器275填充n+1图像的空洞。如果n图像和n-1图像足够地相关,那么空洞内插器275基于n图像的对应的单元来得出n+1图像的空洞的填充物。在一些实施方案中,如果n图像在与n+1图像的空洞相对应的像素处包括空洞,那么空洞内插器275向n图像和n+1图像两者的空洞分配常量,并且运动矢量场生成器255基于修改的n图像和n+1图像来生成修改的运动矢量场。空洞内插器275然后基于修改的运动矢量场来识别将用于填充n+1图像的空洞的值。

在第一方面,所述方法包括:在运动估计器引擎处,通过将第二图像和第三图像的对应的单元进行比较来估计第一图像的多个单元中的每一个的运动矢量,每个单元包括一个或多个像素,其中所述第二图像包括就在所述第一图像之前渲染的图像并且所述第三图像包括就在所述第二图像之前渲染的图像;在渲染处理器处,针对所述多个单元中的每一个,基于所述单元的所述运动矢量的幅度来识别包括所述单元的像素将未渲染的概率;以及在所述渲染处理器处,基于所述识别的概率来选择性地渲染产生的渲染的图像的所述多个单元中的每个单元的所述像素。

在第一方面的一个实施方案中,所述方法还包括针对所述多个单元中的每一个,识别所述单元内的边缘和边缘的强度,并且其中所述概率进一步基于所述单元内的边缘的数量或强度是否超过阈值。在另一个实施方案中,所述方法包括:选择性地渲染包括渲染所述多个单元中的每个单元的与每个单元的所述概率相对应的百分比的所述像素。在又一个实施方案中,所述单元内的像素将未渲染的所述概率与所述单元的所述运动矢量的所述幅度成比例。在又一个实施方案中,所述方法包括基于所述第二图像的对应的像素的值来填充所述第一图像的每个未渲染像素。

在第一方面的另一个实施方案中,所述方法包括基于所述第一图像的与所述未渲染像素相邻的像素的局部平均值来填充所述第一图像的每个未渲染像素。在又一个实施方案中,向所述第一图像的每个未渲染像素分配常量以生成修改的第一图像;基于所述运动矢量来识别所述第二图像的与所述第一图像的每个未渲染像素相对应的像素;向所述第二图像的每个对应的像素分配所述常量以生成修改的第二图像;在所述运动估计器引擎处,通过将所述修改的第一图像和所述修改的第二图像的对应的单元进行比较来估计所述多个单元中的每一个的修改的运动矢量;以及基于包括未渲染像素的每个单元的所述修改的运动矢量来填充所述第一图像的每个未渲染像素。在又一个实施方案中,所述方法包括基于与包括所述未渲染像素的所述单元相对应的所述运动矢量来填充每个未渲染像素。

在第二方面,所述方法包括:针对第一图像的多个单元中的每个单元,其中每个单元包括一组一个或多个像素,基于所述单元包括超过第一阈值量的边缘或少于第二阈值量的移动来识别包括所述单元的像素将未渲染的概率;以及在渲染处理器处,基于对应的概率来选择性地渲染所述第一图像的所述像素。

在第二方面的一个实施方案中,所述方法包括:在运动估计器引擎处,在运动估计器引擎处,基于就在所述第一图像之前渲染的第二图像和就在所述第二图像之前渲染的第三图像的对应的单元之间的比较来生成所述第一图像的运动矢量场。在特定实施方案中,所述方法包括:向所述第一图像的每个未渲染像素分配常量;基于所述运动矢量场来识别所述第二图像的与所述第一图像的每个未渲染像素相对应的像素;向所述第二图像的每个对应的像素分配所述常量;在所述运动估计引擎处,基于所述第一图像和所述第二图像的对应的单元之间的比较来生成修改的运动矢量场;以及基于所述修改的运动矢量场来填充每个未渲染像素。在另一个特定实施方案中,所述方法包括基于所述第二图像的对应的像素的值来填充每个未渲染像素。

在第二方面的又一实施方案中,对于包括超过所述第一阈值量或强度的识别的边缘或少于所述第二阈值量的移动区域的单元,所述概率较低。在另一个实施方案中,所述方法包括基于与所述未渲染像素相邻的像素的局部平均值来填充每个未渲染像素。

在第三方面,一种装置包括:运动估计器引擎,所述运动估计器引擎被配置为基于就在第一图像之前渲染的第二图像和就在所述第二图像之前渲染的第三图像的对应的单元之间的比较来生成所述第一图像的运动矢量场,其中每个单元包括一个或多个像素;以及渲染处理器,所述渲染处理器被配置为:针对所述第一图像的所述多个单元中的每一个,基于所述运动矢量场来识别包括所述单元的所述像素将未渲染的概率;以及基于对应的概率来选择性地渲染所述第一图像的所述像素。

在第三方面的一个实施方案中,所述渲染处理器用于渲染所述多个单元中的每个单元的与每个单元的所述概率相对应的百分比的所述像素。在另一个实施方案中,所述渲染处理器还被配置为针对所述第一图像的所述多个单元中的每一个,识别所述单元内的边缘和边缘的强度,并且其中对于包括超过第一阈值量或强度的识别的边缘和少于第二阈值量的移动区域的单元,所述概率较低。在又一个实施方案中,所述渲染处理器用于基于所述第二图像的对应的像素的值来填充每个未渲染像素。

在第三方面的又一个实施方案中,所述渲染处理器用于基于所述第一图像的与所述未渲染像素相邻的像素的局部平均值来填充所述第一图像的每个未渲染像素。在又一个实施方案中,所述运动估计器引擎还用于:用常量替换所述第一图像的每个未渲染像素以生成修改的第一图像;基于所述运动矢量场来识别所述第二图像的与所述第一图像的每个未渲染像素相对应的像素;用所述常量替换所述第二图像的每个对应的像素以生成修改的第二图像;基于所述修改的第一图像和所述修改的第二图像的对应的单元之间的比较来生成修改的运动矢量场;并且其中所述渲染处理器还用于基于所述修改的运动矢量场来填充每个未渲染像素。

在至少一个实施方案中,上文所描述的设备和技术在包括一个或多个集成电路(ic)装置(也被称为集成电路封装或微芯片)的系统中实现,诸如上文参考图1至7所描述的多媒体系统。这些ic装置的设计和制造中使用了电子设计自动化(eda)和计算机辅助设计(cad)软件工具。这些设计工具典型地表示为一个或多个软件程序。所述一个或多个软件程序包括可由计算机系统执行的代码,以操纵计算机系统来操作表示一个或多个ic装置的电路的代码,从而执行用于设计或调适制造系统的过程的至少一部分来制造电路。这个代码包括指令、数据或指令和数据的组合。表示设计工具或制造工具的软件指令典型地存储在可由计算系统访问的计算机可读存储介质中。同样地,在一些实施方案中,表示ic装置的设计或制造的一个或多个阶段的代码存储在相同的计算机可读存储介质或不同的计算机可读存储介质中并从其中进行访问。

计算机可读存储介质包括任何非暂时性存储介质或非暂时性存储介质的组合,所述非暂时性存储介质在使用期间可由计算机系统访问,以将指令和/或数据提供给计算机系统。此类存储介质包括但不限于光学介质(例如,压缩光盘(cd)、数字通用光盘(dvd)、蓝光光盘)、磁性介质(例如,软盘、磁带或磁性硬盘驱动器)、易失性存储器(例如,随机存取存储器(ram)或高速缓存)、非易失性存储器(例如,只读存储器(rom)或快闪存储器)或基于微机电系统(mems)的存储介质。在一个实施方案中,计算机可读存储介质嵌入在计算系统中(例如,系统ram或rom)、固定地附接到计算系统(例如,磁性硬盘)、可移除地附接到计算系统(例如,光盘或基于通用串行总线(usb)的快闪存储器),或者经由有线或无线网络耦合到计算机系统(例如,网络可访问存储(nas))。

在一些实施方案中,上文所描述的技术的某些方面由执行软件的处理系统的一个或多个处理器实现。软件包括存储或以其他方式有形地体现在非暂时性计算机可读存储介质上的一个或多个可执行指令集。软件包括在由一个或多个处理器执行时操纵一个或多个处理器来执行上文所描述的一个或多个方面的指令和某些数据。非暂时性计算机可读存储介质包括例如磁性或光学磁盘存储装置、固态存储装置(诸如快闪存储器、高速缓存、随机存取存储器(ram)或一个或多个其他非易失性存储器装置)等。存储在非暂时性计算机可读存储介质上的可执行指令例如以源代码、汇编语言代码、对象代码或由一个或多个处理器解译或以其他方式执行的其他指令格式来实现。

应注意,并不需要上文在一般描述中所描述的所有活动或元件,特定活动或装置的一部分可能是不需要的,并且可执行一个或多个其他活动,或者可包括除所描述的那些元件之外的元件。此外,列出活动的顺序不一定是执行活动的顺序。另外,已经参考具体实施方案描述了概念。然而,本领域普通技术人员应了解,在不脱离如所附权利要求书中所阐述的本公开范围的情况下,可作出各种修改和改变。因此,本说明书和附图将被视为说明性而非限制性的,并且所有此类修改都意图被包括在本公开的范围内。

上文已经关于具体实施方案而描述了益处、其他优点以及问题解决方案。然而,所述益处、优点、问题解决方案以及可使任何益处、优点或问题解决方案出现或变得更突出的任何特征都不应被解释为是任何或所有权利要求的关键、必需或必要特征。此外,上文所公开的特定实施方案只是说明性的,因为所公开的主题可按受益于本文教义的本领域技术人员显而易见的不同但等效的方式来修改和实践。除了如所附权利要求书中所描述的之外,并不意图限制本文所展示的构造或设计的细节。因此,明显的是,上文所公开的特定实施方案可更改或修改,并且所有此类变化都被认为是在所公开的主题的范围内。因此,本文所寻求的保护正如在所附权利要求书中所阐述的那般。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1