针对数字图像稳定优化的旋转内插像素的光栅输出的制作方法

文档序号:7794764阅读:251来源:国知局
专利名称:针对数字图像稳定优化的旋转内插像素的光栅输出的制作方法
技术领域
本发明构思涉及数字图像稳定(digital image stabilizaTion,DIS),并且更具体来说,涉及基于目标元帧(meta-frame)的水平行中像素的窗口内插来旋转源帧的目标帧部分并且以光栅次序输出经内插的目标帧的像素的方法。
背景技术
数字相机、数字摄像机以及包括这些相机捕获的手持设备经常用来在相机在人工操作员手中操作时拍摄图像或者视频。因此,当拍摄图像或视频时摄像机可能在操作员手中摇晃或者抖动。抖动可能包括水平分量、垂直分量以及旋转分量。抖动可以使得手捕获的视频让观看者分心或迷惑,因此期望使用数字电路来数字估计摄像头轨迹(即,在每对连续帧之间检测的抖动)并且从相同场景的视频帧的序列中过滤该抖动。通过稳定的、要么静止要么移动的视频相机生成的视频主要包含所拍摄的视频中流畅的运动(平移、旋转)。另一方面,不稳定的视频相机生成遍及视频图像具有高频率抖动(平移的和/或旋转的)的视频。数字图像稳定(DIS)系统首先估计不想要的(无意的)运动,然后对图像序列中的每一帧应用校正(补偿)。稳定视频的视觉效果高度依赖于相机轨迹估计的质量。分析相机/场景的全局运动以将预期的(例如,摇摄)以及无意的(抖动的)全局运动区分开来。在数学上,仿射几何学(affine geometry)是对通过仿射变换保持不变的几何属性的研究,也即,非奇异线性变换和平移。已经开发了通过数字系数——称作仿射矩阵—— 定义的数学方程组,将每个连续帧对之间或者其部分(例如,帧中的活动物体)之间检测到的水平、垂直、旋转和缩放(例如,放大或缩小)的运动特征化。仿射变换公式是χ, = sx 氺 x+ry 氺 y+txy' = rx 氺 x+sy 氺 y+ty其中(X,y)是目标帧像素位置,(X’,y’)是在仿射变换之后所计算的源帧像素位置。sx, ry,rx, sy,tx和ty是仿射变换系数。所述组的数学描述可以包含场景的线性位移、旋转角度、比例尺等等。所述相机抖动可以用与场景中任一实际固定的对象(例如,石头、桌子、停放的汽车、山、太阳)相关的第一仿射变换矩阵P (η)特征化,称作主变换ρ(η)或者全局变换,而帧中的任一移动物体(例如,鸟、人、球、移动的车、经过的火车)可以用附加仿射矩阵Ti (η)特征化。因此,主变换P(n)可以用作帧中背景的运动的简洁描述。具有较小运动的变换更可能成为主变换P (η)。一旦获得主变换Ρ(η),它就被应用于所拍摄到的图像数据的源帧,并由此获得校正后的目标帧。当主变换Ρ(η)包含旋转分量时,目标帧的相同行内的源帧数据可以来自源帧的许多不同线(line)。被标识为与特定目标帧像素位置对应的源帧像素位置可能不与源帧中现有像素的中心完全一致。被标识为与特定目标帧像素位置对应的源帧像素位置甚至可以位于源帧的两个或者四个相邻像素之间等距的位置。因此,那些相邻像素中没有一个将分别具有与对应的目标帧像素相同的亮度和色彩,但是它们的均值将会。当存在旋转运动时,目标帧中许多或者多数像素将不与源帧中的全部像素完全一致。在这样的情况下,必须从源帧的多个相邻像素的图像数据Dsf内插目标帧图像数据Ddf的每一个像素。使用基于仿射变换系数 SX、ry、rX、sy、tx和ty的仿射变换矩阵执行该内插。然而,因为目标帧相对于源帧有旋转角度,所以目标帧的任一给定行&内的像素的源帧数据可能来自源帧的不同行。例如,如果旋转角度是士 45度,那么目标帧的中间行&内的像素的源帧数据可能来自跨越大多数垂直维度的源帧的源帧行的范围。因此,一种输出目标帧的方法是将源帧划分为瓦片(块) 并且仅从多个瓦片(块)中的每一个内插每个目标帧(行Rd)的一部分。可以使用各种数据格式用于对图像的每一个像素的亮度和色彩进行编码。一种系统是灰度级数据,其中仅对每一像素存储一个亮度(Y)值数据。另一系统是8位4:2:2数据格式,其中以4:2:2的比存储四个像素的四个亮度(Y)值和2个色度(Cb和Cr)值,因为人眼对光的亮度细节比对色彩变化的细节更加敏感。因此,当从源帧内插目标帧的像素时, 使用针对亮度和色度数据值的不同大小的内插区域可能是最佳的。例如,来自源帧的4X8 亮度(Y)数据区域和4X4色度(Cb和Cr)数据区域可以用于以8位4:2:2数据格式的目标帧的每一个像素的内插。存储器管理方案的瓦片(块)形式具有用于存取相邻瓦片之间重叠的源帧数据以及块形式的输出目标帧数据的开销。当图像处理的随后阶段需要光栅次序的目标帧图像数据(例如,像素的全部行从左到右)时,连结经内插的目标帧数据的这些块以及读取以光栅次序输出的每个行&的像素的开销需要更多总线带宽或者需要多个线缓冲器来实现。

发明内容
本发明构思的一方面提供一种用于执行图像旋转而不重叠相邻瓦片之间的源帧存取的像素内插方法。公开的方法不需要额外的计算开销或者存储器开销来生成光栅次序的目标数据。本发明的一方面提供一种数字图像稳定方法,包括应用表示视频帧的场景中固定 /背景对象的主变换P (η)。根据一个实施例,基于接收到的仿射系数sx,sy, rx, ry, tx和ty并且基于计算的目标帧坐标,在补偿单元的第一仿射变换引擎中执行仿射变换,以生成所需要的源帧的像素数据的对应物理存储器位置。在部分彩色数据系统中,需要来自源帧的数据的内插区域 (例如,4行8列)用于对目标帧的每一个像素执行内插操作。为了存取所需要的用于从源帧区域进行旋转图像变换的数据,公开的方法取得与目标帧的一行对应的位于对角线的元行中的源帧的像素,并且将这些源数据像素水平地重新定位到多个线缓冲器,其中存储在线缓冲器中的内容中的数据对应于目标帧中的像素的一个或多个整个行。因此,能够以光栅次序针对目标帧的一个或多个整个行进行内插。本发明的示范性实施例利用平移、缩放和旋转执行仿射变换(图像内插)。生成目标帧的当前行&的经内插的像素需要的所有源帧数据都在元帧缓冲器的多个线缓冲器内进行对准。在源帧数据内插处理期间使用水平运动窗口操作以便以光栅次序生成目标帧数据。如果线缓冲器中的源帧数据来自于源帧的不同行,那么所需要的用于目标帧的每一个像素的内插的、源帧的(例如,4X8)存储器窗口区域的形状将被移位。提供一种用于旋转图像的图像处理电路,包括第一变换引擎,被配置为生成表示初始图像帧的目标元帧部分中的像素的每一元行的开始和结尾的水平位置的单个集合;直接存储器存取控制器,被适配为读取目标元帧部分中的像素的每一元行以及将经水平化的每一元行写入多个线缓冲器中的一个;以及第二仿射变换引擎,被适配为以光栅次序内插和旋转目标帧的每一个像素以及输出经旋转的像素。根据一个实施例,所述方法计算源帧中的对角线元行内对角线分布的图像数据的位置以及执行线缓存管理任务以便支持图像旋转到高达士45度角。本发明构思的一方面提供一种用于旋转图像的图像处理电路,包括第一变换引擎,被配置为生成表示初始图像帧的经旋转的目标帧部分中的像素的每一元行的开始和结尾的水平位置的集合;直接存储器存取控制器,被配置为读取目标帧部分中的像素的每一元行以及将每一行写入多个线缓冲器中的一个;以及第二仿射变换引擎,被配置为以光栅次序内插经旋转的目标帧的每一个像素以及输出所述像素。所述窗口内插运动窗口过程以光栅次序生成所述目标帧数据。将基于旋转公式, 例如通过仿射变换公式系数,来计算所述内插窗口中心位置(x’,y’)。将根据中心y’位置以及源数据存储在线缓冲器中的垂直位置调整所述内插窗口形状和位置。本发明构思的另一方面提供一种用于根据仿射变换系数旋转初始帧的目标帧部分的方法,包括基于所述仿射变换系数将与目标帧的第一行的像素对应的数据复制到多个线缓冲器当中的第一线缓冲器中;基于仿射变换系数将与目标帧的第二行的像素对应的数据复制到多个线缓冲器当中的第二线缓冲器中;基于存储在多个线缓冲器中的数据逐一内插和旋转目标帧的第一行中的每一个像素,并且以光栅次序输出目标帧的第一行的经内插的像素,然后基于存储在多个线缓冲器中的数据逐一内插和旋转目标帧的第二行中的每一个像素,并且以光栅次序输出目标帧的第二行的经内插的像素。本发明的另一方面提供一种应用主变换P(n)的方法,该主变换表示视频帧的场景中的固定/背景对象。本发明的另一方面提供一种根据仿射变换系数旋转源帧的目标帧部分的方法,包括基于仿射变换系数将与目标帧的第一行的像素对应的第一元行中的源帧的像素的图像数据复制到第一线缓冲器中;基于仿射变换系数将与目标帧的第一行的像素对应的第二元行中的源帧的像素的图像数据复制到第二线缓冲器中;以及基于存储在第一线缓冲器和第二线缓冲器中的图像数据逐一内插目标帧的第一行的每一个像素并且以光栅次序输出目标帧的第一行的经内插的像素。所述示范性方法还可以包括基于仿射变换系数将与目标帧的第一行的像素对应的第三元行中的源帧的像素的图像数据复制到第三线缓冲器中;基于仿射变换系数将与目标帧的第一行的像素对应的第四元行中的源帧的像素的图像数据复制到第四线缓冲器中; 以及基于存储在第一线缓冲器、第二线缓冲器、第三线缓冲器和第四线缓冲器中的图像数据逐一内插目标帧的第一行的每一个像素并且以光栅次序输出目标帧的第一行的经内插的像素。本发明构思的各种示范性实施例处理包括某一旋转度(例如,达到士45度)内的平移运动和旋转运动的仿射变换。本发明构思的各种其它示范性实施例被优化以处理包括 4:2:2数据格式和更小旋转度内的平移运动和旋转运动的仿射变换。因为目标帧的相同行&内像素的源帧数据可以来自源帧的不同线,所以第一步骤将根据目标帧的旋转角度将源帧数据重新布置到水平化的元行中。第一步骤布置存储源帧数据Dsf的水平化的元行的多个水平线缓冲器中与目标帧的整个行&对应的所有所需要的源帧数据。优选地,可以在内插过程期间同时读缓存的每个线,并且然后能够将接下来所需要的源帧数据同时写入未包含在内插过程中的缓存的任一线。因此,优选地,缓存的每一线实现为独立可存取的线缓冲器。当所需要的源帧数据可用于缓存时,执行简单且光滑水平运动窗口内插操作以便以光栅次序生成目标帧的每一行&中的每个像素的目标帧数据Ddf。在各种示范性实施例中通过重新利用k线缓冲器缩小存储源帧数据Dsf的水平化的元行所需要的元帧缓冲器的大小,其中k是整数,所述k线缓冲器用于临时存储与目标帧的一个或多个行&对应的目标帧数据Ddf。如果水平运动窗口具有标称维度4X4像素或者 4X8像素,那么如果目标帧的旋转角度是零的话,就仅需要线缓冲器的四个行用于存储与目标帧的一个或多个行&对应的目标帧数据Ddf(例如,见图14)。但是,如果运动窗口具有标称维度4X4像素并且如果目标帧的旋转角度是士45度,那么就需要线缓冲器的七个线用于存储与目标帧的仅一个行&对应的目标帧数据Ddf。因此,根据目标帧的旋转角度,存储源帧数据Dsf的七个水平化的元行的七线缓冲器包含足够数据用于对目标帧的至少一个并且多达四个整行&进行4X4内插。如果内插窗口具有标称维度4X8像素,那么七线缓冲器就可以处理高达22. 5度的旋转角度。如果目标帧的旋转角度是士45度,那么需要多于七个线的缓冲器来存储与目标帧的一个行&对应的目标帧数据Ddf。内插步骤的水平运动窗口的隔开形状将根据目标帧的旋转角度变化,并且在较小角度情况下,依赖于它是没有被中断线隔开、被一个中断线隔开还是被多个中断线隔开而变化。在部分示范性实施例中,旋转角度被限制以使得内插步骤的每个运动窗口将最多被仅一个中断线隔开(例如,见图15)。本发明的一方面提供用于执行这里公开的数字图像稳定方法的数字图像稳定电路。采用从视频帧序列中过滤出由相机的轨迹所引起的抖动的电路可以包含在视频相机本身内,并且被激活用于在存储拍摄到的视频帧之前实时去除抖动。可替换地,采用来估计连续视频帧之间的相机轨迹并且从所存储的视频帧序列中过滤出抖动的DIS电路可以是通过用数字图像稳定(DIQ方法具体实现的软件控制的通用目的微计算机,或者可以是专用硬件,诸如具体实现在被优化用于执行数字图像稳定(DIS)方法的专用集成电路(ASIC)的 MEPG视频编码器。下面将参考附图更详细地描述本发明构思的示范性实施例。然而,本发明构思可以以不同形式具体实现而且不应当将本发明构思释为限制为这里阐述的实施例。而是,提供这些实施例以使得本公开全面彻底并且将本发明构思的范围充分地传达给本领域技术人员。贯穿全文,相同的参考标记指代同样的元素。


附图被包括在内以提供对发明构思的更进一步理解,并且附图被并入且组成本说明书的一部分。附图连同描述一起示出发明构思的示范性实施例,用来解释发明构思的原理。在图中图1是依照本发明构思的示范性实施例的、执行数字图像稳定(DIS)方法的DIS 电路的框图;图2是图1的DIS电路中的DIS补偿单元的框图,其被适配为将补偿变换P(n)应用到所拍摄的源帧图像数据Dsf以进行内插和旋转并且以光栅次序输出目标帧的像素的数据 Ddf ;图3是依照本发明构思的示范性实施例的、包括示范性目标元帧的所拍摄的源帧的图,该示范性目标元帧包括多个对角方向的元行,每个元行包含源帧图像数据Dsf的子集,并且示出将通过将包含在目标元帧的元行中的源帧图像数据Dsf进行内插来获得的目标帧的相对位置;图4是依照本发明构思的示范性实施例的、存储在亮度Y元帧缓冲器中的图3中所示的示范性目标元帧的水平化的元行的一部分以及目标帧的三个示范性像素的内插窗口的图;图5是示出示范性目标元帧的十四个对角线方向移步(step)的元行以及定义目标元帧中多个被隔开/移位/移步的列组的多个规则间隔的垂直中断线;图6是示出根据本发明构思的实施例的、在亮度Y元帧缓冲器中存储的水平化的元行的图;图7A是根据本发明构思的实施例的、依次水平化源帧图像中的目标元帧的对角线方向移步的元行以及将经水平化的图像数据Dsf写入元帧缓冲器的行中用于以光栅次序进行像素的运动窗口内插的流程图;图7B是根据本发明构思的实施例的、依次水平化源帧图像中的目标元帧的k+Ι个对角线方向移步的元行的每个组以及将经水平化的图像数据的k+Ι行写入(k+Ι)线的元帧缓冲器用于以光栅次序进行像素的运动窗口内插的另一方法的流程图;图8是根据本发明构思的实施例的、从经水平化的目标元帧的元行中的图像数据通过运动窗口内插来依次内插目标帧的每个行的每一个像素的示范性方法的流程图;图9是示出源帧数据Dsf对准以及用于内插的开始位置的亮度Y元帧缓冲器的示范性实施方式的框图;图10是示出根据本发明构思的实施例的、亮度Y元帧缓冲器以及在元行的运动窗口内插的水平开始位置中的变化的图;图11是根据本发明构思的实施例的、示出在元行的运动窗口内插的垂直开始位置(winyshift)的变化的亮度Y元帧缓冲器的示范性线缓冲器实施方式的框图;图12是包括用于存储表示垂直中断线位置的位置的位的线缓冲器的亮度Y和色度(Cb和CR)源帧数据的存储器的示范性模式的图;图13是示出由于目标帧的顺时针方向旋转而被一个垂直中断线隔开的示范性 4X8像素内插窗口的形状的图;图14(a)到(d)示出根据本发明构思的实施例的、用于内插源帧数据的不旋转的目标帧的不同行中的像素的示范性无隔开4X8像素运动窗口的形状和垂直位置;图15(a)到15(e)是示出根据本发明构思的实施例的、用于从源帧数据内插经第一顺时针方向旋转的目标帧的不同像素的示范性隔开4X8像素运动窗口的形状和位置的图;以及图15(f)到15(j)是示出根据本发明构思的实施例的、用于从源帧数据内插经第二逆时针方向旋转的目标帧的不同像素的示范性隔开4X8像素运动窗口的形状和位置的图。
具体实施例方式图1是依照本发明构思的示范性实施例的、执行数字图像稳定(DIS)方法的DIS 电路的框图。DIS电路包括检测单元(DU),其分析接收到的、源帧的急动视频数据Dsf并且输出帧间变换Ti (η);轨迹单元(TU),其输出所选择的主/补偿变换P (η),其从帧间变换 Ti(Ii)当中选择;以及补偿单元(CU),其通过基于所选择的主/补偿变换P (η)修改急动视频来输出目标帧的稳定的视频数据Ddf。在检测单元(DU)估计了帧间变换Ti (η)之后,轨迹单元(TU)选择帧间变换Ti (η) 中的一个作为主变换P (η)。如果主变换Ρ(η)包括旋转运动分量,那么补偿单元(⑶)就以光栅次序(从最上一行开始逐行并且在各行内从左到右)旋转和内插以及输出目标帧的像素的稳定的视频数据Ddf。图2是图1的DIS电路中的DIS补偿单元6000的框图,其用于将补偿变换P(η) 应用到所拍摄的源帧图像数据Dsf以进行内插以及以光栅次序输出目标帧的数据Ddf。DIS补偿单元6000包括第一变换引擎6220,用于生成水平位置信息(例如, 读地址)和用于计算中断线间隔;DMA(直接存储器存取)控制器/读主设备(read maSter)6232;和第二变换引擎6250,用于以光栅次序内插(例如,旋转、变换、缩放)目标帧的像素。变换引擎可以是诸如相似变换、仿射变换等等之类的几何变换中的一种。仿射变换是为了图示和说明本发明构思的实施例的目的而选择,但是可以使用其它类似的几何变换而不脱离本发明的范围和精神。并行数据输出接口 6252输出图像数据0:2:2)并且提供图像帧同步信号和背压失速(back pressure stall)(输出缓冲器)机制。DMA控制器/读主设备6232读取所选择的存储在源帧缓冲器6230中的源帧数据Dsf的部分并且将源帧数据Dsf写入水平化的元帧缓冲器6240的每个合适的线缓冲器中。基于主变换P(Ii)系数^、巧、1^、巧、^和1又, 由第一仿射变换引擎6220从仿射变换公式计算每个目标源帧数据存取存储器地址。DIS补偿单元6000还包括配置寄存器6210,其接收并存储主变换P (η)系数sx、 ry、rx, sy、tx和ty并且将它们传递给第一仿射变换引擎6220和第二仿射变换引擎6250 中的每一个。AXI总线上的DMA/读主设备6232基于经由APB接口(I/F)6212从APB总线以及从配置寄存器6210接收到的图像位置和旋转信息P(Ii)从第一仿射变换引擎6220接收指令(目标源帧数据存取存储器地址)。图3是依照本发明构思的示范性实施例的、包括示范性目标元帧的所拍摄的源帧的图,该示范性目标元帧包括多个对角方向移步的元行&,每个元行包含源帧图像数据Dsf 的子集,并且示出将通过将包含在目标元帧的元行&中的源帧图像数据Dsf进行内插来获得的目标帧的相对位置。多个(例如,四个)相邻的对角线方向移步的元行&包含将目标帧的每个行&内插所需要的图像数据Dsf。目标帧的四个角(0,0),(0,dst_w), (dst_h,0)和(dst_h, dst_w)以及仿射系数 P(η) (sx,sy,rx,ry,tx,ty)被发送到第一仿射变换引擎6220以计算对应的源帧数据位置。 缩放仿射系数确保源帧数据可用于内插目标帧。图3中的矩形源帧示出标识与源帧的矩形目标帧(示出沿虚线旋转)的像素的水平行&对应的元行&中的像素的每个中断线的开始位置和结尾位置。水平位置集合X’ [1] 表示在初始源帧的像素的每一行处的上中断线的交叉。水平位置集合)(sW][n]表示在初始源帧的像素的每一行处左中断线的交叉处的、目标元帧的MXN像素当中每个元行的“开始”。水平位置集合)(s
[η]表示在初始源帧的像素每一行处左中断线的交叉处的、目标元帧的像素的每个元行的“结尾”。图4是显示依照本发明构思的示范性实施例的、存储在图2的DIS补偿单元6000 的色度C元帧缓冲器6241-C中的、图3中所示的示范性目标元帧的七个水平化的元行的一部分的色度元帧缓冲器6241-C以及目标帧的三个示范性像素的内插窗口的框图,其中内插窗口中的两个被垂直中断线隔开/移位/移步。图4中所示是存储在图2的DIS补偿单元6000的色度C元帧缓冲器6241-C的七个线缓冲器LBO到LB6中的、图3中所示的示范性目标元帧的七个水平化的元行的一部分。图4还示出依照本发明构思的示范性实施例的、目标帧的三个示例像素的内插窗口,其中两个内插窗口被垂直中断线隔开/移位/移步。每一个内插窗口被垂直通过其的每个中断线隔开/移位,或者如果没有中断线垂直通过它的话那么就没有中断线隔开/移位。具有实线的角和虚的边线的4X4内插窗口没有被中断线隔开,并且这是一个完好的正方形。 具有实线的角和虚的边线的4X4内插窗口包括仅来自列组scgO以及仅来自源帧的四行 Rs(χ,-Ι,χ,χ' +1,χ’ +2)的数据。具有虚线的4X4内插窗口被在其第三和第四列之间的一个中断线隔开,从而被该中断线隔开和移位。从而具有虚线的4X4内插窗口的左边3X4部分包括来自列组scgO 以及来自列组scgl的数据。内插窗口的右边1X4部分包括来自列组scgl的数据,内插窗口的左边3 X 4部分包括来自列组scgO的数据,它们以中断线分界。虽然具有虚线的4 X 4 内插窗口包括仅来自源帧的四个行Rs(χ’ -Ι,χ,χ' +1,χ’ +2)的数据,但是它因为线缓冲器内目标元帧的4X4内插窗口的水平化而跨越五个线缓冲器(LBl,LB2, LB3, LB4, LB5)。具有点划线的4X4内插窗口被在其第一和第二列之间的相同中断线隔开,从而被该相同的中断线隔开和移位。从而具有点划线的4X4内插窗口的左边1X4部分包括来自列组scgO的数据,而4 X 4内插窗口的右边3 X 4部分包括来自列组scgl的数据,它们以中断线分界。虽然具有点划线的4X4内插窗口包括仅来自源帧的四个行Rs(χ’ _2,χ’ -1, χ,χ’ +1)的数据,但是它跨越五个线缓冲器(LBO, LBl, LB2, LB3, LB4)。
图5是示出存储在图2的源帧缓冲器6230中的、图3中所示的示范性目标元帧的十四个对角线方向移步的元行&的一部分的细节图,其中图5示出多个规则间隔的垂直中断线,这些中断线定义目标元帧中多个被隔开/移位/移步的列组(scg)。参考图3以及图5,每个对角线方向移步的元行&被多个垂直中断线隔开,这些中断线的范围从在没有旋转或者只有非常微小的旋转的情况下的零个中断线开始,直到在士45度旋转情况下每个像素宽度一个中断线那么多。因为给定目标元帧的所有元行&具有相同的水平程度,并且因为中断线是规则间隔的(以每个移步列组的宽度,例如scgO), 所以目标元帧的所有元行&将具有大致相同数目的中断线——由于目标帧的水平移位、旋转角度、和水平大小而有士 1的变差。对于小角度的旋转来说,目标元帧的每个元行&将没有或者有一两个中断线。跨越一个或多个中断线的所有元行将必定具有它们的沿对角线分布的源帧数据Dsf,这些数据被划分为源帧的多个行民(例如,源帧行χ’,x’ -l,x’ -2,x’ -3,
寸寸J。图6是存储在亮度Y元帧缓冲器6241-1-Y (根据本发明构思的第一示范性实施例的、图2的DIS补偿单元6000的6241-Y的示范性实施方式)中的、图3中所示的示范性目标元帧的九个水平化的元行的一部分的细节图。具有达到士45度旋转角度的该示范性实施方式完全支持8位4:2:2(单平面,YC数据是交织格式)数据格式。参考图4和图6,当目标元帧的一个元行&的源帧数据Dsf已经被复制到一个线缓冲器中时,来自源帧的两个或更多不同行Rs(例如,来自行x’,x’ -l,x’ -2,x’ -3,等等)的源帧数据Dsf将被复制到被选择用于存储目标元帧的该一个元行&的水平化源帧数据Dsf 的线缓冲器中。图5和图6 —起示出水平化沿对角线方向移步的元行的方法的结果。在图5中, 仅显示目标帧的元帧的十四个元行&内的源帧图像数据Dsf的一部分。图5中所示的元行 Xd中的每一个都被相同的中断线集合在&[9] [], Xd[18] [],Xd[27][]处隔开(例如,间隔开9个像素宽度)。从而,图5中所示的元行&中的每一个的部分都包含来自源帧的四个行艮(例如,第一元行中的X’ +3,χ’ +2,χ’ +1和χ)的源帧图像数据Dsf。目标帧的元帧内示出经内插的目标帧的边界。在图5中显示为对角线布置的七个相同的元行&在图6中显示为在七个线缓冲器LBO,LBl, LB2, LB3, LB4, LB5和LB6水平化。如图6中所示,每个列组段中布置的给定元行&的段(例如,scgO,Scgl,等等)被复制到相同的线缓冲器。这就是水平化步骤。例如,在图5中,第一元行&包括目标帧的scgO和行x’+3内的第一段、 目标帧的scgl和行χ’ +2内的第二段、目标帧的scg2和行χ’ +1内的第三段以及目标帧的 scg3和行χ’内的第四段。在图6中,目标元帧中的第一元行&的第一段、第二段、第三段和第四段全部显示为被水平化复制到元帧缓存6241-1-Y的第一线缓冲器LBO中。图2的 DMA控制器/读主设备6232在第一仿射变换引擎6220的控制下依次对目标元帧的每个元行&执行该选择性复制粘贴操作。图6中水平化的元帧缓冲器6240中的亮度Y元帧缓冲器6241-Y的示范性实施方式6241-1-Y存储目标帧的整个元帧的亮度Y数据。因此,在本示范性实施方式中,图2的DMA控制器/读主设备6232可以复制粘贴所需要的整个目标元帧的源图像数据到图6的亮度元帧缓冲器6241-1-Y中。在各种替换实施例中,图2的DMA 控制器/读主设备6232按顺序对目标元帧的每个整列组部分执行复制粘贴操作,将每个列组(例如,scgO,然后scgl,等等)按顺序写入到线缓冲器直到元帧的全部元行被水平化存
11储到线缓冲器中。在图7B、图9、图10和图11的替换实施例中,图2的DMA控制器/读主设备6232针对目标元帧的七个元行执行复制粘贴到缓冲器中的操作,该缓冲器具有为了将整个目标帧的内插而重新使用的七个线缓冲器LBO至LB6。参考图2、图3和图4,如下面将充分描述的那样,DMA控制器6232从源帧的多个行Rs中读取与目标帧的行&有关的元行中、沿对角线分布的源帧图像数据Dsf,并且将图像数据Dsf水平化写入元帧缓冲器6241-Y的亮度(Y)线缓冲器以及元帧缓冲器6241-C的色度(C)线缓冲器中。接下来,第二仿射变换引擎6250读取存储在线缓冲器中的水平化亮度和色度源数据(例如,在4 2 2的情况下,亮度Y数据的4 X 8像素以及色度C数据的4 X 4 像素)的内插窗口(例如,4X4或者4X8像素区域)以用于生成(旋转的)目标帧的每一个内插的像素并且以光栅次序输出(旋转)目标帧的每个行的内插像素。通过使用仿射变换公式和接收到的仿射变换系数P (η)计算目标源帧数据存取存储器地址。读DMA通道经由具有1 位数据总线宽度的AXI总线主接口存取缓冲器6230(或者外部DRAM)数据中的源帧。图7A是按顺序水平化存储在图2的DIS补偿单元6000的源帧缓冲器6230中的源帧图像中的目标元帧的多个对角线方向移步的元行的第一示范性方法。该方法将所有经水平化的图像数据Dsf以光栅次序写入用于像素的运动窗口内插的元帧缓冲器6240的所有行中。该步骤是通过图2的DIS补偿单元6000的仿射变换引擎II 62520执行的。在步骤S6110中,基于用于设置目标帧维度MXN的源帧维度Μ’ XN’设置包括缩放因子的仿射变换系数,以使得内插目标帧数据Ddf需要的所有源帧数据Dsf都在源帧区域内(可用)。在步骤S6112中,循环索引被初始化以使得选择目标元帧的第一元行& = 0。在步骤S6120-A中,通过第一仿射变换引擎6220计算源图像中目标元帧的当前元行&的水平位置和垂直位置的开始地址。在步骤S6130-A中,DMA控制器6232将所选择的元行&中的源图像数据从源帧缓冲器6230复制到水平化的元帧缓冲器6240的线缓冲器中的一个中。 在步骤S6142中,选择目标图像的行Rd用于基于已经水平化复制到水平化元帧缓冲器6240 的线缓冲器中的元行&进行内插。在步骤S6150中,如果并且当与目标帧的所选择的行&对应的元行&的所有所需要的源图像数据Dsf都存储在水平化元帧缓冲器6240中时,就执行目标帧的所选择的行& 的所有像素的内插方法(图8的步骤6230),并且以光栅次序输出经内插的、所选择的行& 的目标帧数据Ddf。在步骤dS6180中,检查是否目标帧的所有行&都已经被内插。如果在决策步骤 dS6180中目标帧的所有行&尚未被内插(dS6180的“否”分支),那么元行索引号就增加 1(步骤S6182-A)并且所述方法重复步骤S6120-A作为该循环的下一次运行的开始。如果在决策步骤dS6180中目标帧的所有行&都已经被内插(dS6180的“是”分支),那么内插当前源帧的目标帧的方法就完成了。在实践中,内插目标帧的所选择的行&的像素的步骤(图8的步骤S6230)可以在步骤S6130-A期间源帧数据被复制到第二集合的线缓冲器中的同时(并行路径)使用第一集合的线缓冲器来执行,并且以光栅次序输出经内插的所选择的行&的目标帧数据Ddf。 因此,在方法的并行路径实施方式中,内插目标帧的行&的步骤(图8的S6230)可以在循环中紧接着元行复制步骤S6130-A的过程后而并行进行。该示范性实施例可以通过提供完整大小的水平化元帧缓冲器6240来实现,其中内插整个目标帧所需要的所有源帧数据Dsf 被复制且存储到该水平化元帧缓冲器6240。在各种其它示范性实施方式中,可以通过重新利用线缓冲器以便在不同时间存储目标帧的不同元行的源帧数据Dsf来降低在水平化元帧缓冲器6240中线缓冲器的数目。例如,如果内插窗口是4X8并且期望的最大旋转角度是士45度,那么就需要有多达11个被填充以水平化源帧数据的线缓冲器来内插目标帧的一个行&的像素。因此,实质上由十一个线缓冲器组成的水平化元帧缓冲器6240最低限度足够利用高达士45度旋转角度以光栅次序4X8内插目标帧的所有行&的所有像素。提供少于十一个线缓冲器有效地降低可以被4X8内插的旋转角度。另一方面,提供多于十一个线缓冲器使得能够循环(round-robin)再利用线缓冲器用于一系列行&的4X8内插,例如, 基于隔开部分内插窗口的水平中断线的映射。图7B是按顺序水平化存储在图2的DIS补偿单元6000的源帧缓冲器6230中的源帧图像中目标元帧的k+Ι个对角线方向移步的元行&中每个组的第二示范性方法。该方法将来自k+Ι行目标元帧的k+Ι行水平化图像数据Dsf写入元帧缓冲器6241-2-Y的(k+1) 个线缓冲器中。元帧缓冲器6241-2-Y的(k+Ι)个线缓冲器中的水平化图像数据Dsf接下来用于通过图2的DIS补偿单元6000的仿射变换引擎II 6250以光栅次序进行目标帧的一个或多个行Rd中的像素的运动窗口内插。在(k+Ι)个线缓冲器中的所有水平化图像数据 Dsf已经用于内插之后,该方法往回循环,并且将接下来的来自k行目标元帧的k行水平化图像数据Dsf写入元帧缓冲器6241-2-Y的(k+Ι)个线缓冲器中。在步骤S6110中,包括缩放因子的仿射变换系数是基于用于设置目标帧维度MXN 的源帧维度M’ XN'设置的,因此内插目标帧数据Ddf需要的所有源帧数据Dsf都在源帧区域内(可用)。在步骤S6112中,循环索引被初始化以使得目标元帧的第一元行& = 0被选择, 并且确定在水平化元帧缓冲器6240中使用的线缓冲器的数目(k+1)。在步骤S6120-B中,通过第一仿射变换引擎6220计算源图像中目标元帧的所选择的元行&到Xd+k的水平和垂直位置源帧数据Dsf的开始地址。在步骤S6130-B中,DMA控制器6232将来自源帧缓冲器6230的目标元帧的所选择的元行&到Xd+k的源帧数据Dsf复制到水平化元帧缓冲器6240的k+Ι个线缓冲器中。在步骤S6140中,执行基于存储在水平化元帧缓冲器6240的k+Ι个线缓冲器中的元行&到Xd+k的源帧数据Dsf的所有可能目标帧像素内插。在子步骤sS6142中,选择目标图像的行&用于基于已经水平化复制到水平化元帧缓冲器6240的线缓冲器中的元行&到通过设置目标行索引)进行内插。在子步骤SS6150中,所需要的、与目标帧的所选择的行&对应的元行&的源图像数据Dsf已经存储在水平化元帧缓冲器6240中,并且执行目标帧的所选择的行&的所有像素的内插方法(图8的步骤S6230),并且以光栅次序输出经内插的、所选择的行Rd的目标帧数据Ddf。在决策步骤dS6180中,检查能够从元行&到Xd+k内插的目标帧的所有行&是否已被内插,所述元行&到xd+k已经被水平化复制到水平化元帧缓冲器6240的线缓冲器中。 如果在决策步骤dS6150中目标帧的所有可内插行&尚未被内插(dS6150的“否”分支),那么元行索引号就增加1并且所述方法重复步骤S6120-A作为循环的下一次运行的开始。 因此,在子步骤SS6146中,目标帧行&的索引加1,并且针对下一目标帧行Rd+1重复子步骤 sS6150。如果在决策步骤dS6180中目标帧的所有可内插行&已经被内插(dS6150的“是” 分支),那么能够基于已经水平化复制到水平化元帧缓冲器6240的线缓冲器中的元行&进行内插的行&的内插就完成了。在决策步骤dS6180中,检查是否目标帧的所有行&都已经被内插。如果在决策步骤dS6180中目标帧的所有行&尚未被内插(dS6180的“否”分支),那么元行索引号就增加(例如,步骤S6182-B中的k-Ι)并且所述方法重复步骤S6120-B作为循环的下一次运行的开始。如果在决策步骤dS6180中目标帧的所有行&都已经被内插(dS6180的“是”分支),那么内插当前源帧的目标帧的方法就完成了。使用存储在k+Ι个线缓冲器中的水平化图像数据Dsf来执行内插目标帧的所选择的行&的像素(图8的步骤S6230)的步骤。根据旋转角度,可以使用存储在k+Ι个线缓冲器中的水平化图像数据来执行目标帧的附加行&的内插。例如,如果k等于十一(12个线缓冲器),那么目标帧的两个行&就可以以士45度的旋转角度进行4X8内插。类似地, 如果k等于十一(12个线缓冲器),那么目标帧的五个行&就能够以士45度旋转角度进行 4X4内插。在这些示范性实施方式中,可以通过重新利用线缓冲器以便在不同时间存储目标帧的不同元行的源帧数据Dsf来降低在水平化元帧缓冲器6240中线缓冲器的数目。例如, 如果内插窗口是4X8像素并且期望的最大旋转角度是士45度,那么就需要用水平化源帧数据Dsf填充的11个线缓冲器以用于目标帧的一个行&的像素的内插。因此,实质上由十一个线缓冲器组成的水平化元帧缓冲器6240最低限度足以利用高达士 45度旋转角度以光栅次序对目标帧的所有行&的所有像素进行4X8内插。提供少于十一个线缓冲器有效地降低可以被4X8内插的最大旋转角度。另一方面,提供多于十一个线缓冲器使得能够循环(round-robin)再利用线缓冲器用于一系列行&的4X8内插(例如,基于隔开部分内插窗口的水平中断线的映射)。图8是从存储在图2的元帧缓冲器6240中的目标元帧的水平化元行中的图像数据通过运动窗口内插来按顺序内插目标帧的每个行Rd的每一个像素的示范性方法的流程图。在决策步骤dS6210中,确定在水平化元帧缓冲器6240中是否有足够的水平化源帧数据Dsf可用于当前选择的目标帧行&的内插来向前进行。如果有足够的水平化源帧数据Dsf可用(决策步骤dS6210的“是”分支),那么目标帧的当前选择的行&的内插就从标识位于水平化元帧缓冲器6240的线缓冲器的、所需要的源帧数据Dsf的垂直位置和水平位置开始。用于当前行&的内插的垂直开始位置依赖于旋转角度并且在步骤S6220中进行计算。类似地,用于目标帧的当前行&中的第一个像素(第一列Cd = O)的内插的水平开始位置依赖于旋转角度并且也在步骤S6220中进行计算。在步骤S6230中,执行目标帧的当前选择的行&的所有像素的内插方法并且以光栅次序输出所选择的行&的经内插的目标帧数据Ddf。在子步骤sS6232中,从存储在线缓冲器中的水平化图像数据Dsf内插在目标帧的列Cd且行&的像素(例如,使用4X4像素或者4X8像素内插窗口 )。在决策步骤dS6234中,确定目标帧的当前选择的行&的最后一列(Cd = M)中的像素是否已经被内插。如果当前选择的行&的最后一个像素(Cd = M)尚未被内插(决策步骤dS6234的“否”分支),那么列索引增加1 (Cd = Cd+1),并且对目标帧的当前选择的行&中的下一个像素重复内插子步骤sS6232。如果当前选择的行&的最后一个像素(Cd = M)已经被内插(决策步骤dS6234的“是”分支),那么接下来执行决策步骤dS6250以确定目标帧的最后一行(Rd = N)是否已经被内插。如果目标帧的最后一行(I = N)尚未被内插(决策步骤dS6234的“是”分支), 那么列索引加1 ( = Rd+1),并且针对目标帧的下一行&重复运行决策步骤dS6210。如果目标帧的最后一行(I = N)已经被内插(决策步骤dS6234的“是”分支),那么目标帧已经完全被内插并且已经以光栅次序输出了所有目标帧数据Ddf。图9是图2中水平化元帧缓冲器6240中的亮度Y元帧缓冲器6241-Y的示范性实施方式6241-2-Y的存储器映射,其示出源帧数据Dsf对准以及用于内插的开始位置。在该示范性实施方式中提供7个线缓冲器6241-Y用于执行图8B的方法步骤。可以使用单一端口 SRAM用于每个线缓冲器(LB0到LB6)。能够在目标帧行&的内插过程期间同时读取七个线缓冲器,同时可以用下一个目标帧行Rtw的内插所需要的源帧数据Dsf来写一个或多个附加线缓冲器(未显示)。源帧数据Dsf的4X8/4X4窗口区域是目标帧的每一个像素的内插操作所需要。因为旋转特征,所以所需要的、内插一个目标帧行Rd需要的源帧数据Dsf 可以跨越多于4个的包含源帧数据的线缓冲器(见图4中4X4像素内插窗口的图以及图 13和图14中4X8像素内插区域的图)。因此,提供多个(例如,七个)线缓冲器支持内插窗口操作。8位4:2:2(单平面,交织格式的YC数据)数据格式被旋转角度达士 22.5度的示范性实施方式支持,对于DIS补偿来说该旋转角度可能是足够的角度范围。在替换实施例中,在4 2 2色度子抽样的情况下,提供11个线缓冲器6241-Y并且提供7个线缓冲器 6241-C,以支持达士45度的旋转角度。DMA控制器6232读取源帧数据Dsf,然后将其写入七个亮度Y线缓冲器6241-Y (见 6241-2-Y)并且写入七个色度(C)线缓冲器6241-C。接下来,第二仿射变换引擎6250从线缓冲器读取源帧亮度Y数据的4X8像素窗口区域(并且,在4:2:2色度子抽样的情况下, 源帧的源帧色度数据的4X4像素窗口区域)以生成经内插的(例如,经旋转的)目标帧的每一个像素,并且以光栅次序输出经旋转的图像(目标帧)的像素。再次参考图2,依照图9的示范性实施方式6241-2-Y,16个1152 X 17内部SRAM (8 个用于亮度Y缓冲器6241-Y,8个用于色度C缓冲器6241-C)可以用作元帧缓冲器6240 的线缓冲器以提供合适的内插窗口数据支持达士22. 5度的旋转角度、达到HD分辨率 (1920X1080)的目标输出图像。可以通过提高水平线缓冲器维度来支持较大的水平大小的图像。在执行图8Β的方法中,第一仿射变换引擎6220生成水平位置信息(例如,读地址),以用于控制直接存储器存取(DMA)控制器/读主设备6232填充亮度Y元帧缓冲器 6241-2-Y的前七个线缓冲器。水平位置信息还包括中断线位置信息(例如,一个位)。被发送到第二仿射变换引擎6250用于以光栅次序内插(旋转、缩放)目标帧的像素。水平位置信息还包括基于目标元帧的每个元行&的左端的位置的水平开始位置信息(例如, HstartLBO-5),正如在其对应线缓冲器(例如,LB0-LB5)内被复制的那样。例如,水平化存储在线缓冲器LBO到LB5中的目标元帧的每一元行&的左端可以位于距离LBO到LB5当中其对应的线缓冲器的左端八个像素的位置。图9中粗线标注的矩形描绘了线缓冲器LBO 到LB5中水平化存储的目标元帧的6X 15像素区域,位于距离线缓冲器LBO到LB5的左端八个像素的水平开始位置(例如,HstartLBO-5)。存储在线缓冲器LB6中的元行&的图像数据与线缓冲器LBO到LB5中存储的元行&的图像数据没有对准。因此,存储在线缓冲器 LB6中的元行&的图像数据在不同的水平线缓存地址开始。通过基于经由APB总线接收到的主变换P(n)的仿射系数的仿射变换公式计算每个目标源帧数据存取存储器地址。读DMA通道经由AXI总线主接口存取源帧缓冲器 6230 (或者外部DRAM),该AXI总线主接口可以是1 位数据总线宽度。AXI总线上的DMA/ 读主设备6232基于经由APB I/F 6212从APB总线以及从一个或多个配置寄存器6210接收到的图像位置和旋转信息P(n)来接收来自第一仿射变换引擎6220的指令(目标源帧数据存取存储器地址)。第一仿射变换引擎6220基于仿射参数sx,sy, rx, ry, tx和ty标识填充图9中的 6241-2-Y的前七个线缓冲器LBO到LB6所需要的源帧数据Dsf在源帧缓冲器6230中的位置, 以便生成对应的物理存储器位置。在图3标记为(0,0), (0,dst_w), (dst_h,0)和(dst_h, dst_w)的目标帧的四个角以及仿射参数(SX,Sy,rX,ry,tX,ty)由第一仿射变换引擎6220 用于计算相关的源帧数据位置(地址)。由于中断线的分布,所以所需要的源帧数据的每个元行&可以包括多个水平开始位置,它们基于在目标元帧坐标)(d
[y]处每个元行的第一像素的位置计算得来,其中y是元行的索引并且从0开始,并且增加1直到目标元帧的最后一个垂直位置[N]。第-
-仿射变换引擎6241从仿射(旋转)公式计算中断线位置信息
权利要求
1.一种图像处理电路,包括第一仿射变换引擎,其被配置为生成表示源帧中的像素的每个元行的开始并且与目标帧的行中的像素对应的水平位置数据的集合;存储器存取控制器,其基于所述水平位置数据控制从目标帧读取像素的每个元行以及将水平化的像素的每个元行写入多个线缓冲器中的一个;以及第二仿射变换引擎,其被适配为从存储在所述多个线缓冲器中的源帧的像素的多个水平化的元行以光栅次序内插以及输出所述目标帧的像素的每个行中的每个像素。
2.如权利要求1所述的电路,其中,根据接收到的仿射变换系数集合在内插所述目标帧的像素期间旋转所述目标帧。
3.如权利要求1所述的电路,其中,第一仿射变换引擎基于接收到的仿射变换系数集合以及基于关于与所述源帧有关的所述目标帧的位置和维度信息,生成表示所述源帧中的像素的每一元行的开始的水平位置数据的集合。
4.如权利要求1所述的电路,其中,所述多个线缓冲器包括至少五个线缓冲器。
5.如权利要求4所述的电路,其中,所述多个线缓冲器包括至少七个线缓冲器。
6.如权利要求5所述的电路,其中,所述多个线缓冲器包括至少十一个线缓冲器。
7.如权利要求6所述的电路,其中,所述第二仿射变换引擎使用跨越十一个线缓冲器中的每一个的4X8像素内插窗口,以光栅次序内插窗口内插并且输出所述目标帧的像素的每一行中的每一个像素。
8.一种根据包括旋转的仿射变换坐标从源帧的多个行中的像素内插目标帧的方法,包括基于所述仿射变换坐标,将与水平化的目标帧的第一行的像素对应的所有源帧数据复制到多个线缓冲器;以及以光栅次序从存储在所述多个线缓冲器中的源帧数据内插所述目标帧的第一行的每一个像素并且输出所述目标帧的第一行的经内插的像素。
9.如权利要求8所述的方法,其中,所述多个线缓冲器包括至少五个线缓冲器。
10.如权利要求9所述的方法,其中,所述多个线缓冲器包括至少十一个线缓冲器。
11.如权利要求8所述的方法,还包括基于所述仿射变换坐标,将与水平化的目标帧的第二行的像素对应的所有源帧数据复制到所述多个线缓冲器;以及以光栅次序从存储在所述多个线缓冲器中的源帧数据内插所述目标帧的第二行的每一个像素并且输出所述目标帧的第二行的经内插的像素。
12.如权利要求11所述的方法,其中,所述复制与所述目标帧的第一行和第二行的像素对应的所有源帧数据的步骤在从存储在所述多个线缓冲器中的源帧数据内插所述目标帧的第一行和第二行的每一个像素的步骤之前完成。
13.如权利要求11所述的方法,还包括基于所述仿射变换坐标,将与水平化的目标帧的第三行和第四行的像素对应的所有源帧数据复制到所述多个线缓冲器;以及以光栅次序从存储在所述多个线缓冲器中的源帧数据内插所述目标帧的第三行和第四行的每一个像素并且输出所述目标帧的像素的第三行和第四行的经内插的像素。
14.如权利要求13所述的方法,其中,所述复制与所述目标帧的第一行、第二行、第三行和第四行的像素对应的所有源帧数据的步骤在从存储在所述多个线缓冲器中的源帧数据内插所述目标帧的第一行、第二行、第三行和第四行的每一个像素的步骤之前完成。
15.如权利要求11所述的方法,其中,所述复制与所述目标帧的第二行的像素对应的所有源帧数据的步骤在执行内插所述目标帧的第一行的每一个像素的步骤的同时执行。
16.如权利要求15所述的方法,其中,所述复制与所述目标帧的第二行的像素对应的所有源帧数据的步骤在内插所述目标帧的第一行的每一个像素的步骤完成之前完成。
17.一种图像处理电路,包括图像处理单元,其被配置为执行旋转源帧的目标帧部分的方法,所述方法包括 根据基于仿射变换系数的中断线水平位置信息集合,将与水平化的目标帧部分对应的源帧数据复制到多个线缓冲器中,同时保持多个线缓冲器内的源帧数据的对准,以用于使用移动窗口内插过程来内插所述目标帧的像素。
18.如权利要求17所述的方法,其中,所述复制所有源帧数据的步骤包括基于用于源帧数据的每个行的、仅一个水平数据对准信息集合,将所述源帧数据布置到多个线缓冲器中。
19.一种图像处理电路,包括第一仿射变换引擎,其被配置为生成表示初始图像帧的经旋转的目标帧部分中的像素的每一元行的开始和结尾的水平位置集合;直接存储器存取控制器,其被配置为读取目标帧部分中的像素的每一元行以及将每一行写入多个线缓冲器中的一个;以及第二变换引擎,其被配置为以光栅次序内插经旋转的目标帧的每一个像素以及输出所述像素。
20.一种根据仿射变换系数旋转源帧的目标帧部分的方法,包括基于所述仿射变换系数,将与目标帧的第一行的像素对应的第一元行中的源帧的像素的图像数据复制到第一线缓冲器中;基于所述仿射变换系数,将与目标帧的第二行的像素对应的第二元行中的源帧的像素的图像数据复制到第二线缓冲器中;以及基于存储在第一和第二线缓冲器中的图像数据以光栅次序逐一内插所述目标帧的第一行的每一个像素并且输出所述目标帧的第一行的经内插的像素。
21.如权利要求20所述的方法,还包括基于所述仿射变换系数,将与目标帧的第三行的像素对应的第三元行中的源帧的像素的图像数据复制到第三线缓冲器中;以及基于所述仿射变换系数,将与目标帧的第四行的像素对应的第四元行中的源帧的像素的图像数据复制到第四线缓冲器中;以及基于存储在第一线缓冲器、第二线缓冲器、第三线缓冲器和第四线缓冲器中的图像数据以光栅次序逐一内插所述目标帧的第一行的每一个像素并且输出所述目标帧的第一行的经内插的像素。
全文摘要
一种数字图像稳定装置和方法将包括旋转运动分量的主变换应用于源帧,并且以光栅次序输出目标帧的整个行的每一个像素的图像数据。第一步骤基于主变换系数标识与目标帧的整个行的像素对应的源帧数据的对角线方向的元行。第二步骤通过将源帧数据的每一元行存储到诸如多个线缓冲器这样的存储器缓冲器的一个行中,来水平化与目标帧的整个行的像素对应的元行的源帧数据。然后,运动窗口内插步骤基于主变换系数按顺序内插并且以光栅次序输出目标帧的整个行的图像数据。
文档编号H04N5/232GK102572279SQ20111043920
公开日2012年7月11日 申请日期2011年12月23日 优先权日2010年12月23日
发明者C.C.林, Y.周 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1