CN1067833C - 数字影像数据的压缩/解压缩方法 - Google Patents
数字影像数据的压缩/解压缩方法 Download PDFInfo
- Publication number
- CN1067833C CN1067833C CN96112061A CN96112061A CN1067833C CN 1067833 C CN1067833 C CN 1067833C CN 96112061 A CN96112061 A CN 96112061A CN 96112061 A CN96112061 A CN 96112061A CN 1067833 C CN1067833 C CN 1067833C
- Authority
- CN
- China
- Prior art keywords
- value
- difference
- current pixel
- sign indicating
- code
- 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 39
- 238000007906 compression Methods 0.000 title claims description 11
- 230000006835 compression Effects 0.000 title claims description 10
- 230000006837 decompression Effects 0.000 title claims description 10
- 238000013507 mapping Methods 0.000 claims abstract description 15
- 235000007164 Oryza sativa Nutrition 0.000 abstract description 26
- 235000009566 rice Nutrition 0.000 abstract description 26
- 240000007594 Oryza sativa Species 0.000 abstract 1
- 239000000872 buffer Substances 0.000 description 31
- 241000209094 Oryza Species 0.000 description 25
- 238000000926 separation method Methods 0.000 description 4
- 238000013144 data compression Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
数字影像数据的压缩/解压缩方法,该数字影像包含一目前像素,其值为X,及两个与其邻接的象素,其值分别为A、B,Δ为A、B间之差值,该压缩方法包括:(1)根据与X相邻的象素A、B值产生目前像素X的一预测值P;(2)计算P及X间的差值e;(3)以一第一准则,将e值映射成一预测误差值e′;(4)产生一参数k,其为Δ的一函数;(5)根据参数k值对目前像素的预测误差值e′进行莱斯编码,而获得一编码值;(6)如所得编码值位元数超过一预定长度,则以一替代码取代该编码值。
Description
本发明有关一种数字影像数据的压缩/解压缩方法。
针对数字影像数据的压缩,习知的可变长度霍夫曼(Huffman)编码方法的主要缺失,系于编码之前需先对所有的编码分类(class)建立完整的一概率表(probability table)。针对即时(real-time)高速的数据压缩需求,此一缺失显已构成严重的瓶劲,此因霍夫曼概率表需适时的更新之故。美国专利号4,916,544披露一个有条件的编码方式,其系考虑被编码像素的值以及两个邻近像素之值,才指定一个可变长度码给被编码像素。于此4,916,544专利中,实质上具相同出现机率的影像值被合并成一编码类(class)。尤其当影像抓取速度很高时,习知的影像压缩/解压缩方法都不足以应付。
针对此,本发明提供一种利用莱斯(Rice)编码的数据压缩/解压缩方法。
本发明提供的一种数字影像数据的压缩/解压缩方法,此数字影像包含一目前像素,其值为X,及两个与其邻接的像素,其值分别为A、B,Δ为A、B间之差值,此方法包含一压缩步骤,其包含:
根据A、B值产生目前像素的一预测值P;
计算P及X间的差值e;
以一第一准则,将e值映射成一预测误差值e′;
产生一参数k,其为Δ的一函数;
根据参数k值对目前像素的预测误差值e′进行莱斯编码,而获得一编码值;
如所得编码值位元数超过一预定长度,则以一替代码取代该编码值,替代码由一预定型态码其后跟随X值所构成。
本发明的目的、特征及优点将参考附图,结合实施例进行详细描述。
附图简要说明:
图1揭示被压缩像素与邻近像素的关系;
图2揭示本发明方法中的压缩流程;
图3揭示本发明方法中的解压缩流程;
图4揭示执行本发明解压缩流程的一硬件实施例;
图5揭示图4中解码单元之一细部设计。
如图1所示,设目前待压缩像素40之值为X,而同一列前一像素44之值为A,同一行中前一像素42之值为B。于下述,以八个二进位码来代表像素值,亦即每个像素值介于0与255之间。
1、压缩
图2的流程中主要包含四个程序,即预测2、差值映射(mapping)4,莱斯编码6、及统计图末尾舍入(Histogram Tail Truncation)12。
(a)预测
由于自然影像(natural image)之特征,一个影像内相邻像素间之相关性(correlation)都应很高,除了影像边缘区域之外。因此,一般而言,目前待压缩像素的值X可以藉相邻像素值加以预测。
为了简化硬件的设计;本发明采用公式P=(A+B)/2以产生目前像素的预测值P。经由公式e=X-P之计算,预测值与真正值X之差值e即可获得。此值由图2的方框2输出。
举例而言,当A=130,B=146,X=144时,预测值P=138,而差值e=X-P=6。
(b)差值e的映射
差值e的可能范围为[-P,255-P]。当极端情形(P=0,X=255)或(P=255,X=0)发生时,差值可能介于[-255,255]间,此范围之值需要九位元代表。
下述映射程序之目的即执行对差值e的一对一映射,使映射的结果e′只需八位元代表。值得注意的是,此一映射程序只是一选择(optional)性程序,缺少此一程序并不影响发明的其他步骤。
if(e≠0)
{
if(p≤128)
if(|e|≤p)
if(e<0)e′=-2*e
else e′=2*e-1
else e′= p +|e|
else
if(|e|<(255-p))
if(e<0)e′=-2*e
else e′=2*e-1
else e′=255-p+|e|
当P≤128,上述步骤将差值e的可能[-P,-P+1,-P+2,...-1,0,1,...,P,P+1,P+2,...,255-P]值分别映射成[0,+1,-1,+2,-2,...+P,-P,P+1,P+2,...255-P]的误差预测值e′。
而当P≥128,差值e的可能值[-P,-P+1,-P+2,...-1,0,1...,P,P+1,P+2,...,255-P]被分别映射成[0,+1,-1,+2,-2,...255-P,-(255-P),-(255-P)-1,...-P]的误差预测值e′。值得注意的是,经过此一映射程序,仍能达到小e值映射小e′值的要求。
当P=138,e=6时,此e值被映射成e′=2×e-1=11,此值于图2中的方框四输出。
(c)莱斯编码(表1)
由于小差值发生的机率一定高于大差值发生的机率,因此吾人亦采用统计的概念进行编码,以便节省编码的大小。本发明采用下述的莱斯编码法。
莱斯编码法包含下列步骤,藉参数k对整数n进行编码:(1)先计算「(n/2k)」值,并将所得以单进(Unary)码表示,其中「」代表整数运算,亦即「(n/2k)」个“1”,然后再加上一个位元的“0”作为分隔码,此分隔码分隔单进码及下述的二进位码;(2)计算(n mod 2k),mod为余数运算,然后所得值以k位元二进位码方式输出;(3)将(1)(2)所得码组合即形成莱斯码。
举例而言,当n=4,k=2,「(n/2k)」=「(4/4)」=1,此时单进码为“1”;(n mod 2k)=(4 mod 4)=0,其二位元二进位码为“00”。此二码组合后(须先加一个分隔码“0”),得到其莱斯码为“1000”,其中右边向左数第三个“0”即为分隔码。表1列示有n=0~8时,而参数k=0~3时,其分别对应的莱斯码。
表1
| Rice | n=0 | n=1 | n=2 | n=3 | n=4 | n=5 | n=6 | n=7 | n=8 |
| k=0 | 0 | 10 | 110 | 1110 | 11110 | 111110 | 1111110 | 11111110 | 111111110 |
| k=1 | 00 | 01 | 100 | 101 | 1100 | 1101 | 11100 | 11101 | 111100 |
| k=2 | 000 | 001 | 010 | 011 | 1000 | 1001 | 1010 | 1011 | 11000 |
| k=3 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 10000 |
由表1可知,采用小参数k值来编码小整数值n较有利。相反地,采用大参数k值来编码大整数值较有利。因此,如何选择一个适宜参数k值就成为一个关键的问题。因对所有邻近像素值A,B言,清楚定义e′是小或大是有困难的,因此可能有许多准则可选择k值。但为了硬件的单纯,最好选择一个单纯的法则选择k值。
对自然影像而言,邻接的影像都呈现高度相关,除了边缘部分之外,因此,只于影像边缘区的像素会产生大的e′值。而边缘区的存在与否可由邻接点值A,B获知。本发明所采用的一法则系取k=α(Δ),其中α为依下述准则的运算子,Δ|A-B|。
k=1,ifΔ<=2
k=2,if2<Δ<=4
k=3,if4<Δ<=8
k=4,if8<Δ
例如,A=130,B=146,则Δ=16,因而取k=4。当以参数k=4来对e′=11编码时,「(n/2k)」=「(11/16)」=0,亦即单进码的数目为零;(n mod 2k)=(11 mod 16)=11,其4位元二进位码为1011。因此,e′=11时,目前像素X的莱斯码为01011。
(d)统计图末尾舍入:
通常,得到长的莱斯码的机率很小。但一旦发生,会使得压缩比变差,且为了对付这些长莱斯码,硬件的设计也变复杂。流程图中的方框10及12可预防此问题的发生。当所得的莱斯码的长度大于16位元时,前述的编码方式即停止,而目前像素码即以一个24位元的码代替。此24位元码包含16位元的前导“1”值,然后跟随8位元的像素值。16位元的前导“1”作为一个前置(prefix)指标,以告知:后面8位元值即为目前像素的真正值。
例如,当邻近像素的A,B值分别为140,且目前像素位在边缘区且其值X=10(二进位码=00001010)时,P=140Δ=0,k=1,e=130,而e′=245,以k=1对e′=245编码时,其莱斯码为122个“1”加上“0”加上“1”(二进位码)。但其长度大于16个位元,故以111111111111111100001010取代。
(e)电路
基于前述末尾舍入法则,可使得电路的设计变得非常单纯。上述关于压缩程序可以用一些简单的缓冲器(buffer),及算术、逻辑运算子,如+,-,X,/,及比较运算来完成。对熟习此项技术人士而言,此一硬件线路的设计是多样化而具许多选择。
2、解压缩
如图3所示,本发明的解压缩方法包含四大程序:即统计图末尾舍入的回复22,莱斯码解码24,预测误差的映射34以及目前像素值的产生36。
(a)统计图末尾舍入的回复
首先,先确定被解压缩的码是否有前置值,其为16个前导“1”位元。如有,则于方框26中直接将后面的8位元值作为目前像素值。否则,此一码送至方框24作莱斯解码,以求得预测误差。
例如,如码值111111111111111100001010须作解压缩,吾人可用几个“与”门就可测得16个“1”值的存在。因此,直接将00001010作为像素值即可。
(b)莱斯码解码
于方框24中,利用前述莱斯编码法叙述中有关的相同准则,吾人先利用邻接像素值之差产生k参数值。依所获得之k值,可变长度莱斯码被解码后即可得到目前像素的预测误差e′。
例如,假如邻接像素的解码完成后分别得到像素值A=130,B=146。利用压缩时所用的准则,即Δ=|A-B|,k=α(Δ),则k=4。对莱斯码01011进行莱斯解码,其过程为:2k=16,且无单进码,故「(n/16)」=0,所以n<16,1011=11(十进位),由(n mod 16)=11,得n=11。亦即经由解码,得到其预测误差e′=11。
(c)预测误差e′,的映射:
获得预测误差e′后,采用反向映射即可得到目前像素值与预测值之差e。其详细的步骤如以下的程序:
{
if(p<128)
if(e′<2*p)
if(e′is odd)
else
else e=e′-p
else
if(e′≤2*
p)
if(e′is odd)
else
else e=-e′-P
}
(d)目前像素值的产生
目前像素的预测值由公式P=(A+B)/2得到,此相同于压缩时所用的公式。最后,将预测值加上差值e,即可得到目前像素值,即X=p+e。
(e)电路
本发明所采用的解压缩电路,如图4所示。其分别进行:(1)将像素码数据由目前行缓冲器(buffer)64送至莱斯解码器68进行解码,或送至统计图末尾舍入滤波器(filter)70,供取得八位元的像素原始值;(2)解码器68输出e′值至另一解码单元74以产生目前像素X值;(3)统计图末尾舍入滤波器70或解码单元74的输出被写入至写缓冲器(Write buffer)76;(4)写缓冲器的值送至输出缓中器80。
当系统是采用32位元的总线时,缓冲器读-写运作最有效率的方式亦为32位元传输方式。输入缓冲器72接收并暂时储存被压缩影像数据,而输出缓冲器80暂时贮存并输出已解压缩的影像值至外围设备装置。每当它收到的数据超过32位元,则64位元长的写缓冲器76将32位元内容送至输出缓冲器80。
目前行缓冲器64及上一行缓冲器62皆为64元宽。有两个指标,目前行缓冲器指标66及上一行缓冲器指标64供分别指示其内有效内容值之长度。目前行缓冲器64内贮存待解压缩之码。当目前行缓冲器指标值小于32时,会从输入缓冲器72将一个32位元数据送给目前行缓冲器64。
由于统计图末尾舍入之安排,本发明最长的编码为24位元,每当一个32位元传输完毕时,在目前行缓冲器64内存在至少一待解压缩码等待被解压缩。上一行缓冲器62贮存邻近像素数据供解压缩之用。每当解码完成乙次,上行缓冲器指标值60减少8(位元)。同样地,当上一行缓冲器指标值小于32时,会从输出缓冲器80将一个32位元数据送给上一行缓冲器62。
PK单元67供产生参数k及预测值p,其由上一行缓冲器62及最后位元组缓冲器78分别取得邻接像素值A、B。
依据参数k值,莱斯解码器68将由目前行缓冲器64送来之码予以解码,解码的方式系检测第一个“0”位元,以检测尾随其后的k位元二进位码,经过运算及判断后,输出预测误差e′至解码单元74。
根据e′、P值,解码单元74算出差值e,以及利用公式X=p+e,计算出X值,然后将其送至写缓冲器76以及最后位元组缓冲器78。
图5揭露一个解码单元74的实施例。其中,MUX代表多工器,ADD代表一个加法器,SUB代表一个减法器。图5中信号的意义分别为:
ME=e′ ,MEB=e′=(255-e′)
ME05=e′/2 ,ME05B=e′/2=(255-ME05)
P2=P*2 ,P2B=(255-P2)
ME_ODD =1 当e’为奇数
=0 当e’为偶数
P_GE_ 128=1 当P>=128
=0 当p<128
Claims (6)
1、一种数字影像数据的压缩/解压缩方法,此数字影像包含一目前像素,其值为X,及两个与其邻接的像素,其值分别为A、B,Δ为A、B间之差值,此方法包含一压缩步骤,其包含:
根据A、B值产生目前像素的一预测值P;
计算P及X间的差值e;
以一第一准则,将e值映射成一预测误差值e′;
产生一参数k,其为Δ的一函数;
根据参数k值对目前像素的预测误差值e′进行莱斯编码,而获得一编码值;
如所得编码值位元数超过一预定长度,则以一替代码取代该编码值,替代码由一预定型态码其后跟随X值所构成。
2、如权利要求1所述的方法,其中,所述预定型态码为一组连续“1”值所组成。
3、如权利要求1所述的方法,其中,所述预测误差e′是差值e的一对一映射,使得表示预测误差e′所需的位元数少于表示差值e所需的位元数。
4、如权利要求1所述的方法,其中,所述预测误差e′等于差值e。
5、如权利要求1所述的方法,其中,此方法进一步包含一解压缩方法,其包含:
如待解压缩的编码值的领先位元包含该预定型态码,则输出该X值。
6、如权利要求1所述的方法,其中,此方法进一步包含一解压缩方法,其包含:
如果待解压缩的编码值的领先位元未包含该预定型态码,则根据A、B值产生预测值P;
根据前述函数,由Δ值产生k值;
根据k值,将编码值予以解码,以获得预测误差e′;
根据第一准则及e′值,计算差值e;
将预测值p与差值e相加,以获得目前像素值X。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN96112061A CN1067833C (zh) | 1996-11-08 | 1996-11-08 | 数字影像数据的压缩/解压缩方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN96112061A CN1067833C (zh) | 1996-11-08 | 1996-11-08 | 数字影像数据的压缩/解压缩方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1182334A CN1182334A (zh) | 1998-05-20 |
| CN1067833C true CN1067833C (zh) | 2001-06-27 |
Family
ID=5121362
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN96112061A Expired - Fee Related CN1067833C (zh) | 1996-11-08 | 1996-11-08 | 数字影像数据的压缩/解压缩方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1067833C (zh) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003110429A (ja) * | 2001-09-28 | 2003-04-11 | Sony Corp | 符号化方法及び装置、復号方法及び装置、伝送方法及び装置、並びに記録媒体 |
| CN1323556C (zh) * | 2004-02-25 | 2007-06-27 | 凌阳科技股份有限公司 | 可节省暂存器的双向动态补偿方法 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1128463A (zh) * | 1994-12-29 | 1996-08-07 | 现代电子产业株式会社 | 物体形状信息的压缩设备和方法,以及移动图象间补偿帧的编码方法 |
-
1996
- 1996-11-08 CN CN96112061A patent/CN1067833C/zh not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1128463A (zh) * | 1994-12-29 | 1996-08-07 | 现代电子产业株式会社 | 物体形状信息的压缩设备和方法,以及移动图象间补偿帧的编码方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1182334A (zh) | 1998-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3459030B2 (ja) | 符号化システム | |
| US8880571B2 (en) | High dynamic range data format conversions for digital media | |
| EP0245621B1 (en) | Compression of multilevel signals | |
| JP4698739B2 (ja) | コンピュータグラフィックスのための画像圧縮 | |
| US6885319B2 (en) | System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms | |
| US6819271B2 (en) | Parallel compression and decompression system and method having multiple parallel compression and decompression engines | |
| US6658146B1 (en) | Fixed-rate block-based image compression with inferred pixel values | |
| US20070009163A1 (en) | Image transmitting apparatus and image receiving apparatus | |
| US6683978B1 (en) | Fixed-rate block-based image compression with inferred pixel values | |
| CN1407510A (zh) | 动画影像压缩方法 | |
| CN1225777A (zh) | 图象编码装置和图象解码装置 | |
| CN1968418A (zh) | 混合图像数据处理系统和方法 | |
| EP0969656A1 (en) | Compression for image boundaries | |
| JP2007116436A (ja) | 符号化装置及び復号化装置 | |
| CN1949670A (zh) | 一种数据压缩及解压缩方法 | |
| EP0969670A1 (en) | Unequal compression of MSBs and LSBs using Hierarchical Vector Quantization (HVQ) | |
| US20080180288A1 (en) | Method and system for transmitting/receiving serial data in serial communication system and serial communication system for the same | |
| CN1224267C (zh) | 最高有效位匹配数字图像压缩 | |
| CN100440979C (zh) | 基于上下文的自适应二维变长解码方法和装置 | |
| CN1574967A (zh) | 运动图像的压缩装置及利用其的摄像装置 | |
| CN1067833C (zh) | 数字影像数据的压缩/解压缩方法 | |
| CN1650625A (zh) | 用于将参数值映像到码字索引的自适应方法和系统 | |
| JP2008510349A (ja) | グラフィックとビデオとの混合ソースを圧縮するシステムおよび方法 | |
| CN1545765A (zh) | 可变长度编码打包体系结构 | |
| US20080025620A1 (en) | Data compression apparatus and data compressing program storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C06 | Publication | ||
| PB01 | Publication | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| C56 | Change in the name or address of the patentee |
Owner name: BENQ ELECTRONS STOCK CO., LTD. Free format text: FORMER NAME OR ADDRESS: MINGHONG STOCK CO., LTD. Owner name: BENQ MOTOR CO., LTD. Free format text: FORMER NAME OR ADDRESS: BENQ ELECTRONS STOCK CO., LTD. |
|
| CP01 | Change in the name or title of a patent holder |
Patentee after: BENQ Corp. Patentee before: BenQ Corporation Patentee after: BenQ Corporation Patentee before: MINGQI COMPUTER Co.,Ltd. |
|
| C19 | Lapse of patent right due to non-payment of the annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |