行与块的整合转换方法及其计算机可读取存储介质技术

技术编号:11454529 阅读:65 留言:0更新日期:2015-05-14 04:36
本公开涉及行与块的整合转换方法及其计算机可读存储介质。本公开提供了一种行与块的整合转换方法,将图像分为M个水平块与N个垂直块,然后,通过双循环算法将该图像坐标化以获得多个像素单元的每一个坐标并且通过行转换将多个像素单元的地址连续地写入存储器并且通过块转换从存储器中读取数据,其中,读取速度等于或大于写入速度,使得降低了存储器的存储空间并且提高了存储器的利用率。

【技术实现步骤摘要】
行与块的整合转换方法及其计算机可读取存储介质
本专利技术涉及一种图像处理方法,具体地涉及一种行与块的整合转换方法以提高存储器的利用率。
技术介绍
数字图像应用的快速发展,包括小规模出版业,多媒体、视频会议及高清晰度电视(HDTV)等,增加了对于有效率且标准化的图像压缩技术的需要。若没有图像压缩,则图像的传输所耗用的带宽可能是许多应用无法支持的。图像压缩方法将2维像素数组的图像转换为一系列的位,并将其通过传输联接传输。每一个像素表示该图像在一特定位置的强度。图像在数字电路的传输过程中,像素一般是按照从左往右,自上而下逐行传输的顺序。当对数字图像进行压缩时,通常要先把像素按照方块进行排列。例如JPEG是分成8×8的方块,H.264是分成16×16的方块,因此,这就需要用到行(line)与块(block)的转换。如果用数字电路来实现,则需要较大的存储器来缓冲存储数据。在先前技术下,用数字电路来实现从行到块的转换,常用的方法是采用ping-pong的方式。假设块为16x16,图像宽度为W,高度为H,并且每个像素用1个字节表示,则转换过程中所需要的存储器存储空间为32×W。先前技术下的存储器被分为上下两部分,每个部分都正好可以存放16行的像素。首先第1~16行像素会按照输入顺序写入到存储器的上半部分,然后第17~32行的像素再写入到存储器的下半部分,同时按照块的顺序读取出存储器中上半部分的数据,并且读取和写入的速度相同。当存储器的下半部分被读取完后,存储器的上半部分的数据也会被读取出来,然后再把第33~48行数据写入到存储器的上半部分,同时也会读取存储器中的下半部分的数据,后续数据以此方式重复进行。因此,用ping-pong的方式来进行行和块的转换,虽然实现方式简单,但是存储器的利用率不高。
技术实现思路
本专利技术的实施方式提供了一种用于一图像的行与块的整合转换方法,行与块的整合转换方法包括以下步骤:将图像分为M个水平块与N个垂直块;依次地将多个水平块中的第一水平块的多个第一像素单元的地址根据存储器的累加地址的顺序写入存储器;从存储器中每间隔像素预定距离来循环地读取多个第一像素单元的地址,其中所述像素预定距离为图像的宽度;通过双循环算法来获得多个第X像素单元的位置以顺序地读取第X水平块的多个第X像素单元的地址;以及,当每间隔像素预定距离来循环地读取存储器的多个第X像素单元的地址时,将多个水平块中的第X+1水平块的多个第X+1像素单元的地址循环地每间隔像素预定距离随后地写入存储器。多个水平块与多个垂直块形成M×N矩阵,每一矩阵的大小为B×B,并且第一像素单元与第X像素单元包括B个像素,其中,B、M与N为正整数并且N为该图像的宽度除以B。本专利技术实施方式还提供了一种计算机可读取存储介质,用以存储计算机程序,上述计算机程序包括多个程序代码,其用以加载至电子装置并且使得电子装置执行用于一图像的一种行与块的整合转换方法,行与块的整合转换方法包括以下步骤:将图像分为M个水平块与N个垂直块;依次地将多个水平块中的第一水平块的多个第一像素单元的地址根据存储器的累加地址的顺序写入存储器;从存储器中每间隔像素预定距离来循环地读取多个第一像素单元的地址,其中,所述像素预定距离为图像的宽度;通过双循环算法来获得多个第X像素单元的位置以循序地读取第X水平块的多个第X像素单元的地址;以及,当每间隔像素预定距离来循环地读取存储器的多个第X像素单元的地址时,将多个水平块中的第X+1水平块的多个第X+1像素单元的地址循环地每间隔像素预定距离随后地写入存储器。多个水平块与多个垂直块形成M×N矩阵,每一矩阵的大小为B×B,并且第一像素单元与第X像素单元包括B个像素,其中,B、M与N为正整数并且N为该图像的宽度除以B。综上所述,本专利技术的实施方式所提出的行与块的整合转换方法与计算机可读取存储介质,通过行转换方式将图像的第一像素单元与第X像素单元写入存储器,并且通过块转换方式来读取存储于存储器的第一像素单元与第X像素单元,据此以提升存储器的利用率,亦即与先前技术的ping-pong方式相比,本公开能够节省约一半的存储器的存储空间,进而能够达到大幅降低数字电路的实施成本的功效。为使能更进一步了解本专利技术的特征及
技术实现思路
,请参阅以下有关本专利技术的详细说明与附图,但是这样的说明与附图仅用来说明本专利技术,而非对本专利技术的权利范围作任何的限制。附图说明图1为根据本专利技术的示例性实施方式所示出的行与块的整合转换方法的示意图。图2A与图2B为根据本专利技术的示例性实施方式所示出的将图像行转换写入至存储器的示意图。图3为根据本专利技术的示例性实施方式所示出的行与块的整合转换方法的流程图。图4为根据本专利技术的另一示例性实施方式所示出的行与块的整合转换方法的流程图。[图的符号简单说明]:S402、S404、S406、S408、S410、S412、S414、S416、S418、S420、S422、S424、S426:步骤具体实施方式在下文中将参照附图更充分地描述各种示例性实施方式,在附图中展示了一些示例性实施方式。然而,本专利技术的概念可能以许多不同形式来体现,且不应解释为限于本文中所阐述的示例性实施方式。图像在数字电路的传输过程中,像素一般是按照从左往右,自上而下逐行传输的顺序。当在数字图像进行压缩时,通常要先把像素按照方块进行排列。例如JPEG是分成8×8的方块,H.264是分成16×16的方块,因此,这就需要用到行(line)与块(block)的转换。如果用数字电路来实现,则需要较大的存储器来缓冲存储数据。本公开提出了一种改进的存储器利用方法以降低存储器中所需的存储空间,进而提高存储器的利用率。(行与块的整合转换方法的实施方式)请参照图1,图1为根据本专利技术的示例性实施方式所示出的行与块的整合转换方法的示意图。在进行下述说明之前,须先说明的是,图像的宽度定义为W,并且图像的高度定义为H。如图1所示,在进行图像或视频(图像序列)数据压缩过程中,图像100会被分为M个水平块HB_0~HB_M-1与N个垂直块VB_0~VB_N-1,其中多个水平块HB_0~HB_M-1与多个垂直块VB_0~VB_N-1会形成一M×N矩阵,每一个矩阵的大小为B×B。再者,每一个矩阵具有B×B个像素并且每个像素具有一个字节的数据。须注意的是,在本实施方式中,每16个像素定义为一个像素单元,因此整张图像100会先予以坐标化并且图像坐标的分辨率为像素单元(每一矩阵具有B个像素单元)。如图1所示,多个第一像素单元pu1为沿着多个水平块HB_0~HB_M-1的第一水平块HB_0的水平方向循序地被定义,依此类推,第X像素单元puX为沿着多个水平块HB_0~HB_M-1的第X水平块HB_X的水平方向循序地被定义,其中,B、M与N为正整数并且N为图像的宽度除以B,并且X为位于2与M之间的正整数。接下来将进一步说明行与块的整合转换方法的转换机制。简单来说,本公开通过行转换方式来将图像100的多个第一像素单元pu1与多个第X像素单元puX写入存储器EVM,并且通过块转换方式来读取存储于存储器EVM的多个第一像素单元pu1与多个第X像素单元puX,以进行图像数据压缩工作。请同时参照图1~图3,图2A与图2B为根据本专利技术的示例性实施方式所示出本文档来自技高网
...
行与块的整合转换方法及其计算机可读取存储介质

