对具有单缓存结构的内存进行地址控制的方法

文档序号:6507180阅读:175来源:国知局
专利名称:对具有单缓存结构的内存进行地址控制的方法
技术领域
本发明与一种对具有单缓存(buffer)结构的内存进行地址控制的方法相关,具体地,与在向内存中写入图像数据的过程中对一内存进行地址控制的方法有关,该方法基于使用一单缓存结构的块来有效地对图像数据进行地址控制,以及与通过一个图像处理器读取写入该内存的图像数据相关。
背景技术
从连接至一照相机的输入终端输入的图像数据被诸如以一个串行的方式写入缓冲内存以使得被一图像处理器所处理。
如图1所示,从照相机输入的图像数据首先被横向地写在缓冲内存(buffer memory)的第一线(line)上,当该具有一预先设定帧或多帧长度的第一线的存储被完成时,则图像数据被写在第二线上。
这意味着,当从照相机输入的图像数据被写入时,其首先横向地被存储在缓冲内存上,然后在纵向上继续进行。
如图2所示,为了处理写在符合JPEG(联合图像专家小组,jointPhotographic Experts Group)标准和MPEG(运动图像专家组,MovingPicture Experts Group)标准的缓冲内存上的图像数据,该处理通过一个具有16×16或8×8大小的图像数据块(宏块,macro block)单元来完成。
也就是说,Y以一个16×16的块单元的方式来处理图像数据的亮度,以一个8×8的块单元的方式来处理色度Cb和Cr。为了方便起见,现在解释用于亮度Y的16×16的块单元。
仅仅当一个或多个块数据已经被获得时,也就是说,仅当用于16线的数据从纵向被输入时,图像处理才可能被进行。
更进一步地,甚至当图像处理器处理写(收集)在一个预设容量的内存内的数据时,图像数据被连续地从照相机内输入,于是,其被要求提供一个内存空间用于写入这些输入数据。
为了这个目的,如图3所示,两个内存被用作一个双缓存结构来处理图像数据。
缓存的容量仅仅取决于图像处理器处理被写在块单元的数据的速度,并与从照相机内输入数据的速度形成对比。如果图像处理的处理速度慢一些,则所需要的内存容量就要大一些。
甚至当图像处理器处理图像数据的速度与从照相机写入数据的速度相同时,如图3所示,两个内存A1和A2,其每个都具有一帧的横向大小与16线的乘积的容量,应根据现有的双缓存概念被使用。也就是说,应使用一个具有(一帧的横向大小)×16×2的内存。
如上所述,为了借助传统的图像处理单元处理从照相机输入的图像数据,有必要引入一个双缓存结构的内存。两个内存A1和A2的使用取决于图像处理器的能力,每个内存都具有一帧的纵向大小与16线的乘积的容量,增加了图像处理器的成本,例如一数码照相机、一具有照相机功能的移动手机以及一摄像机。

发明内容
本发明的一个方面是提供一种对具有单缓存结构内存的地址控制方法,该方法在不使用当前所使用的双缓存结构内存的情况下写入从照相机输入的图像数据,并且当通过一图像处理器读取该等写在内存内的图像数据时有效地控制地址,从而实现双缓存结构同级别的功能而所需要的内存仅为该双缓存结构内存容量的一半。
这个方面以及其他方面的目的可以从下述的对一内存的地址控制方法中获得。
通过内存地址控制方法,当每个块单元的图像数据处理被激活时,该内存被划分为纵线(vertical lines)和横区(horizontal sectors)。通过执行一第一模式从照相机输入的图像数据被地址控制以使得该数据被横向地顺序地写入内存,并且图像数据被写在第一至第十五纵线上。当在第一至第十五线上对图像数据的存储被完成,被写入的图像数据被地址控制以使得一图像处理器以每个宏块单元为单位读取被写入的图像数据,并且从照相机输入的图像数据被横向地顺序地写在第十六线上。当图像处理器以每个宏块单元为单位读取所有写在第一区的图像数据时,对图像数据的读取被维持在第一模式,并且对从照相机输入的图像数据的存储进入一第二模式从而在第一区内写入从照相机输入的图像数据。当所有写在第十六区的图像数据被以第一模式读取,对所写入图像数据的读取切换至第二模式来顺序地以相应宏块为单位读取对应于每个宏块的写在所有区的第一线的图像数据,并且从照相机输入的图像数据被顺序地以第二模式写入第十六区。当对写在该等区内的第一线的图像数据的读取以及以第二模式对从照相机输入的图像数据直至第十六区的第十六线的存储已经被完成,对以相应宏块为单位被写在该等区的第二线上的图像数据的读取被维持在第二模式,并且对从照相机输入的图像数据的存储被切换至第一模式以横向地在第一线上写入数据。当以第二模式对直至第十六线的数据读取以及第一模式的数据存储被完成,第一模式的数据读取被维持,并且从照相机输入的图像数据被以第一模式写入。


