自适应的混合的数据无损压缩方法

文档序号:10555303阅读:299来源:国知局
自适应的混合的数据无损压缩方法
【专利摘要】本发明涉及一种自适应的混合的数据无损压缩方法,为了提高编码的有效性、可靠性而设计。本发明包括:通过分析数字信号统计特征并与设定的门限值进行比较,实现线性预测哥伦布(Golomb)编码法和自适应Golomb编码法的自适应切换;若需预测,则数据帧采用线性预测Golomb编码法,即对数据帧进行线性预测,得到残差信号,将残差信号映射为正整数,并对映射后的残差信号进行统计分析确定Golomb编码参数后进行Golomb编码。若不需预测,则数据帧采用自适应Golomb编码法,即对数据帧进行映射,对映射后的数据进行统计分析确定Golomb编码参数后进行Golomb编码。本发明,通过分析每帧信号的数字统计特征,自适应采用不同编码方式和编码参数进行压缩编码,从而提高压缩的有效性与可靠性。
【专利说明】
自适应的混合的数据无损压缩方法
技术领域
[0001] 本发明涉及一种信号压缩技术,尤其涉及一种自适应的混合的数据无损压缩方 法。
【背景技术】
[0002] 随着多媒体技术的发展和应用,人们获得的信息有文本、图像、视频、音频及各种 动画媒体,传输这些信息需要处理和传送的待编码数据量非常大,制约了多媒体信息的存 储和传输,阻碍了信息的获取和传送。因此待编码数据压缩技术和大容量存储技术对于多 媒体技术的发展极为重要。近年来,随着大容量存储设备的出现和网络传输带宽的增加,为 无损压缩提供了物理保证,从而推动了其发展。无损压缩的主要内容包括分帧、预测和无损 编码等。
[0003] 实际应用中遇到的绝大多数信号都不是平稳信号,而对于随机信号,譬如间歇性 突变信号的压缩处理,采用固定码长的编码方式比采用变长码编码会占用更多的比特位 数,降低压缩性能。
[0004] 有鉴于上述的缺陷,本设计人,积极加以研究创新,以期创设一种自适应的混合的 数据无损压缩方法,使其更具有产业上的利用价值。

【发明内容】

