一种在格式数据流中无损信息嵌入与恢复方法转让专利

申请号 : CN201410353713.6

文献号 : CN104202294B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张怡周诠黎军呼延烺李静玲崔涛梁薇魏佳圆

申请人 : 西安空间无线电技术研究所

摘要 :

一种在格式数据流中无损信息嵌入与恢复方法,将信息嵌入的附加信息存储在数据流头部中,通过对数据流的载荷进行运算,产生可以用来嵌入信息的冗余位,从而实现了在普通格式数据流中嵌入信息,并且能够无失真恢复数据流及嵌入信息。本发明首先计算数据流中最大值与最小值之间的差值,并比较差值与2n(0〈n〈8)之间的大小;然后计算各种情况下可嵌入信息量,选择一种可嵌入信息量最大的情况并进行信息嵌入。当接收端收到数据后,提取出格式数据流中的嵌入信息并恢复出原始数据。本发明可用于在无特殊特征的格式数据流中无损嵌入信息,在不增加信道资源的情况下,提高系统的传输容量。

权利要求 :

1.一种在格式数据流中无损信息嵌入与恢复方法,其特征在于:嵌入方法步骤如下:

(1)对数据流中的载荷数据按字节值8位进行处理,形成十进制数,计算所有十进制数中最大值Kmax与最小值Kmin之间的差值D;

(2)将差值D与所有M分别进行比较,其中M=2n,0

如果差值D小于M,转入步骤(3);

如果差值D大于等于M,转入步骤(4);

(3)将所有数据流中的十进制数均减去最小值Kmin,使数据流数值范围变为0~(M-1)之间,在新的数据中,利用字节的高(8-n)位嵌入信息,同时将最小值Kmin及信息嵌入方式作为附加信息存储在数据流的头部中;转入步骤(5);

(4)选择数据X嵌入信息,X需同时满足如下条件:在数据流所有十进制数值中,没有其他十进制数值对应的二进制数的低n位与X对应的二进制数的低n位相同;

在数据流中所有满足上述条件的数值中,X出现的次数最多;

选择到满足条件的X值后,转入步骤(5);

若没有找到满足要求的X值,选择直接在数据流头部中嵌入信息,转入步骤(5);

(5)计算各种情况下可嵌入信息的数量,选择可嵌入的信息位数最多的一种方式进行信息嵌入;

所述计算各种情况下可嵌入信息的数量具体为:(a)当M=128,n=7时,分为两种情况:差值D小于M时,可嵌入信息量是N×1;N为数据流中载荷包括的字节数;

差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×1;

(b)当M=64,n=6时,分为两种情况:差值D小于M时,可嵌入信息量是N×2;

差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×2;

(c)当M=32,n=5时,分为两种情况:差值D小于M时,可嵌入信息量是N×3;

差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×3;

(d)当M=16,n=4时,分为两种情况:差值D小于M时,可嵌入信息量是N×4;

差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×4;

(e)当M=8,n=3时,分为两种情况:差值D小于M时,可嵌入信息量是N×5;

差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×5;

(f)当M=4,n=2时,分为两种情况:差值D小于M时,可嵌入信息量是N×6;

差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×6;

(g)当M=2,n=1时,分为两种情况:差值D小于M时,可嵌入信息量是N×7;

差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×7;

(h)当差值大于等于M时,若没有找到满足要求的X值,则可嵌入信息量为9;

比较上述几种方式下可嵌入的信息位数,选择可嵌入的信息位数最多的一种方式进行信息嵌入;

(6)按照不同的情况进行信息嵌入;

所述恢复方法具体为:

根据数据流头部的附加信息,判断信息的嵌入方式,并根据不同的嵌入方式进行信息恢复计算:如果选择的嵌入方式属于下列这种情况,即最大值Kmax与最小值Kmin之间的差值D小于M,其中M=2n,0

b)将数据流中高(8-n)位置0,低n位不变,形成数据K',原始信息K=K'+Kmin;

c)至此,完成嵌入信息的提取及原始数据的恢复;

如果选择的嵌入方式属于下列情况,即最大值Kmax与最小值Kmin之间的差值D大于等于M,其中M=2n,0

b)提取上述数据的高(8-n)位信息,恢复为嵌入信息;

c)用X替代上述数据,作为原始数据;

