图像缩放装置和图像缩放方法

文档序号:7967554阅读:250来源:国知局
专利名称:图像缩放装置和图像缩放方法
技术领域
本发明涉及图像縮放装置和图像縮放方法,尤其涉及一种可用于处理多窗 口的图像縮放装置和方法。
背景技术
在地面、有线或卫星音视频数据传输中, 一般会在接收端安装音、视频解 码器来完成音视频数据的解码,再将解码后的数据进行数模转换后播放。接收
到的视频流经过解码后,通常在播放前要经过一个后处理器(Video Post Processor),完成一些视频后处理工作,例如图像縮放,去交织,gamma校正 等。后处理器可以与视频解码器集成在一起,也可以单独配置。对于图像縮放 的处理,需要先用DMA把视频数据从存储器,例如同步动态随机存储器 (SDRAM),搬入后处理器中。现有技术中目前比较通行的做法是先把视频 数据存放在线性缓冲器(line buffer)中,然后从线性缓冲器中把数据搬出,利 用垂直縮放单元(Vertical Scaling; VS)与水平縮放单元(Horizontal Scaling; HS) 先后进行垂直縮放操作(v-scaling)和水平縮放操作(h-scaling)。在这里, VS和HS是紧耦合的关系。美国专利US6,400,852中揭示了这样一种VS和HS 为紧耦合关系的图像縮放装置。如图1所示,该图像縮放装置包括垂直缩放单 元11和水平縮放单元12。解码后的数据从存储单元(如线性缓冲器)13中直 接送入图像縮放装置IO连续进行垂直縮放和水平缩放。
但是,在这些VS和HS紧耦合的图像縮放装置中,HS的水平縮放操作和 VS的垂直縮放操作处理之前,都是把数据先行存放在线性缓冲器中。在具有 画中画(Picture in Picture, PIP)或画外画功能(picture by picture; PBP)的视频处 理方案里,这种结构会遇到一些问题。具有画中画功能的显示设备显示的图像 内容通常包括大窗口和叠加在大窗口上的小窗口,如图2所示。图中空白框内 面积为大窗口,斜线框内面积表示小窗口。依照目前的现有技术,需要准备两 套縮放单元分别对大窗口和小窗口的数据进行縮放处理。如图3所示的图像缩放装置,包括用来处理大窗数据的第一垂直縮放单元111和第一水平縮放单元
121与用来处理小窗数据的第二垂直縮放单元112和第二水平縮放单元122。 选通单元14根据屏幕显示坐标信息从两套縮放单元中选取适当的数据送入屏 幕显示设备。这样的两套縮放单元使电路变得复杂,成本难以降低,并且也增 加了功耗。
在另一些图像缩放装置中,也考虑用同一套縮放单元来完成两个窗口的缩 放处理。可参考图4,图像由垂直縮放单元11进行垂直縮放处理,并直接把垂 直縮放后的数据送入水平縮放单元12进行水平縮放处理,HS处理一行后输 出一行。由于垂直縮放需要同时用到图像多行中的数据作为滤波操作的源数 据,业界常常在缩放引擎前设置暂存器,例如线性缓冲器就是这样一种比较普 遍在縮放操作中使用的暂存器。DMA搬入的大窗数据和小窗数据分别单独存 放在各自的一个线性缓冲器(例如第一线性缓冲器15和第二线性缓冲器16) 里,也就是说,对于包含一个大窗和一个小窗的画中画的縮放处理,仍然需要 两套线性缓冲器分别存放大窗和小窗的数据。采用两套线性缓冲器势必会增加 硬件的开销。如果显示需求为3个窗口,乃至更多窗口,那么需要的线性缓冲 器将更多,这样做增加的面积开销为设计所不能接受。业界目前正努力在寻求 一种能够节约硬件资源的架构和方法来实现多窗口縮放处理。

