用直接存储器访问翻转或旋转数字图像的相机接口和方法

文档序号:7617196阅读:128来源:国知局
专利名称:用直接存储器访问翻转或旋转数字图像的相机接口和方法
技术领域
本发明涉及数码相机系统,尤其涉及一种利用直接存储器访问单元完成图像转换以便校正X-轴、Y-轴或XY-轴镜像的相机接口。
背景技术
移动通信产业的快速发展,利用蜂窝电话和其它便携式(或移动)终端已经能使消费者在共享信息特别是图像方面享受便利。由于最初使用的移动电话仅用于声音(音频)通话和传输消息,而它们的功能近来甚至已经扩展到通过无线移动互联网下载MP3音乐文件。现在,为了满足消费者对图像和多媒体应用的需求,配有相机模块的移动电话已经得到了广泛的使用。
此种“照相电话”(带有相机模块的蜂窝电话)通常包括图像传感器和图像信号处理器,通过其由图像传感器将实时的图像(由物体发出的光)转换成电信号,然后,由图像信号处理器将电信号输出为可显示的数字图像。
图像传感器由以两维阵列(矩阵)排列的像素组成。每个像素由光电二极管(用于将接收到的光转换成电荷)和读出单元形成。像素的读出单元可以使用电容(例如,用于存储和传送来自光电二极管的电荷的CCD)和/或晶体管。图像传感器可由电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)组成。在将电容用作读出单元的基于CCD的图像传感器中,电荷沿着通道路径转移(传送),从而从其中读出图像数据。在CMOS图像传感器中,通过操作行和列解码器读出电荷或电压。
CMOS图像传感器在移动电话中得到了广泛的应用,因为与CCD图像传感器相比其具有高集成度和低功耗。而CCD图像传感器广泛应用于数字静态相机、视频相机(例如,闭路电视和录像机),因为其具有优异的图像质量和高的光敏感度。
然而,随着技术的发展,CCD图像传感器降低了功耗且提供了高集成度,可以预见CCD将广泛应用于移动电话,特别是考虑到日益增长的消费者对更高分辨率相机的需求。
在移动电话中使用CCD图像传感器,会产生图像倒置现象。这样的图像倒置(也就是翻转或旋转)是由透镜和/或镜子和移动电话的相机模块的位置发生变化引起的。根据相机模块的位置变化,会有X-轴对称图像(例如,X-轴镜像图像)、Y-轴对称图像(例如,Y-轴镜像图像)或X/Y-轴对称图像(例如,X/Y-轴镜像图像)。因此,图像的倒置需要通过数字式地翻转镜像图像来校正。
CMOS图像传感器可以很容易通过改变行和列解码器来校正倒置(例如,翻转或旋转)的图像。但是,难于改变CCD图像传感器以校正倒置的图像,因为其中的电荷(或图像信号)是在与光电二极管阵列直接耦合的转移寄存器的模式中检测到的,因此输出图像的水平线的顺序是固定的。有很多方法克服此限制,例如,通过使用图像信号处理器转换经过帧缓冲器的CCD图像传感器的输出图像,或在将其以数字方式存储在外部存储器之后以软件方式转换输出图像。然而,需要大容量的帧缓冲器(例如,几兆像素)或存储器(例如,几兆字节)来校正高分辨率图像的图像倒置(例如,翻转或旋转)。在相机模块中使用大容量的帧缓冲器,产生不必要的对大容量存储器的要求,且由于帧缓冲处理可能对图像数据的可用性产生延迟。在CCD图像传感器中使用外部存储器会产生不必要的频繁存储器存取操作,这将妨碍实现高带宽、低功耗和小尺寸的移动电话。

发明内容
本发明涉及相机接口,其包括DMA单元,其适于对X-轴、Y-轴或XY-轴图像的镜像执行图像转换(例如,翻转,旋转),适用于高带宽、低功耗和小尺寸的含有相机的移动设备。
本发明提供一种图像转换设备,特别是使用DAM单元实现图像镜像(X-轴镜像图像或Y-轴镜像图像)和图像180旋转功能。
DMA是直接存储器访问的缩写。这是一种从存储器中获得信息的特殊的方法,通常是对存储器的大数据块中直接编址而不是通过通常的缓冲器和通常的协议。其中DMA呼叫软件(有时嵌入硬件)必须足够智能化才能找到存储器的特定数据块。这是一种通常由快速盘控制器、磁带控制器、SCSI控制器和智能数据库操作使用的方法。通常其比传统的访问方法快20倍。
直接存储器访问(DMA)是一种使外围设备直接控制处理器的存储器总线的方式。在突发模式中,DMA控制器保持对总线的控制,直到由请求设备缓存的所有数据已经被传送到了存储器(或如果写到外部设备中,当外部设备存储器存满时)。在计算环境中,“突发模式”通常指这样的任意情形,其中设备重复传送数据而不用等待从另一个设备输入或等待内部处理,以便在连续传送数据之前终止。
根据本发明的一个实施例的图像转换(翻转,旋转)电路包括缓冲存储器,用于存储由具有第一突发传送长度的直接存储器访问(DMA)访问的图像数据;数据选择器,用于选择性调整存储在缓冲存储器中的图像数据的字和每个字中像素的顺序;及地址产生器,产生用于访问缓冲存储器中的图像数据的帧开始地址、线开始地址和突发传送开始地址。
在此实施例中,数据选择器包括多个(该数目与突发传送长度对应)像素顺序调整多路复用器,用于在存储在缓冲存储器中的字和得到的具有翻转顺序的字之间进行选择;和字顺序调整多路复用器,用于从像素顺序调整多路复用器接收选定的字,并按它们的原始(输入)顺序或按翻转的顺序输出字。每个像素顺序调整多路复用器响应于模式选择信号选择字(具有原始或翻转像素顺序)的一个;字顺序调整多路复用器响应范围为0到L-1(L是突发传送长度)的计数器的输出而按序输出字(按原始顺序或翻转的顺序)。根据有效的镜像图像模式,将计数器的初始值设置为0到L-1中的一个。例如,在X-轴镜像图像模式或正常模式中将计数器的初始值设置为0,而在XY-轴镜像图像模式或Y-轴镜像图像模式中将计数器的初始值设置为L-1。
在X-轴镜像图像模式中,数据选择器保持存储在缓冲存储器中的图像数据的字和每个字中像素的原始顺序;并且地址产生器通过从图像数据帧的整个地址空间减去与水平线对应的地址而建立帧开始地址;并且(在终止了对第一水平线的处理之后)通过从当前地址减去与两条水平线对应的地址而建立新的线开始地址。
在Y-轴镜像图像模式中,数据选择器翻转存储在缓冲存储器中的图像数据的字和字中像素的顺序;并且地址产生器通过将与突发传送长度相应的地址空间加到与图像数据的一条水平线对应的地址空间上而建立帧开始地址,在突发传送前通过从当前地址减去与突发传送长度和当前突发传送长度的总和对应的地址空间而建立突发传送开始地址;并且(终止了对第一水平线的处理之后)其通过将与两条水平线和水平线的最后两个传送突发长度之间的差值对应的地址空间加到的当前地址上而建立线开始地址。
在XY-轴镜像图像模式中,数据选择器翻转存储在缓冲存储器中的图像数据的字和每个字中像素的顺序;和地址产生器通过将与突发传送长度对应的地址空间加到图像数据帧的整个地址空间上而建立帧开始地址,在突发传送前,通过从当前地址减去与突发传送长度和当前突发传送长度的总和对应的地址空间而建立突发传送开始地址;并且(终止了对水平线的处理之后)通过将与水平线的最后两个传送突发长度之间的差值对应的地址空间加到的当前地址上而建立线开始地址。
在X-轴镜像图像模式和XY-轴镜像图像模式中,当一条水平线上的像素数目不等于与突发传送长度相应的像素数目的倍数时,从当前地址,通过与主和剩余突发传送长度的总和相应的地址空间建立最后突发传送开始地址。
在此实施例中,当一条水平线上的像素数目不等于与突发传送长度相应的像素数目的倍数时,突发传送被分割为主突发传送和是水平线的最后突发传送的剩余突发传送而执行。
本发明的另一实施例提供了一种用于图像转换的DMA单元,包括缓冲存储器,用于存储由具有第一突发传送长度的DMA访问的图像数据;DMA控制器,用于管理对缓冲存储器的突发DMA访问;和数据选择器,用于基于DMA控制器的状态,调整存储在缓冲存储器中的图像数据的字和每个字中像素的顺序。
DMA单元还可以包括地址产生器,其基于DMA控制器的状态,对于从数据选择器提供的图像数据,输出帧开始地址、线开始地址和突发传送开始地址;和总线协议信号产生器,用于参照DMA控制器和总线的状态输出总线信号。
在此实施例中,DMA控制器还可以包括DMA-有限状态机(FSM),用于指示DMA传送状态;通道仲裁器,用于管理对色彩分量的DMA访问优先级别;和提取-有限状态机(FSM),用于基于DMA-有限状态机和通道仲裁器的状态控制对外部FIFO存储器的数据提取。
本发明的一个实施例还提供一种相机接口,用于将图像数据通过系统总线从相机模块传送到外部帧存储器,该相机接口适用于执行图像转换(例如,翻转,旋转)。该相机接口包括预处理器,用于管理对从相机模块接收到的图像数据的预处理操作;色彩换算器,用于在FIFO存储器中存储图像数据和用于调整来自预处理器的图像数据的像素数目;和DMA单元,用于将存储在FIFO存储器中的图像数据加载到系统总线上,和用于执行图像转换(例如,翻转,旋转)。
DMA单元包括缓冲存储器,用于存储从FIFO存储器提供的图像数据;DMA控制器,用于管理传送至缓冲存储器的DMA突发传送;数据选择器,用于基于DMA控制器的状态,调整存储在缓冲存储器中的图像数据的字和每个字中像素的顺序;地址产生器,用于基于DMA控制器的状态,对于从数据选择器提供的图像数据,输出帧开始地址、线开始地址和突发传送开始地址;和总线协议信号产生器,用于基于DMA控制器和总线的状态输出总线信号。
本发明的一个实施例提供一种带有相机模块的移动电话,该相机模块具有利用直接存储器访问(DMA)单元执行图像镜像功能(例如,翻转,旋转)的接口。


