利用统计特性的数据隐藏方法和系统的制作方法

文档序号:7573858阅读:290来源:国知局

专利名称::利用统计特性的数据隐藏方法和系统的制作方法
技术领域
:本发明涉及一种用于“数据隐藏”的方法,即一种将信息嵌入数据中的技术,以及用于“提取”嵌入的信息的方法。随着被称为“DVD”的新媒体越来越广泛的应用,人们希望通过这种媒体来分配越来越大量的图象和/或声音信息。由于这些数字化的信息无须任何改变(DETERIORATION)即可被任何人容易而很好地复制,所以制定一个如何阻止滥用DVD和保护其版权的详细规约是一个问题。因此,为了防止第三者非法复制这种信息(数据),一种用于将信息藏入原始数据的技术引起了人们的注意。这种隐藏技术被称为“数据隐藏”。数据隐藏是将信息嵌入另一种媒体(静止图象、声音、电影等)的技术的一般术语。它不同于加密,不想保持包含在媒体中的秘密信息,而是将包含在媒体中的信息和将要嵌入的信息综合在一起。数据隐藏的一个重要特性在于它是不可见标记。当信息被嵌入一种媒体中时,它没有与数据位相加,而是在处理时不被人的视觉所察觉(数据变换)。因此,并没有因为嵌入了附加信息而增加数据量。例如,当文本或声音信息被嵌入一个图象中时,在存储器中只处理一种类型的媒体。另一个重要特性是嵌入信息的不可分性。由于数据隐藏直接将附加信息嵌入一个媒体的数据结构中,而没有存入标题或独立的文件中,所以只要保存了原始数据的质量,即使媒体的平台或数据格式被改变,也能提取出所嵌入的信息。利用数据隐藏技术,可以将复制控制信息作为表示是否允许复制该数据的消息数据而嵌入。可以以如下方式安排一个DVD放映机当它访问被记录的媒体数据时,提取复制控制信息,并且如果该信息禁止复制,则进行禁止复制操作的操作。因此,以通过向DVD放映机提供一个能在访问记录媒体上的数据时同时提取和分析嵌入信息的提取机构的常规方式,就可以有效地控制数据的复制。于1996年4月22日公布的“NIKKEIELECTRONICS-4-22,1996”公开了下述数据隐藏技术。图1是用于说明数据隐藏和提取的
背景技术
的简图。在隐藏ID信息的步骤中,通过利用离散余弦转换或快速傅立叶转换对诸如电影、图象、照片及声音之类的原始媒体信息进行频率变换而获得一个频谱。通过扩频将ID信息卷积到媒体信息的频谱中。ID信息是一个只有出版物(PUBLICATION)的每个采购者才有的随机数。长度为1000的正态分布被用作产生随机数的算法。然后,在加有ID信息的媒体信息的频谱上执行反频率变换以恢复隐藏有ID信息的数字出版物信息。尽管ID信息被隐藏于其中,但是该数字出版物信息与原始信息几乎没有区别以致于采购者不能凭肉眼识别出其区别。另一方面,为了提取出ID信息,除了具有关于假定将被非法复制的数字出版信息的数据之外,还应该具有关于原始出版信息的数据。对得到的数据和原始数据进行频率变换来得到它们的频谱。确定这些频谱间的差别并将之与作者(AUTHOR)发出的ID信息进行比较。这能识别出出版物的采购者,使得其能够确定该出版物是否为非法复制品。这种技术的一个特征是利用一个频率空间来隐藏数据。即将媒体信息从一个实际空间变换到一个频率空间,并根据ID信息来处理其频谱中的一个频率分量。另一个特征是使用的频率区域是局部的。即只有在媒体信息频谱中的低频区域进行扩频而不利用其中的高频分量。这是为了防止在高频区域扩展时由ID信息的压缩/解压而引起的ID信息丢失,换句话说,这种现有的方法是在媒体信息的局部频率空间中频率扩展ID信息,并将ID信息隐藏到媒体信息的整个实际空间中。在上述现有的方法中,只有在进行提取时提供了原始数据的情况下才允许提取嵌入的信息。但是,提供给通用DVD放映机的信息只是存在插入的存储媒体上并用于嵌入的信息和预先存在放映机的一个ROM中的附加信息(可能是用于提取的标准化信息)。只要DVD放映机是一个通用设备,实际上就不可能在存取个别数据时分别提供原始数据。因此,就不可能利用将具有原始数据作为先决条件的现有方法以常规方式来达到控制复制的目的。此外,将能够在存取的同时提取嵌入的信息和能够实时控制系统操作作为达到上述目的的先决条件是必要的。但是,现有方法难以满足这些要求,因为在频率变换或进行嵌入信息的提取时需要花费巨大的成本。因此,本发明的目的是提供一种数据隐藏方法或系统,用于将信息嵌入一个记录媒体中使得能够在不提供原始数据的情况下提取信息。还提供一种能够在不提供原始数据时提取嵌入信息的提取方法或系统。还提供一种能够以相对低的计算成本提取嵌入信息的方法或系统。为达到上述目的,本发明的第一方面提供了一种用于将信息嵌入一个数据阵列的数据隐藏方法,该数据阵列由多个阵列元素构成,该方法包括步骤(a)准备一个具有多个阵列元素的模板阵列,该模板阵列至少具有一个正单位值和一个负单位值,并且正负单位值的总和为零;(b)指定该数据阵列中的隐藏区的数量(N),隐藏区的大小与模板阵列的大小相应;(c)通过参照一个提供了信息含义与模板阵列在隐藏区域的应用之间的对应的隐藏规则,对一个隐藏区根据位置相应的正或负单位值确定每个阵列元素的操作量;(d)将所确定的相对于所述隐藏区的操作量加至每个阵列元素;以及(e)根据隐藏区的个数(N)执行步骤(c)到(d),使得信息被嵌入(N)个隐藏区中。此外,本发明的第二方面提供了一种用于提取嵌入到一个数据阵列中的信息的方法,该数据阵列由多个阵列元素构成,该方法包括步骤(a)指定在数据阵列中嵌入了信息的隐藏区的个数(n),这个个数(n)足以体现统计特性,隐藏区的大小与一个模板阵列的大小相应,该模板阵列具有多个阵列元素,且具有至少一个正单位值和一个负单位值,并且正负单位值的总和为零;(b)对(n)个隐藏区中的每一个,通过将模板阵列卷积到隐藏区来计算一个块值,并从(n)个块值的和中得到一个统计判断值;以及(c)通过参照一个提供了统计判断值与将被提取的信息含义间的对应关系的提取规则,按照统计判断值提取嵌入的信息。从而本发明能够在不提供原始数据信息的情况下提取嵌入的信息,并能够以相对低的计算成本提取信息,因为不需要诸如频率变换之类的复杂操作。图1是说明依据
背景技术
的数据隐藏和提取的方框图;图2是一帧由640*480个象素构成的静止图象或电影的状态图;图3是一个4*4个象素构成的模板阵列;图4是作为一个点阵(LATTICE)的、在图象数据中指定的隐藏区的个数(N);图5是用于在一个以I(1+i,1+j)表示的隐藏区上卷积一个模板阵列P(i,j)的操作图;图6是嵌入信息为未知的数据阵列I′(x,y)的状态图;图7是根据位于屏幕左下角的隐藏区I′(1+i,1+j)计算块值F(1,1)的图;图8是在块数(n)被随机选定时的统计判断值D的频率分布图;图9是示出了通过在不执行信号处理时,利用模板阵列执行或不执行处理而得到的统计判断值的图;图10示出了由8*8个象素构成的模板阵列,其阵列元素按2*2象素排列;图11示出了在执行JPEG压缩是得到的统计判断值;图12示出了在通过改变图象大小来执行一平均操作时得到的统计判断值;图13示出了利用MPEG2进行数据压缩时遇到的阻力;图14是用于将数据记录到一媒体中的过程;图15是用于控制记录数据回放的过程;以及图16是用于控制数据访问及输出的系统方框图。(1)数据阵列I数据是嵌入信息的目标,包括静止图象数据,电影数据和声音数据。该数据用一个数据阵列I来表示。本发明不仅适用于象静止图象数据这样的二维数据,而且也适用于象声音数据这样的一维数据。下面将以特定信息被嵌入一个静止图象或由640*480个象素构成的一帧电影图象中为例进行说明,如图2所示。对于图中所示的图象数据来说,由多个阵列元素axy构成的媒体阵列I表示如下[式1]I(x,y){a11,…,a640_1,a21,…,axy…,a640_480}这里,(x,y)表示在阵列中的一个位置,“x”位于一维方向上(横向),“y”位于二维方向上(纵向)。图2的图象数据的数值范围为1≤x≤640,1≤y≤480。阵列元素axy是一个表示图象数据的特征的特性值,能被用于图象的直接参数,如象素值,或间接参数,如平均或分散值。此处用作象素值。(2)模板阵列P用多个阵列元素表示的模板阵列P表示一种用于使存在于数据阵列的一个预定区域中的多个阵列元素相加的模式。按照位置相应的模板阵列中的阵列元素值,预定区域中的单个阵列元素被相加。模板阵列P中的阵列元素至少包括一个正单位值(如“+1”)和一个负单位值(如“-1”)。在数据为二维数据,如图象数据的情况下,模板阵列P是一个二维阵列,其中每个阵列元素都具有预定值且按矩阵形式排列。图3示出了一个由4*4个阵列元素构成的模板阵列。在图中,“+1”代表正单位值,而“-1”代表负单位值,正和负单位值均匀分布和排列。此外,除这些被指定的单位值以外的阵列元素值为零。为零的原因是为了通过减小相邻阵列元素间的差值来抑制由嵌入操作而引起的图象质量的变异。这里,模板阵列必须满足如下关系[式2]&Sigma;i,jP(i,j)=0]]>即,一个模板阵列中的所有阵列元素值的总和为零是必要的。在图3的例子中,由于有4个正单位值和4个负单位值,所以它们的总和为零。这个算法是为了利用统计方法来提取嵌入的信息。总和为零是提取中的统计特性的重要保证。(3)信息的嵌入(N)个隐藏区的位置被限定在媒体阵列中。每个隐藏区的大小与模板阵列P相对应,并由4*4个阵列元素构成。这里,数N应该足够大以使得显示出统计特性,如后所述。特别是,隐藏区应该是一个与图象数据等无关或根据图象数据的内容自动确定的预定区域。下面,假设(N)个隐藏区被预先定义在图4所示的位置上。即,图2所示的640*480数据阵列被分成4*4网格形的隐藏区。这样能够提供(N)个隐藏区(此例中N=19200)。通过位于隐藏区左上角的一个位置(x,y)(后称“隐藏区的参考位置”)和一个参照此位置的位移量(i,j)来表示一个隐藏区的位置。例如,根据左上角的阵列元素I(1,1)22a将左上角的隐藏区21a表示为I(1+i,1+j),其中0≤i,j≤3。同样,隐藏区21b和21c被分别表示为I(5+i,1+j)和I(633+i,1+j)。由此可知,一个隐藏区可以表示如下隐藏区I(x+i,y+j)(x,y)隐藏区的参考位置(i,j)位移量(0≤i,j≤3)参考位置(x,y)的值用于隐藏区左上角的阵列元素,并具有一个相隔为4的离散值。然后,用预定的隐藏规则对需进行嵌入操作的(N)个隐藏区中的每个阵列元素值进行处理。该隐藏规则定义了如何根据将被嵌入的信息含义,将模板阵列应用到隐藏区。即,它定义了根据模板阵列中的正和负单位值,将正和负单位值中的哪一个加到阵列元素值上。依据下述的隐藏规则,详细描述如下(隐藏规则)</tables>依据上述定义的隐藏规则,当对图象数据的复制没有限制时,不依据模板阵列处理图象数据。因此,原始数据阵列足以依原样分布。当假设禁止复制图象数据时,应用的模板阵列原符号关系,并执行下面等式所表示的加法操作。即,对各个隐藏区执行为模板阵列P的卷积值的阵列元素的加法操作。换句话说,依据模板阵列的单位值,将一个预定值加到构成隐藏区的每个阵列元素上。根据模板阵列中与阵列元素位置相应的单位值来确定这个预定值。I′(x+i,y+j)=I(x+i,y+j)+P(i,j)(x1,5,9,…,637y1,5,9,…,4770≤(i,j)≤3)图5通过将模板阵列P加到图4中的隐藏区I(1+i,1+j)21a来说明卷积操作。正单位值“+1”、负单位值“-1”和值“0”表明操作量“+1”、“-1”和“0”作为阵列位置被分别加到相应的隐藏区的值上。即,模板阵列P中的正单位值“+1”被加到隐藏区I中与单位值“+1”位置相应的4个象素值a11,a42,a33和a24上。此外,模板阵列P中的负单位值“-1”被加到与负单位值“-1”相应的4个象素值a31,a22,a13和a44上。而且,其余未改变的是与模板阵列P中的值“0”相应的8个象素值a21,a41,a12,a32,a23,a43,a14和a34。在(N)个隐藏区上执行这样的卷积操作。得到一个在(N)个隐藏区中嵌入了信息“禁止复制图象数据”的数据阵列I′。应该注意这里通过多个卷积了模板阵列的隐藏区来表示信息“禁止复制数据”。换句话说,这意味着不能只通过一个执行了嵌入操作的隐藏区来提取信息“禁止复制数据”,以后将给出详细的描述。对数据阵列I′来说,尽管根据模板阵列在多个隐藏区中对元素值进行操作,但对单个值来说其操作量是非常小的。因此,被操作的数据阵列I′值与原始数据阵列I之间几乎没有差别。在假定只允许复制一次图象数据,此后禁止的情况下,模板阵列在其符号关系被反转之后进行卷积。即,在将正单位值“+1”转换为负单位值“-1”之后,应用该模板阵列,反之亦然。模板阵列在反转之后的应用相当于执行下式所代表的减法操作。I′(x+i,y+j)=I(x+i,y+j)-P(i,j)(x1,5,9,…,637y1,5,9,…,4770≤i,j)≤3)在这个处理过程中,正单位值“+1”、负单位值“-1”和值“0”表明操作量“+1”、“-1”和“0”被分别加到相应于阵列的隐藏区中的值上。在(N)个隐藏区上执行这样的卷积操作。它完成了将信息“允许复制图象数据(仅一次)”嵌入到(N)个隐藏区中。还应当注意的是,由于通过多个卷积了模板阵列的隐藏区来表示信息“禁止复制数据(仅一次)”,所以不能只通过一个执行了嵌入操作的隐藏区来提取信息“禁止复制数据(仅一次)”。(4)嵌入信息的提取为了提取被嵌入的信息,下述信息应该是已知的。本发明的特征在于无须知道原始的数据阵列I即可提取信息。(a)嵌入了信息的数据阵列I′(b)模板阵列P(c)(n)个隐藏区的位移位置(x,y)以及(d)相应于隐藏规则的提取规则由于上述信息(a)所示的数据阵列I′与原始数据阵列I几乎没有差别,所以提取者不知道嵌入的信息是什么。图6示出了嵌入信息为未知的数据阵列I′(x,y)的状态。每个阵列元素a′xy可能按照隐藏规则被操作,也可能没有被操作。此外,对于上述信息(b),(c)和(d),如果它们已经存入了一个提取系统,如DVD放映机的半导体存储器中,则提取者就没有必要在每次试图提取时输入这些信息。在这种情况下,只输入嵌入了信息的数据阵列I′就足以进行提取了。在下面的描述中,假定信息(b)和(c)是已知的,按照下面的规则提取信息(d)。统计判断值D和可靠间距K将在后面进行描述。(提取规则)</tables>为提取该信息,根据已知的信息(b)和(c),识别存在于得到的数据阵列I′中的(n)个隐藏区(n≤N)。每个隐藏区的位置和大小用参考位置(x,y)和一个位移量(i,j)标识,其中参考位置是该隐藏区的参考位置,位移量表明该隐藏区的大小(参照图4)。每个隐藏区用I′(x+i,y+j)表示。由于(n)应足以出现统计特性,所以此处假设它与嵌入过程中设定的N(=19200)一样。然后,如下式所示,通过计算一个隐藏区I′(x+i,y+j)与图3所示的模板阵列的积得到一个块值F(x,y)(标量值)。F(x,y)=&Sigma;i,jI&prime;(x+i,y+j)*P(i,j)]]>图7说明了位于屏幕左上角(图4中的隐藏区21a)的隐藏区I′(1+i,1+j)的块值F(1,1)。通过求出隐藏区中每个阵列元素值与位置相应于该元素的模板阵列值的乘积,再对各个乘积求和来得到块值F(1,1)。在图中,“+”表示一个正单位值,而“-”表示一个负单位值。通过确定(n)个隐藏区的积求出(n)个块值。然后,如下式所示,通过确定(n)个块值F(x,y)的平均值求出一个作为信息提取索引的统计判断值D。统计判断值D用于根据统计特性判断模板阵列是否被卷积到数据阵列中,如果已被卷积,则在该状态下应用了模板阵列。D=1N&Sigma;x,yF(x,y)]]>首先,当模板阵列P没有被卷积,即数据阵列I′就是数据阵列I本身时,期望统计判断值D收敛于0。此时,式6变为式7[式7]D=1N&Sigma;x,yF(x,y)]]>=1N&Sigma;x,y&Sigma;i,jI&prime;(x+i,y+j)&times;P(i,j)]]>=1N&Sigma;x,y&Sigma;i,jI(x+i,y+j)&times;P(i,j)]]>→0此处,原始数据阵列I中的每个阵列元素可以取不同的值(象素值的取值范围为0到256)。此外,正和负单位值的总和为零,且正和负单位值是均匀分布的。因此,如果原始数据阵列I(x,y)和模板阵列P(i,j)中的排列无关联,就期望作为它们(块值F)的卷积平均值的统计判断值D为零。即,由于模板阵列中的正单位值“+1”和负单位值“-1”的总和为零,所以能够通过求出在数量上足以出现统计特性的块值F(x,y),并求出其平均值使统计判断值D收敛于0。但是,当根据模板阵列,隐藏区象后面所述的那样被卷积时,统计判断值不能收敛于零。因为在判断值收敛于零时,它将判断为在没有嵌入模板阵列时出现的现象而依据提取规则提取出信息“允许复制图象数据(无限制)”。然后,当模板阵列P没有被卷积时,用于求出统计判断值D的式6变为D=1N&Sigma;x,yF(x,y)]]>=1N&Sigma;x,y&Sigma;i,jI&prime;(x+i,y+j)&times;P(i,j)]]>=1N&Sigma;x,y&Sigma;i,j(I(x+i,y+j)+P(i,j))&times;P(i,j)]]>=1N&Sigma;x,y&Sigma;i,j(I(x+i,y+j)&times;P(i,j)+P(i,j))]]>→K在此式中,右边第一项如式7所述的那样为0。此外,右边第二项由于是模板阵列P本身的卷积而成为一个常数。此时,它为单位值(正和负单位值)的元素数K。此后称元素数K为可靠间距。由于图3所示的模板阵列具有4个正单位值“+1”和4个负单位值“-1”,所以可靠间距K是一个常数8(K=((+1)*(+1))*4+((-1)*(-1))*4=8)。由于可靠间距K本质上并不依赖于数据阵列或(n)个隐藏区中的阵列元素值,所以其平均值也就是可靠间距K本身。因此,判断值D为K的情况是模板阵列被自身卷积(没有使其单位值进行正、负符号的反向)时的唯一情况,从而依据提取规则提取出信息“禁止复制图象数据”。此外,当模板阵列P被反向及卷积时,根据式4,用于求出统计判断值D的式6变为[式9]嵌入模式D=1N&Sigma;x,yF(x,y)]]>=1N&Sigma;x,y&Sigma;i,jI&prime;(x+i,y+j)&times;P(i,j)]]>=1N&Sigma;x,y&Sigma;i,j(I(x+i,y+j)+P(i,j))&times;P(i,j)]]>=1N&Sigma;x,y&Sigma;i,jI(x+i,y+j)&times;P(i,j)-K]]>→-K如此式所示,由于模板阵列被反向并卷积,所以统计判断值D为-K。因此,判断值D收敛于-K是在模板阵列被反向并卷积(即单位值的正、负符号被反向)时出现的唯一情况,从而依据提取规则提取出信息“允许复制图象数据(仅一次)”。如上所述,通过根据在数量上出现统计特性的块值F(x,y)的平均值而求出统计判断值D,能够判断是否嵌入了模板阵列。特别是,通过提供0与可靠间距K之间和0与可靠间距-K之间的适当临界值,并比较用建立的临界值计算出的统计判断值D,能够标识所嵌入的信息。(5)统计判断值D和可靠间距K根据从(N)个存在于图象中的隐藏区计算出的(N)个块值F(x,y)得出整个图象数据的一个直方图。即,产生(N)个块值的频率分布。据此计算出它们的均值(average)μ1和标准差(standarddeviation)σ1。通过用图3所示的模板阵列中的阵列元素数(16)去除每个块值来使每个块值F(x,y)标准化。当象素值处于0至256的范围之内时,标准化的块值F(x,y)分布在-64至+64的范围之内。其中,如果使用了在数量上足以出现统计特性的样本,则期望块值F(x,y)≤0的均值μ1=0或它变为0。当(n)个块值(n≤N)是从块值F(x,y)中随机选定的时,应该知道所有选择的均值μn和标准差σn如下所示[式10]μn=μ1σn=σ1/√n因此,通过均值μ1和标准差σ1/√n能够估计统计判断值D=1/n*∑F的分布。当模板阵列没有被卷积时,统计判断值D的频率分布如图8所示。其中,如果可靠间距K在没有嵌入模板阵列时被建立在一个足以从分布中心(均值)移去的值上或为零,则在嵌入模板阵列说求出的分布中心(可靠间距K,-K)是在概率上的唯一现象。尽管可靠间距K被描述为一个在卷积了模式值时的值,但更一般地,它被看成是一个每单位隐藏区操作量的平均值(绝对值)。那么,根据图3所示的阵列模式操作隐藏区就意味着总共对单位隐藏区中的16个阵列元素值操作8次。通过确定提供了足够的可靠间距K的每单位隐藏区的操作量,能够确认提取信息的可靠性。如果,例如K=6*σ是每单位隐藏区的操作量的临界值,则它意味着每单位隐藏区6*σ,从而对于整个隐藏区来说为6*σ*n。在640*480个象素大小的图象数据中,被模板阵列的大小(例如8*8)除的每个象素的标准差大约变为σ1=6。因此,由于在n=4900时σn为0.09,所以在理论上足以将每个象素值改变大约K=6*σ=0.6。由于此处所用的模板阵列的一半阵列元素值为0,所以为每个象素足以提供1.0至2.0的操作量。由于对一个象素所加的量非常小,所以即使向每个隐藏区提供这样的加法,虽然没有注意到图象质量的变异,也能高可靠性地提取出模板阵列。可靠间距K设定为多少也取决于图象的特征。因为一个显示“日落时的一队鸟”的图象与一个显示“森林中的一只虎”的图象具有不同的特征,所以有必要改变可靠间距K。因此,最好在测定嵌入图象时根据各自特征适用于每个σ、n的同时设定可靠间距K。如果可靠间距K设定得太长,则会增加每单位隐藏区的操作量而导致图象质量的变异。因此,适当设定既满足用于判断嵌入信息的可靠性,又满足抑制图象质量变异的可靠间距K是很重要的。由于可靠间距K是每单位隐藏区的操作量的平均值,所以只要对(N)个隐藏区的操作量的总和是一个常数,每个隐藏区所要加的值的大小就可能改变。即,可以允许将是正和负单位值的2倍的值“+2”和“-2”加到一个隐藏区中,而将是正和负单位值的3倍的值“+3”和“-3”加到另一个隐藏区中。此外,只要对(N)个隐藏区的操作量的总和是一个常数,构成同一隐藏区的每个阵列元素所要加的值的大小就可能改变。但是,此时保持模板阵列所具有的每个单位值的符号关系是很重要的。这将根据图5进行说明。“+2”可以被加到相应于正单位值“+1”的4个阵列元素a11,a42,a33和a24上,而不能加上与单位值符号相反的“-2”。即,模板阵列中的单位值的符号意味着正单位值表明应当将一个正值(尽管其值是任意的)加到相应于阵列元素的值上,负单位值表明应当将一个负值加到相应于阵列元素的值上。因此,式3和4展开为[式11]I′(x+i,y+j)=I(x+i,y+j)±αP(i,j)α自然数如所述,通过改变加数值的大小,可以进一步抑制图象质量的变异。例如,一个象可通过肉眼观察到的图象边沿那样的区域就需要较小的操作量。另一方面,也存在即使加上一个较大的值,也几乎看不到其变化的区域。因此,最好通过为敏感区域适当选择一个较小的值和为非敏感区域适当选择一个较大的值来使所有(N)个隐藏区的总操作量保持在一个常数。(6)抵抗信号处理下面是关于抵抗用于嵌入信息的各种不同的信号处理的说明。图9示出了在没有提供信息处理的情况下,执行处理或不带有模板阵列时所得到的统计判断值D。它示出了图象上没有卷积模板阵列时以及模板阵列被卷积以使可靠间距K至少大于8时所得到的统计判断值D。横轴上的100个样本彼此不同,并且它们的大小为640*480。此外,所用的模板阵列为图10所示的8*8模式。这个模板阵列具有2*2个正单位值,2*2个负单位值以及均匀分布的0值。此外,利用每个图象的σ对纵轴上的统计判断值标准化。在不执行处理时,这些统计判断值集中在0附近,而在执行处理时,这些统计判断值则集中在可靠间距+8附近。因此,无论是否嵌入了模板阵列,均可以高可靠性进行判断。图11示出了在图9所用的每个样本图象上执行JPEG压缩时所得到的统计判断值。尽管在以模板阵列执行处理时,用于这些统计判断值D的可靠间距稍小于+8.0,但是可以发现通过将用于判断是否嵌入了模板阵列的临界值设定在+4.0周围,就可以足够的可靠性来判断这些判断值。图12示出了在图9所用的每个样本图象上执行求均操作时所得到的统计判断值。在一个在嵌入操作后被压缩到3/4,然后被扩展到4/3的图象上执行图象检测。尽管用于这些统计判断值D的可靠间距稍小于+8.0,但是可以发现通过将临界值设定在+4.0周围,就可以足够的可靠性来提取信息。图13示出了执行MPEG2操作时所得到的统计判断值。这些统计判断值是通过在将信息嵌入到作为样本的连续交错的150帧中之后执行压缩而得到的。1帧为720*480。尽管从由不同的(differential)信息构成的B帧得到的统计判断值(在执行模式处理时)稍小于I和P帧的统计判断值,但是可以发现通过将临界值设定在+4.0周围,就可以足够的可靠性来提取信息。从上述结果可知,通过利用此算法嵌入的信息具有足够的抵抗各种通常在数字信息上执行的信号处理的能力。而上述说明适用于一个信息被嵌入到一帧中,一个信息被嵌入到多个帧中的情况。例如,设定一帧有100个隐藏区,且一个信息可被嵌入到10帧的隐藏区中(1000个隐藏区)。准备多少个隐藏区主要依赖于模板阵列的大小和设定的可靠间距K的值。当模板阵列的大小增加时,可以确信可靠间距小于对单个象素值的操作量。但是,所准备的隐藏区则超过了多个帧。因此,非常重要的一点是一个最佳可靠间距K的设定取决于多种因素。从而此算法确定了数据阵列中在数量上足以出现统计特性的隐藏区,并在其上按照隐藏规则执行了一个模板阵列的卷积或相应于阵列元素值的加法操作。在提取过程中,根据得到的数据阵列中的隐藏区与模板阵列的权重之间的平均值,执行检查过程。由于该平均值随着由统计特征导致的卷积状态而改变,所以这个值能够检测出模板阵列是否被卷积。通过参照相应于隐藏规则的提取规则,根据这个值可以识别嵌入的信息。下面描述一种利用了上述方法的DVD-ROM数据隐藏系统。图14是用于将数据记录到一个记录媒体中的过程。按照下述过程将诸如图象、声音或软件之类的数据记录到一个DVD-ROM媒体中。通过模/数转换器将模拟数据转换为数字数据(步骤11)。利用如MPEG(移动图形专家组)来压缩数字数据(步骤12)。为了记录在DVD-ROM媒体上,压缩后的数据被进一步编码和加密(步骤13),并调制(步骤14)。在这个例子中,在控制信息被压缩之前、之后或压缩过程中,数据被记录到DVD-ROM中。控制信息是为了在一个系统访问该数据时限制对存在DVD-ROM中的数据的访问。系统在这个控制信息的控制之下。依据本发明的数据隐藏技术执行控制信息的嵌入。即,此系统包括用于存储一个数据阵列的第一存储器,和一个用于存储一个模板阵列的第二存储器,该模板阵列由多个阵列元素构成,该模板阵列至少具有一个正单位值和一个负单位值,并且正负单位值的总和为零。此外,它还包括一个用于指定在数据阵列中嵌入了特定信息的隐藏区的个数(N)的单元,每个隐藏区的大小与模板阵列的大小相对应。而且,它包括一个用于通过参照一个提供了信息含义与模板阵列的应用之间的对应的隐藏规则,确定相应于所指定的(N)个隐藏区中的一个的正或负单位值的相应位置的每个阵列元素的操作量,以及用于加上所确定的对相应于隐藏区的每个阵列元素的操作量的操作单元。这样的系统能够将特定信息嵌入到(N)个隐藏区中。控制信息就是以这种方式被嵌入。按照下述过程访问记录在DVD-ROM中的数据。首先,从DVD-ROM中读出数据。如结合图1所示,读出的数据是通过对嵌入了控制信息的数据进行MPEG压缩(步骤11)、编码和加密(步骤12)以及调制(步骤14)而得到的一个信号。图15是一个用于控制数据访问的过程。首先,嵌入了信息的数据被提供给一个存取系统。数据源是,例如象DVD-ROM或CD-R这样的记录媒体,象互连网或卫星广播这样的通信网。提供的数据被解调(步骤41)和解码(步骤42)。如果该数据经MPEG压缩,则被解压缩(步骤43)。嵌入在该数据中的控制信息被提取,如果需要,修改其内容,并仅将必要的修改内容再次嵌入到该数据中。一个用于从输入到记录装置中的数据中提取控制信息的电路,包括(a)一个用于指定在数据阵列中嵌入了信息的隐藏区的个数(n)的电路,这个个数(n)足以出现统计特性,隐藏区的大小与模板阵列的大小相应,模板阵列具有多个阵列元素,且至少具有一个正单位值和一个负单位值,并且正负单位值的总和为零;(b)一个用于通过将模板阵列卷积到(n)个隐藏区中的每一个隐藏区来计算一个块值,并从(n)个块值的和中得到一个统计判断值的电路;以及(c)一个用于通过参照一个提供了统计判断值与将被提取的信息含义间的对应关系的提取规则,按照统计判断值判断嵌入的信息的电路。首先,从读出的数据中指定一个嵌入了控制信息的隐藏区。然后,参照使隐藏区的状态和将要提取的数据内容相连系的提取规则,按照隐藏区的状态提取该控制信息。图16是存储在一个DVD-ROM中的数据的重放系统的方框图。一个安装在数据提供部61中的DVD-ROM51存储应用上述数据隐藏技术嵌入了控制信息的数据。该数据被一个位于数据提供部61中的读取器52读出,并由一个解调器53、一个解密单元54以及一个MPEG解码器55进行处理,解调器53、解密单元54和MPEG解码器55共同构成了一个信号处理系统62。从而,得到了解压缩的数字数据。一个控制信息提取器56根据MPEG解码器55的输出,即解压缩的数字数据(或直接根据MPEG数据)识别一个嵌入了控制信息的隐藏区,并参照使隐藏区的状态和将要提取的数据内容相连系的提取规则,按照隐藏区的状态提取该控制信息。(此处应注意只能在MPEG解压缩之前或之后提取该控制信息。)信号处理系统62中的D/A转换器57对提取出了控制信息的数字数据进行模拟转换,并输出一个模拟重放信号(例如NTSC)。此外,通过输出部63中的一个开关59,选择性地将由干扰信号发生器60(例如APS或大电视信号等的模拟保护系统)产生的一个干扰信号叠加到模拟重放信号上。开关59由来自一个控制信息提取器56的控制信号控制。输出部63输出该模拟重放信号或一个叠加信号,作为一个模拟输出信号。在此系统中,当由控制信息提取器56提取的控制信息允许数据复制时,该控制信息提取器56输出一个断开开关59的控制信号。在这种情况下,干扰信号没有被叠加到模拟重放信号上,且输出该模拟重放信号。另一方面,当控制信息禁止数据复制时,该控制信息提取器56输出一个接通开关59的控制信号。在这种情况下,输出信号是一个来自D/A转换器57的、叠加了由干扰信号发生器60产生的干扰信号的模拟信号。假设根据叠加了干扰信号的信号,在显示器上放映一个电影时,由于显示器的特性而能够在显示器上进行正常放映而没有干扰信号的影响。但是,在假设利用一个具有模拟输入端的数字VTR录制该电影时,干扰信号会产生影响,且该电影不能被正常录制。因此,根据叠加了干扰信号的信号能够再现该电影,但该电影不能被数字化或被录制,从而有效地防止了数据复制。而且,除基本控制信息之外,也可以采用附加的信息来更好地控制复制和重放。这使得能够容易地达到灵活控制录制/重放媒体类型(ROM,RAM或R型)的目的。显然,上述控制信息并不仅限于用于限制复制的信息,也可以应用到各种用于控制一个系统的控制信息中。例如,在不偏离本发明构思的前提下,它适用于包括了限制设备访问、限制用户访问、数据的可用期及信息鉴别等在内的其他控制信息。权利要求1.一种用于将信息嵌入一个数据阵列的数据隐藏方法,该数据阵列由多个阵列元素构成,该方法包括步骤(a)准备一个具有多个阵列元素的模板阵列,该模板阵列具有至少一个正单位值和一个负单位值,并且正负单位值的总和为零;(b)指定该数据阵列中的隐藏区的数量(N),隐藏区的大小与模板阵列的大小相应;(c)通过参照一个提供了信息含义与模板阵列在隐藏区上的应用之间的对应的隐藏规则,对每一个所述隐藏区,根据位置相应的正或负单位值确定每个阵列元素的操作量;(d)将所确定的操作量加至所述隐藏区的每个阵列元素;以及(e)对所述(N)个隐藏区执行步骤(c)到(d),使得信息被嵌入(N)个隐藏区中。2.一种用于提取嵌入到一个数据阵列中的信息的方法,该数据阵列由多个阵列元素构成,该方法包括步骤(a)指定在数据阵列中嵌入了信息的隐藏区的个数(n),这个个数(n)足以体现统计特性,隐藏区的大小与一个模板阵列的大小相应,该模板阵列具有多个阵列元素,且具有至少一个正单位值和一个负单位值,并且正负单位值的总和为零;(b)对于所述(n)个隐藏区中的每一个隐藏区通过将模板阵列卷积到所述隐藏区计算一个块值,并从(n)个块值的和中得到一个统计判断值;以及(c)通过参照一个提供了统计判断值与将被提取的信息含义间的对应关系的提取规则,按照统计判断值提取嵌入的信息。3.一种用于将信息嵌入一个数据阵列的数据隐藏系统,该数据阵列由多个阵列元素构成,该系统包括(a)一个用于准备一个具有多个阵列元素的模板阵列的单元,该模板阵列至少具有一个正单位值和一个负单位值,并且正负单位值的总和为零;(b)一个用于指定该数据阵列中的隐藏区的数量(N)的单元,所述隐藏区的大小与模板阵列的大小相应;(c)一个用于通过参照一个提供了信息含义与模板阵列在隐藏区上的应用之间的对应的隐藏规则,对每一个所述隐藏区,根据位置相应的正或负单位值确定每个阵列元素的操作量的单元;(d)一个用于将所确定的操作量加至所述隐藏区的每个阵列元素的单元;以及(e)一个用于根据隐藏区的个数(N)操作单元(c)到(d),使得信息被嵌入(N)个隐藏区中的单元。4.一种用于提取嵌入到一个数据阵列中的信息的系统,该数据阵列由多个阵列元素构成,该系统包括(a)一个用于指定在数据阵列中嵌入了信息的隐藏区的个数(n)的单元,所述隐藏区的大小与一个模板阵列的大小相应,该模板阵列具有多个阵列元素,且至少具有一个正单位值和一个负单位值,并且正负单位值的总和为零;(b)一个用于通过将模板阵列卷积到(n)个隐藏区中的每一个隐藏区来分别计算一个块值,并从(n)个块值的和中得到一个统计判断值的单元;以及(c)一个用于通过参照一个提供了统计判断值与将被提取的信息含义间的对应关系的提取规则,按照统计判断值提取被嵌入的信息的单元。5.一种用于将信息嵌入数据的系统,该信息控制对所述数据的存取,所述数据由多个阵列元素构成,该系统包括(a)一个用于准备要被嵌入的控制信息的单元;(b)一个用于准备一个具有多个阵列元素的模板阵列的单元,该模板阵列至少具有一个正单位值和一个负单位值,并且正负单位值的总和为零;(c)一个用于指定嵌入了所述控制信息的数据阵列中的隐藏区的数量(N)的单元,所述隐藏区的大小与模板阵列的大小相应;(d)一个用于通过参照一个提供了控制信息含义与模板阵列在隐藏区上的应用之间的对应关系的隐藏规则,对每一个所述隐藏区根据位置相应的正或负单位值确定每个阵列元素的操作量的单元;(e)一个用于对于所述隐藏区将所述操作量加至每个阵列元素值的单元;以及(f)一个用于根据隐藏区的个数(N)操作单元(c)到(d),使得信息被嵌入(N)个隐藏区中的单元。6.一种用于从数据中提取被嵌入的控制信息,并控制对所述数据的存取的系统,所述数据由多个阵列元素构成,该系统包括(a)一个用于指定在数据阵列中嵌入了信息的隐藏区的个数(n)的单元,所述隐藏区的大小与模板阵列的大小相应,模板阵列具有多个阵列元素,且至少具有一个正单位值和一个负单位值,并且正负单位值的总和为零;(b)一个用于通过将模板阵列卷积到(n)个隐藏区中的每一个隐藏区来分别计算一个块值,并从(n)个块值的和中得到一个统计判断值的单元;(c)一个用于通过参照一个提供了统计判断值与将被提取的控制信息含义间的对应关系的提取规则,按照统计判断值提取被嵌入的控制信息的单元;以及(d)一个用于根据被提取的控制信息,控制对所述数据的存取的单元。全文摘要一种用于信息嵌入到一个媒体阵列中的数据隐藏方法,包括步骤:准备一个具有多个阵列元素的模板阵列,该模板阵列至少具有一个正单位值和一个负单位值,并且正负单位值的总和为零;指定该媒体阵列中的隐藏区的数量(N),隐藏区的大小与模板阵列的大小相应;根据相应位置的正或负单位值确定每个阵列元素的操作量;加上所确定的对相应于隐藏区的每个阵列元素的操作量;以及根据隐藏区的个数(N)执行步骤(c)到(d),使得信息被嵌入(N)个隐藏区中。文档编号H04N7/08GK1197243SQ9712538公开日1998年10月28日申请日期1997年12月10日优先权日1996年12月25日发明者清水周一申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1