发明内容
为克服现有技术中存在的缺陷,本发明提出了一种用于多窗口的图像縮放 装置,能够减少硬件资源,节约硬件电路面积,并降低功耗。
本发明并提供了一种用于多窗口的图像縮放方法,该方法只需用到最少的 资源即可实现多窗口的图像的縮放。
根据本发明的一个方面,提供一种图像縮放装置,包括 水平縮放单元,用以对图像进行水平方向的縮放操作; 垂直縮放单元,用以对图像进行垂直方向的縮放操作; 存储单元,设置在所述水平縮放单元与所述垂直縮放单元之间、用以暂存
图像中水平显示行的像素数据;过滤单元,用以根据显示图像各个窗口的叠加状况选取该各个窗口的坐标 范围内的数据。
根据本发明的图像縮放装置,其中,所述存储单元为线性缓冲器,所述线性 缓冲器的大小根据显示屏幕的全屏图像大小确定。
根据本发明的图像缩放装置,其中,所述线性缓冲器中设置多个存储组,每 个存储组的大小根据显示屏幕的全屏图像的水平长度确定。
根据本发明的图像縮放装置,还包括用以暂存输入的图像数据的先进先出缓 冲器。
根据本发明的图像縮放装置,其中,所述水平縮放单元配置多个并行处理数 据的滤波器内核。
根据本发明的图像縮放装置,其中,所述滤波器内核前端设置水平縮放先进 先出缓冲器。
根据本发明的图像縮放装置,还包括从所述线性缓冲器中存取数据进行去交 织处理的去交织单元。
根据本发明的图像縮放装置,还包括用以集中控制图像数据的输入输出、同 步和处理的控制单元。
根据本发明的图像縮放装置,所述过滤单元设置在所述水平缩放单元与存储 单元之间。
根据本发明的另一方面,提供一种图像縮放方法,包括如下步骤
a. 图像数据进行水平缩放;
b. 根据显示图像各个窗口之间的叠加状况选取屏幕显示图像各个窗口 的坐标范围内的数据;
C. 将选取出的各个窗口的坐标范围内的数据进行暂存;
d. 取出己完成水平缩放的各个窗口坐标范围内的图像数据,进行垂直縮放。
根据本发明的上述方法,所述步骤a包括对图像数据的多路数据同时进行水平 缩放处理的步骤。
本发明中水平縮放单元与垂直縮放单元为松耦合的联接方式,水平縮放单 元对一个水平行的多窗口数据完成水平縮放处理后,过滤单元根据各个窗口之 间的叠加状况选取各个窗口的适当坐标范围内的数据,然后再存入线性缓冲
器,最后由垂直縮放单元直接从线性缓冲器中取出各个窗口的适当坐标范围内 的数据完成垂直縮放处理。这样,可以使用一组缩放单元和一组线性缓冲器
(line buffer)实现画中画方案,大大节省了硬件资源,降低了硬件的面积成本 和硬件设计的复杂度,减轻了验证的压力,有利于缩短开发周期。


