CN101287121A - 一种摄像头用应急jpeg编码方法 - Google Patents

一种摄像头用应急jpeg编码方法 Download PDF

Info

Publication number
CN101287121A
CN101287121A CN 200810105437 CN200810105437A CN101287121A CN 101287121 A CN101287121 A CN 101287121A CN 200810105437 CN200810105437 CN 200810105437 CN 200810105437 A CN200810105437 A CN 200810105437A CN 101287121 A CN101287121 A CN 101287121A
Authority
CN
China
Prior art keywords
coefficient
camera
urgent
utilization rate
coding method
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
Application number
CN 200810105437
Other languages
English (en)
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 CN 200810105437 priority Critical patent/CN101287121A/zh
Publication of CN101287121A publication Critical patent/CN101287121A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及摄像头图像编码技术,具体涉及一种摄像头用应急JPEG编码方法。该方法将采集到的图像按标准分成像素块,使用正向离散余弦变换把空间域表示的图变换成频率域表示的图;对经过正向离散余弦变换后的频率系数进行量化,并对量化后的系数进行重新编排;使用差分脉冲编码调制对直流系数进行编码;监测缓冲使用率,选取交流系数的数量,使用行程长度编码对所选取的交流系数进行编码;使用熵编码对编码后的直流系数和交流系数作进一步的压缩;将编码数据送入缓冲。该方法可以有效避免传输缓冲区溢出而导致的坏帧,可以根据缓冲区的使用率灵活的调整压缩方案,提高视频效果。

Description

