使用加密、解密來保護數據流的方法、編碼和解碼裝置的製作方法
2023-04-23 00:53:56
專利名稱:使用加密、解密來保護數據流的方法、編碼和解碼裝置的製作方法
技術領域:
本發明涉及一種方法、編碼裝置和解碼裝置,用於在數據編碼器中利用加密保護具有代碼表的數據流,或者用於在數據解碼器中利用相應的解密對具有代碼表的被保護數據流解碼。
數字視頻或音頻數據的加密和複製防止是廣為討論的主題。存在類似於DTCP(數字傳輸內容保護)或者XCA(擴展條件訪問)這樣的幾種方案。這些方案使用已知的數據流加密算法並且需要相當量大的附加硬體用於視頻和音頻數據的加密和解密。
歐洲專利EP-A-0582122公開的一種特定的加密方法,其中解碼被編碼的數字視頻和音頻數據所需的VLC(可變長編碼)代碼字使用要被發送的VLC代碼字的永久加密編碼法來加密。加密的代碼字在標準的解碼器中是不能使用的,因為所發送的加密代碼字不能正確地轉換,或者所發送的加密代碼字不能在存儲於接收器的VLC代碼本表格中找到。
例如,MPEG-2視頻標準包括VLC代碼的使用,以產生編碼的數據。接收器必須知道已經在編碼器中應用的代碼表,以便於能夠解碼可變長編碼的數據流。如果不知道編碼器VLC代碼表,則不能夠解碼所發送的數據。因此,在編碼時使用任何非標準化非公共的VLC代碼表,則VLC字是對這種MPEG-2視頻數據的強有力的數據內容保護。所需的VLC代碼表可以被當作用於訪問數據內容的密鑰。
在歐洲專利EP-A-0582122中所述的系統的缺點在於需要VLC代碼字的實時加密/解密處理。但是,視頻或音頻數據代碼字的實時編碼和加密以及相應的解碼和解密需要高速複雜的硬體。
根據本發明,幾種不同的VLC代碼表或者VLC代碼表的幾個不同集合用於編碼器和解碼器中。在規則或不規則的時刻,不同的VLC代碼表或VLC代碼表的集合在編碼器和解碼器中被同步選擇。關於所選擇的VLC代碼表或VLC代碼表的集合的信息被使用加密發送。相應的VLC代碼表的集合可以存儲在解碼器中。
作為一種變形或者補充,更新的VLC代碼表或者VLC代碼表的集合可以從編碼器發送到解碼器。這提高了系統的安全性。
最好,所發送的VLC代碼表或者VLC代碼表的集合也被加密。在這種情況下,上述關於所選擇VLC代碼表或者VLC代碼表的集合的信息能夠以非加密格式發送。
在發射器中的編碼器和在接收器中的解碼器僅僅需要略微的改動,以利用用戶可定義的VLC代碼表進行上述VLC編碼和VLC解碼。幾乎不需要附加硬體來實現本發明。
有利的是,可以不需要實時地進行加密和解密。
本發明的一個目的是公開一種不需要實時加密或解密的用於VLC編碼數據內容的保護的方法。該目的是通過權利要求1中公開的方法來實現的。
本發明的另一個目的是公開一種利用本發明的方法的編碼裝置和解碼裝置。該目的是通過權利要求6和8中公開的裝置來實現的。
原則上說,本發明的方法是用於利用在數據解碼器中的加密或者在數據解碼器中的解密來保護數據流,其中所述數據流的編碼和解碼所需的代碼表在規則或不規則的時刻改變。
本發明方法的優選附加實施例在各個從屬權利要求中公開。
原則上,本發明的編碼裝置適用於利用加密保護要被編碼的數據流,其中包括用於編碼輸入信號的裝置;用於進一步利用代碼表進行編碼的後續裝置,其中所述用於進一步編碼的裝置使用對所述數據流編碼所需的代碼表,並且其中該代碼表在規則或不規則的時刻改變。
原則上,本發明的解碼裝置適用於利用解密對所保護的數據流進行解碼,其中包括用於使用代碼表進行初始解碼的裝置;用於進一步解碼或者提供重構數據的後繼裝置;
用於從所述數據流識別所接收的代碼表信息的裝置,該裝置位於用來初始解碼的所述裝置的上遊;用於解密和估算所述接收的代碼表信息以及用於控制所述初始解碼裝置以使用正確初始解碼所需的代碼表的裝置,其中所述初始解碼裝置使用在規則或不規則時刻改變的代碼表。
本發明的優選附加實施例在各個從屬權利要求中公開。
參照附圖描述本發明的實施例,其中
圖1為本發明的編碼器和解碼器的方框圖。
在圖1中,輸入信號IP通過編碼器ENC到達VLC編碼器VLCE。
如果ENC是一個視頻編碼器,則它可能包括眾所周知的減法組合器、DCT變換器、量化器、反量化器、反DCT變換器和圖塊數值預測器組成的環路。預測的和對應運動補償像素塊值被饋送到所述組合器的減法輸入端。在幀內或場內編碼的情況下,組合器把原始輸入的信號像素塊數值輸出到所述DCT變換器。在幀間或場間編碼,即,預測編碼的情況下,組合器把原始輸入信號像素塊數值與相應的重構預測和運動補償的像素塊數值之間的差值輸出到所述DCT變換器。量化器的輸出信號然後饋送到VLCE,其中通常包括一個緩衝器,該緩衝器的填充程度控制量化器和反量化器的特性。VLCE輸出通常可能具有或者可能不具有恆定數據速率的數據流DS。
如果ENC是音頻編碼器,則它可能包括窗函數、頻譜變換器、二次採樣器、量化器和比例因子或指數計算器。例如,比例因子或指數和/或量化係數或者尾數和/或它們的字長可以在VLCE中使用VLC代碼表或非VLC代碼表來編碼。VLCE通常使用一個VLC代碼表或者不同的VLC代碼表用於要被編碼的不同類型的數據流的數據。
用於VLCE中的VLC代碼表可以從所存儲的一個或可以被更新的代碼表中選擇。它們被從VLC發生器VLCG中取出。VLCG可以存儲VLC代碼表的選擇,或者在更新的情況下可以計算新的VLC代碼表。上述加密是使用公共密鑰加密系統PKES產生的。PKES通過VLC加密控制器VLCECRY控制VLCG和VLCE。加密可以用不同方式執行a)在所發送的數據流中,加密信息被發送,該信息關於在VLCE中所使用的VLC代碼表,並且關於從所存儲的代碼表的集合中選擇的要用於在接收器解碼器中的相應VLC解碼器VLCD中的代碼表。加密信息描述所存儲的VLC代碼表被用於VLCE和用於接收器解碼器中的時刻。
b)用於VLCE中以及要用在接收器VLCD中的VLC代碼表被在發射之前加密。新的加密VLC代碼表用於VLCE和用於接收器解碼器中的時刻可以與時間標記或者與數據流一同發送的參考時間相聯繫。該時間標記或參考時間也可以被加密。
c)a)和b)的第一組合,其中當前所需的VLC代碼表之外,沒有其它這種用於以前或以後使用的VLC代碼表被存儲在接收器的解碼器中。
d)a)和b)的第二組合,其中除了當前所需的VLC代碼表之外,其它這種用於以前或以後使用的VLC代碼表存儲在接收器的解碼器中。
e)a)和b)以及最後的c)或d)的第三組合,其中關於在VLCE中所用的VLC代碼表的所述信息以及關於要用在接收器的解碼器中的相應VLC解碼器VLCD的所述信息以非加密格式發送。
f)b)和最後的c)和d)的另一種組合,其中關於在VLCE中所用的VLC代碼表的所述信息以及關於要用在接收器的解碼器中的相應VLC解碼器VLCD的所述信息以非加密格式發送。
接收器的解碼器在位於其輸入端的VLC信息檢測器中識別與數據流一同接收的加密VLC信息。該VLC信息在VLC解密器VLCDCRY中解密,然後當執行VLC解碼時用於VLC解碼器VLCD中。VLCDCRY由公共密鑰解密系統PKDS所控制。VLC解碼數據字被進一步在提供重構的視頻或音頻輸出數據OP的解碼器DEC中處理。VLCD和DEC執行對應於在發射器的編碼器中的ENC和VLCE的反向功能。
解密的VLC信息根據上述a)至f)用在VLCD中A)根據所發送選擇和/或時間信息,使用至少一個存儲在VLCD中的VLC代碼表。
B)最後在所述時刻使用VLCD中的新加密的VLC代碼表。
C)A)和B)的對應第一組合。
D)A)和B)的對應第二組合。
E)A)和B)以及最後的C)或D)的對應第三組合,其中關於要用在VLCD中的VLC代碼表的所述信息以非加密格式發送。
F)B)和最後的C)或D)的對應的另一個實施例,其中所述關於要用在VLCD中的VLC代碼表的所述信息以非加密格式發送。
對於PKES和PKDS,可以使用例如類似於RSA的公知公共密鑰加密算法或者最好使用類似於DES(數據加密標準)的對稱加密系統。
與實際複製防止方案的實現相比,該方案包括每次當數據流從一個設備發送到另一個設備時對整個MPEG-2數據流進行加密和解密,在接收器中執行的其它步驟需要更少的硬體要求。
有利的是,用非標準化的數據流編碼,非公共VLC代碼表可以被公布並且複製而不需要進一步的處理-即複製防止-,因為除非解碼器知道所需的相應VLC代碼表,否則這種數據流不能夠被解碼或顯示或者演示。
有利的是,加密和複製防止問題從實時動態操作轉變為不需要實時的加密和解密操作。另外,VLC代碼表的加密還允許對數據內容的條件訪問,因為它允許選擇能夠解碼VLC代碼字和相應數據流。
本發明可以應用於所有基於VLC編碼的標準,例如MPEG-1視頻和/或音頻層3、MPEG-2視頻和/或音頻層3和AAC、H.261、H.263以及MPEG-4視頻和/或音頻層3和AAC。
本發明不限於基於VLC的編碼標準,而且可以用於需要代碼字表格來解碼的任何編碼/解碼系統,例如在MPEG-1或MPEG-2音頻層1或層2標準中、在AC-3和MD音頻編碼標準中、以及在DV視頻編碼標準中。
權利要求
1.一種在數據編碼器(ENC,VLCE)中使用加密(PKDS)或者在數據解碼器(VLCD,DEC)中使用相應的解密(PKDS)的用於保護數據流(DS)的方法,其特徵在於,所述數據流的加密和解密所需的代碼表(VLCG)在規則或不規則時刻改變。
2.根據權利要求1所述的方法,其特徵在於,所述數據編碼器或數據解碼器分別是視頻或音頻編碼器或者視頻或音頻解碼器。
3.根據權利要求1或2所述的方法,其特徵在於,所述代碼表是VLC代碼表。
4.根據權利要求1至3中的任何一項所述的方法,其特徵在於,在發生改變之間的代碼表存儲(VLCG)在所述數據編碼器或者數據解碼器中,並且所要求的改變命令被分別加密(PKES,VLCECRY)或者解密(PKDS,VLCDCRY)。
5.根據權利要求1至4中的任何一項所述的方法,其特徵在於,為了改變代碼表,分別更新的代碼表(VLCG)被以加密(PKES,VLCECRY)格式發送到所述數據解碼器,並且在用於解碼(VLCD)之前被在所述數據解碼器中解密(PKDS,VLCDCRY),從而所要求的改變命令能夠以非加密格式發送。
6.一種用於利用加密(PKES)保護要被編碼的數據流(DS)的編碼裝置,其中包括-用於編碼輸入信號(IP)的裝置(ENC);-用於進一步利用代碼表進行編碼的後續裝置(VLCE),其特徵在於,所述用於進一步編碼的裝置(VLCE)使用對所述數據流編碼所需的代碼表,並且其中該代碼表在規則或不規則的時刻改變。
7.根據權利要求6所述的編碼裝置,其特徵在於所述數據流包含視頻和音頻數據和/或其中所述代碼表是VLC代碼表。
8.一種用於利用解密(PKDS)對所保護的數據流(DS)進行解碼的解碼裝置,其中包括-用於使用代碼表進行初始解碼的裝置(VLCD);-用於進一步解碼和提供(OP)重構數據的後繼裝置(DEC),其特徵在於-用於從所述數據流識別所接收的代碼表信息的裝置(VLCD),該裝置位於用來初始解碼的所述裝置的上遊;-用於解密和估算所述接收的代碼表信息以及用於控制所述初始解碼裝置(VLCD)以使用正確初始解碼所需的代碼表的裝置(VLCDCRY,PKDS),其中,所述初始解碼裝置(VLCD)使用在規則或不規則時刻改變的代碼表。
9.根據權利要求8所述的解碼裝置,其中所述數據流包含視頻和音頻數據和/或其中所述代碼表是VLC代碼表。
10.根據權利要求6至9中的任何一項所述的裝置,其特徵在於,在發生改變之間的代碼表被存儲在所述裝置中,並且所要求的改變命令在發送之前或所述解碼裝置中解密之前分別在所述編碼裝置中加密,或者為了改變代碼表,分別更新的代碼表被使用,分別由所述編碼裝置以加密(PKES,VLCECRY)格式發送,或者在使用之前在所述解碼裝置中解密(PKDS,VLCDCRY),從而所要求的改變命令能夠以非加密方式發送。
全文摘要
在本發明中,幾種不同的VLC代碼表用於編碼器和解密器中。在編碼器和解碼器中,在規則或不規則的時刻同步選擇不同的VLC代碼表。關於所選擇代碼表的信息被加密發送。對應的代碼表的集合可以存儲在解碼器中。另外,更新和可能加密的VLC代碼表可以從編碼器發送到解碼器,從而關於所選擇的VLC代碼表的信息可以在非加密格式中發送。因此,不需要對VLC代碼字進行實時加密/解密處理,並且不需要高速複雜的硬體。
文檔編號H04N7/167GK1308463SQ0110197
公開日2001年8月15日 申請日期2001年1月19日 優先權日2000年2月9日
發明者克勞斯·格特克, 哈特穆特·彼得斯, 赫伯特·許策 申請人:德國湯姆森-布蘭特有限公司