以下附图为对本发明示例性实施例的辅助说明,结合以下附图对本发明实 施例的阐述,是为进一步揭示本发明的特征所在,但并不限制本发明,图中相
同符号代表实施例中相应元件或步骤,其中
图1为现有技术的一种紧耦合的图像縮放装置的示意性结构框图。 图2为显示设备所显示的带画中画的图像内容。
图3为现有技术中一种多窗口图像縮放装置的示意性结构框图。
图4为现有技术中另一种多窗口图像縮放装置的示意性结构框图。
图5为根据本发明的图像缩放装置的示意性结构框图。
图6为根据本发明的一个实施例中的滤波器的工作原理示意图。
图7为根据本发明一个实施例的图像縮放装置结构框图。
图8为根据本发明另一个实施例的图像縮放装置结构框图。
图9为本发明一实施例中水平縮放单元的结构框图。
图IO为本发明一实施例中线性缓冲器的结构示意图。
图11为根据本发明一实施例的图像縮放方法的流程图。
具体实施例方式
图像数据的水平縮放和垂直縮放后通常都是逐行输出图像数据,而垂直缩 放的任何一个象素点的滤波需要用到连续几行的位于同一垂直线上的几个象 素点数据进行滤波计算。这样需要为垂直縮放操作设置存储单元以缓存待处理 的数据。为实现画中画(picture in picture; PIP)或画外画功能(picture by picture; PBP),往往需要在显示设备上为视频图像设置多个窗口,这样,也相应地对图 像縮放的处理部分提出了要求。如果为每个窗口的图像縮放各准备一组图像縮 放装置将会引起成本上升。特别是在单系统芯片(system-on-chip)中,对面积
成本的影响较大。本发明提供单一的图像縮放装置来实现多个窗口的图像縮 放。可以理解的是,该图像縮放装置可以设置在视频数据接收装置的后处理部 分,也可以设置在显示设备的显示操作前端。
参见图5,本发明提出的多窗口图像縮放装置包括水平缩放单元51、垂直 缩放单元54和位于水平縮放单元与垂直縮放单元之间的存储单元53。存储单 元可暂存图像数据,水平縮放单元对图像进行水平方向的缩放操作,垂直缩放 单元对图像进行垂直方向的縮放操作。水平缩放单元和存储单元之间例如设置 了过滤单元52,可以根据各窗口的叠加状况选取屏幕显示图像各个窗口的适当 坐标范围内的数据。
根据本发明的一个实施例,水平縮放单元和垂直縮放单元例如都是采用滤 波器重新抽样滤波的方式对图像数据进行水平方向或垂直方向的縮放操作。所 采用的滤波器的工作原理可参见图6。图6为本发明一实施例中滤波器的结构 示意图,图中滤波器具有4抽头(tap)。滤波器从源数据中抽取多个原始点数 据,每个样点都乘上一个与之对应的系数,得到一个乘积,再把这些乘积累加 起来,输出所得的结果,则可获得目标点数据。滤波器所抽取的数据样点也称 为抽头,抽头的数量可以根据显示精度的要求来设置。每个目标点可以在图像 的源数据中选取一个参考点, 一般参考点选在目标点在图像中的位置的附近。 相邻目标点对应的参考点之间的距离(以点数为单位)可称为跨度(step), 每一个目标点可以有其对应的跨度值。在一些实施例中,跨度值可以根据对于 所处理的图像的縮放比例来决定。在对图像进行放大,也就是进行过采样的时 候,目标点分布可能比原始点要密,这时就有可能出现跨度值为0的目标点, 即两个原始点之间有不止一个目标点。运算中对于每一个目标点,只需要知道 其前一点的参考点和前一点的跨度值,就可以根据该点的跨度值得到该点的参 考点,以此类推,从而得到滤波所需的全部原始点。
图7是根据本发明一个实施例的图像縮放装置结构框图。其中控制单元56 控制数据的输入输出、同步和处理过程,在本发明的一些实施例中,可以由处 理器和各处理单元的控制器共同实现,例如线性缓冲器53的缓冲器控制器531、 水平縮放单元51的水平縮放控制器510和垂直縮放单元54的垂直縮放控制器 541等,如图8所示。在本发明的另一些实施例中,控制单元56也可以完全由 处理器实现。DMA从外部搬入数据后暂时放入先进先出缓冲器(FIFO) 55中。 在处理画中画或画外画时,大窗口图像数据和小窗口图像数据可以分成两路搬 入FIFO。对子更多个窗口的显示,可以按照窗口数量输入多路图像数据。根据 本发明的一个实施例,暂时存放图像数据的FIFO包含至少两个寄存器。例如, 在一个实施例中,这里的FIFO是一个乒乓FIFO,设置了两个寄存器。当其中 一个第一寄存器中的图像数据还未处理完时,从DMA新搬入的数据则放入另 一个第二寄存器。当第一寄存器中的图像数据处理完后,继续处理第二寄存器 中的图像数据,而此时从DMA新搬入的数据则放入第--寄存器。FIFO中寄存 器轮流使用的方式可以有效防止FIFO的溢出,从而避免FIFO中图像数据的丢 失而影响后续的处理效果。
水平縮放单元从FIFO中取出数据进行水平縮放处理。目前数据的搬运通常 都是以水平行扫描方式来进行的,水平縮放单元可以实时处理来自FIFO中的 源数据,而FIFO也可随时补充后续的新的源数据提供给水平縮放单元处理。 因此,FIFO可以直接设置成小于图像显示时的水平行长度的数据长度,这也从 一个方面降低了成本要求。
为了提高处理数据的能力,水平縮放单元可以设计为多个滤波器核并行处 理数据的结构。在本发明的一个实施例中,如图9所示,水平縮放单元51可 以设计成4个滤波器核511至514并行处理数据的结构。水平縮放单元在一个 指令周期内同时从FIFO读入4组源数据,分别放在4个滤波器核中进行处理, 处理完成后在同一个时钟周期内输出给线性缓冲器。当需要得到的水平縮放比 例和垂直縮放比例不一致,特别是水平縮放比例小于垂直縮放比例,例如,当 要求的水平縮放比例为1: 1,垂直縮放比例为4: 1而垂直缩小时,水平缩放 单元可以在1/4帧的时间内完成一帧数据的水平缩放操作,这样避免了垂直缩 放单元的等待时间,因而提高了图像数据的处理速度。可供选择地,水平縮放 单元中可以进一步设置一个水平縮放FIF0516。水平縮放FIFO根据水平缩放 单元中滤波器核的实际处理需要从FIFO中搬入源数据,再分别送入每个滤波 器核中处理。4路滤波器核处理得到的4组数据可以同时从水平缩放单元输出。
设置于水平縮放单元和存储单元之间的过滤单元52可以接收来自控制单元 56的屏幕显示坐标信息。所谓的屏幕显示坐标信息可以是如图2中所示的每个 窗口的左上角坐标和右下角坐标,如大窗的坐标W1、 W2和小窗的坐标W3、 W4。根据屏幕显示坐标信息可以判断各个窗口之间的叠加状况。过滤单元根据 各个窗口之间的叠加状况,从水平縮放单元输出的已完成水平縮放操作的数据 中,选取屏幕显示图像各个窗口的适当坐标范围内的数据,送入存储单元中暂 存。例如图2中的大窗内被小窗覆盖的部分数据将被过滤掉,而仅仅保留大窗 内未被小窗覆盖的部分数据和小窗内的数据。
继续参见图7,在本发明的一个实施例中,图像縮放装置中的存储单元为线 性缓冲器53。为满足面积最小化的要求,存储单元总是希望设计成尽量小的尺 寸。而为了应对图像数据的实时处理,对于垂直缩放单元,需要有多个垂直方 向的源数据样点参与运算。但目前通常数据的搬运都是以水平行扫描方式来进 行的,无法直接按照图像上的纵向方向来扫描,而直接输入参与运算的垂直方 向的样点。这样每输入一个参与运算的垂直方向的样点,就需要把该点所在的 水平行的其他样点一起搬运到线性缓冲器。本发明中过滤单元已经按照屏幕显 示图像的各个窗口的叠加状况完成了窗口数据的选取,线性缓冲器的大小可以 根据显示屏幕的全屏图像大小来决定。在某些应用中,当源数据的水平分辨率 大于目标数据的水平分辨率时,线性缓冲器的大小直接由显示屏幕的全屏图像 大小来决定,即可以小于源数据的大小,因此,可以达到节省面积的要求。在 本发明一个实施例中,线性缓冲器中设置了多个存储组(bank),每个存储组 中存放图像中一个水平显示行的象素数据。例如,对于水平分辨率为720象素 的图像,线性缓冲器的每个存储组中存放一个水平行中共720象素的数据长度。 这样,线性缓冲器的一个存储组可以设置成显示屏幕的全屏图像中一个水平行 的象素数据长度,因而可以直接按最小的面积要求来配置存放数据的存储单 元。由于在把数据存放到线性缓冲器之前,已经完成水平方向的縮放操作,并 已经采用过滤单元按照屏幕显示图像的各个窗口的叠加状况完成了窗口数据 的选取,可以使用-一套线性缓冲器来进行多个窗口数据的暂存。因此,降低了 硬件的面积成本和整个系统设计的复杂度,减轻了验证的压力,有利于縮短幵
发周期。在本发明的一些实施例中,可以把线性缓冲器中大窗和小窗的数据分 别存放在相互独立的两块区域中。
在有些实施例中,图像数据以YUV4: 2: 2格式进行解码和显示。相应的, 线性缓冲器也设置成Y、 U、 V三块,如图IO所示。线性缓冲器对Y、 U、 V 每一块数据分别按行扫描的顺序接收已经完成水平縮放操作的图像数据,分别 存入每一块相应的存储组中。在进行垂直縮放处理时,Y、 U、 V这三块的图像 数据分别送入垂直縮放单元,分别完成縮放操作。
参见图8,在本发明的一些实施例中,例如可以在对图像进行垂直縮放之前, 从线性缓冲器中存取数据进行其他后处理操作,例如去交织(Deintedacing) 等。去交织单元58从线性缓冲器中读出数据,做完去交织处理后再把数据填 回线性缓冲器的原处。
根据本发明的一个实施例,垂直縮放单元从线性缓冲器中取出源数据,利 用滤波器滤波后,得到目标数据,最后送入显示设备显示或进行进一步的图像 后处理。垂直缩放单元每次纵向在线性缓冲器中取数据,换言之,垂直缩放单
元每次所取的数据原始点为在图像的垂直方向上与参考点在同一条直线上的 样点,这样的原始点跨越多个水平行。在线性缓冲器中,每个存储组存放一个 水平行样点数据,每次垂直縮放操作时,垂直縮放单元根据抽头数,在相关的
每个存储组中选取相应位置的样点作为垂直缩放的原始点数据。通常,根据上 一个样点的参数值和该点跨度值可以得到该点的参考点,并进而得到滤波所需
的全部原始点的位置。在本发明的--个实施例中,图像数据以YUV 4: 2: 2 格式进行解码和显示,垂直缩放单元每次从Y组线性缓冲器中取4个字节的 数据送入滤波器,做4抽头(tap)的垂直缩放处理"-scaling),每次从U组 线性缓冲器/V组线性缓冲器中取2个字节的数据送入滤波器,做2抽头(tap) 的垂直缩放处理(v-scaling)。
参见图11,本发明用于多窗口的图像縮放方法包括以下步骤
步骤S1,对图像数据进行水平縮放;
步骤S2,根据各个窗口之间的叠加状况选取屏幕显示图像各个窗口的适当 坐标范围内的数据;
步骤S3,将选取出来的各个窗口适当坐标范围内的数据进行暂存;
步骤S4,取出已完成水平縮放的各个窗口适当坐标范围内的图像数据,进
行垂直縮放。
如前女所述,暂存图像数据的存储单元为线性缓冲器(line buffer)。
图像数据进行水平縮放时,可以采用多路数据同时进行处理的方式,以最 大限量地达到与垂直縮放同步的要求。
该图像縮放方法把水平縮放操作前置,并在水平縮放操作完成后即进行各 个窗口的适当坐标范围内的图像数据选取,允许多个窗口的图像数据同时存放 在同一套存储单元中。在满足了画中画/画外画等功能的情况下,简化了垂直縮 放所需的存储单元的设计难度和成本。
本实施例只是为了进一步更清楚地描述本发明,而非对本发明的限制。应该可 以理解,本发明并不限于实施例所做的阐述,任何基于本发明的修改和本发明的等 同物都应涵盖在本发明的权利要求的精神和范围之内。
权利要求
1.一种图像缩放装置,包括水平缩放单元,用以对图像进行水平方向的缩放操作;垂直缩放单元,用以对图像进行垂直方向的缩放操作;存储单元,设置在所述水平缩放单元与所述垂直缩放单元之间、用以暂存图像中水平显示行的像素数据;过滤单元,用以根据显示图像各个窗口的叠加状况选取该各个窗口的坐标范围内的数据。
2. 如权利要求l所述的图像縮放装置,其特征在于,所述存储单元为线性缓 冲器,所述线性缓冲器的大小根据显示屏幕的全屏图像大小确定。
3. 如权利要求2所述的图像縮放装置,其特征在于,所述线性缓冲器中设置 多个存储组,每个存储组的大小根据显示屏幕的全屏图像的水平长度确定。
4. 如权利要求l所述的图像缩放装置,其特征在于还包括用以暂存输入的图 像数据的先进先出缓冲器。
5. 如权利要求l所述的图像縮放装置,其特征在于,所述水平縮放单元配置 多个并行处理数据的滤波器内核。
6. 如权利要求5所述的图像縮放装置,其特征在于,所述滤波器内核前端设置水平縮放先进先出缓冲器。
7. 如权利要求2或3所述的图像縮放装置,其特征在于还包括从所述线性缓 冲器中存取数据进行去交织处理的去交织单元。
8. 如权利要求l所述的图像縮放装置,其特征在于还包括用以集中控制图像 数据的输入输出、同步和处理的控制单元。
9. 如权利要求1所述的图像縮放装置,其特征在于,所述过滤单元设置在所 述水平缩放单元与存储单元之间。
10. —种图像縮放方法,包括如下步骤a. 对图像数据进行水平縮放;b. 根据显示图像各个窗口之间的叠加状况选取屏幕显示图像各个窗口的坐标范围内的数据; C. 将选取出的各个窗口的坐标范围内的数据进行暂存;d. 取出已完成水平缩放的各个窗口坐标范围内的图像数据,进行垂直缩放。
11.如权利要求IO所述的方法,其特征在于所述步骤a包括对图像数据的多路 数据同时进行水平縮放处理的步骤。
全文摘要
提供一种图像缩放装置及图像缩放方法,其中的装置包括水平缩放单元,用以对图像进行水平方向的缩放操作;垂直缩放单元,用以对图像进行垂直方向的缩放操作;存储单元,设置在所述水平缩放单元与所述垂直缩放单元之间、用以暂存图像中水平显示行的像素数据;过滤单元,用以根据显示图像各个窗口的叠加状况选取该各个窗口的坐标范围内的数据。其中的方法包括如下步骤对图像数据进行水平缩放;根据显示图像各个窗口之间的叠加状况选取屏幕显示图像各个窗口的坐标范围内的数据;将选取出的各个窗口的坐标范围内的数据进行暂存;取出已完成水平缩放的各个窗口坐标范围内的图像数据,进行垂直缩放。
文档编号H04N5/44GK101179671SQ200610118199
公开日2008年5月14日 申请日期2006年11月10日 优先权日2006年11月10日
发明者周振亚, 宋东海, 磊 张, 张亚林 申请人:上海奇码数字信息有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1