CN102547058B - Jpeg图像处理方法以及系统 - Google Patents
Jpeg图像处理方法以及系统 Download PDFInfo
- Publication number
- CN102547058B CN102547058B CN201110458779.8A CN201110458779A CN102547058B CN 102547058 B CN102547058 B CN 102547058B CN 201110458779 A CN201110458779 A CN 201110458779A CN 102547058 B CN102547058 B CN 102547058B
- Authority
- CN
- China
- Prior art keywords
- picture
- line
- jpeg
- bitmaps
- pixel
- 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.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明公开了一种JPEG图像处理方法,包括以下步骤:S100:获取JPEG图片;S200:获取图片的各行压缩数据;S300:将图片的压缩数据逐行解码;S400:应用误差扩散方法将逐行解码数据转为16位图;S500:判断图片是否完全转为16位图,若是,则转S500,若否,则转S200;S600:存储16位色深位图。通过该技术方案,减少了内存的占用,与此同时,通过应用误差扩散方法,保证了显示图片的视觉质量。
Description
技术领域
本发明涉及一种图像处理领域,尤其涉及一种将JPEG图片解码并输出到16位显示模式下的JPEG图像处理方法以及系统。
背景技术
通常,图像处理设备以JPEG格式压缩对应于从外部装置输入的图像数据。图像处理设备通过执行直接存储器存取操作来将所压缩的图像数据存储到存储器中。此外,图像处理设备通过在外部装置请求时执行DMA操作来从存储器重读出图像数据。有DMA处理器而不是中央处理器CPU控制DMA操作,并且直接将数据从连接到总线的存储器中传输,其中,总线连接到通道,反之亦然。
在申请号为“200610135948.3”的“用于使用误差扩散来处理数据的设备和方法”中,将JPEG图像数据转换为色彩坐标,根据以块为单位的图像数据计算误差值来执行二进制化,以产生1位长的最终输出数据。该技术方案重点在硬件上的处理流程,并不需要额外的内存存储,采用YUV转CMYK的方式减少色深,但是其视觉效果不是很好。
现有的解码方式,JPEG正常解码完后,得到24位色或32位色的位图,将得到位图的颜色分量使用截断方式转位16位色的位图,并显示输出,这种转换方式快速,但是常造成32位色深的图像转换成16位色深图像后,颜色一块一块的。此外,这种方法速度最快,但是视觉质量很差,特别是有大量渐变色的图片上,没有考虑视觉质量。假设JPEG图片大小是1920*1080像素,770KB,解码器占用100KB,JPEG解码为32位色位图,则占用内存量为12.7MB。
现有的解码方式,JPEG正常解码后,得到32位色或24位色位图转换成16位色位图,最后显示输出,这种方式占用内存最小,但是视觉质量很差。
采用上述技术方案,若不考虑视觉质量,解码出来的图片在16位显示模式下,效果会很糟糕,特别是有大量渐变色的图片;若考虑了视觉质量,但不采用逐行解码,虽然显示效果好,但是内存占用大,对于一些嵌入式的产品来说,内存资源也是很宝贵的。
发明内容
本发明主要解决的技术问题是提供一种能减少系统内存占用,并保证视觉质量的JPEG图像处理方法。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种JPEG图像处理方法,包括以下步骤:
S100:获取JPEG图片;
S200:获取图片的各行压缩数据;
S300:将图片的压缩数据逐行解码,;
S400:应用误差扩散方法将逐行解码数据转为16位色深图;
S500:判断图片是否完全转为16位图,若是,则转S500,若否,则转S200;
S500:存储16位色深位图。
为了解决上述技术问题,本发明采用的另一个技术方案是提供一种JPEG图像处理系统,包括以下单元;
攫取单元用于获取JPEG图片;
图像分析单元用于获取图片的各行压缩数据;
解码单元用于将图片的压缩数据逐行解码;
误差扩散转换单元用于应用误差扩散方法将逐行解码数据转为16位图;
检测单元用于判断图片是否完全转为16位图;
存储单元用于存储16位色深位图。
在优选的技术方案中:
其中,步骤S300中,逐行解码得到的解码数据为32位色深的RGB像素。
其中,一个像素图片的存储空间为4字节。
其中,误差为新像素点与旧像素点之间的差值。
JPEG图像处理本发明的有益效果是:在低端系统上,JPEG图像采用逐行解码的方式进行解码,JPEG逐行解码得到的仅有一行32位色的位图数据,然后采用误差扩散转成16位色来存储;接下去使用同样的内存空间解码下一行JPEG数据,从而减少了内存的占用,若不采用逐行解码,意味着一张图片的所有像素点都被解码出来,这个中间占用的内存空间很大。逐行解码后应用误差扩散方法,将32位色深转为16色深产生的色深误差值扩散到周围的像素点去,从而保证了显示图片的视觉质量。
附图说明
图1是本发明技术方案的JPEG图像处理方法的流程图;
图2是本发明技术方案的JPEG图像处理系统的结构示意图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1,本发明提供的一种JPEG图像处理方法,包括以下步骤:
S100:获取JPEG图片;
S200:获取图片的各行压缩数据;
S300:将图片的压缩数据逐行解码,逐行解码得到的解码数据为32位色深的RGB像素;
S400:应用误差扩散方法将逐行解码数据转为16位图;
S500:判断图片是否完全转为16位图,若是,则转S500,若否,则转S200;
S600:存储16位色图。
本技术方案主要应用于机顶盒、手持设备等嵌入式内存受限、色深为16位显示系统的领域,该解码方法将JPEG逐行解码,每次解码一个编码单元。每解码一行,就采用保证视觉质量的误差扩散方法来做色深转换,在保证视觉质量的基础上,减少了最大内存使用使用量。采用同样的处理流程,但使用不同的误差扩散方法,视觉效果会有所差异。
本技术方案,将32位转换为16的基本原理如下:
RGB色彩空间里,32位像素颜色分量组成为,32=8(red)+8(green)+8(blue)+8(alpha);16位像素颜色分量组成为:16=5(red)+6(green)+5(blue),或者16=1(alpha)+5(red)+5(green)+5(blue)。将32位转换为16为方式为:
red_16bit=red_32bit & 0x1f
green_16bit=green_32bit & 0x3f
blue_16bit=blue_32bit & 0x1f
本技术方案中的误差扩散算法主要是将高色深的图像转成低色深的图像,色深是一个像素所占用的数据空间,比如32位色深,意味着一个像素将占用32个比特,等于4个字节,意味着一个像素可以容纳2的32次方种色彩。所谓的色深是指颜色分量的数据长度,用位表示;计算机里面最常用的RGB表示方法,分为R(Red、红色)分量,G(Green、绿色)分量、B(Blue、蓝色)分量;24位下,每个颜色分量为8位;32位下,多了一个8位的alpha分量表示;16位下,有RGB1555及RGB565,RGB1555中,RGB分别占用5位,RGB565下,G占6位。误差扩散是一种数字半色调的图像处理方法,用于减少图像色深,本技术方案中的误差是指新像素点与旧像素点之间的差值,误差扩散就是将这种误差扩散到其周围的点上面去。该扩散路径为:
其中,*代表当前的像素点。该扩散路径为现有技术中本技术领域内的人员公知的,在此就不再给予详细说明。
以下列举一个详细实施例说明本技术方案的误差扩散方法Floyd-Steinberg算法,,具体的为如下过程:
设定当前像素点的坐标值为(X,Y),将(X,Y)点解码后进行误差扩散,误差扩散后的点为新像素点,误差扩散前的点为旧像素点,接着计算旧像素点与解码完成后的新像素点的色深误差,然后将产生的色深误差按照误差扩散路径进行扩散,把扩散后的色差分配数据存于内存当中,待解码到下一个像素点的时候,下一个像素点自动加上前一个像素点的扩散后分配到其位置的色深误差值,并计算自身解码成16位色深图后的色深差,将二者相加后总的色深差通过误差扩散方法以及制定的误差扩散路径进行扩散,具体的,扩散路径为当前点的右边像素点,这次计算后需加上误差量7/16,左下点需加上误差量3/16,正下方的点需要加上误差量5/16,右下方的点需要加上1/16。以上方法在解码每个像素点的时候不断的循环,至整张图像的所有像素点都解码完成并执行完误差扩散的过程。
采用上述的逐行解码的方法转为16位,并通过误差扩散方法将JPEG的色深误差进行扩散,从而保证了良好的显示效果。进一步的,采用逐行解码的方式,减少了内存的占用。具体的,其最大内存占用为:原始JPEG图片大小+解码器解码单元内存占用+误差扩散转换器内存占用+解码完一行JPEG 24色深或32色深位图+转换后的16位色深图片大小。即770KB+100KB+50KB+8KB+4050KB=4978KB,约为5MB。若不采用逐行解码的方式解码,而是先将整张图片解码,则其最大内存占用量为:原始JPEG图片大小+解码器解码单元内存占用+误差扩散转换器内存占用+JPEG解码完未转为16位图像前图片大小+转换后的16位色图片大小,即:770KB+100KB+50KB+8100KB+4050KB=12.8MB。
显而易见的,从以上的等式得出,采用逐行解码方式后并应用误差扩散方式进行色深转换,与不采用逐行解码方式相比,其节省的内存空间为:12.8MB-5MB=7.8MB。通过以上的数据对比,本技术方案的解码方法明显比其他技术方案节省内存空间,而且满足了视觉效果。
本发明采用的另一个技术方案是提供一种JPEG图像处理系统,包括攫取单元用于获取JPEG图片;图像分析单元用于获取图片的各行压缩数据;解码单元用于将图片的压缩数据逐行解码;误差扩散转换单元用于应用误差扩散方法将逐行解码数据转为16位图;检测单元用于判断图片是否完全转为16位图;存储单元用于存储16位色深位图。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种JPEG图像处理方法,其特征在于,包括以下步骤:
S100:获取JPEG图片;
S200:获取图片的各行压缩数据;
S300:将图片的压缩数据逐行解码,逐行解码得到的解码数据为32位色深的RGB位图;
S400:应用误差扩散方法将逐行解码数据转为16位图;
S500:判断图片是否完全转为16位图,若是,则转S600,若否,则转S200;
S600:存储16位色深位图。
2.根据权利要求1所述的JPEG图像处理方法,其特征在于:一个像素图片的存储空间为4字节。
3.根据权利要求1所述的JPEG图像处理方法,其特征在于:误差为新像素点与旧像素点之间的差值。
4.一种JPEG图像处理系统,其特征在于,包括以下单元:
攫取单元用于获取JPEG图片;
图像分析单元用于获取图片的各行压缩数据;
解码单元用于将图片的压缩数据逐行解码,得到的解码数据为32位色深的RGB位图;
误差扩散转换单元用于应用误差扩散方法将逐行解码数据转为16位图;
检测单元用于判断图片是否完全转为16位图;
存储单元用于存储16位色深位图。
5.根据权利要求4所述的JPEG图像处理系统,其特征在于:一个像素图片的存储空间为4字节。
6.根据权利要求4所述的JPEG图像处理系统,其特征在于:误差为新像素点与旧像素点之间的差值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110458779.8A CN102547058B (zh) | 2011-12-31 | 2011-12-31 | Jpeg图像处理方法以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110458779.8A CN102547058B (zh) | 2011-12-31 | 2011-12-31 | Jpeg图像处理方法以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102547058A CN102547058A (zh) | 2012-07-04 |
CN102547058B true CN102547058B (zh) | 2014-11-26 |
Family
ID=46352935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110458779.8A Active CN102547058B (zh) | 2011-12-31 | 2011-12-31 | Jpeg图像处理方法以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102547058B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106228581B (zh) * | 2016-08-01 | 2019-06-21 | 武汉斗鱼网络科技有限公司 | 通过gpu将像素格式由argb转换为nv12的方法及系统 |
CN106713922B (zh) | 2017-01-13 | 2020-03-06 | 京东方科技集团股份有限公司 | 图像处理方法和电子设备 |
CN112241932A (zh) * | 2019-07-19 | 2021-01-19 | 华为技术有限公司 | 一种图片处理方法及装置 |
CN110992242A (zh) * | 2019-10-26 | 2020-04-10 | 武汉光庭信息技术股份有限公司 | 一种消除透明图片水波纹的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2624337Y (zh) * | 2003-06-10 | 2004-07-07 | 海信集团有限公司 | 点阵驱动显示器彩色数字信号误差扩散法抖动处理电路 |
CN1610377A (zh) * | 2004-11-16 | 2005-04-27 | 浙江大学 | 用于压缩16位彩色图像的颜色空间变换的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3872919B2 (ja) * | 1998-05-22 | 2007-01-24 | 東芝テック株式会社 | 画像処理装置 |
JP3357666B2 (ja) * | 2000-07-07 | 2002-12-16 | 松下電器産業株式会社 | 表示装置および表示方法 |
US7469067B2 (en) * | 2004-07-06 | 2008-12-23 | Magnum Semiconductor, Inc. | Sequential decoding of progressive coded JPEGs |
DE602005027704D1 (de) * | 2005-09-28 | 2011-06-09 | Sony Ericsson Mobile Comm Ab | Verfahren zum Erhöhen der Auflösung einer Farbdarstellung und Vorrichtung, die dieses Verfahren ausführt |
-
2011
- 2011-12-31 CN CN201110458779.8A patent/CN102547058B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2624337Y (zh) * | 2003-06-10 | 2004-07-07 | 海信集团有限公司 | 点阵驱动显示器彩色数字信号误差扩散法抖动处理电路 |
CN1610377A (zh) * | 2004-11-16 | 2005-04-27 | 浙江大学 | 用于压缩16位彩色图像的颜色空间变换的方法 |
Non-Patent Citations (2)
Title |
---|
JP特开2000-50070A 2000.02.18 * |
JP特开2002-82649A 2002.03.22 * |
Also Published As
Publication number | Publication date |
---|---|
CN102547058A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10616497B2 (en) | Method and apparatus for processing image signal conversion, and terminal device | |
CN102523367B (zh) | 基于多调色板的实时图像压缩和还原方法 | |
US7554557B2 (en) | Device and method for image compression and decompression | |
US20050024380A1 (en) | Method for reducing random access memory of IC in display devices | |
TWI680674B (zh) | 在位元流中將低動態範圍圖像之圖像/視訊格式及從該低動態範圍圖像及照明圖像中得到之解碼高動態範圍圖像之圖像/視訊格式以信號表示之方法及裝置 | |
CN102547058B (zh) | Jpeg图像处理方法以及系统 | |
CN102113305B (zh) | 高动态范围纹理压缩 | |
JP2016213828A (ja) | 広色域映像符号化用の知覚色変換 | |
CN102138158A (zh) | 统一纹理压缩框架 | |
US9153017B1 (en) | System and method for optimized chroma subsampling | |
US20180097527A1 (en) | 32-bit hdr pixel format with optimum precision | |
WO2021073316A1 (zh) | 一种图像信号转换处理方法、装置及终端设备 | |
CN116634089B (zh) | 视频传输方法、装置、设备及存储介质 | |
CN102271251A (zh) | 无失真的图像压缩方法 | |
CN101378506A (zh) | 图像压缩方法 | |
WO2019006965A1 (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
US8873637B2 (en) | Hardware pixel processing pipeline and video processing instructions | |
WO2020000255A1 (zh) | 一种rgb数据的色彩调整方法 | |
CN201576307U (zh) | 一种图像增强模块 | |
CN114155137A (zh) | 格式转换方法、控制器及计算机可读存储介质 | |
KR100930483B1 (ko) | 영상포맷 변환 장치 | |
EP3096510A1 (en) | Method and device for processing color image data representing colors of a color gamut | |
CN110536123A (zh) | 视频数据处理方法、装置、计算机设备和存储介质 | |
CN114339226B (zh) | 一种提高画面的流畅度的方法、装置及介质 | |
CN103002285A (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 |