一种摄像头用应急JPEG编码方法
技术领域
本发明涉及摄像头图像编码技术,具体涉及一种摄像头用应急JPEG编码方法。
背景技术
目前,在JPEG压缩的视频传输方式中,虽然提供了不同模式的比特率控制机制,但它们的压缩效果或者生效比较慢(如ABRC),或者压缩后数据量严重依赖于输入图像。
现有的JPEG压缩编码算法的基本步骤如下:
1)将摄像头采集的整图划分成8×8的图像块;
2)正向离散余弦变换(FDCT);
3)量化(Quantization);
4)Z字形编码(Zigzag Scan);
5)使用差分脉冲编码调制(Differential Pulse Code Modulation,DPCM)对直流系数(DC)进行编码;
6)使用行程长度编码(Run-Length Encoding,RLE)对交流系数(AC)进行编码;
7)熵编码(Entropy Eoding);
8)编码数据送入缓冲。
在摄像头、特别是PC camera的压缩图像传输中,由于JPEG的压缩数据传输时并不是按恒定的比特率进行的,有的时候可能会在短时间内输出大量的数据,形成一个峰值传输,这就对后一级处理模块的缓冲区设计提出了很高的要求,如果输入缓冲区的数据速度高过输出的速度,缓冲区会在一定时间后充满,造成缓冲区溢出。
缓冲区溢出对于PC camera的应用来说是不能被容忍的,因为缓冲区溢出会导致视频流中出现坏帧,而坏帧在视频中非常显眼,很容易被用户观察到。
为了抑制缓冲区溢出,可以采取加大JPEG的压缩比的方法减少获取的数据量,但是对于极其复杂或场景快速移动的图像,普通的比特率控制方法通常并不能将数据量及时并有效的减少,在某些情况下依然会造成缓冲区溢出的发生。因此迫切需要一种能够将数据量及时并有效压缩的方法。
发明内容
本发明的目的在于针对现有技术中存在的缺陷,提供一种摄像头用应急JPEG编码方法,该方法能够及时并有效地减少获取的数据量,同时尽可能保证图像质量。
为实现以上目的,本发明所采取的技术方案如下:一种摄像头用应急JPEG编码方法,包括如下步骤:
(1)将采集到的图像按标准分成像素块,使用正向离散余弦变换(forward discrete cosine transform,FDCT)把空间域表示的图变换成频率域表示的图;
(2)对经过正向离散余弦变换(FDCT)后的频率系数进行量化,并对量化后的系数进行重新编排;
(3)使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数(DC)进行编码;
(4)监测缓冲使用率,选取交流系数(AC)的数量,使用行程长度编码(run-length encoding,RLE)对所选取的交流系数(AC)进行编码;
(5)使用熵编码对编码后的直流系数和交流系数作进一步的压缩。
进一步,在上述摄像头用应急JPEG编码方法中,如果步骤(4)中监测的缓冲使用率在警戒限值以内,则使用行程长度编码(Run-Length Encoding,RLE)对全部交流系数(AC)进行编码;如果超出警戒限值,则使用行程长度编码(Run-Length Encoding,RLE)对部分交流系数(AC)进行编码。
再进一步,在上述摄像头用应急JPEG编码方法中,当步骤(4)监测的缓冲使用率超出警戒限值时,依据交流系数的频率高低,由高至低丢弃交流系数,对余下的部分交流系数进行编码。
更进一步,在上述摄像头用应急JPEG编码方法中,步骤(4)中所选取的部分交流系数(AC)的数量固定不变;或者,在步骤(4)中首先获取缓冲使用率超出警戒限值的具体数值,每次选取的交流系数(AC)的数量根据缓冲使用率超出警戒限值的具体数值的不同而变化,交流系数数量的变化是通过查询预置的对应表来确定的。
本发明的效果在于:采用本发明所述的方法,可以将图像压缩到只剩下直流系数(DC)和至少一个交流系数(AC),这种方法在视频流压缩中可以大大减少数据量,避免传输缓冲区溢出而导致的坏帧,同时又可以让用户察觉不到图像质量的变化。而且由于对缓冲区的使用率随时监测,因此可以根据缓冲区的使用率灵活的调整压缩方案,从而进一步减小对图像质量的影响。
附图说明
图1是本发明所述方法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明。
如图1所示,本发明所提供的摄像头用应急JPEG编码方法具体包含以下步骤:
1.将摄像头采集的整图划分成8×8的像素块
JPEG编码规则采用的是8×8大小的子块的二维离散余弦变换DCT(discrete cosine transform)。在编码器的输入端,把原始图像顺序地分割成一系列8×8的子块,设原始图像的采样精度为P位,是无符号整数,输入时把[0,2P-1]范围的无符号整数变成[-2P-1,2P-1-1]范围的有符号整数,以此作为正向离散余弦变换FDCT(forward DCT)的输入。在解码器的输出端经离散余弦逆变换(IDCT)(Inverse DCT)后,得到一系列8×8的图像数据块,需将其数值范围由[-2P-1,2P-1-1]再变回到[0,2P-1]范围的无符号整数,来获得重构图像。
2.正向离散余弦变换(FDCT)
使用正向离散余弦变换(forward discrete cosine transform,FDCT)把空间域表示的图变换成频率域表示的图。
3.量化(Quantization)
量化是对经过FDCT变换后的频率系数进行量化。量化的目的是减小非“0”系数的幅度以及增加“0”值系数的数目。量化是图像质量下降的最主要原因。
对于有损压缩算法,JPEG算法使用均匀量化器进行量化,量化步距是按照系数所在的位置和每种颜色分量的色调值来确定。因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表:亮度量化值和色差量化值。此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此图中的左上角的量化步距要比右下角的量化步距小。
4.Z字形编码(Zigzag Scan)
量化后的系数要重新编排,目的是为了增加连续的“0”系数的个数,就是“0”的游程长度,方法是按照Z字形的式样编排。这样就把一个8×8的矩阵变成一个1×63的矢量,频率较低的系数放在矢量的顶部,详细内容可参照JPEG编码算法标准。
5.使用差分脉冲编码调制(Differential Pulse Code Modulation,DPCM)对直流系数(DC)进行编码
8×8图像块经过DCT变换之后得到的DC直流系数有两个特点,一是系数的数值比较大,二是相邻8×8图像块的DC系数值变化不大。根据这个特点,JPEG算法使用了差分脉冲调制编码(DPCM)技术,对相邻图像块之间量化DC系数的差值(Delta)进行编码。
6.判断缓冲使用率是否超出警戒限值,以此来确定进行编码的交流系数(AC)的数量
本发明的具体特点即集中在该步骤当中,使得可以及时地获知缓冲使用率是否超出警戒限值,在可能出现传输缓冲区溢出而导致的坏帧之前,及时调整交流系数(AC)的获取数量,而不是一味的采集全部的交流系数(AC),所谓的交流系数(AC)即是变换后各个频率分量的权重。针对摄像头、特别是PC camera的特殊应用,直接丢弃图像数据在JPEG模块中量化后的交流系数(AC)来减少数据量这种方法有可能造成单帧图像清晰度变差,但是对于人眼来说,一幅质量不怎好的图像在视频流一闪而过要远比一幅坏帧的出现更难让人察觉,因此针对摄像头、特别是PC camera的应用中,这种方法是可行的。
在该技术方案中,可以根据各个交流系数(AC)的频率进行选择性的获取,比如,如果根据缓冲使用率超出警戒限值的具体数值,需要在每个8×8的块中获取直流系数(DC)和62个量化后的交流系数(AC),那么我们会丢掉频率最高也就是包含能量最少的交流系数(AC),而仅获取其余的62个量化后的交流系数(AC);如果要获取直流系数(DC)和61个交流系数(AC),那么我们会丢掉频率最高的两个交流系数(AC),而仅获取其余的61个量化后的交流系数(AC);依此类推。最极端的情况下甚至可以丢掉所有的63个交流系数(AC),只留下直流系数(DC),这时数据量极度减少,而图像本身仍有让人满意的质量。通常情况下,如果需要丢掉所有的63个交流系数(AC)只留下直流系数(DC),则说明该摄像头的硬件设计存在技术缺陷,因此虽然丢掉所有的63个交流系数(AC)只留下直流系数(DC)是可以选择的技术方案,但通常不会出现这种极端的特殊情况。
在上述技术方案的基础上,获取多少个交流系数(AC)也是有几种可以选择的方案的,例如,可以先获取缓冲使用率超出警戒限值的具体数值,然后再获取63个交流系数(AC)中的部分交流系数(AC),且每次获取的交流系数(AC)数量固定不变,使用行程长度编码(Run-Length Encoding,RLE)对获取的交流系数(AC)进行编码。也就是说,不论缓冲使用率超出警戒限值的具体数值如何波动,只要缓冲使用率超出警戒限值,则后续的图象采集就会获取直流系数(DC)和固定个数的交流系数(AC)。
先获取缓冲使用率超出警戒限值的具体数值是可选择的步骤,而非必备步骤,该步骤的存在可以为后续的处理提供更为灵活、便利的有利条件。例如:获取缓冲使用率超出警戒限值的具体数值后,再获取63个交流系数(AC)中的部分交流系数(AC),且每次获取的交流系数(AC)数量根据缓冲使用率超出警戒限值的具体数值的不同而变化,使用行程长度编码(Run-Length Encoding,RLE)对获取的交流系数(AC)进行编码。也就是说,随着缓冲使用率超出警戒限值的具体数值波动,则后续的图象采集就会获取直流系数(DC)和特定个数的交流系数(AC),而特定个数的交流系数(AC)的具体数值则是随着缓冲使用率超出警戒限值的具体数值变化的,例如:在使用本发明所述的技术方案采集图象后(也就是说已经出现了缓冲使用率超出警戒限值的情况),如果缓冲使用率超出警戒限值越来越高,则获取的交流系数(AC)个数会越来越少,比如说缓冲使用率警戒限值为80%,而通过监测发现缓冲使用率从81%已经上升到87%,则相应的获取的交流系数(AC)个数会从58个减少到22个。上述具体数值只是举例说明,不同的摄像头可以结合自身的硬件情况自行设定具体的数值,通常每次获取的交流系数(AC)数量根据缓冲使用率超出警戒限值的具体数值的不同而变化是通过查询预置的对应表而获得的,也可以采用其它公知技术实现。
在上述技术方案的基础上,我们还可以在缓冲使用率超出警戒限值的某个较小范围内,采用获取直流系数(DC)和固定个数的交流系数(AC)的方案,当缓冲使用率超出警戒限值较大时,采用获取直流系数(DC)和特定个数的交流系数(AC)的技术方案,这样可以在保证图象质量的前提下,更合理的尽可能减少获取的数据量。
7.熵编码(Entropy Eoding)
为了进一步达到压缩数据的目的,需要对量化后的DC码和AC行程编码的码字再作基于统计特性的熵编码。JPEG建议使用两种熵编码方法:哈夫曼(Huffman)编码和自适应二进制算术编码(adaptive binary arithmeticcoding)。熵编码可分成两步进行,首先把DC码和行程码字转换成一个中间符号序列,然后给这些符号赋以变长码字。
本发明所述的方法可以有效避免传输缓冲区溢出而导致的坏帧,可以根据缓冲区的使用率灵活的调整压缩方案,提高视频效果。应该说明的是,本发明并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。

