图像压缩/解压缩的方法、装置的制作方法

文档序号:7703715阅读:136来源:国知局
专利名称:图像压缩/解压缩的方法、装置的制作方法
技术领域
本发明属于视频编解码技术领域,尤其涉及一种3见频编解码系统及其图像 中宏块内部的像素点的亮度值进行压缩/解压缩的方法、装置。
背景技术
现有的视频编解码标准,如H.264, H.263, XVID, RMVB,移动影像专 家组(MovingPicture Experts Group, MPEG)等,其编解码流程都符合图l所 示在解码过程中,必须把之前解码好的帧数据作为新的解码帧的参考帧。解 码过程中产生的数据流——残差值以及计算好的宏块(Macro Block, MB)值 都在线上,即存储于视频编解码硬件设备的寄存器或者同步动态随机存储器 (Synchronous Dynamic Random Access Memory, SDRAM)等片上内存中。对 于容量大的参考帧(l帧,P帧,B帧)则必须存储于片外内存中。随着集成电 路技术的不断发展,运算电路的性能获得轻而易举的提高,但是内存访问技术, 一直都是业界的一个瓶颈。因此一个视频解码系统中,本地解码器与片外内存 的数据交互速度不足,已经成为了最大的系统性能瓶颈。同样地,编码过程也 面临同样问题。因此需要一种对图像帧进行在线压缩的方法,来有效地减少参 考帧的容量,4C高本地解码器与片外内存的数据交互速度。其中该参考帧压縮 方法必须是低损或者无损的,因为视频解码中,在下一个I帧到来前,参考帧 的损失是会累积的,另外,经过压缩后的图像上的每个像素点的值必须容易进 行索引,因为解码过程中要求必须能对参考帧进行方便的,随意的逐点索引。
现有技术提供了几种帧压缩的方法第一种,有损图像压缩,如静态影像 压缩标准(Joint Photographic Experts Group, JPEG) , JPEG 2000,该方法压缩
率很高,但是有损失,在解压前,无法随意对图像中的像素点进行索引;第二
8种,无损或微损视频压缩,如基于内容自适应的无损图像编码(Context-Based, Adaptive, Lossless Image Coding, CALIC) , 4关合图^象专家组_无损格式(Joint Photographic Experts Group Lossless, jpeg-ls), 压纟宿率也t匕举交高且无才员, <旦是 在解压前,无法随意对图像中的点进行索引;第三种,索引类压缩方法,如S3 紋理压缩(S3 Texture Compression, S3TC)等紋理压缩方法,该方法采用索引压 缩方法,压缩率在1:4以上,同时对图像内的点也比较容易索引,但是该方法 是针对图形学中的紋理进行压缩,图像损失较大,同时,该方法的量化索引值 是建立在RGB域,要兼顾透明度通道(Alpha channel, alpha)的压缩(dxtl格 式以上)的,不适合在视频编解码领域中采用的YUV格式。同时,S3仅对该算 法的解码做了定义,其编码方法一直都没有公开;第四种,块截断编码(Block Truncation Coding, BTC ),每个像素点需要较少的比特位, 一般的BTC编码 每个像素点只用l比特位或者2比特位,多次参考帧产生的累计误差大,同时, BTC编码中关于各个量化阈值的计算需要开方运算,比较复杂,另外,BTC码 一般仅对4*4的块进行压缩,因为BTC编码涉及到对整个块的统计运算,所以 假如块太大,如8*8等块,釆用BTC编码进行压缩非常困难。总之,现有技术 不能满足视频编解码过程中对内存带宽以及容量的需求。

