壓縮視頻中的語法元素的兼容cabac/avc的水印加注的製作方法
2023-06-10 12:54:31
專利名稱:壓縮視頻中的語法元素的兼容cabac/avc的水印加注的製作方法
技術領域:
本發明涉及一種用於產生可應用於壓縮視頻流的、可接受水印的列表的方法。
背景技術:
當今,強烈需求作為反盜版技術的數字水印加注。為了使得盜版者規避水印更加困難,重要的是提出並使用眾多的潛在水印。然而,重要的是水印不幹擾目標觀眾 (intended audience)的目標觀看體驗。同樣,存在對於更有效的水印加注技術的需求。同樣,本發明的目的在於生成通常與水印加注相關聯的可能改變的列表,所述可能改變兼容 (compliantKABAC/AVC(基於上下文的自適應二進位算術編碼/高級視頻壓縮)而不產生可見的偽像。
發明內容
一種產生可接受水印的列表的方法,包括取得編碼數據;取得、生成或者編譯對編碼數據的改變的列表;移除不滿足要求的改變(例如,造成偽像的那些改變),由此產生過濾後的改變的過濾列表;並且向編碼數據應用過濾列表中至少一個過濾後的改變。編碼數據可以是壓縮的視頻數據,所述壓縮的視頻數據可以處於CABAC編碼的H. 264/AVC視頻流中。過濾後的改變可以是可接受水印。該方法可以包括以下步驟確定對於至少一個參考塊的運動矢量差分並且確定至少一個當前塊對於至少一個參考塊的運動矢量差分。運動矢量差分的比較可以用於對來自列表的改變進行過濾。該方法可以包括以下步驟確定當前塊的語法元素以及對當前塊的改變的語法元素;並且將運動矢量差分值設置為至少3個類別第一類別用於等於零的各值,第二類別用於大於零並且小於最大值的一值或者多值, 以及第三類別用於大於第二類別中的值到最大值的一值或多值。另外,該方法可以包括以下步驟對第二類別中的運動矢量差分值的語法元素應用前綴值;並且對第二類別中的運動矢量差分值的語法元素應用後綴值。此外,該方法可以包括以下步驟確定當前塊的編碼變量範圍以及對當前塊的改變的編碼變量範圍,其中編碼變量範圍是對於給定的比特長度可能的值;並且比較所述改變的編碼變量範圍和當前塊的運動矢量差分值;過濾具有不包含當前塊的運動矢量差分值的編碼變量範圍的改變;並且確定當前塊的比特長度以及對當前塊的改變的比特長度。該方法可以包括以下步驟對於對當前塊的改變,比較當前塊的比特長度;並且過濾具有與當前塊的比特長度不相等的比特長度的改變,其中可以與基於編碼變量確定的過濾結合地進行基於比特長度的改變的過濾。
提供了一種CABAC編碼引擎等,其適配於執行包括以下步驟的方法取得視頻數據;取得或者生成對於視頻數據的水印或者可能改變的列表;確定視頻數據的當前塊的語法元素和具有水印的當前塊的語法元素;基於當前塊的語法元素和具有水印的當前塊的語法元素之間的差移除水印,由此產生所接受水印的過濾列表。該引擎等中的移除步驟還可以包括(1)確定當前塊的編碼變量範圍、以及具有來自所述列表的水印的當前塊的編碼變量範圍;比較當前塊的編碼變量範圍和具有來自所述列表的水印的當前塊的編碼變量範圍;並且濾除產生當前塊的編碼變量範圍之外的編碼變量範圍的水印;和/或包括(2)確定當前塊的比特長度、以及具有來自所述列表的水印的當前塊的比特長度;比較當前塊的比特長度和具有來自所述列表的水印的當前塊的比特長度;並且移除產生與當前塊的比特長度不相等的比特長度的水印。可以採用另一移除步驟,其移除在被應用到當前塊的情況下不夠魯棒或者造成偽像的可接受改變。
現在將參照附圖藉助示例來描述本發明。
圖1是根據本發明的圖示有效的可替換mvd尾部後綴(rear-suffix)值的收集和編碼的仿真的框圖。
圖2圖示基於編碼器的CBC系統架構。
圖3圖示基於編解碼器的框架。
具體實施例方式現在將在CABAC編碼的H. ^4/AVC視頻流的背景中大體描述本發明的實施例。然而,實施例可以具有更廣泛的應用。
重要的是首先指出CABAC編碼的H. ^4/AVC視頻流可以包括編碼的運動矢量差分 (mvd)。在H. 264中,許多塊的像素值是這樣編碼的首先從之前編碼的數據來預測它們的值並且然後編碼該預測值和實際值之間的差。一種被稱為幀間預測的預測方法從被稱為參考幀的不同幀中的類似大小的數據塊來預測當前塊。通過參考幀的索引、以及指示參考塊相對於當前塊位置的水平偏移和垂直偏移的一組運動矢量來標識該參考塊。
相鄰塊的運動矢量可能彼此相關。為了利用該相關性,H. 264可以對運動矢量應用預測編碼。一個塊的運動矢量是這樣編碼的首先從之前編碼的數據來預測所述運動矢量的值並且然後編碼該預測運動矢量值和實際運動矢量值之間的差。
該差(被稱為運動矢量差分(mvd))是至少一種實施方案的關注點。其還是語法元素的示例。
簡單地以二進位碼元0表示運動矢量差分值0。將該0與上下文索引一起發送給 CABAC寫入器(writer)。CABAC寫入器將使用該上下文和二進位碼元作為輸入並且將修改該上下文。需要注意到指示零值mvd的該碼元0的編碼受到CABAC上下文的影響並且繼而影響CABAC上下文。利用符號和量值來表示所有其它的mvd。量值首先被編碼,之後是符號被編碼。可以利用被稱為mvd前綴的單一值來編碼具有1和8之間的量值的運動矢量差分。更大的mvd還將需要mvd後綴。如以下所述,這兩個值被分開編碼。
關於mvd前綴的編碼,將被稱為mvdm的新值定義作為abs (mvd)-1。對於0和7之間(包括0和7)的mvdm的值,mvdm指示在該前綴中接著的二進位碼元1的數量。這些碼元1被二進位碼元0終止。對於8或者更大的mvdm的值,將8個碼元1寫入該前綴並且該前綴之後跟隨有後綴。在表1中總結了 mvd前綴的編碼。
表1 :mvd前綴的二進位化
權利要求
1.一種方法,包括 取得編碼數據;產生、編譯、或者取得可應用於編碼數據的改變的列表;移除在被應用到編碼數據的情況下不滿足至少一個所定義的準則的改變,由此產生過濾後的改變的過濾列表;以及向編碼數據應用過濾列表中至少一個過濾後的改變。
2.根據權利要求1的方法,其中所述改變是水印。
3.根據權利要求1的方法,其中編碼數據是壓縮視頻,並且至少一個所定義的準則是在應用所述改變的情況下可見偽像的可見性。
4.如權利要求3的方法,包括 確定所述改變的運動矢量差分;確定至少一個當前塊的運動矢量差分;將對於至少一個當前塊的改變的運動矢量差分與至少一個當前塊的運動矢量差分進行比較;以及使用運動矢量差分的比較來移除改變。
5.如權利要求4的方法,包括確定至少一個當前塊的語法元素和對至少一個當前塊的改變的語法元素。
6.根據權利要求5的方法,包括將運動矢量差分值設置為至少3個類別,其中第一類別用於等於零的各值,第二類別用於大於零並且小於最大值的一值或者多值,以及第三類別用於大於第二類別中的值到最大值的一值或多值;對於第二類別中的運動矢量差分值,將前綴值應用到語法元素;以及對於第二類別中的運動矢量差分值,將後綴值應用到語法元素。
7.根據權利要求6的方法,包括確定至少一個當前塊的編碼變量範圍和對所述至少一個當前塊的改變的編碼變量範圍,其中編碼變量範圍是對於給定比特長度的可能的值。
8.根據權利要求7的方法,包括比較對至少一個當前塊的改變的編碼變量範圍和至少一個當前塊的運動矢量差分值; 對具有不包含所述至少一個當前塊的運動矢量差分值的編碼變量範圍的改變進行過濾;確定所述至少一個當前塊的比特長度以及對所述至少一個當前塊的改變的比特長度。
9.根據權利要求8的方法,包括比較所述至少一個當前塊的比特長度和對所述至少一個當前塊的改變的比特長度; 移除產生與所述至少一個當前塊的比特長度不相等的比特長度的改變;以及移除產生與所述至少一個當前塊的運動矢量差分值不相等的編碼變量範圍的改變。
10.根據權利要求2的方法,其中所述數據是CABAC編碼的視頻流。
11.根據權利要求10的方法,包括確定編碼變量,其中所述編碼變量包括codlLow和bitOutstanding ;以及將codlLow和bitOutstanding設置為所述至少一個所定義的準則,其中從所述列表中移除導致不同的codlLow和bitOutstanding的改變。
12.一種方法,包括取得編碼視頻數據;取得、編譯、或者生成對於編碼視頻數據的可能改變或水印的列表; 確定用於視頻數據的當前塊的語法元素和具有所述可能改變或水印的當前塊的語法元素;以及基於當前塊的語法元素和當前塊的語法元素之間的差來移除造成可見偽像的可能改變,由此產生可接受改變或水印的過濾列表。
13.根據權利要求12的方法,包括確定當前塊的編碼變量範圍和具有來自所述列表的水印或改變的當前塊的編碼變量範圍;以及比較當前塊的編碼變量範圍和具有來自所述列表的改變或水印的當前塊的編碼變量範圍;以及濾除產生當前塊的編碼變量範圍之外的編碼變量範圍的改變或水印。
14.根據權利要求12的方法,包括確定當前塊的比特長度和具有來自所述列表的改變或水印的當前塊的比特長度; 比較當前塊的比特長度和具有來自所述列表的水印的當前塊的比特長度;以及移除產生與所述當前塊的比特長度不相等的比特長度的改變或水印。
15.根據權利要求12的方法,其中所述數據是CABAC編碼的視頻流並且其中所述方法還包括以下步驟確定編碼變量,其中所述編碼變量包括codlLow和bitOutstanding ;以及將codlLow和bitOutstanding設置為至少一個所定義的準則,其中從所述列表中移除導致不同的codlLow和bitOutstanding的可能改變或水印。
16.根據權利要求15的方法,包括CABAC熵解碼所述數據以獲得在確定步驟中的語法元素;以及CABAC熵編碼所述語法元素使得生成標識有效的可替換語法元素的列表。
17.一種方法,包括 取得視頻數據;取得、生成、或者編譯對於視頻數據的水印的列表;確定視頻數據的當前塊的語法元素和具有所述水印的當前塊的語法元素;以及基於當前塊的語法元素和具有水印的當前塊的語法元素之間的差來移除水印,由此產生可接受水印的過濾列表。
18.根據權利要求17的方法,其中,移除步驟包括確定當前塊的編碼變量範圍和具有來自所述列表的水印的當前塊的編碼變量範圍; 比較當前塊的編碼變量範圍和具有來自所述列表的水印的當前塊的編碼變量範圍; 濾除產生當前塊的編碼變量範圍之外的編碼變量範圍的水印; 其中,移除步驟還包括確定當前塊的比特長度和具有來自所述列表的水印的當前塊的比特長度; 比較當前塊的比特長度和具有來自所述列表的水印的當前塊的比特長度;以及移除產生與所述當前塊的比特長度不相等的比特長度的水印。
19.根據權利要求17的方法,包括移除在被應用於當前塊的情況下造成偽像的可接受水印,由此產生過濾後的可接受水印的進一步的過濾列表;並且其中所述數據是CABAC編碼的視頻流。
20.根據權利要求19的方法,包括確定編碼變量,其中所述編碼變量包括codlLow和bitOutstanding ; 將codlLow和bitOutstanding設置為至少一個所定義的準則,其中從所述列表中移除導致不同的codlLow禾口 bitOutstanding的水印;對於語法元素的給定原始值,收集有效的可替換尾部後綴值; 編碼原始值;保存編碼原始值之後的新狀態; 將編碼之後的狀態與原始值進行比較;以及如果新狀態與原始值相同,則編碼新狀態作為有效的可替換尾部後綴,由此有效的可替換尾部後綴將表明在過濾列表上放置水印的準則。
全文摘要
一種方法,包括以下步驟取得編碼視頻數據;取得對於編碼視頻數據的水印的列表;確定視頻數據的當前塊的語法元素和具有所述水印的當前塊的語法元素;基於當前塊的語法元素和具有水印的當前塊的語法元素之間的差移除造成可見偽像的水印,由此產生可接受水印的過濾列表。該方法還可以包括確定當前塊的編碼變量範圍和具有來自所述列表的水印的當前塊的編碼變量範圍;比較當前塊的編碼變量範圍和具有來自所述列表的水印的當前塊的編碼變量範圍;並且濾除產生當前塊的編碼變量範圍之外的編碼變量範圍的水印。另外,該方法可以包括確定當前塊的比特長度和具有來自所述列表的水印的當前塊的比特長度;比較當前塊的比特長度和具有來自所述列表的水印的當前塊的比特長度;並且濾除產生與當前塊的比特長度不相等的比特長度的水印。
文檔編號G06T1/00GK102187672SQ200980141297
公開日2011年9月14日 申請日期2009年8月17日 優先權日2008年8月19日
發明者鄒德坤, 傑弗裡·A·布盧姆, 何杉 申請人:湯姆森特許公司