d)至此,完成嵌入信息的提取及原始数据的恢复;

如果信息直接嵌入在数据流头部中,则从头部提取出嵌入信息,原始数据不变;至此,完成嵌入信息的提取及原始数据的恢复。

2.根据权利要求1所述的一种在格式数据流中无损信息嵌入与恢复方法,其特征在于:所述步骤(6)按照不同的情况进行信息嵌入具体为:(1)如果整个数据流中最大值Kmax与最小值Kmin之间的差值D小于M,其中M=2n,0

其次,利用字节的高(8-n)位嵌入信息,低n位存储数据K';

最后,将嵌入方式及Kmin作为附加信息存储在数据流的头部;

(2)如果整个数据流中最大值Kmax与最小值Kmin之间的差值D大于等于M,其中M=2n,0

8,那么具体的嵌入方法如下:

首先,选择数据X嵌入信息,X需同时满足如下条件:在数据流所有数值中,没有其他数值对应的二进制数的低n位与X对应的二进制数的低n位相同;

在数据流中所有满足上述条件的数值中,X出现的次数最多;

其次,利用数据X对应的二进制数的高(8-n)位嵌入信息,低n位存储数据X对应的二进制数的原低n位;

最后,将嵌入方式及X值作为附加信息存储在数据流的头部中;

如果没有找到满足上述要求的X值,则直接将信息嵌入到数据流的头部中。

3.根据权利要求1或2所述的一种在格式数据流中无损信息嵌入与恢复方法,其特征在于:所述附加信息包括嵌入标识、嵌入方式及最小值Kmin或所选择的X值,共13位;

附加信息格式的分配具体如下:

嵌入标识位包括1位,若为1表示进行信息嵌入;若为0表示未进行信息嵌入;

嵌入方式包括4位,前三位为000时表示直接在头部的嵌入方式和位置信息中进行隐藏;前三位不为0时,前三位表示n值,其中,

001:表示n为1;

010:表示n为2;

011:表示n为3;

100:表示n为4;

101:表示n为5;

110:表示n为6;

111:表示n为7;

上述情况下嵌入方式的最后一位表示具体嵌入方式:

0:表示最大值Kmax与最小值Kmin之间的差值小于M;

1:表示最大值Kmax与最小值Kmin之间的差值大于等于M;

当具体嵌入方式为0时,8位嵌入位置信息表示的是最小值Kmin;当具体嵌入方式为1时,

8位位置信息表示的是所选择的X值。

说明书 :

一种在格式数据流中无损信息嵌入与恢复方法

技术领域

[0001] 本发明涉及一种在格式数据流中无损信息嵌入方法,属于数据通信传输技术领域。

背景技术

[0002] 常见的无损信息嵌入方法都是针对具有一定特征的数据流进行的,如图像、音频及文本等,对于这类数据流进行隐藏时需要利用各数据流之间的相关性来嵌入信息。目前,并没有一种信息隐藏方法可以在无特殊特征的普通数据流中无损嵌入信息。本发明提出了
一种在格式数据流中无损信息嵌入方法,该方法可在各种不同的数据流中嵌入信息,能够
无失真恢复数据流及嵌入信息,在不增加信道资源的情况下,提高系统的传输容量。

发明内容