通过参考如下附图来详细地描述优选实施例,本发明的上述以及其他优点将变得更为明显。
图1显示了根据一个现有技术从一照相机向一内存写入图像数据的一处理过程的顺序。
图2显示了一个作为JPEG或MPEG图像的、用于处理如图1所示的写入内存的图像数据的宏块单元。
图3显示了根据一个现有技术的、用于采用内存地址控制器来处理从照相机输入的图像数据的双缓存结构和最小内存容量。
图4显示了根据本发明的一个实施例,通过一具有单缓存结构的内存地址控制器以第二模式从一照相机输入图像数据的存储情形。
图5显示了通过一个图像处理器读取按照如图4所示的以第二模式写入的图像数据的过程。
图6显示描述了根据本发明的一个实施例,通过一具有单缓存结构的内存地址控制器以第一模式将从一照相机输入输入的图像数据写入一内存的过程,以及通过一个图像处理器读取这些被写入图像数据的过程。
图7显示了根据本发明的一个实施例,通过一具有单缓存结构的内存地址控制器以第二模式将从一照相机输入的图像数据写入一内存的过程,以及通过一个图像处理器读取这些被写入图像数据的过程。
图8显示了根据本发明的一个实施例,通过一具有单缓存结构的内存地址控制器以第一模式将从一照相机输入的图像数据写入一内存的过程,以及通过一个图像处理器以第二模式读取这些被写入图像数据的过程。
具体实施例方式
本发明将通过参考如下附图来更加详细地描述,在其中描述了本发明的优选实施例。
一个对具有一单缓存结构内存进行地址控制的方法包括两种模式,在填充内存区域的数据被写入或读取之后该两种模式直接被切换,该内存区域的容量是一帧的横向大小(以下称为帧宽)与十六个纵线的乘积。
作为本发明应用的一个先决条件,基于亮度Y的图像的横向大小应是256的倍数。
第一模式显示了使用双缓存结构的地址控制的应用。如图1所示,当从照相机输入的图像数据被写入一内存,存储过程在帧的横向上进行的同时也在第一线上进行,并且当完成时,该等存储过程再次横向地在第二线上进行,接下来是在第三线直至第十六线上进行。也就是说,存储过程都是在帧宽×16线上进行。
通过第一模式,图像处理器以16×16大小的块单元对写入的图像数据进行读取和处理。
如上所述,当完成了第一模式的图像数据读取和处理,就执行第二模式的地址控制。
通过第二模式的地址控制,当从照相机输入的图像数据被写入内存,如图4所示,帧宽被横向地划分为十六个区作为内存区域,并且以第一模式将从照相机输入的图像数据写入第一区,当其完成时,再写入第二区。该存储过程被按照同样的方式在第三区直至第十六区顺序地进行。
相应的区具有一最小容量,该最小容量要足够大以根据帧的横向帧宽接收一个线上的图像数据,而横向容量为16的倍数。
如图4所示,当内存被划分为16个区以使得横向容量为16的倍数,并且从照相机输入的图像数据被顺序地写入第一至第十六区,如图5所示,图像处理器以第二模式读取写在所分配数量的相应区上的图像数据。
图5A显示了读取从第一至第十六区的第一宏块MB1上的图像数据的过程,而图5B描述了读取相应区的第二宏块MB2上的图像数据的过程。通过相应的区,与第一线相应的宏块MB1被完全读取,接着相应于第二线的宏块MB2被读取,所有数据以这样的方式被读取。
在这样的情况下,在相应的区读取的数据的数量依据图像处理器的处理方式而略有差异。
对于亮度,当以每个块为单位进行数据处理时,读取8个图像数据,当以每个宏块为单位来进行数据处理时,读取16个图像数据。对于色度(Cb和Cr),读取8个图像数据。
可以想象,对于亮度Y,在每个区,需要读取16个图像数据。
如下将详细地描述通过对具有两个模式的单缓存结构内存的地址控制对从照相机所输入的图像数据的存储,以及用于处理被写入的数据的图像处理器的读取过程。
图6描述了以第一模式将从照相机输入的图像数据写入的过程,以及读取被写入的图像数据的过程。
首先,当以第一模式进行的内存地址控制被激活时,如图6A所示,从照相机输入的图像数据被横向地写入内存的第一线。
当对于第一线的图像数据被完全写入,就写入对于第二线的图像数据。以这种方式,如图6B所示,图像数据存储被纵向进行直至第十五线。
如图6B所示,当图像数据存储被完成直至内存的第十五线,如图6C所示,进行地址控制以使得图像处理器以每个宏块单元MB1为单位读取图像数据。
当直至内存第十五线的图像数据存储被完成时,图像数据处理器以每个块单元为单位读取图像数据,并以与图像处理器读取速度相同的速度进行图像数据的存储,如图6C所示,在横向地读取第十六个图像数据的时间周期内,在第十六线上对十六个图像数据的存储被完成。于是,图像处理器对每个16×16的宏块单元的图像数据处理过程中不会出现任何错误。
当图像处理器通过控制内存地址第二次在第一宏块MB1的纵向上读取十六个图像数据以使得图像处理器写入从照相机输入的图像数据并且读取被写入的图像数据的时候,由于对于从照相机输入的图像数据的写入的地址控制在第十六线上被连续地执行,就完成了如图6D所示的图像数据存储。
如图6E所示,当图像处理器通过内存地址控制完全地读取了宏块MB1的时候,将照相机输入的图像数据的与一个宏块的数量相一致的256个数据记录在第十六线,其中,由于之前被记录的十六个图像数据属于第一宏块MB1,图象处理器已经读取了它们。
当通过内存地址控制完成在第十六线的图像数据存储的时候,图像处理已经读取了所有由一个横线的大小构成的第一区内的图像数据。
以第一模式对从照相机输入的图像数据的存储被完成,如图7所示,在图像处理器的读取过程中,地址被控制在第二模式。
当地址被控制在第二模式的情况下,内存被横向地划分为十六个区。
参考图6来解释,当在第一区内的图像数据全部被读取的时候,读取属于第二区的宏块MB1的图像数据。如图7A所示,从照相机输入的图像数据被写入由一个横线大小构建的第一区。当所有第二区的第一宏块MB1上的图像数据都被读取,与一个宏块相应的总共256个(256-numbered)图像数据被写入第一区。
进一步地,当对第二区的第二宏块MB2的读取被完成,如图7B所示,从照相机输入的256个图像数据被进一步记录在第一区,从而写入总共512个图像数据。如图7C所示,当完成对第二区内的图像数据的读取的时候,就完成了对第一区的图像数据的存储。
如图7D所示,当完成了对写在第十六区的图像数据的读取的时候,就执行第二模式的读取控制。如图7E所示,对写在第一区的第一宏块MB1的第一线的十六个图像数据的读取以及写入横向的一个线大小的图像数据被进行,并且从照相机输入的十六个图像数据被写入第十六区的第一宏块MB1的第一线。
当对写在第一区的第一宏块MB1的第一线的十六个图像数据的读取被完成,如图7E所示,对写在第二区的第一宏块MB1的第一线的十六个图像数据的读取被控制,并且从照相机输入的十六个图像数据被写入第十六区。
当写在第十四区的第一宏块MB1的第一线的十六个图像数据的读取被完成,如图7G所示,对写在第十五区的第一宏块MB1的第一线的十六个图像数据的读取被控制,并且从照相机输入的十六个图像数据被写入第十六区。
此时,属于第一宏块MB1的图像数据依据写在第十五线的图像数据的数量而被读取,即16×15,并且240(16×15)个从照相机输入的图像数据通过被记录在第十六区。
此后,当对写在第十五区的第一宏块MB1的第一线的十六个图像数据的读取被完成,如图7H所示,对写在第十六区的第一宏块MB1的第一线的十六个图像数据的读取被控制。
此时,尽管从照相机输入的256个图像数据被记录在第十六区,而最初被记录的十六个数据属于第一宏块MB1,而图像处理器已经读取了它们,未被读取的240个数据被留在第十六区。
当对写在第十六区的第一宏块MB1的第一线的图像数据的读取被控制,如图7I所示,对写在第一区的第二宏块MB2的第一线的图像数据的读取被控制,并且从照相机输入的图像数据进一步地以在第十六区读取的十六个数据的数量被写入,从而写入256个图像数据。
当对写在第二区的第二宏块MB2的第一线的图像数据的读取被完成的时候,则对写在第三区的第二宏块MB2的第一线的图像数据的读取以及在第十六区的存储被控制。如图7J所示,当该控制被顺序地进行以使得图像处理器读取所有写在所有十六区的第一线的图像数据,第十六区被从照相机输入的图像数据所填充,且图像处理器已经读取了写在第十六区的第一线的图像数据。
当写在所有十六个区的第一线的图像数据被图像处理器所读取的时候,对从照相机输入的图像数据的存储被控制在第一模式,并且图像处理器对写在十六个区的图像数据的读取被控制在第二模式。
相应地,如图8A所示,图像处理器读取写在第一区的第一宏块MB1的第二线的十六个图像数据,同时,以第一模式将从照相机输入的十六个图像数据写入第一线。
此后,当对写在第一区的第一宏块MB1的第二线的十六个图像数据的读取被完成的时候,如图8B所示,对写在第二区的第一宏块MB1的第二线的十六个图像数据的读取被控制,并且在将其与第一线连接的同时将从照相机输入的图像数据写入第一区。
当对写在第十六区的第一宏块MB1的第二线的十六个图像数据的读取被控制的时候,如图8C所示,从照相机输入以及被控制在第一模式的256个图像数据被写入第一线。
进一步地,当通过执行用于以第一模式对从照相机输入的图像数据的写入以及以第二模式对写在十六个区内的图像数据的读取的顺序地址控制,对相应区的第二线的读取被完成的时候,如图8D所示,从照相机输入的图像数据都被写入第一线。
当图像处理器通过重复地写入从照相机输入的图像数据并且以第二模式读取写在相对应的十六个区的图像数据,读取了所有写在最后第十六线的图像数据,如图8E所示,从照相机输入的以及以第一模式写入的图像数据填充了所有第一至第十五线。
如图8E所描述的处理状态与图6B所描述是一致的。
相应地,从图像处理器以及照相机输入的图像数据被通过如图6C所描述的步骤被处理,其它步骤紧随其后。
通过图像处理器写入从照相机输入的图像数据以及读取被写入的图像数据的过程,为了避免图像处理器没有读取被写入的图像数据(没有读,但是却执行了再次写入的操作)或者读取没有写入图像数据的区的情况,就对当图像数据记录在内存、在对帧宽×15的数据记录之后图像处理器没有执行数据读取操作、但在对帧宽×15的数据记录之后的数据读取的初始化工作已经进行的情况进行控制。
当作为第十六线的最后一个线被留下时,这样的情况通过第一模式被进行,并且当作为第十六区的最后一个区被留下时,通过第二模式被进行。
通过采用了本发明提供的结构的硬件,当用户确定目标最大参数值(例如,最大解决方案)以使得内存的帧宽在硬件中被确定,并且横向大小为帧宽一半的图像被输入,该内存被以如上方式使用,或者当前使用的双缓存架构也可以被使用。
也就是说,两个内存区域被指定,每个内存区域都具有与所输入图像数据的横向容量与16的乘积,并且通过双缓存地址控制的方式被控制。
通过本发明提供的对一具有单缓存结构内存的地址控制的方法,所期望的操作通过使用一个仅为双缓存结构内容的一半容量的内存被完成,从而实现对用于处理图像数据所需要的内存的有效使用。
尽管本发明已经以如上所述的优选实施例予以说明,但可以明白地了解的是,任何对该领域熟悉的技术人员,根据本发明的设计思想、具体发明内容以及实施例的启示,应该可以各种改动和调整,而通过这些改动和调整所得到的新的内容应被本发明内容所涵盖。
权利要求
1.一种对具有单缓存结构的内存进行地址控制的方法,包括如下步骤在激活以每个块单元为单位的图像数据处理的时候,将该内存划分为纵线和横区;通过执行第一模式对从照相机输入的图像数据进行地址控制以使得该数据被顺序地在横向写入该内存,并且将这些图像数据写在第一至第十五纵线上;当在第一至第十五线上的图像数据存储被完成,对该等被写入的图像数据进行地址控制以使得图像处理器以每一个宏块单元为单位读取被写入的图像数据,并将从照相机输入的图像数据横向地写在第十六线上;当该图像处理器以每个宏块单元为单位读取了写在第一区内的所有图像数据,保持对图像数据的读取为第一模式,并使得对从照相机输入的图像数据的存储进入第二模式从而将从照相机输入的图像数据写入第一区;当所有被写入第十六区的图像数据被以第一模式读取后,将对被写入图像数据的读写切换至第二模式来以相应宏块为单位读取被写在所有区的第一线的图像数据,并且将从照相机输入的图像数据以第二模式顺序地写入第十六区;当对写在所有区内的第一线的图像数据的读取以及以第二模式将从照相机输入的图像数据存储直至第十六区的第十六线的操作完成后,保持对以相应宏块为单位被写在所有区的第二线的图像数据的读取为第二模式,并且将对从照相机输入的图像数据的存储切换至第一模式来横向地在第一线上写入数据;并且当以第二模式对直至第十六线的数据读取以及以第一模式进行的数据存储被完成,保持对数据的读取为第一模式,并将从照相机输入的图像数据以第一模式写入。
2.如权利要求1所述的方法,其中,在第一模式控制和第二模式控制之间的切换被重复,该重复操作取决于被写入这些线和这些区的图像数据,以及读取的内存区域。
3.如权利要求1所述的方法,其中,纵线和横区被以16的倍数划分,该倍数取决于内存的容量。
4.如权利要求1所述的方法,其中,相应的横区具有一个最小容量,该最小容量足以在帧的横向上写入一线的图像数据。
5.如权利要求1所述的方法,其中,第一模式被控制以使得从照相机输入的图像数据被顺序地写入内存的纵线上,该内存在横向上被以16的倍数划分,并且图像处理器以每个宏块单元为单位读取写入的图像数据。
6.如权利要求1所述的方法,其中,第二模式被控制以使得从照相机输入的图像数据被顺序地写入被16的倍数划分的该内存的相应横区上,并且图像处理器根据相应的纵线、顺序地以相应宏块为单位从相应的横区中读取被写入的图像数据。
7.如权利要求1所述的方法,其中,当以第一模式在第一至第十五线上对图像数据的存储被完成,图像数据被以第一模式写在第十六线上,同时引导以每个宏块单元为单位的第一模式读取,以使得通常意义上的图像数据在第十六线上被读取。
8.如权利要求1所述的方法,其中,当从照相机输入的图像数据被以第一模式写入,在第十五线上对图像数据的存储完成之后,并在对将要被写在第十六线上的图像数据输入之前,图像处理器直接以每个宏块单元为单位读取数据,以使得内存容量不会超过帧宽(一帧的横向大小)×16。
9.如权利要求1所述的方法,其中,当内存的帧宽被以一硬件方式限定时,从照相机输入的图像数据的数量被控制以使得当横向大小等于或小于所确定内存的横向容量一半的图像被输入时,该控制也可以通过一个双缓存结构来进行。
10.如权利要求1所述的方法,其中,通过第一和第二模式该内存被地址控制,并且其容量为一双缓存结构内存的一半。
全文摘要
本发明提供了一种对具有单一缓存结构的内存进行地址控制的方法,该方法在对图像数据的写入和读取处理的过程中能有效地进行内存地址控制。该内存被划分为纵线和横区。在执行第一种模式时,图像数据被横向地顺序地写入内存。当在第一至第十五线上对图像数据的存储完成时,一图像处理器以每个宏块单元为单位读取被写入的图像数据。当该图像处理器以每个宏块单元为单位读取了所有被写在第一区的图像数据,对图像数据的读取被保持在第一模式,并且对所输入图像数据的存储进入一第二模式来在第一区写入图像数据。当所有写在第十六区的图像数据被以第一模式读取,对被写入图像数据的读取切换至该第二模式来顺序地以相应宏块为单位读取所有区的被写在第一线的图像数据,并且所输入图像数据被顺序地以第二模式写入第十六区。当对所有区的写在第一线的图像数据的读取以及以第二模式对直至第十六区的第十六线的所输入数据的存储被完成,对以相应宏块为单位被写在所有区的第二线的图像数据的读取被保持在第二模式,并且对所输入图像数据的存储切换至第一模式来横向地在第一线上写入数据。当直至第十六线的数据读取被完成,第一模式的数据读取被维持,并且所输入的图像数据被以第一模式写入。
文档编号G06T1/60GK1926571SQ200480042500
公开日2007年3月7日 申请日期2004年9月23日 优先权日2004年8月31日
发明者曹弘圭, 姜圣显 申请人:莱茨威神公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1