一种图像缩放、编码方法及系统的制作方法

文档序号:7731287阅读:102来源:国知局
专利名称:一种图像缩放、编码方法及系统的制作方法
技术领域
本发明属于图像处理领域,尤其涉及一种图像缩放、编码方法及系统。
背景技术
在实际情况中,经常由于获取图像的设备和显示图像的设备不同而需要对图像进行缩放、编码。现有的图像缩放技术是通过采用线性插值算法实现的。例如对图像进行水平方向的缩放时,是利用水平方向的相邻点来插值出当前点;而对图像进行垂直方向的缩放时,则是利用垂直方向的相邻点来插值出当前点。假设源图像的大小为src_hsizeXsrc_vsize,对该源图像进行水平和垂直缩放,则首先对源图像逐行进行水平方向插值,得到des_hsizeX src_vsize的中间结果图片,再逐列进行垂直方向插值,得到des_hsizeX des_vsize的目标图片。其中src_hsize、src_vsize分别表示源图像的水平尺寸和垂直尺寸,des_hsize、des_vsize分别表示目标图像的水平尺寸和垂直尺寸。在对图像进行缩放后还应进行相应的编码。现有的编码方法是在等待整张图像插值完成后,才对目标图像执行编码操作,从而导致编码图像等待的时间过长,且在编码之前需保存整张目标图像,占用了过多的存储空间。

发明内容
本发明提供了一种图像缩放、编码方法,旨在解决现有的图像缩放、编码方法需要在一张图像缩放结束后才进行编码,所导致的等待编码时间过长以及保存缩放后图像占用过多存储空间的问题。本发明是这样实现的,一种图像缩放、编码方法,所述方法包括下述步骤获取源图像大小,并指定插值后图像的大小以及指定插值后每个数据块的大小;确定当前从源图像读取的数据块的序号;根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块;对读取的每个数据块依次执行以下步骤对读取的数据块进行插值处理;对插值处理结束后的数据块进行编码处理。本发明的另一目的在于提供一种图像缩放、编码系统,所述系统包括参数确定单元,用于获取源图像大小,并指定插值后图像的大小以及指定插值后每个数据块的大小;数据块序号确定单元,用于确定当前从源图像读取的数据块的序号;数据块确定单元,用于根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块;插值处理单元,用于对读取的数据块进行插值处理;
编码处理单元,用于对插值处理结束后的数据块进行编码处理。本发明将一幅源图像分成多个数据块,并分别对该多个数据块进行插值处理以及对插值处理结束后的数据块进行相应的编码处理。由于不需要在一张图像缩放结束后才进行编码,且也不需要保存缩放结束获得的整幅图像,因此能够有效减少图像数据等待编码的时间以及保存缩放后图像所占用的存储空间。


