保护dsp算法的制作方法

文档序号:6552958阅读:247来源:国知局
专利名称:保护dsp算法的制作方法
技术领域
本发明涉及保护数字信号处理函数的软件实现的方法。本发明还涉及用于使处理器执行数字信号处理函数的计算机程序产品和用于执行所述软件的处理器。
背景技术
诸如电视、机顶盒、记录装置、MP3播放器等消费电子装置和计算机装置的装置的很多功能都是通过装载了执行特定信号处理函数的程序的处理器执行的。典型地,所述处理器可以是数字信号处理器(DSP),但是也可以是ARM处理器等微控制器或者PC等当中采用的通用处理器。所述信号处理函数包括滤波、编码/解码、压缩、解压等。确定和实现这些函数需要大量的工作和受到高度培训的人。因此,希望对这些工作予以保护。这些函数的软件实现的版权保护只能起到有限的作用。在实际系统中,往往只采用信号处理函数库的某些部分,并将其与特定应用软件结合。这导致了难以确定某一函数的核心方面是否遭到了拷贝。例如,采用数字签名对整个软件模块打上水印是一种已知的做法。但是,这样的技术无法针对从所述模块“拷贝”某项函数(例如滤波器)的人提供保护。当在特定的许可条件下能够获得源代码时,或者通过反向工程获得了源代码时,就可能存在这样的拷贝。

发明内容
本发明的目的在于提供一种保护信号处理函数的软件实现中包含的技术内容的方法。另一目的在于提供一种受保护的具有信号处理函数的软件和采用所述软件的处理器。
为了实现本发明的目的,一种保护具有数字信号处理函数的软件实现的方法包括选择信号处理函数所采用的和/或用于设计信号处理函数的参数的子集;以及在所选的参数内嵌入水印。
本发明人发现能够对信号处理函数的参数打水印。典型地,以超过足以运行所述算法的最低需求的位数,采用存储单元存储信号处理函数的参数。这为采用水印扰动所述参数提供了空间。带有水印的参数可以是信号处理函数实际采用的参数。带有水印的参数也可以是信号处理函数的设计参数,例如,影响所述函数的设计的参数。在这种情况下,所述设计参数优选也存在于实际的信号处理函数中(简化对侵权的检测)。或者,所述设计参数影响实际信号处理函数中存在的一个或多个其他参数。
给参数打上水印能够实现对拷贝的检测,即使没有盗用整个软件模块亦如此。其还能够探测到对实际代码的部分进行了重新编程但是拷贝了所述参数的情况。优选选择代表独有的技术(即尚未被公众所知的技术)的参数。
根据从属权利要求2的措施,所选的参数是信号处理函数所采用的参数,选择参数子集的步骤包括选择能够在基本不影响信号处理函数的质量的情况下对其加以扰动的参数。所述方法还包括在所选的能够在基本不影响信号处理函数的质量的情况下加以扰动的参数中选择一些最低有效位;以及将水印嵌入到在所选参数中选择的最低有效位中。
典型地,以超过足以运行所述算法的最低需求的位数,采用存储单元存储信号处理函数的参数。通常可以在不改变所述信号处理函数的可觉察行为的情况下改变这些参数的一些量化位(最低有效位,least significant bits)。之后,选择所述参数中的一个或多个,并在能够改变的某些(或全部)位单元内嵌入水印。这使得第三方能够对这些参数的再次使用进行检测。所述水印可以是固定的,并且可以通过任何适当的方式与在所选参数中选出的最低有效位组合(通过逐位XOR运算)。通过这种方式嵌入水印是一种能够在不影响信号处理函数的质量的情况下保护的参数的简单方法。可以在对所述函数进行充分设计之后,基于所述信号处理函数的编程代码执行所述嵌入。
根据从属权利要求3的措施,所述方法包括根据具有嵌入的水印的所选参数设计信号处理函数。在该实施例中,首先嵌入水印,之后针对具有嵌入的水印的参数设计(例如,优化)所述函数。通过这种方式,重新设计的函数能够补充由水印导致的扰动。这样可以实现保持更高的函数质量和/或允许将更多的位用于水印,因为通过重新设计(部分)补偿了水印的影响。还应当注意,在这种方法中,更加难以去除水印。在根据权利要求2所述的实施例中,可以通过简单地去除所包含的最低有效位(例如截取参数)而去除水印。在根据权利要求3所述的实施例中,通常能够将更多的位用于水印,并且要想通过截取充分去除水印就必将影响质量。
所选的参数优选也存在于所述函数自身当中(即所述参数是所述函数采用的参数)。倘若如此,侵权检测就会变得简明。如果需要,所述参数可以是决定/影响所述函数采用的其他参数的设计参数。在后一类别的参数内嵌入水印仍然会影响其他参数,因为所述水印可能不会直观地处于这些参数内。因而证明侵权也更加困难。
根据从属权利要求4所述的措施,基于所选的参数动态确定水印。应当认识到,可以采用所有的这些位或仅采用从其中选出的位作为生成水印的算法的输入。可以采用任何适当的水印技术。动态确定的水印更加难以破解,如果破解了,也将只影响恰恰具有相同的所述参数的程序部分。
根据从属权利要求5所述的措施,在所选的参数上计算数字签名。所述签名替换了在所选参数中选择的位。这是一种简单、可靠的技术。
根据从属权利要求6所述的措施,在所述参数的所有位上计算所述签名。通过这种方式,能够取得足够的熵,以获得可靠的水印。
根据从属权利要求7所述的措施,嵌入水印包括通过所生成的签名中的相应的位替换在所选参数中选出的最低有效位。这是一种简单的嵌入水印的方式。
根据从属权利要求8所述的措施,使所选参数中未选的位保持不变。通过这种方式,更易于检测采用水印进行过修改的实际参数。如果第三方明显改动了非法拷贝的程序的结构并且可能还改变了某些最低有效位(但不是所有的位)以掩盖其拷贝的事实,那么这种方式尤为有效。
从属权利要求9描述了用于添加水印的良好的候选参数。
根据从属权利要求10所述的措施,改变函数逼近的边界点。通常通过将整个区间划分为子区间并采用逐子区间的良好逼近而从数值上逼近所述函数。在将所述区间划分为子区间的边界点的选择方面存在一定的容限。因而其是采用水印加以改变的良好的候选项。


