CN101494788B - 视频图像的压缩/解压缩方法与装置 - Google Patents
视频图像的压缩/解压缩方法与装置 Download PDFInfo
- Publication number
- CN101494788B CN101494788B CN 200910105281 CN200910105281A CN101494788B CN 101494788 B CN101494788 B CN 101494788B CN 200910105281 CN200910105281 CN 200910105281 CN 200910105281 A CN200910105281 A CN 200910105281A CN 101494788 B CN101494788 B CN 101494788B
- Authority
- CN
- China
- Prior art keywords
- pixel point
- color component
- pixel
- value
- component value
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明适用于图像处理技术,提供了一种图像像素点的压缩/解压缩方法、装置。其中,图像像素点的压缩方法包括:获取当前像素点的颜色分量值及其相邻像素点的颜色分量值;比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,并得出比较结果;根据所述比较结果,判断当前像素点对应的压缩模式;根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩,完成对所述图像中像素点的压缩。图像像素点的解压缩方法根据所述当前像素点的压缩值和模式值,以及相邻像素点的颜色分量值,得到所述当前像素点的颜色分量值,完成对所述当前像素点的解压。本发明实现了帧的逐行无损压缩和解压缩,用于图像显示***时大大减少了***所需带宽,且硬件实现低成本低功耗。
Description
技术领域
本发明属于视频图像处理技术领域,尤其涉及视频图像像素点的压缩/解压缩方法与装置。
背景技术
视频压缩技术已经在许多产品中得到应用,包括数字通用光盘(DigitalVersatile Disc,DVD)、数字电视、个人录像机、互联网视频、多媒体自动唱机、拍照手机、个人数字助理(Personal Digital Assistant,PDA)和摄像机等。
现阶段成熟的图像视频压缩技术中,压缩方法主要包括两种方式:基于宏块的压缩方式和基于扫描行的压缩方式,例如静态影像压缩标准(JointPhotographic Experts Group,JPEG),h264是基于宏块的压缩方法,但不能实现实时输出,而联合图像专家组-无损格式(Joint Photographic Experts GroupLossless,JPEG-LS)、无损图像编码(Context-Based,Adaptive,Lossless ImageCoding,CALIC)等基于扫描行的压缩方法虽然能够实现实时输出,但是一般需要2行或2行以上的行缓存,所用编码方法为变长编码,且编码过程中需要预测,过程较复杂,需要大量的运算,无论从中央处理器(Central ProcessingUnit,CPU)实现或者专门的硬件实现,都需要极高的硬件成本和功耗代价。
具体以JPEG-LS为例,JPEG-LS编码过程主要包括预测、上下文建模和熵编码。在JPEG-LS压缩算法中,对一个像素点的压缩编码需要获取四个相邻像素点并进行相关计算,且编码过程需要依赖于上下文,硬件实现时一般需要2行或2行以上的行缓存,过程较复杂,运算量较大,硬件实现成本较高。
另外,在计算机图像处理的过程中,在内存中会有一片特殊的区域,专门负责图像输出的缓冲,俗称帧缓存(frame buffer)。在传统的做法中,由于帧缓存需要实现实时性的扫描行刷新输出,帧缓存不会被进行压缩处理,此时高清图像显示时传统方法所需的显示带宽较宽。
发明内容
本发明实施例的目的在于提供一种用于视频解压缩***中视频图像像素点的压缩/解压缩方法,旨在实现图像逐行压缩后实时输出,且硬件实现成本低功耗小,使图像显示的平均带宽降低。
本发明实施例是这样实现的,一种用于视频解压缩***中视频图像中像素点的压缩方法,所述图像包含多个像素点,所述像素点中当前进行压缩处理的点为当前像素点,与所述当前像素点相邻的像素点为相邻像素点,所述相邻像素点包括与当前像素点相邻的左方像素点、上方像素点和左上方像素点中的一个或多个;所述方法用来通过所述图像中的所述像素点的颜色分量值,判断所述当前像素点的压缩方式,从而完成对所述图像的压缩;所述方法包括以下步骤:获取当前像素点的颜色分量值及其相邻像素点的颜色分量值;比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,并得出比较结果;根据所述比较结果,判断当前像素点对应的压缩模式;根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩,得到所述当前像素点的压缩值,完成对所述图像中像素点的压缩;
其中:
所述颜色分量值为像素点的红色分量值、绿色分量值和蓝色分量值;所述比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,并得出比较结果包括:
当所述相邻像素点为当前像素点相邻的上方像素点时,比较所述当前像素点的颜色分量值和所述上方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述上方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述上方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述上方像素点的绿色分量值,得出比较结果;
当所述相邻像素点为当前像素点相邻的左方像素点时,比较所述当前像素点的颜色分量值和所述左方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述左方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述左方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述左方像素点的绿色分量值,得出比较结果;
当所述相邻像素点为当前像素点相邻的上方像素点、左方像素点和左上方像素点时,获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,并获取所述左上方像素点与所述左方像素点的颜色分量差分值diff_v,若所述颜色分量差分值diff_h大于或等于所述颜色分量差分值diff_v,则比较当前像素点的颜色分量值和所述左方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述左方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述左方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述左方像素点的绿色分量值,得出比较结果;
若所述颜色分量差分值diff_h小于所述颜色分量差分值diff_v,则比较当前像素点的颜色分量值和所述上方像素点的颜色分量值,则将所述当前像素点的红色分量值减去所述上方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述上方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述上方像素点的绿色分量值,得出比较结果;
所述压缩模式为2位压缩模式、8位压缩模式或者12位压缩模式或者零压缩模式,所述根据所述比较结果,判断当前像素点对应的压缩模式包括:
若所述当前像素点与一个所述相邻像素点进行比较,得出的比较结果满足以下三个条件:
所述当前像素点的红色分量值等于所述相邻像素点的红色分量值;同时所述当前像素点的蓝色分量值等于所述相邻像素点的蓝色分量值;并且所述当前像素点的绿色分量值等于所述相邻像素点的绿色分量值;
则所述当前像素点对应的压缩模式为2位压缩模式;
若所述当前像素点与一个所述相邻像素点进行比较,得出的比较结果满足以下三个条件:
若所述当前像素点的红色分量值减去所述相邻像素点的红色分量值所得出的结果不为零,且大于等于-2,小于等于1;同时所述当前像素点的蓝色分量值减去所述相邻像素点的蓝色分量值所得出的结果不为零,且大于等于-2,小于等于1;并且所述当前像素点的绿色分量值减去所述相邻像素点的绿色分量值所得出的结果不为零,且大于等于-4,小于等于3;
则所述当前像素点对应的压缩模式为8位压缩模式;
若所述当前像素点与一个所述相邻像素点进行比较,得出的比较结果满足以下三个条件:
若所述当前像素点的红色分量值减去所述相邻像素点的红色分量值所得出的结果大于等于-4,小于-2,或大于1,小于等于3;同时所述当前像素点的蓝色分量值减去所述相邻像素点的蓝色分量值所得出的结果大于等于-4,小于-2,或大于1,小于等于3;并且所述当前像素点的绿色分量值减去所述相邻像素点的绿色分量值所得出的结果大于等于-8,小于-4,或大于3,小于等于7;
则所述当前像素点对应的压缩模式为12位压缩模式;
比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,若所述当前像素点对应的压缩模式不为2位压缩模式或8位压缩模式或12位压缩模式,则所述当前像素点对应的压缩模式为零压缩模式;
所述得到所述当前像素点的压缩值包括:当所述当前像素点对应的压缩模式为2位压缩模式时,所述当前像素点的压缩值为空;当所述当前像素点对应的压缩模式为8位压缩模式时,所述当前像素点的压缩值为所述当前像素点的颜色分量值减去所述相邻像素点的颜色分量值所得到的差值;当所述当前像素点对应的压缩模式为12位压缩模式时,所述当前像素点的压缩值为所述当前像素点的颜色分量值减去所述相邻像素点的颜色分量值所得到的差值;当所述当前像素点对应的压缩模式为零压缩模式时,所述当前像素点的压缩值为所述当前像素点的颜色分量值。进一步地,所述压缩模式为2位压缩模式、8位压缩模式或者12位压缩模式或者零压缩模式。
比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,若所述当前像素点对应的压缩模式不为2位压缩模式或8位压缩模式或12位压缩模式,则所述当前像素点对应的压缩模式为零压缩模式。
进一步地,当所述当前像素点不存在所述相邻像素点时,则所述当前像素点对应的所述压缩模式为所述零压缩模式。所述根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩后,得到所述当前像素点的压缩值和模式值。
本发明实施例的另一目的在于提供一种用于视频解压缩***中视频图像中的像素点的压缩装置,旨在实现图像逐行压缩后实时输出,且硬件实现成本低,功耗小,尤其重要的是,本发明实施例大大压缩了图像像素点的大小,从而减小了图像的大小,也使图像显示的平均带宽降低。
为此,本发明实施例提供了一种用于视频解压缩***中视频图像中像素点的压缩装置,所述图像包含多个像素点,所述颜色分量值为像素点的红色分量值、绿色分量值和蓝色分量值,所述像素点中当前进行压缩处理的点为当前像素点,与所述当前像素点相邻的像素点为相邻像素点,所述相邻像素点包括与当前像素点相邻的左方像素点、上方像素点和左上方像素点中的一个或多个;所述压缩装置用来通过所述图像中的所述像素点的颜色分量值,判断所述当前像素点的压缩方式,从而完成对所述图像的压缩;所述压缩装置包括:颜色分量值获取单元,用于获取所述像素点的颜色分量值和所述相邻像素点的颜色分量值,并将获取的所述当前像素点的颜色分量值和所述相邻像素点的颜色分量值发送给颜色分量值比较单元和压缩单元;颜色分量值比较单元,用于比较所述当前像素点的颜色分量值和所述相邻像素点的颜色分量值,并得出比较结果;压缩模式判断单元,用于根据所述颜色分量值比较单元的比较结果,判断所述当前像素点对应的压缩模式;压缩单元,用于根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩;
其中:
所述颜色分量值比较单元包括:上方像素点颜色分量值比较单元、左方像素点颜色分量值比较单元、以及上方像素点、左方像素点和左上方像素点颜色分量值比较单元;
所述上方像素点颜色分量值比较单元,用于当所述相邻像素点为当前像素点相邻的上方像素点时,比较所述当前像素点的颜色分量值和所述上方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述上方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述上方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述上方像素点的绿色分量值,得出比较结果;
所述左方像素点颜色分量值比较单元,用于当所述相邻像素点为当前像素点相邻的左方像素点时,比较所述当前像素点的颜色分量值和所述左方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述左方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述左方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述左方像素点的绿色分量值,得出比较结果;
所述上方像素点、左方像素点和左上方像素点颜色分量值比较单元,用于当所述相邻像素点为当前像素点相邻的上方像素点、左方像素点和左上方像素点时,获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,并获取所述左上方像素点与所述左方像素点的颜色分量差分值diff_v,若所述颜色分量差分值diff_h大于或等于所述颜色分量差分值diff_v,则比较当前像素点的颜色分量值和所述左方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述左方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述左方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述左方像素点的绿色分量值,得出比较结果;若所述颜色分量差分值diff_h小于所述颜色分量差分值diff_v,则比较当前像素点的颜色分量值和所述上方像素点的颜色分量值,则将所述当前像素点的红色分量值减去所述上方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述上方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述上方像素点的绿色分量值,得出比较结果;
所述压缩模式判断单元所判断的压缩模式为2位压缩模式、8位压缩模式或者12位压缩模式或者零压缩模式;所述压缩模式判断单元根据所述颜色分量值比较单元的比较结果,判断所述当前像素点对应的压缩模式的过程具体为:
若所述当前像素点与一个所述相邻像素点进行比较,得出的比较结果满足以下三个条件:
所述当前像素点的红色分量值等于所述相邻像素点的红色分量值;同时所述当前像素点的蓝色分量值等于所述相邻像素点的蓝色分量值;并且所述当前像素点的绿色分量值等于所述相邻像素点的绿色分量值;
则所述压缩模式判断单元判断所述当前像素点对应的压缩模式为2位压缩模式;
若所述当前像素点与一个所述相邻像素点进行比较,得出的比较结果满足以下三个条件:
若所述当前像素点的红色分量值减去所述相邻像素点的红色分量值所得出的结果不为零,且大于等于-2,小于等于1;同时所述当前像素点的蓝色分量值减去所述相邻像素点的蓝色分量值所得出的结果不为零,且大于等于-2,小于等于1;并且所述当前像素点的绿色分量值减去所述相邻像素点的绿色分量值所得出的结果不为零,且大于等于-4,小于等于3;
则所述压缩模式判断单元判断所述当前像素点对应的压缩模式为8位压缩模式;
若所述当前像素点与一个所述相邻像素点进行比较,得出的比较结果满足以下三个条件:
若所述当前像素点的红色分量值减去所述相邻像素点的红色分量值所得出的结果大于等于-4,小于-2,或大于1,小于等于3;同时所述当前像素点的蓝色分量值减去所述相邻像素点的蓝色分量值所得出的结果大于等于-4,小于-2,或大于1,小于等于3;并且所述当前像素点的绿色分量值减去所述相邻像素点的绿色分量值所得出的结果大于等于-8,小于-4,或大于3,小于等于7;
则所述压缩模式判断单元判断所述当前像素点对应的压缩模式为12位压缩模式;
比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,若所述当前像素点对应的压缩模式不为2位压缩模式或8位压缩模式或12位压缩模式,则所述压缩模式判断单元判断所述当前像素点对应的压缩模式为零压缩模式;
所述压缩单元根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩后,得到所述当前像素点的压缩值,具体过程为:
当所述当前像素点对应的压缩模式为2位压缩模式时,所述压缩单元得到所述当前像素点的压缩值为空;
当所述当前像素点对应的压缩模式为8位压缩模式时,所述压缩单元得到所述当前像素点的压缩值为所述当前像素点的颜色分量值减去所述相邻像素点的颜色分量值所得到的差值;
当所述当前像素点对应的压缩模式为12位压缩模式时,所述压缩单元得到所述当前像素点的压缩值为所述当前像素点的颜色分量值减去所述相邻像素点的颜色分量值所得到的差值;
当所述当前像素点对应的压缩模式为零压缩模式时,所述压缩单元得到所述当前像素点的压缩值为所述当前像素点的颜色分量值。
进一步地,压缩模式判断单元所判断的压缩模式为2位压缩模式、8位压缩模式或者12位压缩模式或者零压缩模式。
进一步的,还包括零压缩模式判断单元:所述零压缩模式判断单元用于当所述当前像素点不存在所述相邻像素点时,判断所述当前像素点对应的所述压缩模式为所述零压缩模式。
进一步地,压缩单元根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩后,得到所述当前像素点的压缩值和模式值。
本发明实施例的再一目的在于提供一种用于视频解压缩***中视频图像中的像素点的解压缩方法,旨在实现将经过压缩后的数据解压。
为此,本发明实施例提供了一种用于视频解压缩***中视频图像中像素点的解压缩方法,所述图像包含多个像素点,所述像素点具有颜色分量值,所述像素点中当前进行解压缩处理的点为当前像素点,与所述当前像素点相邻的像素点为相邻像素点,所述相邻像素点包括与当前像素点相邻的左方像素点、上方像素点和左上方像素点中的一个或多个;所述方法包括以下步骤:
获取所述当前像素点的压缩值和模式值,以及相邻像素点的颜色分量值,具体为:当所述相邻像素点为当前像素点相邻的上方像素点时,获取当前像素点相邻的上方像素点的颜色分量值;当所述相邻像素点为当前像素点相邻的左方像素点时,获取当前像素点相邻的左方像素点的颜色分量值;当所述相邻像素点为当前像素点相邻的上方像素点、左方像素点和左上方像素点时,获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,并获取所述左上方像素点与所述左方像素点的颜色分量差分值diff_v,若所述颜色分量差分值diff_h大于或等于所述颜色分量差分值diff_v,则获取当前像素点相邻的左方像素点的颜色分量值;若所述颜色分量差分值diff_h小于所述颜色分量差分值diff_v,则获取当前像素点相邻的上方像素点的颜色分量值,其中所述diff_h为以下三者之和:所述左上方像素点与所述上方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的绿色分量值的差值的绝对值;所述diff_v为以下三者之和:所述左上方像素点与所述左方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的绿色分量值的差值的绝对值,当所述当前像素点不存在相邻像素点时,则所述相邻像素点的颜色分量值为0;
根据所述当前像素点的压缩值和模式值,以及相邻像素点的颜色分量值,得到所述当前像素点的颜色分量值,完成对所述当前像素点的解压;具体包括:当所述当前像素点的模式值为2位压缩模式对应的模式值时,当前像素点的颜色分量值为获取的所述相邻像素点的颜色分量值;当当前像素点的模式值为8位或12位或零压缩模式对应的模式值时,当前像素点的颜色分量值为获取的所述相邻像素点的颜色分量值与所述当前像素点的压缩值之和。
进一步的,根据获取所述当前像素点的模式值,确定所述当前像素点的压缩模式;所述压缩模式为2位压缩模式或者8位压缩模式或者12位压缩模式或者零压缩模式。
进一步的,当所述当前像素点不存在相邻像素点时,则所述相邻像素点的颜色分量值为0。
本发明实施例的再一目的在于提供一种用于视频解压缩***中视频图像中的像素点的解压缩装置,旨在实现将经过压缩后的数据解压。
为此,本发明实施例提供了一种用于视频解压缩***中视频图像中像素点的解压缩装置,所述图像包含多个像素点,所述像素点具有颜色分量值,所述像素点中当前进行解压缩处理的点为当前像素点,与所述当前像素点相邻的像素点为相邻像素点,所述相邻像素点包括与当前像素点相邻的左方像素点、上方像素点和左上方像素点中的一个或多个;所述装置包括:
当前像素点压缩值和模式值获取单元,用于接收所述当前像素点的压缩值和模式值,所述模式值对应的压缩模式为2位压缩模式或者8位压缩模式或者12位压缩模式或者零压缩模式;相邻像素点颜色分量值获取单元,用于获取当前像素点的相邻像素点的颜色分量值;解压缩单元,用于根据所述当前像素点的压缩值和模式值,以及相邻像素点的颜色分量值,具体通过下述过程得到所述当前像素点的颜色分量值:当所述当前像素点的模式值为2位压缩模式对应的模式值时,所述解压缩单元将接收到的所述相邻像素点的颜色分量值,作为当前像素点的颜色分量值;当所述当前像素点的模式值为8位或12位或零压缩模式对应的模式值时,所述解压缩单元将接收到的所述相邻像素点的颜色分量值与所述当前像素点的压缩值之和,作为当前像素点的颜色分量值。
所述装置还包括:颜色分量值判断单元,用于当所述当前像素点不存在相邻像素点时,判断所述相邻像素点的颜色分量值为0。
本发明通过提供的无损图像压缩、解压缩方法和装置,实现了图像的逐行压缩和实时输出,且所需硬件成本低,易实现,功耗小,用于图像显示***时大大减少了帧缓存所占的内存空间及输出显示过程所占的***带宽。
本发明的所述和其他的目的、特征及优点,从以下参照附图进行的详细描述可以看得更加清楚。
附图说明
图1是本发明实施例提供的图像像素点的压缩方法流程图;
图2是本发明实施例提供的部分图像的像素点及其左像素点、上像素点和左上像素点的位置关系示意图;
图3是本发明实施例提供的图像像素点的压缩装置的结构图;
图4是本发明实施例提供的图像像素点的解压缩方法流程图;
图5是本发明实施例提供的图像像素点的解压缩装置的结构图;
图6是本发明实施例提供的图像像素点解压缩过程中压缩数据的传送示意图;
图7是本发明实施例提供的压缩数据中的模式值获取示意图;
图8(a)是本发明实施例提供的压缩数据中的模式值对应8位压缩模式时压缩值获取示意图;
图8(b)是本发明实施例提供的压缩数据中的模式值对应12位压缩模式时压缩值获取示意图;
图9是本发明实施例提供的像素值计算示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,提出了一种基于相邻点的压缩的方法,在压缩过程中,通过获取当前像素点的颜色分量值及其相邻像素点的颜色分量值。比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,并得出比较结果。根据所述比较结果,判断当前像素点对应的压缩模式。根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩,完成对所述图像中像素点的压缩。同时,本发明实施例还提出了一种针对该压缩方法获得的压缩数据进行解压缩的方法,在解压缩过程中,通过获取所述当前像素点的压缩值和模式值,以及相邻像素点的颜色分量值;并根据所述当前像素点的压缩值和模式值,以及相邻像素点的颜色分量值,得到所述当前像素点的颜色分量值,完成对所述当前像素点的解压。像素点的颜色分量值,即为像素点的RGB值。
图1示出了本发明实施例提供的图像中像素点的压缩的处理流程。
这种用于视频解压缩***中视频图像中像素点的压缩方法,所述图像包含多个像素点,所述像素点中当前进行压缩处理的点为当前像素点,与所述当前像素点相邻的像素点为相邻像素点,所述相邻像素点包括与当前像素点相邻的左方像素点、上方像素点和左上方像素点中的一个或多个;所述方法用来通过所述图像中的所述像素点的颜色分量值,判断所述当前像素点的压缩方式,从而完成对所述图像的压缩;
在步骤S101中,获取获取当前像素点及其相邻像素点,并同时获取当前像素点的颜色分量值及其相邻像素点的颜色分量值。
在本发明实施例中,像素点的相邻像素点包括左像素点或者上像素点或者左上像素点中的任意一个或多个,像素点的左像素点处于与像素点同行且与其相邻的左方;像素点的上像素点处于像素点同列且与其相邻的上方;像素点的左上像素点处于当前像素点的左像素点同列且与其相邻的上方,或者处于与像素点的上像素点同行且与其相邻的左方。像素点的相邻像素点可以包括左像素点、上像素点和左上像素点,例如当像素点为不处于第1行或者最末行或者第一列或者最后一列的像素点,或者像素点的相邻像素点可以只包括左像素点,例如当像素点为处于第1行第2列的像素点,或者像素点的相邻像素点可以只包括上像素点,例如当像素点为处于第2行第1列的像素点,或者像素点不存在相邻像素点,例如当像素点为处于第一行第一列的像素点。
图2示出了本发明实施例提供的部分图像的像素点及其左像素点、上像素点和左上像素点位置关系的示意图。
该部分图像的大小为2*3,像素点P1,1不存在相邻像素点;像素点P1,2的相邻像素点为P1,2的左像素点P1,1;像素点P2,1的相邻像素点为P2,1的上像素点P1,1;像素点P2,2的相邻像素点为像素点P2,2的左像素点P2,1、上像素点P1,2和左上像素点P1,1;像素点P3,1的相邻像素点为像素点的上像素点P2,1;像素点P3,2的相邻像素点为像素点P3,2的左像素点P3,1、上像素点P2,2和左上像素点P2,1。
在步骤S102中,比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,并得出比较结果。
当所述相邻像素点为当前像素点相邻的上方像素点时,比较所述当前像素点的颜色分量值和所述上方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述上方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述上方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述上方像素点的绿色分量值,得出比较结果;即获得当前像素点与相邻的上方像素点的RGB值的差值。
相邻的上方像素点的RGB值为up.r、up.g、up.b,其分别表示相邻的上方像素点的红色分量值、绿色分量值和蓝色分量值。当前像素点的RGB值为c.r、c.g、c.b其分别表示当前像素点的红色分量值、绿色分量值和蓝色分量值。
那么比较结果即为c.r-up.r、c.g-up.g、c.b-up.b。
当所述相邻像素点为当前像素点相邻的左方像素点时,比较所述当前像素点的颜色分量值和所述左方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述左方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述左方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述左方像素点的绿色分量值,得出比较结果。即获得当前像素点与相邻的左方像素点的RGB值的差值。
相邻的左方像素点的RGB值为left.r、left.g、left.b,其分别表示相邻的上方像素点的红色分量值、绿色分量值和蓝色分量值。当前像素点的RGB值为c.r、c.g、c.b其分别表示当前像素点的红色分量值、绿色分量值和蓝色分量值。
那么比较结果即为c.r-left.r、c.g-left.g、c.b-left.b。
当所述相邻像素点为当前像素点相邻的上方像素点、左方像素点和左上方像素点时,获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,并获取所述左上方像素点与所述左方像素点的颜色分量差分值diff_v,若所述颜色分量差分值diff_h大于或等于所述颜色分量差分值diff_v,则比较当前像素点的颜色分量值和所述左方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述左方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述左方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述左方像素点的绿色分量值,得出比较结果;即获得当前像素点与相邻的左方像素点的RGB值的差值。相邻的左方像素点的RGB值为left.r、left.g、left.b,其分别表示相邻的上方像素点的红色分量值、绿色分量值和蓝色分量值。当前像素点的RGB值为c.r、c.g、c.b其分别表示当前像素点的红色分量值、绿色分量值和蓝色分量值。
那么比较结果即为c.r-left.r、c.g-left.g、c.b-left.b。
若所述颜色分量差分值diff_h小于所述颜色分量差分值diff_v,则比较当前像素点的颜色分量值和所述上方像素点的颜色分量值,则将所述当前像素点的红色分量值减去所述上方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述上方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述上方像素点的绿色分量值,得出比较结果。即获得当前像素点与相邻的上方像素点的RGB值的差值。相邻的上方像素点的RGB值为up.r、up.g、up.b,其分别表示相邻的上方像素点的红色分量值、绿色分量值和蓝色分量值。当前像素点的RGB值为c.r、c.g、c.b其分别表示当前像素点的红色分量值、绿色分量值和蓝色分量值。
那么比较结果即为c.r-up.r、c.g-up.g、c.b-up.b。
其中,所述左上方像素点与所述上方像素点的颜色分量差分值diff_h为以下三者之和:所述左上方像素点与所述上方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的绿色分量值的差值的绝对值;
所述左上方像素点与所述左方像素点的颜色分量差分值diff_v为以下三者之和:所述左上方像素点与所述左方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的绿色分量值的差值的绝对值。
即当前像素点的左像素点的RGB分量值为left.r,left.g,left.b,上像素点的RGB分量值为up.r,up.g,up.b,左上像素点的RGB分量值为1_u.r,1_u.g,1_u.b,当当前像素点的相邻像素点包括左像素点、上像素点和左上像素点时,根据公式diff_h=|l_u.r-up.r|*2+|l_u.g-up.g|+|l_u.b-up.b|*2计算像素点的水平差分值diff_h,根据公式diff_v=|l_u.r-left.r|*2+|l_u.g-left.g|+|l_u.b-left.b|*2计算像素点的垂直差分值diff_v。
当前像素点不存在相邻像素点时,当前像素点所得的比较结果的RGB值等于0。
在步骤S103中,根据所述比较结果,判断当前像素点对应的压缩模式;
在本发明实施例中,根据比较结果判断当前像素点对应的压缩模式为:2位压缩模式或者8位压缩模式或者12位压缩模式或者零压缩模式。
当比较结果所得的值均为0时,则当前像素点使用2位压缩模式进行压缩,当比较结果所得的值较大的时对当前像素点使用零压缩模式,当比较结果所得的RGB值的差值较小的时,根据两者关联的程度和RGB值的差值的大小的不同对当前像素点使用8位压缩模式或者12位压缩模式。
具体步骤包括:设当前像素点的RGB值为(c.r,c.g,c.b),与当前像素点相比较的相邻像素点为左方像素点时,则左方像素点对应的RGB分量值为(left.r,left.g,left.b),若比较结果满足c.r=left.r,c.g=left.g,c.b=left.b,则当前像素点对应的压缩模式为2位压缩模式;若比较结果不满足c.r=left.r,c.g=left.g,c.b=left.b,同时其又满足-2<=c.r-left.r<=1,-4<=c.g-left.g<=3,-2<=c.b-left.b<=1,则当前像素点对应的压缩模式为8位压缩模式;若比较结果不满足-2<=c.r-left.r<=1,-4<=c.g-left.g<=3,-2<=c.b-left.b<=1,同时其又满足-4<=c.r-left.r<=3,-8<=c.g-left.g<=7,-4<=c.b-left.b<=3,则当前像素点对应的压缩模式为12位压缩模式;在当前像素点不存在相邻像素点时,当前像素点对应的压缩模式为零压缩模式。
具体步骤包括:设当前像素点的RGB值为(c.r,c.g,c.b),与当前像素点相比较的相邻像素点为上方像素点时,则上方像素点对应的RGB分量值为(up.r,up.g,up.b),若比较结果满足c.r=up.r,c.g=up.g,c.b=up.b,则当前像素点对应的压缩模式为2位压缩模式;若比较结果不满足c.r=up.r,c.g=up.g,c.b=up.b,同时其又满足-2<=c.r-up.r<=1,-4<=c.g-up.g<=3,-2<=c.b-up.b<=1,则当前像素点对应的压缩模式为8位压缩模式;若比较结果不满足-2<=c.r-up.r<=1,-4<=c.g-up.g<=3,-2<=c.b-up.b<=1,同时其又满足-4<=c.r-up.r<=3,-8<=c.g-up.g<=7,-4<=c.b-up.b<=3,则当前像素点对应的压缩模式为12位压缩模式;在当前像素点不存在相邻像素点时,当前像素点对应的压缩模式为零压缩模式。
在上述实施例中,上述步骤的执行顺序没有严格要求,两个步骤也可以同时进行。
在步骤S104中,根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩,完成对所述图像中像素点的压缩。
像素点的压缩数据包括模式值和压缩值,在本发明实施例中,模式值可以根据需要设置,也可以根据压缩模式对应的固定模式值获取,设定不同的模式值对应不同的压缩模式,根据当前像素点对应的压缩模式,以及保存当前像素点的压缩数据的具体过程包括:当当前像素点对应的压缩模式为2位压缩模式时,当前像素点的模式值为2位压缩模式对应的模式值,压缩值为空;当当前像素点对应的压缩模式为10位压缩模式时,当前像素点的模式值为10位压缩模式对应的模式值,压缩值为当前像素点的RGB值减去当前像素点的差分基点的RGB值的差值;当当前像素点对应的压缩模式为12位压缩模式时,当前像素点的模式值为12位压缩模式对应的模式值,压缩值为当前像素点的RGB值减去当前像素点的差分基点的RGB值的差值;当当前像素点对应的压缩模式为零压缩模式时,当前像素点的模式值为零压缩模式对应的模式值,压缩值为当前像素点的RGB值。
在本发明实施例中,有关RGB值的计算和存储是2进制形式进行的,2bit的2进制数的表示有00,01,10,11,对应的值的范围是-2~1的整数;3bit的2进制数的表示有000,001,010,011,100,101,110,111,对应的值的范围是-3~4的整数;4bit的2进制数的表示有0000,0001,0010,0011,0100,0101,0110,0111,1000,10001,1010,1011,1100,1101,1110,1111对应的值的范围是为-8~7的整数;5bit的2进制数对应的值是0~31的整数,6bit的2进制数对应的值的范围是0~63的整数。在本发明实施例中,图像的像素点的RGB值的存储格式为565格式,当像素点的RGB值减去像素点的差分基点的RGB值的差值为0时,则像素点对应的压缩模式为2位压缩模式,像素点的数据占据2bit空间,其中模式值占据2bit,用2进制数11表示,压缩值为空;当像素点的RGB值减去像素点的差分基点的RGB值的差值不为0且差值对应的R、G、B分量差值的数值均可以用2bit的2进制数表示时,则像素点对应的压缩模式为8位压缩模式,像素点的数据占据10bit空间,其中模式值占据2bit,用2进制数10表示,压缩值占据8bit,压缩值为像素点的RGB值减去像素点的差分基点的RGB值的差值对应的2进制数;当像素点的RGB值减去像素点的差分基点的RGB值的差值对应的R、G、B分量差值不在2bit的2进制数值表示范围内,分别在3bit、4bit、3bit的2进制数值表示范围内时,则像素点对应的压缩模式为12位压缩模式,像素点的压缩数据占据12bit空间,其中模式值2bit,用2进制数01表示,压缩值占据10bit,压缩值为像素点的RGB值减去像素点的差分基点的RGB值的差值对应的2进制数;当像素点不存在差分基点时,则像素点对应的压缩模式为零压缩模式,像素点的压缩数据占据18bit空间,其中模式值占据2bit,用进制数00表示,压缩值占据16bit,压缩值为像素点的RGB值对应的2进制数,R、G、B分量分别占据5bit、6bit、5bit。在本发明实施例中,用2进制数表示的模式值或者压缩值是一对一的对应关系,但不是唯一对应关系,比如2位模式值也可以2进制数10表示,8位模式值也可以用2进制数01表示,具体不再赘述。
图3是本发明实施例提供的图像像素点的压缩装置的组成结构。
在本发明实施例中,图像像素点的压缩***包括颜色分量值获取单元31,颜色分量值比较单元32、压缩模式判断单元33和压缩单元34。
颜色分量值获取单元31,用于获取所述像素点的颜色分量值;其获取当前像素点的RGB值,相邻像素点的RGB值,并将上述的RGB值传送给颜色分量值比较单元32。
本压缩装置还包括相邻像素点识别单元35,用于识别所述当前像素点的相邻像素点;当所述当前像素点不存在相邻的左方像素点和左上方像素点时,所述相邻像素点识别单元识别当前像素点相邻的上方像素点为所述相邻像素点;当所述当前像素点不存在相邻的上方像素点和左上方像素点时,所述相邻像素点识别单元识别当前像素点相邻的左方像素点为所述相邻像素点;当所述当前像素点存在相邻的左方像素点,上方像素点和左上方像素点时,所述相邻像素点识别单元识别当前像素点相邻的上方像素点、左方像素点和左上方像素点为所述相邻像素点。
颜色分量值比较单元32包括:上方像素点颜色分量值比较单元321,左方像素点颜色分量值比较单元322,以及上方像素点、左方像素点和左上方像素点颜色分量值比较单元323。
上方像素点颜色分量值比较单元321,用于当所述相邻像素点为当前像素点相邻的上方像素点时,比较所述当前像素点的颜色分量值和所述上方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述上方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述上方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述上方像素点的绿色分量值,得出比较结果;那么比较结果即为c.r-up.r、c.g-up.g、c.b-up.b。
左方像素点颜色分量值比较单元322,用于当所述相邻像素点为当前像素点相邻的左方像素点时,比较所述当前像素点的颜色分量值和所述左方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述左方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述左方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述左方像素点的绿色分量值,得出比较结果;那么比较结果即为c.r-left.r、c.g-left.g、c.b-left.b。
上方像素点、左方像素点和左上方像素点颜色分量值比较单元323,用于当所述相邻像素点为当前像素点相邻的上方像素点、左方像素点和左上方像素点时,获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,并获取所述左上方像素点与所述左方像素点的颜色分量差分值diff_v,若所述颜色分量差分值diff_h大于或等于所述颜色分量差分值diff_v,则比较当前像素点的颜色分量值和所述左方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述左方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述左方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述左方像素点的绿色分量值,得出比较结果,那么比较结果即为c.r-left.r、c.g-left.g、c.b-left.b。
若所述颜色分量差分值diff_h小于所述颜色分量差分值diff_v,则比较当前像素点的颜色分量值和所述上方像素点的颜色分量值,则将所述当前像素点的红色分量值减去所述上方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述上方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述上方像素点的绿色分量值,得出比较结果,那么比较结果即为c.r-up.r、c.g-up.g、c.b-up.b。
颜色分量值比较单元32还包括diff_h获取单元324和diff_v325获取单元;
所述diff_h获取单元324,用于获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,所述颜色分量差分值diff_h为以下三者之和:所述左上方像素点与所述上方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的绿色分量值的差值的绝对值;
所述diff_v获取单元325,用于获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_v,所述颜色分量差分值diff_v为以下三者之和:所述左上方像素点与所述左方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的绿色分量值的差值的绝对值。
即当前像素点的左像素点的RGB分量值为left.r,left.g,left.b,上像素点的RGB分量值为up.r,up.g,up.b,左上像素点的RGB分量值为1_u.r,l_u.g,1_u.b,当当前像素点的相邻像素点包括左像素点、上像素点和左上像素点时,根据公式diff_h=|l_u.r-up.r|*2+|l_u.g-up.g|+|l_u.b-up.b|*2计算像素点的水平差分值diff_h,根据公式diff_v=|l_u.r-left.r|*2+|l_u.g-left.g|+|l_u.b-left.b|*2计算像素点的垂直差分值diff_v。
压缩模式判断单元33,用于根据所述颜色分量值比较单元的比较结果,判断所述当前像素点对应的压缩模式;具体过程不再赘述。
此压缩装置还包括零压缩模式判断单元:所述零压缩模式判断单元用于当所述当前像素点不存在所述相邻像素点时,判断所述当前像素点对应的所述压缩模式为所述零压缩模式。
压缩单元34根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩后,得到所述当前像素点的压缩值和模式值。具体过程不再赘述。
在本发明实施例中,设h*w为图像的大小,N1,N2,N3,N4分别为压缩模式为2位压缩模式,8位压缩模式,12位压缩模式,零压缩模式的像素点的个数,压缩率的计算公式为(N1*2+N2*8+N3*12+N4*16)/(h*w*16),利用本发明实施例的压缩方法所得的,尤其在一些诸如人物形象,游戏图像的应用中,压缩效率较高,压缩率可达30%,即使压缩效率较低时,仍会有70%以下的压缩率。
图4示出了本发明实施例提供的图像像素点的解压缩的处理流程。
本发明实施例所提供一种图像中像素点的解压缩方法,所述图像包含多个像素点,所述像素点中当前进行解压缩处理的点为当前像素点,与所述当前像素点相邻的像素点为相邻像素点,所述相邻像素点包括与当前像素点相邻的左方像素点、上方像素点和左上方像素点中的一个或多个;所述图像中像素点的压缩数据包括所述当前像素点的压缩值和模式值;此方法分为S401和S402,共2个步骤:
在步骤S401中,获取所述当前像素点的压缩值和模式值,以及相邻像素点的颜色分量值。
在本发明实施例中,获取在图像中像素点的压缩过程所产生的压缩值以及模式值。同时获取相邻像素点的颜色分量值。
其相邻像素点的颜色分量值为当所述相邻像素点为当前像素点相邻的上方像素点时,获取当前像素点相邻的上方像素点的颜色分量值;当所述相邻像素点为当前像素点相邻的左方像素点时,获取当前像素点相邻的左方像素点的颜色分量值;当所述相邻像素点为当前像素点相邻的上方像素点、左方像素点和左上方像素点时,获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,并获取所述左上方像素点与所述左方像素点的颜色分量差分值diff_v,若所述颜色分量差分值diff_h大于或等于所述颜色分量差分值diff_v,则获取当前像素点相邻的左方像素点的颜色分量值;若所述颜色分量差分值diff_h小于所述颜色分量差分值diff_v,则获取当前像素点相邻的上方像素点的颜色分量值。
其中,颜色分量差分值diff_h=|l_u.r-up.r|*2+|l_u.g-up.g|+|l_u.b-up.b|*2;颜色分量差分值diff_v=|l_u.r-left.r|*2+|l_u.g-left.g|+|l_u.b-left.b|*2。
当所述当前像素点不存在相邻像素点时,则所述相邻像素点的颜色分量值为0。本步骤的其余具体过程不再赘述。
在步骤S402中,根据所述当前像素点的压缩值和模式值,以及相邻像素点的颜色分量值,得到所述当前像素点的颜色分量值,完成对所述当前像素点的解压。
在本发明实施例中,图像像素点的解压缩过程中获取的像素点的压缩数据和与图像像素点的压缩过程中保存的像素点的压缩数据一致,像素点的压缩数据包括模式值和压缩值,由于图像像素点的解压缩过程中像素点的模式值对应的压缩模式和图像像素点的压缩过程中像素点的压缩模式对应的模式值一致,根据压缩数据可以获取像素点的模式值,模式值对应的压缩模式包括2位压缩模式或者8位压缩模式或者12位压缩模式或者零压缩模式。
根据获取的当前像素点的压缩数据和相邻像素点的RGB值可以计算当前像素点的RGB值,实现压缩数据的解压缩,具体步骤包括:当所述当前像素点的模式值为2位压缩模式对应的模式值时,当前像素点的颜色分量值为获取的所述相邻像素点的颜色分量值;当当前像素点的模式值为8位或12位或零压缩模式对应的模式值时,当前像素点的颜色分量值为获取的所述相邻像素点的颜色分量值与所述当前像素点的压缩值之和。
在本发明实施例中,当图像像素点的解压缩过程获取的压缩数据使用2进制数表示时,2进制形式获取当前像素点的RGB值的过程同图像像素点的压缩过程类似,具体不再赘述。
图5示出了本发明实施例提供的图像像素点的解压缩装置的结构。
图像像素点的解压缩装置包括当前像素点压缩值和模式值获取单元51,用于接收所述当前像素点的压缩值和模式值;相邻像素点颜色分量值获取单元52,用于获取当前像素点的相邻像素点的颜色分量值;解压缩单元53,用于根据所述当前像素点的压缩值和模式值,以及相邻像素点的颜色分量值,得到所述当前像素点的颜色分量值。
当前像素点压缩值和模式值获取单元51获取模式值,此模式值对应的压缩模式为2位压缩模式或者8位压缩模式或者12位压缩模式或者零压缩模式。包括压缩数据获取模块511,序列化模块512和传送模块513,压缩数据获取模块511获取当前像素点的压缩数据,序列化模块512将压缩数据获取模块511获取的当前像素点的压缩数据序列化为数据流发送给传送模块513,传送模块513向解压缩单元53传送压缩数据。压缩数据包括模式值和压缩值。
相邻像素点颜色分量值获取单元52包括:
上方像素点颜色分量值获取单元521,用于当所述相邻像素点为当前像素点相邻的上方像素点时,获取当前像素点相邻的上方像素点的颜色分量值;
左方像素点颜色分量值获取单元522,用于当所述相邻像素点为当前像素点相邻的左方像素点时,获取当前像素点相邻的左方像素点的颜色分量值;
上方像素点、左方像素点和左上方像素点颜色分量值获取单元523,用于当所述相邻像素点为当前像素点相邻的上方像素点、左方像素点和左上方像素点时,获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,并获取所述左上方像素点与所述左方像素点的颜色分量差分值diff_v,若所述颜色分量差分值diff_h大于或等于所述颜色分量差分值diff_v,则获取当前像素点相邻的左方像素点的颜色分量值;若所述颜色分量差分值diff_h小于所述颜色分量差分值diff_v,则获取当前像素点相邻的上方像素点的颜色分量值。
相邻像素点颜色分量值获取单元52还包括diff_h获取单元524和diff_v525获取单元;
所述diff_h获取单元524,用于获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,所述颜色分量差分值diff_h为以下三者之和:所述左上方像素点与所述上方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的绿色分量值的差值的绝对值;
所述diff_v获取单元525,用于获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_v,所述颜色分量差分值diff_v为以下三者之和:所述左上方像素点与所述左方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的绿色分量值的差值的绝对值。
即diff_h=|l_u.r-up.r|*2+|l_u.g-up.g|+|l_u.b-up.b|*2;
diff_v=|l_u.r-left.r|*2+|l_u.g-left.g|+|l_u.b-left.b|*2。
解压缩单元53,根据接收到当前像素点压缩值和模式值获取单元51传送的所述当前像素点的压缩值和模式值,以及由相邻像素点颜色分量值获取单元52传送的相邻像素点的颜色分量值,得到所述当前像素点的颜色分量值。
具体实现过程不再赘述。
在本发明实施例中,当前像素点的上像素点和左上像素点处于当前像素点的所处行的上一行,当前像素点的左像素点处于当前像素点所处行的左侧,为了实时输出当前像素点的RGB值,需要获取处于当前像素点的上一行的当前像素点的上像素点、左上像素点,以及与当前像素点同行的当前像素点的左像素点的RGB值。
在本发明实施例中,为了逐行实时性输出像素点的RGB值,压缩数据接收单元51还可以包括传送控制模块、计数模块和行缓存模块,传送模块逐行且每行自左向右传送像素点的压缩数据,传送控制模块控制传送模块中压缩数据的传送进度,行缓存模块逐行缓存当前行的上一行的像素点的压缩数据,计数模块对行缓存模块中缓存的像素点的压缩数据进行计数,获取当前像素点的上像素点和左上像素点的位置,使上像素值和左像素值获取模块521根据计数单元获取的当前像素点的上像素点和左上像素点的位置获取前像素点的上像素点和左上像素点的RGB值。左像素值获取模块522可以是延时模块,缓存当前像素点的RGB值,作为下一个像素点的左像素点的RGB值,这样,像素值计算单元根据上像素值和左像素值获取模块521和左像素值获取模块522获取的当前像素点的上像素点、左上像素点和左像素点的RGB值计算当前像素点的RGB值,具体过程在此不再赘述。
图6示出了本发明实施例提供图像像素点解压缩过程中压缩数据的传送示意图。
在本发明实施例中,图像像素点的解压缩过程中,获取的像素点的压缩数据以2进制数形式存储,传送模块为2级18位寄存器,传送控制单元发送时钟信号,控制18位寄存器在接收一个时钟信号后第一级18位寄存器接收序列化模块传送的18bit压缩数据并向第二级18位寄存器输出原有的18bit压缩数据,第二级18位寄存器接收第一级18位寄存器传送的18bit压缩数据并输出给解压缩单元53。
在本发明实施例中,当前像素点的模式值数据段只能在第二级18位寄存器中获取,控制传送模块控制对压缩数据流的移位的具体过程如下:在当前像素点的压缩数据进行跨18位寄存器或者下一点刚好从第一级18位寄存器开始存储的时候发生。压缩数据流包括像素Pn,Pn+1,Pn+2......的压缩数据,其中2bit表示像素点的模式值数据段,空白段表示像素点的压缩值数据段,Pn的模式值数据段在第二级18位寄存器中,压缩数据流不需要移动;在处理Pn+1点的时候,由于它的模式值数据段在第二级18位寄存器,压缩值数据段已经跨过了第一级18位寄存器到了第二级18位寄存器,所以在Pn+1点的模式值数据段被像素值计算单元获取后,像素值计算单元获取压缩值时,2级18位寄存器进行数据流移位,移动的压缩数据为18bit,则第一级18位寄存器的压缩数据传入到第二级18位寄存器中,而第一级18位寄存器继续从前端读入新的18bit压缩数据流数据,如此反复,不再详述。
图7示出了本发明实施例获取压缩数据中模式值的示意图。
在本发明实施例中,当前像素点的模式值数据段只能在第二级18位寄存器中获取。2级18bit延时寄存器输出36bit的数据到像素值计算单元,可以得到则模式值数据段的采样范围为0~17比特位;又由于不同压缩模式的像素点的压缩数据占据的空间均为双数比特位数,模式值数据段之间的间隔为2个比特,不会出现3~18比特位的选取。
图8(a)、(b)分别示出了压缩数据中的模式值对应8位、12位压缩模式时,本发明实施例提供的获取压缩数据中压缩值的示意图。
在本发明实施例中,解压缩单元53获取压缩值时,当压缩数据中的模式值对应的2位压缩模式时(图未示出),压缩值数据段不占据空间;当压缩数据中的模式值对应的8位压缩模式时,压缩值数据段占据6bit,R、G、B分量分别占据2bit空间,采样时可能存在的范围在2~23比特位;当压缩数据中的模式值对应的12位压缩模式时,压缩值数据段占据10bit空间,其中R、G、B分量分别占据3bit、4bit、3bit空间,采样时可能存在的范围在2~27比特位;当压缩数据中的模式值对应的零压缩模式时(图未示出),压缩值数据段占据16bit空间,R、G、B分量分别占据5bit、6bit、5bit空间采样时可能存在的范围在2~33比特位。
图9示出了本发明实施例提供的像素值计算的示意图。
Diff_h获取单元901根据输入的当前像素点的左上像素点和上像素点的RGB值计算像素点的水平差分值diff_h,Diff_v获取单元902根据像素点的左上像素点和左像素点的RGB值计算像素点的垂直差分值diff_v,水平差分值和垂直差分值输入比较模块进行比较,当水平差分值大于垂直差分值时候,相邻像素点颜色分量值获取单元903选择当前像素点的左像素点的RGB值,反之则选择当前像素点的上像素点的RGB值。当前像素点压缩值和模式值获取单元904分别抽取压缩数据的模式值和压缩值,抽取的模式值决定解压缩单元905对数据解压所使用的模式,当模式值对应的压缩模式为零压缩模式时,解压缩单元905选择压缩数据的压缩值作为当前像素点的RGB值;当模式值对应的压缩模式为2位压缩模式时,解压缩单元905选择相邻像素点颜色分量值获取单元903输入的相邻像素点的RGB值作为当前像素点的RGB值,当模式值对应的压缩模式为8位压缩模式或者12位或者零压缩模式时,解压缩单元905选择相邻像素点颜色分量值获取单元903输入的相邻像素点的RGB值,与当前像素点压缩值和模式值获取单元904输入的压缩值,二者之和作为当前像素点的RGB值。
本发明实施例中,提出了一种图像像素点的无损逐行压缩和解压缩的方法,所用编码方法为变长编码,只需单行缓存即可实现,将无损图像压缩和解压缩方法用于图像的显示***中可实时显示图像,只需在显示***输入端压缩图像帧并缓存,输出端对其解压缩即可,大大减少了帧缓存所占的内存空间及输出显示过程所占的***带宽,压缩和解压缩所需硬件成本低,易实现,功耗小。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种用于视频压缩***中的视频图像压缩方法,所述图像包含多个像素点,所述像素点中当前进行压缩处理的点为当前像素点,与所述当前像素点相邻的像素点为相邻像素点,所述相邻像素点包括与当前像素点相邻的左方像素点、上方像素点和左上方像素点中的一个或多个;其特征在于,所述方法包括以下步骤:
获取当前像素点及其相邻像素点,并同时获取当前像素点的颜色分量值及其相邻像素点的颜色分量值;
比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,并得出比较结果;
根据所述比较结果,判断当前像素点对应的压缩模式;
根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩,得到所述当前像素点的压缩值,完成对所述图像中像素点的压缩;
其中:
所述颜色分量值为像素点的红色分量值、绿色分量值和蓝色分量值;所述比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,并得出比较结果包括:
当所述相邻像素点为当前像素点相邻的上方像素点时,比较所述当前像素点的颜色分量值和所述上方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述上方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述上方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述上方像素点的绿色分量值,得出比较结果;
当所述相邻像素点为当前像素点相邻的左方像素点时,比较所述当前像素点的颜色分量值和所述左方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述左方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述左方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述左方像素点的绿色分量值,得出比较结果;
当所述相邻像素点为当前像素点相邻的上方像素点、左方像素点和左上方像素点时,获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,并获取所述左上方像素点与所述左方像素点的颜色分量差分值diff_v,若所述颜色分量差分值diff_h大于或等于所述颜色分量差分值diff_v,则比较当前像素点的颜色分量值和所述左方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述左方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述左方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述左方像素点的绿色分量值,得出比较结果;
若所述颜色分量差分值diff_h小于所述颜色分量差分值diff_v,则比较当前像素点的颜色分量值和所述上方像素点的颜色分量值,则将所述当前像素点的红色分量值减去所述上方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述上方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述上方像素点的绿色分量值,得出比较结果;
所述左上方像素点与所述上方像素点的颜色分量差分值diff_h为以下三者之和:所述左上方像素点与所述上方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的绿色分量值的差值的绝对值;
所述左上方像素点与所述左方像素点的颜色分量差分值diff_v为以下三者之和:所述左上方像素点与所述左方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的绿色分量值的差值的绝对值;
所述压缩模式为2位压缩模式、8位压缩模式或者12位压缩模式或者零压缩模式,所述根据所述比较结果,判断当前像素点对应的压缩模式包括:
若所述当前像素点与一个所述相邻像素点进行比较,得出的比较结果满足以下三个条件:
所述当前像素点的红色分量值等于所述相邻像素点的红色分量值;同时所述当前像素点的蓝色分量值等于所述相邻像素点的蓝色分量值;并且所述当前像素点的绿色分量值等于所述相邻像素点的绿色分量值;
则所述当前像素点对应的压缩模式为2位压缩模式;
若所述当前像素点与一个所述相邻像素点进行比较,得出的比较结果满足以下三个条件:
若所述当前像素点的红色分量值减去所述相邻像素点的红色分量值所得出的结果不为零,且大于等于-2,小于等于1;同时所述当前像素点的蓝色分量值减去所述相邻像素点的蓝色分量值所得出的结果不为零,且大于等于-2,小于等于1;并且所述当前像素点的绿色分量值减去所述相邻像素点的绿色分量值所得出的结果不为零,且大于等于-4,小于等于3;
则所述当前像素点对应的压缩模式为8位压缩模式;
若所述当前像素点与一个所述相邻像素点进行比较,得出的比较结果满足以下三个条件:
若所述当前像素点的红色分量值减去所述相邻像素点的红色分量值所得出的结果大于等于-4,小于-2,或大于1,小于等于3;同时所述当前像素点的蓝色分量值减去所述相邻像素点的蓝色分量值所得出的结果大于等于-4,小于-2,或大于1,小于等于3;并且所述当前像素点的绿色分量值减去所述相邻像素点的绿色分量值所得出的结果大于等于-8,小于-4,或大于3,小于等于7;
则所述当前像素点对应的压缩模式为12位压缩模式;
比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,若所述当前像素点对应的压缩模式不为2位压缩模式或8位压缩模式或12位压缩模式,则所述当前像素点对应的压缩模式为零压缩模式;
所述得到所述当前像素点的压缩值包括:当所述当前像素点对应的压缩模式为2位压缩模式时,所述当前像素点的压缩值为空;当所述当前像素点对应的压缩模式为8位压缩模式时,所述当前像素点的压缩值为所述当前像素点的颜色分量值减去在所述比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,并得出比较结果步骤中与当前像素点进行相减的所述相邻像素点的颜色分量值所得到的差值;当所述当前像素点对应的压缩模式为12位压缩模式时,所述当前像素点的压缩值为所述当前像素点的颜色分量值减去在所述比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,并得出比较结果步骤中与当前像素点进行相减的所述相邻像素点的颜色分量值所得到的差值;当所述当前像素点对应的压缩模式为零压缩模式时,所述当前像素点的压缩值为所述当前像素点的颜色分量值。
2.如权利要求1所述的压缩方法,其特征在于,所述获取当前像素点及其相邻像素点的步骤包括:
当所述当前像素点不存在相邻的左方像素点和左上方像素点时,所述相邻像素点为当前像素点相邻的上方像素点;
当所述当前像素点不存在相邻的上方像素点和左上方像素点时,所述相邻像素点为当前像素点相邻的左方像素点;
当所述当前像素点存在相邻的左方像素点,上方像素点和左上方像素点时,所述相邻像素点为当前像素点相邻的上方像素点、左方像素点和左上方像素点。
3.如权利要求1所述的压缩方法,其特征在于,所述的方法进一步包括:
当所述当前像素点不存在相邻像素点时,则所述当前像素点对应的所述压缩模式为所述零压缩模式。
4.如权利要求1所述的压缩方法,其特征在于,所述根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩后,还得到所述当前像素点的模式值。
5.一种用于视频压缩***中的视频图像压缩装置,所述图像包含多个像素点,所述像素点具有颜色分量值,所述颜色分量值为像素点的红色分量值、绿色分量值和蓝色分量值,所述像素点中当前进行压缩处理的点为当前像素点,与所述当前像素点相邻的像素点为相邻像素点,所述相邻像素点包括与当前像素点相邻的左方像素点、上方像素点和左上方像素点中的一个或多个;所述压缩装置包括颜色分量值获取单元、颜色分量值比较单元、压缩模式判断单元以及压缩单元,其特征在于:
所述颜色分量值获取单元,用于获取所述当前像素点的颜色分量值和所述相邻像素点的颜色分量值,并将获取的所述当前像素点的颜色分量值和所述相邻像素点的颜色分量值发送给颜色分量值比较单元和压缩单元;
所述颜色分量值比较单元,用于比较接收到的所述颜色分量值获取单元所发送的所述当前像素点的颜色分量值和所述相邻像素点的颜色分量值,并将得出的比较结果发送给压缩模式判断单元;
所述压缩模式判断单元,用于根据从所述颜色分量值比较单元接收的所述颜色分量值比较单元的比较结果,判断所述当前像素点对应的压缩模式,并将得出的所述压缩模式发送给压缩单元;
所述压缩单元,用于根据所述颜色分量值获取单元发送的所述颜色分量值和所述压缩模式判断单元发送的所述压缩模式,对所述当前像素点的颜色分量值进行压缩;
其中:
所述颜色分量值比较单元包括:上方像素点颜色分量值比较单元、左方像素点颜色分量值比较单元、以及上方像素点、左方像素点和左上方像素点颜色分量值比较单元;
所述上方像素点颜色分量值比较单元,用于当所述相邻像素点为当前像素点相邻的上方像素点时,比较所述当前像素点的颜色分量值和所述上方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述上方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述上方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述上方像素点的绿色分量值,得出比较结果;
所述左方像素点颜色分量值比较单元,用于当所述相邻像素点为当前像素点相邻的左方像素点时,比较所述当前像素点的颜色分量值和所述左方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述左方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述左方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述左方像素点的绿色分量值,得出比较结果;
所述上方像素点、左方像素点和左上方像素点颜色分量值比较单元,用于当所述相邻像素点为当前像素点相邻的上方像素点、左方像素点和左上方像素点时,获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,并获取所述左上方像素点与所述左方像素点的颜色分量差分值diff_v,若所述颜色分量差分值diff_h大于或等于所述颜色分量差分值diff_v,则比较当前像素点的颜色分量值和所述左方像素点的颜色分量值,将所述当前像素点的红色分量值减去所述左方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述左方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述左方像素点的绿色分量值,得出比较结果;若所述颜色分量差分值diff_h小于所述颜色分量差分值diff_v,则比较当前像素点的颜色分量值和所述上方像素点的颜色分量值,则将所述当前像素点的红色分量值减去所述上方像素点的红色分量值,得出比较结果;同时将所述当前像素点的蓝色分量值减去所述上方像素点的蓝色分量值,得出比较结果;并且将所述当前像素点的绿色分量值减去所述上方像素点的绿色分量值,得出比较结果;
所述颜色分量值比较单元还包括:
diff_h获取单元,用于获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,所述颜色分量差分值diff_h为以下三者之和:所述左上方像素点与所述上方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的绿色分量值的差值的绝对值;
diff_v获取单元,用于获取所述左上方像素点与所述左方像素点的颜色分量差分值diff_v,所述颜色分量差分值diff_v为以下三者之和:所述左上方像素点与所述左方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的绿色分量值的差值的绝对值;
所述压缩模式判断单元所判断的压缩模式为2位压缩模式、8位压缩模式或者12位压缩模式或者零压缩模式;所述压缩模式判断单元根据所述颜色分量值比较单元的比较结果,判断所述当前像素点对应的压缩模式的过程具体为:
若所述当前像素点与一个所述相邻像素点进行比较,得出的比较结果满足以下三个条件:
所述当前像素点的红色分量值等于所述相邻像素点的红色分量值;同时所述当前像素点的蓝色分量值等于所述相邻像素点的蓝色分量值;并且所述当前像素点的绿色分量值等于所述相邻像素点的绿色分量值;
则所述压缩模式判断单元判断所述当前像素点对应的压缩模式为2位压缩模式;
若所述当前像素点与一个所述相邻像素点进行比较,得出的比较结果满足以下三个条件:
若所述当前像素点的红色分量值减去所述相邻像素点的红色分量值所得出的结果不为零,且大于等于-2,小于等于1;同时所述当前像素点的蓝色分量值减去所述相邻像素点的蓝色分量值所得出的结果不为零,且大于等于-2,小于等于1;并且所述当前像素点的绿色分量值减去所述相邻像素点的绿色分量值所得出的结果不为零,且大于等于-4,小于等于3;
则所述压缩模式判断单元判断所述当前像素点对应的压缩模式为8位压缩模式;
若所述当前像素点与一个所述相邻像素点进行比较,得出的比较结果满足以下三个条件:
若所述当前像素点的红色分量值减去所述相邻像素点的红色分量值所得出的结果大于等于-4,小于-2,或大于1,小于等于3;同时所述当前像素点的蓝色分量值减去所述相邻像素点的蓝色分量值所得出的结果大于等于-4,小于-2,或大于1,小于等于3;并且所述当前像素点的绿色分量值减去所述相邻像素点的绿色分量值所得出的结果大于等于-8,小于-4,或大于3,小于等于7;
则所述压缩模式判断单元判断所述当前像素点对应的压缩模式为12位压缩模式;
比较所述当前像素点的颜色分量值及其相邻像素点的颜色分量值,若所述当前像素点对应的压缩模式不为2位压缩模式或8位压缩模式或12位压缩模式,则所述压缩模式判断单元判断所述当前像素点对应的压缩模式为零压缩模式;
所述压缩单元根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩后,得到所述当前像素点的压缩值,具体过程为:
当所述当前像素点对应的压缩模式为2位压缩模式时,所述压缩单元得到所述当前像素点的压缩值为空;
当所述当前像素点对应的压缩模式为8位压缩模式时,所述压缩单元得到所述当前像素点的压缩值为所述当前像素点的颜色分量值减去在所述颜色分量值比较单元中与当前像素点进行相减的所述相邻像素点的颜色分量值所得到的差值;
当所述当前像素点对应的压缩模式为12位压缩模式时,所述压缩单元得到所述当前像素点的压缩值为所述当前像素点的颜色分量值减去在所述颜色分量值比较单元中与当前像素点进行相减的所述相邻像素点的颜色分量值所得到的差值;
当所述当前像素点对应的压缩模式为零压缩模式时,所述压缩单元得到所述当前像素点的压缩值为所述当前像素点的颜色分量值。
6.如权利要求5所述的压缩装置,其特征在于,所述装置还包括相邻像素点识别单元,用于识别所述当前像素点的相邻像素点,并将识别出的所述当前像素点的相邻像素点信息发送给所述颜色分量值获取单元;
当所述当前像素点不存在相邻的左方像素点和左上方像素点时,所述相邻像素点识别单元识别当前像素点相邻的上方像素点为所述相邻像素点;
当所述当前像素点不存在相邻的上方像素点和左上方像素点时,所述相邻像素点识别单元识别当前像素点相邻的左方像素点为所述相邻像素点;
当所述当前像素点存在相邻的左方像素点,上方像素点和左上方像素点时,所述相邻像素点识别单元识别当前像素点相邻的上方像素点、左方像素点和左上方像素点为所述相邻像素点。
7.如权利要求5所述的压缩装置,其特征在于,所述的装置包括零压缩模式判断单元:
所述零压缩模式判断单元用于当所述当前像素点不存在相邻像素点时,判断所述当前像素点对应的所述压缩模式为所述零压缩模式。
8.如权利要求5所述的压缩装置,其特征在于,所述压缩单元根据所述当前像素点对应的压缩模式对所述当前像素点的颜色分量值进行压缩后,还得到所述当前像素点的模式值。
9.一种用于视频解压缩***的视频图像解压缩方法,所述图像包含多个像素点,所述像素点具有颜色分量值,所述颜色分量值为像素点的红色分量值、绿色分量值和蓝色分量值,所述像素点中当前进行解压缩处理的点为当前像素点,与所述当前像素点相邻的像素点为相邻像素点,所述相邻像素点包括与当前像素点相邻的左方像素点、上方像素点和左上方像素点中的一个或多个;所述当前像素点的压缩数据包括压缩值和模式值,其特征在于,所述方法包括以下步骤:
获取所述当前像素点的压缩值和模式值,以及相邻像素点的颜色分量值,其中,所述获取相邻像素点的颜色分量值具体为:当所述当前像素点不存在相邻的左方像素点和左上方像素点时,获取当前像素点相邻的上方像素点的颜色分量值;当所述当前像素点不存在相邻的上方像素点和左上方像素点时,获取当前像素点相邻的左方像素点的颜色分量值;当所述当前像素点存在相邻的左方像素点,上方像素点和左上方像素点时,获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,并获取所述左上方像素点与所述左方像素点的颜色分量差分值diff_v,若所述颜色分量差分值diff_h大于或等于所述颜色分量差分值diff_v,则获取当前像素点相邻的左方像素点的颜色分量值;若所述颜色分量差分值diff_h小于所述颜色分量差分值diff_v,则获取当前像素点相邻的上方像素点的颜色分量值,其中所述diff_h为以下三者之和:所述左上方像素点与所述上方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的绿色分量值的差值的绝对值;所述diff_v为以下三者之和:所述左上方像素点与所述左方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的绿色分量值的差值的绝对值,当所述当前像素点不存在相邻像素点时,则所述相邻像素点的颜色分量值为0;
根据所述当前像素点的压缩值和模式值,以及相邻像素点的颜色分量值,得到所述当前像素点的颜色分量值,完成对所述当前像素点的解压;具体包括:当所述当前像素点的模式值为2位压缩模式对应的模式值时,当前像素点的颜色分量值为获取的所述相邻像素点的颜色分量值;当当前像素点的模式值为8位压缩模式或12位压缩模式或零压缩模式对应的模式值时,当前像素点的颜色分量值为获取的所述相邻像素点的颜色分量值与所述当前像素点的压缩值之和。
10.如权利要求9所述的解压缩方法,其特征在于:
当所述当前像素点不存在相邻的左方像素点和左上方像素点时,所述相邻像素点为当前像素点相邻的上方像素点;
当所述当前像素点不存在相邻的上方像素点和左上方像素点时,所述相邻像素点为当前像素点相邻的左方像素点;
当所述当前像素点存在相邻的左方像素点,上方像素点和左上方像素点时,所述相邻像素点为当前像素点相邻的上方像素点、左方像素点和左上方像素点。
11.如权利要求9所述的解压缩方法,其特征在于,根据获取的所述当前像素点的模式值,确定所述当前像素点的压缩模式;所述压缩模式为2位压缩模式或者8位压缩模式或者12位压缩模式或者零压缩模式。
12.一种用于视频解压缩***中视频图像的解压缩装置,所述图像包含多个像素点,所述像素点具有颜色分量值,所述颜色分量值为像素点的红色分量值、绿色分量值和蓝色分量值,所述像素点中当前进行解压缩处理的点为当前像素点,与所述当前像素点相邻的像素点为相邻像素点,所述相邻像素点包括与当前像素点相邻的左方像素点、上方像素点和左上方像素点中的一个或多个;其特征在于,所述装置包括:
当前像素点压缩值和模式值获取单元,用于接收所述当前像素点的压缩值和模式值,并将所述压缩值和模式值发送给解压缩单元;所述模式值对应的压缩模式为2位压缩模式或者8位压缩模式或者12位压缩模式或者零压缩模式;
相邻像素点颜色分量值获取单元,用于获取当前像素点的相邻像素点的颜色分量值;
解压缩单元,用于根据从所述当前像素点压缩值和模式值获取单元接收到的所述当前像素点的压缩值和模式值,以及从所述相邻像素点颜色分量值获取单元接收到的相邻像素点的颜色分量值,具体通过下述过程得到所述当前像素点的颜色分量值:当所述当前像素点的模式值为2位压缩模式对应的模式值时,所述解压缩单元将接收到的所述相邻像素点的颜色分量值,作为当前像素点的颜色分量值;当所述当前像素点的模式值为8位压缩模式或12位压缩模式或零压缩模式对应的模式值时,所述解压缩单元将接收到的所述相邻像素点的颜色分量值与所述当前像素点的压缩值之和,作为当前像素点的颜色分量值;其中,所述相邻像素点颜色分量值获取单元包括:
上方像素点颜色分量值获取单元,用于当所述当前像素点不存在相邻的左方像素点和左上方像素点时,获取当前像素点相邻的上方像素点的颜色分量值;
左方像素点颜色分量值获取单元,用于当所述当前像素点不存在相邻的上方像素点和左上方像素点时,获取当前像素点相邻的左方像素点的颜色分量值;
上方像素点、左方像素点和左上方像素点颜色分量值获取单元,用于当所述当前像素点存在相邻的左方像素点,上方像素点和左上方像素点时,获取所述左上方像素点与所述上方像素点的颜色分量差分值diff_h,并获取所述左上方像素点与所述左方像素点的颜色分量差分值diff_v,若所述颜色分量差分值diff_h大于或等于所述颜色分量差分值diff_v,则获取当前像素点相邻的左方像素点的颜色分量值;若所述颜色分量差分值diff_h小于所述颜色分量差分值diff_v,则获取当前像素点相邻的上方像素点的颜色分量值;
所述相邻像素点颜色分量值获取单元还包括:
diff_h获取单元,用来获取所述左上方像素点与所述上方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述上方像素点的绿色分量值的差值的绝对值;并确定三者之和为所述左上方像素点与所述上方像素点的颜色分量差分值diff_h;
diff_v获取单元,用来获取所述左上方像素点与所述左方像素点的红色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的蓝色分量值的差值的绝对值的2倍,所述左上方像素点与所述左方像素点的绿色分量值的差值的绝对值;并确定三者之和为所述左上方像素点与所述左方像素点的颜色分量差分值diff_v。
13.如权利要求12所述的解压缩装置,其特征在于:
当所述当前像素点不存在相邻的左方像素点和左上方像素点时,所述相邻像素点为当前像素点相邻的上方像素点;
当所述当前像素点不存在相邻的上方像素点和左上方像素点时,所述相邻像素点为当前像素点相邻的左方像素点;
当所述当前像素点存在相邻的左方像素点,上方像素点和左上方像素点时,所述相邻像素点为当前像素点相邻的上方像素点、左方像素点和左上方像素点。
14.如权利要求12所述的解压缩装置,其特征在于,所述装置包括:
颜色分量值判断单元,用于当所述当前像素点不存在相邻像素点时,判断所述相邻像素点的颜色分量值为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910105281 CN101494788B (zh) | 2009-01-23 | 2009-01-23 | 视频图像的压缩/解压缩方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910105281 CN101494788B (zh) | 2009-01-23 | 2009-01-23 | 视频图像的压缩/解压缩方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101494788A CN101494788A (zh) | 2009-07-29 |
CN101494788B true CN101494788B (zh) | 2011-07-27 |
Family
ID=40925144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910105281 Active CN101494788B (zh) | 2009-01-23 | 2009-01-23 | 视频图像的压缩/解压缩方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101494788B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986385B (zh) * | 2010-11-15 | 2012-11-14 | 深圳市洲明科技股份有限公司 | Led显示屏图像压缩、解压缩方法 |
CN103096049A (zh) * | 2011-11-02 | 2013-05-08 | 华为技术有限公司 | 一种视频处理方法及***、相关设备 |
US8805069B2 (en) * | 2012-06-12 | 2014-08-12 | Kyocera Document Solutions Inc. | Cell-based compression of digital images |
CN103686330B (zh) * | 2013-12-30 | 2018-04-10 | 深圳Tcl新技术有限公司 | 智能终端间图像的传送方法及智能终端 |
CN104869327A (zh) * | 2015-05-28 | 2015-08-26 | 惠州Tcl移动通信有限公司 | 一种高清显示屏的图像文件快速显示的方法及*** |
CN109743578B (zh) * | 2018-12-29 | 2021-08-10 | 惠科股份有限公司 | 数据处理方法以及数据处理*** |
CN111614901A (zh) * | 2020-05-27 | 2020-09-01 | 惠州Tcl移动通信有限公司 | 一种图像拍摄方法、装置、存储介质及终端 |
CN115918104A (zh) * | 2020-06-05 | 2023-04-04 | Oppo广东移动通信有限公司 | 目标图像数据的生成方法,电子设备和非暂时性计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5164819A (en) * | 1991-04-03 | 1992-11-17 | Music John D | Method and system for coding and compressing color video signals |
US6256347B1 (en) * | 1996-12-17 | 2001-07-03 | Thomson Licensing S.A. | Pixel block compression apparatus in an image processing system |
CN101060629A (zh) * | 2007-04-27 | 2007-10-24 | 华为技术有限公司 | 图像压缩/解压方法及图像编/解码器和解码电路 |
CN101087415A (zh) * | 2007-06-08 | 2007-12-12 | 北京中星微电子有限公司 | 一种图像压缩方法和装置 |
CN101106709A (zh) * | 2006-07-10 | 2008-01-16 | 逐点半导体(上海)有限公司 | 图像压缩方法 |
-
2009
- 2009-01-23 CN CN 200910105281 patent/CN101494788B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5164819A (en) * | 1991-04-03 | 1992-11-17 | Music John D | Method and system for coding and compressing color video signals |
US6256347B1 (en) * | 1996-12-17 | 2001-07-03 | Thomson Licensing S.A. | Pixel block compression apparatus in an image processing system |
CN101106709A (zh) * | 2006-07-10 | 2008-01-16 | 逐点半导体(上海)有限公司 | 图像压缩方法 |
CN101060629A (zh) * | 2007-04-27 | 2007-10-24 | 华为技术有限公司 | 图像压缩/解压方法及图像编/解码器和解码电路 |
CN101087415A (zh) * | 2007-06-08 | 2007-12-12 | 北京中星微电子有限公司 | 一种图像压缩方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101494788A (zh) | 2009-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101494788B (zh) | 视频图像的压缩/解压缩方法与装置 | |
US8902992B2 (en) | Decoder for selectively decoding predetermined data units from a coded bit stream | |
US20020106019A1 (en) | Method and apparatus for implementing motion detection in video compression | |
CN103636204A (zh) | 基于位预算的图像数据的选择性无损-有损压缩 | |
CN101335897B (zh) | 图像压缩/解码方法及*** | |
US20130021350A1 (en) | Apparatus and method for decoding using coefficient compression | |
US20190082185A1 (en) | Efficient lossless compression of captured raw image information systems and methods | |
CN106170922B (zh) | 数据的源编码和解码的设备和方法 | |
US9894371B2 (en) | Video decoder memory bandwidth compression | |
CN109889846B (zh) | 一种Demura表数据的压缩与解压方法、装置及编解码*** | |
CN101142821A (zh) | 新压缩格式和用其在帧存储器中暂存图像数据的设备 | |
US20130251257A1 (en) | Image encoding device and image encoding method | |
CN107105208A (zh) | 一种Bayer图像的无损编码与解码方法 | |
US6584226B1 (en) | Method and apparatus for implementing motion estimation in video compression | |
CN104093027B (zh) | 用于彩色图像的联合标量嵌入式图形编码 | |
US20210250575A1 (en) | Image processing device | |
CN101951524A (zh) | 彩色数字图像的jpeg压缩方法和装置 | |
US20090304073A1 (en) | Systems and Methods for the Bandwidth Efficient Processing of Data | |
CN101406034B (zh) | 使用限定符水印的压缩方案及使用该压缩方案在帧存储器中临时存储图像数据的装置 | |
US9819969B2 (en) | Generalization of methods and systems for image compression while encoding at least one extra bit | |
CN1246019A (zh) | 用于从编码高分辨率视频信号中产生解码低分辨率视频信号的*** | |
CN106296754B (zh) | 显示数据压缩方法及显示数据处理*** | |
US9384410B2 (en) | Method and system for image compression while encoding at least one extra bit | |
CN115150370B (zh) | 一种图像处理的方法 | |
US11962951B2 (en) | Image signal processor, method of operating the image signal processor and image processing system including the image signal processor |
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 |