CN104506873A - 基于压缩域的快速jpg图像合成方法 - Google Patents
基于压缩域的快速jpg图像合成方法 Download PDFInfo
- Publication number
- CN104506873A CN104506873A CN201410818208.4A CN201410818208A CN104506873A CN 104506873 A CN104506873 A CN 104506873A CN 201410818208 A CN201410818208 A CN 201410818208A CN 104506873 A CN104506873 A CN 104506873A
- Authority
- CN
- China
- Prior art keywords
- jpg
- synthesis
- picture
- dct coefficient
- image
- 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.)
- Pending
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于压缩域的快速JPG图像合成方法,不需要JPG解码和二次编码,在JPG压缩域中直接对JPG图像进行各种方式的合成,速度快,且无损原始图像质量。本发明提供的快速JPG图像合成方法,可用于电子警察系统中生成违章记录的合成图,也可用于其他需要对大量相同分辨率的图像进行合成的系统中。
Description
技术领域
本发明涉及一种基于压缩域的快速JPG图像合成方法,属于图像处理技术。
背景技术
电子警察用于在交通路口通过摄像机抓拍违章行为,此外智能交通、视频监控也把交通路口作为重要的监控地点。作为机动车交通违法证据图像,根据GA/T 496—2009《闯红灯自动记录系统通用技术条件》,记录的原始图片数量不应超过四张,记录的最终图片应合成为一个图片文件。
实际应用中,原始图像与合成图像均为JPG图像,常规的合成方法是先把原始JPG图像解码为位图,在内存中合成后,再进行JPG编码,保存为JPG文件。这一过程存在二次编码,会造成图像质量的部分失真,更重要的是非常消耗时间。
发明内容
发明目的:为了解决常规的图像合成方法存在失真且消耗时间的问题,本发明提供一种基于压缩域的快速JPG图像合成方法,可以快速且无损地进行JPG图像合成,尤其适合电子警察等对大量的相同分辨率的图像进行合成的系统。
技术方案:为实现上述目的,本发明采用的技术方案为:
JPG图像按宏块进行DCT编码,宏块之间互相独立。图像合成时,并不需要改变输入图像的内容,因此考虑直接把输入图像的宏块的DCT系数进行组合,即可得到合成图像的DCT系数,不需编码即可直接保存为JPG图像。
基于压缩域的快速JPG图像合成方法,不需要JPG解码和二次编码,在JPG压缩域中直接对JPG图像进行各种方式的合成,速度快,且无损原始图像质量,尤其适合电子警察等对大量的相同分辨率的图像进行合成的系统中;具体包括如下步骤:
(1)初始化,根据合成方式和输入JPG图像的分辨率,首先计算合成后的图像分辨率,然后在内存中生成一幅空白位图,再对该空白位图进行JPG编码,读取其DCT系数,将读取到的DCT系数作为合成图像的初始DCT系数并保存到内存中;所有输入JPG图像的分辨率相同,当输入JPG图像的分辨率变化,则重新初始化;
(2)读取所有输入JPG图像的DCT系数;
(3)根据合成方式,将输入JPG图像的DCT系数对应拷贝到合成图像的初始DCT系数的内存中;
(4)保存合成图像为JPG文件;
(5)系统退出时,从内存中释放合成图像的初始DCT系数。
在实际工作中,完成初始化后,就可以直接重复步骤(2)~(4)进行图像合成工作;当输入JPG图像的分辨率变化时,返回步骤(1)重新初始化;当图像合成工作全部完成时,退出系统。
涉及的JPG图像,使用的JPG编码库为libjpeg编码库,或者基于libjpeg的编码库,比如libjpeg-turbo、CxImage或OpenCV等。
所述步骤(1)和步骤(2)中:进行JPG编码时,调用libjpeg编码库的jpeg_create_compress函数;读取DCT系数时,调用libjpeg编码库的jpeg_create_decompress函数和jpeg_read_coefficients函数。
所述步骤(3)中,拷贝DCT系数时,对RGB每个通道分别以宏块为单位进行拷贝,调用libjpeg库的jcopy_block_row函数。
所述输入JPG图像的分辨率为:宽×高=W×H,采用的合成方式和合成后的图像分辨率对应为:
合成方式为:行×列=1×2;合成后的图像分辨率为:宽×高=2W×H;
合成方式为:行×列=2×1;合成后的图像分辨率为:宽×高=W×2H;
合成方式为:行×列=1×3;合成后的图像分辨率为:宽×高=3W×H;
合成方式为:行×列=3×1;合成后的图像分辨率为:宽×高=W×3H;
合成方式为:行×列=2×2;合成后的图像分辨率为:宽×高=2W×2H。
有益效果:本发明提供的基于压缩域的快速JPG图片合成方法,是一完整的解决方案,适合电子警察等对大量的相同分辨率的图像进行合成的系统;使用本发明的方法,可为项目节约硬件投资、为嵌入式设备节约宝贵的内存资源和运算资源。举例来说:对于500万的摄像机,按照2×2的方式进行合成,合成后的分辨率可达2000万,按照常规的方法,调用libjpeg库在i5电脑上耗时2秒以上,调用优化的libjpeg-turbo库,耗时500ms左右;如果使用本方法,初始化部分(仅需执行一次)耗时140ms左右,合成部分耗时也在140ms左右。
附图说明
图1为本发明方法的实例的流程图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
基于压缩域的快速JPG图像合成方法,不需要JPG解码和二次编码,在JPG压缩 域中直接对JPG图像进行各种方式的合成,速度快,且无损原始图像质量,尤其适合电子警察等对大量的相同分辨率的图像进行合成的系统中;具体包括如下步骤:
(1)初始化,根据合成方式和输入JPG图像的分辨率,首先计算合成后的图像分辨率,然后在内存中生成一幅空白位图,再对该空白位图进行JPG编码,读取其DCT系数,将读取到的DCT系数作为合成图像的初始DCT系数并保存到内存中;所有输入JPG图像的分辨率相同,当输入JPG图像的分辨率变化,则重新初始化;
(2)读取所有输入JPG图像的DCT系数;
(3)根据合成方式,将输入JPG图像的DCT系数对应拷贝到合成图像的初始DCT系数的内存中;
(4)保存合成图像为JPG文件;
(5)系统退出时,从内存中释放合成图像的初始DCT系数。
本方法中,涉及的JPG图像,使用的JPG编码库为libjpeg编码库,或者基于libjpeg的编码库,比如libjpeg-turbo、CxImage或OpenCV等。所述步骤(1)和步骤(2)中:进行JPG编码时,调用libjpeg编码库的jpeg_create_compress函数;读取DCT系数时,调用libjpeg编码库的jpeg_create_decompress函数和jpeg_read_coefficients函数。所述步骤(3)中,拷贝DCT系数时,对RGB每个通道分别以宏块为单位进行拷贝,调用libjpeg库的jcopy_block_row函数。
所述输入JPG图像的分辨率为:宽×高=W×H,采用的合成方式和合成后的图像分辨率对应关系如表1所示:
表1 合成方式和合成后的图像分辨率对应关系
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员 来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.基于压缩域的快速JPG图像合成方法,其特征在于:不需要JPG解码和二次编码,在JPG压缩域中直接对JPG图像进行各种方式的合成;具体包括如下步骤:
(1)初始化,根据合成方式和输入JPG图像的分辨率,首先计算合成后的图像分辨率,然后在内存中生成一幅空白位图,再对该空白位图进行JPG编码,读取其DCT系数,将读取到的DCT系数作为合成图像的初始DCT系数并保存到内存中;所有输入JPG图像的分辨率相同,当输入JPG图像的分辨率变化,则重新初始化;
(2)读取所有输入JPG图像的DCT系数;
(3)根据合成方式,将输入JPG图像的DCT系数对应拷贝到合成图像的初始DCT系数的内存中;
(4)保存合成图像为JPG文件;
(5)系统退出时,从内存中释放合成图像的初始DCT系数。
2.根据权利要求1所述的基于压缩域的快速JPG图像合成方法,其特征在于:涉及的JPG图像,使用的JPG编码库为libjpeg编码库,或者基于libjpeg的编码库。
3.根据权利要求2所述的基于压缩域的快速JPG图像合成方法,其特征在于:所述步骤(1)和步骤(2)中:进行JPG编码时,调用libjpeg编码库的jpeg_create_compress函数;读取DCT系数时,调用libjpeg编码库的jpeg_create_decompress函数和jpeg_read_coefficients函数。
4.根据权利要求3所述的基于压缩域的快速JPG图像合成方法,其特征在于:所述步骤(3)中,拷贝DCT系数时,对RGB每个通道分别以宏块为单位进行拷贝,调用libjpeg库的jcopy_block_row函数。
5.根据权利要求1所述的基于压缩域的快速JPG图像合成方法,其特征在于:所述输入JPG图像的分辨率为:宽×高=W×H,采用的合成方式和合成后的图像分辨率对应为:
合成方式为:行×列=1×2;合成后的图像分辨率为:宽×高=2W×H;
合成方式为:行×列=2×1;合成后的图像分辨率为:宽×高=W×2H;
合成方式为:行×列=1×3;合成后的图像分辨率为:宽×高=3W×H;
合成方式为:行×列=3×1;合成后的图像分辨率为:宽×高=W×3H;
合成方式为:行×列=2×2;合成后的图像分辨率为:宽×高=2W×2H。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410818208.4A CN104506873A (zh) | 2014-12-24 | 2014-12-24 | 基于压缩域的快速jpg图像合成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410818208.4A CN104506873A (zh) | 2014-12-24 | 2014-12-24 | 基于压缩域的快速jpg图像合成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104506873A true CN104506873A (zh) | 2015-04-08 |
Family
ID=52948580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410818208.4A Pending CN104506873A (zh) | 2014-12-24 | 2014-12-24 | 基于压缩域的快速jpg图像合成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104506873A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060109904A1 (en) * | 2004-11-22 | 2006-05-25 | Koichi Hamada | Decoding apparatus and program for executing decoding method on computer |
CN103489170A (zh) * | 2013-09-05 | 2014-01-01 | 浙江宇视科技有限公司 | 一种jpeg图片合成、叠加osd信息方法及装置 |
-
2014
- 2014-12-24 CN CN201410818208.4A patent/CN104506873A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060109904A1 (en) * | 2004-11-22 | 2006-05-25 | Koichi Hamada | Decoding apparatus and program for executing decoding method on computer |
CN103489170A (zh) * | 2013-09-05 | 2014-01-01 | 浙江宇视科技有限公司 | 一种jpeg图片合成、叠加osd信息方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tao et al. | Towards robust image steganography | |
US7710454B2 (en) | Video bit stream test | |
Su et al. | Detection of double-compression in MPEG-2 videos | |
US20160219307A1 (en) | Method for synthesizing jpeg images and method and apparatus for superimposing osd information onto jpeg image | |
US20070230586A1 (en) | Encoding, decoding and transcoding of audio/video signals using combined parallel and serial processing techniques | |
TW200705980A (en) | Imaging device and method therefor | |
US20070294245A1 (en) | Method for Simple Hardware Implementation of JPEG Size Limiter | |
EP1655968A3 (en) | Method and apparatus for encoding and decoding image data | |
CN107087184A (zh) | 一种多媒体数据再压缩方法 | |
CN105850128A (zh) | 对高动态范围图像编码和/或对比特流解码的方法和设备 | |
US10887591B2 (en) | Method and device for transmitting block division information in image codec for security camera | |
CN105491395A (zh) | 服务器视频管理方法及系统 | |
US20240080495A1 (en) | Iteratively updating a filtering model | |
CN104506873A (zh) | 基于压缩域的快速jpg图像合成方法 | |
CN101340571B (zh) | 一种码率控制方法及控制装置 | |
CN102300098B (zh) | 一种基于可逆信息隐藏和冗余技术的视频容错编码方法 | |
KR101501106B1 (ko) | 비디오 인코딩 장치 및 방법, 비디오 디코딩 장치 및 방법 | |
CN110415175A (zh) | 一种快速去除平坦区域编码马赛克的方法 | |
SG135081A1 (en) | Streaming repetition coded compression | |
CN113840101A (zh) | 基于fpga的视频图像处理方法和装置 | |
Verma et al. | Survey on JPEG Image Compression | |
CN103179469A (zh) | 一种带有虚拟现实信息的视频及其加载和解码方法 | |
US9025901B2 (en) | Embedded system using image coding method | |
CN101976323B (zh) | 基于视频gop的用户拷贝快速生成方法 | |
JPH0832974A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150408 |
|
WD01 | Invention patent application deemed withdrawn after publication |