CN100464588C - 一种数据压缩的方法和装置 - Google Patents

一种数据压缩的方法和装置 Download PDF

Info

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
Application number
CNB2007100628415A
Other languages
English (en)
Other versions
CN101001376A (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 CNB2007100628415A priority Critical patent/CN100464588C/zh
Publication of CN101001376A publication Critical patent/CN101001376A/zh
Application granted granted Critical
Publication of CN100464588C publication Critical patent/CN100464588C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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所述的装置,其特征在于,所述缓冲存储单元的结构采用乒乓形式。
CNB2007100628415A 2007-01-18 2007-01-18 一种数据压缩的方法和装置 Expired - Fee Related CN100464588C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 �ű�ʵ������֤��˾ 用于改善压缩图像色度信息的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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