下面将参照附图更详细地描述本发明的优选实施例。每个附图解释本发明的操作的示例性实施例或方法,与描述结合起来用于解释本发明的原理。贯穿说明书和附图相同的附图标记表示相同的元件。在附图中图1是一个方框图,其解释根据发明的一个实施例的移动电话中的相机模块和应用处理器;图2是一个电路方框图,示出了在图1中的DMA控制器;图3是一个电路方框图,解释了使用编解码DMA单元的的数据流和控制的特点;图4是DMA-有限状态机的状态转变图;图5是通道仲裁器的流程图;图6(6A、6B、6C、6D)是亮度分量的提取-有限状态机的状态转变图;图7解释和比较由相机模块摄取的图像的原始像素位置和处于镜像图像模式的像素位置。
图8解释在低字节优先(little-endian)存储器系统中的镜像图像模式的像素位置;图9解释了在校正X-轴镜像图像的图像转换(X-轴镜像,翻转)期间的地址调整;图10解释了在校正Y-轴镜像图像的图像转换(Y-轴镜像,翻转)期间的地址调整;图11解释了对Y-轴镜像在突发传送长度16内的字顺序和每个字中的像素顺序的进行调整的特征;图12解释了影响字顺序和每个字中的像素顺序以及Y-轴镜像的DMA地址的排列的地址调整特征;图13解释了在校正XY-轴镜像图像的图像旋转(XY-轴上的镜像)期间的地址调整;图14解释了影响字顺序和每个字中的像素顺序以及XY-轴镜像(图像旋转)的DMA地址的排列的地址调整特征;图15(15A、15B)是一个描述操作地址产生器的方法的流程图;图16是数据选择器的细节图;图17解释了DMA地址调整和其顺序的时序;以及图18解释了在相机模块中处理的像素数据类型。
具体实施例方式
图1是一个方框图,其解释依照发明的一个实施例的移动电话中的相机模块101和应用处理器111。参照图1,相机模块101由图像传感器103和一个图像信号处理器(ISP)105组成。图像传感器103可由CCD图像传感器或CMOS图像传感器组成。应用处理器111包括相机接口113、处理单元123、存储器接口125和用于操作地互连它们的系统总线129。例如系统总线129是先进的高性能(AHB)总线,连接到用作示例的同步DRAM的外部帧存储器127。相机接口113由预处理器115、色彩换算器117和用于执行图像转换功能的DMA(控制器)单元119组成。
在图像传感器103将通过接收物体产生的光而产生的光学(真实)图像转换成电信号之后,电信号被传送到图像信号处理器105,然后作为像素数据被传送到相机接口113。相机接口113连续地收集从相机模块101接收的像素数据,该像素数据以色彩分量来表达。像素数据被转换,然后被传送到系统总线129。加载到系统总线129上的象素通过存储器接口125存储到在帧存储器127中。存储在帧存储器127中的图像帧压缩后被传送,或在移动电话的LCD屏上显示出来。
相机接口113的预处理器115将4∶2∶2格式的Y/Cb/Cr像素数据转换成4∶2∶0格式的Y/Cb/Cr像素数据,且操作开窗功能和各种预处理。预处理器115也将Y/Cb/Cr像素数据分离为亮度(Y)和色度(Cb,Cr)分量。在Y/CB/CR定义的格式中,Y是亮度,CB和CR是色差信号。这些粗略地定义为,Y描述视频的亮度或单色分量,CB和CR分别是B-Y和R-Y,它们是减去亮度(Y)分量的原色彩蓝色和红色。分离的亮度和色度数据被传送到色彩换算器117。
色彩换算器117包括用于编解码和预览路径的换算单元。预览色彩换算器能使用户在移动电话的LCD屏幕上观看由相机模块101摄取的图像。该编解码换算单元用于压缩和转送图像。随着从预处理器提供的像素数目的增加和减少,每个换算单元将图像数据存储在FIFO存储器中。预览换算单元包括将Y/Cb/Cr数据转换成R/G/B数据的色彩转换器。
DMA单元119按照镜像图像模式合适地调整从色彩换算器117接收的图像数据,并将调整的图像数据提供给系统总线。DMA单元119转送给编解码和预览换算单元。DAM单元119是适用于预定图像镜像功能(即,图像恢复功能)的特定DMA单元。
图2是在图1中示出的DMA119的方框图。参照图2,DMA单元119被分成编解码DMA单元119a和预览DMA单元119b。每个DMA单元,例如,119a(或119b),是由下述元件组成的用于存储图像数据的内部缓冲存储器207a(或207b);编解码色彩换算器(或预览色彩换算器)的FIFO存储器118a(或118b);根据镜像图像模式改变系统总线地址的地址产生器211a(或211b);和根据镜像图像模式改变从内部缓冲存储器207a(或207b)输出的图像数据的顺序的数据选择器213a(或213b)。DMA单元119a(或119b)还包括用于产生系统协议信号的协议信号产生器209a(或209b)。地址产生器211a(或211b)提供帧开始地址、线开始地址和突发传送开始地址,用于将图像数据从内部缓冲存储器207a(或207b)存储进(外部)帧存储器127中。数据选择器213a(或213b)按照修改后的字和字中像素的顺序选择来自内部缓冲存储器207a(或207b)的输出图像数据。
为了以突发模式从系统总线129中访问,存储在FIFO存储器118a(118b)中的图像帧还被存储在内部缓冲存储器207a(或207b)中。存储在内部缓冲存储器207a(或207b)中的图像数据根据镜像图像模式按照字和像素顺序被转换,并以突发模式通过系统总线129被存储在外部帧存储器127中。在此期间,用于在外部帧存储器127中存储图像数据的地址由地址产生器211a(211b)提供。地址产生器211a(或211b)根据图像镜像模式提供了突发访问的图像数据的帧开始地址、线开始地址和突发传送开始地址。
突发传送长度L是2的倍数,例如2,4,8,或16。如果在将要处理的图像帧的水平像素的数目除以与突发长度相应的像素数目之后有余数(即,像素的余数小于与突发长度相应的像素数目),为了提高总线效率,剩余的像素则由适于剩余像素数目的剩余突发传送模式处理。换言之,突发传送操作由主突发传送模式和剩余突发传送模式组成。以预定的突发长度L(例如2,4,8,或16)按主突发传送模式处理图像数据,按剩余突发传送模式处理最后的剩余数据(小于预定的突发长度)。由于将要被处理的水平像素的数目是已知的,所以由特定功能寄存器设立有关主和剩余突发传送长度的信息。
对于图像帧的水平线上的像素,最后两个突发传送操作可能全部按主突发传送模式(当水平像素数目完全地被预定的突发长度相除而没有余数时)来传送或按主突发传送模式加剩余传送模式来传送。可以考虑图像帧中的水平线的大小和其中系统总线的特征来预定突发传送长度。
例如,假定水平像素的数目是240(60字),在用突发长度为8执行7次突发传送之后,剩余的像素的数目是16,即4个字。因此,在完成突发长度为8的主突发传送模式之后,由剩余突发传送模式处理最后剩余的4个像素。
作为另一例,假定水平像素的数目是224(56字),按主突发传送模式通过执行长度为8的突发传送处理7次而处理所有水平像素。另一选择为,224水平像素能这样被处理通过突发长度为16的主突发传送模式处理3次,接下来通过突发长度为8的剩余突发传送模式处理。
在X-轴镜图像模式或正常的图像模式中,数据选择器(数据选择单元213a(或213b))将内部缓冲存储器207a(或207b)的图像数据加载到系统总线上,而没有调整字顺序和字中的像素顺序。在Y轴镜像图像模式或XY-轴镜像图像模式中,数据选择器(数据选择单元213a(或213b))将内部缓冲存储器207a(或207b)的图像数据加载到系统总线上,并且反转了字顺序和字中的像素顺序。
在X-轴镜像图像模式中,地址产生器211a(或211b)通过从一帧的整个地址空间减去一条水平线的地址空间而建立帧开始地址(用于传送要被传送的第一水平线),然后在终止传送第一水平线的处理之后,通过从(帧的)当前地址减去两条水平线的地址空间建立新的线开始地址(用于传送要被传送的第二水平线)。
在Y-轴镜像图像模式中,地址产生器211a(或211b)通过将分配给突发传送的地址空间加到与一条水平线相应的地址空间上建立帧开始地址(用于传送要被传送的第一水平线)。地址产生器211a(或211b)通过从当前地址减去对应于两次主突发传送模式的地址空间而建立突发传送开始地址,由于当前突发传送之前的突发传送,初步地考虑从当前地址增加的地址。地址产生器211a(或211b)还在终止对一条水平线的处理时,通过将与两条水平线相应的地址空间和(与最后两个突发传送的差值相应的)地址空间加到当前地址上而建立线开始地址。
另一方面,在XY-轴镜像图像模式中,地址产生器211a(或211b)通过将(与突发传送相应的)地址加到一帧的整个地址空间而建立帧开始地址;通过从当前地址减去(与两次主突发传送相应的)地址空间而建立突发传送开始地址,由于该突发传送之前的突发传送,初步地考虑从当前地址增加的地址;和在终止了对一条水平线的处理时,通过将(与一条水平线的最后两个突发传送的差值相应的)地址空间加到当前地址上而建立线开始地址。
在X-轴模式和XY-轴镜像图像模式中,除非像素的数目是能被被与主突发传送长度相应的像素数目整除,最后的突发传送开始地址是通过从当前地址减去与主和剩余突发传送的总和相应的地址空间而得到的。
接下来将结合附图更详细地描述地址产生器211a(或211b)和数据选择器213a(或213b)。
从色彩换算器的FIFO存储器118a(或118b)到内部缓冲存储器207a(或207b)的数据提取由提取-FSM(有限状态机)201a(或201b)控制;并且DMA传送状态由DMA-FSM(有限状态机)203a(或203b)通知。编解码DMA单元119a具有与分量Y、Cb和Cr相应的多个内部缓冲存储器,并进一步包括通道仲裁器205(在预览DMA单元119b中没有提供),用于管理对亮度数据Y和色度数据Cb/Cr的DMA访问操作。预览DMA单元119b不需要用于在通道中分离色彩分量的仲裁器,因为其输入的数据被设定为RGB格式的。
编解码DMA单元119a的通道仲裁器205,作为用于控制由亮度和色度分量Y、Cb和Cr占用的总线,管理每个通道(或色彩)的通道选择(或数据选择)和授权用于将色彩数据从内部缓冲存储器207a载入到总线129上。由于亮度数据通常具有更大的传送量,亮度数据以较高的优先级别被处理,而色度数据(Cb和Cr)以相同的优先级别被处理并且通过往复式传输型而选择。
提取-FSM(有限状态机)201a(或201b)通过参考DMA-FSM(有限状态机)203a(或203b)(以及在119a中的通道仲裁器205)控制从FIFO存储器118a(或118b)的提取操作。只有当FIFO存储器208a(或208b)为非空和内部缓冲存储器207a(或207b)完成了DMA传送操作时,提取-FSM(有限状态机)203输出读出控制信号,并且仅通过系统总线上载入的突发传送长度量将数据从FIFO存储器208a(或208b)存储到内部缓冲存储器207a(或207b)中。突发传送长度和镜像图像模式由特定功能寄存器223中的预设值确定。
图3是一个电路方框图,其解释了根据本发明一个实施例的编解码DMA单元119a中的数据流和控制的特征。DMA-FSM(有限状态机)203a将DMA传送状态(CurStateDMA)通知给通道仲裁器205、地址发生单元(AGU)211a、数据选择单元(DSU)213a和总线协议信号产生器209i、209j与209k。
内部缓冲存储器207_Y、207_Cb和207_Cr存储将以突发模式访问的数据,该数据来自分别分配了各个种分量Y、Cb和Cr的FIFO存储器118_Y、118_Cb和118_Cr。在此期间,提取-FSM(有限状态机)201a参照DMA-FSM(有限状态机)203a(或203b)和通道仲裁器205的状态,控制从FIFO存储器118_Y、118_Cb和118_Cr的数据提取操作。换言之,提取-FSM(有限状态机)201a从通道仲裁器205接收通知内部缓冲存储器207_Y、207_Cb和207_Cr是处于完成了DMA传送的状态的信号,除非FIFO存储器118_Y、118_Cb和118_Cr为空,然后使能读出的控制信号。读出控制信号使数据仅仅按照突发传送长度量从FIFO存储器118_Y、118_Cb和118_Cr存储到内部缓冲存储器207_Y、207_Cb和207_Cr中。然后,提取-FSM(有限状态机)201a产生DMA-就绪信号FSM_DMA_ready以将完成了像素数据提取操作通知给DMA-FSM(有限状态机)203a和通道仲裁器205。
通道仲裁器205与DMA-FSM(有限状态机)203a和提取-FSM(有限状态机)201a通信。通道仲裁器205将与突发传送长度和DMA-FSM(有限状态机)203a的状态相应的控制信号DataSel提供给多路复用器303,该信号控制选择亮度和色度分量中的通道(或数据)的操作和将数据从内部缓冲存储器207_Y、207_Cb和207_Cr加载到系统总线129的操作。在完成将数据传送到系统总线129之后,通道仲裁器205将DMA-传送-结束信号Y/Cb/CrTransDone发送到提取-FSM(有限状态机)201a。
数据选择单元(DSU)213a产生与DMA-FSM(有限状态机)203a的状态对应的信号YSel、CbSel和CrSel,用于控制每个分别分配给分量Y、Cb和Cr的多路复用器213_Y、213_Cb和213_Cr。控制信号YSel、CbSel和CrSel使能多路复用器213_Y、213_Cb和213_Cr,以便调整存储在内部缓冲存储器207_Y、207_Cb和207_Cr中的字和数据像素的顺序,并且将它们输出到多路复用器303。在数据写入信号发生器305的数据写入信号HWDATAout的控制之下,将从多路复用器303输出的数据加载到数据总线。
地址产生器(AGU)211a输出系统总线地址HADDRout,用于通过数据总线将多路复用器303的输出数据写入外部帧存储器127中,其对应于选定的镜像图像模式对应和DMA-FSM(有限状态机)203a的状态,总线协议信号产生器209i、209j和209k基于DMA-FSM(有限状态机)203a的状态分别输出总线请求信号HBUSREQx;数据传输模式信号HTRANSout;和突发传送信号HBURDTout。
图4是图2的DMA-FSM(有限状态机)203a(或203b)的状态转变图。参照图4,当在空闲状态IDLE期间从提取-FSM(有限状态机)201a产生DMA-传送就绪信号FSM_DMA_ready时,其通过DMA仲裁状态(仲裁)转变为DMA总线-请求状态(BusRequest)。如果在总线-请求状态(BusRequest)中,使能总线优先级别信号HGRANTx和数据传送结束信号HREADYin,同时其转变为DMA转移-状态(TRANSFER)。如果在DMA转移-状态中完成了数据传送并传送了突发长度的最后的数据的同时,其又返回到空闲状态IDLE。
图5是解释通道仲裁器205的操作方法的流程图。亮度数据Y的优先级高于色度数据Cb/Cr。色度数据以彼此相对相同的优先级被访问,其按照往复式传送顺序被选择。在判断步骤S503中,除非DMA-有限状态机(FSM_DMA_203a)处于仲裁状态(仲裁),其返回到空闲状态。从空闲状态IDLE(501),如果判断步骤S503确定DMA-有限状态机(FSM_DMA_203a)处于DMA仲裁状态“仲裁”(即,图4的仲裁),接下来执行判断步骤S505,以确认是否有对亮度数据Y的传送请求。如果在判断步骤S505中没有对亮度数据Y的传送请求,则执行步骤S509,如果在判断步骤S505中判断存在传送请求,其中将与亮度数据Y相应的FIFO和内部缓冲存储器分配为传送亮度数据,然后执行判断步骤S509。在判断步骤S509中,判断是否没有对亮度数据Y的请求;有对色度数据Cb的请求;没有对色度数据Cr的请求(仲裁器状态=没有Y请求;Cb请求;和没有Cr请求)。如果判断步骤S509产生肯定的判断,则执行步骤S511,其中利用与色度分量Cb相应的FIFO和内部缓冲存储器执行对色度数据Cb的传送操作,然后其行进到判断步骤S513。如果判断步骤S509产生否定的判断N,则执行判断步骤S513。在判断步骤S513中,判断否是为没有对亮度数据Y的请求;有对色度数据Cb的请求;有对色度数据Cr的请求;和没有对色度数据Cb的传送(仲裁器状态=没有Y请求;Cb请求;Cr请求;和不服务Cb)。如果判断步骤S513产生肯定的判断,则执行步骤S515,其中执行对色度数据Cb的传送操作,然后执行判断步骤S517。如果判断步骤S513产生否定的判断N,则直接执行判断步骤S517。在判断步骤S517中,判断是否为没有对亮度数据Y的请求;有对色度数据Cb的请求;有对色度数据Cr的请求和有对色度数据Cb的传送(仲裁器状态=没有Y请求;Cb请求;Cr请求;和服务Cb)。如果判断步骤S517产生肯定的判断,则执行步骤S519,其中执行对色度数据Cr的传送操作,然后执行判断步骤S521。如果判断步骤S517产生一个否定的判断N,则直接执行判断步骤S521。在判断步骤S521中,判断是否为没有对亮度数据Y的请求;没有对色度数据Cb的请求;有对色度数据Cr的请求(仲裁器状态=没有Y请求;没有Cb请求;和有Cr请求)。如果判断步骤S521产生肯定的判断,则执行步骤S523,其中执行对色度数据Cr的传送操作,然后其返回到空闲状态IDLE。如果判断步骤S521产生否定的判断N,则直接返回到空闲状态IDLE。
图6(6A+6B+6C+6D)是对亮度分量Y的提取-FSM(有限状态机FSM_DMA_201a)的状态转变图,其与对色度分量Cb和Cr的相同。参考图6,能看出提取-有限状态机201a控制对提取操作的激活,参照DMA-FSM(有限状态机)203a和通道仲裁器205的状态遵照突发传送长度将数据从FIFO存储器读出到内部缓冲存储器207a中。
当FIFO存储器为非空(~FIFO_Y_empty_sync)和内部缓冲存储器处于DMA传送完成的状态(YTransDone)时,提取-有限状态机FSM-DMA 201a输出读出控制信号FIFO_Y_rd,然后以加载到系统总线129上的突发传送长度(YBurst)的数量将数据从FIFO存储器提取到内部缓冲存储器。
现在将更为详细地描述地址产生器209a(或209b)和数据选择器213a(或213b)。
接下来在此假设每个图像数据像素的大小是1个字节,并且系统总线能运送32位数据。在这样的32位总线系统中,通过系统总线129能将每字4像素传送到外部帧存储器123。在16位总线系统或在64位总线系统中,本发明的其它可选实施例也可适用于其它系统配置,如其中每个像素由10位或更多位(不是一个字节的8位单元)组成。另外在此假设主突发传送长度是16,而剩余突发传送长度是8。在主突发传送模式期间,其在每个突发中传送16字(=64像素)的图像数据。
图7通过将由相机模式摄取的图像的原始像素位置与像素位置进行比较而解释了各种镜像图像模式。在图7中,假设图像的水平宽度是224像素,水平线的数目是10。有两种如前面所述的突发传送方式一种是用突发长度为8以主突发传送模式传送所有数据;另一种是按突发长度为16以主突发模式传送数据,接下来按突发长度为8以剩余突发传送模式传送。下面的示例实施例采用后者的情况。
在图7(高字节优先)所示的存储器存储状态与图8(低字节优先)中的状态相同。参照图8,在X-轴镜像图像模式中,字和字中像素的顺序保持不变。但在Y-轴和XY-轴镜像模式中,字和字中像素的顺序被调整。
在X-轴镜像图像模式中,像素数据是这样被写入一个图像帧中的从最后(底部)水平线向上一线接一线地到该帧的上部水平线。在Y-轴镜像图像模式中,像素数据是这样被写入一个图像帧中的从该帧的上部水平线的最后一个位置写到第一位置,然后向下一线接一线地到该帧的底部。在XY-轴镜像图像模式中,像素数据是这样被写入一个图像帧中的从最后(底部)线向上(如在X-轴镜像图像模式中),和从每一水平线(如在Y-轴镜像图像模式中)中最后位置到第一位置t向上一线接一线。
对X-轴镜像图像模式的X-轴镜像处理图9解释了在校正X-轴镜像图像的图像转换(在X-轴上镜像)期间的地址变化。如图9所示,X-轴镜像处理将字和字中像素的顺序保持为与原始图像的那些相同,但改变了帧开始地址和线开始地址。换言之,地址产生器为指定一组水平线提供了地址,只要终止了水平线的处理(即,只要产生了表示一条水平线结束的信号EOL),其就从帧底部向上一线接一线地移向所述帧。因此,在X-轴镜像模式中,地址产生器首先通过从一个图像帧的整个地址空间减去与一条水平线相应的地址空间来建立帧开始地址。关于在已经处理完一条水平线之后的地址,在开始新水平线传送之前,在终止了一条水平线的处理之后,通过从当前(帧)地址减去与两条水平线相应的地址而建立新的线开始地址。
如9所解释的那样,通过乘以帧的尺寸而计算出整个地址空间的大小(例如,224×20=2240)。通过从该帧的整个地址空间(例如,2240)减去与一条水平线(即,与一条水平线的224个像素相应)相应的地址空间(例如,224)来设置线开始地址(例如,为2016)。因此,与第一水平线相应的224个像素数据被按顺序从地址2016到地址2239存储进外部帧存储器127。然后,在终止了对一条水平线的数据传送之后,通过从当前地址空间2240减去与两条水平线(即,与224×2个像素相应的地址空间224×2)相应的地址空间而建立新的线开始地址1792。接下来,第二水平线的224个像素数据被按顺序从地址1792到地址2015存储进外部帧存储器127。这样的传送操作一线接一线地重复直到完成了一整帧的数据传送过程。
在本发明的另一可选实施例中可以这样建立线开始地址在完成对一条水平线的数据传送过程之后,通过从先前的线开始地址减去与一条水平线相应的地址空间而建立。
对Y-轴镜像图像模式的Y-轴镜像处理图10解释了校正Y-轴镜像图像的图像转换(在X-轴上镜像)期间的地址调整。如图10所示,需要DMA地址以将数据从(顶部)水平线的末尾写到前面。进而,有必要在一个突发传送长度内从原始图像翻转字和字中像素的顺序。图11解释了用于Y-轴镜像的在突发传送长度16内调整16字和字中像素的顺序的方法。字顺序W1->W16必须翻转为W16->W1,也翻转字中的像素顺序(例如,第一字W1中的像素顺序0,1,2,3翻转为3,2,1,0)。
图12解释了关于字和字中像素的顺序的地址调整过程的效果和Y-轴镜像中的DMA地址顺序。在图12中,虚线表示由于突发传送操作按顺序地址递增的变化,而实线表示在突发长度的单元内的数据传送期间的突发传送开始地址的变化。帧开始地址288(=224+64)是这样建立的通过将与突发长度16相应的地址空间64(即,分配给与突发长度16相应的64个像素)加到与一条(顶部)水平线相应的地址空间224(即,与一条水平线的224个像素对应的地址空间)而建立。第二突发传送开始地址是这样建立的从当前地址减去与在先突发-16传送和当前(第二)突发-16传送(即,双主突发传送)的总和相应的地址空间(对于64×2个像素)而建立,由于在突发传送之前的主突发传送初步考虑从当前地址要被增加的地址。在此时,如果有剩余的突发传送,则这样建立最后的突发传送开始地址通过从当前地址减去与主和剩余突发传送的总和相应的地址空间而建立,而不是在终止突发传送时从当前地址减去与两次主突发传送相应的地址空间。
参考图10,第一突发传送开始地址160是这样建立的通过从帧开始地址288减去与双突发长度的128个像素相应的地址空间128而建立的。按突发传送长度16将64个像素的数据从地址160到地址223存储进外部帧存储器127。第二突发传送开始地址建立为96在终止了第一传送时,通过从当前地址224减去与(先前突发传送长度16和当前突发传送长度16的)128个像素相应的地址空间128而建立。从地址96到地址159将由第二突发传送而传送的64个像素存储进外部帧存储器127。重复这样的过程直到完成了对于一条水平线的数据传送操作。
在第三突发传送之后,进而从地址32到地址95将64个像素存储进外部帧存储器127。在完成了第三突发传送时,当前地址是96,并且剩余的像素的数目是32(小于突发传送长度16的64个像素)。因此,最后突发传送开始地址建立为0通过从当前地址96减去分配给与先前突发传送长度(即,主突发传送长度)相应的64个像素和与用于剩余像素的剩余突发传送长度相应的32个像素的总和的地址空间。按剩余突发长度8传送剩余的像素(数目为32),然后从地址0到地址31存储进外部帧存储器127。如果水平像素的数目被突发传送长度来除,则最后突发传送开始地址是这样设置的在终止先前突发传送时通过从当前地址减去分配给与双突发传送长度相应的像素的地址空间。
在处理一个图像帧的情况下,其中当除突发传送长度16传送的水平像素时有余数,则突发传送操作由用于最后突发传送的主突发传送模式和剩余突发传送模式组成。因此,一条水平线的最后突发传送开始地址是这样建立的在终止先前突发传送时通过从当前地址减去与主和剩余突发传送长度的像素的总和相应的地址空间而建立。否则,一条水平线的最后突发传送开始地址是这样建立的通过从当前地址减去与双主突发传送长度的像素相应的地址空间,然后在其上加上与主和剩余突发传送长度的像素之间差值相应的地址空间而建立。
同样,第二线开始地址建立为512在终止了一条水平线的传送过程时通过从当前地址32(与剩余突发长度的像素数目相应的地址空间)加上地址空间448(与两条水平线的地址空间相应),然后在其上加上地址空间32(分配给与最后两个突发传送长度之间的差值相应的像素的空间,即,主突发长度16和剩余突发长度8之间的差值)而建立。如果水平像素的数目可由突发传送长度整除(这意味着最后两个突发传送长度相同),线开始地址这样设置在终止一条水平线的处理时,通过将地址空间(与两条水平线相应的空间)加到当前地址上而建立。重复这样的过程直到完成了对于一个图像帧的传送处理。
对XY-轴镜像模式的XY-轴镜像处理图13解释了在校正X/Y-轴镜像图像的图像转换期间的地址调整。如图13所示,在XY-轴上镜像一个图像需要DMA地址序列,以便在图像帧中将数据从每条水平线的末尾写到前端,并且从最后(底)线向上写到顶线中。此外,其需要在突发传送长度单元内翻转字和字中像素的顺序。
图14解释了用于建立字和字中像素的顺序的地址调整过程和对图像的XY-轴镜像的DMA地址排列。在图14中,虚线表示由于突发传送按顺序递增的地址调整,而实线表示以突发长度单元的传送期间的突发传送开始地址的调整。此XY-轴镜像过程建立了与Y-轴镜像过程类似的突发传送开始地址,其中帧开始地址从帧的最后(底)线开始,且线开始地址在每次完成对每条线的传送处理时在向上方向上改变。
参照图13和14,帧开始地址建立为2304通过将地址空间64(与突发长度16的64个像素相应)加到图像帧的整个地址空间2240上而建立。用与Y-轴镜像过程的相同的方式设置突发传送开始地址。因此,第一突发传送设置为2176通过从帧开始地址2304减去地址空间128(与双主突发传送长度相应)而设置。然后,将64个像素(以突发长度16的单元)从地址2176到地址2239存储进外部帧存储器127。如上面关于Y-轴镜像模式的描述,如果最后剩余像素的数目小于突发长度16(即,如果有剩余突发传送),最后突发传送开始地址是这样建立的在完成先前突发传送时通过从当前地址减去地址空间(与主和剩余突发传送长度的像素的总数相应)而建立。
线开始地址是这样建立的在完成一条水平线处理时,通过将地址空间(与主突发传送长度16和剩余突发传送长度8之间的差值相应,即最后两个突发传送长度的差值)加到当前地址而建立。如果水平像素的数目能被突发传送长度整除,最后两个突发传送长度之间的差将为0。
图15(15A+15B)是解释了地址产生器211a(或211b)的操作方法的流程图。从空闲状态IDLE开始,接下来判断步骤1501判断是否有使能帧开始信号。如果使能帧开始信号,则根据X-轴镜像图像模式、Y-轴镜像图像模式、XY-轴镜像图像模式或正常模式建立帧开始信号,然后状态返回到空闲状态IDLE。
在步骤1501中,除非使能帧开始地址信号(也就是,数据正在传送),执行步骤1505以判断在X-轴镜像模式中当前处理是否到达线的末尾。如果在步骤1505得到肯定的判断Y(即,如果在X-轴镜像模式中终止了当前对一条水平线的当前处理),则执行步骤1507,其中在终止时通过从当前地址(TAdd<=TAdd-LineWidth×2)减去地址空间(与两条水平相相应)而建立新的线开始地址,然后其返回空闲状态IDLE。如果在步骤1505得到否定的判断N(即,不是线的末尾或不是X-轴镜像模式),则执行步骤1509,其中判断当前处理是否在Y-轴镜像模式中的线的末尾。如果在步骤1509得到肯定的判断Y(即,如果在Y-轴镜像模式中终止了当前对一条水平线的处理),则执行步骤1511,其中在终止时,通过将地址空间(与双突发传送长度的像素相应)加到当前地址,和将地址空间(与主和剩余突发传送长度的像素的差值对应)加到其上(TAdd<=TAdd+LineWidth×2+MainBurstLength×4-RemainedBurstLength×4)而建立新的线开始地址,然后其返回空闲状态IDLE。
如果在步骤1509得到否定的判断N(即,不是线的末尾或不是Y-轴镜像模式),则执行步骤1513,其中判断当前处理是否在XY-轴镜像模式中的线的末尾。如果在步骤1513得到肯定的判断Y(即,如果在XY-轴镜像模式中终止了对一条水平线的当前处理),则执行步骤1515,其中在终止对一条水平线的处理时,通过将地址空间(与主和剩余突发传送长度的像素的差值相应)加到当前地址(TAdd<=TAdd+MainBurstLength×4-RemainedBurstLength×4)而建立新的线开始地址,然后其返回空闲状态IDLE。
如果在步骤1513得到否定的判断N(即,不是线的末尾或不是XY-轴镜像模式),则执行步骤1517,其中判断当前处理是否为X-轴镜像模式的正常模式。如果在步骤1517得到肯定的判断Y(即,如果当前处理是正常的模式或是X-轴镜像模式),则执行步骤1519,其中判断DMA-有限状态机是否处于传送状态。如果在步骤1519得到肯定的判断Y(其意味着以字单元执行数据传送),则在步骤1541中按一个字递增地址(TAdd<=TAdd+4),然后其返回空闲状态IDLE。如果在步骤1519得到否定的判断N(其意味着没有输出传送),则执行步骤1539,从而不改变地址(TAdd<=TAdd),其返回空闲状态IDLE。
如果在步骤1517得到否定的判断(即,不是正常的模式也不是XY-轴镜像模式),则执行步骤1521,其中判断当前处理是否为Y-轴镜像模式或XY-轴镜像模式的任意一个。如果在步骤1521得到肯定的判断Y(即,如果当前处理是Y-轴镜像模式或XY-轴镜像模式),则执行步骤1523,其中判断DMA-有限状态机是否处于主突发传送模式。如果在步骤1523得到肯定的判断Y,则通过从当前地址(TAdd<=TAdd-2×BurstLength×4)减去地址空间(与双突发传送长度的像素相应)而建立突发传送开始地址,然后其返回空闲状态IDLE。
如果在步骤1523得到否定的判断N(即,不是主突发传送模式),则执行步骤1529,其中判断DMA-有限状态机是否处于剩余突发传送模式。如果在步骤1529得到肯定的判断Y(即,以Y-轴镜像模式或XY-轴镜像模式对一条水平线的最后突发传送),则通过从当前地址(TAdd<=TAdd-MainBurstLength×4-RemainedBurstLength×4)减去地址空间(与主和剩余突发传送长度的像素相应)而建立水平线上的突发传送开始地址,然后其返回空闲状态IDLE。
如果在步骤1529得到否定的判断N,则执行步骤1533,其中判断DMA-有限状态机是否处于传送状态。如果在步骤1533得到肯定的判断Y(其意味着以字单元执行数据传送),则在步骤1535按一个字递增地址(TAdd<=TAdd+4),然后其返回空闲状态IDLE。如果在步骤1533得到否定的判断N(其意味着没有输出传送),在不改变地址(TAdd<=TAdd)的情况下,其返回空闲状态IDLE。
图16是数据选择器1600(例如,与图2所示的213a或123b对应)的详细方框图。数据选择器1600按照选定的镜像图像模式调整字和字中像素的顺序,调整从内部缓冲存储器1609(也就是,与图2所示的207a或207b相应)提供的字和字中像素的顺序。内部缓冲存储器1609设计为能够存储与突发传送对应的图像数据。例如,内部数据选择器1600由三十二(32)个触发器构成,数目三十二对应于突发传送长度16的两倍。数据选择器1600包括多个多路复用器,其包括与突发传送长度16相应的16个像素顺序调整多路复用器1601_1至1601_16和一个字顺序调整多路复用器1603。从1601_1至1601_16的每一个像素顺序调整多路复用器多路复用相应地存储在内部缓冲存储器1609中的字和得到的其中具有翻转的像素顺序的字。换言之,每个像素顺序调整多路复用器输出具有相应地以翻转的顺序存储的四个像素数据的字。例如,如果多路复用器1601_1输出字W1(具有以顺序3,2,1,0的四个像素)和字W1’(具有以顺序0,1,2,3的四个像素)。字顺序调整多路复用器1603多路复用由16个像素顺序调整多路复用器1601提供的16个输出。
在XY-轴镜像模式中或在Y-轴镜像模式中(即,当模式选择信号Flip_mode为逻辑高时),构成顺序调整字的翻转序列的4个像素(例如,W1’)从每个像素顺序调整多路复用器输出。另一方面,在X-轴镜像模式中或在正常模式中(即,当模式选择信号Flip_mode为逻辑低时),从每个像素顺序调整多路复用器输出由存储在内部缓冲存储器1609中的像素构成的每个字而不改变其像素顺序。
字顺序调整多路复用器1603改变由16个像素顺序调整多路复用器1601_1至1601_16提供的字的输出顺序。详细为,字顺序调整多路复用器1603响应于计数器1605的数据选择信号Data_select的输出来输出按与存储在内部缓冲存储器1609中的像素数据相同的顺序或翻转的顺序排列的像素数据。计数器1605执行范围为从0到L-1的计数操作(在此,L的意思是突发传送长度,例如16)。计数器1605的初始值由计数器-初始化多路复用器1607设置。计数器-初始化多路复用器1607已经输入了范围为0至L1(例如15)的值,由模式选择信号选择它的输出。当模式选择信号Flip_mode为逻辑高(即,在XY-轴镜像模式或Y-轴镜像模式中)时,计数器-初始化多路复用器1607输出L-1(例如,15),以将计数器1605的初始值设在L-1(15)。其后,计数器1605执行递减计算操作从L-1到0(例如以突发传送长度16,从15到0),其为字顺序调整多路复用器1603提供数据选择信号Data Select。例如,当计数器1605输出15时,字顺序调整多路复用器1603选择和输出16个字W1到W16中的W16。当计数器1605输出14时,字顺序调整多路复用器1603选择和输出16个字W1到W16中的W15。...当计数器1605输出1时,字顺序调整多路复用器1603选择和输出16个字W1到W16中的W2。当计数器1605输出0时,字顺序调整多路复用器1603选择和输出16个字W1到W16中的W1。结果,输出字的顺序按W16,W15,W14,W13,...,W2和W1,其与存储在内部缓冲存储器1609的顺序(W1,W2,W3,...,W15和W16)相反。另一方面,在正常模式中或在X-轴镜像模式中,进入多路复用器1607的模式选择信号Flip_mode变为逻辑低,以将计数器1605的初始值设定为0。因此,计数器从0至15自增其计数值,并将计数值提供给字顺序调整多路复用器1603。结果,字顺序调整多路复用器1603按顺序W1,W2,W3,...,W15和W16输出字,其与存储在内部缓冲存储器1609的顺序相同。
因此,当模式选择信号Flip_mode为逻辑高(在XY-轴镜像模式或Y-轴镜像模式中)时,字中像素的顺序翻转,字的顺序也翻转。
图17解释了DMA地址调整的时序和其序列顺序。参照图17,对应于帧开始信号VSYNC的下降沿,由地址产生器211a(或211b)设置帧和线开始地址。利用帧开始信号VSYNC在下降沿有效性使能由特定-功能寄存器设置的所有命令。在建立帧和线开始地址之后,使能线传送开始信号HREF(也就是,逻辑高)。在线传送开始信号HREF有效(例如,逻辑高)之后,在突发传送之前利用上述方法产生突发传送开始地址。通过对执行的突发传送计数,产生通知一条水平线结束的线结束信号EOL,和使线传送开始信号HREF无效(也就是,逻辑低)。
尽管上述描述是涉及编解码DMA单元(即,图2的119a),然而预览DMA单元(即,图2的119b)也可实施为如上所述的相同结构和操作方式。但是尽管编解码DMA单元配置为字由4个像素组成(由于一个像素是一个字节),然而预览DMA单元可配置为16位或24位的RGB格式。图18解释了在相机模块中处理的RGB数据类型。在此情况下,与编解码DMA单元不同,当RGB格式由16位构成时,一个字由两个16位像素(每个像素由5位R,6位G,5位B组成)组成。当RGB格式由24位构成时,一个字由一个像素(R,G和B,每个8位)组成。当RGB格式由24位构成时,在XY-轴镜像模式或Y-轴镜像模式中字中像素的顺序没有变化。
虽然已经结合在附图中解释的本发明的实施例描述了本发明。对于本领域的普通技术人员来说,可在其中做出各种替代、调整和改变而不脱离本发明的范围和主旨。
根据上面描述的本发明,能通过利用DMA单元执行图像镜像功能而减小数字相机模块的尺寸,实现了高速和低功耗的图像转换系统。
然而,本发明也可以实施为不同的形式,而不构建为局限于其中所提及的典型实施例。尽管已经参照其中的典型实施例特别示出和描述了本发明,然而本领域普通技术人员可以理解,在不背离如在下述权利要求所定义的本发明的主旨和范围的情况下,可以对本实施例进行改变。
权利要求
1.一种电路,其包括缓冲存储器,用于存储由具有第一突发传送长度的直接存储器访问(DMA)访问的图像数据;数据选择器,用于选择地调整存储在缓冲存储器中的图像数据的字和每个字中像素的顺序;和地址产生器,用于为了访问缓冲存储器中的图像数据而输出帧开始地址、线开始地址和突发传送开始地址。
2.如权利要求1所述的电路,其中,在X-轴镜像图像模式中所述数据选择器保持存储在缓冲存储器中的图像数据的字和字中像素的原始顺序;和所述地址产生器通过从图像数据帧的整个地址空间减去与帧的一条水平线相应的地址空间而建立帧开始地址。
3.如权利要求2所述的电路,其中所述地址产生器在终止了对第一水平线的传输处理之后,通过从当前地址减去与两条水平线相应的地址空间而建立第二线开始地址。
4.如权利要求1所述的电路,其中,在Y-轴镜模式中所述数据选择器翻转存储在缓冲存储器中的图像数据的字和字中像素的原始顺序;和地址产生器通过将与突发传送长度相应的地址空间加到与图像数据的一条水平线相应的地址空间上而建立帧开始地址,并且在突发传送前,通过从当前地址减去与突发传送长度和当前突发传送长度的总和相应的地址空间而建立突发传送开始地址。
5.如权利要求4所述的电路,其中所述地址产生器在终止了对第一水平线的传输处理之后,通过将与两条水平线和水平线的最后两个传送突发长度之间的差值相应的地址空间加到的当前地址上而建立第二线开始地址。
6.如权利要求1所述的电路,其中,在XY-轴镜像图像模式中数据选择器翻转存储在缓冲存储器中的图像数据的字和字中像素的原始顺序;和地址产生器通过将与突发传送长度相应的地址空间加到图像数据帧的整个地址空间上而建立帧开始地址,以及在突发传送前,通过从当前地址减去与突发传送长度和当前突发传送长度的总和相应的地址空间而建立突发传送开始地址。
7.如权利要求6所述的电路,其中地址产生器在终止了对第一水平线的传输处理之后,通过将与一条水平线的最后两个突发传送长度之间的差值相应的地址空间加到当前地址上而建立第二线开始地址。
8.如权利要求1所述的电路,其中如果水平线上的像素数目不等于突发传送长度的倍数,则通过主突发传送和剩余突发传送执行所述突发传送。
9.如权利要求1所述的电路,其中所述数据选择器包括像素顺序调整多路复用器,每一个都用于在存储在缓冲存储器中的具有原始像素顺序的第一字和具有翻转的像素顺序的第二字之间进行选择;和字顺序调整多路复用器,用于从像素顺序调整多路复用器接收选定的字,并按字的原始顺序或按翻转的顺序输出选定的字。
10.如权利要求9所述的电路,其中每个像素顺序调整多路复用器输出在模式选择信号中具有原始和翻转的像素顺序的选定字;及所述字顺序调整多路复用器响应计数范围为从0到突发传送长度减1的计数器的输出而输出选定的字。
11.一种直接存储器访问(DMA)单元,其包括缓冲存储器,用于存储由具有第一突发传送长度的DMA访问的图像数据;DMA控制器,用于管理缓冲存储器的突发DMA访问;和数据选择器,用于基于DMA控制器的状态,调整存储在缓冲存储器中的图像数据的字和每个字中像素的顺序。
12.如权利要求11所述的DMA单元,还包括地址产生器,用于基于DMA控制器的状态,对于存储在缓冲存储器中的和从数据选择器接收的图像数据,输出帧开始地址、线开始地址和突发传送开始地址;和总线协议信号产生器,用于基于DMA控制器的状态输出总线信号。
13.如权利要求11所述的DMA单元,其中所述DMA控制器包括DMA-有限状态机,用于指示DMA传送状态;通道仲裁器,用于管理对色彩分量的DMA访问优先级别;及有限状态机,用于基于DMA-有限状态机和通道仲裁器的状态控制对外部FIFO存储器的数据提取。
14.如权利要求11所述的DMA单元,其中所述数据选择器包括多个像素顺序调整多路复用器,每一个用于输入存储在缓冲存储器中的具有原始像素顺序的第一字和具有翻转的像素顺序的第二字;和字顺序调整多路复用器,用于接收由多个像素顺序调整多路复用器接收选定的字,并按字的原始顺序和按翻转的字的顺序之一输出选定的字。
15.如权利要求14所述的DMA单元,其中每个像素顺序调整多路复用器基于模式选择信号选择一个字;和字顺序调整多路复用器响应计数器的输出而选择原始或翻转的字顺序。
16.如权利要求14所述的DMA单元,其中,在Y-轴镜像图像模式和XY-镜像图像模式之一的任意一个中,数据选择器翻转存储在缓冲存储器中的图像数据的字和每个字中像素的顺序;并且其中在X-轴镜像图像模式和正常模式之一的任意一个中,数据选择器保持存储在缓冲存储器中的图像数据的字和每个字中像素的原始顺序。
17.如权利要求12所述的DMA单元,其中,在Y-轴镜像图像模式中,所述地址产生器通过将与突发传送长度相应的地址空间加到与图像数据的一条水平线相应的地址空间上而建立帧开始地址;在突发传送前,通过从当前地址减去与突发传送长度和当前突发传送长度的总和相应的地址空间而建立突发传送开始地址;及在终止了对第一水平线的传输处理之后,通过将与两条水平线和一条水平线的最后两个传送突发长度之间的差值相应的地址空间加到当前地址上而建立第二线开始地址。
18.如权利要求12所述的DMA单元,其中,在XY-轴镜像图像模式中,所述地址产生器通过将与突发传送长度相应的地址空间加到图像数据帧的整个地址空间上而建立帧开始地址;在突发传送前,通过从当前地址减去与突发传送长度和当前突发传送长度的总和相应的地址空间而建立突发传送开始地址;和在终止了对第一水平线的传输处理之后,通过将与一条水平线的最后两个传送突发长度之间的差值相应的地址空间加到当前地址上而建立开始地址。
19.如权利要求12所述的DMA单元,其中,在X-轴镜像图像模式中,所述地址产生器通过从图像数据帧的整个地址空间减去与水平线相应的地址空间而建立帧开始地址;在终止了对第一水平线的传输处理之后,通过从的当前地址减去与两条水平线相应的地址而建立新的线开始地址。
20.一种用于将图像数据通过系统总线从相机模块传送到外部帧存储器的相机接口,该相机接口包括预处理器,用于管理对从相机模块接收到的图像数据的预处理操作;色彩换算器,用于将来自预处理器的图像数据存储进FIFO存储器中和用于调整图像数据的像素数目;和DMA单元,用于将存储在FIFO存储器中的图像数据加载到系统总线上,并用于执行图像转换。
21.如权利要求20所述的相机接口,其中所述DMA单元包括缓冲存储器,用于存储从FIFO存储器提供的图像数据;DMA控制器,用于管理至缓冲存储器的DMA突发传送;数据选择器,用于基于DMA控制器的状态,调整存储在缓冲存储器中的图像数据的字和字中像素的顺序;地址产生器,用于基于DMA控制器的状态,对于从数据选择器提供的图像数据,输出帧开始地址、线开始地址和突发传送开始地址;和总线协议信号产生器,用于基于DMA控制器的状态输出总线信号。
22.如权利要求21所述的相机接口,其中所述数据选择器包括多个像素顺序调整多路复用器,每一个用于在存储在缓冲存储器中的具有原始像素顺序的字和具有翻转的像素顺序的字之间进行选择;及字顺序调整多路复用器,用于接收像素顺序调整多路复用器的字,并按字的原始顺序或按翻转的顺序输出字;其中每个像素顺序调整多路复用器基于模式选择信号,输出所选定的具有原始和翻转的像素顺序的字之一;和字顺序调整多路复用器响应计数器的输出,按字的原始顺序或按翻转的顺序选择性地输出字。
23.如权利要求20所述的相机接口,其中所述DMA控制器包括DMA-有限状态机,用于指示DMA传送状态;和有限状态机,用于基于DMA-有限状态机的状态控制对外部FIFO存储器的数据提取。
24.如权利要求20所述的相机接口,其中所述DMA控制器包括DMA-有限状态机,用于指示DMA传送状态;通道仲裁器,用于管理对色彩分量的DMA访问优先级别;和有限状态机,用于基于DMA-有限状态机和通道仲裁器的状态控制对外部FIFO存储器的数据提取。
25.一种相机接口,包括DMA单元,用于将存储在FIFO存储器中的图像数据加载到系统总线,其中所述DMA单元包括缓冲存储器,用于存储从FIFO存储器提供的图像数据;DMA控制器,用于管理至缓冲存储器的DMA突发传送;数据选择器,用于基于DMA控制器的状态,选择性地调整存储在缓冲存储器中的图像数据的字和字中像素的顺序。
26.如权利要求25所述的相机接口,其中在X-轴镜像图像模式中数据选择器保持存储在缓冲存储器中的图像数据的字和每个字中像素的原始顺序。
27.如权利要求26所述的相机接口,还包括一个地址产生器,用于对从数据选择器提供的图像数据,输出帧开始地址、线开始地址和突发传送开始地址;其中地址产生器通过从图像数据帧的整个地址空间地址减去与水平线相应的地址而建立帧开始地址。
28.如权利要求25所述的相机接口,其中在Y-轴镜像图像模式中数据选择器翻转存储在缓冲存储器中的图像数据的字和每个字中像素的原始顺序。
29.如权利要求28所述的相机接口,还包括地址产生器,用于对从数据选择器提供的图像数据,输出帧开始地址、线开始地址和突发传送开始地址;其中所述地址产生器通过将与突发传送长度相应的地址空间加到与图像数据的水平线相应的地址空间上而建立帧开始地址;在突发传送前,通过从当前地址减去与突发传送长度和当前突发传送长度的总和相应的地址空间而建立突发传送开始地址。
30.如权利要求25所述的相机接口,其中在XY-轴镜像图像模式中数据选择器翻转存储在缓冲存储器中的图像数据的字和每个字中像素的原始顺序。
31.如权利要求30所述的相机接口,其中还包括地址产生器,用于对从数据选择器提供的图像数据,输出帧开始地址、线开始地址和突发传送开始地址;其中所述地址产生器通过将与突发传送长度相应的地址空间加到图像数据帧的整个地址空间而建立帧开始地址,在突发传送前,通过从当前地址减去与突发传送长度和当前突发传送长度的总和相应的地址空间而建立突发传送开始地址。
32.如权利要求29所述的相机接口,其中当图像帧的水平线上的像素数目不等于突发传送长度的倍数时,突发传送作为主突发传送和水平线的最后突发传送的剩余突发传送被执行。
33.如权利要求31所述的相机接口,其中当图像帧的水平线上的像素数目不等于突发传送长度的倍数时,突发传送作为主突发传送和水平线的最后突发传送的剩余突发传送被执行。
全文摘要
一种相机接口,利用直接存储器访问(DMA)单元数字式地执行如“翻转”和“旋转”图像的图像转换(例如,校正X-轴、Y-轴或XY-轴镜像)。图像转换DMA单元包括地址产生器和数据选择器。地址产生器基于X、Y或XY镜像图像模式适当地调整图像帧的帧开始地址、突发传送地址、线开始地址。数据选择器基于镜像图像模式改变字和字中像素的顺序。数据选择器包括多个像素顺序调整多路复用器,每一个用于在存储于缓冲存储器中的具有原始像素顺序的字和具有翻转的像素顺序的字之间进行选择;和字顺序调整多路复用器,用于响应计数器的输出按字的原始顺序或按翻转的字顺序输出选定的字,该计数器基于镜像图像模式递增或递减。
文档编号H04N5/232GK1655593SQ20051006402
公开日2005年8月17日 申请日期2005年1月10日 优先权日2004年1月9日
发明者赵真显, 姜埕善, 李珍彦, 朴容河 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1