CN101202809B - 一种用于行缓冲器的压缩方法 - Google Patents
一种用于行缓冲器的压缩方法 Download PDFInfo
- Publication number
- CN101202809B CN101202809B CN2007101794855A CN200710179485A CN101202809B CN 101202809 B CN101202809 B CN 101202809B CN 2007101794855 A CN2007101794855 A CN 2007101794855A CN 200710179485 A CN200710179485 A CN 200710179485A CN 101202809 B CN101202809 B CN 101202809B
- Authority
- CN
- China
- Prior art keywords
- sub
- view data
- piece
- row
- zone
- 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 34
- 239000000872 buffer Substances 0.000 title claims abstract description 29
- 230000006835 compression Effects 0.000 title claims description 21
- 238000007906 compression Methods 0.000 title claims description 21
- 230000008520 organization Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明披露了一种用于行缓冲器的压缩方法,以有效地利用行存储器的空闲空间,节省了资源。该方法包括将一行缓冲器划分为多个区域,该多个区域分别以横向和纵向的形式进行排列后形成阵列;逐行写入图像数据,直至最后一行;在将图像数据逐列写入到该最后一行的区域时,依次输出写满在位于同一列的区域上的图像数据直至位于该同一列上的各该区域全部为空;将以处于该阵列其中一个对角线上的多个区域为轴,将与空出区域相对应的区域上的图像数据搬移到各该为空的区域;其中,当写满在位于同一列的区域上的图像数据发生搬移时,输出写满在位于同一列的区域上的图像数据包括输出在该同一列的区域中被搬移的图像数据。
Description
技术领域
本发明涉及一种图像传输的方法,更具体地,涉及一种用于行缓冲器的JPEG(Joint Photographic Experts Group)压缩的方法。
背景技术
JPEG时一种针对相片影像而广泛使用的一种失真压缩的标准。由于JPEG是基于8X8宏块的压缩算法,该8X8宏块具体如图1所示。通常,行缓冲器的大小为64X2X8=1024字节,把该行缓冲器分为8行,每行为128字节,每行中8个字节为一个子块,共分为16个子块。我们把16个子块分为8个区,每个区共2个子块。以行和区为基本单位,这样行缓冲器就形成了8行和8列的宏块阵列,整个的行缓冲器可以分为64个区域,每个区分为2个1X8大小的子块,即,分别为第一子块和第二子块。为易于说明每个区域的位置,每个区域中可以引用一对坐标来表示。
在现有技术的方法中,图像传感器是按照行的方式依次输出各行的图像,即,同时输出各个行的同一列上的图像数据,所以必须把各行的数据暂时存储在RAM中,直到RAM中存储了连续8行的图像,才开始进行JPEG压缩。在图像压缩的同时,图像传感器还继续输出图像,所以需要另外的RAM用于存储后继的图像数据。一般的方法是用两个8行的行缓冲器r存储图像,用乒乓的方式交替工作。
因此,现有技术的用于行缓冲器的JPEG压缩方法占用了较多的资源,不利于降低成本。
发明内容
本发明的所解决的技术问题在于提出一种用于行缓冲器的压缩方法,通过合理地利用行缓冲器中的空闲区域,使得行缓冲器在输出图像数据的同时,又可以有效地存储新的图像数据,而无需额外再利用一个行缓冲器。
根据本发明的一种用于行缓冲器的压缩方法,该方法包括将一行缓冲器划分为多个区域,该多个区域分别以横向和纵向的形式进行排列后形成阵列;逐行写入图像数据,直至最后一行;在将图像数据逐列写入到该最后一行的区域时,依次输出写满在位于同一列的区域上的图像数据直至位于该同一列上的各该区域全部为空;将以处于该阵列其中一个对角线上的多个区域为轴,将与空出区域相对应的区域上的图像数据搬移到各该为空的区域;其中,当写满在位于同一列的区域上的图像数据发生搬移时,输出写满在位于同一列的区域上的图像数据还包括输出在该同一列的区域中被搬移的图像数据。该每一区域进一步地被划分成第一和第二子块。故此,在各行的同一列相同位置上的子块被写满图像数据时,输出存储在该相同位置上的子块中的图像数据。
具体地,本发明的方法还包括将图像数据写入到最后一行的一预定列的第一子块中的步骤;输出该预定列的第一子块中的图像数据直至该预定列的第一子块全部为空的步骤;和将与该预定列的第一子块以该轴相对应的行中的各个列的第一子块中的图像数据搬移到该预定列的第一子块中的步骤。
进一步地,本发明的方法还包括继续将图像数据写入到该预定列的第二子块中的步骤;输出该预定列的第二子块中的图像数据直至该预定列的第二子块全部为空的步骤;和将与该预定列的第二子块以该轴相对应的行中的各个第二子块中的图像数据搬移到该预定列的第二子块中的步骤。
根据本发明的方法还包括将新的图像数据继续逐行写入经搬移后为空的区域。
附图说明
下面结合附图,通过对本发明的较佳实施例的描述,使得本发明的上述技术方案以及其它有点显而易见。
图1显示了现有技术的行缓冲器的分区图;
图2A-图2Z显示了利用本发明的压缩方法对图像数据输出和写入的的流程示意图;
图3显示了第七区被输出后的存储结构示意图;
图4显示了在行缓冲器的最后一个区被读取后的存储结构示意图,其中第一至第七行已经写入了新的图像数据。
具体实施方式
下文,将详细描述本发明。
本发明具体利用8行的行缓冲器进行JPEG压缩的方法,并以图像的宽度为64,图像格式为YUV422为例来描述该方法。
如图1所示,本发明的方法需要首先将处于宏块阵列其中一个对角线上的区域确定为轴线,例如:该处于对角线区域应是区域(0,0),区域(1,1)...区域(7,7)。然后,在JPEG模块依次读出该轴线一侧的各个宏块以后,把轴线另一侧的图像数据搬移到该侧的相应区域中。
具体地,如图2A所示的是在本发明的一个行缓冲器的分区图,为更好地说明本发明的技术方案,以标号M来表式正在写入的一组图像数据,以坐标法来表示这些图像数据所在的位置,其中行坐标0-7分别表示第一至第八行,纵坐标0-7表示第一至第八列(或区域),以标号a和b分别表示每一列下的第一子块和第二子块。这样,存储在第四行第三个区域的第一子块的图像数据就可以M32a来表示。
首先,第一行到第七行的所有数据已经存储在行缓冲器中时,图像传感器(未示出)开始写入最后一行的数据了。当其把M70a写入到了行缓冲器中时,此时第一宏块(第一区域0的第一子块a),即M00a,M10a,M20a,...M70a都已经准备好了,JPEG模块(未示出)读出该第一宏块。
在输出数据后,该行缓冲器的存储如图2B所示,该第一宏块的存储位置全部为空。当然,此时,图像数据仍然在不断地写入到该最后一行。
然后,如图2C所示,把第一行,第二至第八区中各个第一子块a的数据,即M01a,M02a,...M70a,分别移到该第一宏块中的相应的位置,此时行0的部分空间已经空了,而图像传感器的数据可以继续写入到行7中。
接下来,JPEG模块(未示出)读出第二宏块(即第一区域0第二子块b),这样该第二宏块的存储位置为空,如图2D所示。
把第一行0,第二至八区1-7中各个第二子块b的数据,即M01b,M02b,...M07b,分别移到第二宏块中相应的位置,此时第一行0的空间已经完全空了,而图像传感器也把最后一行7写满了,如图2E。
JPEG继续读出第三宏块(第二区域1第一子块a)。一方面,可以将新的一组数据开始写入到第一行0,例如:数据N00a,N00b...;另一方面,由于第一行0中的数据M01a已经移到了第一区0中,在读取第三宏块的数据时,需要将该被搬移的数据M01a一并输出,如图2F所示。
相似地,把第二行1,第三至第八区1-7中各个第一子块a的数据,即M12a,M13a,...M17a,分别移到第四宏块中相应的位置,此时第二行1的部分空间已经空了,而图像传感器的新数据可以继续写入到第一行0中,如图2G所示。
JPEG继续读出第四宏块(第二区域1第二子块b)。由于第一行0中的数据M01b已经移到了第一区0中,在读取第三宏块的数据时,需要将该被搬移的数据M01b一并输出,如图2H所示。
相似地,把第二行1,第三至第八区1-7中各个第二子块b的数据,即M12b,M13b,...M17b,分别移到第三宏块中相应的位置,此时第二行1的全部空间已经空了,而图像传感器的新数据可以继续写入到第一行0中,如图2I所示。
依此类推,参照图2J~图2Z,JPEG模块可以继续读取剩余的宏块,通过搬移相应的图形数据,可以实现在空闲行写入新的数据。在JPEG模块读完第七区6后的存储结构,如图3所示。
最后,JPEG模块读取第八区7的全部数据后,其存储结构如图4所示。此时,另外七行新的数据已经完全存储到了行存储器中,这样本发明的行存储器又可以开始了下一个循环。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的普通技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (9)
1.一种用于行缓冲器的压缩方法,其特征在于,该方法包括
将一行缓冲器划分为多个区域,该多个区域分别以横向和纵向的形式进行排列后形成阵列;
逐行写入图像数据,直至最后一行;
在将图像数据逐列写入到该最后一行的区域时,依次输出写满在位于同一列的区域上的图像数据直至位于该同一列上的各该区域全部为空;
将以处于该阵列其中一个对角线上的多个区域为轴,将与空出区域相对应的区域上的图像数据搬移到各该为空的区域;
其中,当写满在位于同一列的区域上的图像数据发生搬移时,输出写满在位于同一列的区域上的图像数据还包括输出在该同一列的区域中被搬移的图像数据。
2.根据权利要求1所述的压缩方法,其特征在于,该方法包括
将该每一区域进一步划分成第一和第二子块。
3.根据权利要求2所述的压缩方法,其特征在于,在各行的同一列相同位置上的子块被写满图像数据时,输出存储在该相同位置上的子块中的图像数据。
4.根据权利要求3所述的压缩方法,其特征在于,该方法还包括
将图像数据写入到最后一行的一预定列的第一子块中;
输出该预定列的第一子块中的图像数据直至该预定列的第一子块全部为空;
将与该预定列的第一子块以该轴相对应的行中的各个列的第一子块中的图像数据搬移到该预定列的第一子块中。
5.根据权利要求4所述的压缩方法,其特征在于,该方法还包括
继续将图像数据写入到该预定列的第二子块中;
输出该预定列的第二子块中的图像数据直至该预定列的第二子块全部为空;
将与该预定列的第二子块以该轴相对应的行中的各个第二子块中的图像数据搬移到该预定列的第二子块中。
6.根据权利要求1所述的压缩方法,其特征在于,该方法还包括将新的图像数据继续逐行写入经搬移后为空的区域。
7.根据权利要求1所述的压缩方法,其特征在于,该行缓冲器的大小为1024字节。
8.根据权利要求7所述的压缩方法,其特征在于,该行缓冲器被分成64个区域。
9.根据权利要求7所述的压缩方法,其特征在于,该行缓冲器被划分成8行和8列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101794855A CN101202809B (zh) | 2007-12-13 | 2007-12-13 | 一种用于行缓冲器的压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101794855A CN101202809B (zh) | 2007-12-13 | 2007-12-13 | 一种用于行缓冲器的压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101202809A CN101202809A (zh) | 2008-06-18 |
CN101202809B true CN101202809B (zh) | 2011-02-16 |
Family
ID=39517756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101794855A Expired - Fee Related CN101202809B (zh) | 2007-12-13 | 2007-12-13 | 一种用于行缓冲器的压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101202809B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019000357A1 (zh) * | 2017-06-30 | 2019-01-03 | 深圳市大疆创新科技有限公司 | 处理图像的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1140956A (zh) * | 1995-03-29 | 1997-01-22 | 株式会社日立制作所 | 多路压缩图象、声音数据的解码装置 |
CN1213245A (zh) * | 1997-09-30 | 1999-04-07 | 三星电子株式会社 | 图像压缩系统中的缓冲器数据的控制电路和方法 |
US6173079B1 (en) * | 1997-09-17 | 2001-01-09 | Samsung Electronics Co., Ltd. | Buffer data control circuit and method in image compression system using wavelet system using wavelet transform |
CN1464744A (zh) * | 2002-06-25 | 2003-12-31 | 力捷电脑股份有限公司 | 扫描仪扫描压缩比自动判别法 |
-
2007
- 2007-12-13 CN CN2007101794855A patent/CN101202809B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1140956A (zh) * | 1995-03-29 | 1997-01-22 | 株式会社日立制作所 | 多路压缩图象、声音数据的解码装置 |
US6173079B1 (en) * | 1997-09-17 | 2001-01-09 | Samsung Electronics Co., Ltd. | Buffer data control circuit and method in image compression system using wavelet system using wavelet transform |
CN1213245A (zh) * | 1997-09-30 | 1999-04-07 | 三星电子株式会社 | 图像压缩系统中的缓冲器数据的控制电路和方法 |
CN1464744A (zh) * | 2002-06-25 | 2003-12-31 | 力捷电脑股份有限公司 | 扫描仪扫描压缩比自动判别法 |
Non-Patent Citations (2)
Title |
---|
JP特开平11-112984A 1999.04.23 |
US 6173079 B1,全文. |
Also Published As
Publication number | Publication date |
---|---|
CN101202809A (zh) | 2008-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100422986C (zh) | 执行离散余弦转换/反离散余弦转换的装置及其方法 | |
EP1998569A1 (en) | Method for mapping image addresses in memory | |
JP2010187169A (ja) | 画像処理装置及びその画像処理方法 | |
CN101212674A (zh) | 图像在存储器中的地址映射方法 | |
CN100452882C (zh) | 可变块大小运动补偿的数据缓存方法及其实现装置 | |
JP2007122706A (ja) | メモリマッピング方法及び装置 | |
CN100531392C (zh) | H.264去块效应滤波器的硬件实现方法 | |
CN100463511C (zh) | 图像数据处理系统及图像数据读取和写入方法 | |
CN101202809B (zh) | 一种用于行缓冲器的压缩方法 | |
CN101127901A (zh) | 用于存储图像数据的存储装置和存储图像数据的方法 | |
CN107204199B (zh) | 半导体存储器装置及其地址控制方法 | |
CN100444636C (zh) | 提高视频解码器中sdram总线效率的方法 | |
WO2023197507A1 (zh) | 视频数据处理方法、系统、装置及计算机可读存储介质 | |
CN102256131B (zh) | 视频编码中数据帧存储空间的配置方法 | |
CN101847394B (zh) | 用以解码及显示视讯文件的存储器映射方法及装置 | |
CN100551067C (zh) | Jpeg图像压缩时非标准图像尺寸的图像数据处理装置及方法 | |
US9001237B2 (en) | Method for processing image data | |
US20060104543A1 (en) | Size optimized pixel line to pixel block conversion algorithm | |
JP4293503B2 (ja) | 画像処理装置 | |
JP5616965B2 (ja) | 画像処理装置 | |
CN112966813B (zh) | 一种卷积神经网络输入层装置及其工作方法 | |
CN104575442A (zh) | 一种视频信号转换及扩展方法和电路 | |
CN101968955B (zh) | 图像处理系统及其图像处理方法 | |
CN115695915A (zh) | 一种视频数据处理系统、方法、设备及存储介质 | |
JP4137097B2 (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: 20110216 Termination date: 20131213 |