[0005] 为解决上述技术问题,本发明的目的是提供一种提高压缩的有效性与可靠性的自 适应的混合的数据无损压缩方法。
[0006] 本发明自适应的混合的数据无损压缩方法,包括:
[0007] Sl对输入的待编码数据进行分帧;
[0008] S2分别计算各帧待编码数据的预测系数;
[0009] S3将所述预测系数与设定的门限值进行比较,判断各帧待编码数据是否需要进行 线性预测;
[0010]若该帧待编码数据需要进行线性预测,则采用线性预测Golomb编码法,包括:
[0011] S3.11计算该帧待编码数据预测残差;
[0012] S3.12对所述预测残差进行数据映射;
[0013] S3.13对映射后的数据进行统计分析,确定合适的Golomb码的选择参数b;
[0014] S3.14采用所确定的参数b对映射后数据进行Golomb编码;
[0015] 若该帧待编码数据不需要线性预测,则采用自适应Golomb编码法,包括:
[0016] S3.21对该帧待编码数据进行待编码数据映射;
[0017] S3.22对映射后数据进行统计分析,确定合适的Golomb码的选择参数b;
[0018] S3.23采用所确定的参数b对映射后数据进行Golomb编码。
[0019] 进一步地,S3将所述预测系数与设定的门限值进行比较,判断各帧待编码数据否 需要进行线性预测,具体包括:
[0020] 获取线性预测的尤尔-沃克Yule-Walker方程中的自相关系数<Pu(〇h2阶预测的 最小预测误差功率,
[0021] 若最小预测误差功率0|祁〈自相关系数<pm(0),则进行预测;
[0022] 若最小预测误差功率彡自相关系数爭%(_0),则不进行预测;
[0023] 其中,β为根据信号特征预先确定的参数。
[0024] 进一步地,S3.12对各帧待编码数据预测残差进行数据映射,具体采用如下方法将 各帧待编码数据预测残差的带编码值c被替换为映射值d:
[0025] 判断各帧待编码数据预测残差中带编码值c是否小于0,
[0026] 若带编码值c小于0,则映射值d = 2c;
[0027] 若带编码值c大于等于0,则映射值d = 2c+l;
[0028] S3.21对各帧待编码数据进行待编码数据映射,具体采用如下方法将各帧待编码 数据的带编码值e被替换为映射值f:
[0029] 判断各帧待编码数据预测残差中带编码值e是否小于0,
[0030] 若带编码值e小于0,则映射值f = 2e;
[0031 ]若带编码值e大于等于0,则映射值f = 2e+l。
[0032]进一步地,S3.13所述的对各帧预测残差进行待编码数据分析,确定合适的Golomb 码的选择参数b,具体包括:根据各帧预测残差均值选择不同的b,
[0033] 若残差均值 mean〈mi,贝丨Jb=mi/2;
[0034] 若1111<残差均值1116311〈1112,贝此=1]11;
[0035] 若1112<残差均值1116311〈1]13,贝此=1112;
[0036] 若残差均值mean彡m3,则b=IiB;
[0037] S3.22所述的对各帧待编码数据进行统计分析,确定合适的Golomb码的选择参数 b,具体包括:根据每帧待编码数据均值选择不同的b,
[0038] 若待编码数据均值mean〈mi,贝ljb=mi/2;
[0039] 若mi<待编码数据均值mean〈m2,贝ljb=mi;
[0040] 若m2<待编码数据均值mean〈m3,则b=m2;
[0041 ] 若待编码数据均值mean彡m3,贝>Jb=m3。
[0042]优选地,S2采用莱文森-德宾Levinson-Durbin算法计算各帧待编码数据的线性预 测系数aii。
[0043] 具体地,S3.11计算预测残差,预测误差的具体计算公式为:
[0044] ε(η) - s(n) ~~ 1(?〇
[0045] 其中,s(n)是待编码数据,是待编码数据预测值;
[0046] 待编码数据预测值用过去p个待编码数据s(n)来预测得到,公式如下:
[0047] |(n.) - ~~ I)
[0048] 其中,ail为线性预测系数。
[0049] 进一步地,上述方法还包括解码过程,具体包括:
[0050] Sl提取各帧编码流的标志位;
[0051] S2判断各帧编码流在编码过程中是否进行了线性预测,
[0052]若进行了线性预测,则
[0053] S2.11提取该帧编码流采样点取值、预测系数、选择参数;
[0054] S2 · 12 进行 Golomb 解码;
[0055] S2.13恢复原始信号;
[0056]若没有进行线性预测,则
[0057] S2.21提取该帧编码流选择参数;
[0058] S2.22 进行 Golomb 解码;
[0059] S2.23恢复原始信号。
[0060]借由上述方案,本发明至少具有以下优点:
[0061] 本发明首先对信号预处理,提高运算速度。通过对信号待编码数据的测试与分析, 采用2阶线性预测。以Golomb编码为主要编码方式,对信号分帧,分析每帧信号的数字特征, 采用不同的选择参数进行Golomb编码,实现压缩编码的自适应性能。计算出每帧的自相关 系数,由Levinson-Durbin算法求出两阶线性预测系数。引入线性预测,在分析信号帧的基 础上选择是否预测,提高压缩效率,根据判决门限判定该待编码数据帧是否需要线性预测, 对预测帧、非预测帧分别采用自适应选择参数的Golomb编码,灵活性强,压缩率高。
[0062] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
【附图说明】
[0063] 图1是本发明自适应的混合的数据无损压缩方法的编码流程图;
[0064] 图2是本发明自适应的混合的数据无损压缩方法的解码流程图。
【具体实施方式】
[0065]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施 例用于说明本发明,但不用来限制本发明的范围。
[0066] 本发明使用一种变长码--Golomb编码对信号进行压缩编码。Golomb编码可以使 服从几何分布的正整数待编码数据流的平均码长最短,对较小的数用较短的编码,较大的 数用较长的码表示,可直接给出最佳变长码。
[0067] 正整数η的Golomb码由"前缀码+尾码"组成
[0068]①前缀码是q+Ι位的一元码字,而
[0069]
[0070] ②尾码是(n_l)/b的余数
[0071] r = n-1-qb
[0072] 的二进制编码。
[0073] 其中匕=21^为6〇1〇11113码的选择参数。
[0074] 每帧待编码数据需要分析该信号帧的数字特征,根据数字特征选择合适的选择参 数,实现自适应编码。通过多次实验分析,本发明提供四种选择参数的Golomb编码,b分取值 别为4,8,16,32,其中Golomb码尾码最大比特位数为5。但是对于较大数值的待编码数据帧, 在b值取32的情况下,其q值就会相应地变大,前缀码则会占用较大的比特位数,码长变大。
[0075]因此本发明还引入了线性预测技术,对所有的待编码数据帧有选择的进行预测。 即对于数值较小的待编码数据帧不进行预测,直接编码;对于数值较大的待编码数据帧进 行2阶线性预测,只需要对预测误差编码,降低了编码占用的比特数。
[0076] 实施例1
[0077] 参见图1,本发明一较佳实施例所述的自适应的混合的数据无损压缩方法,包括:
[0078] Sl对输入的待编码数据进行分帧。分帧是一种方法,对输入的一串待编码数据流 分成一帧帧,便于对待编码数据进行待编码数据处理,加快处理器运行速度,分帧提供可编 辑能力,是大部分数字信号压缩算法重要且必要的特点。
[0079] S2分别计算各帧待编码数据的预测系数。
[0080] S3根据所述预测系数判断各帧待编码数据否需要进行线性预测。
[0081 ]若该帧待编码数据需要进行线性预测,则
[0082] S3.11计算预测残差。
[0083] S3.12对各帧待编码数据进行待编码数据映射。
[0084] S3.13对各帧待编码数据进行待编码数据分析,确定合适的Golomb码的选择参数 b〇
[0085] S3.14对各帧待编码数据进行Golomb编码。
[0086] 若该帧待编码数据不需要线性预测,则
[0087] S3.21对各帧待编码数据进行待编码数据映射。
[0088] S3.22对各帧待编码数据进行待编码数据分析,确定合适的Golomb码的选择参数 b〇
[0089] S3.23对各帧待编码数据进行Golomb编码。
[0090]本实施例中,首先对信号预处理,提高运算速度。通过对信号待编码数据的测试与 分析,采用2阶线性预测。计算出每帧的自相关系数,由Levinson-Durbin算法求出两阶线性 预测系数、。根据判决门限判定该待编码数据帧是否需要线性预测。编码算法流程图如图1 所示。
[0091] 若待编码数据帧需要预测,则根据信号的前两个采样点采样值对后来的信号对线 性预测,然后求出残差信号。
[0092] 若待编码数据帧不需要线性预测,则直接对该待编码数据帧映射,对映射后的待 编码数据进行待编码数据分析,选择合适的Golomb编码的参数值b,然后进行Golomb编码。 该待编码数据帧同样也包含两个部分,标志位和Go Iomb码流。标志位有3位,存放预测标志 位和选择参数值b。
[0093] 实施例2
[0094] 本实施例所述的自适应的混合的数据无损压缩方法,在实施例1的基础上,S2采用 莱文森-德宾Levinson-Durbin算法计算各帧待编码数据的线性预测系数aii,具体包括: [00 95] p阶线性预测的尤尔-沃克Yule-Walker方程如下:
[0096]
[0097] 其中,为自相关系数;
[0098] 尤尔-沃克Yule-Walker方程中共有p+1个方程,
[0099] 当k = 0,l,2,…,p的已知时,解得apk [ k = 1,2,…,p ]以及泛|样p+1个未知 量,其中,apk预测系数,€?!为最小误差功率;
[0100] 线性预测的尤尔-沃克Yule-Walker方程中的自相关系数根据Levinson- Durbin算法求出2阶预测的最小预测误差功率I [0101 ] 莱文森-德宾Levinson-Durbin算法递推公式为
[0102]
[0103]其中[k = l,2,…,p];
[0104] 两阶预测,k取值为1和2,预测系数就是an、a22
[0105]
[0106]
[0107] 由此求解出两阶线性预测的预测系数an、a22。
[0108] 其中,S3将所述预测系数与设定的门限值进行比较,判断各帧待编码数据否需要 进行线性预测,具体包括:
[0109] 获取线性预测的尤尔-沃克Yule-Walker方程中的自相关系数2阶预测的 最小预测误差功率s|,
[0110] 若最小预测误差功率ο|*β〈自相关系数则进行预测;
[0111]若最小预测误差功率多自相关系数φιΡ),则不进行预测;
[0112] 其中,β为根据信号特征预先确定的参数。
[0113] 具体地,S3.11计算预测残差,预测误差的具体计算公式为:
[0114]
[0115] 其中,s(n)是待编码数据,11?)是待编码数据预测值。
[0116] 本实施例中的线性预测,对所有的待编码数据帧有选择的进行预测。即对于数值 较小的待编码数据帧不进行预测,直接编码。对于数值较大的待编码数据帧进行2阶线性预 测,只需要对预测误差编码,降低了编码占用的比特数。
[0117] 上述各实施例中,S3.12对各帧待编码数据预测残差进行待编码数据映射,具体采 用如下方法将各帧待编码数据预测残差的带编码值c被替换为映射值d:
[0118] 判断各帧待编码数据预测残差中带编码值c是否小于0,
[0119] 若带编码值c小于0,则映射值d = 2c。
[0120]若带编码值c大于等于0,则映射值d = 2c+l。
[0121] S3.21对各帧待编码数据进行待编码数据映射,具体采用如下方法将各帧待编码 数据的带编码值e被替换为映射值f:
[0122] 判断各帧待编码数据预测残差中带编码值e是否小于0,
[0123] 若带编码值e小于0,则映射值f = 2e。
[0124]若带编码值e大于等于0,则映射值f = 2e+l。
[0125] 考虑到Golomb编码是对正整数进行编码,所以需要对残差信号映射为正整数,对 残差信号进行Golomb编码。待编码数据帧预测标志位为1位,前两个采样点则分别用16位二 进制编码,线性预测系数分别用13位二进制编码,选择参数b有四种情况,所以占用两个比 特位。因此该待编码数据帧的编码有两个部分,分别为标志位和Golomb码流。标志位有61 位,用于存放预测标志位、预测系数、2个采样点值以及Golomb编码的选择参数KGolomb码 流则存放所有残差信号的Golomb编码码字。
[0126] 每帧待编码数据需要分析该信号帧的数字特征,根据数字特征选择合适的选择参 数,实现自适应编码。通过多次实验分析,本发明提供四种选择参数的Golomb编码,b分取值 别为4,8,16,32,其中Golomb码尾码最大比特位数为5。但是对于较大数值的待编码数据帧, 在b值取32的情况下,其q值就会相应地变大,前缀码则会占用较大的比特位数,码长变大。
[0127] 上述各实施例中,S3.13所述的对各帧预测残差进行待编码数据分析,确定合适的 Golomb码的选择参数b,具体包括:根据各帧预测残差均值选择不同的b,
[0128] 若残差均值 mean〈mi,贝!jb=mi/2;
[0129] 若1111<残差均值1116311〈1112,贝此=1]11;
[0130] 若1112<残差均值1116311〈1]13,贝此=1112;
[0131] 若残差均值mean彡m3,则b=IiB;
[0132] S3.22所述的对各帧待编码数据进行统计分析,确定合适的Golomb码的选择参数 b,具体包括:根据每帧待编码数据均值选择不同的b,
[0133] 若待编码数据均值mean〈mi,^jb=mi/2;
[0134] 若mi<待编码数据均值mean〈m2,贝ljb=mi;
[0135] 若m2<待编码数据均值mean〈m3,则b=m2;
[0136] 若待编码数据均值mean彡m3,则b=m3。
[0137] mi、m2、ni3、取值根据残差均值或带编码数据均值来确定大小。
[0138] 实施例3
[0139] 本实施例所述的自适应的混合的数据无损压缩方法,在实施例1的基础上,还包括 解码步骤,如图2所示,所述解码步骤具体包括:
[0140] Sl提取各帧编码流的标志位。
[0141] S2判断各帧编码流在编码过程中是否进行了线性预测,
[0142] 若进行了线性预测,则
[0143] S2.11提取该帧编码流采样点取值、预测系数、选择参数。
[0144] S2 · 12 进行 Golomb 解码。
[0145] S2.13恢复原始信号。
[0146] 若没有进行线性预测,则
[0147] S2.21提取该帧编码流选择参数。
[0148] S2.22 进行 Golomb 解码。
[0149] S2.23恢复原始信号。
[0150] 本实施例自适应的混合的数据无损压缩方法,对输入的各帧码流,根据标志位判 断该帧是否为预测帧,
[0151] 若该帧为预测帧,则提取出2阶预测的两个预测系数以及2个采样点值,Golomb编 码的选择系数b,对编码码流作解码处理,恢复出原始信号。
[0152] 若该帧不是预测帧,则提取出Golomb编码的选择系数b,对码流解码恢复原始信 号。
[0153] 本实施例,解码过程是对输入的编码码流做解码恢复原始信号的过程。因为输入 的每帧码流包含标志位和编码码流,所以需要首先判断标志位中的预测标志位。
[0154] 上述各实施例中,待编码数据如果是模拟数据,所以需要经过A/D采样将模拟信号 转换为数字数据,对数字数据压缩编码,输出编码码流。
[0155] 以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技 术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和 变型,这些改进和变型也应视为本发明的保护范围。
【主权项】
1. 一种自适应的混合的数据无损压缩方法,其特征在于,包括: Sl对输入的待编码数据进行分帖; S2分别计算各帖待编码数据的预测系数; S3将所述预测系数与设定的口限值进行比较,判断各帖待编码数据是否需要进行线性 预测; 若该帖待编码数据需要进行线性预测,则采用线性预测Golomb编码法,包括: S3.11计算该帖待编码数据预测残差; S3.12对所述预测残差进行数据映射; S3.13对映射后的数据进行统计分析,确定合适的Golomb码的选择参数b; S3.14采用所确定的参数b对映射后数据进行Golomb编码; 若该帖待编码数据不需要线性预测,则采用自适应Golomb编码法,包括: S3.21对该帖待编码数据进行待编码数据映射; S3.22对映射后数据进行统计分析,确定合适的Golomb码的选择参数b; S3.23采用所确定的参数b对映射后数据进行Golomb编码。2. 根据权利要求1所述的自适应的混合的数据无损压缩方法,其特征在于,S3将所述预 测系数与设定的口限值进行比较,判断各帖待编码数据否需要进行线性预测,具体包括: 获取线性预测的尤尔-沃克化16-??化er方程中的自相关系数舉SX(巧).,2阶预测的最小 预测误差功率,若最小预测误差功 则进行预测; 若最小预测误差功 ,则不进行预测;其中,e为根据信号 特征预先确定的参数。3. 根据权利要求1所述的自适应的混合的数据无损压缩方法,其特征在于,S3.12对各 帖待编码数据预测残差进行数据映射,具体采用如下方法将各帖待编码数据预测残差的带 编码值C被替换为映射值d: 判断各帖待编码数据预测残差中带编码值C是否小于0, 若带编码值C小于0,则映射值d = 2c; 若带编码值C大于等于0,则映射值d = 2c+l; S3.21对各帖待编码数据进行待编码数据映射,具体采用如下方法将各帖待编码数据 的带编码值e被替换为映射值f: 判断各帖待编码数据预测残差中带编码值e是否小于0, 若带编码值e小于0,则映射值f = 2e; 若带编码值e大于等于0,则映射值f = 2e+l。4. 根据权利要求1所述的自适应的混合的数据无损压缩方法,其特征在于,S3.13所述 的对各帖预测残差进行待编码数据分析,确定合适的Golomb码的选择参数b,具体包括:根 据各帖预测残差均值选择不同的b, 若残差均值mean<mi,贝化=mi/2; 若mi《残差均值mean <m2,现Jb=mi; 若m2《残差均值mean <m3,现Jb=m2; 若残差均值mean>m3,现Jb=m3; S3.22所述的对各帖待编码数据进行统计分析,确定合适的Golomb码的选择参数b,具 体包括:根据每帖待编码数据均值选择不同的b, 若待编码数据均值mean<mi,贝化=mi/2; 若mi《待编码数据均值mean<m2,贝化=mi; 若m2《待编码数据均值mean<m3,贝化=m2; 若待编码数据均值mean>m3,贝化=m3。5. 根据权利要求1所述的自适应的混合的数据无损压缩方法,其特征在于,S2采用莱文 森-德宾Levinson-Durbin算法计算各帖待编码数据的线性预测系数aii。6. 根据权利要求5所述的自适应的混合的数据无损压缩方法,其特征在于,S3.11计算 预测残差,预测误差的具体计算公式为:其中,s(n)是待编码数据, 待编码数据预测值用过去 ^式如下: 其中,ail为线性预测系数。7. 根据权利要求1所述的自适应的混合的数据无损压缩方法,其特征在于,还包括解码 过程,具体包括: Sl提取各帖编码流的标志位; S2判断各帖编码流在编码过程中是否进行了线性预测, 若进行了线性预测,贝U S2.11提取该帖编码流采样点取值、预测系数、选择参数; S2.12进行Go Iomb解码; S2.13恢复原始信号; 若没有进行线性预测,贝U S2.21提取该帖编码流选择参数; S2.22进行Golomb解码; S2.23恢复原始信号。
【文档编号】H03M7/40GK105915228SQ201610214280
【公开日】2016年8月31日
【申请日】2016年4月8日
【发明人】胡剑凌, 李杨, 张霞
【申请人】苏州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1