專利名稱:一種圖像編碼方法、圖像解碼方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,尤其涉及一種圖像編碼方法、圖像解碼方法及裝置。
背景技術(shù):
目前,互聯(lián)網(wǎng)尤其是社交網(wǎng)絡(luò)的興起可以使人們隨時(shí)隨地的自由的上傳分享圖片,然而,卻缺乏對圖像中敏感區(qū)域進(jìn)行有效地保護(hù)手段,如對人臉、商標(biāo)、文字等等敏感區(qū)域的保護(hù)。在利用現(xiàn)有技術(shù)對圖像敏感區(qū)域進(jìn)行加密后,經(jīng)常會影響非敏感區(qū)域的圖像質(zhì)量,加密后的圖像壓縮比也發(fā)生較大變化,且存在非授權(quán)用戶可以很容易獲取加密的敏感區(qū)域的位置信息,導(dǎo)致敏感區(qū)域信息易泄漏,也使得在解密端不能夠準(zhǔn)確定位和恢復(fù)被加密的敏感區(qū)域。因而,如何在不產(chǎn)生多余信息或者保持非敏感區(qū)域原始圖像質(zhì)量、加密后 的圖像壓縮比變化較小情況下,安全、準(zhǔn)確對圖像敏感區(qū)域進(jìn)行加密、解密是急需解決的問題。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種圖像編碼方法、圖像解碼方法及裝置,旨在解決由于利用現(xiàn)有技術(shù)對圖像加密及壓縮后,存在非敏感區(qū)域的圖像質(zhì)量受到影響,加密后 的圖像壓縮比發(fā)生較大變化,加密安全性不高的問題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種圖像編碼方法,所述方法包括下述步驟將原始圖像分解成多個(gè)最小編碼單元MCU ;根據(jù)DCT變換及量化算法,獲取每一 MCU的量化DCT系數(shù);當(dāng)判斷任一 MCU包含敏感區(qū)域時(shí),將所述任一 MCU的量化DCT系數(shù)進(jìn)行加密,并添加預(yù)設(shè)區(qū)域標(biāo)識至加密后的所述量化DCT系數(shù)中,以更新所述任一 MCU的量化DCT系數(shù)為標(biāo)識加密后的量化DCT系數(shù);將所述每一 MCU的量化DCT系數(shù)進(jìn)行編碼壓縮,生成加密壓縮后的圖像。本發(fā)明實(shí)施例的另一目的在于提供一種圖像編碼裝置,所述裝置包括MCU分解單元,用于將原始圖像分解成多個(gè)最小編碼單元MCU ; 變換及量化單元,用于根據(jù)DCT變換及量化算法,獲取每一 MCU的量化DCT系數(shù);加密及標(biāo)識單元,用于當(dāng)判斷任一 MCU包含敏感區(qū)域時(shí),將所述任一 MCU的量化DCT系數(shù)進(jìn)行加密,并添加預(yù)設(shè)區(qū)域標(biāo)識至加密后的所述量化DCT系數(shù)中,以更新所述任一MCU的量化DCT系數(shù)為標(biāo)識加密后的量化DCT系數(shù);以及編碼單元,用于將所述每一 MCU的量化DCT系數(shù)進(jìn)行編碼壓縮,生成加密壓縮后的圖像。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種圖像解碼方法,所述方法包括下述步驟解碼加密壓縮后的圖像,獲取每一最小編碼單元MCU的DCT系數(shù);當(dāng)判斷任一 MCU含有預(yù)設(shè)區(qū)域標(biāo)識時(shí),去除所述任一 MCU對應(yīng)的DCT系數(shù)中的所述預(yù)設(shè)區(qū)域標(biāo)識,并解密所述MCU的去除所述預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù),以更新所述任一MCU的DCT系數(shù)為去標(biāo)識解密后的DCT系數(shù);將所述每一 MCU的DCT系數(shù)進(jìn)行反量化、IDCT處理,生成解密解壓縮后的圖像。本發(fā)明實(shí)施例的另一目的在于提供一種圖像解碼裝置,所述裝置包括解碼單元,用于解碼加密壓縮后的圖像,獲取每一最小編碼單元MCU的DCT系數(shù);標(biāo)識去除及解密單元,用于當(dāng)判斷任一 MCU含有預(yù)設(shè)區(qū)域標(biāo)識時(shí),去除所述任一MCU對應(yīng)的DCT系數(shù)中的所述預(yù)設(shè)區(qū)域標(biāo)識,并解密所述MCU的去除所述預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù),以更新所述任一 MCU的DCT系數(shù)為去標(biāo)識解密后的DCT系數(shù);以及反量化及逆變換單元,用于將所述每一 MCU的DCT系數(shù)進(jìn)行反量化、IDCT處理,獲 取解密解壓縮后的圖像。本發(fā)明實(shí)施例通過對原始圖像進(jìn)行分解生成多個(gè)最小編碼單元MCU,接著獲取每一 MCU的量化DCT系數(shù),對包含敏感區(qū)域的任一 MCU的量化DCT系數(shù)進(jìn)行加密以及添加預(yù)設(shè)區(qū)域標(biāo)識的處理操作,可以更新該任一 MCU的量化DCT系數(shù)為標(biāo)識加密后的量化DCT系數(shù),而不包含敏感區(qū)域的任一 MCU的量化DCT系數(shù)保持不變,最后將該每一 MCU的量化DCT系數(shù)進(jìn)行編碼壓縮,生成加密壓縮后的圖像,解決了由于利用現(xiàn)有技術(shù)對圖像加密及壓縮后,存在非敏感區(qū)域的圖像質(zhì)量受到影響,加密后的圖像壓縮比發(fā)生較大變化,加密安全性不高的問題,使得在保持非敏感區(qū)域的圖像質(zhì)量的情況下,加密后的圖像壓縮比變化較小,加密安全性較高。
圖I是本發(fā)明第一實(shí)施例提供的圖像編碼方法的實(shí)現(xiàn)流程圖;圖2是本發(fā)明實(shí)施例提供的之字形掃描方式示意圖;圖3是本發(fā)明實(shí)施例提供的對測試圖像中人臉進(jìn)行加密的示意圖;圖4是本發(fā)明實(shí)施例提供的測試圖像分級加密的示意圖;圖5是本發(fā)明實(shí)施例提供的圖像編碼前后的產(chǎn)生的文件大小變化示意圖;圖6是本發(fā)明第二實(shí)施例提供的圖像編碼裝置的結(jié)構(gòu)圖;圖7是本發(fā)明第三實(shí)施例提供的圖像解碼方法的實(shí)現(xiàn)流程圖;圖8是本發(fā)明實(shí)施例提供的圖像解碼前后的圖像示意圖;圖9是本發(fā)明第四實(shí)施例提供的圖像解碼裝置的結(jié)構(gòu)圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。以下結(jié)合具體實(shí)施例對本發(fā)明的具體實(shí)現(xiàn)進(jìn)行詳細(xì)描述實(shí)施例一:圖I示出了本發(fā)明第一實(shí)施例提供的圖像編碼方法的實(shí)現(xiàn)流程,詳述如下在步驟SlOl中,將原始圖像分解成多個(gè)最小編碼單元MCU。在步驟S102中,根據(jù)DCT變換及量化算法,獲取每一 MCU的量化DCT系數(shù)。
其中,該MCU (Minimum Coding Unit,是JPEG圖像中的最小編碼單元)為8*8的區(qū)域塊,該量化DCT系數(shù)為64位量化DCT系數(shù)。在本發(fā)明實(shí)施例中,在原始圖像中預(yù)設(shè)敏感區(qū)域?yàn)橛脩纛A(yù)先指定的需要進(jìn)行加密的區(qū)域。針對任意一幅能夠進(jìn)行DCT(Discrete Cosine Transform,離散余弦變換)變換的圖像,對該圖像進(jìn)行JPEG (Joint Photographic Experts Group,聯(lián)合圖像專家小組)壓縮位圖格式的編碼壓縮成時(shí),則首先需要將該圖像分解成多個(gè)最小編碼單元MCU,根據(jù)國際靜態(tài)圖像壓縮標(biāo)準(zhǔn),該MCU為8*8的像素塊,也即每一 MCU的水平、垂直像素個(gè)數(shù)均為8,比如,一幅 512*512 的圖像包括 8*8 的 MCU 個(gè)數(shù) n 為(512/8) * (512/8) =4096,而當(dāng)一幅 817*768的圖像包括8*8的MCU個(gè)數(shù)為(817/8) * (768/8),n約為9888,需要說明的是,當(dāng)一幅圖像的水平或者垂直像素個(gè)數(shù)不是8的整數(shù)倍,而需要將該圖像分成多個(gè)8*8的MCU時(shí),則使用值為0的像素點(diǎn)補(bǔ)齊不足64個(gè)像素點(diǎn)的MCU。進(jìn)一步地,根據(jù)DCT變換,獲取每一 MCU的64位DCT系數(shù),并對每一塊的DCT系數(shù)進(jìn)行量化處理,最終獲取到每一 MCU的64位量化DCT系數(shù)。 在步驟S 103中,當(dāng)判斷任一 MCU包含敏感區(qū)域時(shí),將該任一 MCU的量化DCT系數(shù)進(jìn)行加密,并添加預(yù)設(shè)區(qū)域標(biāo)識至加密后的該量化DCT系數(shù)中,以更新該任一 MCU的量化DCT系數(shù)為標(biāo)識加密后的量化DCT系數(shù)。其中,該步驟S103中,將該任一 MCU的量化DCT系數(shù)進(jìn)行加密具體包括使用預(yù)設(shè)密鑰生成63位的常數(shù)序列L ;根據(jù)該L中數(shù)值為奇數(shù)或者偶數(shù)的位置,將該量化DCT系數(shù)的后63位系數(shù)中該位置處的系數(shù)進(jìn)行符號取反處理。在具體實(shí)施過程中,在獲取每一 MCU的64位量化DCT系數(shù)之后,需要依次判斷每一 MCU是否屬于預(yù)設(shè)的敏感區(qū)域,當(dāng)某一 MCU屬于敏感區(qū)域或者說落入預(yù)設(shè)敏感區(qū)域范圍內(nèi)時(shí),則需要對該MCU的量化DCT系數(shù)進(jìn)行加密處理。具體地,首先可以將該64位的量化DCT系數(shù)按照之字形掃描獲取,如圖2所示之字形掃描方式示意圖,以實(shí)現(xiàn)方便、準(zhǔn)確地獲取量化DCT系數(shù)的序列CC= [ccO,ccl,…,cc63],其中ccO為直流系數(shù),后63位系數(shù)[ccl,…,cc63]為交流系數(shù),則使用預(yù)設(shè)密鑰生成一個(gè)63位的常數(shù)序列L,記為L= [11,…,163],根據(jù)該L中數(shù)值為奇數(shù)或者偶數(shù)的位置,將該交流系數(shù)中對應(yīng)位置處的系數(shù)的符號進(jìn)行取反處理,直流系數(shù)ccO不變,例如,可以設(shè)置當(dāng)11為偶數(shù)時(shí),ccl數(shù)值不變,當(dāng)11為奇數(shù)時(shí),將ccl數(shù)值符號取反等。其中,該步驟S103中,添加預(yù)設(shè)區(qū)域標(biāo)識至加密后的該量化DCT系數(shù)中具體包括使用該預(yù)設(shè)密鑰生成第一范圍內(nèi)的起始搜索位置S、第二范圍內(nèi)的整數(shù)X及第三范圍內(nèi)的正整數(shù)k,記加密后的該量化DCT系數(shù)MC為[c0,cl,…,c63];判斷[cs,…,c63]中是否出現(xiàn)k個(gè)值連續(xù)為0的序列;當(dāng)判斷結(jié)果為是時(shí),將第一次出現(xiàn)該k個(gè)值連續(xù)為0的序列中的所有值使用X或者-X代替;當(dāng)判斷結(jié)果為否時(shí),將[cs,一,c63]中的系數(shù)順序兩兩分組形成N個(gè)2位的存儲單元,使用該預(yù)設(shè)密鑰生成N位的二進(jìn)制序列,并按照整數(shù)變換方法,將該二進(jìn)制序列中的比特值存入對應(yīng)的一個(gè)存儲單元中。
在具體實(shí)施過程中,使用該預(yù)設(shè)密鑰生成第一范圍內(nèi)的起始搜索位置S、第二范圍內(nèi)的整數(shù)X及第三范圍內(nèi)的正整數(shù)k,記加密后的該量化DCT系數(shù)MC為[CO,Cl,…,C63]。由于DCT變換后的系數(shù)按照從大到小排列,排在靠前位置的系數(shù)較大,一般不會出現(xiàn)值為0情況,且為了減少圖像加密后產(chǎn)生虛景,避免在解密時(shí)產(chǎn)生錯(cuò)誤,根據(jù)圖像實(shí)際加密壓縮的經(jīng)驗(yàn)值,可以取s的第一范圍為[10,20],X的第二范圍為[10,1023]或者[-1023,-10],k的第三范圍為[2,5],以s=20, X=55, k=2, [c0, ...,c (s-1)]值保持不變以MC’ =[cs,...,c63] = [2,-l,0,0,0,1,...,0,0]為例,則可以判斷出 MC’ 中存在 2個(gè)值連續(xù)為0的序列,分別為c22=c23=0,則可以根據(jù)可恢復(fù)常數(shù)替換方法添加區(qū)域標(biāo)識,具體地,使用55或者-55對c22、c23進(jìn)行替換,比如可以替換為c22=55,c23=_55等,此時(shí)[cs,…,c63]更新為[2,-1,55,-55,0, I,…,0,0],最終在添加預(yù)設(shè)區(qū)域標(biāo)識至加密后的該量化DCT系數(shù)中后,更新該任一 MCU的量化DCT系數(shù)為標(biāo)識加密后的量化DCT系數(shù)LMC。以MC =[cs,…,c63] = [2,_l,1,3,0, I, - ,4,0]為例,則可以判斷出 MC,中并不存在2個(gè)值連續(xù)為0的序列,則可以使用可恢復(fù)整數(shù)變換方法添加區(qū)域標(biāo)識,具體地,將[cs,…,c63]中的系數(shù)順序兩兩分組形成N個(gè)2位的存儲單元,此時(shí) N=floor( (63-20+1)/2) =22,其中,floor (X)表示取不大于表達(dá)式的最大整數(shù),此時(shí),第I個(gè)存儲單元[2,-I],第2個(gè)存儲單元[1,3],……,第22個(gè)存儲單元[4,0],當(dāng)(^到(63的為數(shù)為奇數(shù)時(shí),舍去c63位,也即不對其添加區(qū)域標(biāo)識,繼續(xù)使用該預(yù)設(shè)密鑰生成22位的二進(jìn)制序列LL=
,并按照整數(shù)變換方法,將該LL中的比特值存入對應(yīng)的一個(gè)存儲單元中。該整數(shù)變換方法為獲取任一存儲單元中兩個(gè)DCT系數(shù)的差的絕對值d以及與該存儲單元對應(yīng)的比特值b,根據(jù)該絕對值d以及比特值b,將該兩個(gè)DCT系數(shù)中的較大系數(shù)進(jìn)行增大處理,較小系數(shù)進(jìn)行變小處理,以將該比特值b存入該存儲單元中。在該可恢復(fù)整數(shù)變換方法中,以第N-I個(gè)存儲單元(ci,c(i+l))為例,對應(yīng)第N-I個(gè)比特值b,將該比特值b存入該存儲單元后,更新該存儲單元為(c’ i,c’(i+1)),若ci < c (i+1),則d=Ic(i+1)_ciI, C, (i+1)=c(i+1)+ceil(d/2)+b, c’ i=c(i)-ceil(d/2)_b,若ci>c(i+l),則d=Ic(i+1)_ciI , c,(i+1)=c(i+1)-ceil(d/2)-b, cf i=c(i)+ceil(d/2)+b.其中,ceil表示取大于或者等于表達(dá)式的最大整數(shù)。進(jìn)一步地,若MC’ =[cs, ...,c63] = [2,_l,1,3,0, I,…,4,0],22 位的二進(jìn)制序列LL=
為例,則通過上述處理后,MC” = [4,-3,-1,5,-2,3,…,7,-3],也即通過加載一位比特值信息,擴(kuò)大了每兩個(gè)系數(shù)之間的差值,實(shí)現(xiàn)了將該二進(jìn)制序列中的比特值存入對應(yīng)的一個(gè)存儲單元中的目的。在本發(fā)明實(shí)施例中,通過使用可恢復(fù)常數(shù)替換方法,僅對屬于敏感區(qū)域的任意MCU中的極少加密后的量化DCT系數(shù)進(jìn)行處理,保證了在編碼過程中的高壓縮比,而在無法使用該可恢復(fù)常數(shù)替換方法的情況下,使用可恢復(fù)整數(shù)變換方法進(jìn)行處理,由于此時(shí)加密后的量化DCT系數(shù)中缺少連續(xù)的指定個(gè)數(shù)的0值,則使得編碼壓縮后,圖像壓縮前后,壓縮比變化不大。另外,對于不包含敏感區(qū)域的MCU,直接對該MCU的量化DCT系數(shù)進(jìn)行編碼壓縮,而不需要利用步驟S103獲取標(biāo)識加密后的量化DCT系數(shù),以更新其量化DCT系數(shù)的操作,直接執(zhí)行步驟S104。在步驟S104中,將該每一 MCU的量化DCT系數(shù)進(jìn)行編碼壓縮,生成加密壓縮后的圖像。為了更直觀地比較加密壓縮前后圖像的質(zhì)量,如圖3 (a)所示為一幅名為testpic的測試圖,該圖像中包含有人臉、臉譜、以及人衣服上的胸章三個(gè)部分,若對該圖像中人臉的區(qū)域進(jìn)行加密處理,可以有效防 止個(gè)人肖像在未經(jīng)許可的情況下被竊取盜用,則使用本發(fā)明實(shí)施例提供的圖像壓縮加密方法,在保證對敏感區(qū)域加密的同時(shí)不影響其他區(qū)域的圖像質(zhì)量的情況下,加密壓縮后的JPEG圖像如圖3 (b)所示。該圖像編碼方法還包括當(dāng)包含敏感區(qū)域的MCU為多個(gè)時(shí),使用不同的預(yù)設(shè)密鑰對不同的MCU的量化DCT系數(shù)進(jìn)行加密及添加區(qū)域標(biāo)識處理,以支持不同MCU分別密鑰授權(quán)的功能。在具體實(shí)施過程中,在將預(yù)設(shè)敏感區(qū)域的原始圖像分解成多個(gè)8*8的MCU,根據(jù)DCT變換及量化算法,獲取每一 MCU的64位量化DCT系數(shù)之后,當(dāng)判斷有多個(gè)MCU屬于敏感區(qū)域,則可以使用相同或者不同的預(yù)設(shè)密鑰對該多個(gè)MCU進(jìn)行加密、添加標(biāo)識等處理,若對圖像中不同的敏感區(qū)域使用不同的密鑰進(jìn)行分別加密,然后將不同的密鑰分給不同的用戶使用,則能夠達(dá)到對不同的區(qū)域進(jìn)行不同的密鑰加密授權(quán)、圖像分級管理的目的。如圖4所示為對圖4 Ca)中原始圖像中人臉、胸章以及臉譜區(qū)域分別對應(yīng)的三個(gè)敏感區(qū)域按照不同的密鑰進(jìn)行加密,加密后的圖像如圖4 (b)所示。作為本發(fā)明一實(shí)例,以圖3 Ca)中的817*768的testpic圖像作為第一幅測試圖像,預(yù)設(shè)的512*512的Iena圖像為第二幅測試圖像,該testpic圖像包括9988個(gè)MCU,該Iena圖像包括4096個(gè)MCU為例,在固定JPEG圖像質(zhì)量為80%的情況下,針對對不同比例數(shù)量的MCU進(jìn)行加密后,產(chǎn)生的加密壓縮后的文件大小比例變化如圖5所示,其中,圖中方塊曲線表示針對測試圖片testpic的處理數(shù)據(jù),圓形曲線表示針對測試圖片Iena的處理數(shù)據(jù),從該圖中可以看出,隨著加密MCU所占整幅圖像的大小比例的增加,生成的加密壓縮JPEG圖像產(chǎn)生的額外文件大小的比例也增加,然而在對一幅圖像中的30%的MCU加密的情況下,使用本發(fā)明實(shí)施例提供的圖像編碼方法,僅僅產(chǎn)生約20%的額外的文件大小,相對于現(xiàn)有的圖像加密壓縮技術(shù)能夠保持極高的壓縮比。在本發(fā)明實(shí)施例中,通過上述方法能夠?qū)︶槍λ邪舾袇^(qū)域的MCU本身進(jìn)行加密,加密過程中能夠使得非敏感區(qū)域不受影響,保持非敏感區(qū)域原始圖像的質(zhì)量,加密后的圖像能夠保持高壓縮比;由于沒有對文件格式做出任何改變,則加密過的圖像可以在任意通用的JPEG圖像瀏覽器中被查看;由于加密位置信息等被隱藏在加密后的MCU的DCT系數(shù)中,預(yù)設(shè)區(qū)域標(biāo)識信息也是預(yù)設(shè)密鑰生成,故需要該密鑰來定位該圖像中的加密位置信息,使得無授權(quán)用戶無法通過文件或者流獲得加密區(qū)域的位置信息,也無法獲取原始圖像數(shù)據(jù),加密安全性得到提高,用戶的體驗(yàn)效果也得到極大提升。實(shí)施例二 :圖6示出了本發(fā)明第二實(shí)施例提供的圖像編碼裝置的結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。該圖像編碼裝置可以應(yīng)用到所有以DCT為基礎(chǔ)的圖像壓縮或者視頻壓縮格式中,也可以用于具有圖像加密、壓縮處理功能等的圖像編輯器中,可以是運(yùn)行于這些圖像編輯器內(nèi)的軟件單元,也可以作為獨(dú)立的掛件集成到這些圖像編輯器中,該圖像編碼裝置包括MCU分解單元61、變換及量化單元62、加密及標(biāo)識單元63以及編碼單元64,其中MCU分解單元61,用于將預(yù)設(shè)敏感區(qū)域的原始圖像分解成多最小編碼單元MCU。變換及量化單元62,用于根據(jù)DCT變換及量化算法,獲取每一 MCU的量化DCT系數(shù)。其中,該MCU為8*8的區(qū)域塊,該量化DCT系數(shù)為64位量化DCT系數(shù)。在本發(fā)明實(shí)施例中,通過MCU分解單元61能夠?qū)⑷我庖环軌蜻M(jìn)行DCT變換的圖像進(jìn)行分解,形成多個(gè)最小編碼單元MCU,由于該圖像中預(yù)先設(shè)置或者指定了敏感區(qū)域,則分解后,該敏感區(qū)域可以被分解在一個(gè)或者多個(gè)MCU中,根據(jù)DCT變換,能夠獲取每一 MCU的64位DCT系數(shù),根據(jù)現(xiàn)有的量化算法等,可以對該每一塊的DCT系數(shù)進(jìn)行量化處理,最終獲取到每一 MCU的64位量化DCT系數(shù)。加密及標(biāo)識單元63,用于當(dāng)判斷任一 MCU包含敏感區(qū)域時(shí),將該任一 MCU的量化DCT系數(shù)進(jìn)行加密,并添加預(yù)設(shè)區(qū)域標(biāo)識至加密后的該量化DCT系數(shù)中,以更新該任一 MCU的量化DCT系數(shù)為標(biāo)識加密后的量化DCT系數(shù)。其中,該加密及標(biāo)識單元63具體包括以下單元常數(shù)序列生成單元631,用于使用預(yù)設(shè)密鑰生成63位的常數(shù)序列L ;加密子單元632,用于根據(jù)該L中數(shù)值為奇數(shù)或者偶數(shù)的位置,將該量化DCT系數(shù)的后63位系數(shù)中該位置處的系數(shù)進(jìn)行符號取反處理;參數(shù)生成單元633,用于使用該預(yù)設(shè)密鑰生成第一范圍內(nèi)的起始搜索位置S、第二范圍內(nèi)的整數(shù)X及第三范圍內(nèi)的正整數(shù)k,記加密后的該量化DCT系數(shù)MC為[CO,Cl,…,c63];判斷單元634,用于判斷[cs,…,c63]中是否出現(xiàn)k個(gè)值連續(xù)為0的序列;第一標(biāo)識添加子單元635,用于當(dāng)該判斷單元634輸出結(jié)果為是時(shí),將第一次出現(xiàn)該k個(gè)值連續(xù)為0的序列中的所有值使用X或者-X代替;以及第二標(biāo)識添加子單元636,用于當(dāng)該判斷單元634輸出結(jié)果為否時(shí),將[cs,…,c63]中的系數(shù)順序兩兩分組形成N個(gè)2位的存儲單元,使用該預(yù)設(shè)密鑰生成N位的二進(jìn)制序列,并按照整數(shù)變換方法,將該二進(jìn)制序列中的比特值存入對應(yīng)的一個(gè)存儲單元中。在本發(fā)明實(shí)施例中,在獲取每一 MCU的64位量化DCT系數(shù)之后,需要依次判斷每一 MCU是否屬于預(yù)設(shè)的敏感區(qū)域,當(dāng)某一 MCU屬于敏感區(qū)域或者說落入預(yù)設(shè)敏感區(qū)域范圍內(nèi)時(shí),則需要對該MCU的量化DCT系數(shù)進(jìn)行加密處理。通過常數(shù)序列生成單元631使用預(yù)設(shè)密鑰生成63位的常數(shù)序列L,該加密子單元632根據(jù)該L中數(shù)值為奇數(shù)或者偶數(shù)的位置,將該量化DCT系數(shù)的后交流系數(shù)中對應(yīng)位置處的系數(shù)進(jìn)行符號取反處理,直流系數(shù)不做加密處理,保持不變。在本發(fā)明實(shí)施例中,利用參數(shù)生成單元633可以獲取s的第一范圍為[10,20],X的第二范圍為[10,1023]或者[-1023,-10],k 的第三范圍為[2,5],以 s=20,X=55,k=2,[cO,…,c(s-l)]值保持不變,當(dāng)該判斷單元634判斷該[cs,…,c63]中出現(xiàn)k個(gè)值連續(xù)為0的序列時(shí),則觸發(fā)第一標(biāo)識添加子單元635根據(jù)可恢復(fù)常數(shù)替換方法添加預(yù)設(shè)區(qū)域標(biāo)識,否則觸發(fā)第二標(biāo)識添加子單元636使用可恢復(fù)整數(shù)變換方法添加預(yù)設(shè)區(qū)域標(biāo)識至該加密后的量化DCT系數(shù)中,以獲取包含敏感區(qū)域的MCU對應(yīng)的更新后的量化DCT系數(shù)。另外,當(dāng)、判斷某一 MCU不包含敏感區(qū)域時(shí),則可以在獲取該區(qū)域卡的量化DCT系數(shù)后,直接觸發(fā)編碼單元64,執(zhí)行量化DCT系數(shù)的編碼壓縮操作。編碼單元64,用于將該每一 MCU的量化DCT系數(shù)進(jìn)行編碼壓縮,生成加密壓縮后的圖像。在本發(fā)明實(shí)施例中,通過在圖像編碼過程中,利用加密及標(biāo)識單元在JPEG編碼的量化和編碼過程之間加入對包含敏感區(qū)域的MCU的量化DCT系數(shù)進(jìn)行加密和添加區(qū)域標(biāo)識,可以實(shí)現(xiàn)對圖像中任意區(qū)域或者整個(gè)圖像進(jìn)行加密處理,加密過后的圖像仍保持很高的壓縮比,圖像中非敏感區(qū)域不受影響,沒有授權(quán)的用戶既無法獲得加密區(qū)域的位置信息,也不能恢復(fù)原始圖片的目的。該圖像編碼裝置還包括分級加密及標(biāo)識單元,用于當(dāng)包含敏感區(qū)域的MCU為多個(gè)時(shí),使用不同的預(yù)設(shè)密鑰對不同的MCU的量化DCT系數(shù)進(jìn)行加密及添加區(qū)域標(biāo)識處理,以支持不同MCU分別密鑰 授權(quán)的功能。在本發(fā)明實(shí)施例中,還可以對不同分塊區(qū)域或者敏感區(qū)域使用不同的密鑰進(jìn)行加密,通過對不同的用戶分發(fā)不同的密鑰,達(dá)到圖像分級管理的目的。由于不同的密鑰可以產(chǎn)生不同的區(qū)域標(biāo)識,所以在解密恢復(fù)的過程中,一個(gè)密鑰僅僅能夠恢復(fù)它所對應(yīng)的加密區(qū)域,實(shí)現(xiàn)圖像的分級管理,從而安全、準(zhǔn)確地對圖像敏感區(qū)域進(jìn)行加密。實(shí)施例三:圖7示出了本發(fā)明第三實(shí)施例提供的圖像解碼方法的實(shí)現(xiàn)流程,詳述如下在步驟S701中,解碼加密壓縮后的圖像,獲取每一最小編碼單元MCU的DCT系數(shù)。在具體實(shí)施過程中,對于任意一幅使用本發(fā)明實(shí)施例提供的圖像編碼方法處理后的加密壓縮后的JPEG圖像,在需要獲取該加密壓縮后的JPEG圖像對應(yīng)的原始圖像時(shí),首先同樣需要先解碼加密壓縮后的JPEG圖像,獲取每一最小編碼單元MCU對應(yīng)的DCT系數(shù)。在步驟S702中,當(dāng)判斷任一MCU含有預(yù)設(shè)區(qū)域標(biāo)識時(shí),去除該任一MCU對應(yīng)的DCT系數(shù)中的該預(yù)設(shè)區(qū)域標(biāo)識,并解密該MCU的去除該預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù),以更新該任一 MCU的DCT系數(shù)為去標(biāo)識解密后的DCT系數(shù)。其中,該MCU為8*8的區(qū)域塊,該DCT系數(shù)為64位DCT系數(shù),且該步驟S702中,去除該任一 MCU對應(yīng)的DCT系數(shù)中的該預(yù)設(shè)區(qū)域標(biāo)識的步驟具體包括根據(jù)預(yù)設(shè)密鑰獲取第一范圍內(nèi)的起始搜索位置s及第二范圍內(nèi)的整數(shù)X,記該DCT系數(shù) LMC 為[lmcO, Imcl,…,lmc63];判斷[lmcs,…,lmc63]中是否出現(xiàn)關(guān)于X或者-X的至少2位的序列;當(dāng)判斷結(jié)果為是時(shí),將該序列中的X或者-X使用0代替;當(dāng)判斷結(jié)果為否時(shí),將[lmcs, - , lmc63]中的系數(shù)順序兩兩分組形成N個(gè)2位的存儲單元,獲取該預(yù)設(shè)密鑰生成N位的二進(jìn)制序列,并按照反整數(shù)變換方法,將每一存儲單元中對應(yīng)的該二進(jìn)制序列中的比特值去除。在具體實(shí)施過程中,加密圖像的解密過程首先需要定位哪些MCU被加密過,然后去掉該MCU中別嵌入的預(yù)設(shè)區(qū)域標(biāo)識,具體地,根據(jù)預(yù)設(shè)密鑰獲取第一范圍內(nèi)的起始搜索位置s及第二范圍內(nèi)的整數(shù)X,該預(yù)設(shè)密鑰等參數(shù)與本發(fā)明實(shí)施例一中所述的預(yù)設(shè)密鑰相同,同理,該處s、X值也與本發(fā)明實(shí)施例一中所述的s、X值相同,當(dāng)判斷任一 MCU含有預(yù)設(shè)區(qū)域標(biāo)識時(shí),記該任一 MCU對應(yīng)的DCT系數(shù)LMC為[lmcO, Imcl,…,lmc63],判斷[lmcs, ...,lmc63]中是否出現(xiàn)關(guān)于X或者-X的至少2位的序列,當(dāng)判斷結(jié)果為是時(shí),說明該MCU對應(yīng)的相關(guān)DCT系數(shù)是通過可恢復(fù)常數(shù)替換方法進(jìn)行的加密處理,則將該序列中的X或者-X使用0代替,以去除區(qū)域標(biāo)識。而當(dāng)判斷結(jié)果為否時(shí),則將[lmcs,…,lmc63]中的系數(shù)順序兩兩分組形成N個(gè)2位的存儲單元,N=floor( (63-20+1)/2) =22,其中,floor (x)表示取不大于表達(dá)式的最大整數(shù),同時(shí)獲取該預(yù)設(shè)密鑰生成N位的二進(jìn)制序列LL,并按照反整數(shù)變換方法,將每一存儲單元中對應(yīng)的該二進(jìn)制序列中的比特值去除。該反整數(shù)變換方法的原理為根據(jù)本發(fā)明實(shí)施例一中所述整數(shù)變換方法獲取,假設(shè)經(jīng)過加密及添加區(qū)域標(biāo)識處理后的某一存儲單元的兩個(gè)系數(shù)為(c’ i,c’(i+1)),處理前的該存儲單元對應(yīng)的兩個(gè)系數(shù)分別為(ci,c (i+1)),則存在如下關(guān)系c(i+1)+c(i)=c,(i+1)+C,i,d,=c,(i+l)_c,i=d+2*ceil(d/2)+2*b,則得出d=(d’ -LSB(d’))/2_b,其中LSB表示二進(jìn)制中最低值的比特值,且當(dāng)d’為偶數(shù)時(shí),該b值為0,當(dāng)當(dāng)d’為奇數(shù)時(shí),該b值為1,因而,在已知d’的情況下,可以唯一地確定b、d值,則根據(jù)該以下關(guān)系可以得知原始系數(shù)或稱處理前的該存儲單元對應(yīng)的兩個(gè)系數(shù)若ci Sc (i+1),則d=Ic(i+1)—ciI, C, (i+1)=c(i+1)+ceil(d/2)+b, c’ i=c(i)—ceil(d/2)_b,若ci>c(i+l),則d=Ic(i+1) -ciI, c, (i+1)=c(i+1)-ceil(d/2)-b, cf i=c(i)+ceil(d/2)+b.其中,該步驟S702中,解密該MCU的去除該預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù)的步驟具體包括獲取該預(yù)設(shè)密鑰生成的63位的常數(shù)序列L ;根據(jù)該L中數(shù)值為奇數(shù)或者偶數(shù)的位置,將該去除該預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù)的后63位系數(shù)中對應(yīng)位置處的系數(shù)進(jìn)行符號取反處理。在具體實(shí)施過程中,由于DCT系數(shù)的符合為正或者負(fù),則根據(jù)負(fù)負(fù)得正的原理,根據(jù)該L中數(shù)值為奇數(shù)或者偶數(shù)的位置,將去除該預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù)的后63位系數(shù)中對應(yīng)位置處的系數(shù)進(jìn)行符號取反處理,則可以獲取去標(biāo)識解密后的DCT系數(shù),從而更新該任一含有預(yù)設(shè)區(qū)域標(biāo)識的MCU的DCT系數(shù)為去標(biāo)識解密后的DCT系數(shù),進(jìn)而可以獲取任一包含敏感區(qū)域的MCU對應(yīng)的去標(biāo)識解密后的DCT系數(shù)。在步驟S703中,將該每一 MCU的DCT系數(shù)進(jìn)行反量化、IDCT處理,生成解密解壓縮后的圖像。在獲取任一包含敏感區(qū)域的MCU對應(yīng)的去標(biāo)識解密后的DCT系數(shù),以及不包含敏感區(qū)域的MCU對應(yīng)的DCT系數(shù)后,對該每一 MCU的DCT系數(shù)進(jìn)行反量化、IDCT (InverseDiscrete Cosine Transform,離散余弦反變換)處理操作,貝U可以獲取原始圖像或稱解密解壓縮之后的圖像。另外,該圖像解碼方法還包括當(dāng)含有預(yù)設(shè)區(qū)域標(biāo)識的MCU為多個(gè)時(shí),使用不同的預(yù)設(shè)密鑰對不同的MCU的DCT系數(shù)進(jìn)行去除區(qū)域標(biāo)識及解密處理。具體地,當(dāng)對圖像的不同區(qū)域使用不同的密鑰進(jìn)行加密及添加預(yù)設(shè)標(biāo)識之后,此時(shí)含有預(yù)設(shè)區(qū)域標(biāo)識的MCU的個(gè)數(shù)為多個(gè),則在解密解壓縮過程中,需要使用不同的預(yù)設(shè)密鑰對相應(yīng)使用該密鑰加密的MCU的DCT系數(shù)進(jìn)行去除區(qū)域標(biāo)識及解密處理,以支持不同MCU分別密鑰授權(quán)的功能,使得擁有其中一個(gè)密鑰僅僅能夠恢復(fù)其所對應(yīng)的加密區(qū)域的原始內(nèi)容,必須擁有全部區(qū)域的密鑰才可獲得完整的原始圖像,實(shí)現(xiàn)了圖像加密區(qū)域的分級管理。在對圖像4 (a)進(jìn)行分級加密后的圖像如圖4 (b)所示,如果用戶擁有對人臉進(jìn)行加密的密鑰,則利用本發(fā)明實(shí)施例的圖像解壓縮及解密方法,僅對該圖像4 (b)中的人臉進(jìn)行解密恢復(fù)后的圖像如圖8 (a)所示;基于圖4 (b),如果用戶擁有對臉譜和胸章進(jìn)行加密的密鑰,對該臉譜和胸章進(jìn)行解密恢復(fù)后的圖像如圖8 (b)所示;若用戶同時(shí)擁有圖4 (b)中所有加密區(qū)域的密鑰,則解密恢復(fù)后的圖像如圖4 (a)。在本發(fā)明實(shí)施例中,通過判斷任一 MCU含有預(yù)設(shè)區(qū)域標(biāo)識時(shí),說明該任一 MCU為敏感MCU,去除該MCU對應(yīng)的DCT系數(shù)中的預(yù)設(shè)區(qū)域標(biāo)識,并解密該任一 MCU的去除該預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù),以更新該任一 MCU的DCT系數(shù)為去標(biāo)識解密后的DCT系數(shù),當(dāng)判斷 任一 MCU不含有預(yù)設(shè)區(qū)域標(biāo)識時(shí),則直接獲取該MCU對應(yīng)的DCT系數(shù),從而在獲取每一 MCU的DCT系數(shù)進(jìn)行反量化、IDCT處理,生成解碼后的圖像,實(shí)現(xiàn)了非敏感區(qū)域圖像質(zhì)量不受影響,只有授權(quán)用戶才可以準(zhǔn)確獲知加密區(qū)域的位置信息、恢復(fù)原始圖像等,提高了敏感區(qū)域加密的安全性,提高了 JPEG圖像的解密、解壓縮操作準(zhǔn)確度。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如R0M/RAM、磁盤、光盤等。實(shí)施例四圖9示出了本發(fā)明第四實(shí)施例提供的圖像解碼裝置的結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。該圖像解碼裝置可以應(yīng)用到所有以DCT為基礎(chǔ)的圖像解壓縮或者視頻解壓縮格式中,也可以用于具有圖像解密、解壓縮處理功能等的圖像編輯器中,可以是運(yùn)行于這些圖像編輯器內(nèi)的軟件單元,也可以作為獨(dú)立的掛件集成到這些圖像編輯器中,該圖像解碼裝置包括解碼單元91、標(biāo)識去除及解密單元92以及反量化及逆變換單元93,其中解碼單元91,用于解碼加密壓縮后的JPEG圖像,獲取每一最小編碼單元MCU的DCT系數(shù)。在本發(fā)明實(shí)施例中,對于任意一幅使用本發(fā)明實(shí)施例提供的圖像編碼方法處理后的加密壓縮后的JPEG圖像,在需要獲取該加密壓縮后的JPEG圖像對應(yīng)的原始圖像時(shí),首先同樣需要先解碼加密壓縮后的JPEG圖像,獲取每一最小編碼單元MCU對應(yīng)的DCT系數(shù)。標(biāo)識去除及解密單元92,用于當(dāng)判斷任一 MCU含有預(yù)設(shè)區(qū)域標(biāo)識時(shí),去除該任一MCU對應(yīng)的DCT系數(shù)中的該預(yù)設(shè)區(qū)域標(biāo)識,并解密該MCU的去除該預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù),以更新該任一 MCU的DCT系數(shù)為去標(biāo)識解密后的DCT系數(shù)。其中,該MCU為8*8的區(qū)域塊,該DCT系數(shù)為64位DCT系數(shù),該標(biāo)識去除及解密單元92具體包括參數(shù)生成單元921,用于根據(jù)預(yù)設(shè)密鑰獲取第一范圍內(nèi)的起始搜索位置s及第二范圍內(nèi)的整數(shù)X,記該DCT系數(shù)LMC為[lmcO, Imcl, ...,lmc63];
判斷單元922,用于判斷[lmcs,…,lmc63]中是否出現(xiàn)關(guān)于X或者-X的至少2位的序列;第一標(biāo)識去除單元923,用于當(dāng)判斷結(jié)果為是時(shí),將該序列中的X或者-X使用0代替;第二標(biāo)識去除單元924,用于當(dāng)判斷結(jié)果為否時(shí),將[lmcs,…,lmc63]中的系數(shù)順序兩兩分組形成N個(gè)2位的存儲單元,獲取該預(yù)設(shè)密鑰生成N位的二進(jìn)制序列,并按照反整數(shù)變換方法,將每一存儲單元中對應(yīng)的該二進(jìn)制序列中的比特值去除;常數(shù)序列生成單元925,用于獲取該預(yù)設(shè)密鑰生成的63位的常數(shù)序列L ;以及解密單元926,用于根據(jù)該L中數(shù)值為奇數(shù)或者偶數(shù)的位置,將該去除該預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù)的后63位系數(shù)中對應(yīng)位置處的系數(shù)進(jìn)行符號取反處理。在本發(fā)明實(shí)施例中,利用該參數(shù)生成單元921根據(jù)預(yù)設(shè)密鑰獲取第一范圍內(nèi)的起 始搜索位置s及第二范圍內(nèi)的整數(shù)X,該預(yù)設(shè)密鑰等參數(shù)與本發(fā)明實(shí)施例一中所述的預(yù)設(shè)密鑰相同,同理,該處s、X值也與本發(fā)明實(shí)施例一中所述的s、X值相同,利用判斷單元922判斷[lmcs,…,lmc63]中是否出現(xiàn)關(guān)于X或者-X的至少2位的序列,是則通過第一標(biāo)識去除單元923將該序列中的X或者-X使用0代替,否則通過第二標(biāo)識去除單元924將每一存儲單元中對應(yīng)的該二進(jìn)制序列中的比特值去除,最終實(shí)現(xiàn)了去除該任一 MCU或稱區(qū)域塊對應(yīng)的DCT系數(shù)中的該預(yù)設(shè)區(qū)域標(biāo)識。接著繼續(xù)結(jié)合常數(shù)序列生成單元925及解密單元926,根據(jù)常數(shù)序列L中數(shù)值為奇數(shù)或者偶數(shù)的位置,將去除該預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù)的后63位系數(shù)中對應(yīng)位置處的系數(shù)進(jìn)行符號取反處理,獲取去標(biāo)識解密后的DCT系數(shù),從而更新該任一含有預(yù)設(shè)區(qū)域標(biāo)識的MCU的DCT系數(shù)為去標(biāo)識解密后的DCT系數(shù),達(dá)到了準(zhǔn)確地對任一包含敏感區(qū)域的MCU的DCT系數(shù)進(jìn)行去標(biāo)識、解密的目的。反量化及逆變換單元93,用于將該每一 MCU的DCT系數(shù)進(jìn)行反量化、IDCT處理,生成解密解壓縮后的圖像。另外,該圖像解碼裝置還包括分級去標(biāo)識及解密單元,用于當(dāng)含有預(yù)設(shè)區(qū)域標(biāo)識的MCU為多個(gè)時(shí),使用不同的預(yù)設(shè)密鑰對不同的MCU的DCT系數(shù)進(jìn)行去除區(qū)域標(biāo)識及解密處理。在本發(fā)明實(shí)施例中,當(dāng)對圖像的不同區(qū)域使用不同的密鑰進(jìn)行加密及添加預(yù)設(shè)標(biāo)識之后,此時(shí)含有預(yù)設(shè)區(qū)域標(biāo)識的MCU的個(gè)數(shù)為多個(gè),則在解密解壓縮過程中,需要分級去標(biāo)識及解密單元使用不同的預(yù)設(shè)密鑰對相應(yīng)使用該密鑰加密的MCU的DCT系數(shù)進(jìn)行去除區(qū)域標(biāo)識及解密處理,以支持不同MCU分別密鑰授權(quán)的功能。在本發(fā)明實(shí)施例中,通過包括解碼單元91、標(biāo)識去除及解密單元92以及反量化及逆變換單元93的圖像解碼裝置,使得在對解碼加密壓縮后的JPEG圖像進(jìn)行解密解壓縮時(shí),相對于現(xiàn)有技術(shù),具有對加密區(qū)域的解密更準(zhǔn)確、解密后的圖像的質(zhì)量更高等的優(yōu)點(diǎn)。本發(fā)明實(shí)施例提供了一種圖像編碼方法,通過對包含敏感區(qū)域的任一 MCU的量化DCT系數(shù)進(jìn)行加密,并添加預(yù)設(shè)區(qū)域標(biāo)識至加密后的該量化DCT系數(shù)中,以更新該任一 MCU的量化DCT系數(shù)為標(biāo)識加密后的量化DCT系數(shù),進(jìn)而將該每一 MCU的量化DCT系數(shù)進(jìn)行編碼壓縮,獲取加密壓縮后的JPEG圖像,解決了由于利用現(xiàn)有技術(shù)對圖像編碼后,存在非敏感區(qū)域的圖像質(zhì)量受到影響,加密后的圖像壓縮比發(fā)生較大變化,加密安全性不高的問題,使得在保持較高的壓縮比及非敏感區(qū)域質(zhì)量的前提下,可以對圖像中任意區(qū)域或者整個(gè)圖像進(jìn)行加密處理,且加密過后的圖像可以在任意通用的JPEG圖像瀏覽器中觀看,沒有授權(quán)用戶無法恢復(fù)或者查看敏感區(qū)域的原始圖像,具有較高的加密安全性及用戶體驗(yàn)效果。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的 保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種圖像編碼方法,其特征在于,所述方法包括下述步驟 將原始圖像分解成多個(gè)最小編碼單元MCU ; 根據(jù)DCT變換及量化算法,獲取每一 MCU的量化DCT系數(shù); 當(dāng)判斷任一 MCU包含敏感區(qū)域時(shí),將所述任一 MCU的量化DCT系數(shù)進(jìn)行加密,并添加預(yù)設(shè)區(qū)域標(biāo)識至加密后的所述量化DCT系數(shù)中,以更新所述任一 MCU的量化DCT系數(shù)為標(biāo)識加密后的量化DCT系數(shù); 將所述每一 MCU的量化DCT系數(shù)進(jìn)行編碼壓縮,生成加密壓縮后的圖像。
2.如權(quán)利要求I所述的方法,其特征在于,所述MCU為8*8的區(qū)域塊,所述量化DCT系數(shù)為64位量化DCT系數(shù),所述將所述任一 MCU的量化DCT系數(shù)進(jìn)行加密具體包括 使用預(yù)設(shè)密鑰生成63位的常數(shù)序列L ; 根據(jù)所述L中數(shù)值為奇數(shù)或者偶數(shù)的位置,將所述量化DCT系數(shù)的后63位系數(shù)中所述位置處的系數(shù)進(jìn)行符號取反處理。
3.如權(quán)利要求2所述的方法,其特征在于,所述添加預(yù)設(shè)區(qū)域標(biāo)識至加密后的所述量化DCT系數(shù)中具體包括 使用所述預(yù)設(shè)密鑰生成第一范圍內(nèi)的起始搜索位置S、第二范圍內(nèi)的整數(shù)X及第三范圍內(nèi)的正整數(shù)k,記加密后的所述量化DCT系數(shù)MC為[cO,cl,…,c63]; 判斷[cs, c63]中是否出現(xiàn)k個(gè)值連續(xù)為O的序列; 當(dāng)判斷結(jié)果為是時(shí),將第一次出現(xiàn)所述k個(gè)值連續(xù)為O的序列中的所有值使用X或者-X代替; 當(dāng)判斷結(jié)果為否時(shí),將[cs,…,c63]中的系數(shù)順序兩兩分組形成N個(gè)2位的存儲單元,使用所述預(yù)設(shè)密鑰生成N位的二進(jìn)制序列,并按照整數(shù)變換方法,將所述二進(jìn)制序列中的 比特值存入對應(yīng)的一個(gè)存儲單元中。
4.如權(quán)利要求I所述的方法,其特征在于,所述方法還包括 當(dāng)包含敏感區(qū)域的MCU為多個(gè)時(shí),使用不同的預(yù)設(shè)密鑰對不同的MCU的量化DCT系數(shù)進(jìn)行加密及添加區(qū)域標(biāo)識處理。
5.一種圖像編碼裝置,其特征在于,所述裝置包括 MCU分解單元,用于將原始圖像分解成多個(gè)最小編碼單元MCU ; 變換及量化單元,用于根據(jù)DCT變換及量化算法,獲取每一 MCU的量化DCT系數(shù); 加密及標(biāo)識單元,用于當(dāng)判斷任一 MCU包含敏感區(qū)域時(shí),將所述任一 MCU的量化DCT系數(shù)進(jìn)行加密,并添加預(yù)設(shè)區(qū)域標(biāo)識至加密后的所述量化DCT系數(shù)中,以更新所述任一 MCU的量化DCT系數(shù)為標(biāo)識加密后的量化DCT系數(shù);以及 編碼單元,用于將所述每一 MCU的量化DCT系數(shù)進(jìn)行編碼壓縮,生成加密壓縮后的圖像。
6.如權(quán)利要求5所述的裝置,其特征在于,所述MCU為8*8的區(qū)域塊,所述量化DCT系數(shù)為64位量化DCT系數(shù),所述加密及標(biāo)識單元具體包括 常數(shù)序列生成單元,用于使用預(yù)設(shè)密鑰生成63位的常數(shù)序列L ; 加密子單元,用于根據(jù)所述L中數(shù)值為奇數(shù)或者偶數(shù)的位置,將所述量化DCT系數(shù)的后63位系數(shù)中所述位置處的系數(shù)進(jìn)行符號取反處理; 參數(shù)生成單元,用于使用所述預(yù)設(shè)密鑰生成第一范圍內(nèi)的起始搜索位置S、第二范圍內(nèi)的整數(shù)X及第三范圍內(nèi)的正整數(shù)k,記加密后的所述量化DCT系數(shù)MC為[cO,cl,…,C63]; 判斷單元,用于判斷[cs,…,c63]中是否出現(xiàn)k個(gè)值連續(xù)為O的序列; 第一標(biāo)識添加子單元,用于當(dāng)所述判斷單元輸出結(jié)果為是時(shí),將第一次出現(xiàn)所述k個(gè)值連續(xù)為O的序列中的所有值使用X或者-X代替;以及 第二標(biāo)識添加子單元,用于當(dāng)所述判斷單元輸出結(jié)果為否時(shí),將[cs,…,c63]中的系數(shù)順序兩兩分組形成N個(gè)2位的存儲單元,使用所述預(yù)設(shè)密鑰生成N位的二進(jìn)制序列,并按照整數(shù)變換方法,將所述二進(jìn)制序列中的比特值存入對應(yīng)的一個(gè)存儲單元中。
7.如權(quán)利要求5所述的裝置,其特征在于,所述裝置還包括 分級加密及標(biāo)識單元,用于當(dāng)包含敏感區(qū)域的MCU為多個(gè)時(shí),使用不同的預(yù)設(shè)密鑰對不同的MCU的量化DCT系數(shù)進(jìn)行加密及添加區(qū)域標(biāo)識處理。
8.一種基于權(quán)利要求I所述圖像編碼方法的圖像解碼方法,其特征在于,所述方法包括下述步驟 解碼加密壓縮后的圖像,獲取每一最小編碼單元MCU的DCT系數(shù); 當(dāng)判斷任一 MCU含有預(yù)設(shè)區(qū)域標(biāo)識時(shí),去除所述任一 MCU對應(yīng)的DCT系數(shù)中的所述預(yù)設(shè)區(qū)域標(biāo)識,并解密所述MCU的去除所述預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù),以更新所述任一 MCU的DCT系數(shù)為去標(biāo)識解密后的DCT系數(shù); 將所述每一 MCU的DCT系數(shù)進(jìn)行反量化、IDCT處理,生成解密解壓縮后的圖像。
9.如權(quán)利要求8所述的方法,其特征在于,所述MCU為8*8的區(qū)域塊,所述DCT系數(shù)為64位DCT系數(shù),所述去除所述任一 MCU對應(yīng)的DCT系數(shù)中的所述預(yù)設(shè)區(qū)域標(biāo)識的步驟具體包括 根據(jù)預(yù)設(shè)密鑰獲取第一范圍內(nèi)的起始搜索位置s及第二范圍內(nèi)的整數(shù)X,記所述DCT系數(shù) LMC 為[lmcO, Imcl,…,lmc63]; 判斷[lmcs,…,lmc63]中是否出現(xiàn)關(guān)于X或者-X的至少2位的序列; 當(dāng)判斷結(jié)果為是時(shí),將所述序列中的X或者-X使用0代替; 當(dāng)判斷結(jié)果為否時(shí),將[lmcs,…,lmc63]中的系數(shù)順序兩兩分組形成N個(gè)2位的存儲單元,獲取所述預(yù)設(shè)密鑰生成N位的二進(jìn)制序列,并按照反整數(shù)變換方法,將每一存儲單元中對應(yīng)的所述二進(jìn)制序列中的比特值去除。
10.如權(quán)利要求9所述的方法,其特征在于,所述解密所述MCU的去除所述預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù)的步驟具體包括 獲取所述預(yù)設(shè)密鑰生成的63位的常數(shù)序列L ; 根據(jù)所述L中數(shù)值為奇數(shù)或者偶數(shù)的位置,將去除所述預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù)的后63位系數(shù)中對應(yīng)位置處的系數(shù)進(jìn)行符號取反處理。
11.如權(quán)利要求8所述的方法,其特征在于,所述方法還包括 當(dāng)含有預(yù)設(shè)區(qū)域標(biāo)識的MCU為多個(gè)時(shí),使用不同的預(yù)設(shè)密鑰對不同的MCU的DCT系數(shù)進(jìn)行去除區(qū)域標(biāo)識及解密處理。
12.—種圖像解碼裝置,其特征在于,所述裝置包括解碼單元,用于解碼加密壓縮后的圖像,獲取每一最小編碼單元MCU的DCT系數(shù);標(biāo)識去除及解密單元,用于當(dāng)判斷任一 MCU含有預(yù)設(shè)區(qū)域標(biāo)識時(shí),去除所述任一 MCU對應(yīng)的DCT系數(shù)中的所述預(yù)設(shè)區(qū)域標(biāo)識,并解密所述MCU的去除所述預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù),以更新所述任一 MCU的DCT系數(shù)為去標(biāo)識解密后的DCT系數(shù);以及 反量化及逆變換單元,用于將所述每一 MCU的DCT系數(shù)進(jìn)行反量化、IDCT處理,獲取解密解壓縮后的圖像。
13.如權(quán)利要求12所述的裝置,其特征在于,所述MCU為8*8的區(qū)域塊,所述DCT系數(shù)為64位DCT系數(shù),所述標(biāo)識去除及解密單元具體包括 參數(shù)生成單元,用于根據(jù)預(yù)設(shè)密鑰獲取第一范圍內(nèi)的起始搜索位置s及第二范圍內(nèi)的整數(shù) X,記所述 DCT 系數(shù) LMC 為[lmcO, Imcl, ...,lmc63]; 判斷單元,用于判斷[lmcs,…,lmc63]中是否出現(xiàn)關(guān)于X或者-X的至少2位的序列;第一標(biāo)識去除單元,用于當(dāng)所述判斷單元輸出結(jié)果為是時(shí),將所述序列中的X或者-X使用0代替; 第二標(biāo)識去除單元,用于當(dāng)所述判斷單元輸出結(jié)果為否時(shí),將[lmcs,…,lmc63]中的系數(shù)順序兩兩分組形成N個(gè)2位的存儲單元,獲取所述預(yù)設(shè)密鑰生成N位的二進(jìn)制序列,并按照反整數(shù)變換方法,將每一存儲單元中對應(yīng)的所述二進(jìn)制序列中的比特值去除; 常數(shù)序列生成單元,用于獲取所述預(yù)設(shè)密鑰生成的63位的常數(shù)序列L ;以及解密單元,用于根據(jù)所述L中數(shù)值為奇數(shù)或者偶數(shù)的位置,將去除所述預(yù)設(shè)區(qū)域標(biāo)識后的DCT系數(shù)的后63位系數(shù)中對應(yīng)位置處的系數(shù)進(jìn)行符號取反處理。
14.如權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括 分級去標(biāo)識及解密單元,用于當(dāng)含有預(yù)設(shè)區(qū)域標(biāo)識的MCU為多個(gè)時(shí),使用不同的預(yù)設(shè)密鑰對不同的MCU的DCT系數(shù)進(jìn)行去除區(qū)域標(biāo)識及解密處理。
全文摘要
本發(fā)明適用于圖像處理技術(shù)領(lǐng)域,提供了一種圖像編碼方法、圖像解碼方法及裝置,所述方法包括下述步驟將原始圖像分解成多個(gè)最小編碼單元MCU;根據(jù)DCT變換及量化算法,獲取每一MCU的量化DCT系數(shù);當(dāng)判斷任一MCU包含敏感區(qū)域時(shí),將該MCU的量化DCT系數(shù)進(jìn)行加密,添加預(yù)設(shè)區(qū)域標(biāo)識至加密后的該量化DCT系數(shù)中,以更新該任一MCU的量化DCT系數(shù)為標(biāo)識加密后的量化DCT系數(shù);將該每一MCU的量化DCT系數(shù)進(jìn)行編碼壓縮,生成加密壓縮后的圖像。本發(fā)明僅對包含敏感區(qū)域的MCU量化DCT系數(shù)進(jìn)行加密及添加區(qū)域標(biāo)識,使得非敏感區(qū)域的圖像質(zhì)量不會受到影響,加密后的圖像能夠保持較高的壓縮比,加密安全性也得到提高。
文檔編號H04N21/44GK102724552SQ20121017257
公開日2012年10月10日 申請日期2012年5月30日 優(yōu)先權(quán)日2012年5月30日
發(fā)明者廉士國 申請人:華為技術(shù)有限公司