Claims (9)

1.一种摄像头用应急JPEG编码方法,包括如下步骤:
(1)将采集到的图像按标准分成像素块,使用正向离散余弦变换把空间域表示的图变换成频率域表示的图;
(2)对经过正向离散余弦变换后的频率系数进行量化,并对量化后的系数进行重新编排;
(3)使用差分脉冲编码调制对直流系数进行编码;
(4)监测缓冲使用率,选取交流系数的数量,使用行程长度编码对所选取的交流系数进行编码;
(5)使用熵编码对编码后的直流系数和交流系数作进一步的压缩。
2.如权利要求1所述的摄像头用应急JPEG编码方法,其特征在于:如果步骤(4)中监测的缓冲使用率在警戒限值以内,则使用行程长度编码对全部交流系数进行编码。
3.如权利要求1所述的摄像头用应急JPEG编码方法,其特征在于:如果步骤(4)中监测的缓冲使用率超出警戒限值,则使用行程长度编码对部分交流系数进行编码。
4.如权利要求3所述的摄像头用应急JPEG编码方法,其特征在于:当步骤(4)监测的缓冲使用率超出警戒限值时,依据交流系数的频率高低,由高至低丢弃交流系数,对余下的部分交流系数进行编码。
5.如权利要求4所述的摄像头用应急JPEG编码方法,其特征在于:步骤(4)中所选取的部分交流系数的数量固定不变。
6.如权利要求4所述的摄像头用应急JPEG编码方法,其特征在于:在步骤(4)中首先获取缓冲使用率超出警戒限值的具体数值,每次选取的交流系数的数量根据缓冲使用率超出警戒限值的具体数值的不同而变化。
7.如权利要求6所述的摄像头用应急JPEG编码方法,其特征在于:所述的交流系数数量的变化是通过查询预置的对应表来确定的。
8.如权利要求1所述的摄像头用应急JPEG编码方法,其特征在于:步骤(1)中将采集到的图像划分成8×8的像素块。
9.如权利要求1所述的摄像头用应急JPEG编码方法,其特征在于:步骤(2)中是通过Z字形编码对量化后的系数进行重新编排。
CN 200810105437 2008-04-30 2008-04-30 一种摄像头用应急jpeg编码方法 Pending CN101287121A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810105437 CN101287121A (zh) 2008-04-30 2008-04-30 一种摄像头用应急jpeg编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810105437 CN101287121A (zh) 2008-04-30 2008-04-30 一种摄像头用应急jpeg编码方法