[0003] 本发明的技术解决问题是:克服现有技术的不足,提供了一种在格式数据流中无损信息嵌入方法,在不增加信道资源的情况下,提高系统的传输容量。
[0004] 本发明的技术解决方案是:
[0005] 一种在格式数据流中无损信息嵌入与恢复方法,
[0006] 嵌入方法步骤如下:
[0007] (1)对数据流中的载荷数据按字节值8位进行处理,形成十进制数,计算所有十进制数中最大值Kmax与最小值Kmin之间的差值D;
[0008] (2)将差值D与所有M分别进行比较,其中M=2n,0
[0009] 如果差值D小于M,转入步骤(3);
[0010] 如果差值D大于等于M,转入步骤(4);
[0011] (3)将所有数据流中的十进制数均减去最小值Kmin,使数据流数值范围变为0~(M-1)之间,在新的数据中,利用字节的高(8-n)位嵌入信息, 同时将最小值Kmin及信息嵌入方式作为附加信息存储在数据流的头部中;转入步骤(5);
[0012] (4)选择数据X嵌入信息,X需同时满足如下条件:
[0013] 在数据流所有十进制数值中,没有其他十进制数值对应的二进制数的低n位与X对应的二进制数的低n位相同;
[0014] 在数据流中所有满足上述条件的数值中,X出现的次数最多;
[0015] 选择到满足条件的X值后,转入步骤(5);
[0016] 若没有找到满足要求的X值,选择直接在数据流头部中嵌入信息,转入步骤(5);
[0017] (5)计算各种情况下可嵌入信息的数量,选择可嵌入的信息位数最多的一种方式进行信息嵌入;
[0018] (6)按照不同的情况进行信息嵌入;
[0019] 所述恢复方法具体为:
[0020] 根据数据流头部的附加信息,判断信息的嵌入方式,并根据不同的嵌入方式进行信息恢复计算:
[0021] 如果选择的嵌入方式属于下列这种情况,即最大值Kmax与最小值Kmin之间的差值D小于M,其中M=2n,0
[0022] a)提取数据流中高(8-n)位信息恢复为嵌入信息;
[0023] b)将数据流中高(8-n)位置0,低n位不变,形成数据K',原始信息K=K'+Kmin;
[0024] c)至此,完成嵌入信息的提取及原始数据的恢复;
[0025] 如果选择的嵌入方式属于下列情况,即最大值Kmax与最小值Kmin之间的差值D大于n
等于M,其中M=2,0
[0026] a)选择数据流中所有与X数据低n位相同的数据;
[0027] b)提取上述数据的高(8-n)位信息,恢复为嵌入信息;
[0028] c)用X替代上述数据,作为原始数据;
[0029] d)至此,完成嵌入信息的提取及原始数据的恢复;
[0030] 如果信息直接嵌入在数据流头部中,则从头部提取出嵌入信息,原始数据不变;至此,完成嵌入信息的提取及原始数据的恢复。
[0031] 所述步骤(5)计算各种情况下可嵌入信息的数量具体为:
[0032] (1)当M=128,n=7时,分为两种情况:
[0033] 差值D小于M时,可嵌入信息量是N×1;N为数据流中载荷包括的字节数;
[0034] 差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×1;
[0035] (2)当M=64,n=6时,分为两种情况:
[0036] 差值D小于M时,可嵌入信息量是N×2;
[0037] 差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×2;
[0038] (3)当M=32,n=5时,分为两种情况:
[0039] 差值D小于M时,可嵌入信息量是N×3;
[0040] 差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×3;
[0041] (4)当M=16,n=4时,分为两种情况:
[0042] 差值D小于M时,可嵌入信息量是N×4;
[0043] 差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×4;
[0044] (5)当M=8,n=3时,分为两种情况:
[0045] 差值D小于M时,可嵌入信息量是N×5;
[0046] 差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×5;
[0047] (6)当M=4,n=2时,分为两种情况:
[0048] 差值D小于M时,可嵌入信息量是N×6;
[0049] 差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×6;
[0050] (7)当M=2,n=1时,分为两种情况:
[0051] 差值D小于M时,可嵌入信息量是N×7;
[0052] 差值D大于等于M时,若选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×7;
[0053] (8)当差值大于等于M时,若没有找到满足要求的X值,则可嵌入信息量为9;
[0054] 比较上述几种方式下可嵌入的信息位数,选择可嵌入的信息位数最多的一种方式进行信息嵌入。
[0055] 所述步骤(6)按照不同的情况进行信息嵌入具体为:
[0056] (1)如果整个数据流中最大值Kmax与最小值Kmin之间的差值D小于M,其中M=2n,0
[0057] 首先,将数据流中数据变为K',其中K'=K-Kmin,K'≥0且K'
[0058] 其次,利用字节的高(8-n)位嵌入信息,低n位存储数据K';
[0059] 最后,将嵌入方式及Kmin作为附加信息存储在数据流的头部;
[0060] (2)如果整个数据流中最大值Kmax与最小值Kmin之间的差值D大于等于M,其中M=2n,0
[0061] 首先,选择数据X嵌入信息,X需同时满足如下条件:
[0062] 在数据流所有数值中,没有其他数值对应的二进制数的低n位与X对应的二进制数的低n位相同;
[0063] 在数据流中所有满足上述条件的数值中,X出现的次数最多;
[0064] 其次,利用数据X对应的二进制数的高(8-n)位嵌入信息,低n位存储数据X对应的二进制数的原低n位;
[0065] 最后,将嵌入方式及X值作为附加信息存储在数据流的头部中;
[0066] 如果没有找到满足上述要求的X值,则直接将信息嵌入到数据流的头部中。
[0067] 所述附加信息包括嵌入标识、嵌入方式及最小值Kmin或所选择的X值,共13位;
[0068] 附加信息格式的分配具体如下:
[0069] 嵌入标识位包括1位,若为1表示进行信息嵌入;若为0表示未进行信息嵌入;
[0070] 嵌入方式包括4位,前三位为000时表示直接在头部的嵌入方式和位置信息中进行隐藏;前三位不为0时,前三位表示n值,其中,
[0071] 001:表示n为1;
[0072] 010:表示n为2;
[0073] 011:表示n为3;
[0074] 100:表示n为4;
[0075] 101:表示n为5;
[0076] 110:表示n为6;
[0077] 111:表示n为7;
[0078] 上述情况下嵌入方式的最后一位表示具体嵌入方式:
[0079] 0:表示最大值Kmax与最小值Kmin之间的差值小于M;
[0080] 1:表示最大值Kmax与最小值Kmin之间的差值大于等于M;
[0081] 当具体嵌入方式为0时,8位嵌入位置信息表示的是最小值Kmin;当具体嵌入方式为1时,8位位置信息表示的是所选择的X值。
[0082] 本发明与现有技术相比的有益效果是:
[0083] (1)本发明信息嵌入方法可应用于各种不同的数据流中,传统无损信息嵌入方法都是在图像中具有相关性特征的数据流中进行信息隐藏,而本发明提出的方法可用于数据
传输中任意类型的数据流中,在不增加信道资源的 情况下,提高系统的传输容量。
[0084] (2)本发明通过计算在数据流中产生了可嵌入信息的冗余位,能够实现无损信息嵌入,提高了嵌入信息量。

