CN100551067C - Jpeg图像压缩时非标准图像尺寸的图像数据处理装置及方法 - Google Patents

Jpeg图像压缩时非标准图像尺寸的图像数据处理装置及方法 Download PDF

Info

Publication number
CN100551067C
CN100551067C CN 200610169859 CN200610169859A CN100551067C CN 100551067 C CN100551067 C CN 100551067C CN 200610169859 CN200610169859 CN 200610169859 CN 200610169859 A CN200610169859 A CN 200610169859A CN 100551067 C CN100551067 C CN 100551067C
Authority
CN
China
Prior art keywords
data
view data
yuv format
format view
row
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 200610169859
Other languages
English (en)
Other versions
CN1997158A (zh
Inventor
周天夷
杨柱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vimicro Corp
Original Assignee
Vimicro Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CN 200610169859 priority Critical patent/CN100551067C/zh
Publication of CN1997158A publication Critical patent/CN1997158A/zh
Application granted granted Critical
Publication of CN100551067C publication Critical patent/CN100551067C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了JPEG图像编码时非标准图像尺寸的图像数据处理装置,用于对将要输入到JPEG编码模块的图像数据进行标准化格式处理,其中包括存储逻辑电路、存储器和读出逻辑电路。本发明还公开了JPEG图像编码时非标准图像尺寸的图像数据处理方法。本发明不用对图像本身进行放大或缩小的处理,而是通过对将要输入到JPEG编码器的图像数据在缓存器中的读写地址产生逻辑进行改进,即可自动补齐数据,使非标准尺寸的图像变为标准尺寸的图像,以满足JPEG编码对于输入图像数据尺寸的特殊要求。本发明实现简单,不用增加多余的电路结构,可以广泛应用于对输入给JPEG图像编码模块的非标准图像尺寸的处理中。

Description

JPEG图像压缩时非标准图像尺寸的图像数据处理装置及方法
技术领域
本发明涉及JPEG图像压缩领域,特别涉及JPEG图像压缩时非标准图像尺寸的图像数据处理装置及方法。
技术背景
当利用JPEG标准对YUV格式图像的数据进行压缩时,是以宏块为单位进行处理的,每个宏块中包含了Y、U、V各分量的块即block,每个block是一个8行乘8列数据的数据块。所以对于不同的YUV数据格式,如YUV422、YUV420、YUV411和YUV400等等,要求输入图像的宽度和高度必须是一些特殊数的整数倍。例如,对于YUV420格式,要求输入图像的宽度和高度必须为16的整倍数;而对于YUV411格式,图像的宽度必须为32的整倍数,图像的高度必须为8的整倍数。
当输入图像的宽度和高度不是上述特殊数的整数倍时,在进行JPEG编码前就需要先进行图像数据转换,以使图像数据在输入给JPEG编码器时符合上述特殊数的整数倍的要求。一般图像数据转换方法有下述两种。
第一,缩小法:即只对图像是8的整倍数的部分进行压缩,截掉多余的图像数据。这样会导致图像信息的损失。比如在使用数码相机照相时,在LCD取景器中看到的是完整图像,却在经过压缩保存后变成了不完整的图像。
第二,放大法:对实际图像进行放大,以达到图像的宽度和高度是一些特殊数的整数倍的要求。这就需要有一个复杂的任意比例的图像放大电路,来对上述不同格式的YUV数据进行放大,因而增加了芯片的面积,提高了成本。
发明内容
有鉴于此,本发明需要解决的技术问题就是现有技术中,对于JPEG编码前的图像数据的处理,缩小法会导致图像信息损失,而放大法则会使电路过于复杂,从而增加芯片面积,提高芯片成本的问题。
为了解决上述技术问题,本发明提供一种JPEG图像压缩时非标准图像尺寸的图像数据处理装置,用于对将要输入到JPEG编码模块的图像数据进行标准化格式处理,其中包括存储逻辑电路、存储器和读出逻辑电路;
所述存储逻辑电路用于接收输入的YUV格式图像数据,所述YUV格式的图像尺寸为H1行*W1列,在进行JPEG编码时所需的宏块大小为N行*M列,并计算出输入图像数据在存储器中的存储地址即写地址ADDR_wr;
所述存储器用于将图像数据缓存到ADDR_wr所指定的地址处;
所述读出逻辑电路用于产生图像数据的读出地址ADDR_rd,并将ADDR_rd处的数据读出送给JPEG模块进行编码;
所述存储逻辑电路计算ADDR_wr时,每次存储至少N行图像数据,以每行数据为W2个来计算每行的首个写地址,其它数据地址依次递增,即每行增加了W2-W1个冗余数据;每帧图像的首个写地址,以上一帧图像有H2*W2个数据来计算,即每帧图像增加了H2-H1行冗余数据;
在所述读出逻辑电路读出数据时,每次读出N行数据,每行数据个数为W2,每帧图像读出H2行数据,包括所有的YUV格式的实际数据以及冗余数据。
优选地,所述存储器中包括两个存储单元,进行乒乓式的存储,即一个存储单元存储满后,可以将数据读出,同时向另一个存储单元中存入数据,两个存储单元循环使用。
优选地,所述冗余数据可以进行配置。
本发明还提供一种JPEG图像压缩时非标准图像尺寸的图像数据处理方法,用于对将要输入到JPEG编码模块的图像数据进行标准化格式处理,包括以下步骤:
100接收YUV格式的输入图像数据,所述YUV格式的图像尺寸为H1行*W1列,在进行JPEG编码时所需的宏块大小为N行*M列;
200计算存储地址,将YUV格式的输入图像数据缓存下来;
300计算读取地址,然后将YUV格式的输入图像数据读取出来,进行JPEG编码。
步骤200所述计算存储地址的具体步骤为:
201得到YUV格式输入图像的宽度和高度尺寸W1和H1;并且根据YUV图像的具体格式取得宽度和高度特殊数M和N,并根据W1和H1、M和N得到W2和H2;
202每次存储至少N行图像数据,以每行数据为W2个来计算每行的首个写地址,其它数据地址依次递增,即每行增加了W2-W1个冗余数据;每帧图像的首个写地址,以上一帧图像有H2*W2个数据来计算,即每帧图像增加了H2-H1行冗余数据。
步骤300所述计算读取地址的具体步骤为:
每次读出N行数据,每行数据个数为W2,每帧图像读出H2行数据,包括所有的YUV格式的实际数据以及冗余数据。
优选地,步骤200所述的存储YUV格式图像数据采用乒乓式存储方法,即一个存储单元存储满后,可以将数据读出,同时向另一个存储单元中存入数据,两个存储单元循环使用。
优选地,所述冗余数据可以进行配置。
本发明不用对图像本身进行放大或缩小的处理,而是通过对将要输入到JPEG编码器的图像数据在缓存器中的读写地址产生逻辑进行改进,即可自动补齐数据,使非标准尺寸的图像变为标准尺寸的图像,以满足JPEG编码对于输入图像数据尺寸的特殊要求。
附图说明
图1为本发明装置示意图;
图2为利用本发明时图像数据地址的变换示意图;
图3为本发明方法流程图;
图4所示为本发明方法中步骤200计算存储地址的具体步骤。
具体实施方式
下面结合说明书附图,进一步说明本发明的装置及方法。
如图1所示,为本明的装置示意图。其中包括存储逻辑电路、存储器和读出逻辑电路。所述存储逻辑电路用于接收输入的YUV格式图像数据,并计算出输入图像数据在存储器中的存储地址即写地址ADDR_wr。所述存储器用于将图像数据缓存到ADDR_wr所指定的地址处。所述读出逻辑电路用于产生图像数据的读出地址ADDR_rd,并将ADDR_rd处的数据读出送给JPEG模块进行编码。
下面介绍本发明中ADDR_wr和ADDR_rd的具体产生方式。在此之前,先说明下面用到的一些符号的含义:
M为图像宽度的特殊数,JPEG编码时要求输入图像的宽度为M的整数倍;
N为图像高度的特殊数,JPEG编码时要求输入图像的高度为N的整数倍;
下面所述的“实际图像”尺寸,为输入到存储逻辑电路时的图像尺寸,而“JPEG图像”尺寸,则为读出逻辑电路输出给JPEG编码器的图像尺寸,也为JPEG标准要求的图像尺寸。
W1为实际图像宽度,单位是图像像素个数,可以不是特殊数的整数倍;
H1为实际图像高度,单位是图像像素个数,可以不是特殊数的整数倍;
W2为JPEG图像宽度,单位是图像像素个数,是特殊数的整数倍,且W2≥W1;
H2为JPEG图像高度,单位是图像像素个数,是特殊数的整数倍,且H2≥H1,
每次存储器中需缓存至少N行图像数据,N1为当前像素在当前的N行图像数据中的行数,N1可以是1到N的正整数。
在将图像分割转换成包含多个8行乘8列的block的数据宏块时,需要在所述存储器中存储至少N行图像数据。在存储宽度为W1的每一行数据时,存储逻辑电路计算其每一行起始数据的存储地址的公式不是ADDR_wr=N1*W1,而是ADDR_wr=N1*W2。即一行的第一个数据的存储位置不是紧接着上一行最后一个数据的存储位置,而是应该以W2为步长,乘以行数N1得出。而下一帧图像的第一行数据的存储位置不是以上一帧图像高度为H1而计算得出,而是以上一帧图像高度为H2来计算得到。即下一帧图像不是紧接着上一帧最后一个数据的存储位置,而是空过冗余行(H2-H1)后的位置。以图例来说明上述图像数据地址的变换实质。如图2所示,左边图像表示实际的YUV图像,其宽度和高度分别为W1和H1;而右边的图表示经过上述地址计算后所保存的图像,其实质就是将实际的尺寸为H1*W1的图像转换成了尺寸为H2*W2的一幅图像,但是本发明缓存器中的数据除了H1*W1尺寸的实际图像的数据之外,其它数据都是冗余数据。经过这样的地址转换处理,保存在存储器的图像数据,其实已经转换成了标准尺寸的图像,完全符合JPEG编码器对输入数据的要求。
然后在读出逻辑电路读取存储的数据时,要读出包括冗余数据在内的图像数据。产生读地址ADDR_rd时不是以W1来计算一行要读取的8行乘8列的次数,而是以W2来计算,即在读取一行中最后一个宽度为M的数据段时,(W2-W1)列的冗余数据和有效数据会被一并读出,从而自动完成图像宽度数据补足的功能。另个,对于每幅图像中的最后(H2-H1)行的冗余行数据也正常读出,送入JPEG编码器。
举例来说,假设输入图像数据为YUV420格式,尺寸为H1*W1=600*450而对于YUV420格式来说,JPEG编码器要求其输入图像的宽度和高度必须为16的整倍数,所以M和N分别为16,即一个宏块的尺寸为16*16,则600*450的图像包括完整的37*28个宏块,此外,每行多出了8个数据,每帧图像多出了2行数据。所以可以在输入图像中的每一列增加8个冗余数据,每帧图像后增加14行冗余数据,将输入图像变换成为H2*W2=608*464的图像。
因为N=16,存储器最少需要缓存16行图像数据,假设存储器大小仅可以存储16行图像数据。则写地址具体变换方式如下,对于前37个16行数据,在每个16行数据存储时,每行第一个写地址ADDR_wr的计算,都是以上一行宽度为W2来计算,这样图像其实是每存一行450像素的图像数据,即隔开14个地址再继续保存下一行数据。在处理完前37个16行的数据后,处理一幅图像的最后8行数据,这8行数据仍与前述地址的产生方式相同。在处理下一帧图像时,其首地址不能继续上述8行之后的地址,而是从存储器的开头重新计算。这样事实上就是在前一帧图像的最后8行数据后增加了8行冗余数据,每行数据列数为464。
在上述实施例中,存储器每次保存一组16行数据,在实际使用中,只要行数大于16即可,如每次缓存20行。则对于为YUV420且尺寸为600*450的图像来说,存储每行数据时ADDR_wr的产生规律仍与上述内容中相同。只是在本帧图像数据处理完毕后,即存储了共30组、每组20行数据、每行数据后增加14个冗余数据之后,下一幅图像开始的地址并不是紧接着最后一行数据,而是隔开共8行、每行464个数据处的地址。
另外,存储器中可以使用乒乓结构的两个存储单元,每个存储单元可以保存至少16行数据,每行464个数据,其中每行的最后14个为冗余数据,存满一个存储单元后就开始使用另一存储单元,如此循环使用两个存储单元。
在将图像数据按照上述本发明的方式缓存到存储器中后,读出逻辑电路即按照每行464个数据、每帧图像共608行计算读地址,将实际数据和冗余数据一并读出,送给JPEG编码模块。
对于其它格式的YUV数据,也可根据各自不同的特殊数以及实际的图像宽度高度等值按照上述方法进行地址的计算。
至于冗余数据的值,可以通过寄存器配置。
本发明的方法流程图如图3和图4所示。
图3所示,为本发明方法的宏观步骤,包括:
100接收YUV格式的输入图像数据;
200计算存储地址,将YUV格式的输入图像数据缓存下来;
300计算读取地址,然后将YUV格式的输入图像数据读取出来,进行JPEG编码。
图4所示为本发明方法中步骤200计算存储地址的具体步骤。
201接收YUV格式的输入图像,得到该图像的宽度和高度尺寸W1和H1;并且根据YUV图像的具体格式取得宽度和高度特殊数M和N,并根据W1和H1、M和N得到W2和H2;
仍以上述装置中描述的YUV420格式的图像数据为例,其尺寸为600*450。对于YUV420格式来说,JPEG编码器要求其输入图像的宽度和高度必须为16的整倍数,所以得到其M和N都为16。则可以将输入图像变换成为H2*W2=608*464的图像,每行增加8个冗余数据,每帧图像增加14行冗余数据。
202每次存储至少N行图像数据,以每行数据为W2个来计算每行的首个写地址,其它数据地址依次递增;每帧图像的首个写地址,以上一帧图像有H2*W2个数据来计算。
每次存储至少N行图像数据,这是因为JPEG编码器每次处理的一个宏块的高度为N行。在本例中,假设每次存储16行数据正整数。则具体的写地址计算公式可以为ADDR_wr=i*464+j,其中i为从0到15的正整数,表示当前像素在当前的16个行中的第i行,j为从0到449的正整数,表示每行中的第j个图像数据;将图像数据存入所述存储地址。具体来说,第一行实际数据有450个,依次存储完毕后,在存储下一行数据时,因为步长为464,所以下一行数据从464开始存储,所以按照这种方式产生写地址实质上就是每行增加了16个冗余数据。
因为实际图像的行数为600,而每次存储16行,所以最后一次存储时仅有8行数据需要存储。那么在这8行数据数据存储完毕后,在存储下一帧图像的数据时,写地址的产生不是紧接着所述的8行数据的,而是隔开8行数据然后开始。
至于步骤300所述的读地址,其具体产生步骤如下。仍以YUV420格式尺寸为600*450的图像数据为例,在按照201、202所述的步骤产生了写地址并将图像数据存入存储器后,在之后读出数据时,每次读出N行即16行数据,其读地址的计算公式为ADDR_rd=i’*464+j’,其中i’为从0到15的正整数,表示当前像素在当前的16行中的第i’行,j’为从0到463的正整数,表示每行中的第j个图像数据;将图像数据读出送给JPEG编码模块。具体来说,第一行实际数据有450个,但加上冗余数据有464个,在读取数据时,每行要读取包括实际数据和冗余数据在内的464个数据。注意在读取数据时,是需要将所有的实际数据和冗余数据都一一记取出来的。
对于其它格式的YUV数据,也可根据各自不同的特殊数以及实际的图像宽度高度等值按照上述方法进行地址的计算。
至于冗余数据的值,可以通过寄存器配置。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。

Claims (4)

1、JPEG图像编码时非标准图像尺寸的图像数据处理装置,用于对将要输入到JPEG编码模块的图像数据进行标准化格式处理,所述图像数据处理装置包括存储逻辑电路、存储器和读出逻辑电路;
所述存储逻辑电路用于接收输入的YUV格式图像数据,并计算出输入的YUV格式图像数据在存储器中的写地址ADDR_wr,所述YUV格式图像数据的图像尺寸为H1行*W1列,在进行JPEG编码时所需的宏块大小为N行*M列;
所述存储器用于将YUV格式图像数据缓存到ADDR_wr所指定的地址处;
所述读出逻辑电路用于产生YUV格式图像数据的读出地址ADDR_rd,并将ADDR_rd处的YUV格式图像数据读出送给JPEG编码模块进行编码;
其特征在于,
所述存储逻辑电路计算ADDR_wr时,每次存储至少N行YUV格式图像数据,以每行YUV格式图像数据为W2个来计算每行的首个写地址,该行的数据的写地址依次递增,即每行增加了W2-W1个冗余数据,所述W2为M的整数倍且大于W1;在计算每帧YUV格式图像数据的首个写地址时,以上一帧YUV格式图像数据有H2*W2个数据来计算,即每帧增加了H2-H1行冗余数据,所述H2是N的整数倍且大于H1;
在所述读出逻辑电路读出YUV格式图像数据时,每次读出N行YUV格式图像数据,每行YUV格式图像数据个数为W2,每帧YUV格式图像数据总共将读出H2行数据,包括所有的YUV格式图像数据的实际数据以及冗余数据,所述YUV格式图像数据的实际数据为输入YUV格式图像数据的H1行*W1列内数据。
2、根据权利要求1所述的装置,其特征在于,所述存储器中包括两个存储单元,进行乒乓式的存储,即一个存储单元存储满后,将数据读出,同时向另一个存储单元中存入数据,两个存储单元循环使用。
3、JPEG图像压缩时非标准图像尺寸的图像数据处理方法,用于对将要输入到JPEG编码模块的图像数据进行标准化格式处理,包括以下步骤:
步骤100:接收输入的YUV格式图像数据,所述YUV格式图像数据的图像尺寸为H1行*W1列,在进行JPEG编码时所需的宏块大小为N行*M列;
步骤200:计算存储地址,将输入的YUV格式图像数据缓存下来;
步骤300:计算读取地址,然后将输入的YUV格式图像数据读取出来,进行JPEG编码,
其特征在于,步骤200所述计算存储地址的具体步骤为:
步骤201:得到YUV格式图像数据的宽度尺寸W1和高度尺寸H1;并且根据YUV格式图像数据的具体格式取得宽度特殊数M和高度特殊数N,并根据W1和H1、M和N得到W2和H2,所述W2是M的整数倍且大于W1,所述H2是N的整数倍且大于H1;
步骤202:每次存储至少N行YUV格式图像数据,以每行YUV格式数据为W2个来计算每行的首个写地址,该行的数据的写地址依次递增,即每行增加了W2-W1个冗余数据;每帧YUV格式图像数据的首个写地址,以上一帧YUV格式图像数据有H2*W2个数据来计算,即每帧增加了H2-H1行冗余数据,
步骤300所述计算读取地址的具体步骤为:
每次读出N行YUV格式图像数据,每行YUV格式图像数据个数为W2,每帧YUV格式图像数据总共将读出H2行,包括所有的YUV格式图像数据的实际数据以及冗余数据,所述YUV格式图像数据的实际数据为输入YUV格式图像数据的H1行*W1列内数据。
4、根据权利要求3所述的方法,其特征在于,步骤200中缓存YUV格式图像数据采用乒乓式存储方法,即一个存储单元存储满后,将数据读出,同时向另一个存储单元中存入数据,两个存储单元循环使用。
CN 200610169859 2006-12-29 2006-12-29 Jpeg图像压缩时非标准图像尺寸的图像数据处理装置及方法 Expired - Fee Related CN100551067C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610169859 CN100551067C (zh) 2006-12-29 2006-12-29 Jpeg图像压缩时非标准图像尺寸的图像数据处理装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610169859 CN100551067C (zh) 2006-12-29 2006-12-29 Jpeg图像压缩时非标准图像尺寸的图像数据处理装置及方法

Publications (2)

Publication Number Publication Date
CN1997158A CN1997158A (zh) 2007-07-11
CN100551067C true CN100551067C (zh) 2009-10-14

Family

ID=38252052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610169859 Expired - Fee Related CN100551067C (zh) 2006-12-29 2006-12-29 Jpeg图像压缩时非标准图像尺寸的图像数据处理装置及方法

Country Status (1)

Country Link
CN (1) CN100551067C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077588A (zh) * 2014-07-10 2014-10-01 苏州皓琪信息科技有限公司 Jpeg压缩的医学dicom动态影像的帧偏移量自动插入的方法
CN111820753B (zh) * 2019-04-18 2022-12-27 佛山市美的清湖净水设备有限公司 饮水机及其控制方法和装置
CN111756997B (zh) * 2020-06-19 2022-01-11 平安科技(深圳)有限公司 像素存储方法、装置、计算机设备及可读存储介质

Also Published As

Publication number Publication date
CN1997158A (zh) 2007-07-11

Similar Documents

Publication Publication Date Title
US8866646B2 (en) Memory compression technique with low latency per pixel
CN100477788C (zh) 图像处理显示装置和图像处理显示方法
CN101917543B (zh) 图像处理装置和摄像装置
CN101882302B (zh) 一种基于多核的运动模糊图像复原系统
CN101248430B (zh) 视频处理的转置缓冲
US8989509B2 (en) Streaming wavelet transform
CN100356405C (zh) 一种改变数字图像尺寸的方法及装置
CN103609117A (zh) 编码和解码图像的方法及装置
US7689047B2 (en) Reduced buffer size for JPEG encoding
CN110933445B (zh) 一种基于系数矩阵变换的dct运算方法及其变换装置
CN103402068A (zh) 非压缩式视频播放系统及播放方法
CN100551067C (zh) Jpeg图像压缩时非标准图像尺寸的图像数据处理装置及方法
CN107886466A (zh) 一种图形处理器图像处理单元体系结构
US7936375B2 (en) Image processor, imaging device, and image processing system use with image memory
CN102831571B (zh) 用流水线方式单步实现图形图像缩放、旋转的5阶滤波器的设计方法
JP2010278532A (ja) 画像処理装置
CN103975583A (zh) 捕获多个视频通道用于视频分析和编码
US20080278606A9 (en) Image compositing
CN104113759A (zh) 视频系统、视频帧缓存再压缩/解压缩方法与装置
CN102576301B (zh) 包括fifo存储器的接口连接电路
CN101510953A (zh) 高性能cmos一体化数字摄相机
CN102665056A (zh) 视频和图像在显示终端的显示方法
CN102098459B (zh) 实时视频图像任意角度旋转系统及其控制方法
CN100379249C (zh) 一种在拍摄过程中改变数字图像尺寸的方法及装置
CN103475819A (zh) 超高清智能摄像机及其图像数据拼接方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091014

Termination date: 20111229