发明内容
本发明实施例的目的在于提供一种碎见频编解码系统中宏块压缩/解压缩的 方法、装置,旨在对视频帧中的宏块进行低损、可以逐点索引的压缩,解决视 频编解码过程中对内存带宽以及容量的需求的问题。
本发明实施例是这样实现的, 一种用于视频编解码系统中,通过建立量化 索? 1值表和图像索引值表,来对图像中宏块内部的像素点的亮度值进行压缩的 方法,所述量化索引值表包括宏块内部的像素点的亮度值的最小值、最大值和 量化阶距中的任意两个值,根据宏块内部的像素点的亮度值的最小值、最大值 获得量化阶值,根据所述量化阶值量化所述宏块内部的像素点的亮度值得到所
9述图像索引值表,其特征在于,所述方法包括下述步骤 获取宏块内部的像素点的亮度值的最大值和最小值;
根据所述宏块内部的像素点的亮度值的最大值和最小值,计算宏块内部的 像素点的亮度值的量化阶距以及宏块内部的像素点的亮度值的量化阶值,并建 立所述量化索引值表;
查找与宏块中各像素点的亮度值最靠近的所述量化阶值,用查找到的最靠 近的所述量化阶值作为量化后的宏块内部的像素点的亮度值,并对所述量化后 的宏块内部的像素点的亮度值建立所述图像索引值表。
进一步地,根据所述宏块内部的像素点的亮度值的最大值和最小值,计算 宏块内部的像素点的亮度值的量化阶距以及宏块内部的像素点的亮度值的量化 阶值的步骤采用均匀量化方式进行量化,具体满足下述公式 Step = (Ymax-Ymin)/15
其中Step是量化阶距,Ymax是像素点的最大亮度值,Ymin是像素点的
最小亮度值,15是量化阶次。
进一步地,根据所述宏块内部像素点的亮度值的最大值和最小值,计算宏 块内部的像素点的亮度值的量化阶距以及宏块内部的像素点的亮度值的量化阶 值的步骤采用分段量化方式进行量化,具体满足下述公式 Step = (Ymax-Ymin)/16
其中Step是宏块内部的像素点的亮度值的量化阶距,Ymax是宏块内部的 像素点的最大亮度值,Ymin是宏块内部的像素点的最小亮度值,16是量化阶 次。
进一步地,在所述宏块内部的像素点的亮度值的量化阶值中查找与宏块中 各像素点的亮度值最靠近的宏块内部的像素点的亮度值的量化阶值,用查找到 的所述最靠近的宏块内部的像素点的亮度值的量化阶值作为压缩后的宏块内部 的像素点的亮度值,并对所述量化后的宏块内部的像素点的亮度值建立图像索 引值表的步骤具体为量化后的宏块内部的像素点的亮度值的计算满足下述公式 Y—compressed = round ((Y一original - Ymin)/step)
其中Y—original为压缩前的宏块内部的像素点的亮度值,Ymin是宏块内部 的像素点的最小亮度值,Y一compress为压缩后的宏块内部的像素点的亮度值, round是四舍五入函凄史。
进一步地,在所述宏块内部的像素点的亮度值的量化阶值中查找与宏块中 各像素点的亮度值最靠近的宏块内部的像素点的亮度值的量化阶值,用查找到 的所述最靠近的宏块内部的像素点的亮度值的量化阶值作为压缩后的宏块内部 的像素点的亮度值,并对所述压缩后的宏块内部的像素点的亮度值建立图像索 引值表的步骤具体为
量化后的宏块内部的像素点的亮度值的计算满足下述公式
在QL < 8时,压缩后的宏块内部的像素点的亮度值的计算满足下述的公

Y一compressed = min(QL, 7)
在QL> 8时,压缩后的宏块内部的像素点的亮度值的计算满足下述的公式 Y—compressed = max(QL -1,9)
其中QL是自定义变量,满足乂>式QL = round((Y—original - Ymin)/step), Y一original为压缩前的宏块内部的像素点的亮度值,Ymin是压缩前的宏块内部 的像素点的最小亮度值,Y一compress为压缩后的宏块内部的像素点的亮度值。
进一步地,所述量化索51值表保存宏块内部的每个像素点的亮度值的最小 值、最大值和量化阶距中的任意两个值,所述量化索引值表按照宏块的逐行扫 描的方式在内存中连续排列。
进一步地,所述图像索引值表保存压缩后的宏块内部的每个像素点的亮度 值的量化索引值,所述图像索引值表按照图像逐行扫描的方式在内存中连续排 列。
本发明实施例的目的在于提供一种视频编解码系统中宏块压缩装置,旨在
对视频帧中的宏块进行低损、可以逐点索引的压缩,解决视频编解码过程中对内存带宽以及容量的需求的问题。
本发明实施例在此提供一种视频编解码系统中的宏块压缩装置,所述装置 包括
亮度值获取单元,用于获取宏块内部的像素点的亮度值,以及亮度值的最
大值和最小值;
亮度值的量化阶值生成单元,用于根据所述宏块内部的像素点的亮度值的 最大值和最小值,计算宏块内部的像素点的亮度值的量化阶距以及宏块内部的 像素点的亮度值的量化阶值;
量化索引值表生成单元,用于根据所述宏块内部的像素点的亮度值的最小 值、最大值和量化阶距中的任意两个值,建立量化索引值表;
图像索引值表生成单元,用于查找与宏块中各像素点的亮度值最靠近的所 述量化阶值,用查找到的所述量化阶值作为量化后的宏块内部的像素点的亮度 值,并对所述量化后的宏块内部的像素点的亮度值建立图像索引值表。
进一步地,所述亮度值的量化阶值生成单元采用均匀量化方式计算宏块内 部的像素点的亮度值的量化阶距,满足下述公式
其中Step是宏块内部的像素点的亮度值的量化阶距,Ymax是宏块内部的 像素点的最大亮度值,Ymin是宏块内部的像素点的最小亮度值,15是量化阶 次。 .
进一步地,所述亮度值的量化阶值生成单元采用分段量化方式计算宏块内 部的像素点的亮度值的量化阶距,满足下述公式
其中Step是宏块内部的像素点的亮度值量化阶距,Ymax是宏块内部的像 素点的最大亮度值,Ymin是宏块内部的像素点的最小亮度值,16是量化阶次。
进一步地,所述图像索引值表生成单元在所述宏块的亮度值的量化阶值中 查找与宏块中各像素点的亮度值最靠近的宏块的亮度值的量化阶值,用查找到
12的所述最靠近的宏块的亮度值的量化阶值作为压缩后的宏块内部的像素点的亮 度值的过程具体满足下述公式
量化后宏块内部的像素点的亮度值的计算满足下述公式 Y_compressed = round((Y—original - Ymin)/step)
其中Y一original为压缩前的宏块内部的像素点的亮度值,Ymin是压缩前的 宏块内部的像素点的最小亮度值,Y_compress为压縮后的宏块内部的像素点的 亮度值。 '
进一步地,所述图像索引值表生成单元在所述宏块的亮度值的量化阶值中 查找与宏块中各像素点的亮度值最靠近的宏块的亮度值的量化阶值,用查找到 的所述最靠近的宏块的亮度值的量化阶值作为压缩后的宏块内部的像素点的亮 度值的过程具体满足下述公式
量化后的宏块内部的像素点的亮度值的计算满足下述公式
在QL < 8时,压缩后的宏块内部的像素点的亮度值的计算满足下述的公

