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