本公开涉及并行缩放器处理。并行缩放单元,用于同时缩放源图像的多个像素。该缩放单元包括多个垂直缩放器和多个水平缩放器。来自源图像的像素列被提供给多个垂直缩放器,每个垂直缩放器从像素列中选择用于缩放的合适像素。每个垂直缩放器在垂直方向上缩放所选择的像素,然后将经垂直缩放的像素传送到对应的水平缩放器。每个水平缩放器在水平方向上缩放所接收的像素。
【技术实现步骤摘要】
【专利摘要】本公开涉及并行缩放器处理。并行缩放单元,用于同时缩放源图像的多个像素。该缩放单元包括多个垂直缩放器和多个水平缩放器。来自源图像的像素列被提供给多个垂直缩放器,每个垂直缩放器从像素列中选择用于缩放的合适像素。每个垂直缩放器在垂直方向上缩放所选择的像素,然后将经垂直缩放的像素传送到对应的水平缩放器。每个水平缩放器在水平方向上缩放所接收的像素。【专利说明】并行缩放器处理
本专利技术总体上涉及图形信息处理,尤其涉及用于缩放图像的方法和机制。
技术介绍
近年来具有图形处理能力的电子设备变得越来越大众化,主要是因为对于普通消费者而言,这些设备变得越来越可承受。许多的不同元件和功能单元(例如缩放器(scaler)单元)被用于在这些电子设备内执行图形处理。缩放单元或缩放器通常被用来缩放图像或视频帧的尺寸。例如,在一种特定情况下,源图像可以是800X600像素的原始格式大小,并且需要被缩放到1024X768像素以适合特定的显示器类型。通常缩放器每时钟一个像素地串行操作,并且缩放常常包括取出和重取每个像素所需的数据。这种缩放类型是低效的,并且给图形处理系统的存储器施加了过多的压力。
技术实现思路
在一个实施例中,设想一种包括缩放单元的图形处理系统,其中该缩放单元可包括多个垂直缩放器和水平缩放器。该图形处理系统可包括多级的流水线(pipeline),其中在每级可以执行对源图像的不同类型的处理。可以在源图像被传送到缩放单元之前由一个或多个流水线级对源图像进行处理或操作(例如,旋转)。在一个实施例中,垂直缩放器可以位于缩放单元的前端。垂直缩放器可从旋转单元取出或接收源图像像素,旋转单元可以是图形处理流水线中先于缩放单元的处理级。在一个实施例中,缩放单元可包括四个垂直缩放器,四个垂直缩放器中的每一个可被配置为在垂直方向上缩放像素。每个垂直缩放器可包括用于执行垂直缩放的多抽头多相滤波器。每个垂直缩放器可包括对应于多抽头多相滤波器的每个抽头的多路复用器,并且该多路复用器可被配置为从提供给垂直缩放器的像素列中选择合适的像素。每个垂直缩放器的输出可被传送到对应的水平缩放器。水平缩放器可被配置为对从垂直缩放器接收的像素执行水平缩放。在一个实施例中,对于缩放单元中的每个垂直缩放器,可以有一个水平缩放器。每个水平缩放器可包括多抽头多相滤波器和耦合至该多抽头多相滤波器的各个抽头的移位寄存器链。可以通过水平缩放器中的移位寄存器链将对应垂直缩放器输出的每个经垂直缩放的像素进行移位。在一个实施例中,源图像可被划分为多个片。缩放单元可被配置为逐片地处理源图像。垂直缩放器可取出跨一个或多个片的像素列,从图像左上片的最左边的列开始。然后,在取出该片最左边的列之后,可取出右边的下一列,依此类推,直至到达该片的右侧边缘。接着可以处理左上片下面的片,并且可以在图像内从最左边一列的片往下一直继续这种模式。然后,可以处理右边的下一列的片,并且可继续这种处理直到已经处理完图像的所有列的片。对本领域普通技术人员而言,结合此处给出的方法的下列详细说明,这些以及其它特征和优点将更加清楚。【专利附图】【附图说明】通过结合附图参照下列描述,可以更透彻地理解这些方法和机制的上述优点和更进一步的优点,其中:图1是示出了图形处理流水线的一个实施例的框图。图2是依照一个或多个实施例被划分为多个片的源图像。图3是依照一个或多个实施例的垂直缩放器的前端的框图。图4是示出了依照一个或多个实施例的垂直多抽头多相滤波器的框图。图5是水平多抽头多相滤波器的一个实施例的框图。图6是工作片集合的一个实施例的框图。图7是提供给垂直缩放单元的像素列的一个实施例的框图。图8是在第一遍水平扫描中垂直缩放器对像素的选择的一个实施例的框图。图9是在第二遍水平扫描中垂直缩放器对像素的选择的一个实施例的框图。图10是垂直缩放器与水平缩放器之间的连接的一个实施例的框图。图11是示出了用于缩放源图像的方法的一个实施例的一般化流程图。图12是示出了用于缩放像素的方法的一个实施例的一般化流程图。图13是系统的一个实施例的框图。图14是计算机可读介质的一个实施例的框图。【具体实施方式】在下面的描述中,提出了很多具体细节,以便提供对此处所给出的方法和机制的全面理解。然而,本领域普通技术人员将认识到的是,可以在没有这些具体细节的情况下实现各种实施例。在某些情况下,没有详细示出公知的结构、组件、信号、计算机程序指令和技术,以避免混淆此处所述的方法。可以理解的是,为了示例的简单和清楚起见,附图中示出的元件不必按比例描绘。例如,一些元件的尺寸可能相对于其它元件进行放大。本说明书包括“一个实施例”的提及。不同上下文中短语“在一个实施例中”的出现未必指的是同样的实施例。特定的特征、结构或特性可以采用与本公开一致的任何适当方式进行组合。此外,按照整个本申请所使用的,词语“可(may)”用作允许的含义(即,意为有可能),而不是强制性的含义(即,意为必须)。同样地,词语“包括”意为包括但不限于此。术语。下列段落为本公开(包括权利要求)中存在的术语提供定义和/或上下文:“包括(Comprising) ”。这个术语是开放性的。按照权利要求中所使用的,这个术语不妨碍附加的结构或步骤。考虑表述为“一种装置,包括多个垂直缩放器...”的权利要求。这种权利要求不妨碍该装置包括附加的组件(例如,处理器、高速缓存、存储器控制器)。“被配置为(Configured To)”。各种单元、电路或其他组件可以被描述或主张为“被配置为”执行单个任务或多个任务。在这样的上下文中,“被配置为”用于通过指出单元/电路/组件包括在操作期间执行单个任务或多个任务的结构(例如电路)来隐含结构。因而,即使当规定的单元/电路/组件目前不可操作(例如,未开启)的时候,单元/电路/组件也可以说成是被配置为执行任务。与“被配置为”语言一起使用的单元/电路/组件包括硬件一一例如,电路、存储可执行来实现操作的程序指令的存储器等。单元/电路/组件“被配置为”执行一个或多个任务的叙述明确地意指对于单元/电路/组件来说不引用35U.S.C.§112,第6段。此外,“被配置为”可包括通用结构(例如通用电路),其可由软件和/或固件(例如,FPGA或执行软件的通用处理器)操作以便以能够执行一个或多个所涉及的任务的方式进行操作。“被配置为”也可以包括修改制造过程(例如,半导体制造设备),以制造适于实现或执行一个或多个任务的器件(例如,集成电路)。“基于(Based On)”。如此处使用的,这个术语用于描述影响确定的一个或多个因素。这个术语不妨碍可能影响确定的附加因素。也就是说,确定可以仅仅基于那些因素或至少部分基于那些因素。考虑短语“基于B确定A”。虽然B是影响A的确定的因素,但是这一短语不妨碍还基于C来确定A。在其它情况下,可以仅仅基于B确定A。现在参考图1,示出了图形处理流水线的一个实施例的框图。在各种实施例中,流水线10可以被并入芯片上系统(SoC)、专用集成电路(ASIC)、装置、处理器、处理器核或任何各种其他类似设备中。在一些实施例中,流水线10的一个或多个实例可以被包括在SoC或其他设备内。 源图像34可以被存储在存储器12中,并且源图像34可以是静态图像或是视频流的帧本文档来自技高网...
【技术保护点】
一种装置,包括:多个垂直缩放器,其中向所述多个垂直缩放器并行提供像素,并且每个垂直缩放器被配置为从所提供的像素中选择用于垂直缩放的像素并生成经垂直缩放的像素;以及多个水平缩放器,其中每个水平缩放器耦合至相应的垂直缩放器的输出端并被配置为对从相应的垂直缩放器接收的像素执行水平缩放。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:B·崔帕西,N·巴伽瓦,C·M·欧科鲁里卡,
申请(专利权)人:苹果公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。