亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

保護(hù)dsp算法的制作方法

文檔序號:6552958閱讀:274來源:國知局
專利名稱:保護(hù)dsp算法的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及保護(hù)數(shù)字信號處理函數(shù)的軟件實現(xiàn)的方法。本發(fā)明還涉及用于使處理器執(zhí)行數(shù)字信號處理函數(shù)的計算機程序產(chǎn)品和用于執(zhí)行所述軟件的處理器。
背景技術(shù)
諸如電視、機頂盒、記錄裝置、MP3播放器等消費電子裝置和計算機裝置的裝置的很多功能都是通過裝載了執(zhí)行特定信號處理函數(shù)的程序的處理器執(zhí)行的。典型地,所述處理器可以是數(shù)字信號處理器(DSP),但是也可以是ARM處理器等微控制器或者PC等當(dāng)中采用的通用處理器。所述信號處理函數(shù)包括濾波、編碼/解碼、壓縮、解壓等。確定和實現(xiàn)這些函數(shù)需要大量的工作和受到高度培訓(xùn)的人。因此,希望對這些工作予以保護(hù)。這些函數(shù)的軟件實現(xiàn)的版權(quán)保護(hù)只能起到有限的作用。在實際系統(tǒng)中,往往只采用信號處理函數(shù)庫的某些部分,并將其與特定應(yīng)用軟件結(jié)合。這導(dǎo)致了難以確定某一函數(shù)的核心方面是否遭到了拷貝。例如,采用數(shù)字簽名對整個軟件模塊打上水印是一種已知的做法。但是,這樣的技術(shù)無法針對從所述模塊“拷貝”某項函數(shù)(例如濾波器)的人提供保護(hù)。當(dāng)在特定的許可條件下能夠獲得源代碼時,或者通過反向工程獲得了源代碼時,就可能存在這樣的拷貝。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種保護(hù)信號處理函數(shù)的軟件實現(xiàn)中包含的技術(shù)內(nèi)容的方法。另一目的在于提供一種受保護(hù)的具有信號處理函數(shù)的軟件和采用所述軟件的處理器。
為了實現(xiàn)本發(fā)明的目的,一種保護(hù)具有數(shù)字信號處理函數(shù)的軟件實現(xiàn)的方法包括選擇信號處理函數(shù)所采用的和/或用于設(shè)計信號處理函數(shù)的參數(shù)的子集;以及在所選的參數(shù)內(nèi)嵌入水印。
本發(fā)明人發(fā)現(xiàn)能夠?qū)π盘柼幚砗瘮?shù)的參數(shù)打水印。典型地,以超過足以運行所述算法的最低需求的位數(shù),采用存儲單元存儲信號處理函數(shù)的參數(shù)。這為采用水印擾動所述參數(shù)提供了空間。帶有水印的參數(shù)可以是信號處理函數(shù)實際采用的參數(shù)。帶有水印的參數(shù)也可以是信號處理函數(shù)的設(shè)計參數(shù),例如,影響所述函數(shù)的設(shè)計的參數(shù)。在這種情況下,所述設(shè)計參數(shù)優(yōu)選也存在于實際的信號處理函數(shù)中(簡化對侵權(quán)的檢測)?;蛘撸鲈O(shè)計參數(shù)影響實際信號處理函數(shù)中存在的一個或多個其他參數(shù)。
給參數(shù)打上水印能夠?qū)崿F(xiàn)對拷貝的檢測,即使沒有盜用整個軟件模塊亦如此。其還能夠探測到對實際代碼的部分進(jìn)行了重新編程但是拷貝了所述參數(shù)的情況。優(yōu)選選擇代表獨有的技術(shù)(即尚未被公眾所知的技術(shù))的參數(shù)。
根據(jù)從屬權(quán)利要求2的措施,所選的參數(shù)是信號處理函數(shù)所采用的參數(shù),選擇參數(shù)子集的步驟包括選擇能夠在基本不影響信號處理函數(shù)的質(zhì)量的情況下對其加以擾動的參數(shù)。所述方法還包括在所選的能夠在基本不影響信號處理函數(shù)的質(zhì)量的情況下加以擾動的參數(shù)中選擇一些最低有效位;以及將水印嵌入到在所選參數(shù)中選擇的最低有效位中。
典型地,以超過足以運行所述算法的最低需求的位數(shù),采用存儲單元存儲信號處理函數(shù)的參數(shù)。通??梢栽诓桓淖兯鲂盘柼幚砗瘮?shù)的可覺察行為的情況下改變這些參數(shù)的一些量化位(最低有效位,least significant bits)。之后,選擇所述參數(shù)中的一個或多個,并在能夠改變的某些(或全部)位單元內(nèi)嵌入水印。這使得第三方能夠?qū)@些參數(shù)的再次使用進(jìn)行檢測。所述水印可以是固定的,并且可以通過任何適當(dāng)?shù)姆绞脚c在所選參數(shù)中選出的最低有效位組合(通過逐位XOR運算)。通過這種方式嵌入水印是一種能夠在不影響信號處理函數(shù)的質(zhì)量的情況下保護(hù)的參數(shù)的簡單方法??梢栽趯λ龊瘮?shù)進(jìn)行充分設(shè)計之后,基于所述信號處理函數(shù)的編程代碼執(zhí)行所述嵌入。
根據(jù)從屬權(quán)利要求3的措施,所述方法包括根據(jù)具有嵌入的水印的所選參數(shù)設(shè)計信號處理函數(shù)。在該實施例中,首先嵌入水印,之后針對具有嵌入的水印的參數(shù)設(shè)計(例如,優(yōu)化)所述函數(shù)。通過這種方式,重新設(shè)計的函數(shù)能夠補充由水印導(dǎo)致的擾動。這樣可以實現(xiàn)保持更高的函數(shù)質(zhì)量和/或允許將更多的位用于水印,因為通過重新設(shè)計(部分)補償了水印的影響。還應(yīng)當(dāng)注意,在這種方法中,更加難以去除水印。在根據(jù)權(quán)利要求2所述的實施例中,可以通過簡單地去除所包含的最低有效位(例如截取參數(shù))而去除水印。在根據(jù)權(quán)利要求3所述的實施例中,通常能夠?qū)⒏嗟奈挥糜谒?,并且要想通過截取充分去除水印就必將影響質(zhì)量。
所選的參數(shù)優(yōu)選也存在于所述函數(shù)自身當(dāng)中(即所述參數(shù)是所述函數(shù)采用的參數(shù))。倘若如此,侵權(quán)檢測就會變得簡明。如果需要,所述參數(shù)可以是決定/影響所述函數(shù)采用的其他參數(shù)的設(shè)計參數(shù)。在后一類別的參數(shù)內(nèi)嵌入水印仍然會影響其他參數(shù),因為所述水印可能不會直觀地處于這些參數(shù)內(nèi)。因而證明侵權(quán)也更加困難。
根據(jù)從屬權(quán)利要求4所述的措施,基于所選的參數(shù)動態(tài)確定水印。應(yīng)當(dāng)認(rèn)識到,可以采用所有的這些位或僅采用從其中選出的位作為生成水印的算法的輸入??梢圆捎萌魏芜m當(dāng)?shù)乃〖夹g(shù)。動態(tài)確定的水印更加難以破解,如果破解了,也將只影響恰恰具有相同的所述參數(shù)的程序部分。
根據(jù)從屬權(quán)利要求5所述的措施,在所選的參數(shù)上計算數(shù)字簽名。所述簽名替換了在所選參數(shù)中選擇的位。這是一種簡單、可靠的技術(shù)。
根據(jù)從屬權(quán)利要求6所述的措施,在所述參數(shù)的所有位上計算所述簽名。通過這種方式,能夠取得足夠的熵,以獲得可靠的水印。
根據(jù)從屬權(quán)利要求7所述的措施,嵌入水印包括通過所生成的簽名中的相應(yīng)的位替換在所選參數(shù)中選出的最低有效位。這是一種簡單的嵌入水印的方式。
根據(jù)從屬權(quán)利要求8所述的措施,使所選參數(shù)中未選的位保持不變。通過這種方式,更易于檢測采用水印進(jìn)行過修改的實際參數(shù)。如果第三方明顯改動了非法拷貝的程序的結(jié)構(gòu)并且可能還改變了某些最低有效位(但不是所有的位)以掩蓋其拷貝的事實,那么這種方式尤為有效。
從屬權(quán)利要求9描述了用于添加水印的良好的候選參數(shù)。
根據(jù)從屬權(quán)利要求10所述的措施,改變函數(shù)逼近的邊界點。通常通過將整個區(qū)間劃分為子區(qū)間并采用逐子區(qū)間的良好逼近而從數(shù)值上逼近所述函數(shù)。在將所述區(qū)間劃分為子區(qū)間的邊界點的選擇方面存在一定的容限。因而其是采用水印加以改變的良好的候選項。


