專利名稱:圖像處理裝置、圖像處理方法與存儲媒體的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及圖像處理裝置、圖像處理方法以及存儲媒體。更具體地,本發(fā)明涉及用于以再現(xiàn)圖像質(zhì)量的最小損失并且不增加數(shù)據(jù)量的方式把信息嵌入圖像中的圖像處理裝置和圖像處理方法。本發(fā)明還涉及用于存儲上述方法的存儲媒體。
把信息嵌入而不增加數(shù)據(jù)量的一種技術(shù)是把例如數(shù)字音頻數(shù)據(jù)的最低有效位(LSB)或較低兩個位轉(zhuǎn)換為要被嵌入的信息。在這種技術(shù)中,不明顯影響聲音質(zhì)量的數(shù)字音頻數(shù)據(jù)的較低位被簡單地用要被嵌入的信息替代。因此,在數(shù)字音頻數(shù)據(jù)被再現(xiàn)時,它被原樣輸出,沒有把較低的位恢復(fù)為原始的狀態(tài)。具體講是,由于難以把用信息嵌入的較低位恢復(fù)為原始的狀態(tài),并且也由于較低位不明顯影響聲音質(zhì)量,數(shù)字音頻數(shù)據(jù)包含被嵌入其中的信息而被輸出。
但是,根據(jù)上述的技術(shù),與原始信號不同的信號被不利地輸出,如果信號是音頻數(shù)據(jù),在某種程度上,其影響聲音質(zhì)量,如果信號是視頻數(shù)據(jù),那它將影響圖像質(zhì)量。
因此,本發(fā)明的一個目的是解決上述問題。
為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供一種用于把信息嵌入圖像數(shù)據(jù)的圖像處理裝置。該圖像處理裝置包括一個用于選擇構(gòu)成圖像數(shù)據(jù)的一些像素的選擇單元,和一個通過根據(jù)信息調(diào)換選擇像素的位值的位而把信息嵌有由選擇單元選擇的像素的改換單元。
根據(jù)本發(fā)明的另一個方面,提供一種用于把嵌有信息的編碼圖像數(shù)據(jù)解碼為原始圖像數(shù)據(jù)和信息的圖像處理裝置。該圖像處理裝置包括一個用于選擇構(gòu)成編碼圖像數(shù)據(jù)的一些像素的選擇單元。一個改換單元把選擇單元選擇的像素值的位調(diào)換。一個相關(guān)性計算單元計算改換的像素與除選擇單元選擇的像素之外的像素之間的相關(guān)性。一個確定單元基于相關(guān)性計算單元計算的相關(guān)性來確定選擇的像素值要被改變的數(shù)量,該數(shù)量被用于對選擇的像素進(jìn)行解碼。一個解碼單元基于確定單元確定的數(shù)量對選擇的像素解碼并對被嵌入選擇像素的信息進(jìn)行解碼。
根據(jù)本發(fā)明的又一個方面,提供一種用于把嵌有信息的編碼圖像數(shù)據(jù)解碼為原始圖像數(shù)據(jù)和信息的圖像處理裝置。該圖像處理裝置包括一個用于選擇構(gòu)成編碼圖像數(shù)據(jù)的一些像素的選擇單元。一個計算單元計算選擇單元選擇的像素值與預(yù)定的數(shù)據(jù)之間的異或邏輯(exclusive-OR)。一個相關(guān)性計算單元計算由計算單元計算的像素與除選擇的像素之外的像素之間的相關(guān)性。一個確定單元基于相關(guān)性計算單元計算的相關(guān)性來確定用于計算與選擇的像素進(jìn)行異或的預(yù)定數(shù)據(jù),以對選擇的像素解碼。一個解碼單元基于確定單元確定的數(shù)據(jù)對選擇的像素解碼并對被嵌入選擇像素的信息進(jìn)行解碼。
根據(jù)本發(fā)明的又一個方面,提供一種用于把信息嵌入到圖像數(shù)據(jù)中的圖像處理方法。該圖像處理方法包括一個選擇構(gòu)成圖像數(shù)據(jù)的一些像素的選擇步驟,和一個通過根據(jù)信息調(diào)換選擇像素的值的位而把信息嵌入在選擇步驟中選擇的像素的嵌入步驟。
根據(jù)本發(fā)明的又一個方面,提供一種用于把嵌有信息的編碼圖像數(shù)據(jù)解碼為原始圖像數(shù)據(jù)和信息的圖像處理方法。該圖像處理方法包括一個選擇構(gòu)成編碼圖像數(shù)據(jù)的一些像素的選擇步驟;一個調(diào)換在選擇步驟中選擇的像素值的位的調(diào)換步驟;一個計算調(diào)換的像素與除選擇的像素之外的像素之間的相關(guān)性的相關(guān)性計算步驟;一個基于相關(guān)性計算步驟中計算的相關(guān)性來確定選擇的像素值要被改變的數(shù)量的確定步驟,該數(shù)量被用于對選擇的像素進(jìn)行解碼;一個基于確定步驟確定的數(shù)量對選擇的像素解碼并對被嵌入選擇像素的信息進(jìn)行解碼的解碼步驟。
根據(jù)本發(fā)明的又一個方面,提供一種用于把嵌有信息的編碼圖像數(shù)據(jù)解碼為原始圖像數(shù)據(jù)和信息的圖像處理方法。該圖像處理方法包括一個選擇構(gòu)成編碼圖像數(shù)據(jù)的一些像素的選擇步驟;一個計算選擇步驟中選擇的像素值與預(yù)定的數(shù)據(jù)之間的異或邏輯的計算步驟;一個計算在計算步驟計算的像素與除選擇的像素之外的像素之間的相關(guān)性的相關(guān)性計算步驟;一個基于相關(guān)性計算步驟計算的相關(guān)性來確定用于計算與選擇的像素進(jìn)行異或的預(yù)定數(shù)據(jù),以對選擇的像素解碼的確定步驟;一個基于確定步驟確定的預(yù)定數(shù)據(jù)對選擇的像素解碼并對被嵌入選擇像素的信息進(jìn)行解碼的解碼步驟。
根據(jù)本發(fā)明的又一個方面,提供一種存儲用于把信息嵌入到圖像數(shù)據(jù)中的計算機(jī)控制程序的存儲媒體。該程序包括一個選擇構(gòu)成圖像數(shù)據(jù)的一些像素的選擇步驟,和一個通過根據(jù)信息調(diào)換選擇像素值的位而把信息嵌入在選擇步驟中選擇的像素的嵌入步驟。
根據(jù)本發(fā)明的又一個方面,提供一種存儲用于把嵌有信息的編碼圖像數(shù)據(jù)解碼為原始圖像數(shù)據(jù)和信息的計算機(jī)控制程序的存儲媒體。該程序包括一個選擇構(gòu)成編碼圖像數(shù)據(jù)的一些像素的選擇步驟;一個調(diào)換在選擇步驟中選擇的像素值的位的調(diào)換步驟;一個計算調(diào)換的像素與除選擇的像素之外的像素之間的相關(guān)性的相關(guān)性計算步驟;一個基于相關(guān)性計算步驟中計算的相關(guān)性來確定選擇的像素值要被改變的數(shù)量的確定步驟,該數(shù)量被用于對選擇的像素進(jìn)行解碼;一個基于確定步驟確定的數(shù)量對選擇的像素解碼并對被嵌入選擇像素的信息進(jìn)行解碼的解碼步驟。
根據(jù)本發(fā)明的又一個方面,提供一種存儲用于把嵌有信息的編碼圖像數(shù)據(jù)解碼為原始圖像數(shù)據(jù)和信息的計算機(jī)控制程序的存儲媒體。該程序包括一個選擇構(gòu)成編碼圖像數(shù)據(jù)的一些像素的選擇步驟;一個計算選擇步驟中選擇的像素值與預(yù)定的數(shù)據(jù)之間的異或邏輯的計算步驟;一個計算在計算步驟計算的像素與除選擇的像素之外的像素之間的相關(guān)性的相關(guān)性計算步驟;一個基于相關(guān)性計算步驟計算的相關(guān)性來確定用于計算與選擇的像素進(jìn)行異或的預(yù)定數(shù)據(jù),以對選擇的像素解碼的確定步驟;一個基于確定步驟確定的預(yù)定數(shù)據(jù)對選擇的像素解碼并對被嵌入選擇像素的信息進(jìn)行解碼的解碼步驟。
圖1是表示含有本發(fā)明的圖像傳輸系統(tǒng)的配置的示例的框圖;圖2是要被嵌入到圖1所示的嵌入編碼器3中的圖像;圖3圖示出通過距離與相關(guān)性之間的關(guān)系表示的信息的能量分布,還圖示出能量分布通過調(diào)換信息的一些線而被破壞;圖4是圖示圖1所示的嵌入編碼器3的硬件配置的示例的框圖;圖5是圖示根據(jù)本發(fā)明的第一實(shí)施例的圖4中所示的嵌入編碼器3的功能配置的框圖;圖6是圖示圖5中的嵌入編碼器3執(zhí)行的嵌入編碼處理的流程圖;圖7圖示在執(zhí)行圖6所示的嵌入編碼處理中對于各個圖像塊選擇的像素,還圖示出通過旋轉(zhuǎn)選擇的像素來進(jìn)行數(shù)據(jù)嵌入操作;
圖8是圖示圖1所示的解碼器6的硬件配置的示例的框圖;圖9是圖示根據(jù)本發(fā)明的第一實(shí)施例的圖8中所示的解碼器6的功能配置的框圖;圖10是圖示圖9中的解碼器6執(zhí)行的解碼處理的流程圖;圖11圖示在執(zhí)行圖10所示的解碼處理中對于各個圖像塊選擇的像素,還圖示出通過反向旋轉(zhuǎn)選擇的像素來進(jìn)行數(shù)據(jù)解碼操作;圖12圖示出在圖10的步驟S15中執(zhí)行的像素之間的差的計算過程;圖13是圖示根據(jù)本發(fā)明的第二實(shí)施例的圖4中所示的嵌入編碼器3的功能配置的框圖;圖14是圖示圖13所示的嵌入編碼器3執(zhí)行的嵌入編碼處理的流程圖;圖15圖示在執(zhí)行圖14所示的嵌入編碼處理中對于各個圖像塊選擇的像素,還圖示出通過計算選擇的像素之一與附加信息之間的異或并通過計算選擇的像素之一與反向附加信息之間的異或來進(jìn)行數(shù)據(jù)嵌入操作;圖16是圖示根據(jù)本發(fā)明的第二實(shí)施例的圖8中所示的解碼器6的功能配置的框圖;圖17是圖示圖16中的解碼器6執(zhí)行的解碼處理的流程圖;圖18圖示在執(zhí)行圖17所示的解碼處理中對于各個圖像塊選擇的像素,還圖示出通過計算選擇的像素之一與附加信息之間的異或并通過計算選擇的像素之一與反向附加信息之間的異或來進(jìn)行數(shù)據(jù)解碼操作;圖19圖示出在圖17的步驟S45中執(zhí)行的像素之間的差的計算過程;圖20圖示在執(zhí)行圖17所示的解碼處理中對于各個圖像塊選擇的像素,還圖示出通過計算選擇的像素之一與附加信息之間的異或并通過計算反向選擇的像素之一與附加信息之間的異或來進(jìn)行數(shù)據(jù)嵌入操作;圖21A圖示執(zhí)行本發(fā)明的處理的程序要被裝入其中的計算機(jī);圖21B圖示執(zhí)行本發(fā)明的處理的程序要被存儲到其中的存儲媒體;圖21C圖示執(zhí)行本發(fā)明的處理的經(jīng)衛(wèi)星或網(wǎng)絡(luò)被分布到計算機(jī)中的程序;及圖22是圖示執(zhí)行本發(fā)明的處理的程序要被裝入其中的計算機(jī)的一個示例的框圖。
下面將參考附圖通過優(yōu)選實(shí)施例的圖示對本發(fā)明進(jìn)行具體描述。
圖1是表示含有本發(fā)明的圖像傳輸系統(tǒng)的簡圖。在該說明書中,“系統(tǒng)”可以是由大量裝置邏輯構(gòu)成的單元,并且不必要把這些裝置安裝在同一外殼中。
參考圖1,圖像傳輸系統(tǒng)包括編碼裝置10和解碼裝置20。編碼裝置10對例如圖像編碼并輸出編碼的數(shù)據(jù)。解碼裝置20從編碼的數(shù)據(jù)再現(xiàn)原始圖像。
具體講,圖像數(shù)據(jù)庫1存儲要被編碼的圖像(例如數(shù)字圖像),并且圖像從圖像數(shù)據(jù)庫1被讀出并提供給嵌入編碼器3。附加信息數(shù)據(jù)庫2存儲附加信息(數(shù)字?jǐn)?shù)據(jù))作為要被嵌入要被編碼的圖像的信息。附加信息從附加信息數(shù)據(jù)庫2被讀出并提供給嵌入編碼器3。
在從圖像數(shù)據(jù)庫1接收到圖像并從附加信息數(shù)據(jù)庫2接收到附加信息時,嵌入編碼器3根據(jù)從附加信息數(shù)據(jù)庫2提供的附加信息對圖像編碼,從而編碼的圖像可利用從圖像數(shù)據(jù)庫1提供的圖像的能量分布而被解碼。即,嵌入編碼器3通過把附加信息嵌入圖像中而編碼圖像,使得編碼的圖像可利用圖像的能量分布而被解碼,并輸出編碼的數(shù)據(jù)。然后編碼的數(shù)據(jù)被記錄在存儲媒體4中,諸如磁光盤、磁盤、光盤、磁帶、PD盤或半導(dǎo)體存儲器。另一種情況是,編碼的數(shù)據(jù)可經(jīng)諸如地面廣播信號、衛(wèi)星廣播信號、有線電視(CATV)網(wǎng)、因特網(wǎng)或公用網(wǎng)絡(luò)的傳送媒體5被傳送給解碼裝置20。
解碼裝置20由解碼器6構(gòu)成,其中經(jīng)存儲媒體4或傳送媒體5提供的編碼數(shù)據(jù)被接收到。解碼器6還通過利用圖像的能量分布把編碼的數(shù)據(jù)解碼稱為原始圖像和附加信息。然后解碼的圖像被提供給監(jiān)測器(未示出)并被顯示。解碼的附加信息被用于執(zhí)行預(yù)定的處理。
圖1所示的嵌入編碼器3執(zhí)行的編碼操作的原理和解碼器6執(zhí)行的解碼操作的原理在下面將描述。
一般地,稱為“信息”的東西擁有能量(熵)分布,其被標(biāo)識為信息(可利用的信息)。具體講,例如通過拍攝景觀得到的圖像可被標(biāo)識為景觀圖像。這是因?yàn)閳D像(構(gòu)成圖像的像素值)擁有相應(yīng)于景觀的能量分布。沒有能量分布的圖像僅是噪音,并且是無用的信息。
因此,即使一條有價值的信息所擁有的能量分布通過執(zhí)行某種操作而被破壞時,原始信息也可通過把被破壞掉的能量分布恢復(fù)為原始狀態(tài)而被再現(xiàn)。即,通過編碼信息獲得的編碼的數(shù)據(jù)可通過利用信息內(nèi)固有的能量分布被解碼為原始信息。
信息的能量分布可以以例如相關(guān)性來表示。信息的相關(guān)性是信息(例如,如果信息是圖像,則是構(gòu)成圖像的像素或行)的組元之間的相互關(guān)系,即構(gòu)成信息的組元之間的自相關(guān)或距離。
以由H行構(gòu)成的圖像為例,如圖2所示。考慮第一行和另一行之間的相關(guān)性,如圖3中的(A)所示,第一行與靠近第一行放置的行(圖2所示的圖像的上面一條行)的相關(guān)性大。相反,第一行與遠(yuǎn)離第一行放置的行(圖2所示的圖像的下面一行)的相關(guān)性小。換言之,圖2所示的圖像具有一個相關(guān)性變量,其中靠近第一行的行具有較大的相關(guān)性值,遠(yuǎn)離第一行的行具有較小的相關(guān)性值。
在圖2所示的圖像中,靠近第一行的第M行和遠(yuǎn)離第一行的第N行被調(diào)換(1<M<N≤H),并且在計算第一行與每一個第M行和第N行的相關(guān)性后,結(jié)果得到的圖像可被表示出來,如圖3B所示。即在第M行和第N行互相調(diào)換的圖像中,第一行與靠近第一行的第M行(相應(yīng)于被調(diào)換前的第N行)的相關(guān)性變小,而第一行與遠(yuǎn)離第一行的第N行(相應(yīng)于被調(diào)換前的第M行)的相關(guān)性變大。
因此,在圖3的(B)中所示的相關(guān)性中原始相關(guān)性被破壞了。但是,通常,破壞的相關(guān)性變量可通過利用原始相關(guān)性變量而被恢復(fù)到原始狀態(tài)。即,圖3中的(B)中所示的相關(guān)性變量考慮圖像擁有的原始相關(guān)性變量是反常的(不正確的),并且第M行和第N行應(yīng)互相調(diào)換。這樣,反常的變量可被恢復(fù)到圖3的(A)所示的正確的變量,從而原始圖像可被解碼。
根據(jù)圖2的(A)和圖3的(B)所示的示例,圖像通過互換行而被編碼。在這種情況下,嵌入編碼器3根據(jù)附加信息確定哪行應(yīng)被移動并且被調(diào)換。同時,解碼器6通過利用相關(guān)性把調(diào)換的行返回原始位置,即由原始圖像替代編碼的圖像,從而解碼編碼的圖像。在解碼操作期間,解碼器6檢測哪行已經(jīng)被移動并被調(diào)換,以對嵌入在圖像中的附加的信息解碼。
圖4圖示圖1所示的嵌入編碼器3的配置的示例,嵌入編碼器3通過把附加信息嵌入圖像中來執(zhí)行嵌入編碼,從而編碼的圖像可利用圖像的相關(guān)性被解碼為原始圖像。
從圖像數(shù)據(jù)庫1輸出的圖像被提供給圖像被暫時存儲其中的幀存儲器31,例如以幀為單位存儲。
中央處理單元(CPU)32通過執(zhí)行存儲在程序存儲器33中的程序執(zhí)行嵌入編碼處理,在下面將對其進(jìn)行描述。即CPU 32把從附加信息數(shù)據(jù)庫2提供的附加信息嵌入存儲在幀存儲器31中的圖像中。
程序存儲器33由例如只讀存儲器(ROM)或隨機(jī)存取存儲器(RAM)構(gòu)成,并存儲用于使CPU 32執(zhí)行嵌入編碼處理的計算機(jī)程序。輸出接口(I/F)34從幀存儲器31讀出具有嵌入其中的附加信息的圖像并輸出它作為編碼的數(shù)據(jù)。
幀存儲器31由許多排(banks)組成,從而可存儲大量幀。通過改換排,幀存儲器31同時存儲從圖像數(shù)據(jù)庫1提供的圖像和要被CPU 32處理的圖像的像素。同時,幀存儲器31還輸出具有嵌入其中的信息的圖像(編碼的數(shù)據(jù))。用這種配置,即使從圖像數(shù)據(jù)庫1提供的圖像是移動的畫面,編碼的數(shù)據(jù)也可被實(shí)時輸出。
圖5圖示根據(jù)本發(fā)明的第一實(shí)施例的通過由圖4中所示的CPU 32執(zhí)行存儲在程序存儲器33中的程序來實(shí)施的嵌入編碼器3的功能配置的示例。
要被編碼的圖像被例如以幀為單位提供給塊分割單元41。塊分割單元41把一幀圖像分割為塊,每個塊具有預(yù)定的尺寸,并且把分割的塊提供給位旋轉(zhuǎn)單元42。
不僅來自分割單元41的圖像塊而且要被嵌入圖像的附加信息都被提供給位旋轉(zhuǎn)單元42。位旋轉(zhuǎn)單元42選擇構(gòu)成每個圖像塊的一些像素并旋轉(zhuǎn)這些像素(下文中有時稱為選擇的像素)的值,從而把附加的信息嵌入選擇的像素。在選擇的像素中嵌有附加信息的塊被提供給編碼圖像存儲器43作為編碼的塊。
編碼圖像存儲器43順序存儲從位旋轉(zhuǎn)單元42提供的編碼的塊,并且當(dāng)用于一幀的編碼的塊被存儲時,編碼圖像存儲器43輸出編碼的塊作為編碼的數(shù)據(jù)。
現(xiàn)將參考圖6的流程圖給出由圖5所示的嵌入編碼器3執(zhí)行的嵌入編碼處理的描述。
如上所述,要被編碼的圖像以幀為單位提供給塊分割單元41。在步驟S1,當(dāng)接收到用于一幀的圖像時,塊分割單元41把一幀圖像分割為多個塊,每個塊具有預(yù)定的尺寸。具體講,塊分割單元41把圖像分割為4×4像素圖像塊,如圖7的(A)所示。被塊分割單元41分割的圖像塊然后以例如柵掃描順序被提供給位旋轉(zhuǎn)單元42。
在步驟S2,一旦接收到來自塊分割單元41的圖像塊,則位旋轉(zhuǎn)單元42把接收到的圖像設(shè)置為當(dāng)前塊并選擇構(gòu)成當(dāng)前塊的一些像素。具體講,在構(gòu)成當(dāng)前塊的像素中,位旋轉(zhuǎn)單元42根據(jù)棋盤(checkerboard)模式選擇像素,諸如以圖7的(A)中所示的黑點(diǎn)部分·和陰影部分代表的那些。即在步驟S2,構(gòu)成圖像塊的一半像素被選擇。
在步驟S3,根據(jù)提供的附加信息選擇的像素值被位旋轉(zhuǎn)單元42旋轉(zhuǎn),從而附加信息可被嵌入選擇的像素中。具體講,位旋轉(zhuǎn)單元42沿從最低有效位(LSB)向最高有效位(MSB)的方向(下面有時稱為左旋轉(zhuǎn))把由圖7的(A)中所示的陰影部分代表的選擇像素的值旋轉(zhuǎn)相應(yīng)于附加信息的值的位數(shù)。
上面使用的術(shù)語“旋轉(zhuǎn)”類似于位移,但是,當(dāng)旋轉(zhuǎn)是沿從LSB向MSB的方向執(zhí)行時,MSB不被丟棄而是被移向LSB。相反,當(dāng)旋轉(zhuǎn)是沿從MSB向LSB的方向執(zhí)行時,LSB不被丟棄而是被移向MSB。
位旋轉(zhuǎn)單元42還沿從MSB向LSB的方向(下面有時稱為右旋轉(zhuǎn))把由圖7的(A)中以黑點(diǎn)部分·代表的選擇像素的值旋轉(zhuǎn)相應(yīng)于附加信息的值的位數(shù)。
其值要被向左旋轉(zhuǎn)的像素和被向右旋轉(zhuǎn)的像素分別稱為“左旋轉(zhuǎn)像素”和“右旋轉(zhuǎn)像素”。
在這個實(shí)施例中,在每個圖像塊中左旋轉(zhuǎn)像素和右旋轉(zhuǎn)像素沿對角線方向交替排列,即一半選擇的像素被向左旋轉(zhuǎn),而另一半選擇的像素被向右旋轉(zhuǎn)。
現(xiàn)在假設(shè)像素具有8位,并且左旋轉(zhuǎn)像素的值是00111101B(B代表前面的數(shù)字是二進(jìn)制的)并且右旋轉(zhuǎn)像素的值是10010111B。還假設(shè)附加信息是“2”。左旋轉(zhuǎn)像素00111101B和右旋轉(zhuǎn)像素10010111B被分別向左和右旋轉(zhuǎn)2位,結(jié)果分別產(chǎn)生如圖7的(B)所示的11110100B和11100101B。類似地,圖像塊中的其它的左旋轉(zhuǎn)像素和其它的右旋轉(zhuǎn)像素根據(jù)附加的信息被旋轉(zhuǎn)。
當(dāng)像素值以8位代表時,它可被旋轉(zhuǎn)0到7位,其中在這種情況下,0到7位的附加信息(以3位表示)可被嵌入一個圖像塊。
其選擇的像素在步驟S3已經(jīng)被旋轉(zhuǎn)的圖像塊被提供給編碼圖像存儲器43作為編碼的塊并被存儲在那里。然后,在步驟S4確定在位旋轉(zhuǎn)單元42中是否還有圖像塊(下文中稱為“未處理的圖像塊”),并且如果有的話,把一個未處理的圖像塊設(shè)置為當(dāng)前塊。然后處理返回步驟S2,并且重復(fù)相應(yīng)的處理。
如果在步驟S4發(fā)現(xiàn)沒有未處理的塊,即,一幀的所有編碼塊被存儲在編碼圖像存儲器43中,從編碼圖像存儲器43中讀出各編碼塊。處理然后進(jìn)入步驟S5,其中確定是否有更多的幀在塊分離單元41中處理。如果步驟S5輸出為“是”,過程回到步驟S1,并重復(fù)相應(yīng)處理。
如果在步驟S5確定再沒有幀要被塊分割單元41處理,嵌入編碼處理就完成了。
如上所述,選擇構(gòu)成圖像的一些像素,并且根據(jù)附加信息旋轉(zhuǎn)選擇像素的值,從而把附加信息嵌入圖像。從而可能用最小的圖像質(zhì)量損失而且不增加數(shù)據(jù)量而嵌入附加信息。
嵌有附加信息的選擇的像素(圖7的(A)中所示的黑點(diǎn)部分·和陰影部分代表的像素)可利用圖像的相關(guān)性,即選擇的像素與沒有附加信息的像素之間的相關(guān)性(在圖7的(A)中以“O”代表的像素)沒有額外開銷(overhead)地被解碼(恢復(fù))為原始數(shù)據(jù)和附加信息,如下面所述的一樣。因此,在結(jié)果得到的編碼圖像(再現(xiàn)的圖像)中沒有觀察到傳統(tǒng)上由嵌入附加信息引起的圖像質(zhì)量的降低。
圖8圖示圖1所示的用于通過利用圖像的相關(guān)性把從圖5所示的嵌入編碼器3輸出的編碼數(shù)據(jù)解碼為原始圖像和附加信息的解碼器6的配置的示例。
編碼數(shù)據(jù),即嵌有附加信息的圖像(下文中有時稱為嵌入圖像)被提供給幀存儲器51。幀存儲器51暫時例如以幀為單位存儲嵌入圖像。幀存儲器51以類似于圖4所示的幀存儲器31來配置,并且,通過改換對于幀存儲器51提供的排,嵌入圖像可實(shí)時被處理,即使它們是移動畫面也是這樣。
輸出接口(I/F)52從幀存儲器5 1讀出通過CPU 53執(zhí)行解碼處理而獲得的圖像并輸出它,這一點(diǎn)在下面將描述。
CPU 53通過執(zhí)行程序存儲器54中存儲的程序執(zhí)行解碼處理。即,CPU53通過利用圖像的相關(guān)性把存儲在幀存儲器51中的嵌入圖像解碼為原始圖像和附加信息。
程序存儲器54以類似于圖4所示的程序存儲器33來配置,并存儲使CPU 53執(zhí)行解碼處理的計算機(jī)程序。
圖9圖示根據(jù)本發(fā)明的第一實(shí)施例的通過由CPU 53執(zhí)行存儲在程序存儲器54中的程序來實(shí)施的解碼器6的功能配置示例。
作為編碼數(shù)據(jù)的嵌入圖像例如以幀為單位被提供給塊分割單元61。與圖5中所示的塊分割單元41一樣,塊分割單元61把嵌入圖像分割為塊,每個塊具有預(yù)定的尺寸,即分為編碼的塊,并且順序地把它們提供給位反向旋轉(zhuǎn)單元62。
在構(gòu)成從塊分割單元61提供的每個編碼塊的像素中,位反向旋轉(zhuǎn)單元62選擇位于與由圖5所示的位旋轉(zhuǎn)單元42所選擇的那些相同的位置的像素。然后位反向旋轉(zhuǎn)單元62把選擇像素的值旋轉(zhuǎn)相應(yīng)于從旋轉(zhuǎn)位寄存器63提供的旋轉(zhuǎn)值的位數(shù),并把結(jié)果得到的值提供給差值計算單元64。位反向旋轉(zhuǎn)單元62還把選擇的像素的值旋轉(zhuǎn)存儲在最佳旋轉(zhuǎn)位存儲寄存器69中的最佳旋轉(zhuǎn)位數(shù)目。結(jié)果,編碼的塊被解碼稱為原始圖像塊,然后其被提供給解碼圖像存儲器71。
旋轉(zhuǎn)位寄存器63把旋轉(zhuǎn)值設(shè)置為像素值要被旋轉(zhuǎn)的位數(shù),并把設(shè)定旋轉(zhuǎn)值提供給位反向旋轉(zhuǎn)單元62和開關(guān)65。具體講,當(dāng)像素值以th_r位表示時,它可被旋轉(zhuǎn)0到th_r-1位(旋轉(zhuǎn)等于或大于th_r位的數(shù)目得到與旋轉(zhuǎn)0到th_r-1位的相應(yīng)數(shù)目的結(jié)果相同)。在這種情況下,旋轉(zhuǎn)位寄存器63順序把0到th_r-1位設(shè)置為旋轉(zhuǎn)值并把它們提供給位反向旋轉(zhuǎn)單元62和開關(guān)65。
一旦從位反向旋轉(zhuǎn)單元62接收到其中選擇的像素值已經(jīng)被旋轉(zhuǎn)的編碼塊,差值計算單元64計算每個選擇的像素與相鄰的像素之間的相關(guān)性值,例如絕對值差值的和(下文中稱為絕對值差值和)。像素值的絕對值差值和被提供給開關(guān)66和比較器68。
開關(guān)65從旋轉(zhuǎn)位寄存器63接收到旋轉(zhuǎn)值并在比較器68的控制下把它提供給最佳旋轉(zhuǎn)位存儲寄存器69。開關(guān)66從差值計算單元64接收到相關(guān)性值并在比較器68的控制下把它提供給最小差值存儲寄存器67。
最小差值存儲寄存器67把從差值計算單元64經(jīng)開關(guān)66提供的相關(guān)性值存儲為涉及當(dāng)前正被處理的編碼塊(下文中有時稱為“當(dāng)前編碼塊”)的最大相關(guān)性值。在本實(shí)施例中,如上所述,各個選擇的像素與相鄰像素之間的絕對值差值和被用作涉及編碼塊的相關(guān)性值。因此,最大相關(guān)性值是像素值的絕對值差的最小和。
作為最大相關(guān)性值存儲在最小差值存儲寄存器67中的絕對值差的最小和被提供給比較器68。然后比較器68比較從差值計算單元64輸出的絕對值差值和與存儲在最小差值存儲寄存器67中的絕對值差的最小和,并基于比較結(jié)果,比較器68控制開關(guān)65和66。
最佳旋轉(zhuǎn)位存儲寄存器69經(jīng)開關(guān)65從旋轉(zhuǎn)位寄存器63接收旋轉(zhuǎn)值,并把它存儲為最佳旋轉(zhuǎn)位,該位是編碼塊的選擇像素值要被旋轉(zhuǎn)的最佳位數(shù)。最佳旋轉(zhuǎn)位存儲寄存器69適當(dāng)?shù)匕炎罴研D(zhuǎn)位提供給位反向旋轉(zhuǎn)單元62和解碼附加信息存儲器70。
解碼附加信息存儲器70暫時把相應(yīng)于從最佳旋轉(zhuǎn)位存儲寄存器69提供的最佳旋轉(zhuǎn)位存儲為編碼塊中嵌入的解碼附加信息,并輸出它。解碼圖像存儲器71暫時把從位反向旋轉(zhuǎn)單元62輸出的其選擇像素值已經(jīng)被旋轉(zhuǎn)最佳旋轉(zhuǎn)位的編碼塊存儲為解碼圖像塊。當(dāng)用于一幀的解碼的圖像塊被存儲時,解碼的圖像存儲器71輸出它們。
將參考圖10的流程對由圖9所示的解碼器6執(zhí)行的嵌入解碼處理進(jìn)行描述。
如上所述,嵌入圖像以幀為單位被提供給塊分割單元61。在步驟S11,當(dāng)接收到用于一幀的嵌入圖像時,塊分割單元61把嵌入圖像分割為多個塊,每個塊具有預(yù)定尺寸,與在圖5所示的塊分割單元41的情況一樣。即,如圖11的(A)所示,塊分割單元61把嵌入圖像分割為4×4像素編碼塊。被塊分割單元61分割的編碼塊以例如柵掃描順序被提供給位反向旋轉(zhuǎn)單元62。
一旦從塊分割單元61接收到編碼塊,位反向旋轉(zhuǎn)單元62把編碼塊設(shè)置為當(dāng)前編碼塊并選擇構(gòu)成當(dāng)前編碼塊的一些像素。具體講,位反向旋轉(zhuǎn)單元62選擇以圖11中所示的黑點(diǎn)部分·和陰影部分代表的那些同樣的像素,和在圖5所示的位旋轉(zhuǎn)單元42選擇的那些一樣。位反向旋轉(zhuǎn)單元62還把已經(jīng)被如圖5所示的位旋轉(zhuǎn)單元42確定為左旋轉(zhuǎn)像素和右旋轉(zhuǎn)像素的像素分別設(shè)置為右旋轉(zhuǎn)像素和左旋轉(zhuǎn)像素。
即,在編碼的選擇像素中,被位旋轉(zhuǎn)單元42確定為左旋轉(zhuǎn)像素的像素被向右旋轉(zhuǎn)相應(yīng)于嵌入圖像的附加信息的位數(shù)。類似地,被位旋轉(zhuǎn)單元42確定為右旋轉(zhuǎn)像素的像素被向左旋轉(zhuǎn)相應(yīng)于嵌入圖像的附加信息的位數(shù)。結(jié)果,編碼的像素可被解碼為原始像素。
因此,位反向旋轉(zhuǎn)單元62把已經(jīng)被確定為左旋轉(zhuǎn)像素和右旋轉(zhuǎn)像素的像素的像素分別設(shè)置為右旋轉(zhuǎn)像素和左旋轉(zhuǎn)像素。因此,與參考圖7(A)討論的旋轉(zhuǎn)操作相反,在位反向旋轉(zhuǎn)單元62中,以圖11的(A)所示的陰影線代表的像素被確定為右旋轉(zhuǎn)像素,而以圖11的(A)所示的黑點(diǎn)部分·代表的像素被確定為左旋轉(zhuǎn)像素。
然后過程進(jìn)行到步驟S13。在步驟S13,旋轉(zhuǎn)位寄存器63把旋轉(zhuǎn)值n初始化為0,最小差值存儲寄存器67把該值(絕對值差的最小和)初始化為預(yù)定的大值(例如,可被存儲的最大值)。然后,旋轉(zhuǎn)位寄存器63把旋轉(zhuǎn)值n提供給位反向旋轉(zhuǎn)單元62并且還輸出它到通常被切斷的開關(guān)65,過程進(jìn)行到步驟S14。
在步驟S14,位反向旋轉(zhuǎn)單元62把當(dāng)前編碼塊的左旋轉(zhuǎn)像素的值和右旋轉(zhuǎn)像素的值分別向左和向右旋轉(zhuǎn)從旋轉(zhuǎn)位寄存器63提供的旋轉(zhuǎn)值n,并把結(jié)果得到的編碼塊提供給差值計算單元64。
現(xiàn)在假設(shè)像素值以8位來表示,并且右旋轉(zhuǎn)像素的值是11110100B,左旋轉(zhuǎn)像素的值是11100101B。還假設(shè)旋轉(zhuǎn)值n是“2”。右旋轉(zhuǎn)像素11110100B被向右旋轉(zhuǎn)2位,而左旋轉(zhuǎn)像素11100101B被向左旋轉(zhuǎn)2位,結(jié)果分別產(chǎn)生如圖11的(B)所示的00111101B和10010111B。同樣,當(dāng)前編碼塊中的其它的左旋轉(zhuǎn)像素和其它的右旋轉(zhuǎn)像素根據(jù)旋轉(zhuǎn)值n分別被向左和向右旋轉(zhuǎn)。
在步驟S15,一旦從位反向旋轉(zhuǎn)單元62接收到具有被旋轉(zhuǎn)n位的像素值的當(dāng)前編碼塊,則差值計算單元64計算各個選擇像素與相鄰像素的和,即在這種情況下是選擇像素與相鄰像素之間的絕對值差值和,并把它作為當(dāng)前編碼塊的相關(guān)性值(構(gòu)成當(dāng)前編碼塊的像素的相關(guān)性值)。
具體講,在編碼的塊中,如圖12所示,以黑點(diǎn)部分·和陰影部分代表的選擇的像素被相鄰于在嵌入編碼的處理期間沒有被旋轉(zhuǎn)的至少一個像素(下文中有時稱為未選擇像素)而放置。在差值計算單元64中,每個選擇像素與相鄰的未選擇的像素之間的絕對值差被計算,并且這種絕對值差值和被確定為當(dāng)前編碼塊的相關(guān)性值。
如果選擇的像素被相鄰于大量未選擇像素而放置,如在圖12中所示的情況,計算選擇像素與每個未選擇像素之間的絕對值差,由如圖12所示的實(shí)線表示。
在上面討論的示例中,僅使用當(dāng)前編碼塊中的像素來獲得相關(guān)性值。但是,相關(guān)性值可使用當(dāng)前編碼塊之外的塊的像素來確定。
例如,如果構(gòu)成嵌入圖像的編碼塊以柵掃描順序被處理為當(dāng)前編碼塊,與當(dāng)前編碼塊向左、向上和向左上相鄰的編碼塊已經(jīng)被解碼為原始像素值。與當(dāng)前編碼塊向左、向上和向右或向下相鄰的一些像素在嵌入編碼處理期間不被旋轉(zhuǎn)(未選擇像素)。
在當(dāng)前編碼塊外部的像素中,在嵌入編碼處理之前和之后保持相同的像素(在圖12中以虛線圓表示)可被用于計算與當(dāng)前編碼塊的選擇像素的絕對值差,在圖12中以虛線箭頭表示。
另外,在上述的實(shí)施例中,選擇的像素和相鄰的未選擇像素的每一個之間的絕對值差被用來確定編碼塊的相關(guān)性值。但是,可以使用選擇像素和不相鄰的但是圍繞選擇像素的未選擇像素之間的絕對值差。
另一種情況是,不僅空間上與選擇像素相鄰的像素而且時間上與選擇像素相鄰的像素也可被使用。
以這種方式,在差值計算單元64計算的作為當(dāng)前編碼塊的相關(guān)性值的絕對值差值和被提供給比較器68并且也提供給通常是斷開的開關(guān)66。
一旦接收到當(dāng)前編碼塊的絕對值差值和,比較器68在步驟S16確定該絕對值差值和是否小于存儲在最小差值存儲寄存器67中的值(絕對值差的最小和)。
如果步驟S16的結(jié)果為是,則發(fā)現(xiàn)其選擇像素已經(jīng)被旋轉(zhuǎn)n位的當(dāng)前編碼塊的相關(guān)性值大于原來得到的相關(guān)性值。從而確定其選擇像素已經(jīng)被旋轉(zhuǎn)n位的當(dāng)前編碼塊最可能被解碼為原始圖像塊。然后過程進(jìn)行到步驟S17,其中比較器68暫時把開關(guān)65和66從斷開狀態(tài)改變到閉合狀態(tài),并且過程進(jìn)行到步驟S18。
通過在步驟S17暫時閉合開關(guān)65和66,從旋轉(zhuǎn)位寄存器63輸出的旋轉(zhuǎn)值n經(jīng)開關(guān)65被提供給最佳旋轉(zhuǎn)位存儲寄存器69。在最佳旋轉(zhuǎn)位存儲寄存器69中,存儲為最佳旋轉(zhuǎn)位n_min的值被來自旋轉(zhuǎn)位寄存器63的作為新的最佳旋轉(zhuǎn)位n_min(為了解碼當(dāng)前編碼塊而選擇的像素要被旋轉(zhuǎn)的位的最佳數(shù)目)的旋轉(zhuǎn)值n覆蓋。
在步驟S17,絕對值差值和從差值計算單元64經(jīng)開關(guān)66提供給最小差值存儲寄存器67。在最小差值存儲寄存器67中,存儲從在那里的值被差值計算單元64輸出的作為絕對值差的新的最小和的絕對值差覆蓋(作為涉及當(dāng)前編碼塊的最大相關(guān)性值)。
如果在步驟S16確定從差值計算單元64輸出的絕對值差值和不小于存儲在最小差值存儲寄存器67中的值,換言之,如果確定涉及其選擇像素已經(jīng)被旋轉(zhuǎn)n位的當(dāng)前編碼塊的相關(guān)性值不大于原來獲得的最大相關(guān)性值,可確定當(dāng)前編碼塊還沒有被解碼為原始的塊。然后,處理跳過步驟S17進(jìn)行到步驟S18。在步驟S18,旋轉(zhuǎn)位寄存器63中的旋轉(zhuǎn)值n被增加1。
然后在步驟S19確定旋轉(zhuǎn)位寄存器63中的旋轉(zhuǎn)值n是否小于像素值th_r的位數(shù)。如果步驟S19的結(jié)果為是,即,如果旋轉(zhuǎn)值n在像素可被旋轉(zhuǎn)的位數(shù)范圍內(nèi),處理返回到步驟S14,并且重復(fù)相應(yīng)的處理。
相反,如果在步驟S19發(fā)現(xiàn)旋轉(zhuǎn)值n不小于像素值th_r的位數(shù),即,如果通過應(yīng)用像素值可被旋轉(zhuǎn)的所有可能的旋轉(zhuǎn)值n,涉及當(dāng)前編碼塊的相關(guān)性值(絕對值差值和)已經(jīng)被計算,則處理進(jìn)行到步驟S20。在步驟S20,當(dāng)前編碼塊的選擇像素值被旋轉(zhuǎn)最佳旋轉(zhuǎn)位n_min,從而把當(dāng)前編碼塊解碼為原始塊并解碼嵌入編碼塊中的附加信息。
具體講,最佳旋轉(zhuǎn)位存儲寄存器69把存儲在其中的最佳旋轉(zhuǎn)位n_min提供給反向旋轉(zhuǎn)單元62。反向旋轉(zhuǎn)單元62分別把左旋轉(zhuǎn)像素和右旋轉(zhuǎn)像素向左和向右旋轉(zhuǎn)最佳旋轉(zhuǎn)位n_min,如在步驟S14中描述的一樣,從而把當(dāng)前編碼塊解碼為原始塊。解碼的塊然后被提供給解碼圖像存儲器71并被存儲在相應(yīng)的地址。
最佳旋轉(zhuǎn)位存儲寄存器69還把存儲在其中的最佳旋轉(zhuǎn)位n_min作為嵌入在當(dāng)前編碼塊中的解碼的附加信息提供給解碼附加信息存儲器70。
此后,在步驟S21確定在反向旋轉(zhuǎn)單元62中是否還有作為當(dāng)前編碼塊的要被處理的塊(下文中有時稱為未處理的塊)。如果步驟S21的結(jié)果為“是”,確定一個未處理的塊(例如在柵掃描順序中的隨后的編碼塊)為當(dāng)前編碼塊。然后處理返回步驟S12并且重復(fù)相應(yīng)的處理。
如果在步驟S21發(fā)現(xiàn)沒有了未處理的塊,換言之,如果用于一幀的所有的編碼塊被存儲在解碼圖像存儲器71中并且嵌入在一幀的塊中的解碼附加信息的所有項(xiàng)被存儲在解碼附加信息存儲器70中,則用于一幀的解碼圖像從解碼圖像存儲器71中被讀出,并且解碼附加信息從解碼附加信息存儲器70中被讀出。
隨后,在步驟S22確定是否還有隨后要在塊分割單元61中被處理的嵌入的圖像幀。如果步驟S22的結(jié)果為是,處理返回步驟S11,并且重復(fù)相應(yīng)的處理。
另一方面,如果在步驟S22發(fā)現(xiàn)沒有隨后要在塊分割單元61中被處理的嵌入圖像幀,則解碼處理完成。
根據(jù)前面的描述,嵌有附加信息的編碼圖像數(shù)據(jù)通過利用圖像相關(guān)性被解碼為原始圖像和附加信息。從而解碼操作可不引起執(zhí)行解碼操作所需要的額外開銷(overhead)而被執(zhí)行。因此,解碼的圖像(再現(xiàn)的圖像)基本上不會使傳統(tǒng)上受到嵌入的附加信息影響的圖像質(zhì)量降低。
如下進(jìn)行一個模擬測試。各個像素都有8位的天然(natural)圖像被分為4×4像素塊,并且執(zhí)行嵌入編碼操作(在這種情況下,由于在一個塊中嵌入3位附加信息,附加信息的嵌入率是3位/16像素)。然后在嵌入的圖像上執(zhí)行解碼操作并且所有像素值被正確地解碼(這意味著附加信息也被正確地解碼)。
如下進(jìn)行另一個模擬測試。類似于在上述模擬測試中使用的圖像的天然圖像被分為2×2像素塊,并且執(zhí)行嵌入編碼操作(在這種情況下,附加信息的嵌入率是3位/4像素,是上述模擬測試中的4倍之高)。然后在嵌入的圖像上執(zhí)行解碼操作并且97.92%的像素值被正確地解碼。
因此,如果一個塊由較大數(shù)目的像素構(gòu)成,像素可更精確地被解碼。另一方面,被嵌入一幀中的附加信息的數(shù)量,即嵌入率被降低。與此相反,如果一個塊由較小數(shù)目的像素構(gòu)成,嵌入率被提高,但是解碼的精確性被降低。從而,構(gòu)成一個塊的像素數(shù)目要求根據(jù)嵌入速率和解碼精確性的折衷來確定。
在前述的實(shí)施例中,如果像素值以多個分量來代表,如YUV或RGB,所有的分量可根據(jù)相同的附加信息被旋轉(zhuǎn)。另一種情況是,分量可根據(jù)附加信息的不同項(xiàng)獨(dú)立地被旋轉(zhuǎn)。
在前述的實(shí)施例中,根據(jù)棋盤模式來選擇構(gòu)成塊的一些像素,并且附加信息被嵌入選擇的像素。但是,可根據(jù)不同模式來選擇用于嵌入附加信息的一些像素。另外,盡管在本實(shí)施例中選擇了構(gòu)成塊的一半像素,并且根據(jù)附加信息旋轉(zhuǎn)選擇像素的值,用于執(zhí)行旋轉(zhuǎn)的像素數(shù)目并不局限于構(gòu)成塊的一半像素。但是如上所述,在解碼嵌有附加信息的像素時,要求通過利用不帶有附加信息的像素來確定相關(guān)性值。當(dāng)像素在時間或空間上彼此遠(yuǎn)離時像素之間的相關(guān)性變小。因此,為執(zhí)行正確的解碼操作,附加信息要被嵌入其中的像素可以以它們在空間或時間上被分散地來放置的方式來選擇。
在前述的實(shí)施例中,選擇左旋轉(zhuǎn)像素和右旋轉(zhuǎn)像素從而它們被交替地放置在選擇像素的對角線方向上。但是,可根據(jù)不同的方式設(shè)置左旋轉(zhuǎn)像素和右旋轉(zhuǎn)像素。
在前述的實(shí)施例中,一些選擇的像素被確定為左旋轉(zhuǎn)像素并且因此根據(jù)附加信息被向左旋轉(zhuǎn),而剩余的選擇像素被確定為右旋轉(zhuǎn)像素并且因此根據(jù)附加信息被向右旋轉(zhuǎn)。但是,所有選擇的像素可被向左或向右旋轉(zhuǎn)。
圖13圖示根據(jù)本發(fā)明的第二實(shí)施例的通過由圖4中所示的CPU 32執(zhí)行存儲在程序存儲器33中的程序而被實(shí)施的嵌入編碼器3的功能配置示例。
要被編碼的圖像例如以幀為單位被提供給塊分割單元81。然后塊分割單元81把用于一幀的圖像分割為多個圖像塊,每個塊具有預(yù)定的尺寸,并且把分割的塊提供給異或算術(shù)單元82。
不僅來自分割單元81的圖像塊而且要被嵌入圖像的附加信息都被提供給異或算術(shù)單元82。異或算術(shù)單元82選擇從塊分割單元81提供的構(gòu)成圖像塊的一些像素(下文中有時稱為“選擇像素”)并計算每個選擇像素與附加信息之間的異或邏輯值,從而把附加的信息嵌入選擇像素。具有嵌入在選擇像素中的附加信息的圖像塊被提供給編碼圖像存儲器83作為編碼塊。
編碼圖像存儲器83順序存儲從異或算術(shù)單元82提供的編碼塊。當(dāng)用于一幀的編碼塊被存儲時,該編碼塊作為編碼數(shù)據(jù)被輸出。
現(xiàn)將參考圖14的流程圖給出由圖13所示的嵌入編碼器3執(zhí)行的嵌入編碼處理的描述。
如上所述,要被編碼的圖像以幀為單位被提供給塊分割單元81。在步驟S31,當(dāng)接收到用于一幀的圖像時,塊分割單元81把圖像分割為多個塊,每個塊具有預(yù)定的尺寸。即,塊分割單元81把圖像分割為4×4像素圖像塊,如圖15的(A)所示。由塊分割單元81得到的圖像塊以例如柵掃描順序依次被提供給異或算術(shù)單元82。
在步驟S32,當(dāng)接收到來自塊分割單元81的圖像塊時,異或算術(shù)單元82把接收到的圖像塊設(shè)置為當(dāng)前塊并選擇構(gòu)成當(dāng)前塊的一些像素。具體講,異或算術(shù)單元82根據(jù)棋盤模式選擇以圖15的(A)中所示的黑點(diǎn)部分·和陰影部分代表的像素。即選擇構(gòu)成當(dāng)前塊的一半像素。
然后在步驟S33,異或算術(shù)單元82計算每個選擇的像素與附加信息之間的異或,從而把附加信息嵌入選擇的像素中。具體講,異或算術(shù)單元82計算由圖15的(A)中所示的陰影部分代表的每一個選擇像素與附加信息的位流之間的異或,并把計算的結(jié)果設(shè)置為選擇像素的值。
異或算術(shù)單元82還計算由黑點(diǎn)部分·代表的每一個選擇的像素與通過反轉(zhuǎn)附加信息的位流的順序而得到的位流(下文中稱為“反向位流”)之間的異或,并把計算的結(jié)果設(shè)置為選擇像素的值。
用于與附加信息的位流和附加信息的反向位流計算異或的像素在下文中分別稱為“正常位流像素”和“反向位流像素”。在第二實(shí)施例中,正常位流像素和反向位流像素交替設(shè)置在選擇像素的對角方向上,如圖15的(A)所示。因此,一半選擇的像素被設(shè)置為正常位流像素,而另一半被設(shè)置為反向位流像素。
現(xiàn)在假設(shè)像素值以8位代表,并且正常位流像素的值是00111101B(B代表前面的數(shù)字是二進(jìn)制的)并且反向位流像素的值是10010111B。還假設(shè)附加信息是“00101001B(=41)”。然后計算正常位流像素的值00111101B與代表附加信息的位流00101001B之間的異或,如圖15的(B)所示,結(jié)果得到00010100B。并且還計算反向位流像素的值10010111B與附加信息的反向位流10010100B之間的異或,如圖15的(C)所示,結(jié)果得到00000011B。類似地,對其它正常位流像素和反向位流像素計算異或。
當(dāng)像素值以8位代表時,可在像素值與具有相同位數(shù)的附加信息之間執(zhí)行異或計算。因此在這種情況下,8位附加信息(從0到255)可被嵌入一個塊。
在步驟S33,在如上所述計算了選擇像素與附加信息之間的異或后,結(jié)果得到的塊被提供給編碼圖像存儲器83作為編碼塊并被存儲在那里。然后,處理進(jìn)行到步驟S34。
在步驟S34確定在異或算術(shù)單元82中是否還有作為當(dāng)前塊的要被處理的塊(下文中有時稱為“未處理圖像塊”),如果步驟S34的結(jié)果為“是”,則把一個未處理塊設(shè)置為當(dāng)前塊,并且處理返回步驟S32,重復(fù)相應(yīng)的處理。
如果在步驟S34由異或算術(shù)單元82確定再沒有未處理的塊,換言之,如果用于一幀的所有編碼塊被存儲在編碼圖像存儲器83中,編碼塊從編碼圖像存儲器83中被讀出。
然后在步驟S35確定是否有要在塊分割單元81中被處理的幀,如果步驟S35的結(jié)果為“是”,則處理返回步驟S31,以類似的方式處理相應(yīng)的幀。
如果在步驟S35發(fā)現(xiàn)沒有要在塊分割單元81中被處理的幀,則完成了嵌入編碼處理。
以這種方式,通過選擇構(gòu)成圖像塊的一些像素及計算各個選擇的像素與附加信息之間的異或,可把附加信息嵌入到圖像塊中。從而可能用最小的圖像質(zhì)量損失而且不增加數(shù)據(jù)量地來嵌入附加信息。
即,在圖15的(A)中所示的嵌有附加信息的選擇像素中,以黑點(diǎn)部分·和陰影部分代表的像素值可通過利用圖像的相關(guān)性,即選擇像素與沒有附加信息的像素之間的相關(guān)性不引發(fā)額外開銷地被解碼(恢復(fù))為原始像素和附加信息,其中沒有附加信息的像素在圖15的(A)中以O(shè)代表。下面將詳細(xì)討論。因此,在解碼的圖像(再現(xiàn)的圖像)中沒有觀察到由嵌入附加信息引起的圖像質(zhì)量的降低。
圖16圖示根據(jù)本發(fā)明的第二實(shí)施例的通過圖8所示的CPU 53執(zhí)行存儲在程序存儲器54中的程序來實(shí)施的解碼器6的配置示例。
作為編碼數(shù)據(jù)的嵌入圖像例如以幀為單位被提供給塊分割單元161。塊分割單元161把嵌入的圖像分割為多個塊,每個塊具有預(yù)定的尺寸,即分為編碼塊,并且依次把分割的塊提供給異或算術(shù)單元162,與圖13所示的塊分割單元81的情況一樣。
在構(gòu)成從塊分割單元161提供的編碼塊的像素中,異或算術(shù)單元162選擇位于與由圖13所示的異或算術(shù)單元82所選擇的那些相同位置的像素。然后異或算術(shù)單元162計算各個選擇的像素的值與從異或數(shù)據(jù)寄存器163提供的異或數(shù)據(jù)之間的異或,并把它提供給差值計算單元164。異或算術(shù)單元162還計算每個選擇像素的值與存儲在最佳異或數(shù)據(jù)存儲寄存器169中的最佳EX-OR數(shù)據(jù)之間的異或。結(jié)果,編碼塊被解碼為原始圖像塊并被提供給解碼圖像存儲器171。
異或數(shù)據(jù)寄存器163設(shè)置作為用于計算與像素值的異或的數(shù)據(jù)的異或數(shù)據(jù),并把它提供給異或算術(shù)單元162和開關(guān)165。如果像素值以th_r位表示,可在像素值與具有th_r位的數(shù)據(jù)之間計算異或。在這種情況下,異或數(shù)據(jù)寄存器163順序把以th_r位代表的數(shù)據(jù),即從0到2th_r-1之間的值設(shè)置為異或數(shù)據(jù)并把它提供給異或算術(shù)單元162和開關(guān)165。
差值計算單元164從異或算術(shù)單元162接收已在每個選擇的像素值與異或數(shù)據(jù)之間計算異或的編碼塊,并計算選擇像素與相鄰像素之間的相關(guān)性值,即,在這種情況,是各個像素值的絕對值差值的和。作為相關(guān)性值的絕對值差值和被提供給比較器168。
開關(guān)165在比較器168的控制下把來自異或數(shù)據(jù)寄存器163的異或數(shù)據(jù)提供給最佳異或數(shù)據(jù)存儲寄存器169。開關(guān)166在比較器168的控制下把來自差值計算單元164的相關(guān)性值提供給最小差值存儲寄存器167。
最小差值存儲寄存器167經(jīng)開關(guān)166把從差值計算單元164提供的相關(guān)性值存儲為涉及當(dāng)前正被處理的編碼塊(下文中有時稱為“當(dāng)前編碼塊”)的最大相關(guān)性值。如上所述,在第二實(shí)施例中,選擇像素與相鄰像素之間的絕對值差值和被用作其間的相關(guān)性值。因此,最大相關(guān)性值意味著像素值的絕對值差的最小和。
作為最大相關(guān)性存儲在最小差值存儲寄存器167中的絕對值差的最小和被提供給比較器168。比較器168比較從差值計算單元164輸出的絕對值差值和與存儲在最小差值存儲寄存器167中的絕對值差的最小和,并基于比較結(jié)果,比較器168控制開關(guān)165和166。
最佳異或數(shù)據(jù)存儲寄存器169經(jīng)開關(guān)165從異或數(shù)據(jù)寄存器163接收異或數(shù)據(jù),并把它存儲為最佳異或數(shù)據(jù),該數(shù)據(jù)是用于計算與編碼塊的選擇像素值的異或的最佳位流。然后,最佳異或數(shù)據(jù)存儲寄存器169適當(dāng)?shù)匕炎罴旬惢驍?shù)據(jù)提供給異或算術(shù)單元162和解碼附加信息存儲器170。
解碼附加信息存儲器170暫時把從最佳異或數(shù)據(jù)存儲寄存器169提供的最佳異或數(shù)據(jù)存儲為嵌入在編碼塊中的解碼附加信息,并輸出它。解碼圖像存儲器171暫時把其中已經(jīng)在選擇像素值與最佳異或數(shù)據(jù)之間計算異或的編碼塊存儲為解碼的原始圖像塊,并且當(dāng)用于一幀的解碼圖像塊被存儲時,解碼圖像被輸出。
將參考圖17的流程在下面討論由圖16所示的解碼器6執(zhí)行的解碼處理。
如上所述,嵌入圖像以幀為單位被提供給塊分割單元161。在步驟S41,當(dāng)接收到用于一幀的嵌入圖像時,塊分割單元161把嵌入圖像分割為多個塊,每個塊具有預(yù)定尺寸,與在圖13所示的塊分割單元81的情況一樣。具體講,如圖18的(A)所示,塊分割單元161把嵌入圖像分割為4×4像素編碼塊。被塊分割單元161分割的編碼塊以例如柵掃描順序被依次提供給異或算術(shù)單元162。
一旦從塊分割單元161接收到編碼的塊,則異或算術(shù)單元162把接收到的編碼塊設(shè)置為當(dāng)前編碼塊,并選擇構(gòu)成當(dāng)前編碼塊的一些像素。具體講,異或算術(shù)單元162選擇以圖18中的(A)所示的陰影部分和黑點(diǎn)部分·代表的那些同樣的像素,和在圖13所示的異或算術(shù)單元82選擇的那些一樣。異或算術(shù)單元162還從上述選擇的像素中選擇正常位流像素和反向位流像素,與異或算術(shù)單元82的情況中一樣。
即,在編碼塊的選擇像素中,被圖13所示的異或算術(shù)單元82確定為正常位流像素的像素通過計算每個像素值與相應(yīng)于嵌入編碼像素中的附加信息的位流進(jìn)行異或而被解碼為原始像素。類似地,被異或算術(shù)單元82確定為反向位流像素的像素通過計算每個像素值與嵌入編碼像素中的附加信息的反向位流進(jìn)行異或而被解碼為原始像素。
因此,異或算術(shù)單元162從選擇像素中選擇正常位流像素和反向位流像素,與在異或算術(shù)單元82的情況中一樣。因此,在異或算術(shù)單元162中,以類似于參考圖15的(A)所討論的示例相似的方式,以圖18的(A)中的陰影線代表的像素被設(shè)定為正常位流像素,而以黑點(diǎn)部分·代表的像素被設(shè)定為反向位流像素。
然后過程進(jìn)行到步驟S43。在步驟S43,異或數(shù)據(jù)寄存器163把異或數(shù)據(jù)n初始化為0,最小差值存儲寄存器167把該值(絕對值差的最小和)初始化為預(yù)定的大值(例如,可被存儲的最大值)。然后,異或數(shù)據(jù)寄存器163把異或數(shù)據(jù)n提供給異或算術(shù)單元162并且還輸出它到通常被斷開的開關(guān)165,過程進(jìn)行到步驟S44。
在步驟S44,異或算術(shù)單元162計算從異或數(shù)據(jù)寄存器163輸出的異或數(shù)據(jù)n與當(dāng)前編碼塊的正常位流像素與反向位流像素的每一個之間的異或并把計算結(jié)果提供給差值計算單元164。
現(xiàn)在假設(shè)像素值以8位來表示,并且正常位流像素的值是00010100B,反向位流像素的值是00000011B。還假設(shè)異或數(shù)據(jù)n是“00101001B(=41)”。然后如圖18的(B)所示,計算正常位流像素的值00010100B與代表異或數(shù)據(jù)n的位流00101001B之間的異或,從而得到結(jié)果00111101B。如圖18的(C)所示,計算反向位流像素值00000011B與作為異或數(shù)據(jù)n的反向位流10010100B之間的異或,從而得到結(jié)果10010111B。
在步驟S45,當(dāng)從異或算術(shù)單元162接收到其中已經(jīng)計算選擇像素與異或數(shù)據(jù)n之間的異或的當(dāng)前編碼塊,差值計算單元164計算選擇像素與相鄰像素的相關(guān)性值的和,即在這種情況下是選擇像素與相鄰像素之間的絕對值差值和,并把它作為涉及當(dāng)前編碼塊的相關(guān)性值(構(gòu)成當(dāng)前編碼塊的像素間的相關(guān)性值)。
具體講,在編碼的塊中,如圖19所示,以黑點(diǎn)部分·和陰影部分代表的選擇像素相鄰于其中已經(jīng)計算與附加信息的異或的至少一個像素(下文中有時稱為“未選擇像素”)而放置。差值計算單元164計算選擇像素與相鄰的未選擇像素之間的絕對值差,并且這種絕對值差值和被確定為編碼塊的相關(guān)性值。
如果選擇的像素被相鄰于多個未選擇像素而放置,計算選擇像素與每個未選擇的像素之間的絕對值差,如圖19的實(shí)線箭頭表示。
在上面討論的示例中,通過僅應(yīng)用當(dāng)前編碼塊中的像素來獲得相關(guān)性值。但是,相關(guān)性值可通過應(yīng)用當(dāng)前編碼塊之外的塊的像素來確定。
例如,如果構(gòu)成嵌入圖像的編碼塊以柵掃描順序被處理為當(dāng)前編碼塊,則與當(dāng)前編碼塊向左、向上和向左上相鄰的編碼塊已經(jīng)被解碼稱為原始像素值。在嵌入編碼處理期間,在與當(dāng)前編碼塊向左、向上、向右或向下相鄰的一些像素與附加信息之間不計算異或。
在當(dāng)前編碼塊外部的像素中,在嵌入編碼處理之前和之后保持相同的像素(在圖19中以虛線圓表示)可被用于計算與當(dāng)前編碼塊的選擇像素的絕對值差,如圖19中以虛線箭頭表示。
另外,在上述的實(shí)施例中,選擇像素和相鄰的未選擇的像素的每一個之間的絕對值差被用來確定編碼塊的相關(guān)性值。但是,可以使用選擇像素和不相鄰但是圍繞選擇像素的未選擇像素之間的絕對值差。
另一種情況是,不僅空間上與選擇像素相鄰的像素而且時間上與選擇像素相鄰的像素也可被使用。
如上所述,作為涉及由差值計算單元164計算的當(dāng)前編碼塊的編碼值的像素值的絕對值差值的和被提供給比較器168并且也提供給通常是斷開的開關(guān)166。
一旦從差值計算單元164接收到當(dāng)前編碼塊的絕對值差值和,比較器168在步驟S46確定絕對值差值和是否小于存儲在最小差值存儲寄存器167中的值。
如果步驟S46的結(jié)果為是,即如果通過執(zhí)行選擇像素與異或數(shù)據(jù)n之間的異或而得到的當(dāng)前編碼塊的相關(guān)性值大于原來得到的涉及當(dāng)前編碼塊的相關(guān)性值,由此可確定當(dāng)前編碼塊最有可能被解碼為原始塊。然后過程進(jìn)行到步驟S47,其中比較器168暫時把開關(guān)165和166從斷開狀態(tài)改變到閉合狀態(tài),并且過程進(jìn)行到步驟S48。
在步驟S47,從異或數(shù)據(jù)寄存器163輸出的異或數(shù)據(jù)n經(jīng)開關(guān)165被提供給最佳異或數(shù)據(jù)存儲寄存器169。作為最佳異或數(shù)據(jù)n_min被存儲在最佳異或數(shù)據(jù)存儲寄存器169中的值被來自異或數(shù)據(jù)寄存器163的作為新的最佳異或數(shù)據(jù)n_min(即作為在解碼當(dāng)前編碼塊中用于計算與選擇像素的異或的最佳位流)的異或數(shù)據(jù)n覆蓋。
在步驟S47,絕對值差值和從差值計算單元164經(jīng)開關(guān)166被提供給最小差值存儲寄存器167。在最小差值存儲寄存器167中存儲的值被從差值計算單元164輸出的作為絕對值差的新的最小和(作為涉及當(dāng)前編碼塊的最大相關(guān)性值)的絕對值差值和覆蓋。
相比而言,如果在步驟S46由比較器168確定來自差值計算單元164的絕對值差值和不小于存儲在最小差值存儲寄存器167中的值,即,如果確定涉及通過執(zhí)行選擇像素與異或數(shù)據(jù)n之間的異或而得到的當(dāng)前編碼塊的相關(guān)性值不大于原來獲得的涉及當(dāng)前編碼塊的相關(guān)性值,則發(fā)現(xiàn)當(dāng)前編碼塊最不可能被解碼為原始的塊。這樣,處理跳過步驟S47進(jìn)行到步驟S48。在步驟S48,在異或數(shù)據(jù)寄存器163中的異或數(shù)據(jù)n被增加1。
然后,在步驟S49確定異或數(shù)據(jù)n是否等于或小于以指定給像素值的位數(shù)代表的最大值2th_r-1。如果結(jié)果為“是”,處理返回到步驟S44,并且重復(fù)相應(yīng)的處理。
如果在步驟S44的結(jié)果為“否”,即異或數(shù)據(jù)n已經(jīng)被用于計算作為從0到2th_r-1的范圍內(nèi)的所有值的涉及當(dāng)前編碼塊的相關(guān)性值(絕對值差值和),處理進(jìn)行到步驟S50。在步驟S50,計算選擇像素與最佳異或數(shù)據(jù)n_min之間的異或,從而把當(dāng)前編碼塊解碼為原始塊并解碼嵌入編碼塊中的附加信息。
具體講,最佳異或數(shù)據(jù)存儲寄存器169把最佳異或數(shù)據(jù)n_min提供給異或算術(shù)單元162。在異或算術(shù)單元162中,以與步驟S44相似的方式計算當(dāng)前編碼塊的每個正常位流像素與每個反向位流像素與最佳異或數(shù)據(jù)n_min之間的異或,從而解碼為原始圖像塊。解碼的圖像塊然后被提供給解碼圖像存儲器171并被存儲在相應(yīng)的地址。
最佳異或數(shù)據(jù)存儲寄存器169把存儲在其中的最佳異或數(shù)據(jù)n_min作為嵌入在當(dāng)前編碼塊中的解碼附加信息提供給解碼附加信息存儲器170。
此后,過程進(jìn)行到步驟S51,確定在異或算術(shù)單元162中是否還有要被處理的塊(下文中有時稱為“未處理的塊”)。如果步驟S51的結(jié)果為“是”,則設(shè)定一個未處理的塊(例如在柵掃描順序中的隨后的當(dāng)前編碼塊)為當(dāng)前編碼塊。然后處理返回步驟S42,并且重復(fù)相應(yīng)的處理。
相反,如果異或算術(shù)單元162在步驟S51發(fā)現(xiàn)沒有了未處理的塊,即,如果用于一幀的所有編碼塊被存儲在解碼圖像存儲器171中,并且如果嵌入在一幀中的解碼附加信息被存儲在解碼附加信息存儲器170中,解碼圖像從解碼圖像存儲器171中被讀出,并且解碼附加信息從解碼附加信息存儲器170中被讀出。
隨后,在步驟S52確定是否還有隨后要在塊分割單元161中被處理的嵌入圖像幀。如果結(jié)果為是,處理返回步驟S41,并且重復(fù)相應(yīng)的處理。
如果在步驟S52發(fā)現(xiàn)沒有隨后要被塊分割單元161處理的嵌入圖像幀,則解碼處理完成。
根據(jù)前面的描述,在第二實(shí)施例中,與第一實(shí)施例一樣,嵌有附加信息的編碼圖像數(shù)據(jù)通過利用圖像相關(guān)性被解碼為原始圖像和附加信息。從而不會引起執(zhí)行解碼操作所需要的額外開銷。因此,解碼的圖像(再現(xiàn)的圖像)避免了傳統(tǒng)上受到嵌入附加信息影響的圖像質(zhì)量降低。
如下進(jìn)行一個模擬測試。每個像素都有8位的天然(natural)圖像被分為4×4像素塊,并且執(zhí)行嵌入編碼操作(在這種情況下,由于在一個塊中嵌入8位附加信息,附加信息的嵌入率是8位/16像素)。然后在嵌入的圖像上執(zhí)行解碼操作并且98.74%的像素值被正確地解碼。
如下進(jìn)行另一個模擬測試。類似于在上述模擬測試中所使用的圖像的天然圖像被分為2×2像素塊,并且執(zhí)行嵌入編碼操作(在這種情況下,附加信息的嵌入率是8位/4像素,是上述模擬測試中的4倍之高)。然后在嵌入的圖像上執(zhí)行解碼操作并且79.12%的像素值被正確地解碼。
因此,如果一個塊由較大數(shù)目的像素構(gòu)成,像素可更精確地被解碼。另一方面,同嵌入一幀中的附加信息的數(shù)量,即嵌入率被降低。與此相反,如果一個塊由較小數(shù)目的像素構(gòu)成,嵌入率被提高,但是解碼的精確性被降低。這樣,構(gòu)成一個塊的像素數(shù)目需要要求根據(jù)嵌入速率和解碼精確性的折衷來確定。
在前述的實(shí)施例中,在嵌入編碼處理中,反向位流附加信息被用于計算與反向位流像素值之間的異或,如圖15所示。但是,可在通過反轉(zhuǎn)反向位流像素像素的次序而得到的值與附加信息之間計算異或。
例如可假設(shè)像素值以8位代表并且正常位流像素值是00111101B,反向位流像素值是10010111B,如圖20所示。還假設(shè)附加信息是00101001B(=41)。然后計算正常位流像素值00111101B與代表附加信息的位流00101001B之間的異或,結(jié)果產(chǎn)生00010100B,如圖20的(B)所示,其與圖15的(B)相同。另一方面,計算通過反轉(zhuǎn)上述反向位流像素11101001B而得到的位流10010111B與附加信息的位流00101001B之間的異或,從而得到10111110B,如圖20的(C)所示。
但是在這種情況下,在解碼操作中,首先計算反向位流像素與異或數(shù)據(jù)n之間的異或,然后反轉(zhuǎn)得到的位流。通過將所得值用作像素值,計算相關(guān)性值。
可通過硬件或軟件執(zhí)行圖6、10、14和17中所示的上述處理。如果用軟件執(zhí)行,相應(yīng)的軟件程序被安裝在置入像素處理裝置或訓(xùn)練裝置中的專用硬件計算機(jī)中,或安裝在通過安裝相應(yīng)程序執(zhí)行各種處理的通用計算機(jī)中。
參考圖21A、21B和21C給出對用于把執(zhí)行上述處理的程序安裝到計算機(jī)并用于使程序可由計算機(jī)來執(zhí)行的媒體的描述。
程序可通過被安裝在用作存儲介質(zhì)的置入計算機(jī)101中的硬盤102或半導(dǎo)體存儲器103中而被提供給用戶,如圖21A所示。
另一種情況是,程序可通過暫時或永久地被安裝在諸如軟盤111、只讀光盤(D-ROM)112、磁光盤(MO)113、數(shù)字多能盤(DVD)114、磁盤115或半導(dǎo)體存儲器116的存儲介質(zhì)中而被提供為軟件包,如圖21B所示。
另一種情況是,如圖21C所示,程序可經(jīng)數(shù)字衛(wèi)星廣播人造衛(wèi)星122從下載站點(diǎn)121被無線傳送到計算機(jī)101,或經(jīng)諸如本地網(wǎng)(LAN)或因特網(wǎng)的網(wǎng)絡(luò)131被電纜傳送到計算機(jī)101,并且可被存儲在置入計算機(jī)101的硬盤101中。
本說明書中討論的媒體包括最廣泛的含義,其包括上述媒體。
構(gòu)成由媒體提供的程序的步驟可根據(jù)本說明書中描述的時間序列順序來執(zhí)行?;蛘撸鲜霾襟E可不以時間序列順序來執(zhí)行并且可獨(dú)立地或并行地來執(zhí)行(例如對象處理)。
圖22圖示圖21A和21C所示的計算機(jī)101的配置的一個示例的框圖。
計算機(jī)101具有內(nèi)置式中央處理單元(CPU)142,如圖22所示,輸入/輸出接口145經(jīng)總線141被連接于CPU 142。當(dāng)通過用戶操作由鍵盤、鼠標(biāo)等構(gòu)成的輸入單元147經(jīng)輸入/輸出接口145輸入指令時,CPU 142執(zhí)行存儲在只讀存儲器(ROM)143中的程序,其相應(yīng)于圖21A的半導(dǎo)體存儲器103。另外一種情況是,CPU 142把存儲在硬盤102中的程序、從衛(wèi)星122或網(wǎng)絡(luò)131傳送到通信單元148中并被安裝在硬盤102中的程序、從裝載到驅(qū)動器149中的軟盤111,CD-ROM 112,MO盤113,DVD 114或磁盤115讀出并被安裝在硬盤102中的程序,下載到隨機(jī)存取存儲器(RAM)144中。然后CPU142執(zhí)行裝載的程序。CPU 142適當(dāng)?shù)亟?jīng)輸入/輸出接口145輸出處理的結(jié)果到由例如液晶顯示屏(LCD)構(gòu)成的顯示單元146。
根據(jù)第一和第二實(shí)施例,在執(zhí)行嵌入編碼處理和解碼處理中,圖像被分為4×4像素塊。但是,構(gòu)成一個塊的像素數(shù)目并不限制于此。另外,塊的配置并不限制于方形或矩形形狀。
盡管在前述的實(shí)施例中附加信息被嵌入構(gòu)成一幀的所有塊,它也可被嵌入構(gòu)成一幀的一些塊。在這種情況下,構(gòu)成沒有附加信息的塊的像素可被用于在解碼嵌有附加信息的塊中計算相關(guān)性值。
在前述的實(shí)施例中,一幀被分為多塊,附加信息被嵌入分割的塊。但是,在嵌入附加信息中,每個幀可被用作一塊而不被分割成多塊,或者大量幀可被用作一塊。
在第二實(shí)施例中,如果像素以多個分量代表,諸如YUV或RGB,可計算所有分量與相同的附加信息之間的異或?;蛘哂嬎愀鱾€分量與附加信息的不同項(xiàng)之間的異或。
在第二實(shí)施例中,根據(jù)棋盤模式來選擇構(gòu)成塊的一些像素,并且附加信息被嵌入選擇的像素。但是,可根據(jù)不同模式來選擇用于嵌入附加信息的一些像素。另外,盡管在第二實(shí)施例中選擇了構(gòu)成塊的一半像素,并且計算選擇像素值與附加信息之間的異或,用于計算異或的像素數(shù)目并不局限于構(gòu)成塊的一半像素。但是如上所述,在解碼嵌有附加信息的像素時,要求通過利用不帶有附加信息的像素來確定相關(guān)性值。當(dāng)像素在時間和空間上彼此遠(yuǎn)離時像素之間的相關(guān)性變小。因此,為執(zhí)行正確的解碼操作,附加信息要被嵌入其中的像素可以以它們在空間和時間上被分散地來放置的方式來選擇。
在第二實(shí)施例中,選擇正常位流像素和反向位流像素從而它們被交替地放置在選擇像素的對角線方向上。但是,可根據(jù)不同的方式設(shè)置正常位流像素和反向位流像素。
在第二實(shí)施例中,一些選擇像素被確定為正常位流像素而剩余的選擇像素被確定為反向位流像素,并且計算各個像素與附加信息之間的異或。但是,所有選擇的像素可被確定為正常位流像素或反向位流像素。
盡管在第二實(shí)施例中通過計算像素值與附加信息之間的異或而嵌入附加信息,可對像素執(zhí)行其它邏輯運(yùn)算。但是,要求通過執(zhí)行與用于執(zhí)行嵌入編碼操作相同類型的邏輯運(yùn)算而把計算結(jié)果恢復(fù)到原始值,這種運(yùn)算比如是異或。
附加信息的類型不特殊限定。例如,圖像、聲音、文本、計算機(jī)程序或其它類型的數(shù)據(jù)可被作為附加信息嵌入。存儲在圖像數(shù)據(jù)庫1中的部分圖像可被用作附加信息,并且剩余圖像可被提供給幀存儲器31。在這種情況下,附加信息可被嵌入要編碼的圖像,從而執(zhí)行圖像壓縮。
權(quán)利要求
1.一種用于把信息嵌入圖像數(shù)據(jù)中的圖像處理裝置,包括選擇裝置,用于選擇構(gòu)成圖像數(shù)據(jù)的一些像素;改換裝置,用于通過根據(jù)該信息調(diào)換選擇像素的值的位而把信息嵌入由所述選擇裝置選擇的像素中。
2.根據(jù)權(quán)利要求1所述的圖像處理裝置,其中,所述改換裝置通過根據(jù)信息旋轉(zhuǎn)選擇的像素值的位來把信息嵌入選擇的像素。
3.根據(jù)權(quán)利要求2所述的圖像處理裝置,其中,所述改換裝置在從最低有效位到最高有效位的方向上旋轉(zhuǎn)一些選擇的像素,并在從最高有效位到最低有效位的方向上旋轉(zhuǎn)其它的選擇的像素。
4.根據(jù)權(quán)利要求1所述的圖像處理裝置,還包括用于把圖像數(shù)據(jù)分割為預(yù)定圖像塊的分割裝置,其中,所述選擇裝置選擇構(gòu)成圖像塊的一些像素。
5.根據(jù)權(quán)利要求1所述的圖像處理裝置,其中,所述改換裝置以圖像塊為單位通過根據(jù)每圖像塊為單一信息調(diào)換選擇的像素值的位來把信息嵌入選擇的像素。
6.根據(jù)權(quán)利要求5所述的圖像處理裝置,其中,所述改換裝置根據(jù)每圖像塊的信息在從最低有效位到最高有效位的方向上旋轉(zhuǎn)構(gòu)成各個圖像塊的一些選擇的像素值,并在從最高有效位到最低有效位的方向上旋轉(zhuǎn)其它的像素值。
7.一種用于把嵌有信息的編碼圖像數(shù)據(jù)解碼為原始圖像數(shù)據(jù)和信息的圖像處理裝置,包括選擇裝置,用于選擇構(gòu)成編碼的圖像數(shù)據(jù)的一些像素;改換裝置,調(diào)換由所述選擇裝置選擇的像素值的位;相關(guān)性計算裝置,計算改換的像素與除所述選擇裝置選擇的像素之外的像素之間的相關(guān)性;確定裝置,基于所述相關(guān)性計算裝置計算的相關(guān)性來確定選擇的像素值要被改變的數(shù)量,所述數(shù)量被用于對選擇的像素進(jìn)行解碼及解碼裝置,基于所述確定裝置確定的數(shù)量對選擇的像素解碼并對被嵌入選擇像素的信息進(jìn)行解碼。
8.根據(jù)權(quán)利要求7的圖像處理裝置,其中,所述改換裝置旋轉(zhuǎn)選擇的像素值的位。
9.根據(jù)權(quán)利要求8的圖像處理裝置,其中,所述改換裝置在從最低有效位到最高有效位的方向上旋轉(zhuǎn)一些選擇的像素,并在從最高有效位到最低有效位的方向上旋轉(zhuǎn)其它的選擇的像素。
10.根據(jù)權(quán)利要求7的圖像處理裝置,還包括用于把圖像數(shù)據(jù)分割為預(yù)定圖像塊的分割裝置,其中,所述選擇裝置選擇構(gòu)成圖像塊的一些像素。
11.根據(jù)權(quán)利要求7所述的圖像處理裝置,其中,所述相關(guān)性計算裝置計算改換的像素與除位于改換的像素周圍的選擇像素之外的像素之間的相關(guān)性。
12.根據(jù)權(quán)利要求7所述的圖像處理裝置,其中,所述相關(guān)性計算裝置計算改換的像素與除位于改換的像素周圍的選擇的像素之外的像素之間的相關(guān)性,以及改換的像素與解碼的像素之間的相關(guān)性。
13.根據(jù)權(quán)利要求8所述的圖像處理裝置,其中,所述確定裝置確定選擇的像素值要被旋轉(zhuǎn)的數(shù)量,從而最大化相關(guān)性,并且所述解碼裝置基于由所述確定裝置確定的數(shù)量解碼選擇的像素,并且解碼被嵌入選擇像素中的信息。
14.根據(jù)權(quán)利要求10所述的圖像處理裝置,其中,所述改換裝置把構(gòu)成圖像塊的選擇像素值的位調(diào)換相同的數(shù)量;所述相關(guān)性計算裝置計算改換的像素與除位于改換的像素周圍的選擇像素之外的像素之間的相關(guān)性;所述確定裝置基于相關(guān)性確定像素值要被改換的相同數(shù)量,所述相同數(shù)量被用于解碼選擇的像素;并且所述解碼裝置基于由所述確定裝置確定的相同數(shù)量解碼選擇的像素并把嵌入選擇像素的單一信息解碼。
15.根據(jù)權(quán)利要求14所述的圖像處理裝置,其中,所述改換裝置把構(gòu)成圖像塊的一些選擇的像素在從最低有效位到最高有效位的方向上旋轉(zhuǎn)并在從最高有效位到最低有效位的方向上旋轉(zhuǎn)其它的選擇的像素。
16.一種用于把嵌有信息的編碼圖像數(shù)據(jù)解碼為原始圖像數(shù)據(jù)和信息的圖像處理裝置,包括選擇裝置,用于選擇構(gòu)成編碼圖像數(shù)據(jù)的一些像素;計算裝置,計算所述選擇裝置選擇的像素值與預(yù)定的數(shù)據(jù)之間的異或邏輯;相關(guān)性計算裝置,計算所述計算裝置計算的像素與除選擇的像素之外的像素之間的相關(guān)性;確定裝置,基于所述相關(guān)性計算裝置計算的相關(guān)性來確定用于計算與選擇的像素進(jìn)行異或的預(yù)定數(shù)據(jù),以對選擇的像素解碼;解碼裝置,基于所述確定裝置確定的數(shù)據(jù)對選擇的像素解碼并對被嵌入選擇像素的信息進(jìn)行解碼。
17.根據(jù)權(quán)利要求16的圖像處理裝置,其中,所述計算裝置計算一些選擇的像素值與代表預(yù)定數(shù)據(jù)的位流之間的異或邏輯,并計算其它選擇的像素值與通過反轉(zhuǎn)代表預(yù)定數(shù)據(jù)的位流的順序而得到的位流之間的異或邏輯。
18.根據(jù)權(quán)利要求16的圖像處理裝置,還包括用于把圖像數(shù)據(jù)分割為預(yù)定圖像塊的分割裝置,其中,所述選擇裝置選擇構(gòu)成圖像塊的一些像素。
19.根據(jù)權(quán)利要求16所述的圖像處理裝置,其中,所述相關(guān)性計算裝置計算所述計算裝置計算的像素與除位于選擇像素周圍的選擇像素之外的像素之間的相關(guān)性。
20.根據(jù)權(quán)利要求16所述的圖像處理裝置,其中,所述相關(guān)性計算裝置計算所述計算裝置計算的像素與除位于選擇像素周圍的選擇像素之外的像素之間的相關(guān)性,并計算所述計算裝置計算的像素與解碼的像素之間的相關(guān)性。
21.根據(jù)權(quán)利要求16所述的圖像處理裝置,其中,所述確定裝置確定用于計算與選擇像素的異或邏輯的預(yù)定數(shù)據(jù),從而最大化相關(guān)性,并且所述解碼裝置基于由所述確定裝置確定的數(shù)據(jù)解碼選擇的像素,并且解碼被嵌入選擇像素中的預(yù)定信息。
22.根據(jù)權(quán)利要求18所述的圖像處理裝置,其中,所述計算裝置計算構(gòu)成圖像塊的每一個選擇像素與預(yù)定數(shù)據(jù)之間的異或邏輯;所述相關(guān)性計算裝置計算由所述計算裝置計算的像素與除位于選擇像素周圍的選擇像素之外的像素之間的相關(guān)性;所述確定裝置基于所述相關(guān)性計算裝置計算的相關(guān)性確定用于解碼選擇像素的預(yù)定數(shù)據(jù);并且,所述解碼裝置基于由所述確定裝置確定的預(yù)定數(shù)據(jù)解碼選擇的像素并把嵌入選擇像素的單一信息解碼。
23.根據(jù)權(quán)利要求22所述的圖像處理裝置,其中,所述計算裝置計算構(gòu)成圖像塊的一些選擇像素值與代表預(yù)定數(shù)據(jù)的位流之間的異或邏輯,并計算其它的像素值與通過反轉(zhuǎn)代表預(yù)定數(shù)據(jù)的位流得到的位流之間的異或邏輯。
24.一種用于把信息嵌入到圖像數(shù)據(jù)中的圖像處理方法,包括選擇步驟,選擇構(gòu)成圖像數(shù)據(jù)的一些像素;嵌入步驟,通過根據(jù)信息調(diào)換選擇的像素值的位以把信息嵌入在所述選擇步驟中選擇的像素。
25.一種用于把嵌有信息的編碼圖像數(shù)據(jù)解碼為原始圖像數(shù)據(jù)和信息的圖像處理方法,包括選擇步驟,選擇構(gòu)成編碼圖像數(shù)據(jù)的一些像素;調(diào)換步驟,調(diào)換在所述選擇步驟中選擇的像素值的位;相關(guān)性計算步驟,計算調(diào)換的像素與除選擇的像素之外的像素之間的相關(guān)性;確定步驟,基于所述相關(guān)性計算步驟中計算的相關(guān)性來確定選擇的像素值要被改變的數(shù)量,所述數(shù)量被用于對選擇的像素進(jìn)行解碼;解碼步驟,基于所述確定步驟確定的數(shù)量對選擇的像素解碼并對被嵌入選擇像素的信息進(jìn)行解碼。
26.一種用于把嵌有信息的編碼圖像數(shù)據(jù)解碼為原始圖像數(shù)據(jù)和信息的圖像處理方法,包括選擇步驟,選擇構(gòu)成編碼圖像數(shù)據(jù)的一些像素;計算步驟,計算所述選擇步驟中選擇的像素值與預(yù)定的數(shù)據(jù)之間的異或邏輯;相關(guān)性計算步驟,計算所述計算步驟計算的像素與除選擇像素之外的像素之間的相關(guān)性;確定步驟,基于所述相關(guān)性計算步驟計算的相關(guān)性來確定用于計算與選擇像素進(jìn)行異或的預(yù)定數(shù)據(jù),以對選擇的像素值解碼;解碼步驟,基于所述確定步驟確定的預(yù)定數(shù)據(jù)對選擇的像素解碼并對被嵌入選擇像素的信息進(jìn)行解碼。
27.一種存儲用于把信息嵌入到圖像數(shù)據(jù)中的計算機(jī)控制程序的存儲媒體,所述程序包括選擇步驟,選擇構(gòu)成圖像數(shù)據(jù)的一些像素;和嵌入步驟,通過根據(jù)信息調(diào)換選擇像素值的位而把信息嵌入在所述選擇步驟中選擇的像素。
28.一種存儲用于把嵌有信息的編碼圖像數(shù)據(jù)解碼為原始圖像數(shù)據(jù)和信息的計算機(jī)控制程序的存儲媒體,所述程序包括選擇步驟,選擇構(gòu)成編碼圖像數(shù)據(jù)的一些像素;調(diào)換步驟,調(diào)換在所述選擇步驟中選擇的像素值的位;相關(guān)性計算步驟,計算調(diào)換的像素與除選擇的像素之外的像素之間的相關(guān)性;確定步驟,基于所述相關(guān)性計算步驟中計算的相關(guān)性來確定選擇的像素值要被改變的數(shù)量,所述數(shù)量被用于對選擇的像素進(jìn)行解碼;解碼步驟,基于所述確定步驟確定的數(shù)量對選擇的像素解碼并對被嵌入選擇像素的信息進(jìn)行解碼。
29.一種存儲用于把嵌有信息的編碼圖像數(shù)據(jù)解碼為原始圖像數(shù)據(jù)和信息的計算機(jī)控制程序的存儲媒體,所述程序包括選擇步驟,選擇構(gòu)成編碼圖像數(shù)據(jù)的一些像素;計算步驟,計算所述選擇步驟中選擇的像素值與預(yù)定的數(shù)據(jù)之間的異或邏輯;相關(guān)性計算步驟,計算所述計算步驟計算的像素與除選擇的像素之外的像素之間的相關(guān)性;確定步驟,基于所述相關(guān)性計算步驟計算的相關(guān)性來確定用于計算與選擇的像素進(jìn)行異或的預(yù)定數(shù)據(jù),以對選擇的像素值解碼;解碼步驟,基于所述確定步驟確定的預(yù)定數(shù)據(jù)對選擇的像素解碼并對被嵌入選擇像素的信息進(jìn)行解碼。
全文摘要
一種圖像處理裝置,把信息嵌入圖像數(shù)據(jù)而不用額外開銷(overhead)。該圖像處理裝置包括用于選擇構(gòu)成圖像數(shù)據(jù)的一些像素的選擇單元。一個改換單元通過根據(jù)信息調(diào)換選擇的像素值的位而把信息嵌入由選擇單元選擇的像素中。
文檔編號G06T1/00GK1276681SQ0012020
公開日2000年12月13日 申請日期2000年6月8日 優(yōu)先權(quán)日1999年6月8日
發(fā)明者近藤哲二郎, 小林直樹 申請人:索尼公司