附图说明

[0085] 图1为本发明方法流程图;
[0086] 图2为本发明嵌入信息量计算方法示意图;
[0087] 图3为本发明信息嵌入方法示意图;
[0088] 图4为本发明信息恢复方法示意图。

具体实施方式

[0089] 常见的无损信息嵌入方法都是针对具有一定特征的数据流进行的,利用数据流之间的关系通过预测与插值的方法来实现信息隐藏。本发明提出了一种在格式数据流中无损
嵌入信息的方法,该方法可在各种不同的数据流中嵌入信息,能够无失真恢复数据流及嵌
入信息,在不增加信道资源的情况下,提高系统的传输容量。
[0090] 通信网络进行数据传输时,通常都会以一定格式的帧或信元、数据报的形式来传输,各种不同格式的数据都包括头部信息和载荷信息。本发明将信息嵌入的附加信息存储
在数据流头部中,通过对数据流的载荷进行运算,产生可以用来嵌入信息的冗余位,从而实现了在普通格式数据流中嵌入信息,并且能够无失真恢复数据流及嵌入信息。
[0091] 本发明进行无损信息嵌入的思想是利用载荷数据之间的特征产生冗余位,利用冗余位嵌入信息。
[0092] 附图1为无损信息嵌入总体方案,主要步骤为:
[0093] (1)对数据流中的载荷数据按字节值(8位)进行处理,形成十进制数,计算整个数据流中所有数据最大值Kmax与最小值Kmin之间的差值;
[0094] (2)将差值分别与M(其中M=2n,0
[0095] 如果差值小于M,转入步骤(3);
[0096] 如果差值大于等于M,转入步骤(4);
[0097] (3)若差值小于M(其中M=2n,0
[0098] (4)若差值大于M(其中M=2n,0
[0099] 在数据流所有数值中,没有其他数值低n位与X相同;
[0100] 在数据流中所有满足上述条件的数值中,X出现的次数最多。
[0101] 选择到满足条件的X值后,转入步骤(5);
[0102] 若没有找到满足要求的X值,选择直接在数据流头部中嵌入信息,转入步骤(5);
[0103] (5)计算各种情况下可嵌入信息的数量,并选择一种嵌入数目最多的情况。
[0104] 如图2所示,假设数据流中载荷包括N个字节,本发明将载荷数据中最大值Kmax与最小值Kmin之间的差值与M(其中M=2n,0
[0105] (5.1)当M=128(n=7)时,分为两种情况:
[0106] 差值小于M时,可嵌入信息量是N×1;
[0107] 差值大于等于M时,若所选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×1;
[0108] (5.2)当M=64(n=6)时,分为两种情况:
[0109] 差值小于M时,可嵌入信息量是N×2;
[0110] 差值大于等于M时,若所选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×2;
[0111] (5.3)当M=32(n=5)时,分为两种情况:
[0112] 差值小于M时,可嵌入信息量是N×3;
[0113] 差值大于等于M时,若所选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×3;
[0114] (5.4)当M=16(n=4)时,分为两种情况:
[0115] 差值小于M时,可嵌入信息量是N×4;
[0116] 差值大于等于M时,若所选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×4;
[0117] (5.5)当M=8(n=3)时,分为两种情况:
[0118] 差值小于M时,可嵌入信息量是N×5;
[0119] 差值大于等于M时,若所选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×5;
[0120] (5.6)当M=4(n=2)时,分为两种情况:
[0121] 差值小于M时,可嵌入信息量是N×6;
[0122] 差值大于等于M时,若所选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×6;
[0123] (5.7)当M=2(n=1)时,分为两种情况:
[0124] 差值小于M时,可嵌入信息量是N×7;
[0125] 差值大于等于M时,若所选择数据X嵌入信息且X在载荷中出现了Y次,则可嵌入信息量为Y×7;
[0126] (5.8)当差值大于等于M时,若没有找到满足要求的X值,则可嵌入信息量为9;
[0127] 比较上述几种方式下可嵌入的信息位数,选择数量最多的一种方式进行信息嵌入。
[0128] (6)按照不同的情况进行信息嵌入,如图3所示。
[0129] (6.1)如果整个数据流中所有数据最大值Kmax与最小值Kmin之间的差值小于M(其中M=2n,0
[0130] 首先,将数据流中数据变为K',其中K'=K-Kmin,K'≥0且K'
[0131] 其次,利用字节的高(8-n)位嵌入信息,低n位存储数据K';
[0132] 最后,将嵌入方式及Kmin作为附加信息存储在数据流的头部。
[0133] (6.2)如果整个数据流中所有数据最大值Kmax与最小值Kmin之间的差值大于等于M(其中M=2n,0
[0134] 首先,选择数据X嵌入信息,X需同时满足如下条件:
[0135] 在数据流所有数值中,没有其他数值低n位与X相同;
[0136] 在数据流中所有满足上述条件的数值中,X出现的次数最多。
[0137] 其次,利用数据X的高(8-n)位嵌入信息,低n位存储数据X的原低n位;
[0138] 最后,将嵌入方式及X值作为附加信息存储在数据流的头部中。
[0139] 如果没有找到满足上述要求的X值,则直接将信息嵌入到数据流的头部中。
[0140] 信息恢复方法:
[0141] 信息恢复方法与信息嵌入方法相反,如附图4所示。
[0142] 首先,根据数据流头部的附加信息,判断信息的嵌入方式,并根据不同的嵌入方式进行信息恢复计算。
[0143] (1)如果选择的嵌入方式属于下列这种情况,即最大值Kmax与最小值Kmin之间的差值小于M,那么恢复方法如下:
[0144] a)提取数据流中高(8-n)位信息恢复为嵌入信息;
[0145] b)将数据流中高(8-n)位置0,低n位不变,形成数据K',原始信息K=K'+Kmin;
[0146] 至此,完成嵌入信息的提取及原始数据的恢复。
[0147] (2)如果选择的嵌入方式属于下列情况,即最大值Kmax与最小值Kmin之间的差值大于等于M(其中M=2n,0
[0148] a)选择数据流中所有与X数据低n位相同的数据;
[0149] b)提取上述数据的高(8-n)位信息,恢复为嵌入信息;
[0150] c)用X替代上述数据,作为原始数据;
[0151] 至此,完成嵌入信息的提取及原始数据的恢复。
[0152] (3)如果信息直接嵌入在数据流头部中,则从头部提取出嵌入信息,原始数据不变。
[0153] 至此,完成嵌入信息的提取及原始数据的恢复。
[0154] 本发明中的附加信息可存储在格式数据流的头部中。附加信息包括嵌入标识、嵌入方式及最小值Kmin或所选择的X值,共13位。
[0155]
[0156] 附加信息格式的分配具体如下:
[0157] 嵌入标识位包括1位,若为1表示进行信息嵌入;若为0表示未进行信息嵌入;
[0158] 嵌入方式包括4位,当前三位为000时表示直接在头部的嵌入方式和位置信息中进行隐藏;当前三位不为0时,前三位表示n值,其中,
[0159] 001:表示n为1;
[0160] 010:表示n为2;
[0161] 011:表示n为3;
[0162] 100:表示n为4;
[0163] 101:表示n为5;
[0164] 110:表示n为6;
[0165] 111:表示n为7;
[0166] 上述情况下嵌入方式的最后一位表示具体嵌入方式:
[0167] 0:表示最大值Kmax与最小值Kmin之间的差值小于M;
[0168] 1:表示最大值Kmax与最小值Kmin之间的差值大于等于M;
[0169] 当具体嵌入方式为0时,8位嵌入位置信息表示的是最小值Kmin;当具体嵌入方式为1时,8位位置信息表示的是所选择的X值。
[0170] 实施例:
[0171] 这里以星上ATM信元为例详细说明在格式数据流中无损信息嵌入的具体实施方式。下表所示为星上ATM信元格式,该信元共53字节,包括5字节的头部和48字节载荷,其中头部包括13位信息嵌入的附加信息。除了13位信息嵌入附加信息,ATM信元头部内其他的都是通信协议标准里的格式。
[0172]
[0173] 假设收到的第一个ATM信元载荷为(十进制):
[0174] 0,0,16,16,55,55,68,68,16,16,85,85,102,102,16,16,119,119,16,16,0,0,16,16,55,55,68,68,16,16,85,85,102,102,16,16,119,119,16,16,0,0,16,16,55,55,68,68[0175] 1.按字节分析ATM信元的载荷。
[0176] 该数据流中最大值为Kmax=119,最小值为Kmin=0,计算差值:
[0177] D=Kmax-Kmin=119。
[0178] 2.将差值与M(M=2n,0
[0179] (1)当M=128时,D
[0180] (2)当M=64时,D>M,选择在数据16的高2位上进行信息嵌入;
[0181] (3)当M=32时,D>M,选择在数据16的高3位上进行信息嵌入;
[0182] (4)当M=16时,D>M,选择在数据68的高4位上进行信息嵌入;
[0183] (5)当M=8时,D>M,选择在数据68的高5位上进行信息嵌入;
[0184] (6)当M=4时,D>M,选择在数据85的高6位上进行信息嵌入;
[0185] (7)当M=2时,D>M,选择在直接在数据头部进行信息嵌入;
[0186] 3.计算各种情况下的可嵌入信息量。
[0187] 当M=128时,可嵌入信息量为48比特;当M=64时,可嵌入信息量为36比特;当M=32时,可嵌入信息量为54比特;当M=16时,可嵌入信息量为24比特;当M=8时,可嵌入信息量为30比特;当M=4时,可嵌入信息量为24比特;当M=2时,可嵌入信息量为9比特。
[0188] 通过比较发现,当M=32时,选择在数据16的高3位进行信息嵌入,所嵌入的信息量最大。因此,选择这种信息嵌入方式进行数据嵌入。
[0189] 4.根据选择的信息嵌入方式在信元中嵌入数据,并生成附加信息。
[0190] 根据所选择的信息嵌入方式,附加信息为:嵌入标识为1;嵌入方式为1011;嵌入位置为00010000(16)。
[0191] 具体信息嵌入时,将待嵌入信息逐比特嵌入到数据16的高3位中,数据16的低5位保持不变。
[0192] 至此,完成信息在ATM信元中的嵌入。
[0193] 按输出地址将信元发送到相应的接收终端,嵌入信息的提取和原始信元的恢复:
[0194] 1.当接收终端收到该ATM信元后,从信元头部中可知该信元中嵌入信息。首先,从信元头部中提取附加信息,通过附加信息得知在该信元数据16(00010000)中含有嵌入信
息。
[0195] 2.在数据流中寻找低5位为“10000”的数据,依次提取出该数据的高3位为嵌入信息,同时将该数据恢复为16(00010000)。
[0196] 至此,完成嵌入信息的提取和原始信元的恢复。