管理數字媒體的技術的製作方法
2023-05-19 09:20:51 2
專利名稱:管理數字媒體的技術的製作方法
技術領域:
本發明涉及管理數字媒體的方法和裝置。
背景技術:
通信系統可以協助信息的傳輸,包括專有(proprietary)信息,例如電影、視頻和音樂。因此,已經開發出多種安全技術來保護這些專有信息。安全技術的改進可以為使用通信系統來分發專有信息提供更好的控制。
發明內容
本發明公開了使用加水印和加指紋技術來管理數字媒體的方法和裝置。
根據本發明的一個方面,提供了一種裝置,包括消息編碼器,該編碼器用消息對來自數字對象的幀進行編碼,以形成嵌入幀,所述消息包括用於完成加指紋操作的程序指令。
根據本發明的另一個方面,提供了一種裝置,包括消息解碼器,該解碼器從代表數字對象的嵌入幀中解碼出消息,所述消息包括用於完成加指紋操作的程序指令。
根據本發明的又一個方面,提供了一種系統,包括內容編碼器,其編碼數字對象,以形成內容信息的幀;連接到所述內容編碼器的消息編碼器,所述消息編碼器用消息來編碼所述幀,以形成嵌入幀,所述消息包括用於完成加指紋操作的程序指令;和連接到所述消息編碼器的發射器,所述發射器發送所述嵌入幀。
根據本發明的再一個方面,提供了一種方法,包括接收來自數字對象的幀;接收具有用於完成加指紋操作的程序指令的消息;以及用所述消息來編碼所述幀。
根據本發明的再又一個方面,提供了一種製品,包括其上存儲指令的介質,所述指令在由處理器執行時可實現接收來自數字對象的幀,接收具有用於完成加指紋操作的程序指令的消息,並且用所述消息來編碼所述幀。
圖1圖示了系統100的框圖。
圖2圖示了安全管理模塊108的框圖。
圖3圖示了編程邏輯300。
圖4圖示了編程邏輯400。
具體實施例方式
圖1圖示了系統100的框圖。系統100例如可以包括具有多個節點的通信系統。節點可以包括在系統100中具有唯一地址的任何物理或邏輯實體。節點的例子可以包括但不一定限於計算機、伺服器、工作站、膝上型計算機、手持設備、行動電話、個人數字助理、路由器、交換機、橋、集線器、網關、無線接入點等。唯一地址例如包括網絡地址(例如網際網路協議(IP)地址)、設備地址(例如媒體訪問控制(MAC)地址)等。實施方案在該上下文中並不受限。
系統100的節點可以被布置來傳送多種類型的信息,例如媒體信息和控制信息。媒體信息可以指代表面向用戶的內容的任何數據,例如語音信息、視頻信息、音頻信息、文本信息、字母數字符號、圖形、圖像等。控制信息可以指代表面向自動化系統的命令、指令或控制字的任何數據。例如,控制信息可被用於路由媒體信息穿過系統,或者指示節點以預定的方式處理媒體信息。
系統100的節點可以根據一種或多種協議來傳送媒體和控制信息。協議可以包括預先定義的一組規則或指令,它們控制節點如何在彼此之間傳送信息。所述協議可以根據由標準組織發布的一種或多種協議標準來定義,所述標準組織例如是網際網路工程任務組(IETF)、國際電信同盟(ITU)、電子電氣工程師協會(IEEE)等。例如,系統100可以根據一種或多種網際網路協議來運行。
系統100可以被實現為有線通信系統、無線通信系統或兩者的組合。雖然可以示例性地使用一種具體的通信介質來圖示系統100,但是可以理解,可以使用任何類型的通信媒體和相關科技來實現這裡所討論的原理和技術。實施方案在該上下文中並不受限。
當被實現為有線系統時,系統100可以包括被布置為在一種或多種有線通信介質上傳送信息的一個或多個節點。有線通信介質的例子可以包括導線、線纜、印刷電路板(PCB)、背板、交換結構、半導體材料、雙絞線、同軸電纜、光纖等。通信介質可以使用輸入/輸出(I/O)適配器與節點相連。I/O適配器可以被布置為利用任何適合的技術來運行,以便使用一組預期的通信協議、服務或操作程序來控制節點之間的信息信號。I/O適配器還可以包括適當的物理連接器,用於連接I/O適配器與對應的通信介質。I/O適配器的例子可以包括網絡接口,網絡接口卡(NIC)、盤控制器、視頻控制器、音頻控制器等。實施方案在該上下文中並不受限。
當被實現為無線系統時,系統100可以包括一個或多個無線節點,這些節點被布置為通過一種或多種類型的無線通信介質來傳送信息。無線通信介質的一個例子可以包括無線頻譜例如射頻(RF)頻譜的一部分。無線節點可以包括適於在指定的無線譜上傳送信息信號的組件和接口,例如一個或多個天線、無線發射器/接收器(「收發器」)、放大器、濾波器、控制邏輯等。天線的例子可以包括內部天線、全向天線、單極天線、偶極天線、端饋天線、圓極化天線、微帶天線、分集天線、雙天線、天線陣列等。實施方案在該上下文中並不受限。
再次參考圖1,系統100可以包括通過網絡104連接的節點102和106。雖然圖1中示出的是具有某種拓撲的有限數目的節點,但是可以理解,系統100可以包括具有給定實現方式所期望的任何類型拓撲的或多或少的節點。實施方案在該上下文中並不受限。
在一個實施方案中,系統100可以包括節點102和106。節點102和106可以包括被布置為發射或接收前述媒體信息的任何節點。媒體信息可以包括音頻信息、視頻信息或者音頻/視頻信息的組合。音頻信息的例子可以包括音樂、歌曲、語音等。視頻信息的例子可以包括電影、視頻、圖形、圖像、字母數字符號等。實施方案在該上下文中並不受限。
在一個實施方案中,例如,節點102可以包括內容伺服器,其具有音頻信息、視頻信息或音頻/視頻信息組合的資料庫。例如,內容伺服器102可以包括視頻點播(VOD)或音樂點播(MOD)伺服器,其分別具有電影和歌曲的資料庫。可替換地,內容伺服器102可以被實現為電視廣播分發源、有線分發源、衛星分發源以及能夠提供音頻信息、視頻信息或音頻/視頻信息組合的其他網絡源的一部分。實施方案在該上下文中並不受限。
在一個實施方案中,例如,節點106可以包括客戶端設備,該設備訪問內容伺服器102所存儲的媒體信息。客戶端設備的例子可以包括具有處理系統的任何設備,例如計算機、個人數字助理、機頂盒、蜂窩電話、視頻接收機、音頻接收機等。實施方案在該上下文中並不受限。
內容伺服器102可以根據任意數量的音頻和視頻標準,經由網絡104將媒體信息傳送到客戶端設備106。例如,可以使用根據由國際標準化組織/國際電工委員會(ISO/IEC)定義的運動圖像專家組(MPEG)系列標準的一種或多種技術來壓縮或編碼電影或視頻。雖然示例性地使用MPEG系列標準來圖示說明一些實施方案,但是可以理解,任意數量的視頻和/或音頻編碼技術都是可以使用的,並且仍落入實施方案的範圍內。實施方案在該上下文中並不受限。
在一個實施方案中,系統100可以包括網絡104。網絡104可以包括被布置為在系統100的各個節點之間傳送信息的任意類型的網絡。例如,網絡104可以包括分組交換網絡或電路交換網絡,例如區域網(LAN)或廣域網(WAN),公共交換電話網(PSTN),無線網絡例如蜂窩電話網絡或衛星網絡,或者它們的任意組合。網絡104可以根據任意數量的不同數據通信協議來傳送信息,例如一種或多種乙太網協議、一種或多種網際網路協議例如傳輸控制協議(TCP)網際網路協議(IP)、無線接入協議(WAP)等。實施方案在該上下文中並不受限。
在一個實施方案中,節點102和106還可以分別包括元件108a和108b。元件108例如可以包括安全管理模塊(SMM)108。SMM108可以代表節點來管理安全性操作。更具體地說,SMM108可以被布置為使用某些「指紋」和「水印」技術來控制媒體信息的所有權和分發。在一個實施方案中,例如,SMM108可以以動態方式使用指紋和水印技術的組合來增強對媒體信息的分發的控制。
在一般的操作中,系統100可被用於傳輸信息,包括諸如電影、視頻、音樂等的專有信息。因此,需要安全性技術來保護這些專有信息。這樣的安全性技術一般被分類為兩大組,即,拷貝保護和所有權保護。拷貝保護試圖尋求辦法來限制獲取受版權保護的材料,和/或禁止拷貝過程本身。拷貝保護的例子可以包括各種加密技術,例如加密數字TV廣播,通過使用許可伺服器向受版權保護的軟體提供訪問控制,以及介質(例如壓縮盤或數字多用途盤)上的技術性拷貝保護機制。另一方面,所有權保護試圖將所有權信息與數字對象關聯起來,例如將所有權信息插入數字對象中。所有權信息的例子可以包括版權資訊、許可信息、原始所有者的名稱和聯繫信息、購買者或者被許可人的名稱和聯繫信息、分發實體、分發渠道、以及與具體的數字對象相關聯的其他任何信息。無論何時對數字對象的所有權發生疑問,都可以從數字對象中提取所有權信息,並用來識別擁有權利的所有權。這可以改進對內容分發的控制和管理,還允許追蹤任何未經授權的拷貝。在拷貝保護似乎難以實施的情況下,基於加水印和加指紋技術,連同強密碼術的版權保護協議對於控制數字媒體的分發而言,正變得愈發可行。
加水印可以指以下技術,即,將數字水印嵌入數字對象內,而對於觀看人而言不會引起數字對象中可觀測的質量損失。數字水印例如可以包括被插入數字圖像(例如音頻或視頻文件)中的、具有某種比特模式的消息。所述消息可以包括各種類型的信息,例如所有權信息或指紋執行代碼,下面將會更詳細地討論。與印刷水印不同的是,印刷水印希望在一定程度上是可見的,但是數字水印被設計為不可見的,或者在音頻剪輯的情況下是聽不見的。此外,代表水印的實際比特應當以無法識別及操縱的方式被分散在整個文件中。此外,數字水印應當具有足夠的魯棒性,使得它可以經受文件的正常變化,例如源於有損壓縮算法的縮減。加水印操作試圖使數字水印看起來象噪聲一樣,即,無論怎樣存在於大多數數字文件中的隨機數據。加水印有時還可以被稱為「數據嵌入」和「信息隱藏」。實施方案在該上下文中並不受限。
加指紋可以指使用來自數字對象自身的數據來唯一識別該數字對象的技術。數字對象例如可以包括視頻文件或音頻文件。例如假設數字對象是音頻文件。音頻加指紋技術可以基於對音頻自身的聲學特性分析,為音頻文件生成唯一的指紋。每個音頻指紋都是唯一的,並且可被用來精確地識別音軌(track),無論關聯的文本標識符是否存在或準確。例如,通過解釋人類可以聽到的音頻信息,數位化的歌曲可以被識別出歌曲標題、藝術家名稱或其他相關信息是否準確或可以獲得。音頻加指紋操作從音頻文件中提取相對大量的聲學特徵,以創建唯一的音頻指紋。每個指紋都是不同的,並且高精度地唯一標識出特定的音頻文件。一旦音頻指紋被創建,它就可被用於搜索資料庫,將音頻指紋與音頻文件相匹配,並將音頻文件匹配到某些所有權信息。類似的操作可被執行來創建視頻文件的視頻指紋。實施方案在該上下文中並不受限。
傳統的加水印和加指紋技術單獨拿出來,出於某些原因都不能令人滿意。例如,加水印技術可以包括魯棒性數據隱藏工具,但不一定象使用加指紋技術一樣唯一地標識數字對象本身。此外,音頻和視頻指紋一般比數字水印消耗更少的帶寬。然而,加指紋技術可能在它們可向個人傳達的信息種類方面受到限制。例如,音頻指紋可能無法發送與音頻文件自身無關的消息。此外,加水印和加指紋技術可能是相當靜態的,這是因為實現給定技術所需的編碼器和解碼器如果沒有昂貴的、可能比較複雜的升級操作,將很難進行修改。
這裡的實施方案試圖解決這些及其他問題。在一個實施方案中,例如,SMM108可以被布置為使用一種或多種加水印技術將消息嵌入數字對象。所述消息可以包括程序指令等多種。程序指令可以包括計算機代碼段,這些代碼段包括預定義的計算機語言中的字、值和符號,當這些代碼段根據預定義的方式或語法放在一起時,引發處理器執行某些操作。指令可以包括任何適當類型的代碼,例如原始碼、編譯後的代碼、解釋後的代碼、可執行代碼、靜態代碼、動態代碼等。可以使用任何高級、低級、面向對象的、可視的(visual)、經過編譯的和/或經過解釋的程式語言來實現所述指令,例如C、C++、Java、BASIC、Perl、Matlab、Visual BASIC、彙編語言、機器碼等。實施方案在該上下文中並不受限。
在一個實施方案中,消息可以包括實現一個或多個音頻或視頻加指紋操作或技術的程序指令。例如,消息可以包括經過編譯後形成可執行代碼(「加指紋可執行代碼」)的程序指令。指紋可執行代碼可被用來基於一組在內容購買或獲取時由內容伺服器102闡明的規則,實施權利管理策略或者在內容被發送到客戶端設備106之前由內容伺服器102設置的某種觀看標準。與典型的靜態水印不同,內容伺服器102可以動態地改變實施策略和相應的操作,以通過更新與水印一同嵌入的指紋可執行代碼來完成這一任務。不必修改客戶端設備106所實現的水印解碼器,就可以實現這一切。而且,觀看策略和權利管理策略的變化被嵌入在指紋可執行代碼中。例如,可以使用Java字節碼或者可以在客戶端設備106內解釋並執行的某些其他可執行原語來實現所述代碼。實施方案在該上下文中並不受限。
圖2圖示了SMM108的部分框圖。如參考圖1所描述的那樣,SMM108可以分別代表內容伺服器102和客戶端設備106的SMM108a-b。如圖2所示,SMM108可以包括多個元件,例如處理器202、存儲器204、內容編碼器/解碼器(「編解碼器」)206、消息編解碼器208和網絡接口210,所有元件都是經由總線212連接的。一些元件可以使用例如一個或多個電路、組件、寄存器、處理器、軟體子例程或者它們的組合來實現。雖然圖2示出了有限數量的元件,但是可以理解,根據給定實現方式的需要,在SMM108中可以使用更多或更少的元件。實施方案在該上下文中並不受限。
在一個實施方案中,SMM108可以包括處理器202。處理器202可以實現為通用處理器,例如Intel公司製造的處理器。處理器202還可以包括專用處理器,例如控制器、微控制器、嵌入式處理器、數位訊號處理器(DSP)、網絡處理器、I/O處理器等。實施方案在該上下文中並不受限。
在一個實施方案中,SMM108可以包括存儲器204。存儲器204可以包括任何機器可訪問介質。機器可訪問介質的一些例子可以包括但不一定限於只讀存儲器(ROM)、隨機訪問存儲器(RAM)、動態RAM(DRAM)、雙DRAM(DDRAM)、同步RAM(SRAM)、可編程ROM、可擦除可編程ROM、電可擦除可編程ROM、快閃記憶體、聚合物存儲器(例如鐵電聚合物存儲器)、相變存儲器、磁碟(例如軟盤和硬碟)、光碟(例如CD-ROM和DVD)等。實施方案在該上下文中並不受限。
在一個實施方案中,SMM108可以包括網絡接口210。網絡接口210可以包括可被布置為以任何適當的技術運行,以便使用一組預期的通信協議、服務或操作程序,控制經由網絡104在節點102和106之間的信息信號的任何有線或無線網絡接口。例如,當被實現為有線系統的一部分時,網絡接口210可以被布置為根據一種或多種乙太網協議(例如快速乙太網或吉比特乙太網協議)、一種或多種網際網路協議(例如傳輸控制協議(TCP)/網際網路協議(IP))等來運行。網絡接口210還可以包括與網絡104的相應通信介質相連接的適當的物理連接器。當被實現為無線系統的一部分時,可以使用具有天線的無線收發器來實現網絡接口210,其中收發器被布置為根據一種或多種無線協議來運行,例如802.11、802.16、WAP等。實施方案在該上下文中並不受限。
在一個實施方案中,SMM108可以包括內容編解碼器206。取決於給定的系統,內容編解碼器206可以被實現為音頻編解碼器和/或視頻編解碼器。在發射側和接收側一般使用相同或相似的特徵來實現內容編解碼器206,以確保由發射節點發送的編碼數據可以由接收節點正確地接收及解碼。實施方案在該上下文中並不受限。
在一個實施方案中,例如,內容編解碼器206可以包括根據一種或多種音頻編碼技術來編碼和解碼音頻文件的音頻編解碼器。音頻編碼技術的例子可以包括杜比數字(DolbyDigital)、MPEG-1、MPEG-1層3(MP3)、MPEG-2、線性脈衝碼調製(LPCM)、數字劇院系統(DTS)、視窗媒體音頻(WMA)等。實施方案在該上下文中並不受限。
內容編解碼器206還可以包括根據一種或多種視頻編碼技術來編碼和解碼視頻文件的視頻編解碼器。視頻編碼技術的例子可以包括一系列MPEG標準中的一種,例如MPEG-1、MPEG-2、MPEG-4、MPEG-7、MPEG-21等。另一個例子可以包括視窗媒體視頻(WMV)。實施方案在該上下文中並不受限。
內容編解碼器206也可以被實現為音頻和視頻編解碼器的組合。這對於電影特別有用。音頻編解碼器可被用於編碼電影中的音頻信息,視頻編解碼器可被用於編碼電影中的視頻信息。例如,MPEG系列的標準可以同時提供音頻和視頻編解碼器,以支持這樣的實現方式。
在一個實施方案中,SMM108可以包括消息編解碼器208。消息編解碼器208可以包括將消息嵌入從內容編解碼器206接收的一個或多個視頻幀的消息編碼器。消息編解碼器208例如可以從存儲器204或一個不同的設備接收消息。消息編解碼器208可以用所述消息對一個或多個視頻幀進行編碼,以形成嵌入後的視頻幀。消息編解碼器208還可以包括消息解碼器,用於在接收側解碼嵌入後的視頻幀或者從中提取消息。
所述消息可以包括靜態信息或動態信息。動態信息可以包括程序指令,例如加指紋可執行代碼。靜態信息例如可以包括所有權信息。靜態信息還可以包括由加指紋可執行代碼在執行期間使用的數據或元數據,或者專門管理用於加指紋可執行代碼的應用的其他信息。元數據可以包括描述其他數據的數據。例如,元數據可以描述一組具體的數據是如何,何時又是由誰來收集的,以及該數據是如何被格式化的。元數據例如可被用來理解存儲在數據倉庫、基於XML的應用等當中的信息。實施方案在該上下文中並不受限。
在一個實施方案中,消息編解碼器208可以包括指紋數據提取器(FDE)214。FDE214可以被布置為從數字比特流(例如進入的音頻/視頻流)中提取水印。FDE214可以使用內容伺服器102用來插入水印的特定技術來提取水印。FDE214可以將提取出的水印分解成靜態信息和動態信息。靜態信息例如可以包括所有權信息或者用於動態信息的靜態元數據。動態信息例如可以包括加指紋可執行代碼。
在一個實施方案中,消息編解碼器208可以包括指紋執行應用(FEA)216。一旦FDE214接收並驗證整個加指紋可執行代碼,FDE214就可以調用FEA216開始執行所接收的加指紋可執行代碼。FEA216可以管理並控制加指紋可執行代碼的執行。如果程序指令是以未編譯形式而發送的,那麼FEA216例如可以包括適當的軟體編譯器,以將程序指令編譯成適當的可執行形式。可以使用指定供消息編解碼器208使用的專用處理器、對SMM108可用的處理器(例如處理器202)或者客戶端106可以訪問的任何其他處理器來執行加指紋可執行代碼。實施方案在該上下文中並不受限。
通過將動態信息(例如指紋可執行代碼)嵌入在水印中,由FEA216管理並由處理器202執行的加水印操作可以隨時間改變。為了這樣發生,改變事件可以與嵌入的描述符一起被單獨包括為程序元數據。在接收器處,FDE214可以使用相關聯的元數據,從壓縮視頻中提取更新後的加指紋可執行代碼。FEA216可以使用更新後的加指紋可執行代碼來計算適當的音頻或視頻指紋。計算出的指紋塊可以經由IP反向通道(例如,網絡104)被返回內容伺服器102,以供內容伺服器102分析。按照這一方式,優質內容在網絡中的重放可以由內容伺服器102來管理並跟蹤。
如上所述,執行環境、嵌入描述符和/或策略都可以在任何給定的會話期間被改變。程序元數據將接收器處的重構約定為可在伺服器側設置的預想行為。例如,程序元數據可以包括權利對象(RO)。RO可以包括一組策略。這些策略可以被嵌入為執行環境的一部分,或者與之分離。RO例如可以包括事件描述符,其指示了正則表達式的求值,正則表達式用於確定動作以及所期望的動作規範。RO例如可被用於實施具體的觀看策略。例如,如果反向通道被禁止,或者如果檢測到未授權的重放,則FEA216可以禁止或者以其他方式阻止對數字對象的進一步重放、觀看或拷貝。
更具體地說,音頻和/或視頻加指紋執行環境可以包括用於捕獲音頻和/或視頻內容的主要特性的輕量數據結構和策略庫。策略庫例如可以使用三元組(triplet)來實現。三元組可以包括用於事件、規則和動作的值。結果是正在重放的音頻和/或視頻的緊湊籤名。策略可以幫助確保數字對象的重放或觀看是經過授權的,同時指紋計算生成被用來測量定性和定量消耗度量的籤名。例如,對於經許可的設備、付費訂戶、用於報告指紋的工作反向通道的存在等,觀看都是允許的。如果壓縮後的音頻/視頻比特在沒有正確授權的情況下被傳輸到另一個正在觀看的設備,那麼視頻例如可能被修改為看起來失真。
用加指紋可執行代碼實現的給定策略定義可以根據給定的服務提供者或系統設計約束而不同。加指紋可執行代碼所執行的操作類型的例子可以包括在允許重放之前查詢後端伺服器,以獲得在已授權設備上的內容使用的過去歷史。另一個例子可以包括讓加指紋可執行代碼在生成為訪問加密數字對象(例如音頻或視頻文件)所需的加密密鑰中起到積極的作用。指紋執行代碼可以被布置為檢驗用戶的證書,使用專有協議與後端伺服器通信,計算任何需要的密鑰,以及向它們提供播放器應用。可以理解,這些操作僅是以示例的方式提供的。加指紋執行代碼可以包括給定的實現方式所需求的任何類型的加指紋操作。
除了消息具有動態信息以包括音頻和/或視頻加指紋執行環境外,嵌入消息還可以包括數字籤名。客戶端設備106可以使用經過數字籤名的嵌入消息,在FEA216開始執行對應的程序指令之前驗證可執行代碼的真實性。例如,FDE214可以使用位置元數據從流式內容中提取消息。FEA216可以驗證數字籤名以證明消息的真實性。然後FEA216可以開始指紋可執行代碼的執行。
可以使用任意數量的數據隱藏技術將消息嵌入內容流中。例如,消息編解碼器208可以使用加水印技術將消息嵌入視頻幀。加水印也可以被稱為隱寫術(steganography)。隱寫術是一種以隱藏信息存在性的方式來編碼秘密信息的行為。在數字隱寫術中,由一個比特流所代表的消息可以被嵌入掩護媒體(cover)或宿主媒體(host)中。掩護媒體或宿主媒體是消息被嵌入其中並且用於隱藏消息存在的媒體,例如數字圖像。這也可以被稱為消息包裝。掩護媒體和消息不必具有同構的結構。
消息編解碼器208可以將消息嵌入一個或多個視頻幀,以形成嵌入後的視頻幀。嵌入後的視頻幀可以被統一稱為「匿隱圖像(stego-image)」。匿隱圖像應當就象在偶然檢查和分析下的掩護圖像。
另外,消息編解碼器208可以將密碼技術與隱寫技術結合起來,以添加額外的安全層。在密碼術中,改變消息的結構,使其變得沒有意義並且無法理解,除非可以獲得解密密鑰。密碼術並不試圖偽裝或隱藏已編碼的消息。相反,隱寫術不改變秘密消息的結構,但是將它隱藏在掩護媒體之下。通過使用密碼術來加密消息,然後使用消息隱藏術來隱藏加密後的消息,就有可能組合這兩種技術。所得到的匿隱圖像可以被傳輸,而不會洩露秘密信息正被交換。此外,即使攻擊者想要破解隱寫技術並且從匿隱圖像中檢測出消息,他仍然需要密碼解碼密鑰來解密經過加密的消息。例如,消息編解碼器208可以在形成匿隱圖像時採用「匿隱密鑰」。只有知道相應的解碼密鑰的接收者才能夠從用匿隱密鑰編碼的匿隱圖像中提取消息。如果原先在編碼操作中使用了匿隱密鑰,則從匿隱圖像中恢復消息一般只需要匿隱圖像本身以及相應的解碼密鑰。原始掩護圖像可能需要,也可能不需要。實施方案在該上下文中並不受限。
選擇用於消息編解碼器208的具體加水印技術可以根據多種因素而不同,例如隱藏容量、感知透明度、魯棒性、篡改抵抗力以及其他特性。隱藏容量可以指相對於掩護媒體的大小,可被隱藏的信息的大小。較大的隱藏容量允許使用較小的掩護媒體用於具有固定大小的消息,因而減少了傳輸匿隱圖像所需的帶寬。感知透明度可以指對於掩護媒體所容許的退化量。用於在掩護媒體中隱藏消息的操作可能需要某種噪聲調製或掩護圖像的失真。嵌入的發生應當不伴有大幅度的退化或者掩護媒體的感知質量的損失。為了版權保護在嵌入的水印中保持感知透明度可能是特別重要的,因為應當維護原始作品的質量和完整性。魯棒性可以指如果匿隱圖像經受變換的話,例如線性和非線性濾波、隨機噪聲的添加、銳化或模糊化、縮放和旋轉、裁剪或抽選(decimation)、有損壓縮、從數字到模擬形式的轉換以及隨後轉換回數字形式等,此時嵌入數據保持原樣的能力。魯棒性可能在版權保護水印中特別重要,因為盜版者將試圖過濾並破壞嵌入在匿隱圖像中的任何水印。篡改抵抗力可以指一旦消息被嵌入在匿隱圖像中,攻擊者要想更改或偽造該消息(例如盜版者用聲稱具有合法所有權的版權標記來取代原有的版權標記)的難度。要求很高魯棒性的應用通常也要求很強程度的篡改抵抗力。在版權保護應用中,因為版權保持有效很多年,而水印即使在盜版者試圖使用在未來數十年間發展起來的計算技術來修改它時,也必須保持抵抗力,所以實現良好的篡改抵抗力可能是很難的。要考慮的其他特性可以包括編碼和解碼的計算複雜度、當多個盜版者一起來識別並破壞標記時對共謀攻擊的抵抗力,等等。實施方案在該上下文中並不受限。
消息編解碼器208可以使用幾種不同技術之一,將代表消息的比特流嵌入圖像掩護中。例如,消息編解碼器208可以使用最低有效位(LSB)嵌入、變換技術、以及採用感知掩蔽的技術。然而,實施方案在該上下文中並不受限。
在LSB嵌入中,數字圖像可以由色彩和強度值的矩陣構成。在典型的灰度級圖像中,例如,使用8比特/像素。在典型的全彩圖像中,具有24比特/像素,每個色彩分量具有8比特。複雜性最低的技術以確定性的順序將消息的各個比特直接嵌入到掩護圖像的最低有效位平面中。調製最低有效位不產生人類可感知的差別,因為變化的幅度相對較小。其他技術試圖在消息插入到掩護圖像中之前或期間,用偽隨機噪聲序列來「處理」所述消息。然而,LSB編碼對於匿隱圖像的任何種類濾波或操縱都是極為敏感的。對匿隱圖像的縮放、旋轉、修剪、噪聲添加或有損壓縮都很有可能破壞消息。此外,攻擊者有可能通過清除(零化)整個LSB平面而去除所述消息,而在修改後的匿隱圖像的感知質量上卻幾乎沒有什麼變化。
另一類技術通過調製變換域中的係數來執行數據嵌入。變換域的例子可以包括離散餘弦變換(DCT)、離散傅立葉變換、小波變換等。變換技術可以針對有損壓縮提供極好的魯棒性,因為它們就是設計來抗衡或者說利用流行的有損壓縮算法的方法。基於變換的嵌入操作的例子可以包括基於消息的位以及在量化期間的捨入誤差來調製匿隱圖像的DCT係數。基於變換的隱寫術一般還為縮放和旋轉或修剪提供了更強的魯棒性,這取決於具體變換的不變性質。
在一般操作中,假如客戶端設備106向內容伺服器102請求視頻文件,那麼內容伺服器102的SMM108a可以接收該請求,並且內容編解碼器206可以根據視頻壓縮技術,例如MPEG-1或MPEG-2來編碼或壓縮來自所請求的視頻文件的視頻幀。消息編解碼器208可以接收具有靜態元數據和加指紋可執行代碼的消息。消息編解碼器208可以用消息對來自內容編解碼器206的視頻幀進行編碼,以形成嵌入後的視頻幀。網絡接口210可以經由網絡104將嵌入後的視頻幀發送到客戶端設備106。客戶端設備106的SMM108b可以開始經由網絡接口210接收嵌入後的視頻幀。內容編解碼器206可以解碼或解壓縮所接收的視頻幀,並將解碼後的視頻幀傳遞到消息編解碼器208。消息編解碼器208的FDE214可以從嵌入後的視頻幀中提取並驗證靜態信息和加指紋可執行代碼。FDE214可以將驗證後的靜態信息和加指紋可執行代碼直接發送到FEA216,或者可替換地,發送到存儲器204。在後面的情形中,FDE214可以向FEA216發送消息或信號,以指示靜態信息以及加指紋可執行代碼已經被接收、驗證,並且準備執行。FEA216例如可以使用客戶端設備106的處理器202,發起加指紋可執行代碼的執行。加指紋可執行代碼可以執行音頻和/或視頻操作,以實現一組給定的策略,例如安全性策略、RO策略等。
參考以下附圖及相關實施例來進一步描述以上系統和子系統的操作。這些附圖中的一些可以包括編程邏輯。雖然這裡給出的附圖可以包括某種具體的編程邏輯,但是可以理解,該編程邏輯僅僅提供了可以如何實現這裡所描述的總體功能的實施例。此外,給定的編程邏輯不一定要按給出的順序來執行,除非另外指出。另外,可以由硬體單元、處理器所執行的軟體單元、或者它們的組合來實現給定的編程邏輯。實施方案在該上下文中並不受限。
圖3圖示了編程邏輯300。編程邏輯300可以代表由這裡所描述的一個或多個系統所執行的操作,所述系統例如是內容伺服器102的SMM108a。如在編程邏輯300中所示,可以在框302處接收來自數字對象的幀。在框304處可以接收消息,其具有完成加指紋操作的程序指令。在框306處可以用所述消息來編碼所述幀。
圖4圖示了編程邏輯400。編程邏輯400可以代表由這裡描述的一個或多個系統執行的操作,所述系統例如是客戶端設備106的SMM108b。如編程邏輯400所示,可以在框402處接收嵌入後的視頻幀。嵌入後的視頻幀例如可以從內容伺服器102接收。在框404處可以從所述幀中提取帶有程序指令的消息。在框406處可以執行所述程序指令,以完成加指紋操作。
在一個實施方案中,例如,數字對象可以包括音頻信息或視頻信息。音頻或視頻信息可以作為文件被存儲在例如存儲器204中,或者可以包括來自某一設備的流式或「實時」信息,所述設備例如是數位相機/錄像機(「可攜式攝像機」)、電視廣播分發源、有線分發源、衛星分發源以及其他能夠提供音頻信息、視頻信息或音頻/視頻信息的組合的網絡源。實施方案在該上下文中並不受限。
在一個實施方案中,例如,幀可以是由一種或多種MPEG標準定義的音頻幀或視頻幀。例如,視頻幀可以包括具有Y分量的I幀。在此情況下,可以通過為每個視頻幀的Y分量選擇DCT係數而完成編碼。所述選擇操作可以包括將DCT係數與用於每個I幀的平均交流係數進行比較,如果它的值大於平均交流係數,則選擇該DCT係數。所選擇的DCT係數可以被修改為包括一個消息值,例如0或1。
在一個實施方案中,嵌入後的視頻幀可以被接收。可以由所接收的嵌入後視頻幀來解碼消息。可以通過從用於每個嵌入後視頻幀的Y分量的DCT係數中取回消息值,從而完成所述解碼操作。
可以以示例的方式更好地理解上述系統及相關編程邏輯的操作。假設客戶端設備106向內容伺服器102請求視頻文件。內容編解碼器206可以根據由ISO/IEC定義的一系列MPEG標準中的一個標準來編碼視頻信號。例如,內容解碼器206可以被布置為根據MPEG-1和/或MPEG-2來編碼視頻信號。
MPEG視頻壓縮的基本理念是去除視頻幀內的空間冗餘以及視頻幀之間的時間冗餘。基於DCT的壓縮被用於減小空間冗餘。運動補償被用於開發時間冗餘。視頻幀中的圖像在小的時間間隔內通常不會變化很多。運動補償的理念就是基於在時間上靠近某一視頻幀的其他視頻幀來編碼該視頻幀。
視頻流可以包括一個序列的視頻幀。每個幀是一幅靜止圖像。視頻播放器通常以接近每秒30幀(例如,23.976,24,25,29.97和30幀)的速率一幀接一幀地進行顯示。幀被數位化為標準的紅綠藍(RGB)格式,每個像素24比特,紅、綠、藍分別對應8比特。MPEG-1算法對在YUV色彩空間(Y Cr Cb)上表示的圖像進行運算。如果一幅圖像被存儲為RGB格式,那麼它必須首先被轉換成YUV格式。在YUV格式中,圖像也用每像素24比特來表示,8比特用於亮度信息(Y),分別有8比特用於兩個色度信息U和V。YUV格式被二次抽樣。所有的亮度信息被保留。然而,色度信息在水平和垂直兩個方向上被二次抽樣2∶1。因此,每個像素分別有2比特的U和V信息。這種二次抽樣並不會嚴重影響質量,因為眼睛對亮度信息比對色度信息更加敏感。二次抽樣是有損步驟。24比特的RGB信息因此被減少為12比特的YUV信息,這自動給出了2∶1壓縮。
幀被分割成16×16個像素宏塊。每個宏塊由四個8×8的亮度塊和兩個8×8的色度塊(1U和1V)組成。宏塊是用於運動補償壓縮的單元。而塊被用於DCT壓縮。幀可以被編碼為三種類型幀內(I幀)、前向預測幀(P幀)和雙向預測幀(B幀)。I幀被編碼為單幅圖像,不參考任何過去幀和未來幀。首先使用DCT將塊從空域轉換到頻域,這將信號分隔到獨立的頻帶。大多數頻率信息位於得到的8×8塊的左上角。在這之後,數據被量化。量化可以被認為是基本忽視了低階位。量化是整個壓縮操作中除了二次抽樣以外唯一的有損部分。得到的數據隨後按之字型(zig-zag)排序被行程編碼(run-length encode),以優化壓縮。這種之字型排序通過利用以下事實而產生了更長行程的零,所述事實是當編碼器從8×8塊的左上角朝著右下角呈之字型前進時,應當幾乎沒有什麼高頻信息。位於塊的左上角的係數(被稱為DC係數)一般相對於前一塊的DC係數來編碼,這有時被稱為「DCPM編碼」。P幀相對於過去參考幀來編碼。參考幀是P幀或I幀。過去參考幀是指最近的前一參考幀。P幀中的每個宏塊被編碼為I宏塊或P宏塊。I宏塊就像I幀中的宏塊一樣進行編碼。P宏塊被編碼為過去參考幀的16×16區域,加上誤差項。為了指定參考幀的16×16區域,運動向量被包括進來。運動向量(0,0)意味著該16×16區域與正被編碼的宏塊位於相同的位置上。其他運動向量都是相對於該位置的。運動向量可以包括半像素值,在此情形中像素被求平均。使用DCT、量化和行程編碼對誤差項進行編碼。宏塊也可以被跳過,這等同於一個(0,0)向量和全0誤差項。B幀相對於過去參考幀、未來參考幀、或者這兩種幀來編碼。未來參考幀是最靠近的後面參考幀(I或P)。對B幀的編碼類似於P幀,除了運動向量可以參考未來參考幀中的區域之外。對於使用過去和未來參考幀兩者的宏塊而言,兩個16×16區域被求平均。
再次參考所述實施例,內容解碼器206可以根據MPEG標準將視頻信號壓縮成視頻幀。消息編解碼器208可以從內容解碼器206接收壓縮視頻幀。消息編解碼器208還可以接收來自存儲器204的消息。該消息例如可以包括用Java寫的音頻或視頻指紋生成原始碼,其被編譯為字節碼(*.class)並被映射到線性比特流。在執行時刻,比特流在客戶端設備106上由SMM108b的消息編解碼器208拆包並執行。
為了避免匿隱圖像的色彩失真,消息編解碼器208可以只選擇在用於攜帶隱藏消息的MPEG-2圖片組(GOP)結構中的前導I幀的Y分量。此外,消息編解碼器208可以跳過或忽略例如在I幀中的類型P和B宏塊中其運動向量或量化係數大於閾值的那些I幀。可以通過修改其值大於I幀的平均交流(AC)係數的DCT係數,將消息嵌入所選擇的I幀中。這可以減小嵌入操作所引起的感知失真。消息編解碼器208可以通過將所選擇的AC分量的值改變為最近的偶數值,嵌入來自消息比特流的比特「1」。消息編解碼器208可以通過將所選擇的AC分量的值改變為最近的奇數值,嵌入來自消息比特流的比特「0」。然後可以使用可變長度編碼將調製後的AC分量編碼回去。
值得注意的是,用於消息編解碼器208及相應提取操作的計算成本可以足夠低,足以被實現為傳統的編解碼器外圍的包裝器(wrapper)。目標執行可以是在編解碼器內核周圍的內務(housekeeping)處理器(例如XScale處理器)上,或者在靈活的控制元件(例如VSparc)上。由於對GOP的前導I幀的選擇,所以調製後的比特流約少於10%的部分可以不同於未經調製的對應部分。
客戶端設備106的SMM108b可以開始經由網絡接口21接收嵌入後的視頻幀。內容編解碼器206可以從嵌入後的視頻幀中取回消息。內容編解碼器206可以將該消息發送到存儲器204,以存儲該消息。處理器202可以執行來自所述消息的程序指令,以完成後續的音頻指紋操作。
根據具體的目標應用,針對給定的系統所實現的具體音頻或視頻指紋操作可以有所不同。例如,假設用於觀看具體的視頻內容的權利管理策略是使只有經許可的設備和付費訂戶才允許觀看內容。如果壓縮後的音頻/視頻比特被非法傳輸到另一個正在觀看的設備,那麼當視頻被解壓縮並觀看時,它看起來一定是失真的。為了實施這一策略,內容伺服器102的SMM108a的消息編解碼器208可以將一些動態失真實際施加於壓縮視頻。用於校正失真的算法可以被嵌入指紋可執行代碼中。另外,指紋可執行代碼能夠通過檢測來自客戶端設備106的標識符,並在校正視頻中的失真之前向內容伺服器102驗證該標識符,從而來驗證用於客戶端設備106的用戶的證書。
假設在客戶端設備106處的消息編解碼器208從接收的視頻或音頻中提取消息,並將該消息交給其執行環境模塊。執行模塊從水印內部提取指紋執行代碼,驗證它的完整性,並開始執行該代碼。指紋執行代碼可以解析先前由內容伺服器102嵌入的指紋元數據,並提取需要由客戶端設備106來驗證的用戶證書。指紋執行代碼可以通過查詢某個預計在許可客戶端設備上的硬體組件,來檢驗客戶端設備106上的用戶標識符。所述代碼還可以使得Java或其他運行時執行環境請求用戶輸入個人身份號(PIN)或密碼。指紋執行代碼可選地可以通過可用的反向通道(例如到內容伺服器102的IP連接)向內容伺服器102驗證用戶的證書,或者將結果與原先包括在水印內的用戶證書進行比較。一旦由內容伺服器102設置的策略得到驗證,指紋執行代碼就可以通過與客戶端設備106內的消息編解碼器208交互作用,來重新排序壓縮視頻的某些係數,或者採用其他技術來修正在內容伺服器102處引入的失真。
指紋操作的其他實施例可以包括指紋執行代碼用從客戶端設備106查詢出的用戶標識符(例如網絡MAC地址)來更新壓縮內容中的消息,以跟蹤那條具體的內容已被傳輸到哪裡並被觀看。這將允許內容所有者通過檢查嵌入的消息來識別與具體內容的觀看相關聯的歷史。在另一個實施例中,指紋執行代碼還可以在生成為觀看一條加密視頻所需的密鑰中起到積極的作用。在此情形中,客戶端設備106上的播放器應用可以提取並運行指紋執行代碼,以便獲得為解碼並觀看內容所需的密鑰。指紋執行代碼可以驗證用戶的證書,使用專有協議與內容伺服器102通信,計算密鑰並將它們提供給播放器應用。實施方案在該上下文中並不受限。
這裡闡述了很多具體的細節,以提供對實施方案的完整理解。然而,本領域的技術人員將會理解,沒有這些具體的細節也可以實現所述實施方案。此外,沒有詳細描述公知的操作、組件和電路,以免模糊了實施方案。可以意識到,這裡公開的特定的結構和功能細節可以是代表性的,不必限制實施方案的範圍。
值得注意的是,提及「一個實施方案」或「實施方案」意味著結合該實施方案所描述的具體特徵、結構或特性被包括在至少一個實施方案中。短語「在一個實施方案中」在說明書不同地方的出現不一定是指同一個實施方案。
一些實施方案可以使用根據多種因素而變的體系結構來實現,這些因素例如是期望的計算速率、功率電平、容熱性、處理周期預算、輸入數據率、輸出數據率、存儲器資源、數據總線速度以及其他性能約束。例如,實施方案可以使用由通用或專用處理器執行的軟體來實現。在另一個實施例中,實施方案可以被實現為專用硬體,例如電路、專用集成電路(ASIC)、可編程邏輯器件(PLD)或數位訊號處理器(DSP)等。在另外一個實施例中,實施方案可以通過已編程的通用計算機組件和定製硬體組件的組合來實現。實施方案在該上下文中並不受限。
一些實施方案例如可以使用存儲指令或一組指令的機器可讀介質或製品來實現,所述指令在被機器執行時,可以使得該機器根據所述實施方案完成方法和/或操作。這樣的機器例如可以包括任何適合的處理平臺、計算平臺、計算設備、處理設備、計算系統、處理系統、計算機、處理器等,並且可以使用硬體和/或軟體的任何適當組合來實現。機器可讀介質或製品例如可以包括任何適當類型的存儲器單元、存儲器器件、存儲器製品、存儲器介質、存儲設備、存儲製品、存儲介質和/或存儲單元,例如存儲器、可移動或不可移動的介質、可擦除或不可擦除的介質、可寫或可重寫的介質、數字或模擬介質、硬碟、軟盤、壓縮盤只讀存儲器(CD-ROM)、壓縮盤可記錄(CD-R)、壓縮盤可重寫(CD-RW)、光碟、磁介質、各種類型的數字多用途盤(DVD)、磁帶、卡帶等。指令可以包括任何適當類型的代碼,例如原始碼、編譯後的代碼、解釋後的代碼、可執行代碼、靜態代碼、動態代碼等。可以使用任何高級、低級、面向對象的、可視的(visual)、經過編譯的和/或經過解釋的程式語言來實現所述指令,例如C、C++、Java、BASIC、Perl、Matlab、VisualBASIC、彙編語言、機器碼等。實施方案在該上下文中並不受限。
除非另行特別指出,可以理解,諸如「處理」、「計算」、「運算」、「確定」等術語指的是計算機或計算系統、或類似的電子計算設備將該計算系統的寄存器和/或存儲器內被表示為物理量(例如,電量)的數據操縱和/或變換成在該計算系統的存儲器、寄存器或其他這樣的信息存儲、傳輸或顯示設備內被類似表示為物理量的其他數據的動作和/或過程。實施方案在該上下文中並不受限。
雖然這裡已經圖示說明了多個實施方案的某些特徵,但是本領域的技術人員將會實現很多修改、替換、改變和等同物。因此可以理解的是,所附權利要求書想要覆蓋落入所述實施方案的真實精神之內的所有這樣的修改和改變。
權利要求
1.一種裝置,包括消息編碼器,該編碼器用消息對來自數字對象的幀進行編碼,以形成嵌入幀,所述消息包括用於完成加指紋操作的程序指令。
2.如權利要求1所述的裝置,其中所述消息編碼器將所述消息作為數字水印嵌入所述幀。
3.如權利要求1所述的裝置,其中所述數字對象包括音頻信息,所述幀包括音頻幀。
4.如權利要求1所述的裝置,其中所述數字對象包括視頻信息,所述幀包括視頻幀。
5.如權利要求1所述的裝置,其中所述消息包括數字籤名。
6.如權利要求1所述的裝置,其中所述消息包括靜態元數據,該靜態元數據代表將由所述程序指令實施的一組策略。
7.一種裝置,包括消息解碼器,該解碼器從代表數字對象的嵌入幀中解碼出消息,所述消息包括用於完成加指紋操作的程序指令。
8.如權利要求7所述的裝置,其中所述消息解碼器包括指紋數據提取器和指紋執行應用,所述指紋數據提取器從所述嵌入幀中提取出具有所述程序指令的所述消息,並且所述指紋執行應用管理所述程序指令的執行,以完成所述加指紋操作。
9.如權利要求7所述的裝置,其中所述消息包括所述嵌入幀中的數字水印。
10.如權利要求7所述的裝置,其中所述數字對象包括音頻信息,所述裝置還包括處理器,該處理器執行所述程序指令,以生成所述音頻信息的音頻指紋。
11.如權利要求7所述的裝置,其中所述數字對象包括視頻信息,所述裝置還包括處理器,該處理器執行所述程序指令,以生成所述視頻信息的視頻指紋。
12.如權利要求7所述的裝置,其中所述消息包括數字籤名。
13.如權利要求7所述的裝置,其中所述消息包括靜態元數據,該靜態元數據代表將由所述程序指令實施的一組策略。
14.一種系統,包括內容編碼器,其編碼數字對象,以形成內容信息的幀;連接到所述內容編碼器的消息編碼器,所述消息編碼器用消息來編碼所述幀,以形成嵌入幀,所述消息包括用於完成加指紋操作的程序指令;以及連接到所述消息編碼器的發射器,所述發射器發送所述嵌入幀。
15.如權利要求14所述的系統,還包括連接到發射器的天線。
16.如權利要求14所述的系統,其中所述數字對象包括音頻信息和視頻信息。
17.如權利要求14所述的系統,其中所述消息編碼器將所述消息作為數字水印嵌入所述幀。
18.如權利要求14所述的系統,包括接收所述嵌入幀的接收器;以及連接到所述接收器的消息解碼器,所述消息解碼器包括指紋數據提取器和指紋執行應用,所述指紋數據提取器從所述嵌入幀中提取出具有所述程序指令的所述消息,並且所述指紋執行應用管理所述程序指令的執行,以完成所述加指紋操作。
19.如權利要求18所述的系統,其中所述數字對象包括音頻信息,所述系統還包括處理器,該處理器執行所述程序指令,以生成所述音頻信息的音頻指紋。
20.如權利要求18所述的系統,其中所述數字對象包括視頻信息,所述系統還包括處理器,該處理器執行所述程序指令,以生成所述視頻信息的視頻指紋。
21.一種方法,包括接收來自數字對象的幀;接收具有用於完成加指紋操作的程序指令的消息;以及用所述消息來編碼所述幀。
22.如權利要求21所述的方法,包括將所述消息作為數字水印來編碼所述幀。
23.如權利要求21所述的方法,包括為所述數字水印生成數字籤名。
24.如權利要求21所述的方法,還包括接收所述嵌入幀;從所述嵌入幀中提取具有所述程序指令的所述消息;以及執行所述程序指令,以完成所述加指紋操作。
25.如權利要求24所述的方法,其中所述數字對象包括音頻信息,並且執行所述程序指令,以生成所述音頻信息的音頻指紋。
26.如權利要求24所述的方法,其中所述數字對象包括視頻信息,並且執行所述程序指令,以生成所述視頻信息的視頻指紋。
27.一種製品,包括其上存儲指令的介質,所述指令在由處理器執行時可實現接收來自數字對象的幀,接收具有用於完成加指紋操作的程序指令的消息,並且用所述消息來編碼所述幀。
28.如權利要求27所述的製品,還存儲有以下指令,所述指令在由處理器執行時可實現將所述消息作為數字水印來編碼所述幀。
29.如權利要求27所述的製品,還存儲有以下指令,所述指令在由處理器執行時可實現接收所述嵌入幀,從所述嵌入幀中提取具有所述程序指令的所述消息,並且執行所述程序指令,以完成所述加指紋操作。
30.如權利要求29所述的製品,還存儲有以下指令,所述指令在由處理器執行時可實現執行所述程序指令,以生成音頻指紋或視頻指紋。
全文摘要
描述了使用加水印和加指紋技術來管理數字媒體的方法和裝置。
文檔編號H04L9/00GK1777091SQ20051012330
公開日2006年5月24日 申請日期2005年11月17日 優先權日2004年11月17日
發明者迪拉基·巴特, 拉賈·尼歐基 申請人:英特爾公司