图I是本发明第一实施例提供的确定从源图像读取数据块的序号的示意图;图2是本发明第一实施例提供的图像缩放、编码方法的流程图;图3是是本发明第二实施例提供的图像缩放、编码系统的结构示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例中,将一幅源图像拆分为多个数据块,当读取一个数据块后,对该数据块进行插值处理以及编码处理,直到将拆分的多个数据块插值以及编码结束。本发明实施例提供了一种图像缩放、编码方法及系统。所述方法包括获取源图像大小,并指定插值后图像的大小以及指定插值后每个数据块的大小;确定当前从源图像读取的数据块的序号;根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块;对读取的每个数据块依次执行以下步骤对读取的数据块进行插值处理; 对插值处理结束后的数据块进行编码处理。所述系统包括参数确定单元,用于获取源图像大小,并指定插值后图像的大小以及指定插值后每个数据块的大小;数据块序号确定单元,用于确定当前从源图像读取的数据块的序号;数据块确定单元,用于根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块;插值处理单元,用于对读取的数据块进行插值处理;编码处理单元,用于对插值处理结束后的数据块进行编码处理。本发明实施例将一幅源图像分成多个数据块,并分别对该多个数据块进行插值处理以及对插值处理结束后的数据块进行相应的编码处理。由于不需要在一张图像缩放结束后才进行编码,且也不需要保存缩放结束获得的整幅图像,因此能够有效减少图像数据等待编码的时间以及保存缩放后图像所占用的存储空间。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。实施例一:
图I示出了本发明第一实施例提供的图像缩放、编码方法的流程图,在本实施例中,将一张图像分成多个数据块,并对该多个数据块进行插值、编码处理,详述如下。在步骤Sll中,获取源图像大小,并指定插值后图像的大小以及指定插值后每个数据块的大小。本实施例中,首先选定一幅源图像,确定是否对该幅源图像进行缩放、编码处理。在确定需要对该幅源图像进行相应的缩放以及编码处理后,获取该源图像的尺寸大小,并指定该幅图像经过插值处理后能够获得的图像大小,以及根据编码器每次能够处理的数据块大小指定源图像中每个数据块经过插值处理后能够获得的数据块大小。如,将一张大小为640X480的源图像,指定其经过插值处理后放大到1280X960。由于编码器通常对大小为8X8的数据块进行编码,因此可指定插值处理后获得的每个数据块大小为8X8。在步骤S12中,确定当前从源图像读取的数据块的序号。 其中,确定当前从源图像读取的数据块的序号的步骤具体为A、以源图像最左上角像素点为原点,右边为X轴正方向,下边为y轴正方向建立直角坐标系。在本实施例中,建立一个直角坐标系,该直角坐标系以源图像的最左上角点为原点,X轴正方向向右,y轴正方向向下。B、根据该直角坐标系确定当前读取的数据块的水平方向序号以及垂直方向序号。在本实施例中,根据已建立的直角坐标系确定当前从源图像读取的数据块的水平方向序号和垂直方向序号。具体如图2所示,其中,N表示该数据块的水平方向序号,M表示该数据块的垂直方向序号。从源图像的左上角开始,从左到右,从上往下读取源图像的各个数据块。在步骤S13中,根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及该数据块序号确定从源图像读取的数据块。本实施例是通过确定从源图像读取数据块的起点坐标以及读取的数据块大小来确定需从源图像读取那些数据块。由于计算机存储图像的第一像素的坐标为(0,0),因此从源图像读取水平方向序号为I的数据块的起点横坐标(X坐标)为0,从源图像读取垂直方向序号为I的数据块的起点纵坐标(y坐标)也为O。其中,根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及该数据块序号确定从源图像读取的数据块的步骤具体为C、在读取水平方向序号不为I且垂直方向序号不为I的数据块时,根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及该数据块序号确定从源图像读取的数据块的起点横坐标和起点纵坐标。假设源图像的大小为src_hsizeXsrc_vsize,当前从源图像读取的水平方向序号为第N个(N大于等于2)数据块,垂直方向序号是第M个块(M大于等于2),指定插值后图像的大小为des_hsizeXdes_vsize,指定插值后每个数据块的大小为k_hsizeXk_vsize。首先引入两个中间变量x_cnt, y_cnt,在当前从源图像获取的数据块是水平方向的第N个块,垂直方向的第M个块时,则x_cnt = [ (src_hsize_l) XNXk_hsize+(des_hsize_l)]-[ (src_hsize-l) X (N-I) Xk_hsize+(des_hsize_l) ]+1 (N = I)x_cnt = [ (src_hsize_l) XNXk_hsize+(des_hsize_l)]-[ (src_hsize-l) X (N-I) Xk_hsize+ (des_hsize-l) ] (N ^ 2)
y_cnt = [ (src_vsize_l) XMX k—vsize+(des_vsize_l)]-[ (src_vsize-l) X (M-I) Xk—vsize+ (des—vsize-1) ]+l (M = I)y—cnt = [ (src—vsize-1) XMX k—vsize+(des—vsize-1)]-[ (src_vsize-l) X (M-I) Xk—vsize+(des—vsize-1) ] (M ^ 2)其中,中括号[]表示取整操作。用src—x—position和src—y—position分别表示从源图像读取数据块的起点坐标所对应的横坐标和纵坐标,则six—X—position等于水平
方向前 N-ι 个块的 x_cnt 之和减 1,即
权利要求
1.一种图像缩放、编码方法,其特征在于,所述方法包括下述步骤 获取源图像大小,并指定插值后图像的大小以及指定插值后每个数据块的大小; 确定当前从源图像读取的数据块的序号; 根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块; 对读取的每个数据块依次执行以下步骤 对读取的数据块进行插值处理; 对插值处理结束后的数据块进行编码处理。
2.如权利要求I所述的方法,其特征在于,所述确定当前从源图像读取的数据块的序号的步骤具体为 以源图像最左上角像素点为原点,右边为X轴正方向,下边为y轴正方向建立直角坐标系; 根据所述直角坐标系确定当前读取的数据块的水平方向序号以及垂直方向序号。
3.如权利要求I所述的方法,其特征在于,所述根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块的步骤具体为 若读取水平方向序号为I的数据块或者读取垂直方向序号为I的数据块 确定从源图像读取水平方向序号为I的数据块的起点横坐标为O,从源图像读取垂直方向序号为I的数据块的起点纵坐标也为O ; 根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块大小。
4.如权利要求I所述的方法,其特征在于,所述根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块的步骤具体为 若读取水平方向序号不为I的数据块且读取垂直方向序号不为I的数据块 根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块的起点横坐标和起点纵坐标; 根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块大小。
5.如权利要求3所述的方法,其特征在于,所述根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块大小的步骤具体为 在读取水平方向序号为I的数据块时,根据公式x_cnt = [ (src_hsize_l) XNXk_hsize+ (des_hsize_l)]-[(src_hsize-l) X (N-I) Xk_hsize+ (des_hsize_l) ] +1 (N = I) 以及公式t_hsize = x_cnt+l (N = I)确定从源图像读取的数据块的水平尺寸; 在读取垂直方向序号为I的数据块时,根据公式y_cnt = [ (src_vsize-l) XMXk_vsize+ (des_vsize_l)]-[(src_vsize-l) X (M-I) Xk_vsize+ (des_vsize_l) ] +1 (M = I)以及公式t_vsize = y_cnt+l (Μ = I)确定从源图像读取的数据块的垂直尺寸; 其中,中括号口表示取整操作,src_hsize和src_vsize分别为源图像的水平尺寸和垂直尺寸,N和M分别为读取的数据块的水平方向序号和垂直方向序号,k_hsize和k_vsize分别为插值后每个数据块的水平尺寸和垂直尺寸,des_hsize和des^size分别为插值后图像的水平尺寸和垂直尺寸。
6.如权利要求4所述的方法,其特征在于,所述根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块的起点横坐标和起点纵坐标的步骤具体为 在读取水平方向序号不为I且垂直方向序号不为I的数据块时,根据下述公式确定从源图像读取的数据块的起点横坐标和起点纵坐标x_cnt = [ (src_hsize_l) XNXk_hsize+(des_hsize_l)]-[(src_hsize-l) X (N-I) Xk_hsize+ (des_hsize-l) ] +1 (N = I)x_cnt = [ (src_hsize_l) XNXk_hsize+(des_hsize_l)]-[(src_hsize-l) X (N-I) Xk_hsize+(des_hsize_l) ] (N ^ 2)y_cnt = [ (src_vsize_l) XMX k_vsize+(des_vsize_l)]-[(src_vsize-l) X (M-I) Xk_vsize+ (des_vsize_l) ] +1 (M = I)y_cnt = [ (src_vsize_l) XMX k_vsize+(des_vsize_l)]-[(src_vsize-l) X (M-I) Xk_vsize+(des_vsize_l) ] (M ^ 2)
7.如权利要求4所述的方法,其特征在于,所述根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块大小的步骤具体为 在读取水平方向序号不为I且垂直方向序号不为I的数据块时,根据公式 x_cnt = [ (src_hsize_l) XNXk_hsize+(des_hsize_l)]-[(src_hsize-l) X (N-I) Xk_hsize+(des_hsize_l) ] (N ^ 2)y_cnt = [ (src_vsize_l) XMX k_vsize+(des_vsize_l)]-[(src_vsize-l) X (M-I) Xk_vsize+(des_vsize_l) ] (M ^ 2) t_hsize = x_cnt+2 (N彡2)以及t_vsize = y_cnt+2 (M彡2)确定从源图像读取的数据块大小,其中,中括号口表示取整操作,src_hsize和src_vsize分别为源图像的水平尺寸和垂直尺寸,N和M分别为读取的数据块的水平方向序号和垂直方向序号,k_hsize和k_vsize分别为插值后每个数据块的水平尺寸和垂直尺寸,des_hsize和des_vsize分别为插值后图像的水平尺寸和垂直尺寸。
8.一种图像缩放、编码系统,其特征在于,所述系统包括 参数确定单元,用于获取源图像大小,并指定插值后图像的大小以及指定插值后每个数据块的大小; 数据块序号确定单元,用于确定当前从源图像读取的数据块的序号; 数据块确定单元,用于根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块; 插值处理单元,用于对读取的数据块进行插值处理; 编码处理单元,用于对插值处理结束后的数据块进行编码处理。
9.如权利要求8所述的系统,其特征在于,所述数据块确定单元包括 坐标系建立模块,用于以源图像最左上角像素点为原点,右边为X轴正方向,下边为y轴正方向建立直角坐标系; 数据块序号确定模块,用于根据所述直角坐标系确定当前读取的数据块的水平方向序号以及垂直方向序号。
10.如权利要求8所述的系统,其特征在于,所述数据块确定单元包括 数据块的第一起点坐标确定模块,用于确定从源图像读取水平方向序号为I的数据块的起点横坐标为0,从源图像读取垂直方向序号为I的数据块的起点纵坐标也为O ; 数据块的第一大小确定模块,用于在读取水平方向序号为I的数据块时,根据公式 x_cnt = [ (src_hsize_l) XNXk_hsize+(des_hsize_l)]-[(src_hsize-l) X (N-I) Xk_hsize+ (des_hsize-l) ] +1 (N = I) 以及公式t_hsize = x_cnt+l (N = I)确定从源图像读取的数据块的水平尺寸,在读取垂直方向序号为I的数据块时,根据公式y_cnt = [ (src_vsize_l) XMX k_vsize+(des_vsize_l)]-[(src_vsize-l) X (M-I) Xk_vsize+ (des_vsize_l) ] +1 (M = I) 以及公式t_vsize = y_cnt+l (M = I)确定从源图像读取的数据块的垂直尺寸,其中,中括号口表示取整操作,src_hsize和src_vsize分别为源图像的水平尺寸和垂直尺寸,N和M分别为读取的数据块的水平方向序号和垂直方向序号,k_hsize和k_vsize分别为插值后每个数据块的水平尺寸和垂直尺寸,des_hsize和des_vsize分别为插值后图像的水平尺寸和垂直尺寸; 数据块的第二起点坐标确定模块,用于在读取水平方向序号不为I且垂直方向序号不为I的数据块时,根据下述公式确定数据块的起点坐标x_cnt = [ (src_hsize_l) XNXk_hsize+(des_hsize_l)]-[(src_hsize-l) X (N-I) Xk_hsize+ (des_hsize_l) ] +1 (N = I)x_cnt = [ (src_hsize_l) XNXk_hsize+(des_hsize_l)]-[(src_hsize-l) X (N-I) Xk_hsize+(des_hsize_l) ] (N ^ 2)y_cnt = [ (src_vsize-l) XMX k_vsize+(des_vsize_l)]-[(src_vsize-l) X (M-I) Xk_vsize+ (des_vsize_l) ] +1 (M = I)y_cnt = [ (src_vsize_l) XMX k_vsize+(des_vsize_l)]-[(src_vsize-l) X (M-I) Xk_vsize+(des_vsize_l) ] (M ^ 2)
全文摘要
本发明适用于图像处理领域,提供了一种图像缩放、编码方法及系统。所述方法包括下述步骤获取源图像大小,并指定插值后图像的大小以及指定插值后每个数据块的大小;确定当前从源图像读取的数据块的序号;根据源图像的大小、插值后图像的大小、插值后每个数据块的大小以及所述数据块序号确定从源图像读取的数据块;对读取的每个数据块依次执行以下步骤对读取的数据块进行插值处理;对插值处理结束后的数据块进行编码处理。本发明由于不需要在一张图像缩放结束后才进行编码,且也不需要保存缩放结束获得的整幅图像,因此能够有效减少图像数据等待编码的时间以及保存缩放后图像所占用的存储空间。
文档编号H04N7/26GK102891998SQ20111020657
公开日2013年1月23日 申请日期2011年7月22日 优先权日2011年7月22日
发明者冷永春, 胡胜发 申请人:安凯(广州)微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1