Y—compressed = min(QL, 7) 在QL> 8时,压缩后的宏块内部的像素点的亮度值的计算满足下述的公式
Y—compressed = max(QL -1,9) 其中QL是自定义的变量,其值满足公式QL= round((Y—original -Ymin)/step), Y一original是压缩前的宏块内部的像素点的亮度值,Ymin是压缩 前的宏块内部的像素点的最小亮度值,Y—compress是压缩后的宏块内部的像素 点的亮度值。
进一步地,所述量化索51值表生成单元所建立的量化索? 1值表保存宏块内 部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值,所述量化 索《1值表按照图像逐行扫描的方式在内存中连续排列。
进一步地,所述图像索引值表生成单元建立的图像索引值保存压缩后的宏 块内部的像素点的亮度值的量化索引值,所述图像索引值表按照图像逐行扫描 的方式在内存中连续排列。本发明实施例的目的在于提供一种视频编解码系统中宏块解压缩的方法, 旨在解决视频编解码过程中对内存带宽以及容量的需求的问题。
本发明实施例根据此目的提供一种视频编解码中的宏块解压缩方法,所述 方法包括下述步骤
获取量化索引值表,从而获得宏块内部的像素点的亮度值的最小值、最大
值和量化阶距中的任意两个值;
获取图像索引值表,从而获取宏块内部的像素点的亮度值;
根据所述宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任
意两个值以及所述宏块内部的像素点的亮度值,获取解压缩后的宏块内部的像
素点的亮度值。
进一步地,所述根据所述当前宏块内部的像素点的亮度值的最小值、最大 值和量化阶距中的任意两个值以及所述当前宏块内部的像素点的亮度值,获取 解压缩后的宏块内部的像素点的亮度值的步骤具体为
若宏块压缩时采用16阶次的分段量化的方法,在获取解压缩后的宏块内部 的像素点的亮度值时,先判断压缩后的宏块内部的像素点的亮度值是否大于7, 若是则对压缩后的宏块内部的像素点的亮度值进行加1处理。
本发明实施例的目的在于提供一种视频编解码系统中宏块解压缩的装置, 旨在解决视频编解码过程中对内存带宽以及容量的需求的问题。
本发明实施例在此提供了 一种视频编解码系统中的宏块解压缩装置,所述 装置包括
量化索引值表获取单元,用于获取宏块内部的像素点的亮度值的最小值、
最大值和量化阶距中的任意两个值;
图像索引值表获取单元,用于获取宏块内部的像素点的亮度值; 像素点的亮度值的解压值获取单元,用于根据所述宏块内部的像素点的亮
度值的最小值、最大值和量化阶距中的任意两个值以及所述宏块内部的像素点
14的亮度值,获取解压缩后的宏块内部的像素点的亮度值。
进一步地,所述像素点的亮度值的解压值获取单元在宏块压缩采用16阶次 的分段量化的方法时,在获取解压缩后的宏块内部的像素点的亮度值时,先判 断压缩后的宏块内部的像素点的亮度值是否大于7,若是则对压缩后的宏块内 部的像素点的亮度值进行加1处理。
在本发明实施例中,.通过在原有视频编解码器中增加宏块压縮和解压縮装 置,对参考帧中的宏块进行在线压缩及解压缩,有效地减少参考帧的容量,降 低了视频编解码系统对内存带宽以及容量的需求,提高了视频编解码的效率, 同时,该压缩方法是^氐损或者无损的,并且经过压缩后的图像上的每个像素点 的亮度值容易进行索引。


