TW201923710A - 基於奇偶特性隱寫資料於區塊截斷編碼影像的方法、影像壓縮裝置及電腦可讀取的記錄媒體 - Google Patents
基於奇偶特性隱寫資料於區塊截斷編碼影像的方法、影像壓縮裝置及電腦可讀取的記錄媒體 Download PDFInfo
- Publication number
- TW201923710A TW201923710A TW106139664A TW106139664A TW201923710A TW 201923710 A TW201923710 A TW 201923710A TW 106139664 A TW106139664 A TW 106139664A TW 106139664 A TW106139664 A TW 106139664A TW 201923710 A TW201923710 A TW 201923710A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- bit map
- image
- block
- bit
- Prior art date
Links
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一種基於奇偶特性隱寫資料於區塊截斷編碼影像的方法,由一影像編碼模組將一灰階影像編碼成包含複數個位元圖的一區塊截斷編碼影像,再由一資料隱寫模組根據要隱寫資料的某一位元圖及其四個相鄰的位元圖還原的灰階影像區塊與其各自對應的原始灰階影像區塊之間的灰階值差異,求得一區域灰階值改變量,資料隱寫模組並根據要隱寫的資料、該位元圖中1的個數及該區域灰階值改變量,決定在該位元圖中加入或減少奇數個1、加入或減少偶數個1或者不更動該位元圖,以使該區域灰階值改變量變小。
Description
本發明是有關於一種利用區塊截斷編碼的靜態影像壓縮方法,特別是指一種基於奇偶特性隱寫資料於區塊截斷編碼影像的方法。
絕對動差區塊截斷編碼(Absolute Moment Block Truncation Coding, 以下簡稱AMBTC)為一種計算簡單並且有效的靜態影像壓縮方法。在AMBTC演算法中,一個大小為P × Q個像素的輸入影像會被切割成複數個影像區塊,每一個影像區塊大小為M × N個像素,且每個影像區塊僅利用兩個像素值(色彩值)a、b來表達,並根據每個影像區塊被編碼轉換成對應的一個位元圖(binary bitmap)中0和1的位置來對應放置這兩種像素值。以八位元的灰階影像為例,原始影像區塊所需的儲存空間為M × N × 8bits,而原始影像區塊經過AMBTC演算法壓縮後產生的區塊截斷編碼(BTC)影像,所需的儲存空間只要M × N + 2 × 8 bits,藉此達到影像壓縮的目的。
然而相較於原始影像,區塊截斷編碼影像在壓縮過程中一定會破壞影像品質,此外,任何在影像上進行資料隱寫(編碼加密)的過程,也或多或少都會對影像品質帶來破壞,因為這個資料隱寫的動作主要是為了提高影像的安全性,例如防偽,跟影像本身品質無關。
因此,如何在隱寫資料於區塊截斷編碼影像的過程中,減少對區塊截斷編碼影像品質的影響,讓隱寫資料後的區塊截斷編碼影像的影像品質達到最佳並減少影像失真、雜訊,遂成為本發明的重點。
因此,本發明之目的,即在提供一種能使區塊截斷編碼影像的影像品質達到最佳之基於奇偶特性隱寫資料於區塊截斷編碼影像的方法,以及實現該方法的一種影像壓縮裝置及一種電腦可讀取的記錄媒體。
於是,本發明一種基於奇偶特性隱寫資料於區塊截斷編碼影像的方法,應用於一影像壓縮裝置,用以將一灰階影像轉換成一區塊截斷編碼影像,並將一資料隱寫在該區塊截斷編碼影像中,該方法包括:(A)該影像壓縮裝置中的一影像編碼模組將該灰階影像切割成複數個灰階影像區塊,且將每一個灰階影像區塊各別編碼成對應的一位元圖,並以兩個像素值分別代表該位元圖中0和1的像素值,而產生包含複數個位元圖的該區塊截斷編碼影像;及(B)該影像壓縮裝置中的一資料隱寫模組由左至右、由上而下依序地將資料隱寫在該區塊截斷編碼影像的各該位元圖中,而產生一隱寫資料的區塊截斷編碼影像;且該資料隱寫模組將要隱寫資料的某一位元圖及位於其上側及左側的四個相鄰的位元圖各自根據相對應的兩個像素值還原成灰階影像區塊,以計算該五個還原的灰階影像區塊各自的一灰階值總合與其各自相對應的原始灰階影像區塊的一灰階值總合之間的差異,而求得分別與該位元圖及該四個相鄰的位元圖對應的五個區塊灰階值改變量,該資料隱寫模組並將該四個相鄰的位元圖對應的四個區塊灰階值改變量分別乘以相對應的一權重值再與該位元圖對應的該區塊灰階值改變量加總,而求得一區域灰階值改變量;其中,當要隱寫在該位元圖的資料是一第一資料,且該位元圖中1的個數為偶數時,該資料隱寫模組根據該區域灰階值改變量,決定在該位元圖中加入奇數個1或減少奇數個1,以使該區域灰階值改變量變小;當要隱寫在該位元圖的資料是一第二資料,且該位元圖中1的個數為奇數時,該資料隱寫模組根據該區域灰階值改變量,決定在該位元圖中加入奇數個1或減少奇數個1,以使該區域灰階值改變量變小;當要隱寫在該位元圖的資料是該第一資料,且該位元圖中1的個數為奇數時,該資料隱寫模組根據該區域灰階值改變量,決定在該位元圖中加入偶數個1、減少偶數個1或不更動該位元圖,以使該區域灰階值改變量變小或不變;當要隱寫在該位元圖的資料是該第二資料,且該位元圖中1的個數為偶數時,該資料隱寫模組根據該區域灰階值改變量,決定在該位元圖中加入偶數個1、減少偶數個1或不更動該位元圖,以使該區域灰階值改變量變小或不變。
在本發明的一些實施態樣中,該第一資料為二進制的位元值0且該第二資料為二進制的位元值1,或者,該第一資料為二進制的位元值1且該第二資料為二進制的位元值0。
在本發明的一些實施態樣中,當要隱寫在該位元圖的資料是第一資料且該位元圖中1的個數為偶數時,該資料隱寫模組判斷在該位元圖中加入一個1會使該區域灰階值改變量變小,則在該位元圖中加入一個1,否則在該位元圖中減少一個1;當要隱寫在該位元圖的資料是第二資料且該位元圖中1的個數為奇數時,該資料隱寫模組判斷在該位元圖中加入一個1會使該區域灰階值改變量變小,則在該位元圖中加入一個1,否則在該位元圖中減少一個1;當要隱寫在該位元圖的資料是該第一資料且該位元圖中1的個數為奇數時,該資料隱寫模組判斷在該位元圖中加入兩個1會使該區域灰階值改變量變小,則在該位元圖中加入兩個1,或者該資料隱寫模組判斷在該位元圖中減少兩個1會使該區域灰階值改變量變小,則在該位元圖中減少兩個1,否則不更動該位元圖;當要隱寫在該位元圖的資料是該第二資料且該位元圖中1的個數為偶數時,該資料隱寫模組判斷在該位元圖中加入兩個1會使該區域灰階值改變量變小,則在該位元圖中加入兩個1,或者該資料隱寫模組判斷在該位元圖中減少兩個1會使該區域灰階值改變量變小,則在該位元圖中減少兩個1,否則不更動該位元圖。
在本發明的一些實施態樣中,該影像編碼模組還根據每一個位元圖最適合的一參考值去調整該區塊截斷編碼影像中每一個位元圖所對應的兩個像素值,以使每一個位元圖所對應的兩個像素值達到最佳化。
在本發明的一些實施態樣中,該資料隱寫模組是針對要隱寫資料且位於該區塊截斷編碼影像由上數下來第2行第2列之後及倒數第2行第2列之前的位元圖,計算該區域灰階值改變量。
在本發明的一些實施態樣中,當要隱寫資料的該位元圖是位於該區塊截斷編碼影像由上數下來第2行第2列之前或倒數第2行第2列之後,則當要隱寫在該位元圖的資料是該第一資料,且該位元圖中1的個數為偶數時,該資料隱寫模組是根據該位元圖對應的該區塊灰階值改變量,決定在該位元圖中加入奇數個1或減少奇數個1,以使該區塊灰階值改變量變小;當要隱寫在該位元圖的資料是該第二資料,且該位元圖中1的個數為奇數時,該資料隱寫模組是根據該位元圖對應的該區塊灰階值改變量,決定在該位元圖中加入奇數個1或減少奇數個1,以使該區塊灰階值改變量變小;當要隱寫在該位元圖的資料是該第一資料,且該位元圖中1的個數為奇數時,該資料隱寫模組是根據該位元圖對應的該區塊灰階值改變量,決定在該位元圖中加入偶數個1、減少偶數個1或不更動該位元圖,以使該區塊灰階值改變量變小或不變;當要隱寫在該位元圖的資料是該第二資料,且該位元圖中1的個數為偶數時,該資料隱寫模組是根據該位元圖對應的該區塊灰階值改變量,決定在該位元圖中加入偶數個1、減少偶數個1或不更動該位元圖,以使該區塊灰階值改變量變小或不變。
在本發明的一些實施態樣中,該影像壓縮裝置中的一影像最佳化模組還對該隱寫資料的區塊截斷編碼影像進行一改良式直接二位元搜尋,其一次只對該隱寫資料的區塊截斷編碼影像中的一個位元圖進行一直接二位元搜尋,以判斷該位元圖中的一個1是位在該位元圖的中間、角落或側邊,並嘗試將該一個1與其相鄰的0位置互換,直到判定其中一互換結果會使該位元圖還原成灰階影像區塊後與其對應的原始灰階影像區塊最接近,即接受該互換結果,然後再對該位元圖中下一個1重覆執行該直接二位元搜尋,直到該位元圖中全部的1完成該直接二位元搜尋,該影像最佳化模組才會再對該隱寫資料的區塊截斷編碼影像中的下一個位元圖進行該改良式直接二位元搜尋,並且對該隱寫資料的區塊截斷編碼影像中的該等位元圖以由上到下、由左到右方式一一進行該改良式直接二位元搜尋,以產生一最佳化隱寫資料的區塊截斷編碼影像。
此外,本發明實現上述方法的一種影像壓縮裝置,用以將一灰階影像壓縮成一區塊截斷編碼影像,並隱寫資料於該區塊截斷編碼影像中,該影像壓縮裝置包括一影像編碼模組、一資料隱寫模組及一影像最佳化模組,並能藉由該影像編碼模組、該資料隱寫模組及該影像最佳化模組執行如上所述的基於奇偶特性隱寫資料於區塊截斷編碼影像的方法。
再者,本發明實現上述方法的一種電腦可讀取的記錄媒體,其中儲存一包括一影像編碼模組、一資料隱寫模組及一影像最佳化模組的程式軟體,該程式軟體能被一影像壓縮裝置載入並執行,而完成如上所述的基於奇偶特性隱寫資料於區塊截斷編碼影像的方法。
本發明之功效在於:藉由該影像編碼模組將一灰階影像編碼壓縮成一區塊截斷編碼影像後,再藉由該資料隱寫模組根據要隱寫在區塊截斷編碼影像的某一位元圖中的資料、該位元圖中1的個數,以及該位元圖及其相鄰四個位元圖經計算得到的一區域灰階值改變量,決定在該位元圖中加入或減少1的個數,以使該位元圖隱寫資料後,該區域灰階值改變量能夠變小而優化影像品質,使隱寫資料的區塊截斷編碼影像解碼還原後的灰階影像能更接近原始灰階影像,並且藉由該影像最佳化模組對隱寫資料的區塊截斷編碼影像進行改良式直接二位元搜尋,進一步搜尋並調整每一位元圖中位元1的位置使達到最佳,以產生一最佳化隱寫資料的區塊截斷編碼影像,使其解碼還原後的灰階影像最接近原始灰階影像。
在本發明被詳細描述之前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。
參閱圖1,是本發明基於奇偶特性隱寫資料於區塊截斷編碼影像的方法的一實施例的主要流程圖,本實施例應用於如圖2所示的一影像壓縮裝置1,該影像壓縮裝置1的一處理單元(圖未示)能從一電腦可讀取的記錄媒體,例如該影像壓縮裝置1內建的記憶體單元(圖未示)或外接的一儲存裝置(圖未示)載入並執行一程式軟體,以將如圖3所示的一灰階影像3壓縮轉換成一區塊截斷編碼影像3’,並將資料隱寫在該區塊截斷編碼影像3’中,而實現上述基於奇偶特性隱寫資料於區塊截斷編碼影像的方法。因此,為了達到前述目的,該程式軟體至少包括一影像編碼模組11及一資料隱寫模組12。
其中,如圖3所示,灰階影像30代表該待編碼之灰階影像3其中的一小部分(局部影像),並具有例如12X12個像素(pixel)。且如圖1的步驟S1所示,首先,該影像編碼模組11將該灰階影像30切割成複數個(即3x3=9)個具有MxN,例如4x4個像素的灰階影像區塊301,並將每一個灰階影像區塊301各別以絕對動差區塊截斷編碼法(Absolute Moment Block Truncation Coding, 簡稱AMBTC)進行影像壓縮,而編碼成對應的一位元圖311,並以兩個像素值a、b分別代表位元圖311中0和1的像素值,藉此,產生一包含複數個位元圖311的區塊截斷編碼影像31,其代表區塊截斷編碼影像3’其中的一小部分。
以第一個灰階影像區塊301為例,該影像編碼模組11計算第一個灰階影像區塊301的一平均灰階值(即全部像素的灰階值加總後平均),並以該平均灰階值當一閥值分別與第一個灰階影像區塊301中的每一個像素的灰階值比較,若像素的灰階值比閥值還要大,則位元圖311中與該像素位置對應的位元值為1,否則為0,藉此,對第一個灰階影像區塊301編碼而得到相對應的位元圖311。且將第一個灰階影像區塊301中與位元圖311中位元值0對應的像素的灰階值加總並平均,而得到代表位元圖311中位元值0的像素值a(a=78),並將第一個灰階影像區塊301中與位元圖311中位元值1對應的像素的灰階值加總並平均,而得到代表位元圖311中位元值1的像素值b(b=105)。
且該影像編碼模組11是針對每一個灰階影像區塊301個別進行壓縮編碼,因此每個灰階影像區塊301經編碼後產生的位元圖311及與該位元圖311對應的兩個像素值a、b皆不相同,例如第二個位元圖311對應的像素值a=69、b=94,第三個位元圖311對應的像素值a=48、b=64等。藉此,當要將區塊截斷編碼影像31解碼時,只要根據每個位元圖311對應的兩個像素值a、b,將位元圖311中位元值0以像素值a取代,位元值1以像素值b取代,即可對每一位元圖311進行解碼而得到還原後灰階影像32。
此外,該影像編碼模組11在產生區塊截斷編碼影像31後,還可進一步利用直接二元搜尋區塊截斷編碼技術(direct binary search block truncation coding, 簡稱DBSBTC)中使用的一個被訓練好的參考值α去調整該區塊截斷編碼影像31中每一個位元圖311所對應的兩個像素值a、b,例如將第一個位元圖311對應的像素值a由78變成81,像素值b由105變成106。且在「Guo,J.,Su,C.:Improved block truncation coding using extreme mean scaling and block-based high speed direct binary search.IEEE Signal Process.Lett.18,694-697(2011)」此篇論文中提到,這個α值是經由大量影片訓練,找出不同的影像區塊最適合的值。因此,根據每一位元圖311對應的經過調整的像素值a、b解碼該區塊截斷編碼影像31所產生的還原後灰階影像32’ 將如圖3所示。當然上述調整每一位元圖311之像素值a、b的步驟亦可視實際應用需求而省略。
接著,如圖4所示,資料隱寫模組12由左至右、由上而下依序地將資料隱寫在該區塊截斷編碼影像31的每一個位元圖311中,而產生一隱寫資料的區塊截斷編碼影像33。因此,設若要隱寫在該區塊截斷編碼影像31的九個位元圖311的九個編碼資料40如圖4所示,且在本實施例中,是以位元圖311中1的個數為奇數來代表要編碼的第一資料,例如二進位的位元值1(即編碼資料40中的Code1),並以位元圖311中1的個數為偶數來代表要編碼的第二資料,例如二進位的位元值0(即編碼資料40中的Code0),則每個位元圖311可隱寫1位元的資料量。
且為了將編碼資料隱寫在位元圖311內時不致影響該區塊截斷編碼影像31的影像品質,如圖2的步驟S2,資料隱寫模組12將要隱寫資料的某一位元圖311及位於其上側和左側的四個相鄰的位元圖311各自根據相對應的兩個像素值a、b還原成灰階影像區塊,並計算該五個還原後灰階影像區塊各自的一灰階值總合與其各自相對應的原始灰階影像區塊的一灰階值總合之間的差異,而求得分別與該要隱寫資料的位元圖311及其四個相鄰的位元圖311對應的五個區塊灰階值改變量。然後,該資料隱寫模組12將該四個相鄰的位元圖311對應的四個區塊灰階值改變量分別乘以相對應的一權重值,再與該要隱寫資料的位元圖311對應的該區塊灰階值改變量加總,而求得一區域灰階值改變量。
以圖4的該區塊截斷編碼影像31為例,設若要在其中的位元圖A中隱寫資料,則資料隱寫模組12會根據位元圖A相對應的像素值a(a=63)、b(b=92)解碼得到還原後灰階影像區塊321(參見圖3),並計算該還原後灰階影像區塊321中所有像素的一灰階值總合,例如2208(僅舉例,並非實際數值)且計算位元圖A對應的原始灰階影像區塊302(參見圖3)中所有像素的一灰階值總合,例如2080(僅舉例,並非實際數值),並比較該還原後灰階影像區塊321與該原始灰階影像區塊302的灰階值總合的差異,而得到一區塊灰階值改變量為+128(即2208-2080)。
同理,資料隱寫模組12將位於位元圖A的上側及左側且與位元圖A相鄰的四個位元圖(即位元圖A的前一列中三個連續的位元圖311及與位元圖A同一列且位於位元圖A左邊的位元圖311)分別根據各自相對應的像素值a、b解碼得到四個還原後灰階影像區塊322~325(參見圖3),並計算每一還原後灰階影像區塊322~325的一灰階值總合,再計算這四個相鄰位元圖各別對應的該原始灰階影像區塊303~306的一灰階值總合,然後,將這四個還原後灰階影像區塊322~325各自對應的灰階值總合分別與其各自對應的原始灰階影像區塊303~306的灰階值總合進行比較,而求得對應的四個區塊灰階值改變量,例如分別為+50、-100、-120、+20(僅舉例,並非實際數值),如圖5所示。然後,如下算式所示,資料隱寫模組12將這四個區塊灰階值改變量(+50、-100、-120、+20)分別乘上如圖5所示的相對位置的一權重值,再與位元圖A對應的該區塊灰階值改變量(+128)加總,即求得上述該區域灰階值改變量,例如86.1。其中圖5所示的權重值是參考「Floyd,R.,Steinberg,L.:An adaptive algorithm for spatial gray-scale. In:Proc. Int. Conf. SID Dig. Soc. Inform. Display, pp.75-77(1976)」此篇論文經過適當修正而產生。 128+50x(1/16)+(-100)x(5/16)+(-120)x3/16+20x(7/16) =128-41.9=86.1
然後,如圖1的步驟S3,當要隱寫在位元圖A的資料是一第一資料,即位元值1,且位元圖A中,1的個數為偶數時,由於位元圖A中1的個數必須是奇數才能代表第一資料,因此該資料隱寫模組12將根據該區域灰階值改變量,決定在位元圖A中加入一個1或減少一個1。具體而言,該資料隱寫模組12判斷在該位元圖A中加入一個1是否會使該區域灰階值改變量變小,若是,則在該位元圖A中加入一個1,否則,在位元圖A中減少一個1,藉此使該區域灰階值改變量變小,以使得隱寫資料的該區塊截斷編碼影像33解碼得到的還原後灰階影像能更接近原始灰階影像的品質。
因此,假設該區域灰階值改變量為86.1,為了使該區域灰階值改變量變小,該資料隱寫模組12會藉由在位元圖A中減少一個1,使位元圖A中1的個數變成奇數而將第一資料(即位元值1)隱寫於位元圖A中,形成如圖4之隱寫資料的區塊截斷編碼影像33中的已編碼位元圖A’所示。當然,如果在位元圖A中加入或減少1個以上的奇數個1,將使該區域灰階值改變量變得更小而更接近於零時,也可根據實際應用需求選擇在位元圖A中加入或減少三個、五個或更多個1。
同理,如圖1的步驟S4及圖4所示,當資料隱寫模組12要在該區塊截斷編碼影像31的另一個位元圖B中隱寫資料,並藉由上述計算方式得到位元圖B及其相鄰四個已編碼位元圖的一區域灰階值改變量,且要在位元圖B隱寫的資料是第二資料(即位元值0)時,由於該位元圖B中1的個數為奇數,但位元圖B中1的個數必須是偶數才能代表第二資料,因此該資料隱寫模組12判斷在該位元圖B中加入一個1是否會使該區域灰階值改變量變小,若是,則在該位元圖B中加入一個1,否則將位元圖B減少一個1,以使該區域灰階值改變量變小。
因此,如圖4之隱寫資料的區塊截斷編碼影像33中的已編碼位元圖B’所示,其中已編碼位元圖B’中1的個數相較於位元圖B減少1個變成偶數,而將第二資料(即位元值0)隱寫於已編碼位元圖B’中。由此可知,藉由已編碼位元圖B’中減少一個1會使該區域灰階值改變量變小。當然,如果在位元圖B中加入或減少1個以上的奇數個1,會使該區域灰階值改變量變得更小而更接近於零時,也可根據實際應用需求選擇在位元圖B中加入或減少三個、五個或更多個1。
同理,如圖1的步驟S5及圖4所示,當要隱寫在該區塊截斷編碼影像31的另一個位元圖C的資料是該第一資料(即位元值1),且該位元圖C中,1的個數恰好為奇數時,為了讓位元圖C中1的個數維持奇數以代表第一資料,該資料隱寫模組12藉由上述計算方式得到位元圖C及其相鄰四個已編碼位元圖共同的一區域灰階值改變量,並根據該區域灰階值改變量,決定在該位元圖C中加入或減少兩個1,或者不更動該位元圖C中1的個數。
具體而言,該資料隱寫模組12判斷在該位元圖C中加入兩個1會使該區域灰階值改變量變小,則在該位元圖C中加入兩個1,或者,該資料隱寫模組12判斷在該位元圖C中減少兩個1會使該區域灰階值改變量變小,則在該位元圖C中減少兩個1,否則不更動該位元圖C。因此,如圖4之隱寫資料的區塊截斷編碼影像33中的已編碼位元圖C’所示,其中1的個數相較於位元圖C減少兩個,以將第一資料(即位元值0)隱寫於已編碼位元圖C’中。由此可知,已編碼位元圖C’中減少兩個1會使該區域灰階值改變量變小。當然,如果在位元圖C中加入或減少兩個以上的偶數個1,會使該區域灰階值改變量變得更小而更接近於零時,也可視實際應用需求選擇在位元圖C中加入或減少四個或更多個1。
同理,如圖1的步驟S6及圖4所示,當要隱寫在該區塊截斷編碼影像31的另一位元圖D的資料是該第二資料(即位元值0),且該位元圖D中1的個數剛好是偶數時,為了讓位元圖D中1的個數維持偶數以代表第二資料,該資料隱寫模組12藉由上述計算方式得到位元圖D及其相鄰四個已編碼位元圖共同的一區域灰階值改變量,並根據該區域灰階值改變量,決定在該位元圖D中加入或減少兩個1,或者不更動該位元圖D中1的個數。
具體而言,若該資料隱寫模組12判斷在該位元圖D中加入兩個1會使該區域灰階值改變量變小,則在該位元圖D中加入兩個1,或者該資料隱寫模組12判斷在該位元圖D中減少兩個1會使該區域灰階值改變量變小,則在該位元圖D中減少兩個1,否則不更動該位元圖D。藉此,如圖4之隱寫資料的區塊截斷編碼影像33所示,其中已編碼位元圖D’中1的個數相較於編碼前的位元圖D減少兩個,以將第一資料(即位元值0)隱寫於已編碼位元圖D’中。由此可知,已編碼位元圖D’中減少兩個1會使該區域灰階值改變量變小。同理,如果在位元圖D中加入或減少兩個以上的偶數個1會使該區域灰階值改變量變得更小而更接近於零時,也可視實際應用需求選擇在位元圖D中加入或減少四個或更多個1。
值得一提的是,當要編碼的位元圖311是位在區塊截斷編碼影像3’由上數下來第2行第2列(含)之後及倒數第2行第2列(含)之前的位元圖,才需要計算上述的該區域灰階值改變量,並根據該區域灰階值改變量及要隱寫的資料決定要編碼(隱寫)的位元圖311中要增減的1的個數。至於在區塊截斷編碼影像3’之第2行第2列之前及倒數第2行第2列之後的其他位元圖311要被編碼時,該資料隱寫模組12則是根據如上第[0018]段計算的該區塊灰階值改變量及要隱寫的資料,以及使該區塊灰階值改變量變小的編碼原則,決定位元圖311中要增減的1的個數,而對該些位元圖311進行資料隱寫。
此外,為了更進一步提升影像品質,如圖2所示,該影像壓縮裝置1所執行的該程式軟體還可包括一影像最佳化模組13。且如圖1的步驟S7,該資料隱寫模組12判斷資料隱寫是否已完成,若否,則重新回到步驟S2,若是,則執行步驟S8,並圖4所示,該資料隱寫模組12將已完成資料隱寫的該隱寫資料的區塊截斷編碼影像33提供給該影像最佳化模組13,使其對該隱寫資料的區塊截斷編碼影像33中的該等位元圖331 (其中包含已編碼位元圖A’、B’、C’、D’等)進行一改良式直接二位元搜尋法(以下簡稱改良式DBS),且本實施例的影像最佳化模組13一次只對一個位元圖331進行DBS,例如圖6所示,改良式DBS先判斷位元圖331中的一個1是位在該位元圖331的中間(如圖6中的6A所示灰色位置)、角落(如圖6中的6B所示灰色位置)或側邊(如圖6中的6C所示灰色位置),並令該1只與其四周(如圖6中的6A、6B、6C中的虛線框所示)相鄰的其中一個0(白色位置)互換,再將1、0互換後的位元圖331解碼得到的還原後灰階影像與原始灰階影像30中相對應的灰階影像區塊301兩者經由一模擬人眼視覺的人眼視覺模型(Human visual system filter kernel)感知(即比較兩者的差異)而產生一感知誤差值,並且不斷地重覆上述步驟(即令該1分別與其四周相鄰的另一個0互換),且經由人眼視覺模型不斷產生感知誤差值,直到發現其中一種互換結果讓感知誤差值最小且不再變動,人眼視覺模型即判定位元圖331解碼得到的還原後灰階影像與原始灰階影像30中相對應的灰階影像區塊301的誤差已達到最小,亦即判定位元圖331解碼得到的還原後灰階影像區塊與原始灰階影像30中相對應的影像區塊301最接近,並接受該互換結果。
然後,影像最佳化模組13再接著對同一位元圖331中的下一個(另一個)1重覆執行改良式DBS,直到該位元圖331中所有的1皆完成改良式DBS,才會再對下一個位元圖331進行改良式DBS,藉此產生一最佳化隱寫資料的區塊截斷編碼影像34,且如圖4所示,其被解碼得到的還原後灰階影像35是解碼後灰階影像3”其中的一小部分(局部影像)。而由於上述改良式DBS為習知技術,且非本案重點,於此不加以詳述,其相關技術可參見「A Novel Barcode System for Intelligent Automation Industry」論文。
因此,由於本實施例的影像最佳化模組13所執行的改良式直接二位元搜尋法只讓位元圖331中的1在位元圖331中變動其位置(SWAP),因此每一個位元圖331中1的數量仍保持不變,而得以保留其中所隱含的編碼資料。而且,最佳化隱寫資料的區塊截斷編碼影像34被解碼時,不需要參照任何額外的資料,只需判斷其中每個位元圖331中1的個數為奇數(代表位元1)或偶數(代表位元0),即可得到其中隱藏的位元資料。
此外,由於本實施例的影像最佳化模組4是依循由上到下、由左到右的方式一一對隱寫資料的區塊截斷編碼影像33中的每一個位元圖331進行改良式直接二位元搜尋,因此影像最佳化模組13會對同一個位元圖331進行直接二位元搜尋,直到該位元圖331解碼還原的灰階影像區塊與原始灰階影像中相對應的影像區塊的誤差收斂至最小後,才會再對下一個位元圖331進行直接二位元搜尋,藉此可減少直接二位元搜尋執行的次數而提升影像處理的速度。
綜上所述,上述實施例藉由影像編碼模組11將一灰階影像編碼壓縮成一區塊截斷編碼影像31後,再藉由資料隱寫模組12根據要隱寫在區塊截斷編碼影像的某一位元圖中的資料、該位元圖中1的個數,以及該位元圖及其相鄰四個位元圖經計算得到的一區域灰階值改變量,決定在該位元圖中加入或減少1的個數,以使該位元圖隱寫資料後,該區域灰階值改變量能夠變小而優化影像品質,使隱寫資料的區塊截斷編碼影像33解碼還原後的灰階影像能更接近原始灰階影像,並且藉由影像最佳化模組13對隱寫資料的區塊截斷編碼影像33進行改良式直接二位元搜尋,進一步搜尋並調整每一位元圖331中位元1的位置使達到最佳,以產生一最佳化隱寫資料的區塊截斷編碼影像34,使其解碼還原後的灰階影像35最接近原始灰階影像30,而確實達到本發明之功效與目的。
惟以上所述者,僅為本發明之實施例而已,當不能以此限定本發明實施之範圍,凡是依本發明申請專利範圍及專利說明書內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
1‧‧‧影像壓縮裝置
11‧‧‧影像編碼模組
12‧‧‧資料隱寫模組
13‧‧‧影像最佳化模組
3、30‧‧‧灰階影像
3’、31‧‧‧區塊截斷編碼影像
3”‧‧‧解碼後灰階影像
32、32’‧‧‧還原後灰階影像
33‧‧‧隱寫資料的區塊截斷編碼影像
34‧‧‧最佳化隱寫資料的區塊截斷編碼影像
35‧‧‧還原後灰階影像
40‧‧‧編碼資料
301~306‧‧‧灰階影像區塊
311、331‧‧‧位元圖
321~325‧‧‧還原後灰階影像區塊
A~D‧‧‧位元圖
A’~D’‧‧‧位元圖
S1~S8‧‧‧步驟
本發明之其他的特徵及功效,將於參照圖式的實施方式中清楚地顯示,其中: 圖1是本發明基於奇偶特性隱寫資料於區塊截斷編碼影像的方法的一實施例的主要流程圖; 圖2是本發明影像壓縮裝置的一實施例的主要模組方塊圖; 圖3是本實施例的影像編碼模組將一灰階影像壓縮編碼成一區塊截斷編碼影像的示意圖; 圖4是本實施例的資料隱寫模組將資料隱寫於一區塊截斷編碼影像,且影像最佳化模組對隱寫資料的區塊截斷編碼影像進行影像最佳化的示意圖; 圖5顯示位元圖A和其相鄰四個位元圖B~E的區塊灰階值改變量以及其相對位置的一權重值;及 圖6說明本實施例的影像最佳化模組進行直接二位元搜尋時會先判斷位元1位於位元圖的中間、角落或側邊,再與其四周相鄰的位元0互換。
Claims (11)
- 一種基於奇偶特性隱寫資料於區塊截斷編碼影像的方法,應用於一影像壓縮裝置,用以將一灰階影像轉換成一區塊截斷編碼影像,並將一資料隱寫在該區塊截斷編碼影像中,該方法包括: 該影像壓縮裝置中的一影像編碼模組將該灰階影像切割成複數個灰階影像區塊,且將每一個灰階影像區塊各別編碼成對應的一位元圖,並以兩個像素值分別代表該位元圖中0和1的像素值,而產生包含複數個位元圖的該區塊截斷編碼影像;及 該影像壓縮裝置中的一資料隱寫模組由左至右、由上而下依序地將資料隱寫在該區塊截斷編碼影像的各該位元圖中,而產生一隱寫資料的區塊截斷編碼影像;且該資料隱寫模組將要隱寫資料的某一位元圖及位於其上側及左側的四個相鄰的位元圖各自根據相對應的兩個像素值還原成灰階影像區塊,以計算該五個還原的灰階影像區塊各自的一灰階值總合與其各自相對應的原始灰階影像區塊的一灰階值總合之間的差異,而求得分別與該位元圖及該四個相鄰的位元圖對應的五個區塊灰階值改變量,該資料隱寫模組並將該四個相鄰的位元圖對應的四個區塊灰階值改變量分別乘以相對應的一權重值再與該位元圖對應的該區塊灰階值改變量加總,而求得一區域灰階值改變量;其中 當要隱寫在該位元圖的資料是一第一資料,且該位元圖中1的個數為偶數時,該資料隱寫模組根據該區域灰階值改變量,決定在該位元圖中加入奇數個1或減少奇數個1,以使該區域灰階值改變量變小; 當要隱寫在該位元圖的資料是一第二資料,且該位元圖中1的個數為奇數時,該資料隱寫模組根據該區域灰階值改變量,決定在該位元圖中加入奇數個1或減少奇數個1,以使該區域灰階值改變量變小; 當要隱寫在該位元圖的資料是該第一資料,且該位元圖中1的個數為奇數時,該資料隱寫模組根據該區域灰階值改變量,決定在該位元圖中加入偶數個1、減少偶數個1或不更動該位元圖,以使該區域灰階值改變量變小或不變; 當要隱寫在該位元圖的資料是該第二資料,且該位元圖中1的個數為偶數時,該資料隱寫模組根據該區域灰階值改變量,決定在該位元圖中加入偶數個1、減少偶數個1或不更動該位元圖,以使該區域灰階值改變量變小或不變。
- 如請求項1所述的基於奇偶特性隱寫資料於區塊截斷編碼影像的方法,其中該第一資料為二進制的位元值0且該第二資料為二進制的位元值1,或者,該第一資料為二進制的位元值1且該第二資料為二進制的位元值0。
- 如請求項1所述的基於奇偶特性隱寫資料於區塊截斷編碼影像的方法,其中當要隱寫在該位元圖的資料是第一資料且該位元圖中1的個數為偶數時,該資料隱寫模組判斷在該位元圖中加入一個1會使該區域灰階值改變量變小,則在該位元圖中加入一個1,否則在該位元圖中減少一個1;當要隱寫在該位元圖的資料是第二資料且該位元圖中1的個數為奇數時,該資料隱寫模組判斷在該位元圖中加入一個1會使該區域灰階值改變量變小,則在該位元圖中加入一個1,否則在該位元圖中減少一個1;當要隱寫在該位元圖的資料是該第一資料且該位元圖中1的個數為奇數時,該資料隱寫模組判斷在該位元圖中加入兩個1會使該區域灰階值改變量變小,則在該位元圖中加入兩個1,或者該資料隱寫模組判斷在該位元圖中減少兩個1會使該區域灰階值改變量變小,則在該位元圖中減少兩個1,否則不更動該位元圖;當要隱寫在該位元圖的資料是該第二資料且該位元圖中1的個數為偶數時,該資料隱寫模組判斷在該位元圖中加入兩個1會使該區域灰階值改變量變小,則在該位元圖中加入兩個1,或者該資料隱寫模組判斷在該位元圖中減少兩個1會使該區域灰階值改變量變小,則在該位元圖中減少兩個1,否則不更動該位元圖。
- 如請求項1所述的基於奇偶特性隱寫資料於區塊截斷編碼影像的方法,其中該影像編碼模組還根據每一個位元圖最適合的一參考值去調整該區塊截斷編碼影像中每一個位元圖所對應的兩個像素值,以使每一個位元圖所對應的兩個像素值達到最佳化。
- 如請求項1所述的基於奇偶特性隱寫資料於區塊截斷編碼影像的方法,其中該資料隱寫模組是針對要隱寫資料且位於該區塊截斷編碼影像由上數下來第2行第2列之後及倒數第2行第2列之前的位元圖,計算該區域灰階值改變量。
- 如請求項5所述的基於奇偶特性隱寫資料於區塊截斷編碼影像的方法,其中當要隱寫資料的該位元圖是位於該區塊截斷編碼影像由上數下來第2行第2列之前或倒數第2行第2列之後,則當要隱寫在該位元圖的資料是該第一資料,且該位元圖中1的個數為偶數時,該資料隱寫模組是根據該位元圖對應的該區塊灰階值改變量,決定在該位元圖中加入奇數個1或減少奇數個1,以使該區塊灰階值改變量變小;當要隱寫在該位元圖的資料是該第二資料,且該位元圖中1的個數為奇數時,該資料隱寫模組是根據該位元圖對應的該區塊灰階值改變量,決定在該位元圖中加入奇數個1或減少奇數個1,以使該區塊灰階值改變量變小;當要隱寫在該位元圖的資料是該第一資料,且該位元圖中1的個數為奇數時,該資料隱寫模組是根據該位元圖對應的該區塊灰階值改變量,決定在該位元圖中加入偶數個1、減少偶數個1或不更動該位元圖,以使該區塊灰階值改變量變小或不變;當要隱寫在該位元圖的資料是該第二資料,且該位元圖中1的個數為偶數時,該資料隱寫模組是根據該位元圖對應的該區塊灰階值改變量,決定在該位元圖中加入偶數個1、減少偶數個1或不更動該位元圖,以使該區塊灰階值改變量變小或不變。
- 如請求項1至6其中任一所述的基於奇偶特性隱寫資料於區塊截斷編碼影像的方法,其中該影像壓縮裝置中的一影像最佳化模組還對該隱寫資料的區塊截斷編碼影像進行一改良式直接二位元搜尋,其一次只對該隱寫資料的區塊截斷編碼影像中的一個位元圖進行一直接二位元搜尋,以判斷該位元圖中的一個1是位在該位元圖的中間、角落或側邊,並嘗試將該一個1與其相鄰的0位置互換,直到判定其中一互換結果會使該位元圖還原成灰階影像區塊後與其對應的原始灰階影像區塊最接近,即接受該互換結果,然後再對該位元圖中下一個1重覆執行該直接二位元搜尋,直到該位元圖中全部的1完成該直接二位元搜尋,該影像最佳化模組才會再對該隱寫資料的區塊截斷編碼影像中的下一個位元圖進行該改良式直接二位元搜尋,並且對該隱寫資料的區塊截斷編碼影像中的該等位元圖以由上到下、由左到右方式一一進行該改良式直接二位元搜尋,以產生一最佳化隱寫資料的區塊截斷編碼影像。
- 一種影像壓縮裝置,用以將一灰階影像壓縮成一區塊截斷編碼影像,並隱寫資料於該區塊截斷編碼影像中,該影像壓縮裝置包括一影像編碼模組及一資料隱寫模組,並能藉由該影像編碼模組及該資料隱寫模組執行如請求項1至6其中任一項所述的基於奇偶特性隱寫資料於區塊截斷編碼影像的方法。
- 如請求項8所述的影像壓縮裝置,還包括一影像最佳化模組,該影像最佳化模組能執行如請求項7所述的基於奇偶特性隱寫資料於區塊截斷編碼影像的方法。
- 一種電腦可讀取的記錄媒體,其中儲存一包括一影像編碼模組及一資料隱寫模組的程式軟體,該程式軟體能被一影像壓縮裝置載入並執行,而完成如請求項1至6其中任一項所述的基於奇偶特性隱寫資料於區塊截斷編碼影像的方法。
- 如請求項10所述的電腦可讀取的記錄媒體,其中該程式軟體還包括一影像最佳化模組,且該程式軟體被該影像壓縮裝置載入並執行後,該影像最佳化模組能完成如請求項7所述的基於奇偶特性隱寫資料於區塊截斷編碼影像的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106139664A TWI643159B (zh) | 2017-11-16 | 2017-11-16 | 基於奇偶特性隱寫資料於區塊截斷編碼影像的方法、影像壓縮裝置及電腦可讀取的記錄媒體 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106139664A TWI643159B (zh) | 2017-11-16 | 2017-11-16 | 基於奇偶特性隱寫資料於區塊截斷編碼影像的方法、影像壓縮裝置及電腦可讀取的記錄媒體 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI643159B TWI643159B (zh) | 2018-12-01 |
TW201923710A true TW201923710A (zh) | 2019-06-16 |
Family
ID=65431877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106139664A TWI643159B (zh) | 2017-11-16 | 2017-11-16 | 基於奇偶特性隱寫資料於區塊截斷編碼影像的方法、影像壓縮裝置及電腦可讀取的記錄媒體 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI643159B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6707928B2 (en) * | 2000-11-29 | 2004-03-16 | Intel Corporation | Method for block-based digital image watermarking |
US7630512B2 (en) * | 2005-05-26 | 2009-12-08 | Alcatel-Lucent Usa Inc. | Method for performing recoverable video and image watermarking which survives block-based video and image compression |
CN102567938B (zh) * | 2010-12-23 | 2014-05-14 | 北大方正集团有限公司 | 用于西文水印处理的水印图像分块方法和装置 |
-
2017
- 2017-11-16 TW TW106139664A patent/TWI643159B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TWI643159B (zh) | 2018-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guarda et al. | Point cloud coding: Adopting a deep learning-based approach | |
US7471838B2 (en) | Image data processing apparatus, image data processing method, and computer readable medium | |
US8363889B2 (en) | Image data processing systems for hiding secret information and data hiding methods using the same | |
JP4679425B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
Chang et al. | Reversible steganographic method using SMVQ approach based on declustering | |
CN111898136A (zh) | 一种基于预测误差值排序的高保真可逆信息隐藏方法和装置 | |
JP5652101B2 (ja) | 画像処理装置及び画像処理方法 | |
US6665340B1 (en) | Moving picture encoding/decoding system, moving picture encoding/decoding apparatus, moving picture encoding/decoding method, and recording medium | |
TWI643159B (zh) | 基於奇偶特性隱寫資料於區塊截斷編碼影像的方法、影像壓縮裝置及電腦可讀取的記錄媒體 | |
Wahed et al. | Efficient LSB substitution for interpolation based reversible data hiding scheme | |
Wu et al. | Efficient reversible data hiding via two layers of double-peak embedding | |
US8873876B2 (en) | Image encoder and image processing system | |
TWI643160B (zh) | 利用權重參數與餘數定義隱寫資料於區塊截斷編碼影像的方法、影像壓縮裝置及電腦可讀取的記錄媒體 | |
JP2003259368A5 (zh) | ||
JP4622762B2 (ja) | 画像データ圧縮・復元方法 | |
US8331693B2 (en) | Information encoding apparatus and method, information retrieval apparatus and method, information retrieval system and method, and program | |
JPH1098620A (ja) | 画像処理装置 | |
US11515961B2 (en) | Encoding data arrays | |
JP4404556B2 (ja) | 動画像符号化方法とシステム及び動画像復号方法とシステム | |
JP2010087673A (ja) | 画像処理システムおよび画像処理プログラム | |
JPH0918877A (ja) | フラクタル画像圧縮装置 | |
JP4878040B2 (ja) | 画像符号化装置、画像符号化方法、画像符号化プログラムおよび記録媒体 | |
JP2002335409A (ja) | 画像符号化装置、画像復号化装置及びコンピュータ読み取り可能な記録媒体 | |
JP2872241B2 (ja) | 画像符号化方法 | |
JP2008109386A (ja) | 画像符号化装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |