亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種視頻圖像的編碼和解碼方法及裝置制造方法

文檔序號:7981653閱讀:218來源:國知局
一種視頻圖像的編碼和解碼方法及裝置制造方法
【專利摘要】本發(fā)明實施例涉及視頻圖像處理【技術(shù)領(lǐng)域】,特別涉及一種視頻圖像的編碼和解碼方法及裝置,用于解決現(xiàn)有技術(shù)中存在的不能獲知視頻圖像是否已遭到篡改的問題。本發(fā)明實施例視頻圖像的編碼方法包括:對待編碼視頻圖像的各宏塊進行離散余弦變換DCT處理和量化處理,得到各宏塊對應(yīng)的DCT系數(shù)塊;更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;將待編碼視頻圖像的各宏塊的所有更新后的DCT系數(shù)塊進行熵編碼,以確定該待編碼視頻圖像的碼流。本發(fā)明實施例能夠在DCT域上來抵御對DCT系數(shù)塊的元素的攻擊,使得在解碼過程中能夠確定解碼得到的視頻圖像是否已被篡改,提高了編碼和解碼過程的安全性。
【專利說明】一種視頻圖像的編碼和解碼方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻圖像處理【技術(shù)領(lǐng)域】,特別涉及一種視頻圖像的編碼和解碼方法及
>J-U ρ?α裝直。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)和多媒體技術(shù)的發(fā)展,使互聯(lián)網(wǎng)上出現(xiàn)了越來越多的流媒體應(yīng)用,互聯(lián)網(wǎng)絡(luò)加速了數(shù)字媒體的傳播,方便了用戶使用數(shù)字媒體文件。由于視頻的數(shù)據(jù)量非常大,如果未經(jīng)壓縮就進行傳輸或使用,容易造成通信線路故障、數(shù)據(jù)存儲容量緊張等問題。因此,在傳輸或存儲視頻數(shù)據(jù)時需要對視頻數(shù)據(jù)進行編、解碼處理,通過數(shù)據(jù)壓縮編碼技術(shù),將視頻以壓縮形式進行存儲、傳輸,既節(jié)約了存儲空間,又提高了傳輸效率,同時也可使計算機實時處理音頻、視頻信息,以保證播放出高質(zhì)量的視頻、音頻節(jié)目。
[0003]H.264標準是由JVT (Joint Video Team,視頻聯(lián)合工作組)組織提出的新一代數(shù)字視頻編碼器和解碼器的標準,是一種高性能的視頻編、解碼技術(shù)。由于H.264標準的編、解碼效率高,并能夠在低碼率情況下提供高質(zhì)量的視頻圖像,因此,H.264標準廣泛應(yīng)用于固定可視電話、移動可視電話、實時視頻會議、視頻監(jiān)控系統(tǒng)、網(wǎng)絡(luò)電視、手機電視以及因特網(wǎng)(Internet)視頻等的多媒體信息的傳輸、存儲等。
[0004]編碼處理后得到的碼流(bitstream)在傳輸或存儲過程中,很容易遭到不法分子的非法篡改,不法分子將編碼處理后得到的碼流進行解碼處理,得到視頻圖像,并對視頻圖像進行非法篡改,再將篡改后的視頻圖像進行編碼處理;在對獲取到的碼流進行解碼處理的過程中無法獲知該視頻圖像是否被篡改,因此,存在很大的安全隱患。
[0005]綜上所述,現(xiàn)有的編、解碼處理過程中,不能獲知視頻圖像是否已遭到篡改,從而存在安全隱患。

【發(fā)明內(nèi)容】

[0006]本發(fā)明實施例提供了一種視頻圖像的編碼和解碼方法及裝置,用于解決現(xiàn)有技術(shù)中存在的不能獲知視頻圖像是否已遭到篡改,從而存在安全隱患的問題。
[0007]本發(fā)明實施例提供了一種視頻圖像的編碼方法,包括:
[0008]對待編碼視頻圖像的各宏塊進行離散余弦變換DCT處理和量化處理,得到各宏塊對應(yīng)的DCT系數(shù)塊;
[0009]更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;具體為:針對當前宏塊對應(yīng)的每個DCT系數(shù)塊,根據(jù)前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個DCT系數(shù)塊對應(yīng)的第一控制向量,確定當前DCT系數(shù)塊對應(yīng)的第一控制向量,并根據(jù)當前DCT系數(shù)塊對應(yīng)的第一控制向量的元素值,更新當前DCT系數(shù)塊的元素值;以及根據(jù)當前宏塊的每個更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第一控制矩陣;其中初始的第一控制矩陣為僅包含O和I的矩陣,初始的第一控制向量為零向量;
[0010]將所述待編碼視頻圖像的各宏塊所有更新后的DCT系數(shù)塊進行熵編碼,以確定所述待編碼視頻圖像的碼流。
[0011]本發(fā)明實施例提供了一種視頻圖像的解碼方法,包括:
[0012]對獲取到的編碼處理后的碼流進行處理,得到視頻圖像中各宏塊對應(yīng)的離散余弦DCT系數(shù)塊;
[0013]更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;具體為:針對當前宏塊對應(yīng)的每個DCT系數(shù)塊,根據(jù)前一個宏塊對應(yīng)的第二控制矩陣中確定的行向量與前一個DCT系數(shù)塊對應(yīng)的第二控制向量,確定當前DCT系數(shù)塊對應(yīng)的第二控制向量,并根據(jù)當前DCT系數(shù)塊對應(yīng)的第二控制向量的元素值,更新當前DCT系數(shù)塊的元素值;其中初始的第二控制矩陣的元素值與編碼處理中確定的初始的第一控制矩陣的元素值相同,初始的第二控制向量為零向量;
[0014]在確定當前DCT系數(shù)塊的非零元素的值與當前DCT系數(shù)塊對應(yīng)的第二控制向量的元素值滿足觸發(fā)條件時,發(fā)出告警信息。
[0015]本發(fā)明實施例提供了一種視頻圖像的編碼裝置,包括:
[0016]第一編碼處理模塊,用于對待編碼視頻圖像的各宏塊進行離散余弦變換DCT處理和量化處理,得到各宏塊對應(yīng)的DCT系數(shù)塊;
[0017]第二編碼處理模塊,更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;具體為:針對當前宏塊對應(yīng)的每個DCT系數(shù)塊,根據(jù)前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個DCT系數(shù)塊對應(yīng)的第一控制向量,確定當前DCT系數(shù)塊對應(yīng)的第一控制向量,并根據(jù)當前DCT系數(shù)塊對應(yīng)的第一控制向量的元素值,更新當前DCT系數(shù)塊的元素值;以及根據(jù)當前宏塊的每個更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第一控制矩陣;其中初始的第一控制矩陣為僅包含O和I的矩陣,初始的第一控制向量為零向量;
[0018]第三編碼處理模塊,將所述待編碼視頻圖像的各宏塊所有更新后的DCT系數(shù)塊進行熵編碼,以確定所述待編碼視頻圖像的碼流。
[0019]本發(fā)明實施例提供了一種視頻圖像的解碼裝置,包括:
[0020]第一解碼處理模塊,用于對獲取到的編碼處理后的碼流進行處理,得到視頻圖像中各宏塊對應(yīng)的離散余弦DCT系數(shù)塊;
[0021]第二解碼處理模塊,用于更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;具體為:針對當前宏塊對應(yīng)的每個DCT系數(shù)塊,根據(jù)前一個宏塊對應(yīng)的第二控制矩陣中確定的行向量與前一個DCT系數(shù)塊對應(yīng)的第二控制向量,確定當前DCT系數(shù)塊對應(yīng)的第二控制向量,并根據(jù)當前DCT系數(shù)塊對應(yīng)的第二控制向量的元素值,更新當前DCT系數(shù)塊的元素值;其中初始的第二控制矩陣的元素值與編碼處理中確定的初始的第一控制矩陣的元素值相同,初始的第二控制向量為零向量;
[0022]告警模塊,用于針對當前DCT系數(shù)塊,在確定當前DCT系數(shù)塊的非零元素的值與當前DCT系數(shù)塊對應(yīng)的第二控制向量的元素值滿足觸發(fā)條件時,發(fā)出告警信息;
[0023]其中初始的第二控制矩陣的元素值與編碼端中確定的初始的第一控制矩陣的元素值相同。
[0024]本發(fā)明實施例針對當前DCT系數(shù)塊中每個非零元素,根據(jù)待編碼視頻圖像的前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量及前一個非零元素對應(yīng)的第一控制向量,確定該非零元素對應(yīng)的第一控制向量,并根據(jù)該非零元素對應(yīng)的第一控制向量的元素值,更新當前DCT系數(shù)塊中該非零元素的值;以及根據(jù)當前宏塊的所有更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第一控制矩陣;對更新后的各DCT系數(shù)塊進行熵編碼后得到該待編碼視頻圖像的碼流;從而能夠在DCT域上來抵御對DCT系數(shù)塊的元素的攻擊,使得在解碼過程中能夠確定解碼得到的視頻圖像是否已被篡改,提高了編碼和解碼過程的安全性。
【專利附圖】

【附圖說明】
[0025]圖1為本發(fā)明實施例第一種視頻圖像的編碼方法的流程示意圖;
[0026]圖2A為本發(fā)明實施例第一種視頻圖像的編碼方法中確定每個非零元素對應(yīng)的第一控制向量的方法流程示意圖;
[0027]圖2B為本發(fā)明實施例第一種視頻圖像的編碼方法中確定宏塊對應(yīng)的第一控制矩陣的方法流程示意圖;
[0028]圖3為本發(fā)明實施例第一種視頻圖像的解碼方法的流程示意圖;
[0029]圖4為本發(fā)明實施例第一種視頻圖像的解碼方法中確定每個非零元素對應(yīng)的第二控制向量的方法流程示意圖;
[0030]圖5為本發(fā)明實施例第二種視頻圖像的編碼方法的流程示意圖;
[0031]圖6為本發(fā)明實施例第二種視頻圖像的解碼方法的流程示意圖;
[0032]圖7為本發(fā)明實施例視頻圖像的編碼裝置的結(jié)構(gòu)示意圖;
[0033]圖8為本發(fā)明實施例視頻圖像的解碼裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0034]本發(fā)明實施例根據(jù)待編碼視頻圖像的前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個DCT系數(shù)塊對應(yīng)的第一控制向量,確定當前DCT系數(shù)塊對應(yīng)的第一控制向量,并根據(jù)當前DCT系數(shù)塊對應(yīng)的第一控制向量的元素值,更新當前DCT系數(shù)塊的元素值;以及根據(jù)當前宏塊的每個更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第一控制矩陣;根據(jù)更新后的各DCT系數(shù)塊進行熵編碼后得到該待編碼視頻圖像的碼流;能夠在DCT域上來抵御對DCT系數(shù)塊的元素的攻擊,使得在解碼過程中能夠確定解碼得到的視頻圖像是否已被篡改,提高了編碼和解碼過程的安全性。
[0035]視頻圖像的數(shù)據(jù)量是很大的,為了達到高效的壓縮,必須充分利用各種冗余,一般來講,視頻序列里的冗余包括兩類:統(tǒng)計冗余和視覺生理冗余,其中,統(tǒng)計冗余包含頻譜冗余(色彩分量之間的相關(guān)性)、空間冗余和時間冗余;視覺生理冗余是由人類的視覺系統(tǒng)特性造成的;針對這些冗余,在進行壓縮編碼處理時主要考慮空間冗余和時間冗余;對于空間冗余,H.264標準中通過變換及量化以消除冗余,這樣編碼的幀稱作I幀;對于時間冗余,
H.264標準中通過運動估計和補償以消除冗余(即幀間預(yù)測),這樣編碼的幀稱作P幀或B幀。
[0036]H.264標準在對I幀進行編碼時,一般采用幀內(nèi)預(yù)測,然后對預(yù)測誤差進行編碼,幀內(nèi)預(yù)測的目的是生產(chǎn)對當前宏塊的預(yù)測值。幀內(nèi)預(yù)測是以16X16的宏塊為基本單位,而一個宏塊由一個16X16的亮度(Iuma)塊和兩個對應(yīng)的8X8的色度塊構(gòu)成;其中,亮度塊是用來表示和基本色相關(guān)的單色信號的單個像素或像素數(shù)組。
[0037]H.264標準中亮度塊有兩類幀內(nèi)預(yù)測方式,分別為Intra_16X16和Intra_4X4,兩個色度塊采用相同的預(yù)測方式;其中,Intra_16X 16是對整個16X 16大小的亮度塊進行預(yù)測,一般用于圖像比較平坦的區(qū)域,共有4中預(yù)測方式;Intra_4X4方式將16X16的亮度塊劃分成16個4X4的亮度子塊,然后對每個4X4的亮度子塊進行預(yù)測,共有9種預(yù)測方式。對于色度塊(包括Cr和Cb),預(yù)測是對整個8X8的塊進行的,共有4中預(yù)測方式。
[0038]本發(fā)明實施例的視頻圖像編碼和解碼的方法及裝置是基于H.264標準而提出的,在具體實施過程中,編碼過程是以待編碼視頻圖像的每個宏塊為單位進行處理。
[0039]下面結(jié)合說明書附圖對本發(fā)明實施例作進一步詳細描述。
[0040]如圖1所示,本發(fā)明實施例第一種視頻圖像的編碼方法,針對視頻圖像中的每一幀圖像,執(zhí)行以下步驟:
[0041]步驟101、對待編碼視頻圖像的各宏塊進行DCT (Discrete Cosine Transform,離散余弦變換)處理和量化處理,得到各宏塊對應(yīng)的DCT系數(shù)塊;
[0042]其中,每個宏塊包括一個亮度(Iuma)塊和兩個對應(yīng)的色度(chroma)塊;
[0043]在具體實施過程中,在步驟101之前還包括:對每個宏塊采用幀內(nèi)或幀間預(yù)測模式進行處理。
[0044]步驟102、更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;具體為:針對當前DCT系數(shù)塊的每個非零元素,根據(jù)前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第一控制向量,確定該非零元素對應(yīng)的第一控制向量,并根據(jù)該非零元素對應(yīng)的第一控制向量的元素值,更新當前DCT系數(shù)塊中該非零元素的值;以及根據(jù)當前宏塊的每個更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第一控制矩陣;其中初始的第一控制矩陣為僅包含O和I的矩陣,初始的第一控制向量為零向量;
[0045]其中,第一控制矩陣的維數(shù)根據(jù)宏塊的亮度塊及色度塊的維數(shù)確定,第一控制向量的維數(shù)根據(jù)第一控制矩陣確定;例如,在H.264標準中,宏塊對應(yīng)的亮度塊為16 X 16維矩陣,宏塊對應(yīng)的兩個色度均為8X8維矩陣,則第一控制矩陣為24X16維矩陣,第一控制向量為I X 16維向量。
[0046]編碼過程中是以宏塊為單位進行處理的,對宏塊的處理順序可以按照各宏塊在待編碼視頻圖像中位置的先后順序進行處理,如以行為單位進行處理,即先處理待編碼視頻圖像中第一行中依次排列的宏塊,再處理第二行中依次排列的宏塊,依次類推;又如以行為單位進行處理;對每個宏塊對應(yīng)的DCT系數(shù)塊的處理順序可以按照各DCT系數(shù)塊在該宏塊中位置的先后順序進行處理,如以行為單位進行處理,即先處理該宏塊中第一行中依次排列的DCT系數(shù)塊,再處理第二行中依次排列的DCT系數(shù)塊,依次類推;又如以行為單位進行處理;確定每個DCT系數(shù)塊中的非零元素可以按照該DCT系數(shù)塊中的每個元素所在的位置進行處理,如以行為單位進行處理,即先確定該DCT系數(shù)塊中第一行中依次排列的各元素中的非零元素,再確定第二行中依次排列各元素中的非零元素,依次類推;又如以行為單位進行處理。
[0047]優(yōu)選的,本發(fā)明實施例中對DCT系數(shù)塊中的各元素的處理順序可采用Zig-zag掃描或柵格掃描。
[0048]當前,編碼過程中對宏塊、宏塊對應(yīng)的DCT系數(shù)塊、DCT系數(shù)塊對應(yīng)的各元素的處理順序也可以采用其他的順序,此處不再贅述;但需要說明的是,解碼過程中的處理順序必須與編碼過程中的處理順序相同。
[0049]在具體實施過程中,若非零元素為第一個宏塊的第一個DCT系數(shù)塊的第一個非零元素,則根據(jù)初始的第一控制矩陣中確定的行向量與初始的第一控制向量,確定該非零元素對應(yīng)的第一控制向量;
[0050]初始的第一控制矩陣中O元素和I元素的排列方式可以通過哈希運算隨機確定;
[0051]需要說明的是,編碼過程中確定的初始的第一控制矩陣和必須與解碼過程中的確定的初始的第二控制矩陣相同;
[0052]步驟103、將待編碼視頻圖像的各宏塊所有更新后的DCT系數(shù)塊進行熵編碼,以確定待編碼視頻圖像的碼流;
[0053]在具體實施過程中,將熵編碼處理后的各DCT系數(shù)塊的元素值與解碼所需的一些邊信息(如預(yù)測模式量化參數(shù)、運動矢量等)一起組成壓縮后的碼流,以進行存儲或傳輸。
[0054]如圖2A所示,步驟102中確定每個非零元素對應(yīng)的第一控制向量進一步包括以下步驟:
[0055]步驟1021、根據(jù)該非零元素的值與該非零元素在當前DCT系數(shù)塊的所有非零元素中的位置,確定前一個宏塊對應(yīng)的第一控制矩陣中的行向量;
[0056]具體的,在確定當前DCT系數(shù)塊中的非零元素之后,先對該非零元素的值進行預(yù)設(shè)的運算,即d_haf = (d+l)/3,其中,d為當前DCT系數(shù)塊中非零元素;再根據(jù)d_haf與該非零元素d在當前DCT系數(shù)塊的所有非零元素中的位置,確定前一個宏塊對應(yīng)的第一控制矩陣中對應(yīng)的行向量。
[0057]步驟1022、根據(jù)前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第一控制向量,確定該非零兀素對應(yīng)的第一控制向量;
[0058]具體的,若確定的非零元素為當前DCT系數(shù)塊的第一個非零元素,則根據(jù)前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個DCT系數(shù)塊的最后一個非零元素對應(yīng)的第一控制向量,確定當前DCT系數(shù)塊的第一個非零元素對應(yīng)的第一控制向量;
[0059]按照每個非零元素在當前DCT系數(shù)塊的所有非零元素中的位置的先后順序,對當前DCT系數(shù)塊的每個非零元素執(zhí)行步驟102廣步驟1022的處理過程,直至確定當前DCT系數(shù)塊中最后一個非零元素對應(yīng)的第一控制向量。
[0060]在具體實施過程中,步驟1012中根據(jù)d_haf與該非零元素d在當前DCT系數(shù)塊的所有非零元素中的位置,確定前一個宏塊對應(yīng)的第一控制矩陣中對應(yīng)的行向量分為以下兩種情況:
[0061]若當前DCT系數(shù)塊中的非零元素的值大于0,則根據(jù)公式一確定該非零元素對應(yīng)的第一控制向量:
[0062]B[j] = (B/ [ j] +A [ (d_haf+dnJ %24] [ j]) %3 公式一;
[0063]其中,B向量為該非零元素對應(yīng)的第一控制向量,B向量為1X16維向量;B^向量為前一個非零元素對應(yīng)的第一控制向量;A矩陣為前一個宏塊對應(yīng)的第一控制矩陣,A矩陣為24X16維矩陣,I≤j≤16 ;d_haf = (d+l)/3, d為當前DCT系數(shù)塊中非零元素,dnum標識d在當前DCT系數(shù)塊中的位置,即標記該非零元素為當前DCT系數(shù)塊中的第幾個元素;公式中的%為取余運算;
[0064]例如,若該非零元素為當前DCT系數(shù)塊中的第I個元素,則dnuffl的值為I ;若該非零元素為當前DCT系數(shù)塊中的第2個元素,則dnum的值為2,依次類推。
[0065]若當前DCT系數(shù)塊中的非零元素的值小于0,根據(jù)公式二確定該非零元素對應(yīng)的第一控制向量:
[0066]B[j] = (B' [j]+A[ (d_haf+dnum+l)%24] [j])%3 公式二 ;
[0067]其中,B向量為該非零元素對應(yīng)的第一控制向量,B向量為1X16維向量#向量為前一個非零元素對應(yīng)的第一控制向量;A矩陣為前一個宏塊對應(yīng)的第一控制矩陣,A矩陣為24X16維矩陣,I≤j≤16 ;d_haf = (d+l)/3, d為當前DCT系數(shù)塊中非零元素,dnum標識d在當前DCT系數(shù)塊中的位置,即標記該非零元素為當前DCT系數(shù)塊中的第幾個元素;公式中的%為取余運算。
[0068]需要說明的是,本發(fā)明實施例編碼方法的步驟102僅對DCT系數(shù)塊中的非零元素進行處理,得到該非零元素對應(yīng)的第一控制向量,對該DCT系數(shù)塊中的零元素不進行任何處理。
[0069]在具體實施過程中,步驟102中在當前DCT系數(shù)塊的非零元素的絕對值大于I時,根據(jù)公式三更新該非零元素的值:
[0070]0- = d+B[dnum] 公式三;
[0071]其中,d為當前DCT系數(shù)塊中非零元素,0-為更新后的d, B向量為該非零元素對應(yīng)的第一控制向量,dnuffl標識d在當前DCT系數(shù)塊中的位置,即標記該非零元素為當前DCT系數(shù)塊中的第幾個元素。
[0072]需要說明的是,對于當前DCT系數(shù)塊中絕對值不大于I的非零元素及當前DCT系數(shù)塊中的零元素,則不需要進行更新處理,即當前DCT系數(shù)塊中絕對值不大于I的非零元素及當前DCT系數(shù)塊中的零元素的值保持不變。
[0073]對當前宏塊中每個DCT系數(shù)塊均進行上述處理,直至當前宏塊中最后一個DCT系數(shù)塊的更新處理完成。
[0074]如圖2B所示,步驟102中確定當前宏塊對應(yīng)的第一控制矩陣進一步包括:
[0075]步驟1023、針對當前宏塊,對更新后的DCT系數(shù)塊進行反量化處理和反DCT處理,得到當前宏塊對應(yīng)的亮度塊和色度塊;
[0076]其中,當前宏塊的DCT系數(shù)塊進行反量化處理和反DCT處理后,得到一個16X 16的亮度塊和兩個8X8的色度塊;
[0077]步驟1024、根據(jù)當前宏塊對應(yīng)的亮度塊和色度塊的各元素值,確定當前宏塊對應(yīng)的第一控制矩陣;
[0078]其中,第一控制矩陣中前16行的各元素的值根據(jù)16X16的亮度塊中的元素值確定;第一控制矩陣中后8行的各個元素的值根據(jù)兩個8X8的色度塊中的元素值確定。
[0079]具體的,第一控制矩陣的第^行j列的元素值為當前宏塊的亮度塊中第(^+1)968個像素的值,其中,第一控制矩陣為24X16維矩陣,亮度塊為16X16維矩陣,I ≤ I1 ≤ 16,I≤j≤16,%為取余運算;
[0080]第一控制矩陣的第i2行J1列的元素值為當前宏塊的第一個色度塊中第α2+υ%8個像素的值,其中,色度塊為8X8維矩陣,17 ≤ i2 ≤ 24,I ≤ J1 ≤ 8 ;
[0081]第一控制矩陣的第“行戈列的元素值為當前宏塊的第二個色度塊中第(i2+j2)%8個像素的值,其中,9 ≤ J2≤16。
[0082]如圖3所示,本發(fā)明實施例第一種視頻圖像的解碼方法,包括以下步驟:
[0083]步驟301、對獲取到的編碼處理后的碼流進行處理,得到視頻圖像中各宏塊對應(yīng)的離散余弦DCT系數(shù)塊;
[0084]步驟302、更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;具體為:針對當前DCT系數(shù)塊的每個非零元素,根據(jù)前一個宏塊對應(yīng)的第二控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第二控制向量,確定該非零元素對應(yīng)的第二控制向量,并根據(jù)該非零元素對應(yīng)的第二控制向量的元素值,更新當前DCT系數(shù)塊中該非零元素的元素值;其中初始的第二控制矩陣的元素值與編碼處理中確定的初始的第一控制矩陣的元素值相同,初始的第二控制向量為零向量;
[0085]步驟303、在確定當前DCT系數(shù)塊的非零元素的值與該非零元素對應(yīng)的第二控制向量的元素值滿足觸發(fā)條件時,發(fā)出告警信息。
[0086]其中,步驟303中的觸發(fā)條件為:(d+l)%3的值與D[dnum]的值不相等;其中,d為當前DCT系數(shù)塊中絕對值大于I的非零元素,D為該非零元素對應(yīng)的第二控制向量,dnum標識d在當前DCT系數(shù)塊中的位置,即標記該非零元素為當前DCT系數(shù)塊中的第幾個元素,例如,若該非零元素為當前DCT系數(shù)塊中的第I個元素,則dnum的值為I ;若該非零元素為當前DCT系數(shù)塊中的第2個元素,則dnum的值為2,依次類推。
[0087]如圖3所示,本發(fā)明實施例第一種視頻圖像解碼方法還包括:
[0088]步驟304、在確定當前DCT系數(shù)塊的非零元素的值與該非零元素對應(yīng)的第二控制向量的元素值不滿足觸發(fā)條件,且當前宏塊對應(yīng)的所有DCT系數(shù)塊都更新完畢后,根據(jù)當前宏塊的每個更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第二控制矩陣。
[0089]在具體實施過程中,如圖4所示,步驟302中確定每個非零元素對應(yīng)的第二控制向量進一步包括以下步驟:
[0090]步驟3021、根據(jù)該非零元素的值與該非零元素在當前DCT系數(shù)塊的位置標號,確定前一個宏塊對應(yīng)的第二控制矩陣中的行向量;
[0091]具體的,在確定當前DCT系數(shù)塊中的非零元素之后,先對該非零元素的值進行預(yù)設(shè)的運算,即d_haf = (d+l)/3,其中,d為當前DCT系數(shù)塊中非零元素;再根據(jù)d_haf與該非零元素d在當前DCT系數(shù)塊的所有非零元素中的位置,確定前一個宏塊對應(yīng)的第二控制矩陣中對應(yīng)的行向量。
[0092]步驟3022、根據(jù)前一個宏塊對應(yīng)的第二控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第二控制向量,確定該非零元素對應(yīng)的第二控制向量;
[0093]具體的,若確定的非零元素為當前DCT系數(shù)塊的第一個非零元素,則根據(jù)前一個宏塊對應(yīng)的第二控制矩陣中確定的行向量與前一個DCT系數(shù)塊的最后一個非零元素對應(yīng)的第二控制向量,確定當前DCT系數(shù)塊的第一個非零元素對應(yīng)的第二控制向量。
[0094]按照每個非零元素在當前DCT系數(shù)塊的所有非零元素的所有非零元素中的位置的先后順序,對當前DCT系數(shù)塊的每個非零元素執(zhí)行步驟3021?步驟3022的處理過程,直至確定當前DCT系數(shù)塊中最后一個非零元素對應(yīng)的第二控制向量;或
[0095]僅在當前DCT系數(shù)塊的非零元素的值與該非零元素對應(yīng)的第二控制向量的元素值不滿足觸發(fā)條件時,對下一個非零元素執(zhí)行步驟3021?步驟3022的處理過程,直至確定當前DCT系數(shù)塊中最后一個非零元素對應(yīng)的第二控制向量。
[0096]在具體實施過程中,步驟3022中確定該非零元素對應(yīng)的第二控制向量包括以下兩種情況:[0097]若確定的非零元素的值大于0,根據(jù)公式四確定該非零元素對應(yīng)的第二控制向量:
[0098]D[j] = (D/ [ j] +C [ (d_haf+dnJ %24] [ j]) %3 公式四;
[0099]其中,D向量為該非零元素對應(yīng)的第二控制向量,D向量為1X16維向量;N向量為前一個非零元素對應(yīng)的第二控制向量;c矩陣為前一個宏塊對應(yīng)的第二控制矩陣,C矩陣為24X16維矩陣,I≤j≤16 ;d_haf = (d+l)/3, d為當前DCT系數(shù)塊中非零元素,dnum標識d在當前DCT系數(shù)塊中的位置;公式中的%為取余運算。
[0100]若確定的非零元素的值小于0,根據(jù)公式五確定該非零元素對應(yīng)的第二控制向量:
[0101]D[j] = (D/ [j]+C[(d/ +d_+l)%24] [j])%3 公式五;
[0102]其中,D向量為該非零元素對應(yīng)的第二控制向量,Di向量為前一個非零元素對應(yīng)的第二控制向量,D向量為I X 16維向量;C矩陣為前一個宏塊對應(yīng)的第二控制矩陣,C矩陣為24X16維矩陣,I≤j≤16 ;d_haf = (d+l)/3, d為當前DCT系數(shù)塊中非零元素,dnum標識d在當前DCT系數(shù)塊中的位置,即標記該非零元素為當前DCT系數(shù)塊中的第幾個元素;公式中的%為取余運算。
[0103]需要說明的是,本發(fā)明實施例解碼方法的步驟302僅對DCT系數(shù)塊中的非零元素進行處理,得到該非零元素對應(yīng)的第二控制向量,對該DCT系數(shù)塊中的零元素不進行任何處理。
[0104]在具體實施過程中,步驟302中在當前DCT系數(shù)塊的非零元素的絕對值大于I時,根據(jù)公式六更新當前DCT系數(shù)塊的非零元素的值:
[0105]0- = d+D [dnum] 公式六;
[0106]其中,d為當前DCT系數(shù)塊中非零元素,0-為修正后的d, D向量為該非零元素對應(yīng)的第二控制向量,D為IX 16維向量;dnum標識d在當前DCT系數(shù)塊中的位置,即標記該非零元素為當前DCT系數(shù)塊中的第幾個元素。
[0107]需要說明的是,對于當前DCT系數(shù)塊中絕對值不大于I的非零元素及當前DCT系數(shù)塊中的零元素,則不需要進行更新處理,即當前DCT系數(shù)塊中絕對值不大于I的非零元素及當前DCT系數(shù)塊中的零元素的值保持不變。
[0108]步驟304中確定當前宏塊對應(yīng)的第二控制矩陣的元素值進一步包括:
[0109]針對當前宏塊,對更新后的DCT系數(shù)塊進行反量化處理和反DCT處理,得到當前宏塊對應(yīng)的亮度塊和色度塊;
[0110]根據(jù)當前宏塊對應(yīng)的亮度塊和色度塊的各元素值,確定當前宏塊對應(yīng)的第二控制矩陣。
[0111]具體的,確定當前宏塊對應(yīng)的第二控制矩陣的元素值進一步包括:
[0112]第二控制矩陣的第^行j列的元素值為當前宏塊的亮度塊中第(ii+jP/oS個像素值,其中,第二控制矩陣為24X16維矩陣,亮度塊為16X16維矩陣,I ^ I1 ^ 16,I≤j≤16,%為取余運算;
[0113]第二控制矩陣的第“行J1列的元素值為當前宏塊的第一個色度塊中第α2+υ%8個像素的值,其中,色度塊為8X8維矩陣,17 ^ i2 ^ 24,I ^ J1 ^ 8 ;
[0114]第二控制矩陣的第i2行j2列的元素值為當前宏塊的第二個色度塊中第(i2+j2)%8個像素的值,其中,9 ( J2 ( 16。
[0115]下面以每幀視頻圖像的每個宏塊包括一個16X 16的亮度塊和對應(yīng)的兩個8X8的色度塊為例,對本發(fā)明實施例的視頻圖像的編碼和解碼方法進行詳細說明。
[0116]如圖5所示,本發(fā)明實施例第二種視頻圖像的編碼方法,包括以下步驟:
[0117]步驟501、初始化第一控制矩陣A和第一控制向量B,其中,A矩陣為24X16維的(0,I)矩陣,B向量為I X 16維的零向量;
[0118]在具體實施過程中,A矩陣可以通過哈希運算隨機確定。
[0119]步驟502、針對每一幀視頻圖像,對于該視頻圖像的當前宏塊的亮度(Iuma)塊和色度(chroma)塊分別對應(yīng)的多個4X4的DCT系數(shù)塊,針對一個4X4的DCT系數(shù)塊,每解析出一個非零元素d,則計算出d_haf = (d+l)/3 ;
[0120]步驟503、根據(jù)前一個宏塊對應(yīng)的A矩陣中確定的行向量與前一個非零元素對應(yīng)的B向量,確定該非零元素對應(yīng)的B向量;
[0121]具體的,若解析出的d大于0,則根據(jù)公式一確定該非零元素對應(yīng)的第一控制向量;
[0122]若解析出的d小于0,則根據(jù)公式二確定該非零元素對應(yīng)的第一控制向量。
[0123]步驟504、當該非零元 素d的絕對值大于I時,根據(jù)公式三更新當前DCT系數(shù)塊中該非零元素的值;
[0124]步驟505、判斷該宏塊中是否還有未處理的DCT系數(shù)塊;
[0125]若是,執(zhí)行步驟502~步驟505 ;
[0126]若否,執(zhí)行步驟506。
[0127]步驟506、對該宏塊中更新后的所有DCT系數(shù)塊進行反量化處理和反DCT處理,得到當前宏塊對應(yīng)的亮度塊和色度塊;
[0128]步驟507、根據(jù)當前宏塊對應(yīng)的亮度塊和色度塊的各像素值,確定當前宏塊對應(yīng)的A矩陣;
[0129]其中,A矩陣中前16X16個元素的值分別為更新的亮度塊中第個像素的值,其中,I1和j分別為A矩陣的行和列,I ^ I1 ^ 16,1 ^ j ^ 16 ;
[0130]A矩陣中后8X16個元素的值分別為更新的兩個色度塊中第(i2+j)%8個像素的值;具體的,A矩陣中第i2行第i列的元素值為第一個色度塊中第Gfj1) %8個像素的值,A矩陣中第i2行第j2列的元素值為第二個色度塊中第(i2+j2)%8個像素的值,其中,i2為A矩陣的行,J1 和 J2 為 A 矩陣的列,17 ^ I1 ^ 24,I ^ J1 ^ 8,9 ^ J2 ( 16。
[0131]步驟508、判斷是否還有未處理的宏塊;
[0132]若是,則執(zhí)行步驟502~步驟508 ;
[0133]若否,執(zhí)行步驟509;
[0134]步驟509、將視頻圖像的各宏塊的所有更新后的DCT系數(shù)塊進行熵編碼,以確定待編碼視頻圖像的碼流。
[0135]如圖6所示,本發(fā)明實施例第二種視頻圖像的解碼方法,包括以下步驟:
[0136]步驟601、初始化第二控制矩陣C和第二控制向量D,其中,C矩陣與第一控制矩陣A相同,D向量為I X 16維的零向量;
[0137]在具體實施過程中,C矩陣可以通過哈希運算隨機確定。[0138]步驟602、對獲取到的編碼處理后的碼流進行處理,得到該碼流中各宏塊對應(yīng)的4X4的DCT系數(shù)塊;
[0139] 步驟603、針對每個DCT系數(shù)塊,每解析出該DCT系數(shù)塊中的一個非零元素d,則計算出 d_haf = (d+1) /3 ;
[0140]步驟604、根據(jù)前一個宏塊對應(yīng)的C矩陣中確定的行向量與前一個非零元素對應(yīng)的D向量,確定該非零元素對應(yīng)的D向量;
[0141]具體的,若解析出的d的值大于0,則根據(jù)公式四確定該非零元素對應(yīng)的D向量;
[0142]若解析出的d的值小于0,則根據(jù)公式五確定該非零元素對應(yīng)的D向量。
[0143]步驟605、在該非零元素d的絕對值大于I時,判斷(d+l)%3的值與D[dnum]的值是否相等,其中,D向量為該非零元素d對應(yīng)的第二控制向量,dM標記d在當前DCT系數(shù)塊的所有非零元素中的位置;
[0144]若是,則發(fā)出告警信息,表示該視頻圖像已被篡改,并結(jié)束本流程;
[0145]若否,則執(zhí)行步驟606 ;
[0146]步驟606、根據(jù)公式六更新該DCT系數(shù)塊中的該非零元素d的值;
[0147]步驟607、判斷該宏塊中是否有未處理的DCT系數(shù)塊;
[0148]若是,執(zhí)行步驟602~步驟607 ;
[0149]若否,執(zhí)行步驟608。
[0150]步驟608、對該宏塊的所有更新后的DCT系數(shù)塊進行反量化處理和反DCT處理,得到該宏塊對應(yīng)的亮度塊和色度塊;
[0151]步驟609、根據(jù)該宏塊對應(yīng)的亮度塊和色度塊的各元素值,確定該宏塊對應(yīng)的C矩陣;
[0152]其中,該宏塊對應(yīng)的C矩陣中前16X16個元素的值分別為更新的亮度塊中第(W) %8個像素的值,其中,I1和j分別為C矩陣的行和列,I ^ I1 ^ 16,1 ^ j ^ 16 ;
[0153]該宏塊對應(yīng)的C矩陣中后8X16個元素的值分別為更新的兩個色度塊中第(i2+j)%8個像素的值;具體的,C矩陣中第i2行第J1列的元素值為第一個色度塊中第(i2+ji) %8個像素的值,C矩陣中第i2行第j2列的元素值為第二個色度塊中第(i2+j2) %8個像素的值,其中,i2為C矩陣的行,J1和j2為C矩陣的列,17 ^ I1 ^ 24,1 ^ J1 ( 8,9 ^ j2 ^ 16。
[0154]步驟610、判斷是否有未處理的宏塊;
[0155]若是,則執(zhí)行步驟602~步驟610 ;
[0156]若否,則輸出解碼后的視頻圖像。
[0157]基于同一發(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種視頻圖像的編碼裝置,由于該裝置解決問題的原理與上述視頻圖像的編碼方法相似,因此該設(shè)備的實施可以參見方法的實施,重復(fù)之處不再贅述。
[0158]如圖7所示,本發(fā)明實施例視頻圖像的編碼裝置包括:
[0159]第一編碼處理模塊71,用于對待編碼視頻圖像的各宏塊進行離散余弦變換DCT處理和量化處理,得到各宏塊對應(yīng)的DCT系數(shù)塊;
[0160]第二編碼處理模塊72,用于更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;具體為:針對當前DCT系數(shù)塊的每個非零元素,根據(jù)前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第一控制向量,確定該非零元素對應(yīng)的第一控制向量,并根據(jù)該非零元素對應(yīng)的第一控制向量的元素值,更新當前DCT系數(shù)塊中該非零元素的值;以及根據(jù)當前宏塊的每個更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第一控制矩陣;其中初始的第一控制矩陣為僅包含O和I的矩陣,初始的第一控制向量為零向量;
[0161]第三編碼處理模塊73,將待編碼視頻圖像的各宏塊的所有更新后的DCT系數(shù)塊進行熵編碼,以確定待編碼視頻圖像的碼流。 [0162]在具體實施過程中,第二編碼處理模塊72具體用于:
[0163]根據(jù)該非零元素的值與該非零元素在當前DCT系數(shù)塊的位置標號,確定前一個宏塊對應(yīng)的第一控制矩陣中的行向量;以及根據(jù)前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第一控制向量,確定該非零元素對應(yīng)的第一控制向量。
[0164]在具體實施過程中,第第二編碼處理模塊72具體用于:
[0165]若確定的非零元素的值大于0,根據(jù)下列公式確定該非零元素對應(yīng)的第一控制向量:
[0166]B= (B' +A[ (d_haf+dnJ%24] [j])%3 ;
[0167]其中,B向量為該非零元素對應(yīng)的第一控制向量,B向量為1X16維向量;B'向量為前一個非零元素對應(yīng)的第一控制向量;A矩陣為前一個宏塊對應(yīng)的第一控制矩陣,A矩陣為24X16維矩陣,I≤j≤16 ;d_haf = (d+1)/3,d為當前DCT系數(shù)塊中非零元素,dnum標識d在當前DCT系數(shù)塊中的位置;公式中的%為取余運算。
[0168]若確定的非零元素的值小于0,根據(jù)下列公式確定該非零元素對應(yīng)的第一控制向量:
[0169]B= (B' +A[ (d_haf+dnum+l)%24] [j])%3 ;
[0170]其中,B向量為該非零元素對應(yīng)的第一控制向量,B向量為1X16維向量;B'向量為前一個非零元素對應(yīng)的第一控制向量;A矩陣為前一個宏塊對應(yīng)的第一控制矩陣,A矩陣為24X16維矩陣,I≤j≤16 ;d_haf = (d+1)/3,d為當前DCT系數(shù)塊中非零元素,dnum標識d在當前DCT系數(shù)塊中的位置;公式中的%為取余運算。
[0171]在具體實施過程中,第二編碼處理模塊72具體用于:
[0172]在確定的非零元素的絕對值大于I時,根據(jù)下列公式更新當前DCT系數(shù)塊的該非零元素的值: [0173]0- = d+B [dnum];
[0174]其中,d為當前DCT系數(shù)塊中非零元素,0-為更新后的d ;Β向量為該非零元素對應(yīng)的第一控制向量,B為I X 16維向量;dnum標識d在當前DCT系數(shù)塊中的位置。
[0175]在具體實施過程中,第二編碼處理模塊73具體用于:
[0176]針對當前宏塊,對更新后的DCT系數(shù)塊進行反量化處理和反DCT處理,得到當前宏塊對應(yīng)的亮度塊和色度塊;以及根據(jù)當前宏塊對應(yīng)的亮度塊和色度塊的各像素值,確定當前宏塊對應(yīng)的第一控制矩陣。
[0177]其中,第一控制矩陣的第I1行j列的元素值為當前宏塊的亮度塊中第(ii+jP/oS個像素的值,其中,所述第一控制矩陣為24X16維矩陣,所述亮度塊為16X16維矩陣,I ^ I1 ^ 16,1 ^ j ^ 16,% 為取余運算;
[0178]第一控制矩陣的第i2行J1列的元素值為當前宏塊的第一個色度塊中第α2+υ%8個像素的值,其中,色度塊為8X8維矩陣,17 ≤ i2 ≤ 24,I ≤ J1 ≤ 8 ;
[0179]第一控制矩陣的第“行」2列的元素值為當前宏塊的第二個色度塊中第(i2+j2)%8個像素的值,其中,9 ≤ J2≤ 16。
[0180]基于同一發(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種視頻圖像的解碼裝置,由于該裝置解決問題的原理與上述視頻圖像的解碼方法相似,因此該設(shè)備的實施可以參見方法的實施,重復(fù)之處不再贅述。
[0181]如圖8所示,本發(fā)明實施例視頻圖像的解碼裝置包括:
[0182]第一解碼處理模塊81,用于對獲取到的編碼處理后的碼流進行處理,得到該碼流中各宏塊對應(yīng)的離散余弦DCT系數(shù)塊;
[0183]第二解碼處理模塊82,用于更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;具體為:針對當前DCT系數(shù)塊的每個非零元素,根據(jù)前一個宏塊對應(yīng)的第二控制矩陣中確定的行向量與前一個非零元素對應(yīng)的 第二控制向量,確定該非零元素對應(yīng)的第二控制向量,并根據(jù)該非零元素對應(yīng)的第二控制向量的元素值,更新當前DCT系數(shù)塊中該非零元素的元素值;其中初始的第二控制矩陣的元素值與編碼處理中確定的初始的第一控制矩陣的元素值相同,初始的第二控制向量為零向量;
[0184]告警模塊83,用于在確定當前DCT系數(shù)塊的非零元素的值與該非零元素對應(yīng)的第二控制向量的元素值滿足觸發(fā)條件時,發(fā)出告警信息。
[0185]其中,觸發(fā)條件為:(d+l)%3的值與D[dnJ的值不相等;其中,d為當前DCT系數(shù)塊中絕對值大于I的非零元素的值,D向量為當前DCT系數(shù)塊對應(yīng)的第二控制向量,dnum標識d在當前DCT系數(shù)塊中的位置;%為取余運算。
[0186]在具體實施過程中,該裝置還包括:
[0187]第三解碼處理模塊84,用于在確定當前DCT系數(shù)塊的非零元素的值與該非零元素對應(yīng)的第二控制向量的元素值不滿足觸發(fā)條件,且當前宏塊對應(yīng)的所有DCT系數(shù)塊都更新完畢后,根據(jù)當前宏塊的每個更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第一控制矩陣。
[0188]在具體實施過程中,第二解碼處理模塊82具體用于:
[0189]根據(jù)該非零元素的值與該非零元素在當前DCT系數(shù)塊的位置標號,確定前一個宏塊對應(yīng)的第二控制矩陣中的行向量;以及根據(jù)前一個宏塊對應(yīng)的第二控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第二控制向量,確定該非零元素對應(yīng)的第二控制向量。
[0190]在具體實施過程中,第二解碼處理模塊82具體用于:
[0191]若確定的非零元素的值大于0,根據(jù)下列公式確定該非零元素對應(yīng)的第二控制向量:
[0192]D= (O1 +C[ (d_haf+dnJ%24] [j])%3 ;
[0193]其中,D向量為該非零元素對應(yīng)的第二控制向量,D向量為1X16維向量;N向量為前一個非零元素對應(yīng)的第二控制向量;c矩陣為前一個宏塊對應(yīng)的第二控制矩陣,C矩陣為24X16維矩陣,I≤j≤16 ;d_haf = (d+1)/3,d為當前DCT系數(shù)塊中非零元素,dnum標識d在當前DCT系數(shù)塊中的位置;公式中的%為取余運算。
[0194]在具體實施過程中,第二解碼處理模塊82具體用于:
[0195]若確定的非零元素的值大于0,根據(jù)下列公式確定該非零元素對應(yīng)的第二控制向量:
[0196]D= (Di +C[(d/ +dnum+l)%24] [j])%3 ;
[0197]其中,D向量為該非零元素對應(yīng)的第二控制向量,D'向量為前一個非零元素對應(yīng)的第二控制向量,D向量為I X 16維向量;C矩陣為前一個宏塊對應(yīng)的第二控制矩陣,C矩陣為24X16維矩陣,I≤j≤16 ;d_haf = (d+1)/3,d為當前DCT系數(shù)塊中非零元素,dnum標識d在當前DCT系數(shù)塊中的位置;公式中的%為取余運算。
[0198]在具體實施過程中,第二解碼處理模塊82具體用于:在確定的非零元素的絕對值大于I時,根據(jù)下列公式更新當前DCT系數(shù)塊中該非零元素的值:
[0199](T = d+D[dnJ ;
[0200]其中,d為當前DCT系數(shù)塊中非零元素,0-為修正后的d, D向量為該非零元素對應(yīng)的第二控制向量,D為I X 16維向量;dnum標識d在當前DCT系數(shù)塊中的位置。
[0201]其中,第二控制矩陣的第I1行j列的元素值為當前宏塊的亮度塊中第(ii+jP/oS個像素的值,其中,所述第二控制矩陣為24X16維矩陣,所述亮度塊為16X16維矩陣,I ^ I1 ^ 16,1 ^ j ^ 16,% 為取余運算;
[0202]第二控制矩陣的第i2行J1列的元素值為當前宏塊的第一個色度塊中第Qfj1) %8個像素的值,其中,色度塊為8X8維矩陣,17 ^ i2 ^ 24,I ^ J1 ^ 8 ;
[0203]第二控制矩陣的第i2行j2列的元素值為當前宏塊的第二個色度塊中第(i2+j2)%8個像素的值,其中,9 ( J2 ( 16。
[0204]盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
[0205]本發(fā)明實施例中針對當前DCT系數(shù)塊的每個非零元素,根據(jù)前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第一控制向量,確定該非零元素對應(yīng)的第一控制向量,并根據(jù)該非零元素對應(yīng)的第一控制向量的元素值,更新當前DCT系數(shù)塊中該非零元素的值;以及根據(jù)當前宏塊的每個更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第一控制矩陣;對更新后的各DCT系數(shù)塊進行熵編碼后得到該待編碼視頻圖像的碼流;從而能夠在DCT域上來抵御對DCT系數(shù)塊的元素的攻擊,使得在解碼過程中能夠確定解碼得到的視頻圖像是否已被篡改,提高了編碼和解碼過程的安全性。
[0206]實驗結(jié)果證明,采用本發(fā)明實施例的編、解碼方法,在復(fù)雜度沒有明顯提高的基礎(chǔ)下,同樣的PSNR (Peak Signal to Noise Ratio,峰值信噪比)條件下可以控制比特率(BitRate)變化在10%以內(nèi);并且在視頻圖像被篡改的情況下,正確檢測率達到95%以上,漏檢率能夠控制在5%以內(nèi),不會發(fā)生錯檢情況,可見,采用本發(fā)明實施例的編、解碼方法能夠有效提高視頻圖像的安全性。
[0207]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1.一種視頻圖像的編碼方法,其特征在于,該方法包括: 對待編碼視頻圖像的各宏塊進行離散余弦變換DCT處理和量化處理,得到各宏塊對應(yīng)的DCT系數(shù)塊; 更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;具體為:針對當前DCT系數(shù)塊的每個非零元素,根據(jù)前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第一控制向量,確定該非零元素對應(yīng)的第一控制向量,并根據(jù)該非零元素對應(yīng)的第一控制向量的元素值,更新當前DCT系數(shù)塊中該非零元素的值;以及根據(jù)當前宏塊的每個更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第一控制矩陣;其中初始的第一控制矩陣為僅包含O和I的矩陣,初始的第一控制向量為零向量; 將所述待編碼視頻圖像的各宏塊的所有更新后的DCT系數(shù)塊進行熵編碼,以確定所述待編碼視頻圖像的碼流。
2.如權(quán)利要求1所述的方法,其特征在于,確定每個非零元素對應(yīng)的第一控制向量包括: 根據(jù)該非零元素的值與該非零元素在當前DCT系數(shù)塊的位置標號,確定前一個宏塊對應(yīng)的第一控制矩陣中的行向量; 根據(jù)前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第一控制向量,確定該非零元素對應(yīng)的第一控制向量。
3.如權(quán)利要求2所述的方法,其特征在于,若確定的非零元素的值大于O,根據(jù)下列公式確定該非零元素對應(yīng)的第一控制向量:
B= (B' +A[ (d_haf+dnum) %24] [ j ]) %3 ; 其中,B向量為該非零元素對應(yīng)的第一控制向量,B向量為1X16維向量;B'向量為前一個非零元素對應(yīng)的第一控制向量;A矩陣為前一個宏塊對應(yīng)的第一控制矩陣,A矩陣為24X16維矩陣,I≤j≤16 ;d_haf = (d+l)/3, d為當前DCT系數(shù)塊中非零元素,dnum標識d在當前DCT系數(shù)塊中的位置;公式中的%為取余運算。
4.如權(quán)利要求2所述的方法,其特征在于,若確定的非零元素的值小于O,根據(jù)下列公式確定該非零元素對應(yīng)的第一控制向量:
B= (B' +A[ (d_haf+dnum+1) %24] [ j ]) %3 ; 其中,B向量為該非零元素對應(yīng)的第一控制向量,B向量為1X16維向量;B'向量為前一個非零元素對應(yīng)的第一控制向量;A矩陣為前一個宏塊對應(yīng)的第一控制矩陣,A矩陣為24X16維矩陣,I≤j≤16 ;d_haf = (d+l)/3, d為當前DCT系數(shù)塊中非零元素,dnum標識d在當前DCT系數(shù)塊中的位置;公式中的%為取余運算。
5.如權(quán)利要求1所述的方法,其特征在于,在確定的非零元素的絕對值大于I時,根據(jù)下列公式更新當前DCT系數(shù)塊中該非零元素的值:
d' = d+B [dnum]; 其中,d為當前DCT系數(shù)塊中非零元素,0-為更新后的d ;B向量為該非零元素對應(yīng)的第一控制向量,B向量為I X 16維向量;dnum標識d在當前DCT系數(shù)塊中的位置。
6.如權(quán)利要求1所述的方法,其特征在于,所述確定當前宏塊對應(yīng)的第一控制矩陣包括: 針對當前宏塊,對更新后的DCT系數(shù)塊進行反量化處理和反DCT處理,得到當前宏塊對應(yīng)的一個亮度塊和兩個色度塊; 根據(jù)當前宏塊對應(yīng)的亮度塊和色度塊的各像素值,確定當前宏塊對應(yīng)的第一控制矩陣。
7.如權(quán)利要求6所述的方法,其特征在于,確定當前宏塊對應(yīng)的第一控制矩陣,具體包括: 所述第一控制矩陣的第I1行」列的元素值為當前宏塊的亮度塊中第(ii+jP/oS個像素的值,其中,所述第一控制矩陣為24X16維矩陣,所述亮度塊為16X16維矩陣,I ^ I1 ^ 16,1 ^ j ^ 16,% 為取余運算; 所述第一控制矩陣的第i2行J1列的元素值為當前宏塊的第一個色度塊中第α2+υ%8個像素的值,其中,所述色度塊為8X8維矩陣,17 ^ i2 ^ 24,I ^ J1 ^ 8 ; 所述第一控制矩陣的第“行」2列的元素值為當前宏塊的第二個色度塊中第(i2+j2)%8個像素的值,其中,9 ( J2 ( 16。
8.一種視頻圖像的解碼方法,其特征在于,該方法包括: 對獲取到的編碼處理 后的碼流進行處理,得到該碼流中各宏塊對應(yīng)的離散余弦DCT系數(shù)塊; 更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;具體為:針對當前DCT系數(shù)塊的每個非零元素,根據(jù)前一個宏塊對應(yīng)的第二控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第二控制向量,確定該非零元素對應(yīng)的第二控制向量,并根據(jù)該非零元素對應(yīng)的第二控制向量的元素值,更新當前DCT系數(shù)塊中該非零元素的元素值;其中初始的第二控制矩陣的元素值與編碼處理中確定的初始的第一控制矩陣的元素值相同,初始的第二控制向量為零向量;在確定當前DCT系數(shù)塊的非零元素的值與該非零元素對應(yīng)的第二控制向量的元素值滿足觸發(fā)條件時,發(fā)出告警信息。
9.如權(quán)利要求8所述的方法,其特征在于,所述觸發(fā)條件為:(d+l)%3的值與D[cLJ的值不相等;其中,d為當前DCT系數(shù)塊中絕對值大于I的非零元素,D向量為當前DCT系數(shù)塊對應(yīng)的第二控制向量,dM標識d在當前DCT系數(shù)塊中的位置;%為取余運算。
10.如權(quán)利要求8所述的方法,其特征在于,所述方法還包括: 在確定當前DCT系數(shù)塊的非零元素的值與該非零元素對應(yīng)的第二控制向量的元素值不滿足觸發(fā)條件,且當前宏塊對應(yīng)的所有DCT系數(shù)塊都更新完畢后,根據(jù)當前宏塊的每個更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第二控制矩陣。
11.如權(quán)利要求8所述的方法,其特征在于,確定每個非零元素對應(yīng)的第二控制向量包括: 根據(jù)該非零元素的值與該非零元素在當前DCT系數(shù)塊的位置標號,確定前一個宏塊對應(yīng)的第二控制矩陣中的行向量; 根據(jù)前一個宏塊對應(yīng)的第二控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第二控制向量,確定該非零元素對應(yīng)的第二控制向量。
12.如權(quán)利要求11所述的方法,其特征在于,若確定的非零元素的值大于0,根據(jù)下列公式確定該非零元素對應(yīng)的第二控制向量:
D= (O1 +C[ (dJiaf+cLJ%24] [j])%3 ; 其中,D向量為該非零元素對應(yīng)的第二控制向量,D向量為1X16維向量;Di向量為前一個非零元素對應(yīng)的第二控制向量;C矩陣為前一個宏塊對應(yīng)的第二控制矩陣,C矩陣為24X16維矩陣,1≤j≤16 ;d_haf = (d+l)/3, d為當前DCT系數(shù)塊中非零元素,dnum標識d在當前DCT系數(shù)塊中的位置;公式中的%為取余運算。
13.如權(quán)利要求11所述的方法,其特征在于,若當前DCT系數(shù)塊中的非零元素的值小于O,根據(jù)下列公式確定該非零元素對應(yīng)的第二控制向量:
D= (D' +C[(d/ +d_+1)%24] [j])%3 ; 其中,D向量為該非零元素對應(yīng)的第二控制向量,Di向量為前一個非零元素對應(yīng)的第二控制向量,D向量為IX 16維向量;C矩陣為前一個宏塊對應(yīng)的第二控制矩陣,C矩陣為24X16維矩陣,1≤j≤16 ;d_haf = (d+l)/3, d為當前DCT系數(shù)塊中非零元素,dnum標識d在當前DCT系數(shù)塊中的位置;公式中的%為取余運算。
14.如權(quán)利要求8所述的方法,其特征在于,在確定的非零元素的絕對值大于I時,根據(jù)下列公式更新當前DCT系數(shù)塊中該非零元素的值:
d' = d+D [dnum]; 其中,d為當前DCT系數(shù)塊中非零元素,(T為修正后的d,D向量為該非零元素對應(yīng)的第二控制向量,D向量為I X 16維向量;dnum標識d在當前DCT系數(shù)塊中的位置。
15.如權(quán)利要求10所述的方法,其特征在于,所述確定當前宏塊對應(yīng)的第二控制矩陣包括: 針對當前宏塊,對更新后的DCT系數(shù)塊進行反量化處理和反DCT處理,得到當前宏塊對應(yīng)的亮度塊和色度塊; 根據(jù)當前宏塊對應(yīng)的亮度塊和色度塊的各像素值,確定當前宏塊對應(yīng)的第二控制矩陣。
16.如權(quán)利要求15所述的方法,其特征在于,確定當前宏塊對應(yīng)的第二控制矩陣,具體包括: 所述第二控制矩陣的第I1行」列的元素值為當前宏塊的亮度塊中第(ii+jP/oS個像素的值,其中,所述第二控制矩陣為24X16維矩陣,所述亮度塊為16X16維矩陣,I ≤ I1 ≤ 16,1 ≤ j ≤ 16,% 為取余運算; 所述第二控制矩陣的第i2行J1列的元素值為當前宏塊的第一個色度塊中第α2+υ%8個像素的值,其中,所述色度塊為8X8維矩陣,17 ≤ i2 ≤ 24,I ≤ J1 ≤ 8 ; 第二控制矩陣的第i2行j2列的元素值為當前宏塊的第二個色度塊中第(i2+j2)%8個像素的值,其中,9 ( J2 ( 16。
17.—種視頻圖像的編碼裝置,其特征在于,該裝置包括: 第一編碼處理模塊,用于對待編碼視頻圖像的各宏塊進行離散余弦變換DCT處理和量化處理,得到各宏塊對應(yīng)的DCT系數(shù)塊; 第二編碼處理模塊,用于更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;具體為:針對當前DCT系數(shù)塊的每個非零元素,根據(jù)前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第一控制向量,確定該非零元素對應(yīng)的第一控制向量,并根據(jù)該非零元素對應(yīng)的第一控制向量的元素值,更新當前DCT系數(shù)塊中該非零元素的值;以及根據(jù)當前宏塊的每個更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第一控制矩陣;其中初始的第一控制矩陣為僅包含O和I的矩陣,初始的第一控制向量為零向量;第三編碼處理模塊,將所述待編碼視頻圖像的各宏塊的所有更新后的DCT系數(shù)塊進行熵編碼,以確定所述待編碼視頻圖像的碼流。
18.如權(quán)利要求17所述的裝置,其特征在于,所述第二編碼處理模塊具體用于: 根據(jù)該非零元素的值與該非零元素在當前DCT系數(shù)塊的位置標號,確定前一個宏塊對應(yīng)的第一控制矩陣中的行向量;以及根據(jù)前一個宏塊對應(yīng)的第一控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第一控制向量,確定該非零元素對應(yīng)的第一控制向量。
19.如權(quán)利要求17所述的裝置,其特征在于,所述第二編碼處理模塊具體用于: 針對當前宏塊,對更新后的DCT系數(shù)塊進行反量化處理和反DCT處理,得到當前宏塊對應(yīng)的一個亮度塊和兩個色度塊;以及根據(jù)當前宏塊對應(yīng)的亮度塊和色度塊的各像素值,確定當前宏塊對應(yīng)的第一控制矩陣。
20.一種視頻圖像的解碼裝置,其特征在于,該裝置包括: 第一解碼處理模塊,用于對獲取到的編碼處理后的碼流進行處理,得到該碼流中各宏塊對應(yīng)的離散余弦DCT系數(shù)塊; 第二解碼處理模塊,用于更新各宏塊對應(yīng)的DCT系數(shù)塊的元素值;具體為:針對當前DCT系數(shù)塊的每個非零元素,根據(jù)前一個宏塊對應(yīng)的第二控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第二控制向量,確定該非零元素對應(yīng)的第二控制向量,并根據(jù)該非零元素對應(yīng)的第二控制向量的元素值,更新當前DCT系數(shù)塊中該非零元素的元素值;其中初始的第二控制矩陣的元素值與編碼處理中確定的初始的第一控制矩陣的元素值相同,初始的第二控制向量為零向量; 告警模塊,用于在確定當前DCT系數(shù)塊的非零元素的值與該非零元素對應(yīng)的第二控制向量的元素值滿足觸發(fā)條 件時,發(fā)出告警信息。
21.如權(quán)利要求20所述的裝置,其特征在于,所述觸發(fā)條件為:(d+l)%3的值與D[dnuJ的值不相等;其中,d為當前DCT系數(shù)塊中絕對值大于I的非零元素,D向量為當前DCT系數(shù)塊對應(yīng)的第二控制向量,dM標識d在當前DCT系數(shù)塊中的位置;%為取余運算。
22.如權(quán)利要求20所述的裝置,其特征在于,該裝置還包括: 第三解碼處理模塊,用于在確定當前DCT系數(shù)塊的非零元素的值與該非零元素對應(yīng)的第二控制向量的元素值不滿足觸發(fā)條件,且當前宏塊對應(yīng)的所有DCT系數(shù)塊都更新完畢后,根據(jù)當前宏塊的每個更新后的DCT系數(shù)塊的元素值,確定當前宏塊對應(yīng)的第二控制矩陣。
23.如權(quán)利要求20所述的裝置,其特征在于,所述第二解碼處理模塊具體用于: 根據(jù)該非零元素的值與該非零元素在當前DCT系數(shù)塊的位置標號,確定前一個宏塊對應(yīng)的第二控制矩陣中的行向量;以及根據(jù)前一個宏塊對應(yīng)的第二控制矩陣中確定的行向量與前一個非零元素對應(yīng)的第二控制向量,確定該非零元素對應(yīng)的第二控制向量。
24.如權(quán)利要求22所述的裝置,其特征在于,所述第三解碼處理模塊具體用于: 針對當前宏塊,對更新后的DCT系數(shù)塊進行反量化處理和反DCT處理,得到當前宏塊對應(yīng)的亮度塊和色度塊;以及根據(jù)當前宏塊對應(yīng)的亮度塊和色度塊的各像素值,確定當前宏塊對應(yīng)的第二控制矩陣。
【文檔編號】H04N19/176GK103581688SQ201210274097
【公開日】2014年2月12日 申請日期:2012年8月2日 優(yōu)先權(quán)日:2012年8月2日
【發(fā)明者】周同, 董全武 申請人:北京大學(xué), 北大方正集團有限公司, 北京北大方正電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1