Publications (1)

Publication Number Publication Date
CN101287121A true CN101287121A (zh) 2008-10-15

Family

ID=40059053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810105437 Pending CN101287121A (zh) 2008-04-30 2008-04-30 一种摄像头用应急jpeg编码方法

Country Status (1)

Country Link
CN (1) CN101287121A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104869426A (zh) * 2015-05-20 2015-08-26 东南大学 在低压缩码率下降低图像方块效应的jpeg编码方法
CN106210730A (zh) * 2016-07-21 2016-12-07 深圳市检验检疫科学研究院 基于Hadoop MapReduce的Block数据透明加扰方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104869426A (zh) * 2015-05-20 2015-08-26 东南大学 在低压缩码率下降低图像方块效应的jpeg编码方法
CN106210730A (zh) * 2016-07-21 2016-12-07 深圳市检验检疫科学研究院 基于Hadoop MapReduce的Block数据透明加扰方法
CN106210730B (zh) * 2016-07-21 2019-05-10 深圳市检验检疫科学研究院 基于Hadoop MapReduce的Block数据透明加扰方法

Similar Documents

Publication Publication Date Title
CN100518295C (zh) 应用Golomb-Rice编码法的DCT压缩法
US11265547B2 (en) Method and apparatus for coding matrix and method and apparatus for decoding matrix
JP3590421B2 (ja) イントラ−ブロックdc変換係数量子化方法
US20170347105A1 (en) Quantization Method and Apparatus in Encoding/Decoding
CN102163416B (zh) 显示驱动电路
US5638126A (en) Method and apparatus for deciding quantization parameter
CN103782598A (zh) 用于无损编码的快速编码方法
JP2001298366A (ja) 画像データ圧縮方法、及びデータ量子化方法及び装置
CN104041035A (zh) 用于复合视频的无损编码及相关信号表示方法
CN1419787A (zh) 基于质量的图像压缩
JP2000516050A (ja) 符号化システムにおけるレート制御を最適にするための装置および方法
CN103347185A (zh) 基于选择性块变换的无人机侦察图像综合压缩编码方法
KR20010078393A (ko) 스케일 가능한 코딩방법
KR100438856B1 (ko) 능동적인 테이블 생성에의한 양자화/역양자화 방법 및 장치
CN101159870A (zh) 一种应急的jpeg压缩比特率控制装置和方法
KR960036756A (ko) 벡터 양자화 방식을 이용한 영상 신호 부호화 장치
CN101287121A (zh) 一种摄像头用应急jpeg编码方法
JP3324551B2 (ja) 画像信号の符号化制御装置
CN1825894A (zh) 全相位余弦双正交变换及其对jpeg的改进方法
JPH0487460A (ja) 画像処理装置
JP4105676B2 (ja) メディアストリームを非ブロック化しコード変換する方法
CN1125376A (zh) 用于对视频信号编码/解码的改进装置
CN102271247B (zh) 一种编码码率调整方法和装置
JPH06284401A (ja) 画像符号化装置
Viswanath et al. Image Compression & Effect of Quantizing Different Ffrequency Components.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20081015