速傅立葉變換(FFT)處理)等等。另夕卜,對(duì)于基于編碼的實(shí)現(xiàn),最終處理模塊108包括最終編碼模塊138,該最終編碼模塊138使用采用時(shí)間到頻率域變換的任何多種多樣的音頻編碼技術(shù)(諸如以上提到的AAC和MP3標(biāo)準(zhǔn)),從經(jīng)修改的頻率系數(shù)流126生成作為輸出音頻數(shù)據(jù)128的經(jīng)編碼的音頻流。
[0018]在其它實(shí)施例中,音頻處理設(shè)備100的處理針對(duì)解碼上下文,使得輸入音頻數(shù)據(jù)120是經(jīng)編碼的音頻數(shù)據(jù),諸如AAC編碼或MP3編碼的音頻數(shù)據(jù),并且輸出音頻數(shù)據(jù)128是經(jīng)解碼的音頻數(shù)據(jù)(例如,PCM音頻數(shù)據(jù))。在解碼實(shí)現(xiàn)中,輸入音頻數(shù)據(jù)120已經(jīng)包括頻率系數(shù),但是是以某種編碼形式的,并且因此初始處理模塊104包括初始解碼模塊144,該初始解碼模塊144執(zhí)行足以從經(jīng)編碼的輸入音頻數(shù)據(jù)120提取頻率系數(shù)流122的初始解碼。獲得這些頻率系數(shù)所必需的解碼依賴(lài)于輸入音頻數(shù)據(jù)120被編碼的方式。另外,最終處理模塊108包括最終解碼模塊148,該最終解碼模塊148根據(jù)用來(lái)編碼輸入音頻數(shù)據(jù)的編碼標(biāo)準(zhǔn)使用經(jīng)修改的頻率系數(shù)流126來(lái)執(zhí)行最終解碼處理,以生成經(jīng)解碼的輸出音頻數(shù)據(jù)128。
[0019]在還有的其它實(shí)施例中,音頻處理設(shè)備100的處理針對(duì)轉(zhuǎn)碼上下文,使得輸入音頻數(shù)據(jù)120是經(jīng)編碼的音頻數(shù)據(jù)并且輸出音頻數(shù)據(jù)128是經(jīng)編碼的音頻數(shù)據(jù),由此音頻處理設(shè)備100修改輸入音頻數(shù)據(jù)120的分辨率、位速率或格式,以生成輸出音頻數(shù)據(jù)。在這樣的情況下,由于這種轉(zhuǎn)碼涉及至少部分解碼并且隨后至少部分重新編碼,因此數(shù)字加水印處理可以在編碼處理或解碼處理中的任一者或兩者中采用,如以下更具體描述的。
[0020]圖2說(shuō)明了根據(jù)至少一個(gè)實(shí)施例的圖1的音頻處理設(shè)備100在編碼上下文中的操作的示例方法200。要嵌在音頻數(shù)據(jù)中的水印數(shù)據(jù)124由位的集合組成,諸如一個(gè)或多個(gè)字節(jié)的信息。這些位可以代表例如與音頻數(shù)據(jù)的來(lái)源關(guān)聯(lián)的唯一值或者其它唯一標(biāo)識(shí)符、地理區(qū)域的指示符、加密/解密密鑰等。如以下更具體描述的,水印數(shù)據(jù)124的每一位嵌在對(duì)應(yīng)的音頻數(shù)據(jù)塊(即,“音頻塊”)的頻率系數(shù)中,其中音頻塊包括例如固定持續(xù)時(shí)間的音頻數(shù)據(jù)(例如,20毫秒的音頻數(shù)據(jù))。相應(yīng)地,在方法200的第一次迭代中,在框202處,加水印模塊106選擇水印數(shù)據(jù)124的第一位值。在框204處,音頻處理設(shè)備100接收并緩沖輸入音頻數(shù)據(jù)120的音頻塊,由此該音頻塊包括未編碼的音頻文件或其它流的對(duì)應(yīng)部分(例如,PCM數(shù)據(jù)塊)。在框206處,頻率域變換模塊134執(zhí)行頻率域變換(即,從時(shí)間域到頻率域的變換),以便從該音頻塊生成要包括在提供給加水印模塊106的頻率系數(shù)流122中的頻率系數(shù)集合。頻率域變換可以包括例如MDCT處理、FFT處理等。由初始解碼模塊144采用的頻率域變換可以遵照由一個(gè)或多個(gè)音頻編碼標(biāo)準(zhǔn)(諸如AAC、MP3等)規(guī)定的時(shí)間到頻率域變換處理。
[0021]接下來(lái),在框208處,該集合的頻率系數(shù)被選擇并且加水印模塊106使用選定的頻率系數(shù)與第一值和第二值之一來(lái)執(zhí)行線性相加,其中第一值和第二值是依賴(lài)于在框202處選定的水印數(shù)據(jù)124的位值是“O”還是“I”來(lái)選擇的。為了說(shuō)明,如果水印數(shù)據(jù)124的位值是“0”,則線性相加操作可以把“-1”加到頻率系數(shù),而如果水印數(shù)據(jù)124的位值是“1”,則線性相加操作可以把“+I”加到頻率系數(shù)。在基于水印位值的線性相加操作中所使用的值對(duì)的任何布置都可以使用,而不是“_1,+1”,諸如像“-10,+10”或者“_3,+6”等。作為結(jié)果的經(jīng)修改的頻率系數(shù)作為經(jīng)修改的頻率系數(shù)流126的一部分輸出。在一些實(shí)施例中,該集合的每個(gè)濾波器(filter)系數(shù)都以這種方式被修改。在其它實(shí)施例中,只有濾波器系數(shù)的一個(gè)子集被修改。例如,加水印模塊106可以被配置為只修改該集合的濾波器系數(shù)的四分之一或一半。沒(méi)有被選擇修改的那些濾波器系數(shù)不加修改地輸出,作為經(jīng)修改的濾波器系數(shù)流126的一部分。相應(yīng)地,在框210處,加水印模塊106確定它是否已經(jīng)修改了音頻塊要被修改的全部濾波器系數(shù)。如果還沒(méi)有,則方法流返回到框208,以便選擇該集合中要修改的下一個(gè)頻率系數(shù)。如果音頻塊的濾波器系數(shù)集合的加水印已經(jīng)完成,則方法200返回到框202,以便使用水印數(shù)據(jù)124的下一位值對(duì)下一個(gè)音頻塊重復(fù)加水印處理。
[0022]同時(shí),在框212處,最終編碼模塊138使用經(jīng)修改的流126中經(jīng)修改的頻率系數(shù)集合,而不是從音頻塊生成的原始頻率系數(shù)集合,完成音頻塊的編碼。這種編碼可以包括根據(jù)所應(yīng)用的音頻編碼標(biāo)準(zhǔn)的任何多種多樣的眾所周知的編碼處理,諸如使用心理聲學(xué)模型的經(jīng)修改的頻率系數(shù)集合的量化、作為結(jié)果的量化頻率系數(shù)的冗余消除編碼、糾錯(cuò)編碼,等等。用于音頻塊的作為結(jié)果的經(jīng)編碼音頻數(shù)據(jù)在輸出緩沖區(qū)110處緩沖,接著被包括為傳輸?shù)侥康牡卦O(shè)備的輸出音頻數(shù)據(jù)128的一部分以用于存儲(chǔ)或后續(xù)解碼。
[0023]圖3說(shuō)明根據(jù)至少一個(gè)實(shí)施例的圖1的音頻處理設(shè)備100在解碼上下文中的操作的示例方法300。就像以上的編碼方法200,在方法300的第一次迭代中,在框302處,加水印模塊106選擇水印數(shù)據(jù)124的第一位值。在框304處,音頻處理設(shè)備100接收并緩沖輸入音頻數(shù)據(jù)120的音頻數(shù)據(jù)集,由此音頻數(shù)據(jù)集包括經(jīng)編碼的音頻文件或其它流的對(duì)應(yīng)部分(例如,AAC或MP3編碼的數(shù)據(jù)塊)。該數(shù)據(jù)集包括用于對(duì)應(yīng)的未編碼音頻塊的編碼的頻率系數(shù)集合。相應(yīng)地,在框306處,初始解碼模塊144執(zhí)行部分解碼處理,以獲得未編碼形式的頻率系數(shù)集合,用于包括在提供給加水印模塊106的頻率系數(shù)流122中。
[0024]接下來(lái),在框308處,該集合的頻率系數(shù)被選擇并且加水印模塊106使用選定的頻率系數(shù)與第一值和第二值(例如,“-1”或“+I”)之一執(zhí)行線性相加,其中第一值和第二值是依賴(lài)于在框302處選定的水印數(shù)據(jù)124的位值是“O”還是“I”來(lái)選擇的。作為結(jié)果的經(jīng)修改的頻率系數(shù)作為經(jīng)修改的頻率系數(shù)流126的一部分被輸出。如以上相似地指出的,這種修改處理可以應(yīng)用到集合中的每個(gè)頻率系數(shù)或者只應(yīng)用到選定的子集。沒(méi)有被選擇修改的那些濾波器系數(shù)不加修改地輸出,作為經(jīng)修改的濾波器系數(shù)流126的一部分。相應(yīng)地,在框310處,加水印模塊106確定它是否已經(jīng)修改了該集合中要被修改的全部濾波器系數(shù)。如果還沒(méi)有,則方法流返回到框308,以便選擇該集合中要修改的下一個(gè)頻率系數(shù)。如果濾波器系數(shù)集合的加水印已經(jīng)完成,則方法300返回到框302,以便使用水印數(shù)據(jù)124的下一位值對(duì)下一個(gè)音頻數(shù)據(jù)集重復(fù)加水印處理。
[0025]同時(shí),在框312處,最終解碼模塊148使用經(jīng)修改的流126中的經(jīng)修改的頻率系數(shù)集合,而不是從音頻塊生成的原始頻率系數(shù)集合,完成音頻數(shù)據(jù)集的解碼。這種解碼可以包括根據(jù)所應(yīng)用的音頻解碼標(biāo)準(zhǔn)的任何多種多樣的眾所周知的解碼處理,諸如頻率到時(shí)間域變換處理、糾錯(cuò),等等。作為結(jié)果的用于音頻數(shù)據(jù)集的未編碼的音頻數(shù)據(jù)在輸出緩沖區(qū)110處被緩沖,接著作為傳輸?shù)侥康牡卦O(shè)備的輸出音頻數(shù)據(jù)128的未編碼音頻塊被輸出以用于存儲(chǔ)或重放。
[0026]圖4說(shuō)明了被加水印模塊106用來(lái)基于水印數(shù)據(jù)124生成經(jīng)修改的頻率系數(shù)流126的水印嵌入處理的例子。如以上指出的,水印數(shù)據(jù)124包括位值的串或集合。在所描繪出的例子中,水印數(shù)據(jù)124包括8位的值:10011101b。另外,在這個(gè)例子中,對(duì)于在水印數(shù)據(jù)124的位位置處的位值“0”,線性相加操作把“-1”值加到選定的頻率系數(shù),以生成經(jīng)修改的頻率系數(shù)集合,并且對(duì)于在位位置處的位值“ I ”,線性相加操作加上值“+I ”。
[0027]因而,在所說(shuō)明的例子中,對(duì)于第一音頻塊401 (也表示為“塊A”),加水印模塊106實(shí)現(xiàn)時(shí)間到頻率域變換,以生成四個(gè)頻率系數(shù)411、412、413和414的集合(應(yīng)當(dāng)指出,一般基本上會(huì)生成多于四個(gè)頻率系數(shù),但是這個(gè)例子為了方便說(shuō)明而限制于四個(gè))。在這個(gè)例子中,最低三個(gè)頻帶的頻率系數(shù)(即,頻率系數(shù)411、412、413)被選擇進(jìn)行修改,因而線性相加操作421、422和423分別使用頻率系數(shù)411、412和413來(lái)執(zhí)行,以生成經(jīng)修改的頻率系數(shù)431、432和433。在這個(gè)例子中,水印數(shù)據(jù)124的第一位值要嵌在從音頻塊401生成的頻率系數(shù)中。因?yàn)樵摰谝晃恢凳恰?”,所以線性相加操作421、422和423把值“+I”分別加到頻率系數(shù)411、412和413的值。