通过下文所述的实施例以及参考其做出的阐释,本发明的这些和其他方面将变得显而易见。
在附图中图1A和B示出了其中可以采用本发明的系统的方框图;图2A和B示出了根据本发明的方法的流程图;图3示出了所述方法的另一实施例;图4示出了形成由确定水印的位构成的块;以及图5示出了函数逼近。
具体实施例方式
图1A和1B示出了其中可以采用本发明的系统的方框图。所述系统包括处理数字信号的装置160。所述信号优选是带有技术特征的信号,例如音频信号(包括语音)、视频信号(包括图形)和表示压强、温度、电流、电压等物理量的其他信号。装置160采用处理器150处理此类信号。处理器150可以是任何适当类型的处理器,例如最适合处理信号流的数字信号处理器(DSP),但是其也可以是诸如ARM处理器的微控制器或在PC等当中采用的通用处理器。由处理器150执行的信号处理函数可以包括但不限于滤波、编码/译码、压缩/解压等。装置160还包括存储处理器150执行的程序的指令的程序存储器140。可以采用包括ROM、RAM、闪速存储器等的任何适当的程序存储器。程序存储器140可以与处理器150独立或嵌入其内。装置160可以是任何类型的执行信号处理函数的装置,其包括但不限于处理音频和/或视频的消费电子装置或个人计算机,或者控制化学过程等工业过程的装置。
所述系统还包括执行根据本发明的方法的装置100。在下文中将参考图2A和2B对所述方法予以更为详细的说明。装置100能够(通常以软件的形式)产生信号处理函数,其中,向信号处理函数的参数内嵌入了水印(watermark)。出于这一目的,装置100包括用于选择信号处理函数的参数的子集的机构110和用于向所选的参数内嵌入水印的机构114。可以通过两种方式采用本发明,其取决于嵌入水印发生在所述函数的设计之前还是之后。图1A和2A示出了在设计了所述信号处理函数之后添加水印的情况。在本文中,“设计所述函数之后”是指已经完成了对所述函数的充分设计(即,相对于本发明预先确定的),或者,即便不是这样,对所述函数的任何修改都不会影响所选的参数(即,所述函数相对于所选的参数是预先确定的,但是相对于其他参数仍然是可重新设计/修改的)。
可以以任何适当的方式实现装置100。优选在诸如工作站或个人计算机的计算机上实现装置100,其中,处理器在适当程序的控制下执行所描述的函数。因而,装载了所述程序的处理器可以执行机构110、112和114的任何或全部函数。可以从诸如硬盘的存储器120内检索所述参数。例如,可以由设计所述信号处理函数的人单独存储所述参数,也可以将所述参数嵌入到所述信号处理函数中。在后一种情况下,机构110和/或112不得不从所述函数中检索所述参数。所述函数的设计者优选提供了能够实现检索的信息(例如,以确认适当参数的寻址信息的形式)。可以以任何适当的方式,例如在存储介质130上或通过Internet提供带有嵌入的水印的信号处理函数,从而使之能够存储在程序存储器140中(例如,由装置160的制造者执行)。
除此之外,用于嵌入水印的适当参数可以是表示下述内容的参数数字信号滤波器的系数;
阈值;代价函数中的代价;函数逼近的系数;或者数字图形的逼近的控制点。
本领域技术人员能够容易地选择所述数字信号处理函数中的其他适当的参数。
所述系统还包括用于检查装置160是否使用了具有嵌入的水印的信号处理函数的装置170。可以以任何适当的方式执行所述检查。例如,可以将使用所述函数的实际装置的程序存储器140中的参数与装置100产生的参数之间直接比较。
在图1A和2A所示的第一实施例中,所述参数已经以将在信号处理函数的设计过程中得到使用的形式存在了。可能并不是所有的这些参数都适于加水印。出于这一目的,机构110选择那些能够在基本不影响信号处理函数的质量的情况下加以扰动的参数。实际上,系统的设计者可以编辑一个能够修改的参数列表。适当的候选参数是那些具有与函数的运行不相关的至少一个最低有效位的参数。装置100还包括机构112,其在所述的能够在基本不影响信号处理函数的质量的情况下加以扰动的所选参数内选择若干最低有效位。与上文所述类似,设计者可以指出每一参数中不能受到水印影响的最为重要的位的最低数量。之后向机构112提供可以从存储参数的目标平台上获得的所述位数(例如32位或64位),并且机构112能够基于这一信息选择所述目标平台可用的最低有效位的数量。在实践中,可以采用针对不同参数宽度的DSP/微控制器。某些处理器甚至支持各种不同的格式。对于定点参数而言,典型的格式是16、20、24或32位,对于浮点参数,典型的格式是32、64或80。
装置100采用机构114在所选参数中选出的最低有效位中嵌入水印。
图2A示出了根据本发明的保护数字信号处理函数的软件实现的方法的第一实施例的细节。所述方法包括选择步骤210,能够在基本不影响信号处理函数的质量的情况下对其加以扰动的信号处理函数的参数的子集。如上所述,所述函数的设计者可以已经执行了对适当参数的预先选择。在这种情况下,所述选择步骤可以简单地涉及选用所有预选择参数或在预选择参数内做进一步的选择。所选的参数是那些能够对其做出一定程度的改变而不影响信号处理函数的可察觉性态的参数(例如,一些落在量化水平之下的最低有效位)。在步骤220中,在所选参数中选择一些能够在基本不影响信号处理函数的质量的情况下加以扰动的最低有效位(这也包括可以对效果进行补偿的情况)。在将要对n位进行“嵌入水印”的情况下,所选择的位优选是n个最低有效位。但是,也可以对最低有效位进行选择,并将所述选择看作水印的一部分。例如,如果可以在不影响质量的情况下对m位加以改变(m>n),那么可以在(例如)密钥的控制下从所述m位中伪随机地选择n位。可以以任何适当的方式,例如模拟、理论分析等确定可以加以扰动的位数。
在步骤230中,将水印嵌入到在所选参数中选择的最低有效位中。所述水印可以是固定的、预定水印。也可以动态创建水印,在下文中将对其予以更为详细的说明。可以通过任何适当的方式嵌入水印。例如,可以通过逐位XOR运算将水印与在所选参数中选定的最低有效位组合。所述水印还可以简单地替换这些位(覆盖)。或者,可以在密钥的控制下对在所选参数中选出的最低有效位加密,其中,所述水印为密钥。在实施例中,并不是对所有能够修改的位都进行实际修改;以未修改的形式保留一个或多个所述位。这使得当所述参数在装置160中变得混合/混乱,从而使确认软件的非法使用更加困难的情况下,装置170能够更容易地在160中对所述参数定位。如果某些位未被修改,那么装置170能够基于这些位进行搜索。一个额外的优点在于可以将其视作更强有力的司法程序证据。
在图1B和图2B所示的第二实施例中,采用机构110选择用于设计所述信号处理函数并且适于加水印的参数。如前所述,设计者可以编辑备选项列表,从所述列表中做选择。由于所述参数是在设计函数之前选择的,因而对可以采用的位数的选择通常就不是那么严格了。仍然采用附图标记112表示选择位的机构。就前述实施例而言,采用机构114在所选的机构内嵌入水印。所述参数可以与前述实施例中描述的相同。但是,也可以采用仅在设计过程中采用的,并且所述函数所采用的参数以其为基础的参数。例如,如果必须设计一种截止频率为12kHz的低通数字滤波器(即输入设计参数为12kHz),那么可以对这一设计参数加水印(例如,得到值为12.1987654kHz的加过水印的参数,其中0.1987654为水印)。这一设计参数自身并不是实际设计的滤波器中存在的参数(即实际滤波器系数)。但是,有可能采用实际滤波器系数,并由这些系数在数值上计算滤波器的截止频率。这样将恢复能够实现拷贝探测的0.1987654水印的大部分。
具体而言,第二实施例意在用于这样一种情况,其中,在可能影响信号处理函数的执行的参数(即位于量化水平之上)内嵌入水印,但是能够对这种影响做出补偿(例如,通过另一参数调整所述函数)。在下文中将针对函数逼近更为详细地描述后一情况的例子。因而,两个实施例的主要区别在于,对于第一实施例,未针对嵌入的水印优化所述信号处理函数(因而,嵌入能够发生在所述函数的设计之后),而对于第二实施例,则针对嵌入的水印优化所述信号处理函数(因而,嵌入发生在所述函数的设计之前)。因此,在图1B中示出了用于设计所述函数的机构116,2B示出了设计所述函数的步骤250。在第二实施例所述的方法中,优选通过设计工具在设计之前或设计过程中添加水印。在这种方式当中,添加水印的过程对所设计(计算)的参数中的很多位(通常为所有的位)造成了影响。因而不易于在保持质量的同时改变所述参数(简单地截取不会完全去除水印)。
在所述方法的优选实施例中(适用于上述的两种实施例),在图3所示的步骤320中,根据与所选参数的相关性动态确定所述水印。可以采用很多类型的相关性。例如,所述水印可以取决于所有选定参数的所有位,所述水印可以只取决于所选参数中的选定位,所述水印可以只取决于所选参数中的未选定位等。每种方法都具有自身的优点。例如,采用所有位提高了熵。采用未选位的优点在于水印仅取决于未受改变的因而高度可见的位。这可能有助于证明添加了水印的那些参数。采用选定的位的优点在于,在通过水印简单地覆盖这些位的情况下,这些位实际上是贡献给水印的。优选在步骤320中采用密码技术动态计算所述水印。可以采用任何适当的技术。
图3还示出了另一实施例,其中,首先在步骤310中形成位块。这一位块包括每一所选参数的至少一个位。之后,在预定密钥的控制下,通过计算所形成的块的数字签名而完成步骤320中所示的水印的计算。图4A示出了在示范性参数410、420和430中,采用编号为b0到b7的相应8个最低有效位(LSB)形成24位的块440。如上所述,块440同样可以由其他选定位形成。采用参数的连续位能够简明地形成所述块。但是,也可以根据需要做出其他选择,例如在密钥的控制下做伪随机选择。图4B示出了另一实施例,其中,块440基本包括所选的参数410、420和430的所有位。
接下来,将举出一个例子,其中,在25个32位浮点参数内嵌入水印。所述参数被示为五组(filt1、filt2 SECTION1、filt2 SECTION2、filt3 SECTION1、filt3 SECTION2),每组具有五个参数(A0、A1、A2、B1、B2)。在这一例子中,所述参数具有的值为static BIQUAD_Coefs filt1[1*5]={8.93973493820715E-0001f,/*A0*/-1.78794698764143E+0000f,/*A1*/8.93973493820715E-0001f,/*A2*/-1.78791066853493E+000f,/*B1*/8.87983306747928E-0001f/*B2*/};static BIQUAD_Coefs filt2[2*5]={/**SECTION 1 for Floating Point 32-bit IIR library″SS″*/3.08440265117571E-0008f,/*A0*/2.16880542388767E-0008f,/*A1*/3.08440266659157E-0008f,/*A2*/-1.85565557939837E+0000f,/*B1*/8.56229364078828E-0001f/*B2*//**SECTION 2 for Floating Point 32-bit IIR library″SS″*/1.00000000000000E+0000f,/*A0*/
2.99999994169253E+0000f,/*A1*/7.99999992604188E-0001f,/*A2*/-1.88105292049614E+0000f,/*B1*/8.81634156692019E-0001f/*B2*/};static BIQUAD_Coefs filt3[2*5]={/**SECTION 1 for Floating Point 32-bit IIR library″SS″*/3.78857742794282E-0005f,/*A0*/4.57715485588563E-0005f,/*A1*/3.78857742794282E-0005f,/*A2*/-1.89193814821509E+0000f,/*B1*/8.92366735223261E-0001f,/*B2*//**SECTION 2 for Floating Point 32-bit IIR library″SS″*/1.00000000000000E+0000f,/*A0*/-4.00000000000000E+0000f,/*A1*/1.00000000000000E+0000f,/*A2*/-2.99581991517854E+0000f,/*B1*/8.95940882922500E-0001f/*B2*/};在十六进制表示法中,所述32位含有下述值(按组示出)0x3f64db72 0xbfe4db72 0x3f64db72 0xbfe4da42 0x3f6352e00x3304795e 0x32ba4c89 0x3304795e 0xbfed861f 0x3f5b31d90x3f800000 0x40400000 0x3f4ccccd 0xbff0c658 0x3f61b2c70x381ee78a 0x383ffad3 0x381ee78a 0xbff22b07 0x3f6472250x3f800000 0xc0800000 0x3f800000 0xc03fbb83 0x3f655c62在这一例子中,原理上可以替换每一参数的8个最低有效位。采用HMAC(加密消息认证码)对所述25个参数块执行运算,以生成数字签名,由此计算出所述水印。对于HMAC而言采用SHA-1散列函数。采用PHILIPSPDSLLEUVENRIS^A^B^C^D^E^F^G^H作为密钥,其中,^A代表CTRL-A(ASCII码01),^B代表CTRL-B(ASCII码02)……这一函数提供了160位的签名。在这一例子中,在最前面的20个参数的8个最低有效位中插入签名,或在其上分配所述签名。后五个参数未受改变。应当指出它们已经参与了签名的计算。这样给出了下面经修改的系数0x3f64db3c 0xbfe4dbb5 0x3f64dbf8 0xbfe4daf2 0x3f6352df0x33047965 0x32ba4c1f 0x330479bb 0xbfed868a 0x3f5b319e0x3f80002e 0x4040008a 0x3f4ccc34 0xbff0c61d 0x3f51b2d60x381ee7ce 0x383ffa39 0x381ee73b 0xbff22b43 0x3f6472080x3f800000 0xc0800000 0x3f800000 0xc03fbb83 0x3f655c62在根据本发明的实施例中,按照区间的子区间逼近所述信号处理函数,本实施例考虑的参数是相继子区间的边界点。其基于的事实是能够通过几种方式在数值上逼近函数。用来提高对函数的区间逼近的性能和质量的技术之一是将所述区间划分为几个段(连续子区间),并在这些子区间上寻找对函数的最优逼近。将这样的方法称为逐段逼近。“分割点”形成了子区间的边界点。通常区间的分割方式并不是关键性的边界的变化可能对逼近的质量具有小的影响。得益于这种对变化的容许度,有可能在具有分割点的坐标值的最低有效位中嵌入水印,例如,密码安全签名。图5中示出了本实施例,其采用的例子是在分割点为x=1.1的区间
上对函数y=(x)=1+cos(0.5*x)逐段逼近。图5示出了通过二阶多顶式(即,抛物线)逼近两段的情况,其给出的对函数y=f(x)的逐段逼近如下y=1.88634-0.573305*x-0.24336*x2其中x∈
y=2.43188-1.57329*x+0.227149*x2其中x∈[1.1..2]且x=1.1为分割点。
这给出了所述逼近与受到逼近的函数之间的绝对误差的如下最大值maxεleft=0.00956336maxεright=0.00530383将分割点从1.1移动到1.2,同时保持相同的逼近,即采用下述多项式y=1.88634-0.573305*x-0.24336*x2其中x∈
y=2.43188-1.57329*x+0.227149*x2其中x∈[1.2..2]其给出了下述误差值maxεleft=0.0232218maxεright=0.00497099。
采用同样的方式将分割点从1.1移到1.0给出了下述误差值maxεleft=0.00875632maxεright=0.0149952。
从这个例子可以看出,在1.0和1.2之间的任何位置移动边界将带来0.024的最大近似误差增长。如果其基本不影响逼近的质量,那么在所述参数中进行大的改变就是可能的。针对分割点x坐标采用32位(8位用于指数,24位用于尾数)浮点表示给出了下述十六进制编码值1.00x3f8000001.10x3f8ccccd1.20x3f99999a这表明能够通过在基本不改变所述逼近的质量的情况下通过密码安全签名替代尾数中的21位。应当认识到,如果对分割点的位置的敏感度低,那么被认为是“最不重要”的位的数量就大,其中“最不重要”是指可以对其加以改变。
在遵循第二实施例的方法的例子中,要考虑边界移动的事实,并对其加以补偿。优选对函数逼近进行优化,从而通过大区间内分割点的位置改变将这些变化对总体精确度的影响降至最低。将通过下述例子对其加以说明,其中,采用了某人想要在其上移动分割点的区间的附加信息。采用考虑了在
上进行逼近的函数值的多顶式对曲线的左侧部分进行逼近,同时在[1.0..2]上对右侧部分逼近。这给出了区间[1.0..1.2]上的逼近之间的重叠。
这给出了下述新的逐段逼近y=1.88926-0.593899*x-0.22093*x2其中x∈
y=2.37313-1.49926*x+0.204311*x2其中x∈[1.1..2]其具有下述误差特性
maxεleft=0.011674maxεright=0.00699143。
将分割点移动到1.2给出了maxεleft=0.0127175maxεright=0.00699143。
将分割点移动到1.1给出了maxεleft=0.011674maxεright=0.00745122。
预先对逼近条件加以设定提供了差错阈值为0.013而不是0.024的逼近。
本领域技术人员将容易地认识到,就执行周期和存储要求而言,上述方法不会改变处理模块的运行时间行为。
应当意识到,本发明还扩展至计算机程序,具体而言,可以扩展至位于适于将本发明投入使用的载体上或载体内的计算机程序。所述程序可以具有源代码、目标代码、源代码和目标代码之间的经过部分编译的中间代码的形式,或者具有适于在根据本发明的方法的实现当中采用的任何其他形式。所述载体可以是任何能够承载程序的实体或装置。例如,所述载体可以包括存储介质,例如,诸如CD ROM或半导体ROM的ROM,或者诸如软盘或硬盘的磁记录介质。此外,所述载体可以是电或光信号等可传输载体,可以通过电缆、光缆、无线电或其他手段对其传输。当该程序实施为这样的信号时,所述载体可以由此类线缆或者其他装置或手段构成。或者,所述载体可以是嵌入了程序的集成电路,所述集成电路适于执行相关方法或者适于用在相关方法的执行当中。
应当注意,上述实施例的目的在于举例说明而不是限制本发明,而且本领域的技术人员将能够设计出很多替代实施例,而不背离权利要求的范围。在权利要求中,置于括号之间的任何附图标记都不应被视作是对权利要求的限制。动词“包括”及其变形的使用不排除权利要求列举的元件或步骤以外的其他元件或步骤的存在。元件前的冠词“一”、“一个”不排除存在多个此类元件。可以通过包括几种截然不同的元件的硬件以及通过适当编程的计算机实现本发明。在列举了几个机构的装置中,可以通过同一个硬件体现这些机构。在互不相同的从属权利要求中记载某些措施不表示不能将这些措施有利地结合到一起。
权利要求
1.一种保护数字信号处理函数的软件实现的方法;所述方法包括选择所述信号处理函数采用的和/或用于设计所述信号处理函数的参数的子集(210);以及在所选的参数内嵌入水印(230)。
2.根据权利要求1所述的方法,其中,所述的所选参数是所述信号处理函数采用的参数,且所述的选择参数子集的步骤包括选择能够在基本不影响所述信号处理函数的质量的情况下对其加以扰动的参数(210);所述方法还包括从所选的能够在基本不影响所述信号处理函数的质量的情况下对其加以扰动的所述参数当中选择若干最低有效位(220);以及在所述的从所选参数中选出的最低有效位中嵌入所述水印(230)。
3.根据权利要求1所述的方法,其中,所述方法包括根据带有嵌入的水印的所选参数设计所述信号处理函数。
4.根据权利要求1所述的方法,其包括根据所述的所选参数确定所述水印。
5.根据权利要求4所述的方法,其包括形成位块,所述位块包括每一所选参数的至少一个位;通过在预定密钥的控制下计算所形成的块的数字签名而生成所述水印。
6.根据权利要求5所述的方法,其中,所述块基本包括所选参数的所有位。
7.根据权利要求2所述的方法,其中,嵌入所述水印包括由所生成的签名的相应位替换所述的从所选参数中选出的最低有效位。
8.根据权利要求2所述的方法,其中,以未修改的形式保持所述的所选参数的未选择的位。
9.根据权利要求1所述的方法,其中,所述的所选参数表示下述选项之一数字信号滤波器的系数;阈值;代价函数中的代价;函数逼近的系数;或数字图形的逼近的控制点。
10.根据权利要求8所述的方法,其中,按照区间的子区间逼近所述函数,所述函数逼近的所述系数表示相继子区间的边界点。
11.一种包括存储程序的存储器(140)的处理器(150),所述程序用于使所述处理器执行数字信号处理函数,其中,所述数字信号处理函数的至少一个参数嵌入了水印。
12.一种用于使处理器执行数字信号处理函数的计算机程序产品,其中,所述信号处理函数的至少一个参数嵌入了水印。
全文摘要
通过选择信号处理函数的参数的子集(210)并向所选参数内嵌入水印(230)而保护数字信号处理函数的软件实现。
文档编号G06F21/16GK101057245SQ200580038146
公开日2007年10月17日 申请日期2005年11月4日 优先权日2004年11月9日
发明者马克·沃克莱尔 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1