通過下文所述的實施例以及參考其做出的闡釋,本發(fā)明的這些和其他方面將變得顯而易見。
在附圖中圖1A和B示出了其中可以采用本發(fā)明的系統(tǒng)的方框圖;圖2A和B示出了根據(jù)本發(fā)明的方法的流程圖;圖3示出了所述方法的另一實施例;圖4示出了形成由確定水印的位構(gòu)成的塊;以及圖5示出了函數(shù)逼近。
具體實施例方式
圖1A和1B示出了其中可以采用本發(fā)明的系統(tǒng)的方框圖。所述系統(tǒng)包括處理數(shù)字信號的裝置160。所述信號優(yōu)選是帶有技術(shù)特征的信號,例如音頻信號(包括語音)、視頻信號(包括圖形)和表示壓強、溫度、電流、電壓等物理量的其他信號。裝置160采用處理器150處理此類信號。處理器150可以是任何適當(dāng)類型的處理器,例如最適合處理信號流的數(shù)字信號處理器(DSP),但是其也可以是諸如ARM處理器的微控制器或在PC等當(dāng)中采用的通用處理器。由處理器150執(zhí)行的信號處理函數(shù)可以包括但不限于濾波、編碼/譯碼、壓縮/解壓等。裝置160還包括存儲處理器150執(zhí)行的程序的指令的程序存儲器140??梢圆捎冒≧OM、RAM、閃速存儲器等的任何適當(dāng)?shù)某绦虼鎯ζ?。程序存儲?40可以與處理器150獨立或嵌入其內(nèi)。裝置160可以是任何類型的執(zhí)行信號處理函數(shù)的裝置,其包括但不限于處理音頻和/或視頻的消費電子裝置或個人計算機,或者控制化學(xué)過程等工業(yè)過程的裝置。
所述系統(tǒng)還包括執(zhí)行根據(jù)本發(fā)明的方法的裝置100。在下文中將參考圖2A和2B對所述方法予以更為詳細(xì)的說明。裝置100能夠(通常以軟件的形式)產(chǎn)生信號處理函數(shù),其中,向信號處理函數(shù)的參數(shù)內(nèi)嵌入了水印(watermark)。出于這一目的,裝置100包括用于選擇信號處理函數(shù)的參數(shù)的子集的機構(gòu)110和用于向所選的參數(shù)內(nèi)嵌入水印的機構(gòu)114??梢酝ㄟ^兩種方式采用本發(fā)明,其取決于嵌入水印發(fā)生在所述函數(shù)的設(shè)計之前還是之后。圖1A和2A示出了在設(shè)計了所述信號處理函數(shù)之后添加水印的情況。在本文中,“設(shè)計所述函數(shù)之后”是指已經(jīng)完成了對所述函數(shù)的充分設(shè)計(即,相對于本發(fā)明預(yù)先確定的),或者,即便不是這樣,對所述函數(shù)的任何修改都不會影響所選的參數(shù)(即,所述函數(shù)相對于所選的參數(shù)是預(yù)先確定的,但是相對于其他參數(shù)仍然是可重新設(shè)計/修改的)。
可以以任何適當(dāng)?shù)姆绞綄崿F(xiàn)裝置100。優(yōu)選在諸如工作站或個人計算機的計算機上實現(xiàn)裝置100,其中,處理器在適當(dāng)程序的控制下執(zhí)行所描述的函數(shù)。因而,裝載了所述程序的處理器可以執(zhí)行機構(gòu)110、112和114的任何或全部函數(shù)。可以從諸如硬盤的存儲器120內(nèi)檢索所述參數(shù)。例如,可以由設(shè)計所述信號處理函數(shù)的人單獨存儲所述參數(shù),也可以將所述參數(shù)嵌入到所述信號處理函數(shù)中。在后一種情況下,機構(gòu)110和/或112不得不從所述函數(shù)中檢索所述參數(shù)。所述函數(shù)的設(shè)計者優(yōu)選提供了能夠?qū)崿F(xiàn)檢索的信息(例如,以確認(rèn)適當(dāng)參數(shù)的尋址信息的形式)??梢砸匀魏芜m當(dāng)?shù)姆绞?,例如在存儲介質(zhì)130上或通過Internet提供帶有嵌入的水印的信號處理函數(shù),從而使之能夠存儲在程序存儲器140中(例如,由裝置160的制造者執(zhí)行)。
除此之外,用于嵌入水印的適當(dāng)參數(shù)可以是表示下述內(nèi)容的參數(shù)數(shù)字信號濾波器的系數(shù);
閾值;代價函數(shù)中的代價;函數(shù)逼近的系數(shù);或者數(shù)字圖形的逼近的控制點。
本領(lǐng)域技術(shù)人員能夠容易地選擇所述數(shù)字信號處理函數(shù)中的其他適當(dāng)?shù)膮?shù)。
所述系統(tǒng)還包括用于檢查裝置160是否使用了具有嵌入的水印的信號處理函數(shù)的裝置170??梢砸匀魏芜m當(dāng)?shù)姆绞綀?zhí)行所述檢查。例如,可以將使用所述函數(shù)的實際裝置的程序存儲器140中的參數(shù)與裝置100產(chǎn)生的參數(shù)之間直接比較。
在圖1A和2A所示的第一實施例中,所述參數(shù)已經(jīng)以將在信號處理函數(shù)的設(shè)計過程中得到使用的形式存在了??赡懿⒉皇撬械倪@些參數(shù)都適于加水印。出于這一目的,機構(gòu)110選擇那些能夠在基本不影響信號處理函數(shù)的質(zhì)量的情況下加以擾動的參數(shù)。實際上,系統(tǒng)的設(shè)計者可以編輯一個能夠修改的參數(shù)列表。適當(dāng)?shù)暮蜻x參數(shù)是那些具有與函數(shù)的運行不相關(guān)的至少一個最低有效位的參數(shù)。裝置100還包括機構(gòu)112,其在所述的能夠在基本不影響信號處理函數(shù)的質(zhì)量的情況下加以擾動的所選參數(shù)內(nèi)選擇若干最低有效位。與上文所述類似,設(shè)計者可以指出每一參數(shù)中不能受到水印影響的最為重要的位的最低數(shù)量。之后向機構(gòu)112提供可以從存儲參數(shù)的目標(biāo)平臺上獲得的所述位數(shù)(例如32位或64位),并且機構(gòu)112能夠基于這一信息選擇所述目標(biāo)平臺可用的最低有效位的數(shù)量。在實踐中,可以采用針對不同參數(shù)寬度的DSP/微控制器。某些處理器甚至支持各種不同的格式。對于定點參數(shù)而言,典型的格式是16、20、24或32位,對于浮點參數(shù),典型的格式是32、64或80。
裝置100采用機構(gòu)114在所選參數(shù)中選出的最低有效位中嵌入水印。
圖2A示出了根據(jù)本發(fā)明的保護(hù)數(shù)字信號處理函數(shù)的軟件實現(xiàn)的方法的第一實施例的細(xì)節(jié)。所述方法包括選擇步驟210,能夠在基本不影響信號處理函數(shù)的質(zhì)量的情況下對其加以擾動的信號處理函數(shù)的參數(shù)的子集。如上所述,所述函數(shù)的設(shè)計者可以已經(jīng)執(zhí)行了對適當(dāng)參數(shù)的預(yù)先選擇。在這種情況下,所述選擇步驟可以簡單地涉及選用所有預(yù)選擇參數(shù)或在預(yù)選擇參數(shù)內(nèi)做進(jìn)一步的選擇。所選的參數(shù)是那些能夠?qū)ζ渥龀鲆欢ǔ潭鹊母淖兌挥绊懶盘柼幚砗瘮?shù)的可察覺性態(tài)的參數(shù)(例如,一些落在量化水平之下的最低有效位)。在步驟220中,在所選參數(shù)中選擇一些能夠在基本不影響信號處理函數(shù)的質(zhì)量的情況下加以擾動的最低有效位(這也包括可以對效果進(jìn)行補償?shù)那闆r)。在將要對n位進(jìn)行“嵌入水印”的情況下,所選擇的位優(yōu)選是n個最低有效位。但是,也可以對最低有效位進(jìn)行選擇,并將所述選擇看作水印的一部分。例如,如果可以在不影響質(zhì)量的情況下對m位加以改變(m>n),那么可以在(例如)密鑰的控制下從所述m位中偽隨機地選擇n位??梢砸匀魏芜m當(dāng)?shù)姆绞剑缒M、理論分析等確定可以加以擾動的位數(shù)。
在步驟230中,將水印嵌入到在所選參數(shù)中選擇的最低有效位中。所述水印可以是固定的、預(yù)定水印。也可以動態(tài)創(chuàng)建水印,在下文中將對其予以更為詳細(xì)的說明??梢酝ㄟ^任何適當(dāng)?shù)姆绞角度胨?。例如,可以通過逐位XOR運算將水印與在所選參數(shù)中選定的最低有效位組合。所述水印還可以簡單地替換這些位(覆蓋)?;蛘?,可以在密鑰的控制下對在所選參數(shù)中選出的最低有效位加密,其中,所述水印為密鑰。在實施例中,并不是對所有能夠修改的位都進(jìn)行實際修改;以未修改的形式保留一個或多個所述位。這使得當(dāng)所述參數(shù)在裝置160中變得混合/混亂,從而使確認(rèn)軟件的非法使用更加困難的情況下,裝置170能夠更容易地在160中對所述參數(shù)定位。如果某些位未被修改,那么裝置170能夠基于這些位進(jìn)行搜索。一個額外的優(yōu)點在于可以將其視作更強有力的司法程序證據(jù)。
在圖1B和圖2B所示的第二實施例中,采用機構(gòu)110選擇用于設(shè)計所述信號處理函數(shù)并且適于加水印的參數(shù)。如前所述,設(shè)計者可以編輯備選項列表,從所述列表中做選擇。由于所述參數(shù)是在設(shè)計函數(shù)之前選擇的,因而對可以采用的位數(shù)的選擇通常就不是那么嚴(yán)格了。仍然采用附圖標(biāo)記112表示選擇位的機構(gòu)。就前述實施例而言,采用機構(gòu)114在所選的機構(gòu)內(nèi)嵌入水印。所述參數(shù)可以與前述實施例中描述的相同。但是,也可以采用僅在設(shè)計過程中采用的,并且所述函數(shù)所采用的參數(shù)以其為基礎(chǔ)的參數(shù)。例如,如果必須設(shè)計一種截止頻率為12kHz的低通數(shù)字濾波器(即輸入設(shè)計參數(shù)為12kHz),那么可以對這一設(shè)計參數(shù)加水印(例如,得到值為12.1987654kHz的加過水印的參數(shù),其中0.1987654為水印)。這一設(shè)計參數(shù)自身并不是實際設(shè)計的濾波器中存在的參數(shù)(即實際濾波器系數(shù))。但是,有可能采用實際濾波器系數(shù),并由這些系數(shù)在數(shù)值上計算濾波器的截止頻率。這樣將恢復(fù)能夠?qū)崿F(xiàn)拷貝探測的0.1987654水印的大部分。
具體而言,第二實施例意在用于這樣一種情況,其中,在可能影響信號處理函數(shù)的執(zhí)行的參數(shù)(即位于量化水平之上)內(nèi)嵌入水印,但是能夠?qū)@種影響做出補償(例如,通過另一參數(shù)調(diào)整所述函數(shù))。在下文中將針對函數(shù)逼近更為詳細(xì)地描述后一情況的例子。因而,兩個實施例的主要區(qū)別在于,對于第一實施例,未針對嵌入的水印優(yōu)化所述信號處理函數(shù)(因而,嵌入能夠發(fā)生在所述函數(shù)的設(shè)計之后),而對于第二實施例,則針對嵌入的水印優(yōu)化所述信號處理函數(shù)(因而,嵌入發(fā)生在所述函數(shù)的設(shè)計之前)。因此,在圖1B中示出了用于設(shè)計所述函數(shù)的機構(gòu)116,2B示出了設(shè)計所述函數(shù)的步驟250。在第二實施例所述的方法中,優(yōu)選通過設(shè)計工具在設(shè)計之前或設(shè)計過程中添加水印。在這種方式當(dāng)中,添加水印的過程對所設(shè)計(計算)的參數(shù)中的很多位(通常為所有的位)造成了影響。因而不易于在保持質(zhì)量的同時改變所述參數(shù)(簡單地截取不會完全去除水印)。
在所述方法的優(yōu)選實施例中(適用于上述的兩種實施例),在圖3所示的步驟320中,根據(jù)與所選參數(shù)的相關(guān)性動態(tài)確定所述水印??梢圆捎煤芏囝愋偷南嚓P(guān)性。例如,所述水印可以取決于所有選定參數(shù)的所有位,所述水印可以只取決于所選參數(shù)中的選定位,所述水印可以只取決于所選參數(shù)中的未選定位等。每種方法都具有自身的優(yōu)點。例如,采用所有位提高了熵。采用未選位的優(yōu)點在于水印僅取決于未受改變的因而高度可見的位。這可能有助于證明添加了水印的那些參數(shù)。采用選定的位的優(yōu)點在于,在通過水印簡單地覆蓋這些位的情況下,這些位實際上是貢獻(xiàn)給水印的。優(yōu)選在步驟320中采用密碼技術(shù)動態(tài)計算所述水印??梢圆捎萌魏芜m當(dāng)?shù)募夹g(shù)。
圖3還示出了另一實施例,其中,首先在步驟310中形成位塊。這一位塊包括每一所選參數(shù)的至少一個位。之后,在預(yù)定密鑰的控制下,通過計算所形成的塊的數(shù)字簽名而完成步驟320中所示的水印的計算。圖4A示出了在示范性參數(shù)410、420和430中,采用編號為b0到b7的相應(yīng)8個最低有效位(LSB)形成24位的塊440。如上所述,塊440同樣可以由其他選定位形成。采用參數(shù)的連續(xù)位能夠簡明地形成所述塊。但是,也可以根據(jù)需要做出其他選擇,例如在密鑰的控制下做偽隨機選擇。圖4B示出了另一實施例,其中,塊440基本包括所選的參數(shù)410、420和430的所有位。
接下來,將舉出一個例子,其中,在25個32位浮點參數(shù)內(nèi)嵌入水印。所述參數(shù)被示為五組(filt1、filt2 SECTION1、filt2 SECTION2、filt3 SECTION1、filt3 SECTION2),每組具有五個參數(shù)(A0、A1、A2、B1、B2)。在這一例子中,所述參數(shù)具有的值為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*/};在十六進(jìn)制表示法中,所述32位含有下述值(按組示出)0x3f64db72 0xbfe4db72 0x3f64db72 0xbfe4da42 0x3f6352e00x3304795e 0x32ba4c89 0x3304795e 0xbfed861f 0x3f5b31d90x3f800000 0x40400000 0x3f4ccccd 0xbff0c658 0x3f61b2c70x381ee78a 0x383ffad3 0x381ee78a 0xbff22b07 0x3f6472250x3f800000 0xc0800000 0x3f800000 0xc03fbb83 0x3f655c62在這一例子中,原理上可以替換每一參數(shù)的8個最低有效位。采用HMAC(加密消息認(rèn)證碼)對所述25個參數(shù)塊執(zhí)行運算,以生成數(shù)字簽名,由此計算出所述水印。對于HMAC而言采用SHA-1散列函數(shù)。采用PHILIPSPDSLLEUVENRIS^A^B^C^D^E^F^G^H作為密鑰,其中,^A代表CTRL-A(ASCII碼01),^B代表CTRL-B(ASCII碼02)……這一函數(shù)提供了160位的簽名。在這一例子中,在最前面的20個參數(shù)的8個最低有效位中插入簽名,或在其上分配所述簽名。后五個參數(shù)未受改變。應(yīng)當(dāng)指出它們已經(jīng)參與了簽名的計算。這樣給出了下面經(jīng)修改的系數(shù)0x3f64db3c 0xbfe4dbb5 0x3f64dbf8 0xbfe4daf2 0x3f6352df0x33047965 0x32ba4c1f 0x330479bb 0xbfed868a 0x3f5b319e0x3f80002e 0x4040008a 0x3f4ccc34 0xbff0c61d 0x3f51b2d60x381ee7ce 0x383ffa39 0x381ee73b 0xbff22b43 0x3f6472080x3f800000 0xc0800000 0x3f800000 0xc03fbb83 0x3f655c62在根據(jù)本發(fā)明的實施例中,按照區(qū)間的子區(qū)間逼近所述信號處理函數(shù),本實施例考慮的參數(shù)是相繼子區(qū)間的邊界點。其基于的事實是能夠通過幾種方式在數(shù)值上逼近函數(shù)。用來提高對函數(shù)的區(qū)間逼近的性能和質(zhì)量的技術(shù)之一是將所述區(qū)間劃分為幾個段(連續(xù)子區(qū)間),并在這些子區(qū)間上尋找對函數(shù)的最優(yōu)逼近。將這樣的方法稱為逐段逼近?!胺指铧c”形成了子區(qū)間的邊界點。通常區(qū)間的分割方式并不是關(guān)鍵性的邊界的變化可能對逼近的質(zhì)量具有小的影響。得益于這種對變化的容許度,有可能在具有分割點的坐標(biāo)值的最低有效位中嵌入水印,例如,密碼安全簽名。圖5中示出了本實施例,其采用的例子是在分割點為x=1.1的區(qū)間
上對函數(shù)y=(x)=1+cos(0.5*x)逐段逼近。圖5示出了通過二階多頂式(即,拋物線)逼近兩段的情況,其給出的對函數(shù)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為分割點。
這給出了所述逼近與受到逼近的函數(shù)之間的絕對誤差的如下最大值maxεleft=0.00956336maxεright=0.00530383將分割點從1.1移動到1.2,同時保持相同的逼近,即采用下述多項式y(tǒng)=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的最大近似誤差增長。如果其基本不影響逼近的質(zhì)量,那么在所述參數(shù)中進(jìn)行大的改變就是可能的。針對分割點x坐標(biāo)采用32位(8位用于指數(shù),24位用于尾數(shù))浮點表示給出了下述十六進(jìn)制編碼值1.00x3f8000001.10x3f8ccccd1.20x3f99999a這表明能夠通過在基本不改變所述逼近的質(zhì)量的情況下通過密碼安全簽名替代尾數(shù)中的21位。應(yīng)當(dāng)認(rèn)識到,如果對分割點的位置的敏感度低,那么被認(rèn)為是“最不重要”的位的數(shù)量就大,其中“最不重要”是指可以對其加以改變。
在遵循第二實施例的方法的例子中,要考慮邊界移動的事實,并對其加以補償。優(yōu)選對函數(shù)逼近進(jìn)行優(yōu)化,從而通過大區(qū)間內(nèi)分割點的位置改變將這些變化對總體精確度的影響降至最低。將通過下述例子對其加以說明,其中,采用了某人想要在其上移動分割點的區(qū)間的附加信息。采用考慮了在
上進(jìn)行逼近的函數(shù)值的多頂式對曲線的左側(cè)部分進(jìn)行逼近,同時在[1.0..2]上對右側(cè)部分逼近。這給出了區(qū)間[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。
預(yù)先對逼近條件加以設(shè)定提供了差錯閾值為0.013而不是0.024的逼近。
本領(lǐng)域技術(shù)人員將容易地認(rèn)識到,就執(zhí)行周期和存儲要求而言,上述方法不會改變處理模塊的運行時間行為。
應(yīng)當(dāng)意識到,本發(fā)明還擴展至計算機程序,具體而言,可以擴展至位于適于將本發(fā)明投入使用的載體上或載體內(nèi)的計算機程序。所述程序可以具有源代碼、目標(biāo)代碼、源代碼和目標(biāo)代碼之間的經(jīng)過部分編譯的中間代碼的形式,或者具有適于在根據(jù)本發(fā)明的方法的實現(xiàn)當(dāng)中采用的任何其他形式。所述載體可以是任何能夠承載程序的實體或裝置。例如,所述載體可以包括存儲介質(zhì),例如,諸如CD ROM或半導(dǎo)體ROM的ROM,或者諸如軟盤或硬盤的磁記錄介質(zhì)。此外,所述載體可以是電或光信號等可傳輸載體,可以通過電纜、光纜、無線電或其他手段對其傳輸。當(dāng)該程序?qū)嵤檫@樣的信號時,所述載體可以由此類線纜或者其他裝置或手段構(gòu)成?;蛘撸鲚d體可以是嵌入了程序的集成電路,所述集成電路適于執(zhí)行相關(guān)方法或者適于用在相關(guān)方法的執(zhí)行當(dāng)中。
應(yīng)當(dāng)注意,上述實施例的目的在于舉例說明而不是限制本發(fā)明,而且本領(lǐng)域的技術(shù)人員將能夠設(shè)計出很多替代實施例,而不背離權(quán)利要求的范圍。在權(quán)利要求中,置于括號之間的任何附圖標(biāo)記都不應(yīng)被視作是對權(quán)利要求的限制。動詞“包括”及其變形的使用不排除權(quán)利要求列舉的元件或步驟以外的其他元件或步驟的存在。元件前的冠詞“一”、“一個”不排除存在多個此類元件。可以通過包括幾種截然不同的元件的硬件以及通過適當(dāng)編程的計算機實現(xiàn)本發(fā)明。在列舉了幾個機構(gòu)的裝置中,可以通過同一個硬件體現(xiàn)這些機構(gòu)。在互不相同的從屬權(quán)利要求中記載某些措施不表示不能將這些措施有利地結(jié)合到一起。
權(quán)利要求
1.一種保護(hù)數(shù)字信號處理函數(shù)的軟件實現(xiàn)的方法;所述方法包括選擇所述信號處理函數(shù)采用的和/或用于設(shè)計所述信號處理函數(shù)的參數(shù)的子集(210);以及在所選的參數(shù)內(nèi)嵌入水印(230)。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述的所選參數(shù)是所述信號處理函數(shù)采用的參數(shù),且所述的選擇參數(shù)子集的步驟包括選擇能夠在基本不影響所述信號處理函數(shù)的質(zhì)量的情況下對其加以擾動的參數(shù)(210);所述方法還包括從所選的能夠在基本不影響所述信號處理函數(shù)的質(zhì)量的情況下對其加以擾動的所述參數(shù)當(dāng)中選擇若干最低有效位(220);以及在所述的從所選參數(shù)中選出的最低有效位中嵌入所述水印(230)。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述方法包括根據(jù)帶有嵌入的水印的所選參數(shù)設(shè)計所述信號處理函數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,其包括根據(jù)所述的所選參數(shù)確定所述水印。
5.根據(jù)權(quán)利要求4所述的方法,其包括形成位塊,所述位塊包括每一所選參數(shù)的至少一個位;通過在預(yù)定密鑰的控制下計算所形成的塊的數(shù)字簽名而生成所述水印。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述塊基本包括所選參數(shù)的所有位。
7.根據(jù)權(quán)利要求2所述的方法,其中,嵌入所述水印包括由所生成的簽名的相應(yīng)位替換所述的從所選參數(shù)中選出的最低有效位。
8.根據(jù)權(quán)利要求2所述的方法,其中,以未修改的形式保持所述的所選參數(shù)的未選擇的位。
9.根據(jù)權(quán)利要求1所述的方法,其中,所述的所選參數(shù)表示下述選項之一數(shù)字信號濾波器的系數(shù);閾值;代價函數(shù)中的代價;函數(shù)逼近的系數(shù);或數(shù)字圖形的逼近的控制點。
10.根據(jù)權(quán)利要求8所述的方法,其中,按照區(qū)間的子區(qū)間逼近所述函數(shù),所述函數(shù)逼近的所述系數(shù)表示相繼子區(qū)間的邊界點。
11.一種包括存儲程序的存儲器(140)的處理器(150),所述程序用于使所述處理器執(zhí)行數(shù)字信號處理函數(shù),其中,所述數(shù)字信號處理函數(shù)的至少一個參數(shù)嵌入了水印。
12.一種用于使處理器執(zhí)行數(shù)字信號處理函數(shù)的計算機程序產(chǎn)品,其中,所述信號處理函數(shù)的至少一個參數(shù)嵌入了水印。
全文摘要
通過選擇信號處理函數(shù)的參數(shù)的子集(210)并向所選參數(shù)內(nèi)嵌入水印(230)而保護(hù)數(shù)字信號處理函數(shù)的軟件實現(xiàn)。
文檔編號G06F21/16GK101057245SQ200580038146
公開日2007年10月17日 申請日期2005年11月4日 優(yōu)先權(quán)日2004年11月9日
發(fā)明者馬克·沃克萊爾 申請人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1