图1是现有技术提供的视频编解码系统的工作原理示意图2是本发明实施例提供的视频编解码系统的工作原理示意图; 图3是本发明实施例提供的视频编解码中的宏块压缩方法的工作流程图; 图4是本发明实施例提供的视频编解码中的图像索引值表的内存存放方式 的示意图5是本发明实施例提供的视频编解码中的量化索《1值表的内存存放方式 的示意图6是本发明实施例提供的视频编解码中的宏块压缩装置的结构示意图; 图7是本发明实施例提供的视频编解码中的宏块解压缩方法的工作流程
图8是本发明实施例提供的视频编解码中的宏块解压缩装置的结构示意图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实
15施例,对本发明进^亍进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过在线对视频帧中的宏块进行量化,生成压缩宏块, 可以减低^L频编解码过程中对内存带宽以及容量的需求。
图2示出了本发明实施例提供的视频编解码系统的结构,为了便于说明,
仅示出了本发明实施例相关的部分。该一见频编解码系统包括^L频解码器21、 视频编码器22、片外内存23。其中视频解码器21包括宏块压缩装置211、宏 块解压缩装置212;视频编码器22包括宏块压缩装置221 、宏块解压缩装置222。
在视频解码阶段,当视频解码器21解码完成一个宏块,需要把这个宏块写 回至内存时,通过宏块压缩装置211把该宏块中的Y/U/V分量进行压缩,写至 片外内存23中,当需要从参考帧读回数据的时候,则从片外内存23中读取压 缩后的参考帧数据,通过宏块解压缩装置212解压缩参考帧中的宏块数据,读 入视频解码器的内存中进行解码。
在视频编码阶,殳,在视频编码器22中内置宏块压缩装置221和宏块解压 缩装置222,其中宏块压缩装置221和视频解码器21中的宏块压缩装置211功 能相同,宏块解压缩装置222和视频解码器21中的宏块解压缩装置212功能相 同,在此不再赘述。
片外内存23,位于视频解码器21和视频编码器22外部的内存,用于存储 压缩后的参考帧中的宏块的图像索引值表以及量化索引值表。
图3示出了本发明实施例提供的视频编解码中的宏块压缩方法的工作流 程,详述如下
在步骤S301中,获取宏块内部的像素点的亮度值的最大值和最小值。 图像宏块可以是任意的11*111个像素点的宏块,作为本发明的一个实施例, 图像宏块的大小为4*4或者8*8,在宏块为8*8时,可以获得较好的压缩率, 压缩效果也不^"。现以亮度值Y分量为例进行说明,Ymax表示最大亮度值, Ymin表示最小亮度值。对色度U、 V分量,其压缩方法是一样的。在步骤S302中,根据所述宏块内部的像素点的亮度值的最大值和最小值,
计算宏块内部的像素点的亮度值的量化阶距以及宏块内部的像素点的亮度值的 量化阶值。
作为本发明的一个实施例,采用15阶次均匀量化的方法计算Step以及量
化阶值。
量化阶距(也可称量化梯度单位值)Step可以通过下面的公式进行计算
Step = (Ymax-Ymin)/15 通过上述么、式可以生成16个量化阶值,每个阶次的量化阶值分别为Ymin,
Ymin+step, Ymin+2*step,............, Ymin+14*step, Ymax。
该15阶次的均匀量化过程,在实现时需要用到减法器和1/15乘法器,考 虑1/15乘法器在硬件实现中有一定困难,因此作为本发明的一个优选实施例' 采用16阶次分段量化的方法计算Step以及量化阶值。 量化梯度单位4直Step可以通过下面的公式进行计算
Step = (Ymax-Ymin)/16 通过上述公式可以生成16个量化阶值,每个阶次的量化阶值分别对应于 0000: Ymin 0001: Ymin+ step" 0010: Ymin + step" 0011: Ymin + step*3 0100:Ymin + step*4 0101: Ymin + step" 0110:Ymin+step*6 0111:Ymin+ step*7 0000: Ymin + step" 1001: Ymin + step* 10 1010:Ymin十step*ll 1011:Ymin + step*12 1100:Ymin + step"3
171101: Ymin + step* 14 1110:Ymin + step*15 llll:Ymin十step"6
采用该16阶次的分段量化方法,对于OOOO、 1111,依然可以表示Ymin、 Ymax,但是丢弃了其中8*step的量化区间,step的值直接通过Ymax-Ymin右 移4位即可得到,计算各阶梯度的时候硬件实现非常方便。
同时,根据所述宏块内部的像素点的亮度值的最小值、最大值和量化阶距 中的任意两个值,建立量化索引值表。
压缩后的宏块有量化索引值表,负责保存视频帧中每个宏块的Ymin, step。 对于量化索引值表的存放方式,可以采用存放8bit的Ymin以及8bit的step, 还可以用其4也方式,例如存方文8bit的Ymin和8bit的Ymax,以及存放8bit的 step和8bit的Ymax,其中step可以在解压缩电i 各中计算获得。
量化索引值表的内存存放方式见图5所示,作为本发明的一个实施例,每 个单位表示一个宏块(4*4 or 8*8 )的亮度值最小值Ymin以及step值,每个单 元占16bit,其中8bit为Ymin, 8bit表示step, step的高4位为step的整数部分, 低四位为step小数部分,排列顺序按照宏块的行扫描方式在内存中连续排列。
在本发明实施例中,对于4*4图像块,需储存step, Ymin共16bit,以及 16个点每点4bit的量化索引值,共16+16*4=80bit,相对原图需要每点8bit的 存储容量,其压缩比例为80/(16*8) = 62.5%。
对于8*8的图l象块,需储存step, Ymin共16bit,以及64个点每点4bit 的量化索引值,共16+64*4=272bit, 压缩比例为272/(64*8) = 53%,此时压缩 率可以达到4妻近1:2。
在步骤S303中,在所述宏块内部的像素点的亮度值的量化阶值中查找与宏 块中各像素点的亮度值最靠近的宏块内部的像素点的亮度值的量化阶值,用查 找到的所述最靠近的宏块内部的像素点的亮度值的量化阶值作为压缩后的宏块 内部的像素点的亮度值,并对所述压缩后的宏块内部的像素点的亮度值建立图 像索引值表。
18对帧的宏块中每个像素点的亮度值与量化所得的16个亮度值量化阶值进 行比较,查找最靠近宏块内部的像素点的亮度值的亮度值量化阶值,确定该亮
度值量化阶值为压缩后的宏块中的像素点的亮度值,具体过程如下
对于均匀量化的方法,在step=0时,压缩后的像素点的亮度值Y_compressed
为0,否则满足下面的^^式
Y—compressed = round((Y—original - Ymin)/step)
其中round是四舍五入函数,它的作用是返回某个数字按指定位数耳又整后 的数字。
对于分段量化的方法,在step=0时,压缩后的像素点的亮度值Y compressed为0。
在QL < 8时,满足下面的公式
Y一compressed = min(QL, 7)
在QL> 8时,满足下面的公式
Y—compressed = max(QL -1,9)
其中QL是自定义的变量,QL = round((Y_original - Ymin)/step), round 是四舍五入函数,它的作用是返回某个数字按指定位数取整后的数字。 Y_original为压缩前的像素点的亮度值,为8bit数据,包括0至255之间的所 有整数,Y—compress为压缩后的像素点的亮度值,为4bit数据,包括0至15 之间的所有整数,round为四舍五入函数符号,min, max分别为最小值,最 大值函数符号。
在本发明的实施例中,并不存储压缩后的宏块内部的每个像素点的亮度值, 而是对压缩后的宏块内部的每个像素点的亮度值建立索引,存储其量化索引值, 因为压缩后的宏块的亮度值只有16个值,因此宏块中的每个像素点只需要仆it 的量化索引值,即用一个4bit的量化索引值代表压缩后的宏块内部的像素点的 亮度值,即建立图像索引值表,比如,压缩后的亮度值为Ymin + step*l的像素 点的亮度值,可用4bit的量化索引值"0001"表示'这样对于8*8的图像宏 块,原来存储压缩后的宏块内部的像素点的亮度值需要8*8*8的存储空间,建立图像索引值表后,其只需要8*8*4的存储空间,所述图像索引值表按照图像 逐行扫描的方式在内存中连续排列见图4所示。
图6示出了本发明实施例提供的视频编解码中的宏块压缩装置的结构,为 了便于说明,仅示出了本发明实施例相关的部分。其中,该宏块压缩装置61 可以是内置于视频编解码系统中的软件单元,硬件单元或者软硬结合的单元。
亮度值获取单元611获取宏块内部的像素点的亮度值的最大值和最小值。
亮度值的量化阶值生成单元612根据所述亮度值的最大值和最小值获取单 元611获取的宏块内部的像素点的亮度值的最大值和最小值,计算宏块内部的 像素点的亮度值的量化阶距以及宏块内部的像素点的亮度值的量化阶值。作为 本发明实施例的一个实施例,采用15阶次的均匀量化方法计算量化阶距Step, 生成量化阶值。作为本发明的一个优选实施例,采用16阶次分段量化的方法计 算量化阶距Step,生成量化阶值。具体实现过程如上所述,不再赘述。
量化索引值表生成单元613,用于根据所述宏块内部的像素点的亮度值的 最小值、最大值和量化阶距中的任意两个值,建立量化索引值表.,所述量化索 引值表按照宏块的行扫描方式在内存中连续排列。
图像索引值表生成单元614在所述亮度值的量化阶值生成单元612计算所 得的宏块内部的像素点的亮度值的量化阶值中查找与宏块中各像素点的亮度值 最靠近的宏块内部的像素点的亮度值的量化阶值,用查找到的所述最靠近的宏 块内部的像素点的亮度值的量化阶值作为压缩后的宏块内部像素点的亮度值, 并对所述压缩后的宏块内部的像素点的亮度值建立图像索引值表,所述图像索 引值表保存图像中每个像素点经过压缩后的亮度值的量化索引值,每个占4bit 空间,按照图像逐行扫描的方式在内存中连续排列具体实现过程如上所述,不 再赘述。
具体实现过程如上所述,不再赘述。
图7示出了本发明实施例提供的视频编解码中的宏块解压缩方法的工作流 程,详述如下在步骤S701中,获取当前宏块内部的像素点的亮度值的最小值、最大值和 量化阶距中的任意两个值。
作为本发明的一个实施例,图像宏块的大小为4*4或者8*8。现以亮度值 Y分量为例进行说明,从量化索引值表中获取当前宏块的像素点的最小亮度值 和量化阶距,对色度U、 V分量,其解压缩方法是一样的。其中量化索引值表 中存储有宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两 个值,作为本发明的一个优选实施例通过读取该量化索引值表获取当前宏块的 像素点的最小亮度值和量化阶距来进行解压缩。此外,也可以从量化索引值表 中读取当前宏块内部的像素点的亮度值的最小值、最大值或者当前宏块内部的 像素点的亮度值的最大值、量化阶距,具体根据进行宏块压縮时,量化索引值 表的存储方式确定,具体实现过程不再赘述。
在步骤S702中,获取宏块内部的像素点的亮度值。
根据图像索引值表中保存的宏块中的每个像素点压缩后的亮度值的量化索 引值,读取当前压缩宏块内部的像素点的亮度值。
在步骤S703中,根据所述当前宏块内部的像素点的亮度值的最小值、最大 值和量化阶距中的任意两个值以及所述当前宏块内部的像素点的亮度值,获取 解压缩后的宏块内部的像素点的亮度值。
以亮度值Y分量为例进行说明,作为本发明的一个实施例,4艮据当前宏块 内部的像素点的亮度值的最小值和量化阶距以及所述当前宏块内部的像素点的 亮度值来获取解压缩后的宏块内部的像素点的亮度值。具体过程如下首先用 获取到的所述当前宏块内部的像素点的亮度值乘以亮度值的量化阶距step,再 将所得乘积与亮度值的最小值Ymin相加,即可得到解压缩后的像素点的亮度 值,具体可以通过乘法器和加法器实现。对宏块中每个像素点都进行同样的解 压过程,即可获得整个宏块内部的像素点的解压缩后的亮度值。若宏块压缩时 采用分段量化的方法,那么在对压缩后的像素点的亮度值Y_compressed做乘法 运算之前,先判断Y—compressed的值是否大于7,若是则对Y_compressed进
21《亍力口 1处理,即Y—compressed = Y—compressed + 1 。 Jt夕卜,也可以才艮^居当前宏 块内部的像素点的亮度值的最小值、最大值以及当前宏块内部的像素点的亮度 值或者根据当前宏块内部的像素点的亮度值的最大值、量化阶距以及当前宏块 内部的像素点的亮度值获取解压缩后的宏块内部的像素点的亮度值,具体实现 过程不再赘述。
图8示出了本发明实施例提供的视频编解码中的帧解压缩装置的结构,为 了便于说明,仅示出了本发明实施例相关的部分。其中,视频编解码中的帧解 压縮装置81可以是内置于视频编解码系统中的软件单元,硬件单元或者软硬结 合的单元。
量化索引值表获取单元811获取当前宏块内部的像素点的亮度值的最小 值、最大值和量化阶距中的任意两个值。具体实现过程如上所述,不再赘述。
图像索引值表获取单元812从图像索引值表中读取当前宏块内部的像素点 的亮度值。具体实现过程如上所述,不再赘述。
像素点的亮度值的解压值获取单元813根据量化索引值表获取单元811获 取到的当前宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意 两个值,以及图像索引值表获取单元812获取到的当前压缩宏块内部的像素点 的亮度值,获取解压缩后的宏块内部的像素点的亮度值。具体实现过程如上所 述,不再赘述。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤 是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机 可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
在本发明实施例中,通过在原有视频编解码器中增加宏块压缩/解压缩装 置,对参考帧中的宏块进行在线压缩及解压缩,有效地减少参考帧的容量,降 低了对内存带宽以及容量的需求的问题,在显示输出的时候,系统的显示带宽 可以减半,提高了视频编解码的效率,同时,该压缩方法是低损或者无损的一 般人眼观察不会感觉到明显差异。此外宏块压缩采用建立量化索引值的方法进行压缩,经过压缩后图像上每个像素点的值容易进行索引,同时,该宏块压缩 方法的运算量低,尤其是量化时采用分段量化的方法,硬件设计方便。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
权利要求
1、一种用于视频编解码系统中的图像压缩方法,所述图像由多个宏块组成,所述宏块内部包含多个像素点,所述像素点包含亮度值,其特征在于,所述方法包括获取宏块内部的像素点的亮度值的最大值和最小值;根据所述宏块内部的像素点的亮度值的最大值和最小值,计算宏块内部的像素点的亮度值的量化阶距以及宏块内部的像素点的亮度值的量化阶值,并建立量化索引值表,所述量化索引值表包括宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值;查找与宏块中各像素点的亮度值最靠近的所述量化阶值,用查找到的最靠近的所述量化阶值作为量化后的宏块内部的像素点的亮度值,并对所述量化后的宏块内部的像素点的亮度值建立图像索引值表。
2、 如权利要求l所述的方法,其特征在于,所述才艮据所述宏块内部的像素点的亮度值的最大值和最小值,计算宏块内部的像素点的亮度值的量化阶距以及宏块内部的像素点的亮度值的量化阶值的步骤采用均匀量化方式进行量化,具体满足下述公式Step = (Ymax-Ymin)/15其中Step是量化阶距,Ymax是像素点的最大亮度值,Ymin是像素点的最小亮度值,15是量化阶次。
3、 如权利要求l所述的方法,其特征在于,所述4艮据所述宏块内部像素点的亮度值的最大值和最小值,计算宏块内部的像素点的亮度值的量化阶距以及宏块内部的像素点的亮度值的量化阶值的步骤采用分段量化方式进行量化,具体满足下述公式Step = (Ymax-Ymin)/16其中Step是宏块内部的像素点的亮度值的量化阶距,Ymax是宏块内部的像素点的最大亮度值,Ymin是宏块内部的像素点的最小亮度值,16是量化阶次。
4、 如权利要求l所述的方法,其特征在于,所述查找与宏块中各像素点的亮度值最靠近的所述量化阶值,用查找到的最靠近的所述量化阶值作为量化后的宏块内部的像素点的亮度值,并对所述量化后的宏块内部的像素点的亮度值建立所述图像索引值表的步骤具体为量化后的宏块内部的像素点的亮度值的计算满足下述公式Y一compressed = round ((Y—original - Ymin)/step)其中Y—original为量化前的宏块内部的像素点的亮度值,Ymin是宏块内部的像素点的最小亮度值,Y一compress为量化后的宏块内部的像素点的亮度值,round是四舍五入取整函数。
5、 如权利要求l所述的方法,其特征在于,所述查找与宏块中各像素点的亮度值最靠近的所述量化阶值,用查找到的最靠近的所述量化阶值作为量化后的宏块内部的像素点的亮度值,并对所述量化后的宏块内部的像素点的亮度值建立所述图像索? I值表的步骤具体为量化后的宏块内部的像素点的亮度值的计算满足下述公式在QL< 8时,量化后的宏块内部的像素点的亮度值的计算满足下述的公式Y_compressed = min(QL, 7)在QL> 8时,量化后的宏块内部的像素点的亮度值的计算满足下述的公式Y—compressed = max(QL -1,9)其中QL是自定义变量,满足公式QL = round((Y—original - Ymin)/step),Y—original为量化前的宏块内部的像素点的亮度值,Ymin是量化前的宏块内部的像素点的最小亮度值,Y一compress为量化后的宏块内部的像素点的亮度值。
6、 如权利要求l所述的方法,其特征在于,所述量化索引值表保存每个宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值,所述量化索《I值表按照宏块的逐行扫描的方式在内存中连续排列。
7、 如权利要求l所述的方法,其特征在于,所述图像索引值表保存量化后的宏块内部的像素点的亮度值的量化索引值,所述图像索引值表按照图像逐行扫描的方式在内存中连续排列。
8、 一种用于视频编解码系统中的图像压缩装置,所述图像由多个宏块组成,所述宏块内部包含多个像素点,所述像素点包含亮度值,其特征在于,所述装置包括亮度值获取单元,用于获取宏块内部的像素点的亮度值,以及亮度值的最大值和最小值;亮度值的量化阶值生成单元,用于根据所述宏块内部的像素点的亮度值的最大值和最小值,计算宏块内部的像素点的亮度值的量化阶距以及宏块内部的像素点的亮度值的量化阶值;量化索引值表生成单元,用于根据所述宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值,建立量化索引值表;图像索引值表生成单元,用于查找与宏块中各像素点的亮度值最靠近的所述量化阶值,用查找到的所述量化阶值作为量化后的宏块内部的像素点的亮度值,并对所述量化后的宏块内部的像素点的亮度值建立图像索引值表。
9、 如权利要求8所述的装置,其特征在于,所述亮度值的量化阶值生成单元采用均匀量化方式计算宏块内部的像素点的亮度值的量化阶距,满足下述公式Step = (Ymax-Ymin)/15其中Step是宏块内部的像素点的亮度值的量化阶距,Ymax是宏块内部的像素点的最大亮度值,Ymin是宏块内部的像素点的最小亮度值,15是量化阶次。
10、 如权利要求8所述的装置,其特征在于,所述亮度值的量化阶值生成单元采用分段量化方式计算宏块内部的像素点的亮度值的量化阶距,满足下述公式Step = (Ymax-Ymin)/16其中Step是宏块内部的像素点的亮度值量化阶距,Ymax是宏块内部的像素点的最大亮度值,Ymin是宏块内部的像素点的最小亮度值,16是量化阶次。
11、 如权利要求8所述的装置,其特征在于,所述查找与宏块中各像素点的亮度值最靠近的所述量化阶值,用查找到的所述量化阶值作为量化后的宏块内部的像素点的亮度值,并对所述量化后的宏块内部的像素点的亮度值建立图像索引值表的过程具体满足下述公式量化后宏块内部的像素点的亮度值的计算满足下述公式Y—compressed = round((Y_original - Ymin)/step)其中Y_original为量化前的宏块内部的像素点的亮度值,Ymin是量化前的宏块内部的像素点的最小亮度值,Y_compress为量化后的宏块内部的像素点的亮度值,step为宏块内部的像素点的亮度值量化阶距,round为四舍五入取整函数。
12、 如权利要求8所述的装置,其特征在于,所述查找与宏块中各像素点的亮度值最靠近的所述量化阶值,用查找到的所述量化阶值作为量化后的宏块内部的像素点的亮度值,并对所述量化后的宏块内部的像素点的亮度值建立图像索引值表的过程具体满足下述公式量化后的宏块内部的像素点的亮度值的计算满足下述公式在QL< 8时,量化后的宏块内部的像素点的亮度值的计算满足下述的公式Y_compressed = min(QL, 7)在QL> 8时,量化后的宏块内部的像素点的亮度值的计算满足下述的公式Y一compressed = max(QL -1,9)其中QL是自定义的变量,其值满足公式QL= round((Y—original -Ymin)/step) , Y_original是量化前的宏块内部的像素点的亮度值,Ymin是量化前的宏块内部的像素点的最小亮度值,Y—compress是量化后的宏块内部的像素点的亮度值。
13、 如权利要求8至12任一项所述的装置,其特征在于,所述量化索引值表生成单元所建立的量化索引值表保存宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值,所述量化索引值表按照图像逐行扫描的方式在内存中连续排列。
14、 如权利要求8至12任一项所述的装置,其特征在于,所述图像索引值表生成单元建立的图像索引值保存压缩后的宏块内部的像素点的亮度值的量化索引值,所述图像索引值表按照图像逐行扫描的方式在内存中连续排列。
15、 一种用于视频编解码系统中,通过获取量化索引值表和图像索引值表,来对图像中宏块内部的像素点的亮度值进行解压缩的方法,所述量化索引值表包括宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值,所述图像索引值表包括量化后的宏块内部的像素点的亮度值,其特征在于,所述方法包括获取量化索引值表,从而获得宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值;获取图像索引值表,从而获取宏块内部的像素点的亮度值;根据所述宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值以及所述宏块内部的像素点的亮度值,获取解压缩后的宏块内部的像素点的亮度值。
16、 如权利要求15所述的方法,其特征在于,所述根据所述当前宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值以及所述宏块内部的像素点的亮度值,获取解压缩后的宏块内部的像素点的亮度值的步骤具体为若宏块压缩时采用16阶次的分段量化的方法,在获取解压缩后的宏块内部的像素点的亮度值时,先判断压缩后的宏块内部的像素点的亮度值是否大于7,若是则对压缩后的宏块内部的像素点的亮度值进行加1处理。
17、 一种用于视频编解码系统中,通过获取量化索引值表和图像索引值表,来对图像中宏块内部的像素点的亮度值进行解压缩的装置,所述量化索? 1值表包括宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值,所述图像索引值表包括量化后的宏块内部的像素点的亮度值,其特征在于,所述装置包括量化索引值表获取单元,用于获取宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值;图像索引值表获取单元,用于获取宏块内部的像素点的亮度值;像素点的亮度值的解压值获取单元,用于根据所述宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值以及所述宏块内部的像素点的亮度值,获耳又解压缩后的宏块内部的像素点的亮度值。
18、如权利要求17所述的装置,其特征在于,所述像素点的亮度值的解压值获取单元在宏块压缩采用16阶次的分段量化的方法时,在获取解压缩后的宏块内部的像素点的亮度值时,先判断压缩后的宏块内部的像素点的亮度值是否大于7,若是则对压缩后的宏块内部的像素点的亮度值进行加1处理。
全文摘要
本发明适用于视频编解码技术领域,提供了一种视频编解码系统及其宏块压缩/解压缩的方法、装置,所述方法包括下述步骤获取宏块内部的像素点的亮度值的最大值和最小值;根据宏块内部的像素点的亮度值的最大值和最小值计算像素点的亮度值的量化阶距以及宏块内部的像素点的亮度值的量化阶值;在宏块的亮度值的量化阶值中查找与宏块中各像素点的亮度值最靠近的宏块内部的像素点的亮度值的量化阶值,用查找到的最靠近的宏块内部的像素点的亮度值的量化阶值作为压缩后的宏块内部的像素点的亮度值,并对压缩后的宏块内部的像素点的亮度值建立图像索引值;根据宏块内部的像素点的亮度值的最小值、最大值和量化阶距中的任意两个值,建立量化索引值表。
文档编号H04N7/26GK101511025SQ20091010525
公开日2009年8月19日 申请日期2009年1月22日 优先权日2009年1月22日
发明者垒 叶, 明 黎 申请人:炬力集成电路设计有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1