【技术保护点】
一种行与块的整合转换方法,用于一图像,所述行与块的整合转换方法包括以下步骤:将所述图像分为M个水平块与N个垂直块;依次将所述M个水平块中的一第一水平块的多个第一像素单元的地址根据一存储器的累加地址的顺序写入所述存储器;从所述存储器中每间隔一像素预定距离来循环地读取所述第一像素单元的地址,其中,所述像素预定距离为所述图像的宽度;通过一双循环算法来获得多个第X像素单元的位置以循序地读取一第X水平块的所述多个第X像素单元的地址;以及当每间隔所述像素预定距离来循环地读取所述存储器的所述多个第X像素单元的地址时,将所述M个水平块中的一第X+1水平块的多个第X+1像素单元的地址循环地每间隔所述像素预定距离随后地写入所述存储器;其中,X为位于2与M之间的正整数,其中,所述M个水平块与所述N个垂直块形成一M×N矩阵,每一个矩阵的大小为B×B,并且第一像素单元与第X像素单元包括B个像素,其中,B、M与N为正整数并且N为所述图像的宽度除以B。

【技术特征摘要】
1.一种行与块的整合转换方法,用于一图像,所述行与块的整合转换方法包括以下步骤:将所述图像分为M个水平块与N个垂直块;依次将所述M个水平块中的一第一水平块的多个第一像素单元的地址根据一存储器的累加地址的顺序写入所述存储器;从所述存储器中每间隔一像素预定距离来循环地读取所述第一像素单元的地址,其中,所述像素预定距离为所述图像的宽度;通过一双循环算法来获得多个第X像素单元的位置以循序地读取一第X水平块的所述多个第X像素单元的地址;以及当每间隔所述像素预定距离来循环地读取所述存储器的所述多个第X像素单元的地址时,将所述M个水平块中的一第X+1水平块的多个第X+1像素单元的地址循环地每间隔所述像素预定距离随后地写入所述存储器;其中,X为位于2与M之间的正整数,其中,所述M个水平块与所述N个垂直块形成一M×N矩阵,每一个矩阵的大小为B×B,并且第一像素单元与第X像素单元包括B个像素,其中,B、M与N为正整数并且N为所述图像的宽度除以B,其中,所述双循环算法包括以下步骤:通过水平循环参数来判断是否超出所述水平块的范围;如果所述水平循环参数尚未超出所述水平块的范围,则通过一固定读址函数与一动态读址函数来获得一像素单元地址,并且进入一决策判断;通过所述决策判断,如果所述像素单元地址尚未超出所述水平块的范围,则将所述像素单元地址存储至下一个固定读址函数;通过所述决策判断,如果所述像素单元地址超出所述水平块的范围,则将所述像素单元地址减去所述水平块的范围的最大值后存储至所述下一个固定读址函数;将所述水平循环参数加一,并且回到判断所述水平循环参数是否超出所述水平块的范围的步骤;如果所述水平循环参数超出所述水平块的范围,则执行下一个动态读址函数;以及将垂直循环参数加一,并且回到判断所述垂直循环参数是否超出所述垂直块的范围的步骤。2.根据权利要求1所述的行与块的整合转换方法,其中,所述多个第一像素单元为沿着所述M个水平块的所述第一水平块的水平方向循序地被定义,并且所述多个第X像素单元为沿着所述M个水平块的所述第X水平块的水平方向循序地被定义,其中,将所述图像的所述第一像素单元依次地根据所述存储器的累加地址的顺序写入所述存储器并将所述第X像素单元依次地根据所述存储器的累加地址的顺序写入所述存储器以完成行转换,并且每间隔一像素预定距离来循环地读取存储在所述存储器中的所述第一像素单元与所述第X像素单元以完成块转换。3.根据权利要求1所述的行与块的整合转换方法,在通过所述水平循环参数来判断是否超出所述水平块的范围的步骤之前,还包括以下步骤:通过一垂直循环参数来判断是否超出所述垂直块的范围;如果所述垂直循环参数尚未超出所述垂直块的范围,则初始化所述水平循环参数与所述固定读址函数;以及如果所述垂直循环参数超出所述垂直块的范围,则结束所述双循环算法。4.根据权利要求3所述的行与块的整合转换方法,其中在进入所述双循环算法之前,包括以下步骤:初始化所述垂直循环参数;以及初始化所述动态读址函数。5.根据权利要求4所述的行与块的整合转换方法,其中,所述固定读址函数与所述下一个固定读址函数的所述水平循环参数的差值为一,并且所述动...

【专利技术属性】
技术研发人员:侯莅聪权参冯庄靖
申请(专利权)人:瑞昱半导体股份有限公司
类型:发明
国别省市:中国台湾;71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1