CN100464588C - 一种数据压缩的方法和装置 - Google Patents
一种数据压缩的方法和装置 Download PDFInfo
- Publication number
- CN100464588C CN100464588C CNB2007100628415A CN200710062841A CN100464588C CN 100464588 C CN100464588 C CN 100464588C CN B2007100628415 A CNB2007100628415 A CN B2007100628415A CN 200710062841 A CN200710062841 A CN 200710062841A CN 100464588 C CN100464588 C CN 100464588C
- Authority
- CN
- China
- Prior art keywords
- data
- row
- delegation
- continuously
- line
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000013144 data compression Methods 0.000 title claims abstract description 14
- 239000000872 buffer Substances 0.000 claims abstract description 27
- 238000007906 compression Methods 0.000 claims description 18
- 230000006835 compression Effects 0.000 claims description 18
- 230000003139 buffering effect Effects 0.000 claims description 15
- 241001269238 Data Species 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种数据压缩的方法,用于对YUV422格式图象进行压缩,可解决压缩时对较大存储量需求的问题。所述的方法包括:接收N行Y、U、V数据;将每连续X行U数据和V数据分别合并为一行U数据和V数据,以得到N/X行U数据和N/X行V数据;将N行Y数据和N/X行U数据和N/X行V数据缓存入缓冲存储单元;然后将从缓冲存储单元中取出的:N/X行*M/2列U数据扩展为N行*M/2列U数据、N/X行*M/2列V数据扩展为N行*M/2列V数据;并对N行*M列Y、N行*M/2列U、N行*M/2列V进行压缩。本发明还公开了一种数据压缩装置。本发明可减少缓冲区的存储量,从而降低了硬件的成本。由于不改变压缩完文件的格式(仍然是YUV422格式),从而方便了用户使用压缩的文件。
Description
技术领域
本发明涉及一种数据处理技术,尤其涉及一种数据压缩的方法和装置。
背景技术
在数据处理技术中,数据压缩是最常用的技术之一,下面以JPEG图象为例来介绍数据压缩技术。JPEG是一种常见的图象压缩标准,它压缩的数据一般有如下几种格式:YUV422,YUV411,YUV420。
假设以VGA图象做为参考,其中水平方向有640个点,竖直方向有480个点。这样,YUV420是指在水平和垂直方向上每2个连续的采样点上取2个Y样本,1个U样本,1个V样本,因此,YUV420图象有640*480个Y,320*240个U,320*240个V。YUV411是指在水平方向上每4个连续的采样点取4个Y样本,1个U样本,1个V样本,因此,YUV411图象有640*480个Y,160*480个U,160*480个V。YUV422是指在水平方向上每2个连续的采样点取2个Y样本,1个U样本,1个V样本,因此,一个YUV422图象有640*480个Y,320*480个U,320*480个V。其中,Y代表采样点的亮度,U、V代表采样点的色差。
针对现有的YUV422格式的JPEG压缩方案中,一般都需要有16行的缓冲区做为存储,其中每一行缓冲区包括一行(640)Y数据,半行(320)U数据,半行(320)V数据,也就是说一行缓冲区容量应为640+320+320=1280,即,一行缓冲区包括两行数据。16行中,分成两个8行,分别用来接收上游送来的YUV数据,和供JPEG引擎压缩用。当接收完8行YUV数据之后,两个部分的缓冲区轮换,继续工作。这样,在YUV422格式的JPEG压缩方案中,需要16*2*Width个数据存储单元。例如,对VGA尺寸(640X480)的图象来说,Width=640。
当图象尺寸不断增大的时候,所需要的缓冲区的存储量也随着增大。这样,就会要求用于压缩的芯片存储量较大,增加硬件的成本。
发明内容
本发明的实施例是提供一种数据压缩的方法和装置,可解决压缩时对较大存储量需求的问题,从而降低了硬件的成本。
本发明提供了一种数据压缩的方法,用于对YUV422格式图象进行压缩,包括:
接收N行Y、U、V数据;
将每连续X行U数据合并为一行U数据,将每连续X行V数据合并为一行V数据,以得到N/X行U数据和N/X行V数据;
将N行Y数据和N/X行U数据和N/X行V数据缓存入缓冲存储单元;
从缓冲存储单元中取出N行*M列Y、N/X行*M/2列U数据、N/X行*M/2列V数据,并将N/X行*M/2列U数据扩展为N行*M/2列U数据,将N/X行*M/2列V数据扩展为N行*M/2列V数据;
对N行*M列Y、N行*M/2列U、N行*M/2列V进行压缩;
其中N为8或16,M为8或16,X为2、4或8。
所述每连续X行U数据合并为一行U数据具体包括:对每连续X行U数据进行平均,得到一行U数据。
所述每连续X行U数据合并为一行U数据具体包括:从每连续X行U数据中取一行U数据。
所述将N/X行*M/2列U数据扩展为N行*M/2列U数据具体包括:将一行U数据复制为X行U数据。
所述每连续X行V数据合并为一行V数据具体包括:对每连续X行V数据进行平均,得到一行V数据。
所述每连续X行V数据合并为一行V数据具体包括:从每连续X行V数据中取一行V数据。
所述将N/X行*M/2列V数据扩展为N行*M/2列V数据具体包括:将一行V数据复制为X行V数据。
本发明还公开了一种压缩数据装置,包括:
接收单元,用于接收YUV数据;
滤并单元,用于将每连续X行U数据合并为一行U数据,将每连续X行V数据合并为一行V数据,以得到N/X行U数据和N/X行V数据;
缓冲存储单元,用于存储N行Y数据、N/X行U数据和N/X行V数据;
扩展单元,用于将N/X行*M/2列U数据扩展为N行*M/2列U数据,将N/X行*M/2列V数据扩展为N行*M/2列V数据;
压缩单元,用于从缓冲存储单元中取出N行*M列Y、N/X行*M/2列U数据、N/X行*M/2列V数据,并启动扩展单元,然后对取出的N行*M列Y和扩展单元扩展的N行*M/2列U、N行*M/2列V进行压缩;
其中N为8或16,M为8或16,X为2、4或8。
所述缓冲存储单元的结构采用乒乓形式。
根据本发明,对于YUV422格式的输入图象,通过合并处理,可减少缓冲区的存储量,从而降低了硬件的成本。另外,由于不改变压缩完文件的格式(仍然是YUV422格式),从而方便了用户使用压缩的文件。
附图说明
图1示出了本发明实施例的数据压缩的流程图;
图2示出了对连续两行数据进行平均,生成一行数据的情形;
图3示出了从一行数据生成连续两行数据的情形;
图4示出了本发明实施例的数据压缩装置。
具体实施方式
为了便于本领域一般技术人员理解和实现本发明,现结合附图描绘本发明的实施例。
由于YUV422格式的图象是较常用的一种图象,因此,如图1所示,本申请的图象以YUV422格式为例来描述本发明的数据压缩方法。
步骤1、接收N行Y、U、V数据。N可以为8或16,下面以N=8为例来说明本发明的实施例。
对Y数据而言,是接收8行Y数据,共8*Width个数据,其中,Width为图象的宽度,当图象为VGA时,Width=640,以下假设图象为VGA。
对U数据而言,是接收8行U数据,共8*Width/2个数据,其中,Width=640。
对V数据而言,是接收8行V数据,共8*Width/2个数据,其中,Width=640。
步骤2、将每连续X行U数据合并为一行U数据,将每连续X行V数据合并为一行V数据,从而得到N/X行U数据和N/X行V数据。X可以为2或4。
以X为2、N为8进行举例说明,由于共有8行U数据,经过合并步骤后,得到4行U数据,共计4*Width/2个U数据;
由于共有8行V数据、经过合并步骤后,得到4行V数据,共计4*Width/2个V数据;
当X为2时,所述合并处理可以具体为:对连续两行数据进行平均,生成一行数据,如对1、2行进行平均,得到第一行数据,对3、4行进行平均,得到第二行数据,对5、6行进行平均,得到第三行数据,对7、8行进行平均,得到第四行数据,图2示出了对连续两行数据进行平均,生成一行数据的情形;也可以隔一行舍一行方式,使得每两行数据得到一行数据,如,取第一行数据作为第一行数据,舍掉第二行,取第三行数据作为第二行数据,舍掉第四行,取第五行数据作为第三行数据,舍掉第六行,取第七行数据作为第四行数据,舍掉第八行。
当X为4时,所述合并处理可以具体为:对连续4行数据进行平均,生成一行数据,如对1、2、3、4行进行平均,得到第一行数据,对5、6、7、8行进行平均,得到第二行数据;也可以在4行中任取一行,得到一行数据,如,取第一行数据作为第一行数据,舍掉第2、3和4行,取第五行数据作为第二行数据,舍掉第6、7、8行。
步骤3、将Y数据和合并后的UV数据缓存入缓冲存储单元。
还是以X为2、N为8进行举例说明。
对Y数据而言,就是缓存8行Y数据,即8*Width个数据。
对U数据而言,就是缓存4行U数据,即4*Width/2个数据。
对V数据而言,就是缓存4行V数据,即4*Width/2个数据。
步骤4、从缓冲存储单元中取出N行*M列Y、N/X行*M/2列U、N/X行*M/2列V数据,并对N/X行*M/2列U、N/X行*M/2列V数据进行扩展为N行*M/2列数据。M可以为8、16。
以X为2、N为8、M为16进行举例说明。
从缓冲存储单元中取出8行*16列Y数据;
从缓冲存储单元中取出4行*8列U数据,将4行*8列U数据进行扩展处理为8行*8列U数据。
从缓冲存储单元中取出4行*8列V数据,将4行*8列V数据进行扩展处理为8行*8列V数据。
对U数据和V数据在竖直方向上进行扩展处理可以具体为:将接收缓冲存储单元一行数据复制为压缩缓冲存储单元的两行数据,如,将接收缓冲区中的第一行数据复制为压缩缓冲区的第一行和第二行数据,将第二行数据复制为第三行和第四行数据,将第三行数据复制为第五行和第六行数据,将第四行数据复制为第七行和第八行数据,将图3示出了从一行数据生成连续两行数据的情形;也可以用其它方式,例如本领域技术人员公知的线性插值等技术,将一行数据复制为两行。
步骤5、按YUV422的格式进行压缩。
在压缩时,可以每次取8行*16列Y数据时,同时取4行*8列U数据,4行*8列V数据按YUV422的格式对压缩缓冲存储单元的数据进行压缩。
为了提高图象的压缩效率,可采用两套缓冲存储单元进行图象压缩,将缓冲存储单元分为两个部分,这两部分采用乒乓结构,即,当一部分接收数据时,可从另一部分取出缓存的数据,并取出的数据进行扩展,然后对扩展的数据进行压缩。这样,两部分缓冲存储单元可同时工作,互不影响,提高了图象压缩的效率。
根据本发明,对于接收8行压缩数据的接收过程中,本发明所需要的缓冲存储空间为:(8*Width+4*Width/2+4*Width/2)=12*Width。而原来方案所需要的JPEG缓冲存储空间为:(8*Width+8*Width/2+8*Width/2)=8*2*Width=16*Width,因而,节省了4*Width个数据单元的存储空间,考虑到需要两套这样的缓冲区轮换工作,这样,总共可以节省8*Width个数据单元的存储空间。
如图4所示,本发明还公开了一种压缩数据装置,包括:接收单元,用于接收YUV数据;滤并单元,用于将每连续X行U数据合并为一行U数据,将每连续X行V数据合并为一行V数据,以得到N/X行U数据和N/X行V数据;扩展单元,用于将N/X行*M/2列U数据扩展为N行*M/2列U数据,将N/X行*M/2列V数据扩展为N行*M/2列V数据;压缩单元,用于从缓冲存储单元中取出N行*M列Y、N/X行*M/2列U数据、N/X行*M/2列V数据,并启动扩展单元,然后对扩展单元扩展的N行*M列Y、N行*M/2列U、N/X行*M/2列V进行压缩;缓冲存储单元,用于存储N行Y数据、N/X行U数据和N/X行V数据缓存入缓冲存储单元;其中N为8或16,M为8或16,X为2、4或8。
所述缓冲存储单元可分为两部分,以形成乒乓结构。
根据本发明,通过在竖直方向上进行合并数据的处理,使得所需要的缓冲区存储空间减少,从而降低对硬件的要求,可使用成本较低的硬件完成本发明的数据压缩过程;另外,在进行压缩时,通过扩展的处理,恢复出所需要的YUV422格式进行JPEG压缩,从而方便了用户使用压缩的文件。
虽然通过实施例描绘了本发明,但本领域普通技术人员知道,在不脱离本发明的精神和实质的情况下,就可使本发明有许多变形和变化,本发明的范围由所附的权利要求来限定。
Claims (9)
1.一种数据压缩的方法,用于对YUV422格式图象进行压缩,其特征在于,包括:
接收N行Y、U、V数据;
将每连续X行U数据合并为一行U数据,将每连续X行V数据合并为一行V数据,以得到N/X行U数据和N/X行V数据;
将N行Y数据和N/X行U数据和N/X行V数据缓存入缓冲存储单元;
从缓冲存储单元中取出N行*M列Y、N/X行*M/2列U数据、N/X行*M/2列V数据,并将N/X行*M/2列U数据扩展为N行*M/2列U数据,将N/X行*M/2列V数据扩展为N行*M/2列V数据;
对N行*M列Y、N行*M/2列U、N行*M/2列V进行压缩;
其中N为8或16,M为8或16,X为2、4或8。
2.根据权利要求1所述的方法,其特征在于,所述每连续X行U数据合并为一行U数据具体包括:对每连续X行U数据进行平均,得到一行U数据。
3.根据权利要求1所述的方法,其特征在于,所述每连续X行U数据合并为一行U数据具体包括:从每连续X行U数据中取一行U数据。
4.根据权利要求2或3所述的方法,其特征在于,所述将N/X行*M/2列U数据扩展为N行*M/2列U数据具体包括:将一行U数据复制为X行U数据。
5.根据权利要求1所述的方法,其特征在于,所述每连续X行V数据合并为一行V数据具体包括:对每连续X行V数据进行平均,得到一行V数据。
6.根据权利要求1所述的方法,其特征在于,所述每连续X行V数据合并为一行V数据具体包括:从每连续X行V数据中取一行V数据。
7.根据权利要求5或6所述的方法,其特征在于,所述将N/X行*M/2列V数据扩展为N行*M/2列V数据具体包括:将一行V数据复制为X行V数据。
8.一种压缩数据装置,其特征在于,包括:
接收单元,用于接收YUV数据;
滤并单元,用于将每连续X行U数据合并为一行U数据,将每连续X行V数据合并为一行V数据,以得到N/X行U数据和N/X行V数据;
缓冲存储单元,用于存储N行Y数据、N/X行U数据和N/X行V数据;
扩展单元,用于将N/X行*M/2列U数据扩展为N行*M/2列U数据,将N/X行*M/2列V数据扩展为N行*M/2列V数据;
压缩单元,用于从缓冲存储单元中取出N行*M列Y、N/X行*M/2列U数据、N/X行*M/2列V数据,并启动扩展单元,然后对取出的N行*M列Y和扩展单元扩展的N行*M/2列U、N行*M/2列V进行压缩;
其中N为8或16,M为8或16,X为2、4或8。
9.根据权利要求8所述的装置,其特征在于,所述缓冲存储单元的结构采用乒乓形式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100628415A CN100464588C (zh) | 2007-01-18 | 2007-01-18 | 一种数据压缩的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100628415A CN100464588C (zh) | 2007-01-18 | 2007-01-18 | 一种数据压缩的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101001376A CN101001376A (zh) | 2007-07-18 |
CN100464588C true CN100464588C (zh) | 2009-02-25 |
Family
ID=38693156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100628415A Expired - Fee Related CN100464588C (zh) | 2007-01-18 | 2007-01-18 | 一种数据压缩的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100464588C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291269A (zh) * | 2011-09-29 | 2011-12-21 | 迈普通信技术股份有限公司 | 一种数据归并处理方法 |
CN107146269B (zh) * | 2017-04-10 | 2021-04-13 | 贵阳朗玛信息技术股份有限公司 | 一种图像填充方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0469892A2 (en) * | 1990-08-01 | 1992-02-05 | Matsushita Electric Industrial Co., Ltd. | Filter device for decimation and interpolation of chrominance components of a video signal |
CN1246246A (zh) * | 1996-12-17 | 2000-03-01 | 汤姆森消费电子有限公司 | 图象处理系统中的象素块压缩设备 |
US6144763A (en) * | 1997-03-24 | 2000-11-07 | Fuji Photo Film Co., Ltd. | Method and apparatus for compression coding of image data representative of a color image and digital camera including the same |
CN1526236A (zh) * | 2001-07-12 | 2004-09-01 | �ű�ʵ������֤��˾ | 用于改善压缩图像色度信息的方法和系统 |
-
2007
- 2007-01-18 CN CNB2007100628415A patent/CN100464588C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0469892A2 (en) * | 1990-08-01 | 1992-02-05 | Matsushita Electric Industrial Co., Ltd. | Filter device for decimation and interpolation of chrominance components of a video signal |
CN1246246A (zh) * | 1996-12-17 | 2000-03-01 | 汤姆森消费电子有限公司 | 图象处理系统中的象素块压缩设备 |
US6144763A (en) * | 1997-03-24 | 2000-11-07 | Fuji Photo Film Co., Ltd. | Method and apparatus for compression coding of image data representative of a color image and digital camera including the same |
CN1526236A (zh) * | 2001-07-12 | 2004-09-01 | �ű�ʵ������֤��˾ | 用于改善压缩图像色度信息的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101001376A (zh) | 2007-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8503827B2 (en) | Apparatus and method for decoding image data | |
US20060269147A1 (en) | Accelerated image rendering | |
WO2002015162A3 (en) | System and method for displaying large images with reduced capacity buffer, file format conversion, user interface with zooming and panning, and broadcast of different images | |
CN1469316A (zh) | 使用压缩域处理显示任意放大的高清晰度图像的方法和装置 | |
US7747097B2 (en) | Method for simple hardware implementation of JPEG size limiter | |
CN101266650A (zh) | 一种基于人脸检测的图像保存方法 | |
CN100356405C (zh) | 一种改变数字图像尺寸的方法及装置 | |
CN112637598B (zh) | 视频的压缩与解压缩方法、装置、设备及可读存储介质 | |
CN102196260A (zh) | 压缩图像的部分伸展方法以及图像处理装置 | |
US8269786B2 (en) | Method for reading and writing image data in memory | |
CN100464588C (zh) | 一种数据压缩的方法和装置 | |
CN100539700C (zh) | 图像编码方法和装置 | |
WO2007021135A1 (en) | Processing method of data structure for real-time image processing | |
CN101212660B (zh) | 图像分段解码方法 | |
CN103886624A (zh) | 一种jpeg图像的缩略图提取方法 | |
CN100364323C (zh) | 采用嵌入式Linux系统的电视机显示高分辨率JPEG图片的方法 | |
US20080278606A9 (en) | Image compositing | |
US6970265B2 (en) | Digital image processing device and digital camera using this device | |
CN102724471A (zh) | 图片和视频的转换方法和装置 | |
CN102129702B (zh) | 一种图像缩略图的制作方法及其系统 | |
CN101986690A (zh) | 图像传感器的图像数据处理方法及装置 | |
CN202004870U (zh) | 图像传感器的图像数据处理装置 | |
CN101489018A (zh) | 静态影像压缩方法及电脑可读取的储存装置 | |
JP4109151B2 (ja) | 画像処理装置 | |
JP2004226908A (ja) | 画像表示装置およびそのプログラム |
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: 20090225 Termination date: 20120118 |