新四季網

數據處理裝置的製作方法

2023-08-04 02:07:46 1

專利名稱:數據處理裝置的製作方法
技術領域:
本發明涉及一種數據處理裝置,尤其涉及一種能夠將信息嵌入圖像中而不降低解碼後的圖像的質量或增加數據總量的數據處理裝置。
背景技術:
用於將信息嵌入數據中而不增加數據總量的方法是存在的,例如,將數字音頻數據的最低比特或低級的兩個比特變為要被嵌入的信息。該方法利用低級比特對聲音質量的影響並不是很明顯這樣的事實,簡單地用要被嵌入的信息取代數字音頻數據的低級比特。因此,當數字音頻數據被回放時,含有嵌入其中的信息的數字音頻數據並不恢復低級比特而被輸出。即,因為將含有嵌入信息的低級比特恢復為原始數字音頻數據是困難的,並且低級比特並不太影響聲音的質量,所以該含有嵌入信息的數字音頻數據被輸出。
依據上述方法,然而,與原始數據不同的數據被輸出。因此,當該數據是音頻數據時,將對聲音質量產生很大的影響,而當該數據是視頻數據時,將對圖像質量產生很大的影響。

發明內容
本發明是針對上述情況而發明的,它能夠使信息被嵌入進如圖像中而不降低圖像的質量或增加數據總量。
依據本發明的第一數據處理裝置包括編碼部件,用於編碼第一數據以輸出編碼的數據;以及嵌入部件,用於通過基於第二數據修改編碼的數據的一部分,而將第二數據嵌入從編碼部件輸出的編碼的數據中。
依據本發明的第一數據處理方法是這樣一種方法第一數據被編碼以輸出編碼的數據,以及,基於第二數據修改編碼的數據的一部分,以便將第二數據嵌入編碼的數據中。
依據本發明的第一存儲介質存儲這樣一個程序第一數據被編碼以輸出編碼的數據,以及,基於第二數據修改編碼的數據的一部分,以便將第二數據嵌入編碼的數據中。
依據本發明的第一數據處理裝置、第一數據處理方法以及第一存儲介質,第一數據被編碼以輸出編碼的數據。然後,基於第二數據修改編碼的數據的一部分,於是將第二數據嵌入編碼的數據中。
依據本發明的第二數據處理裝置包括編碼表生成部件,用於生成用於編碼第一數據的編碼表;修改的編碼表生成部件,用於基於第二數據修改編碼表生成部件所生成的編碼表以生成修改的編碼表;以及,嵌入編碼的數據生成部件,用於基於修改的編碼表編碼第一數據以生成嵌入第二數據的嵌入編碼的數據。
依據本發明的第二數據處理方法是這樣一種方法生成用於編碼第一數據的編碼表,基於第二數據修改生成的編碼表以生成修改的編碼表,以及基於修改的編碼表編碼第一數據,以生成嵌入第二數據的嵌入編碼的數據。
依據本發明的第二存儲介質存儲這樣一個程序生成用於編碼第二數據的編碼表,基於第二數據修改生成的編碼表以生成修改的編碼表,以及基於修改的編碼表編碼第一數據,以生成嵌入第二數據的嵌入編碼的數據。
依據本發明的第二數據處理裝置、第二數據處理方法以及第二存儲介質,生成用於編碼第一數據的編碼表,以及基於第二數據修改編碼表生成部件所生成的編碼表以生成修改的編碼表。然後基於修改的編碼表編碼第一數據以生成嵌入第二數據的嵌入編碼的數據。
依據本發明的第三數據處理裝置包括暫定的解碼部件,用於基於編碼表暫定的解碼通過將第二數據嵌入第一數據中所編碼的嵌入編碼的數據,以輸出暫定的解碼的數據;暫定的編碼表生成部件,用於基於暫定的解碼的數據生成暫定的編碼表;第一解碼的數據獲得部件,用於基於編碼表和暫定的編碼表解碼嵌入編碼的數據以獲得第一解碼的數據;以及第二解碼的數據獲得部件,用於通過比較編碼表和暫定的編碼表獲得第二解碼的數據。
依據本發明的第三數據處理方法是這樣一種方法基於編碼表暫定地解碼通過將第二數據嵌入第一數據中所編碼的嵌入編碼的數據,以輸出暫定的解碼的數據,基於暫定的解碼的數據生成暫定的編碼表,基於編碼表和暫定的編碼表解碼嵌入編碼的數據以獲得第一解碼的數據,以及通過比較編碼表和暫定的編碼表以獲得第二解碼的數據。
依據本發明的第三存儲介質存儲這樣一個程序基於編碼表暫定地解碼通過將第二數據嵌入第一數據中所編碼的嵌入編碼的數據,以輸出暫定的解碼的數據,基於暫定的解碼的數據生成暫定的編碼表,基於編碼表和暫定的編碼表解碼嵌入編碼的數據以獲得第一解碼的數據,以及通過比較編碼表和暫定的編碼表以獲得第二解碼的數據。
依據本發明的第三數據處理裝置、第三數據處理方法以及第三存儲介質,基於編碼表暫定地解碼通過將第二數據嵌入第一數據中所編碼的嵌入編碼的數據,以輸出暫定的解碼的數據。另外,基於暫定的解碼的數據生成暫定的編碼表,以及基於編碼表和暫定的編碼表解碼嵌入編碼的數據以獲得第一解碼的數據。比較編碼表和暫定的編碼表以獲得第二解碼的數據。
依據本發明的第四數據處理裝置包括暫定的解碼部件,用於依據輸入參數修改通過將第二數據嵌入第一數據所編碼的嵌入編碼的數據的一部分,以及基於編碼表將其暫定地解碼以生成暫定的解碼的數據;再編碼部件,用於將暫定的解碼的數據再次進行編碼以輸出再編碼的數據;以及解碼部件,用於通過比較嵌入編碼的數據和再編碼的數據來確定參數,輸出基於編碼表暫定解碼已經基於該參數被部分修改過的嵌入編碼的數據所獲得的暫定的解碼的數據,作為第一解碼的數據,以及用於獲得相應於該參數的第二解碼的數據。
依據本發明的第四處理方法是這樣一種方法依據輸入參數修改通過將第二數據嵌入第一數據中所編碼的嵌入編碼的數據的一部分,以及基於編碼表將其暫定地解碼以生成暫定的解碼的數據,將暫定的解碼的數據再次進行編碼以輸出再編碼的數據,以及通過比較嵌入編碼的數據和再編碼的數據來確定參數,輸出基於編碼表暫定解碼已經基於該參數被部分修改過的嵌入編碼的數據所獲得的暫定的解碼的數據作為第一解碼的數據,並且還獲得相應於該參數的第二解碼的數據。
依據本發明的第四處理介質存儲這樣一個程序依據輸入參數修改通過嵌入第二數據在第一數據中所編碼的嵌入編碼的數據的一部分,以及基於編碼表將其暫定的解碼以生成暫定的解碼的數據,將暫定的解碼的數據再次進行編碼以輸出再編碼的數據,以及將暫定的解碼的數據再編碼以輸出再編碼的數據。通過比較嵌入編碼的數據和再編碼的數據來確定參數,輸出基於編碼表暫定解碼已經基於該參數被部分修改過的嵌入編碼的數據所獲得的暫定的解碼的數據,作為第一解碼的數據,並且獲得相應於該參數的第二解碼的數據。
依據本發明的第四數據處理裝置、第四數據處理方法以及第四存儲介質,依據輸入參數修改通過嵌入第二數據在第一數據中所編碼的嵌入編碼的數據的一部分,以及基於編碼表將其暫定的解碼以生成暫定的解碼的數據。另外,將暫定的解碼的數據再編碼以輸出再編碼的數據。通過比較嵌入編碼的數據和再編碼的數據來確定參數,輸出基於編碼表暫定解碼已經基於該參數被部分修改過的嵌入編碼的數據所獲得的暫定的解碼的數據,作為第一解碼的數據,以及用於獲得相應於該參數的第二解碼的數據。
依據本發明的第五數據處理裝置包括編碼部件,用於依據編碼規則編碼第一數據以輸出編碼的數據;以及修改部件,用於基於第二數據修改編碼規則;其中編碼部件依據被修改部件修改了的編碼規則編碼第一數據,因此生成嵌入第二數據的嵌入編碼的數據。
依據本發明的第五數據處理方法是這樣一種方法依據編碼規則編碼第一數據以輸出編碼的數據,基於第二數據修改編碼規則,依據被修改了的編碼規則編碼第一數據以生成嵌入第二數據的嵌入編碼的數據。
依據本發明的第五存儲介質存儲這樣一種程序依據編碼規則編碼第一數據以輸出編碼的數據,基於第二數據修改編碼規則,依據被修改了的編碼規則編碼第一數據以生成嵌入第二數據的嵌入編碼的數據。
依據本發明的第五數據處理裝置、第五數據處理方法以及第五存儲介質,依據編碼規則編碼第一數據以輸出編碼的數據。然後,基於第二數據修改編碼規則,以及,依據被修改了的編碼規則編碼第一數據以生成嵌入第二數據的嵌入編碼的數據。
依據本發明的第六數據處理裝置包括第一解碼部件,用於解碼通過嵌入第二數據在第一數據中所獲得的嵌入編碼的數據,以獲得依據熵編碼規則編碼的編碼的數據並獲得第二數據;以及,第二解碼部件,用於解碼該編碼的數據以獲得第一數據。
依據本發明的第六數據處理方法是這樣一種方法解碼通過將第二數據嵌入第一數據中所獲得的嵌入編碼的數據,以獲得依據熵編碼規則編碼的編碼的數據並獲得第二數據,以及,解碼該編碼的數據以獲得第一數據。
依據本發明的第六存儲介質存儲這樣一種程序解碼通過將第二數據嵌入第一數據中所獲得的嵌入編碼的數據,以獲得依據熵編碼規則編碼的編碼的數據並獲得第二數據,以及解碼該編碼的數據以獲得第一數據。
依據本發明的第六數據處理裝置、數據處理方法以及存儲介質,解碼通過將第二數據嵌入在第一數據中所獲得的嵌入編碼的數據,以獲得依據熵編碼規則編碼的編碼的數據並獲得第二數據。另外,解碼該編碼的數據以獲得第一數據。
依據本發明的數據處理系統包括一個編碼裝置,該編碼裝置包括編碼部件,用於依據編碼規則編碼第一數據以輸出編碼的數據;以及修改部件,用於基於第二數據修改編碼規則;其中編碼部件依據被修改部件修改了的編碼規則編碼第一數據,以生成嵌入第二數據的嵌入編碼的數據,該數據處理系統也包括一個解碼裝置,該解碼裝置包括第一解碼部件,用於解碼嵌入編碼的數據以獲得依據編碼規則編碼的編碼的數據並獲得第二數據;以及,第二解碼部件,用於解碼該編碼的數據以獲得第一數據。
依據本發明的數據處理系統在編碼裝置中,依據編碼規則編碼第一數據以輸出編碼的數據。然後,基於第二數據修改編碼規則,以及依據被修改了的編碼規則編碼第一數據以生成嵌入第二數據的嵌入編碼的數據。在解碼裝置中,解碼嵌入編碼的數據以獲得依據編碼規則編碼的編碼的數據並獲得第二數據。然後,解碼該編碼的數據以獲得第一數據。


圖1示出了依據本發明的實施例的嵌入壓縮/解碼系統的結構的舉例。
圖2是一個方框圖,示出了嵌入壓縮編碼器11的結構的第一舉例。
圖3是一個方框圖,示出了可變長度編碼單元23的結構的舉例。
圖4是可變長度解碼的示意圖。
圖5示出了像素值的出現頻率和分配給像素值的碼的碼長之間的關聯的圖。
圖6示出了Huffman(霍夫曼)表的舉例。
圖7示出了根據像素值的發生頻率而分配的碼以及碼的轉換。
圖8示出了嵌入編碼的數據的舉例。
圖9示出了一種用於將嵌入編碼的數據恢復為原始編碼的數據的方法。
圖10是一個流程圖,示出了嵌入編碼處理過程。
圖11是一個流程圖,示出了轉換表生成處理過程。
圖12是一個流程圖,示出了編碼的數據轉換處理過程。
圖13是一個方框圖,示出了嵌入壓縮編碼器11的結構的第二個舉例。
圖14是一個方框圖,示出了解碼器12的結構的第一個舉例。
圖15是一個方框圖,示出了可變長度解碼單元56和可變長度解碼單元56的結構的舉例。
圖16是一個方框圖,示出了霍夫曼表生成單元53的結構的舉例。
圖17是一個方框圖,示出了逆轉換表生成單元54的結構的舉例。
圖18是一個流程圖,示出了解碼的處理過程。
圖19是一個方框圖,示出了嵌入壓縮編碼器11的結構的第三個舉例。
圖20是一個流程圖,示出了嵌入編碼處理的過程。
圖21是一個方框圖,示出了編碼單元91的結構的舉例。
圖22示出了被矢量量化的編碼的示意圖。
圖23是一個方框圖,示出了嵌入單元92的結構的舉例。
圖24示出了通過行循環嵌入附加信息的示意圖。
圖25是一個流程圖,示出了嵌入編碼的處理過程。
圖26是一個方框圖,示出了解碼器12的結構的第二個舉例。
圖27是一個流程圖,示出了解碼的處理過程。
圖28是一個方框圖,示出了編碼規則恢復單元121的結構的舉例。
圖29是一個方框圖,示出了解碼單元122的結構的舉例。
圖30是一個方框圖,示出了確定單元123的結構的舉例。
圖31示出了確定單元123所進行的處理過程。
圖32是一個流程圖,示出了解碼的處理過程。
圖33是一個方框圖,示出了解碼器12的結構的第三個舉例。
圖34是一個方框圖,示出了依據本發明的實施例的計算機結構的舉例。
具體實施例方式
圖1示出了依據本發明的實施例的嵌入壓縮/解碼系統(系統指多個裝置的邏輯組合,與組成裝置是否位於一個包裝內無關)的結構的舉例。
該嵌入壓縮/解碼系統包括一個編碼裝置1和一個解碼裝置2。該編碼裝置1編碼例如一幅要被編碼的圖像,以及該解碼裝置2將編碼的結果解碼為原始圖像。
該編碼裝置1包括嵌入壓縮編碼器11。嵌入壓縮編碼器11編碼圖像並將信息(下文中當用到時被指作附加信息)嵌入圖像中。嵌入壓縮編碼器11依據預定的編碼規則編碼該圖像(數字圖像數據)用於壓縮,並基於附加信息(數字數據)修改或破壞該編碼規則,從而嵌入附加信息以產生嵌入編碼的數據用於輸出。從嵌入壓縮編碼器11輸出的嵌入編碼的數據被記錄在例如一個半導體存儲器、磁光碟、磁碟、光碟、磁帶或相變型磁碟的記錄介質3上,或通過例如地面波、衛星鏈路、CATV(有線電視)網絡、網際網路或公共網絡的傳輸介質4被發送,並這樣被提供給解碼裝置2。
解碼裝置2包括通過記錄介質3或傳輸介質4接收提供的嵌入編碼的數據的解碼器12。該解碼器12將嵌入編碼的數據恢復為依據預定的編碼規則編碼的編碼的數據,從而解碼嵌入其中的附加信息並解碼編碼的數據為原始圖像。該解碼圖像被提供給沒示出的監視器或其它相似的裝置並顯示。
應當理解,所述附加信息可以包括例如伴隨原始圖像的文本數據或聲音數據,縮小的圖像版本等,並且還可以包括與原始圖像不相關的數據。即,任意數據(包括程序)可被用作附加信息。
另外,提供給嵌入壓縮編碼器11的用於編碼的圖像的一部分也可被用作附加信息。即,可以向嵌入壓縮編碼器11提供圖像的一部分作為附加信息,同時提供圖像的剩餘部分作為要被編碼的數據。
圖2示出了圖1中所示的嵌入壓縮編碼器11的結構的舉例。
幀存儲器21例如基於幀,存儲提供給嵌入壓縮編碼器11的圖像數據。附加信息存儲器22存儲提供給嵌入壓縮編碼器11的附加信息。
可變長度編碼單元23對存儲在幀存儲器21中的圖像數據應用可變長度編碼或熵(entropy)編碼例如霍夫曼編碼,並向編碼規則破壞單元25提供所得的編碼的數據。可變長度編碼單元23以下面描述的方式在霍夫曼編碼的處理過程中生成霍夫曼表並將該霍夫曼表提供給轉換表生成單元24。另外,可變長度編碼單元23向多路復用器(MUX)26提供有關該霍夫曼表的信息,這將在獲得對轉換表生成單元24輸出的霍夫曼表的過程中用到。
轉換表生成單元24基於存儲在附加信息存儲器22中的附加信息,生成用於轉換從可變長度編碼單元23提供的霍夫曼表中的碼的轉換表。即該霍夫曼表定義了要被霍夫曼編碼的值(這裡指圖像的像素值)和具有不同碼長的碼(編碼的數據)之間的關聯,以及轉換表生成單元24生成轉換表,用於將霍夫曼表中的碼轉換為基於附加信息的碼。轉換表生成單元24所生成的轉換表被提供給編碼規則破壞單元25。
編碼規則破壞單元25基於附加信息修改或破壞可變長度編碼單元23中的編碼規則,從而嵌入附加信息。即,編碼規則破壞單元25依據轉換表生成單元24基於附加信息所生成的轉換錶轉換(處理)從可變長度編碼單元23輸出的編碼的數據(碼),從而依據可變長度編碼單元23的被破壞的編碼規則產生編碼的數據。依據被破壞的編碼規則所編碼的編碼的數據從編碼規則破壞單元25向多路復用器26提供,作為通過將附加信息嵌入原始編碼的數據中所獲得的嵌入編碼的數據。
多路復用器26將來自編碼規則破壞單元25的嵌入編碼的數據和來自可變長度編碼單元23的有關霍夫曼表的信息多路復用,並輸出該多路復用後的數據。如參考圖1所述的,該多路復用後的數據通過記錄介質3或傳輸介質4提供給解碼裝置2。
圖3示出了圖2中的可變長度編碼單元23的結構的舉例。
存儲在圖2中的幀存儲器21中的圖像數據的每一幀例如以時間順序被順序考慮,被考慮的幀的圖像數據被讀出。被考慮的幀的圖像數據被提供給頻率表生成單元31和編碼單元34。
該頻率表生成單元31對於向它提供的組成被考慮的幀的像素,生成頻率表,表中每個像素值與其發生的頻率相關,並將該頻率表提供給霍夫曼樹生成單元32。該頻率表也從頻率表生成單元31向圖3中所示的多路復用器26提供作為有關霍夫曼表的信息。
儘管在圖3的實施例中該頻率表被用作有關霍夫曼表的信息,有關霍夫曼表的信息並不明確地限於能夠獲得下面將描述的霍夫曼表生成單元33所生成的霍夫曼表的信息。因此,該有關霍夫曼表的信息可以是例如霍夫曼表生成單元33所生成的霍夫曼表本身以及頻率表。
霍夫曼樹生成單元32基於頻率表生成單元31所提供的頻率表生成霍夫曼樹,並將其提供給霍夫曼表生成單元33。該霍夫曼表生成單元33基於霍夫曼樹生成單元32所提供的霍夫曼樹生成霍夫曼表。即,霍夫曼表生成單元33生成霍夫曼表,在該表中,被考慮的幀中的像素值根據其發生頻率每個被分配一個具有一定碼長的碼,像素值的發生頻率越高,分配的碼的碼長越短,(像素值的發生頻率越低,分配的碼的碼長越長)。該霍夫曼表被提供給編碼單元34和圖2中的轉換表生成單元24。
編碼單元34按順序考慮向其提供的被考慮的幀中的每個像素,例如,以光柵掃描的順序,並將被考慮的像素的像素值轉換為霍夫曼表生成單元33所提供的霍夫曼表中相應的碼,並將其輸出作為編碼的數據。
在如上所構成的可變長度編碼單元23中,頻率表生成單元31對於被考慮的幀生成頻率表,並將其提供給霍夫曼樹生成單元32。霍夫曼樹生成單元32基於頻率表生成單元31所提供的頻率表生成霍夫曼樹,並將其提供給霍夫曼表生成單元33。該霍夫曼表生成單元33基於霍夫曼樹生成單元32所提供的霍夫曼樹生成霍夫曼表,並將其提供給編碼單元34。編碼單元34將被考慮的幀中的每個像素值轉換為霍夫曼表中像素值相應的碼,並將其輸出作為編碼的數據。
現在將參考圖4進一步描述可變長度編碼單元23中的可變長度編碼處理過程。
例如假定圖4(A)中所示的頻率表已經在頻率表生成單元31中生成。圖4(A)示出了像素值
、[1]、[2]、[3]以及[4]分別在被考慮的幀中發生了5次、4次、3次、2次以及1次。
關於圖4(A)中的頻率表,霍夫曼樹生成單元32基於每個像素的發生頻率,以從下至上的方式生成霍夫曼樹,例如圖4(B)至圖4(E)所示的。
更具體地講,霍夫曼樹生成單元32從頻率表中選擇兩個具有最低的發生頻率的像素值,從而形成一個節點。另外,霍夫曼樹生成單元32將比特「0」或「1」分配給所選擇的兩個像素值中具有最低的發生頻率的像素值,例如將「0」分配給所選擇的兩個像素值中具有最低的發生頻率的像素值,將「1」分配給另一個。霍夫曼樹生成單元32將所選擇的兩個像素值的發生頻率的和分配給所選擇的兩個像素值所形成的節點,作為該節點的發生頻率。
因此,在圖4(A)所示的頻率表中,具有發生頻率1的像素值[4]以及具有發生頻率2的像素值[3]被選擇形成節點#1,如圖4(B)所示,3(1+2)被分配作為節點#1的發生頻率。另外,對於選擇的兩個像素值[4]和[3],比特「0」被分配給具有較低的發生頻率的像素值[4],比特「1」被分配給具有較高的發生頻率的像素值[3]。
在圖4(B)至圖4(E)中,表示發生頻率的數字示出在圓括號中。
如果所選擇的兩個像素值的發生頻率相同,可以將比特「1」或「0」分配給任何一個像素值。然而,比特「1」或「0」分配給哪個像素必須預定義,例如將比特「0」分配給較小的像素值。
霍夫曼樹生成單元32重複相同的處理過程直到實現會聚為單個節點。
因此,從圖4(B)中所示的狀態可知,每個具有發生頻率3的節點#1和像素值[2]被選擇,於是如圖4(C)所示,節點#1和像素值[2]形成節點#2。另外,節點#2的發生頻率被設置為6(3+3),以及比特「0」和「1」分別被分配給節點#1和像素值[2]。
從圖4(C)中所示的狀態可知,具有發生頻率4的像素值[1]和具有發生頻率5的像素值
被選擇,於是像素值[1]和像素值
形成節點#3。另外,如圖4(D)所示,節點#3的發生頻率被設置為9(4+5),以及比特「0」和「1」分別被分配給像素值[1]和像素值

從圖4(D)中所示的狀態可知,具有發生頻率6的節點#2和具有發生頻率9的節點#3被選擇,於是節點#2和節點#3形成節點#4。另外,如圖4(E)所示,節點#4的發生頻率被設置為15(6+9),以及比特「0」和「1」分別被分配給節點#2和節點#3。
圖4(E)中所示的狀態中可知,節點已經被會聚為單個節點#4,於是完成霍夫曼樹。霍夫曼樹生成單元32向霍夫曼表生成單元33提供該霍夫曼樹。
霍夫曼表生成單元33通過從會聚節點向像素值方向跟蹤該霍夫曼樹,而識別分配給每個像素值的碼。
更詳細地講,例如,圖4(E)中所示的霍夫曼樹被從節點#4向像素值
的方向跟蹤,分配給節點(或像素值)的比特序列被發現為「0」→「0」→「0」。因此,霍夫曼表生成單元33識別分配給像素值
的碼為「000」。同樣,圖4(E)中所示的霍夫曼樹被從節點#4向像素值[1]的方向跟蹤,分配給節點(或像素值)的比特序列被發現為「0」→「0」→「1」。因此,霍夫曼表生成單元33識別分配給像素值[1]的碼為「001」。
相似地,霍夫曼表生成單元33識別分配給每個像素值的碼,因此生成表示像素值和碼之間的關聯的霍夫曼表。因此,從圖4(E)所示的霍夫曼樹生成圖4(F)所示的霍夫曼表。
可變長度編碼單元23可以可替換地以美國專利第5021782號所公布的方式執行可變長度編碼。
在圖4(E)中所示的霍夫曼表中,碼「11」、「10」、「01」、「001」以及「000」被分別分配給具有5、4、3、2以及1的發生頻率的像素值
、[1]、[2]、[3]以及[4]。因此,基本上較短碼長的碼分配給較高的發生頻率的像素值。
在圖4(E)中所示的霍夫曼表中,儘管像素值
、[1]、[2]、[3]以及[4]具有不同的發生頻率,兩個比特的碼被分配給具有較高發生頻率的像素值
、[1]、[2],而三個比特的碼被分配給具有相對較低的發生頻率的像素值[3]和[4]。
如上所述,在霍夫曼表中,具有相同碼長的碼有時被分配給具有不同發生頻率的像素值。像素值的發生頻率和分配給像素值的碼長之間的關係一般如圖5所示。
參考圖5,假定n比特的碼被分配給x像素值(x是不超過2n的整數),分配給x像素值的n比特的碼的模式數目是X!(!表示階乘),基於上述生成霍夫曼樹的規則,僅採用其中一個。
即使對於x像素值分配的n比特碼的模式被修改,碼的總量並不增加。即,在霍夫曼表中,即使n比特碼取代另一個n比特碼被分配給像素值,分配的碼長仍然為n比特,因此碼的總量並不增加。
另外,即使分配給x像素值的n比特碼的模式被修改,碼分配的模式例如基於x像素值的發生頻率可以被恢復。
從以上可知,即使霍夫曼表中分配給像素值的相同長度的比特碼的模式被修改,即,儘管可變長度編碼的編碼規則被破壞,碼的總量並不增加,被修改的分配模式可以恢復為原始的模式。
這意味著,通過基於一些信息修改分配給像素值的碼的模式,可以嵌入信息而不增加數據的總量,同時能夠使嵌入的信息被解碼而沒有額外的開銷。
圖6示出了對於8比特(0至255)表示的像素值所產生的霍夫曼表的舉例。圖6中,除了像素值和分配給像素值的碼,也示出了每個像素值的發生頻率。
參考圖6,例如,對於從[12]至[18]的7個像素值,9比特的碼被分配給這7個像素值的每一個,因此對於這7個像素值存在9比特碼的7!種分配模式。因此,通過修改對於這7個像素值所分配的9比特碼的模式,可以嵌入int[log27!]比特的信息。Int[]表示不超過[]中的值的最大整數值。
圖7(A)示出了圖6中所示的像素值[12]至[18]的各個發生頻率,以及圖7(B)示出了分別分配給圖6的像素值[12]至[18]的9比特碼。
假定圖7(B)中所示的碼分配基於int[log27!]比特內的附加信息,如圖7(C)中所示的被修改。
更具體地講,在圖7(B)中,碼「110111111」、「110111010」、「110100001」、「110011001」、「11011000」、「011101011」以及「010001010」分別被分配給像素值[12]至[18]。在圖7(C)中,分配被修改於是分配給像素值[12]的碼「110111111」現在被分配給像素值[15],分配給像素值[15]的碼「110011001」現在被分配給像素值[12],分配給像素值[16]的碼「11011000」現在被分配給像素值[17],分配給像素值[17]的碼「011101011」現在被分配給像素值[18],分配給像素值[18]的碼「010001010」現在被分配給像素值[16]。圖7中對於其它像素值的分配碼沒有修改。
同樣對於分配其它碼長的碼的像素值,可以基於附加信息修改碼分配的模式。圖8示出了基於附加信息,圖6所示的碼分配模式已經修改的組成編碼的數據的其它編碼的數據的舉例。圖8示出了嵌入編碼的數據和通過依據圖6中所示的霍夫曼表,可變長度解碼該嵌入編碼的數據所獲得的解碼的像素值(通過依據在獲得編碼的數據過程中所使用的霍夫曼表,解碼嵌入編碼的數據所獲得的像素值)。
參考圖8,例如對於從[12]至[18]的7個像素值,如果嵌入編碼的數據依據圖6所示的霍夫曼表被解碼,獲得圖9所示的解碼的像素值。即,將通過依據編碼時所用的霍夫曼表解碼嵌入編碼的數據而獲得的像素值指作嵌入解碼的像素值,碼「110011001」、「110111010」、「110100001」、「110111111」、「010001010」、「11011000」以及「011101011」分別被可變長度解碼為嵌入解碼的像素值[15]、[13]、[14]、[12]、[18]、[16]以及[17]。
圖9(B)示出了嵌入解碼的像素值[12]至[18]的發生頻率的計數。由於圖6的霍夫曼表中所示的分配給像素值[12]至[18]的碼,被如圖7(B)和圖7(C)所示的修改了,所以像素值[12]、[15]以及[16]至[18]的發生頻率與圖7(A)中的不一致,更具體地講,它們分別與可變長度編碼之前的像素值[15]、[12]、[18]、[16]以及[17]一致。
然而,由於原始像素值[12]至[18]的發生頻率(可變長度編碼之前)和通過可變長度解碼所獲得的像素值[12]至[18]的發生頻率應當彼此一致,如果可變長度編碼之前和可變長度解碼之後的發生頻率有所不同的話,將是不正常的(奇怪的)。
因此,通過將圖7(A)中所示的原始像素值的發生頻率與圖9(B)中所示的嵌入解碼的像素值的發生頻率進行比較,以及通過檢測匹配的發生頻率,可以將已經基於附加信息被修改的碼(可變長度碼)的分配模式,恢復為原始模式。即,嵌入編碼的數據可以被恢復為依據霍夫曼表編碼的編碼的數據。另外,嵌入的附加信息可以基於當嵌入編碼的數據被恢復為編碼的數據時所修改的碼的分配模式被解碼,以及同樣可以通過可變長度解碼所恢復的編碼的數據而獲得原始的像素值。
更具體地講,通過將圖7(A)中所示的原始像素值的發生頻率與圖9(B)中所示的嵌入解碼的像素值的發生頻率進行比較,嵌入解碼的像素值[15]、[13]、[14]、[12]、[17]、[18]以及[16]的發生頻率可以被分別檢測與原始像素值[12]之[18]的發生頻率一致。
因此,從中可以獲得嵌入解碼的像素值[15]、[13]、[14]、[12]、[17]、[18]以及[16]的嵌入編碼的數據「110011001」、「110111010」、「110100001」、「110111111」、「010001010」、「11011000」以及「011101011」可以被確定為在嵌入附加信息之前,圖6中所示的霍夫曼表中分配給原始像素值[12]至[18]的碼「110111111」、「110111010」、「110100001」、「110011001」、「11011000」、「011101011」以及「010001010」。
因此,通過轉換嵌入編碼的數據於是圖7(A)中所示的原始像素值的發生頻率與圖9(B)中所示的嵌入解碼的像素值的發生頻率一致,如圖9(C)所示,依據圖6中所示的霍夫曼表編碼的編碼的數據可被恢復,以及可以基於嵌入編碼的數據和恢復的編碼的數據之間的關聯,解碼附加信息。另外,如圖9(D)所示,通過可變長度解碼恢復的編碼的數據,可以獲得原始的像素值。
圖2中所示的嵌入壓縮編碼器11執行如上所述的不增加數據總量的嵌入編碼處理並能夠沒有額外開銷地進行解碼。
現在將參考圖10所示的流程圖,進一步描述圖2中所示的嵌入壓縮編碼器11所執行的嵌入編碼處理過程。
在步驟S1中,可變長度編碼單元23對來自幀存儲器21的被考慮的幀內的每個像素的像素值進行可變長度編碼,並向編碼規則破壞單元25輸出結果編碼的數據。另外,在步驟S1中的可變長度編碼中,可變長度編碼單元23(圖3)向多路復用器26輸出頻率表生成單元31所生成的頻率表作為有關霍夫曼表的信息,並也向轉換表生成單元24輸出霍夫曼表生成單元33所生成的霍夫曼表。
然後,在步驟S2中,轉換表生成單元24基於從附加信息存儲器22所提供的附加信息,修改從可變長度編碼單元23提供的霍夫曼表中的具有相同碼長的碼的分配模式,並執行轉換表生成處理,用於生成關聯修改前的碼和修改後的碼的轉換表。該轉換表從轉換表生成單元24提供給編碼規則破壞單元25。
在步驟S3中,編碼規則破壞單元25執行編碼的數據轉換處理,用於依據從轉換表生成單元24提供的轉換表,將從可變長度編碼單元23提供的編碼的數據轉換為嵌入編碼的數據,並將所得的嵌入編碼的數據提供給多路復用器26。
在步驟S4中,多路復用器26將從編碼規則破壞單元25提供的被考慮的幀的嵌入編碼的數據以及從可變長度編碼單元23提供的有關霍夫曼表的信息多路復用並輸出。該然後,處理進行至步驟S5。
在步驟S5中,確定是否在幀存儲器21中存儲有被考慮的幀的下一幀。如果在步驟S5中確定在幀存儲器21中存儲有被考慮的幀的下一幀,對於要被考慮的新一幀,處理返回到步驟S1,重複相同的處理過程。
如果在步驟S5中確定在幀存儲器21中沒有存儲下一幀,則退出嵌入編碼處理過程。
現在,將參考圖11中的流程圖,進一步描述被圖2中的轉換表生成單元24在圖10中所示的步驟S2中執行的轉換表生成處理。
在轉換表生成處理過程中,開始在步驟S11中,轉換表生成單元24考慮從可變長度編碼單元23所提供的霍夫曼表中的碼的特定碼長,識別具有被考慮的碼長的碼的數目。即,轉換表生成單元24識別具有與被考慮的碼長的相同碼長的碼的數目。
在步驟S12中,轉換表生成單元24基於在步驟S11中所識別的具有被考慮的碼長的碼的數目,計算可以嵌入在具有被考慮的碼長的碼中的附加信息的比特數。即,將具有被考慮的碼長的碼的數目表示為x,轉換表生成單元24通過計算y=int[log2(x!)],可以獲得可被嵌入的附加信息的比特數y。
然後,處理進行至步驟S13,轉換表生成單元24從附加信息存儲單元22讀取步驟S12中所計算的y比特數的附加信息。然後,處理進行至步驟S14。在步驟S14中,轉換表生成單元24基於在步驟S13中從附加信息存儲器22讀取的附加信息,生成對於具有被考慮的碼長的碼的轉換表。即,轉換表生成單元24基於y比特附加信息,修改分配給像素值的具有被考慮的碼長的x碼的分配模式,因此,生成對於具有被考慮的碼長的碼的轉換表,該轉換表中,修改前的碼與修改後的碼彼此相關。
然後,在步驟S15中,轉換表生成單元24確定是否還有附加信息存儲在附加信息存儲器22中,如果確定沒有信息,轉換表生成單元24向編碼規則破壞單元25(圖2)輸出至今所生成的轉換表。然後,退出該轉換表生成處理。
如果在步驟S15中確定還有附加信息存儲在附加信息存儲器22中,處理進行至步驟S16,轉換表生成單元24確定是否已經對霍夫曼表中的每個碼長的碼生成轉換表。如果確定生成還沒有完成,處理返回步驟S11。在這種情況下,在步驟S11中,沒有生成轉換表的碼長中的一個被選擇作為要被考慮的新的碼長,然後重複相同的處理。
如果在步驟S16中確定已經對霍夫曼表中的每個碼長的碼生成了轉換表,則退出該轉換表生成處理。
下面將參考圖12進一步描述被圖2所示的編碼規則破壞單元25在圖10的步驟S3中所執行的編碼的數據轉換處理。
如上所述,可變長度編碼單元23按照光柵掃描的順序考慮被考慮的幀內的每個像素,並可變長度編碼被考慮的像素的像素值,順序輸出所得的編碼的數據。將可變長度編碼單元23對於被考慮的像素輸出的編碼的數據稱為被考慮的編碼的數據,開始,在步驟S21中,編碼規則破壞單元25識別被考慮的編碼的數據的碼長。然後,處理進行至步驟S22。
在步驟S22中,編碼規則破壞單元25依據與被考慮的編碼的數據的碼長相關的轉換表,轉換步驟S21中識別的被考慮的編碼的數據,並向多路復用器26(圖2)輸出作為嵌入編碼的數據。
然後,處理進行至步驟S23,編碼規則破壞單元25選擇下一個編碼的數據作為要被考慮的新的編碼的數據。然後,處理進行至步驟S21,重複相同的處理。
如果在步驟S23中確定下一個編碼的數據不存在,則退出該編碼的數據轉換處理。
圖2中所示的嵌入壓縮編碼器11通過依據轉換錶轉換可變長度編碼單元23中的可變長度編碼所產生的編碼的數據,產生嵌入附加信息的嵌入編碼的數據。可替換地,例如,可變長度編碼單元23也可以生成其中像素值和碼的關聯已經被修改的霍夫曼表(下文中當用到時被指作修改的霍夫曼表),並使用修改的霍夫曼表同時執行可變長度編碼和嵌入附加信息。即,可變長度編碼單元23可以基於破壞的編碼規則執行可變長度編碼。
圖13示出了執行這樣的嵌入編碼處理的嵌入壓縮編碼器11的結構的舉例。圖中相應於圖2和圖3中所示的部分用相同的數字標記,以及它們的描述將在下文中省略。圖13中所示的嵌入壓縮編碼器11不包括編碼規則破壞單元25;相反,編碼規則破壞單元41被包括在可變長度編碼單元23中。除此之外,嵌入壓縮編碼器11的結構與圖2中所示的相同。
對於編碼規則破壞單元41,提供從霍夫曼表生成單元33輸出的霍夫曼表以及從轉換表生成單元24輸出的轉換表。
編碼規則破壞單元41將與霍夫曼表中的像素值相關的碼(編碼的數據)修改為與轉換表中的碼相關的嵌入編碼的數據,因此將從霍夫曼表生成單元33輸出的霍夫曼表修改為其中像素值與嵌入編碼的數據相關的修改的霍夫曼表。該修改的霍夫曼表被提供給編碼單元34,編碼單元34依據修改的霍夫曼錶轉換像素值。
因此,在圖13中,編碼單元34輸出嵌入編碼的數據。
圖14示出了在嵌入壓縮編碼器11如圖2或圖13所示的情況下,圖1中所示的解碼器12的結構的舉例。
多路分解器(DEMUX)51基於幀,將從圖2或圖13所示的嵌入壓縮編碼器11所提供的數據多路分解為嵌入編碼的數據和有關霍夫曼表的信息,並向可變長度解碼單元52和編碼規則恢復單元55提供每幀的嵌入編碼的數據,同時向可變長度解碼單元52、逆轉換表生成單元54以及可變長度解碼單元56提供有關霍夫曼表的信息。
可變長度解碼單元52順序考慮來自多路分解器51的嵌入編碼的數據和有關霍夫曼表的信息的每一幀,並基於組成有關被考慮的幀相關的霍夫曼表的信息的頻率表,以如在圖3所示的可變長度編碼單元23中的相同的方式,生成霍夫曼表,並將其提供給逆轉換表生成單元54。
從組成有關霍夫曼表的信息的頻率表所生成的霍夫曼表和在可變長度編碼單元23中用於可變長度編碼的霍夫曼表是相同的,並在下文中被指作真霍夫曼表。用於獲得真霍夫曼表的組成有關霍夫曼表的信息的頻率表將在下文中被指作真頻率表。
然後,可變長度解碼單元52依據真霍夫曼表,可變長度解碼被考慮的幀的嵌入編碼的數據,並將所得的解碼的像素值即嵌入解碼的像素值提供給霍夫曼表生成單元53。
霍夫曼表生成單元53生成用於可變長度編碼從可變長度解碼單元52提供的被考慮的幀的嵌入解碼的像素值的霍夫曼表,並向逆轉換表生成單元54提供生成霍夫曼表的處理過程中所生成的霍夫曼表和頻率表。
霍夫曼表生成單元53所生成的霍夫曼表被用於可變長度編碼嵌入解碼的像素值(通過依據真霍夫曼表可變長度解碼嵌入編碼的數據而獲得的),基本上並不能正確地解碼編碼的數據。因此,從嵌入解碼的像素值所獲得的霍夫曼表將在下文中相對於真霍夫曼表被指作假霍夫曼表。用於獲得假霍夫曼表的頻率表在下文中相對於真頻率表被指作假頻率表。
逆轉換表生成單元54基於從可變長度解碼單元52所提供的真霍夫曼表和組成從多路分解器51提供的有關霍夫曼表的信息的真頻率表以及從霍夫曼表生成單元53提供的假霍夫曼表和假頻率表,生成用於將嵌入編碼的數據轉換為原始編碼的數據的逆轉換表。即,逆轉換表生成單元54生成與圖2(或圖13)中所示的轉換表生成單元24所生成的轉換表相同的逆轉換表。該逆轉換表被提供給編碼規則恢復單元55。
編碼規則恢復單元55依據從逆轉換表生成單元54提供的逆轉換表,將從多路分解器51提供的嵌入編碼的數據恢復(解碼)為依據組成編碼規則的真霍夫曼表所編碼的編碼的數據。另外,編碼規則恢復單元55基於嵌入編碼的數據和恢復的編碼的數據之間的關聯即逆轉換表,解碼嵌入在嵌入編碼的數據中的附加信息。編碼規則恢復單元55向可變長度解碼單元56輸出恢復的編碼的數據並也輸出作為解碼的附加信息的已被解碼的附加信息。
可變長度解碼單元56從多路分解器51提供的有關霍夫曼表的信息生成真霍夫曼表,並基於真霍夫曼表可變長度解碼從編碼規則恢復單元55提供的編碼的數據,並輸出所得的解碼的像素值。
圖15示出了圖14中所示的可變長度解碼單元52的結構的舉例。
從多路分解器51輸出的嵌入編碼的數據被提供給解碼單元63,從多路分解器51輸出的組成有關霍夫曼表的信息的頻率表被提供給霍夫曼樹生成單元61。
霍夫曼樹生成單元61與圖3所示的霍夫曼樹生成單元32相似地,根據被考慮的幀有關的頻率表生成霍夫曼樹,並將其提供給霍夫曼表生成單元62。
霍夫曼表生成單元62與圖3所示的霍夫曼表生成單元33相似地,基於從霍夫曼樹生成單元61提供的霍夫曼樹,生成霍夫曼表,並將其提供給解碼單元63。
解碼單元63依據從霍夫曼表生成單元62提供的霍夫曼表,將提供給它的嵌入編碼的數據解碼為像素值(嵌入解碼的像素值),並輸出結果。
圖14中所示的可變長度解碼單元56與圖15中所示的可變長度解碼單元52具有相同的結構。
圖16示出了圖14中所示的霍夫曼表生成單元53的結構的舉例。
在霍夫曼表生成單元53中,從可變長度解碼單元52輸出的嵌入解碼的像素值被提供給頻率表生成單元71。頻率表生成單元71、霍夫曼樹生成單元72以及霍夫曼表生成單元73分別執行如圖3中所示的頻率表生成單元31、霍夫曼樹生成單元32以及霍夫曼表生成單元33相同的處理。
因此,頻率表生成單元71生成假頻率表,即用於被考慮的幀的嵌入解碼的像素值的頻率表(而不是用於原始像素值的頻率表),並將其提供給逆轉換表生成單元54(圖14)。霍夫曼表生成單元73生成假霍夫曼表,即用於要被考慮的幀的嵌入解碼的像素值轉換為具有與其發生頻率一致的碼長的碼(不是用於原始的像素值的霍夫曼表),並將其提供給逆轉換表生成單元54。
圖17示出了圖14中所示的逆轉換表生成單元54的結構的舉例。
如上所述,對於逆轉換表生成單元54,提供真霍夫曼表、真頻率表、假霍夫曼表、假頻率表。基於這些表,逆轉換表生成單元54依據真霍夫曼表識別嵌入編碼的數據和編碼的數據之間的關聯,並生成定義關聯的逆轉換表,如參考圖6至圖9所述的。
向碼關聯單元82提供真霍夫曼表和假霍夫曼表,同時向比較單元81提供真頻率表和假頻率表。
比較單元81比較真頻率表和假頻率表以檢測對於每個碼長在真頻率表和假頻率表中相同發生頻率的像素值。另外,比較單元81生成像素值關聯表,在該表中,在真頻率表和假頻率表中有相同發生頻率的像素值彼此相關,並將其提供給碼關聯單元82。
碼關聯單元82對於從比較單元81提供的像素值關聯表中彼此相關的像素值,搜索真霍夫曼表和假霍夫曼表,並且分別使與像素值關聯的各個碼彼此相關聯,從而生成逆轉換表,該逆轉換表被提供給編碼規則恢復單元55。
現在將參考圖18中的流程圖描述圖14中所示的解碼器12所執行的解碼處理過程。
多路分解器51將提供給它的數據多路多路分解為嵌入編碼的數據和有關霍夫曼表的信息,將對於每幀的嵌入編碼的數據提供給可變長度解碼單元52和編碼規則恢復單元55,同時將有關霍夫曼表的信息提供給可變長度解碼單元52、逆轉換表生成單元54以及可變長度解碼單元56。
在步驟S31中,可變長度解碼單元52順序考慮從多路分解器51輸出的嵌入編碼的數據的每一幀和有關霍夫曼表的信息,並可變長度解碼被考慮的幀的嵌入編碼的數據。
更具體地講,可變長度解碼單元52根據組成有關被考慮的幀的霍夫曼表的信息生成霍夫曼表(真霍夫曼表),並將其提供給逆轉換表生成單元54。另外,可變長度解碼單元52依據真霍夫曼表,可變長度解碼被考慮的幀的嵌入編碼的數據,並將所得的嵌入解碼的像素值提供給霍夫曼表生成單元53。
然後,處理進行至步驟S32,在步驟S32中,霍夫曼表生成單元53從可變長度解碼單元52提供的被考慮的幀的嵌入解碼的像素值生成頻率表(假頻率表),並從假頻率表生成假霍夫曼表。該假頻率表和假霍夫曼表被提供給逆轉換表生成單元54。
在步驟S33中,逆轉換表生成單元54基於真霍夫曼表、組成有關霍夫曼表的信息的真頻率表、假霍夫曼表和假頻率表,如上參考圖17所述的生成逆轉換表,並將其提供給編碼規則恢復單元55。
在步驟S34中,編碼規則恢復單元55通過參考從逆轉換表生成單元54提供的逆轉換表中的每個碼長的嵌入編碼的數據和編碼的數據之間的關聯,解碼嵌入在嵌入編碼的數據中的附加信息,並輸出所得的解碼的附加信息。
另外,在步驟S35中,編碼規則恢復單元55通過參考逆轉換表,將從多路分解器51提供的嵌入編碼的數據轉換為編碼的數據並將其提供給可變長度解碼單元56。
可變長度解碼單元56從多路分解器51提供的有關霍夫曼表的信息生成真霍夫曼表,並基於真霍夫曼表可變長度解碼從編碼規則恢復單元55提供的編碼的數據,並輸出所得的解碼的像素值。
然後,處理進行至步驟S37,在該步驟中,確定是否已經從多路分解器51輸出新一幀的嵌入編碼的數據和有關霍夫曼表的信息。如果確定它們已經隨下一個要被考慮的幀被輸出,處理返回步驟S31,重複相同的處理。
如果在步驟S37中確定沒有從多路分解器51輸出新一幀的嵌入編碼的數據和有關霍夫曼表的信息,則退出解碼程序。
如上所述,霍夫曼表本身可被用作有關霍夫曼表的信息而不是頻率表。在那種情況下,組成有關霍夫曼表的信息的霍夫曼表必須被這樣生成即,通過參考霍夫曼表,分配相同碼長的碼(編碼的數據)的像素值的發生頻率可被識別彼此是較高還是較低(依據能夠這樣的識別的規則)。
另外,儘管在上述舉例中基於幀生成霍夫曼表,可替換地,也可基於欄位或基於兩個或多個幀生成霍夫曼表。
另外,可以例如使用預定圖像數據預先生成霍夫曼表,於是嵌入壓縮編碼器11和解碼器12依據預先生成的霍夫曼表執行處理。在這種情況下,然而,如果從要被處理的圖像數據生成的霍夫曼表與從預定的圖像數據生成的霍夫曼表不一致,則解碼器12將不能將嵌入編碼的數據恢復為編碼的數據。因此,要被嵌入的附加信息必須被限於這樣的圖像數據,即從中可以獲得與從預定的圖像數據所生成的相同的霍夫曼表。
圖19示出了圖1中示出的嵌入壓縮編碼器11的結構的另一個舉例。
要被編碼的圖像數據被提供給編碼單元91。編碼單元91依據預定的編碼規則編碼該圖像數據,並向嵌入單元92輸出所得的編碼的數據。
附加信息被提供給嵌入單元92。嵌入單元92基於附加信息處理從編碼單元91提供的編碼的數據,以獲得依據破壞的編碼規則編碼的編碼的數據,從而將附加信息嵌入在編碼的數據中。
現在將參考圖20中的流程圖描述圖19中所示的嵌入壓縮編碼器11所執行的處理過程(嵌入編碼處理)。
要被編碼的圖像數據例如基於幀被提供給編碼單元91。編碼單元91順序考慮每一幀,並在步驟S41中,依據預定的編碼規則編碼被考慮的幀的圖像數據。編碼單元91然後向嵌入單元92輸出所得的編碼的數據。
在步驟S42中,嵌入單元92基於附加信息修改或破壞編碼單元91中的編碼規則,從而嵌入附加信息。即,嵌入單元92基於附加信息處理從編碼單元91提供的編碼的數據,以獲得依據破壞的編碼規則編碼的編碼的數據,從而將附加信息嵌入在編碼的數據中。另外,該嵌入單元輸出通過將附加信息嵌入在編碼的數據中所獲得的嵌入編碼的數據。然後,處理進行至步驟S43。
在步驟S43中,編碼單元91確定是否存在要被編碼的下一幀。如果確定作為要被考慮的新一幀的下一幀存在,處理返回步驟S41,重複相同的處理。
如果在步驟S43中確定不存在要被編碼的下一幀,則退出嵌入編碼處理過程。
圖21示出了圖19中所示的編碼單元91的結構的舉例。
圖21中所示的編碼單元91中,例如,如果組成圖像數據的像素值以RGB(紅、綠和藍)表示,每個像素值在RGB彩色空間被矢量量化,表示重心(centroid)矢量的碼(下文中當用到時被指作VQ碼)、相應於該碼的重心矢量所表示的像素值相對於原始像素值的誤差(下文中當用到時被指作VQ殘餘)、以及用於矢量量化的碼本被輸出作為編碼的數據。
更具體地講,要被編碼的圖像數據被提供給幀存儲器101,幀存儲器101例如基於幀順序存儲提供給它的圖像數據。
碼本生成單元102順序考慮存儲在幀存儲器101中的圖像數據的每一幀,並從組成被考慮的每一幀的每個像素的像素值,例如通過被稱為LGB算法生成要被用於彩色空間內的矢量量化的碼本。該碼本被提供給矢量量化單元103並被輸出作為編碼的數據(部分)。
矢量量化單元103從幀存儲器101讀取被考慮的幀,並順序考慮組成被考慮的幀的每個像素,例如以光柵掃描的順序。矢量量化單元103使用從碼本生成單元102提供的碼本,矢量量化被考慮的像素的像素值,並輸出所得的VQ碼和VQ殘餘作為編碼的數據(部分)。
如圖22中所示,在如上所構建的編碼單元91中,碼本生成單元102從組成被考慮的幀的每個像素的像素值,生成碼本,並將其提供給矢量量化單元103。矢量量化單元103使用從碼本生成單元102提供的碼本,矢量量化被考慮的像素的像素值。
即,矢量量化單元103從碼本檢測表示與被考慮的像素的像素值所表示的RGB空間上的點距離最短的點的重心矢量,並輸出表示該重心矢量的VQ碼。另外,矢量量化單元103計算VQ碼所表示的重心矢量和相應於被考慮的像素的像素值所表示的RGB空間上的點的矢量之間的差異,並輸出該結果差異作為VQ殘餘。
然後,編碼單元91輸出這樣獲得的對於被考慮的幀中的每個像素的碼本,VQ碼以及VQ殘餘作為與被考慮的幀有關的編碼的數據。
圖23示出了在編碼單元91如圖21所示構建的情況下,圖19中所示的嵌入單元92的結構的舉例。
從編碼單元91輸出的被考慮的幀的VQ碼、VQ殘餘以及碼本分別被提供並存儲在VQ碼存儲器111、VQ殘餘存儲器112以及碼本存儲器113中。
分別存儲在VQ碼存儲器111以及碼本存儲器113中的VQ碼和碼本被從中讀取並提供給壓縮單元115。
行循環單元114順序考慮被考慮的幀內的每一行,例如從上至下,並讀取存儲在VQ殘餘存儲器112中的被考慮的行的VQ殘餘。另外,將組成被考慮的行的像素的數目表示為x,行循環單元114接收int[log2x]表示的比特數的附加信息,以及如圖24所示,要被考慮的行的VQ殘餘向右循環相應於附加信息的比特數,從而將附加信息嵌入在被考慮的行中。即,對於被考慮的行上的像素,行循環主要改變了通過矢量量化所獲得的像素的VQ殘餘,即用於矢量量化的編碼規則被改變或破壞了。通過破壞該編碼規則,嵌入附加信息。
然後,行循環單元114向壓縮單元115提供嵌入附加信息的被考慮的行的VQ殘餘。
壓縮單元115基於空間關聯或熵的偏置將提供給它的VQ碼、VQ殘餘以及碼本壓縮,並向多路復用器116輸出壓縮的結果。多路復用器116將壓縮的VQ碼、VQ殘餘以及碼本多路復用在一起用於輸出。
現在將參考圖25的流程圖,描述在編碼單元91如圖21所示地構建以及嵌入單元92如圖23所示地構建的情況下,被圖19中所示的嵌入壓縮編碼器11所執行的處理過程(嵌入編碼程序)。
在編碼單元91中(圖21)考慮存儲在幀存儲器101中的預定的幀,在步驟S51中,被考慮的幀中的每個像素如上所述被矢量量化編碼。通過矢量量化被考慮的幀所獲得的組成編碼的數據的VQ碼、VQ殘餘以及碼本被提供給嵌入單元92。
在嵌入單元92中(圖23),從編碼單元91輸出的與被考慮的幀有關的VQ碼、VQ殘餘以及碼本分別被提供並存儲在VQ碼存儲器111、VQ殘餘存儲器112以及碼本存儲器113中。在步驟S52中,行循環單元114確定是否在VQ殘餘存儲器112中存儲其VQ殘餘的所有的被考慮的幀的行已經被處理。
如果在步驟S52中確定在VQ殘餘存儲器112中存儲其VQ殘餘的所有的被考慮的幀的行沒有全部被處理,則行循環單元114選擇沒有被處理的被考慮的幀最上面一行作為要被考慮的新的行。然後,處理進行至步驟S53。
在步驟S53中,行循環單元114要被考慮的行中的每個具有VQ殘餘作為其像素值的像素向右循環相應於附加信息的像素數,從而將附加信息嵌入在被考慮的行中,並向壓縮單元115提供該結果。然後,處理返回至步驟S52,重複相同的處理。
如果在步驟S52中確定在VQ殘餘存儲器112中存儲其VQ殘餘的所有的被考慮的幀的行已經全部被處理,則處理進行至步驟S54,在步驟S54中,壓縮單元115讀取存儲在VQ碼存儲器111中的被考慮幀的VQ碼,也讀取存儲在碼本存儲器113中的碼本。在步驟S54中,壓縮單元115壓縮VQ碼和碼本以及從行循環單元提供的嵌入附加信息的VQ殘餘,並將結果提供給多路復用器116。
在步驟S55中,多路復用器116將壓縮單元115提供的壓縮的VQ碼、VQ殘餘以及碼本多路復用在一起用於輸出。然後,處理進行至步驟S56。
在步驟S56中,確定是否在編碼單元91中存在要被編碼的下一幀。如果確定下一幀存在,用要被編碼的下一幀作為要被考慮的新一幀,處理返回步驟S51,重複相同的處理。
如果在步驟S56中確定不存在要被編碼的下一幀,則退出嵌入編碼處理。
圖26示出了在嵌入壓縮編碼器11如圖19所示構建時,圖1的解碼器12的結構的舉例。
從圖19所示的嵌入單元92輸出的嵌入編碼的數據被提供給編碼規則恢復單元121。
該編碼規則恢復單元121將嵌入編碼的數據恢復(解碼)為依據圖19所示的編碼單元91中的編碼規則編碼的編碼的數據,從而解碼嵌入在嵌入編碼的數據中的附加信息。
即,該編碼規則恢復單元121基於從參數控制器124提供的參數,處理嵌入編碼的數據,從而獲得編碼的數據的候選(下文中當用到時被指作暫定的編碼的數據)。另外,該編碼規則恢復單元121基於用於將嵌入編碼的數據恢復為暫定的編碼的數據的操作,獲得嵌入在嵌入編碼的數據中的附加信息的候選(下文中被指作暫定的解碼的附加信息)。該暫定的編碼的數據被提供給解碼單元122和確定單元123,同時暫定的解碼的附加信息被提供給確定單元123。
解碼單元122基於圖19所示的編碼單元91中的編碼規則對從編碼規則恢復單元121提供的暫定的編碼的數據執行解碼,從而獲得原始像素值的候選(在下文中當用到時被指作暫定的解碼的像素值)。該暫定的解碼的像素值被提供給確定單元123。
確定單元123控制參數控制器以向編碼規則恢復單元121提供一個或多個參數值,並從分別根據一個或多個參數值所獲得的暫定的解碼的像素值確定一個正確的暫定的解碼的像素值(與原始的像素值一致)。另外,確定單元123從一個或多個從編碼規則恢復單元121提供的、分別與一個或多個暫定的解碼的像素值有關的暫定的解碼的附加信息中,選擇與正確的解碼的像素值有關的暫定的解碼的附加信息作為正確的解碼的附加信息,並分別輸出正確的解碼的像素值和暫定的解碼的附加信息作為像素值和附加信息的解碼的最終結果(解碼的像素值和解碼的附加信息)。
參數控制器124在確定單元123的控制下,向編碼規則恢復單元121提供用於處理嵌入編碼的數據的參數。
現在將參考圖27中的流程圖,描述圖26中所示的解碼器12所執行的處理過程。
開始,在步驟S61中,確定單元123控制參數控制器124以設置提供給編碼規則恢復單元121的參數。因此,參數控制器124在確定單元123的控制下,向編碼規則恢復單元121提供參數。
在步驟S62中,編碼規則恢復單元121基於從參數控制器124提供的參數,處理嵌入編碼的數據,將其轉換為暫定的編碼的數據,並向解碼單元122和確定單元123提供該暫定的編碼的數據。另外,編碼規則恢復單元121基於用於將嵌入編碼的數據恢復為暫定的編碼的數據的操作,即從參數控制器124提供的參數,解碼嵌入在嵌入編碼的數據中的附加信息,並將結果提供給確定單元123作為暫定的解碼的附加信息。
在步驟S63中,解碼單元122基於圖19所示的編碼單元91中的編碼規則解碼從編碼規則恢復單元121提供的暫定的編碼的數據,並向確定單元123提供所得的像素值作為暫定的解碼的像素值。
在步驟S64中,確定單元123確定從解碼單元122提供的暫定的解碼的像素值是否是正確的解碼結果(與原始的像素值一致)。如果確定不一致,處理返回至步驟S61。在這種情況下,在步驟S61中,確定單元123設置一個新的值作為從參數控制器124輸出的參數,並重複相同的處理。
如果在步驟S64中確定暫定的解碼的像素值是一個正確的解碼結果,則處理進行至步驟S65,在步驟S65中,確定單元123輸出該暫定的解碼的像素值作為組成原始的像素值的解碼所得的解碼的像素值。另外,確定單元123輸出與解碼的像素值有關的暫定的解碼的附加信息,作為組成嵌入的附加信息的解碼所得的解碼的附加信息。然後,處理進行至步驟S66。
在步驟S66中,確定是否還有要被解碼的嵌入編碼的數據。如果確定有,處理返回步驟S61,對於要被解碼的嵌入編碼的數據重複相同的處理。
如果在步驟S66中確定不存在要被解碼的嵌入編碼的數據,則退出解碼處理。
圖28示出了在圖19所示的嵌入單元92被如圖23所示的構建時,圖26中所示的編碼規則恢復單元121的結構的舉例。
從圖23所示的多路復用器116輸出的數據被提供給多路分解器131。該多路分解器131將提供給它的數據多路多路分解為壓縮的VQ碼、VQ殘餘、以及碼本,並將它們提供給擴展單元132。該擴展單元132擴展從多路分解器131提供的壓縮的VQ碼、VQ殘餘、以及碼本,並分別將擴展的VQ碼、VQ殘餘、以及碼本提供給VQ碼存儲器133、VQ殘餘存儲器134以及碼本存儲器135。
VQ碼存儲器133、VQ殘餘存儲器134以及碼本存儲器135基於幀分別存儲來自擴展單元132的VQ碼、VQ殘餘、以及碼本。
行循環單元136順序考慮存儲在VQ殘餘存儲器134中的幀的每一行,例如從上至下,並讀取存儲在VQ殘餘存儲器134中被考慮的行的VQ殘餘。另外,將組成被考慮的行的像素數表示為x,行循環單元136接收一個範圍從0至x的整數,作為來自參數控制器124(圖26)的參數,並要被考慮的行的VQ殘餘向左循環相應於參數的像素數。行循環單元136在循環後輸出每一行的VQ殘餘,與存儲在VQ存儲器133和存儲在碼本存儲器135中的碼本一起,作為暫定的編碼的數據。
另外,行循環單元136將從參數控制器124提供的參數值輸出作為暫定的解碼的附加信息。
圖29示出了當圖19所示的編碼單元91如圖21構建時,圖26所示的解碼單元122的結構的舉例。
解碼單元122通過基於組成從編碼規則恢復單元121提供的編碼的數據的幀的VQ碼、VQ殘餘、以及碼本的矢量量化,解碼的像素值。
即,向逆矢量量化單元141提供VQ碼和碼本。逆矢量量化單元141從碼本檢測相應於VQ碼的重心矢量,並向加法單元142提供該重心矢量。除了從逆矢量量化單元141提供的重心矢量,組成VQ殘餘的差異矢量也提供給加法單元142。加法單元142將重心矢量和差異矢量相加。加法單元142輸出通過加法所獲得的具有如R、G和B值的矢量成分的像素值作為暫定的解碼的像素值。
圖30示出了當編碼規則恢復單元121和解碼單元122分別如圖28和圖29構建時,圖26所示的確定單元123的結構的舉例。
從編碼規則恢復單元121輸出的暫定的解碼的附加信息和從解碼單元122輸出的暫定的解碼的像素值被提供給存儲器151。存儲器151臨時存儲暫定的解碼的附加信息和暫定的解碼的像素值,並在真/假確定單元154的控制下讀取暫定的解碼的附加信息和暫定的解碼的像素值,並分別將它們輸出作為解碼的附加信息和解碼的像素值。
包括在從編碼規則恢復單元121輸出的暫定的編碼的數據中的碼本以及從解碼單元122輸出的暫定的解碼的像素值被提供給編碼單元152。編碼單元152與圖19所示的編碼單元91相似地編碼暫定的解碼的像素值。即,編碼單元152使用從編碼規則恢復單元121提供的碼本,矢量量化暫定的解碼的像素值,並向比較單元153提供所得的VQ碼和VQ殘餘。通過矢量量化暫定的解碼的像素值所獲得的VQ碼和VQ殘餘在下文中當用到時要被分別指作暫定的VQ碼和暫定的VQ殘餘。
除了從編碼單元152輸出的暫定的VQ碼和暫定的VQ殘餘之外,還向比較單元153提供包括在從編碼規則恢復單元121輸出的暫定的編碼的數據中的VQ碼和VQ殘餘。比較單元153將暫定的VQ碼和暫定的編碼的數據中的VQ碼進行比較,並也將暫定的VQ殘餘和暫定的編碼的數據中的VQ殘餘進行比較,並將比較的結果提供給真/假確定單元154。
真/假確定單元154控制參數控制器124以向編碼規則恢復單元121提供用於行循環的比特數作為參數。另外,真/假確定單元154基於從比較單元153提供的暫定的VQ碼和暫定的編碼的數據中的VQ碼的比較結果,以及暫定的VQ殘餘和暫定的編碼的數據中的VQ殘餘的比較結果,確定暫定的解碼的像素值是否是一個正確的解碼值,並基於確定的結果控制從存儲器151的暫定的解碼的像素值和暫定的解碼的附加信息的讀取。
現在將參考圖31描述圖30所示的真/假確定單元154的如是否暫定的解碼的像素值是一個正確的解碼所得的確定原理。
由於編碼單元91(圖19)執行RGB空間的矢量量化,用於矢量量化的重心矢量由三個成分組成,命名為R、B和G成分。將由R、B和G成分組成的重心矢量表示為(R,G,B),並假定碼本中的重心矢量的每個R、B和G成分為簡化描述被表示為10的倍數,例如,分別帶有102、103和99的R、G和B成分的像素值(下文中當用到時被表示為像素值(102,103,99))具有對於重心矢量(100,100,100)的最短的距離,因此被矢量量化為與重心矢量(100,100,100)相關的VQ碼。例如,讓與重心矢量(100,100,100)相關的VQ碼為0。
在這種情況下,從像素值(102,103,99)減去重心矢量(100,100,100)產生VQ殘餘(2,3,-1)。因此,像素值(102,103,99)被編碼為VQ碼0和VQ殘餘(2,3,-1)。
通過逆矢量量化組成編碼單元91所獲得的編碼的數據的VQ碼0和VQ殘餘(2,3,-1),如圖31(A)所示,與VQ碼0有關的重心矢量(100,100,100)和VQ殘餘(2,3,-1)被相加以產生像素值(102,103,99),並從而正確地解碼以獲得原始的像素值。
另外,通過再次矢量量化解碼的像素值(102,103,99),如圖31(A)所示,再次獲得VQ碼0和VQ殘餘(2,3,-1)。
如上所述,通過解碼組成編碼的數據的VQ碼和VQ殘餘以獲得正確的解碼結果,以及再編碼(這裡是矢量量化)和解碼該結果,編碼獲得的VQ碼和VQ殘餘分別與組成編碼的數據的VQ碼和VQ殘餘一致。
組成編碼單元91中所獲得的編碼的數據的VQ碼0和VQ殘餘(2,3,-1),當通過對VQ殘餘(2,3,-1)以上述描述的方式應用行循環而嵌入附加信息時,對於不同像素所獲得的VQ殘餘值被分配作為VQ碼0和與VQ殘餘(2,3,-1)有關的像素之間的VQ殘餘。如果例如不同像素的VQ殘餘值如圖31(B)所示為(10,11,12),通過將重心矢量(100,100,100)與VQ殘餘(10,11,12)相加,VQ碼0和VQ殘餘(10,11,12)被解碼為像素值(110,111,112),沒有正確地解碼為原始像素值(102,103,99)。
因此,儘管非正確解碼的像素值(110,111,112)被再次矢量量化,如圖31(B)所示,結果VQ碼和VQ殘餘分別與組成編碼的數據的VQ碼和VQ殘餘不一致。
更具體地講,在這種情況下,由於假定碼本中的重心矢量的每個R、B和G成分被表示為10的倍數,對於像素值(110,111,112)具有最短的距離的重心矢量是(110,110,110)。因此,例如假定表示重心矢量是(110,110,110)的VQ碼是1,像素值(110,111,112)被矢量量化為VQ碼1和VQ殘餘(0,1,2)(=(110,111,112)-(110,110,110))。在這種情況下,VQ碼和VQ殘餘均與組成原始編碼的數據的VQ碼和VQ殘餘(10,11,12)不一致。
如上所述,如果依據圖28所示的行循環單元136中的參數而用於循環的像素數與附加信息不一致,即,如果暫定的編碼的數據與嵌入附加信息之前的編碼的數據不一致,通過再編碼從暫定的編碼的數據獲得的暫定的解碼的像素值而獲得的VQ碼和VQ殘餘分別與組成暫定的編碼的數據的VQ碼和VQ殘餘不一致,因此通過解碼暫定的編碼的數據而獲得的暫定的解碼的像素值可以被確定為非正確解碼的結果。
另一方面,如果依據圖28所示的行循環單元136中的參數而用於循環的像素數與附加信息相一致,即,如果暫定的編碼的數據與嵌入附加信息之前的編碼的數據相一致,通過再編碼從暫定的編碼的數據獲得的暫定的解碼的像素值而獲得的VQ碼和VQ殘餘分別與組成暫定的編碼的數據的VQ碼和VQ殘餘相一致,因此通過解碼暫定的編碼的數據而獲得的暫定的解碼的像素值可以被確定為正確解碼的結果。
現在將參考圖32描述在編碼規則恢復單元121、解碼單元122以及確定單元123分別如圖28至圖30所示構建的情況下,圖26中所示的解碼器12所執行的解碼處理。
在解碼處理中,解碼恢復單元規則121的多路分解器131多路分解提供給它的數據為壓縮的VQ碼、VQ殘餘以及碼本,並將它們提供給擴展單元132。在步驟S71中,該擴展單元132擴展從多路分解器131提供的壓縮的VQ碼、VQ殘餘、以及碼本,並分別將擴展的VQ碼、VQ殘餘、以及碼本提供給VQ碼存儲器133、VQ殘餘存儲器134以及碼本存儲器135。
然後,在步驟S72中,確定單元123(圖30)的真/假確定單元154控制參數控制器124(圖26)以設置一個特定的參數值,並將此參數值提供給編碼規則恢復單元121。
每次在步驟S72中執行對於每一幀的每一行的處理時,真/假確定單元154例如順序設置範圍為0至一行中的像素數的整數作為參數值。
當編碼規則恢復單元121收到來自參數控制器124的參數時,在步驟S73中,行循環單元136要被考慮的行的VQ殘餘向左循環相應於參數的像素數。並將左循環的VQ殘餘,與存儲在VQ存儲器133中的被考慮的行的VQ碼以及存儲在碼本存儲器135中的碼本一起,作為暫定的編碼的數據提供給解碼單元122。另外,行循環單元136向確定單元123提供用於被考慮的行的循環的像素數作為暫定的解碼的附加信息。
在步驟S74中,解碼單元122基於組成編碼規則恢復單元121所提供的暫定的編碼的數據的VQ碼、VQ殘餘、以及碼本,執行逆矢量量化,因此解碼被考慮的行的像素值,並向確定單元123提供所得的暫定的解碼的像素值。
在確定單元123(圖30)中,從編碼規則恢復單元121輸出的暫定的解碼的附加信息以及從編碼規則恢復單元121輸出的暫定的解碼的像素值被存儲於存儲器151中。另外,在步驟S75中,在確定單元123中,編碼單元152矢量量化從解碼單元122提供的暫定的解碼的像素值,並向比較單元153提供所得的暫定VQ碼和暫定VQ殘餘。
比較單元153對於被考慮的行的每個像素,將從編碼單元152提供的暫定的VQ碼和組成暫定的編碼的數據的VQ碼進行比較,並也將從編碼單元152提供的暫定的VQ殘餘和組成暫定的編碼的數據的VQ殘餘進行比較,並將比較的結果提供給真/假確定單元154。在步驟S76中,真/假確定單元154對於被考慮的行的每個像素,確定暫定的VQ碼是否與組成暫定的編碼的數據的VQ碼一致,以及暫定的VQ殘餘是否與組成暫定的編碼的數據的VQ殘餘一致。如果確定其中一個或兩者均對於一個或多個像素不一致,即,如果在前一步S72設置的參數值與附加信息不一致,處理返還至步驟S72,設置一個新的參數,重複相同的處理。
如果在步驟S76中確定對於被考慮的行的每個像素,暫定的VQ碼與組成暫定的編碼的數據的VQ碼一致,以及暫定的VQ殘餘與組成暫定的編碼的數據的VQ殘餘一致,即。如果在前一步S72設置的參數值與附加信息一致,以及如果編碼的數據已被恢復,原始附加信息已被正確解碼作為暫定的解碼的附加信息,處理進行至步驟S77,在步驟S77中,確定單元154控制存儲器51分別輸出其存儲的對於被考慮的行的每個像素的暫定的解碼的像素值和暫定的解碼的附加信息,作為正確解碼的像素值和正確解碼的附加信息。然後,處理進行至步驟S78。
在步驟S78中,確定是否存在下一個要被解碼的行。如果確定存在下一行,處理返回步驟S72,用要被處理的下一行作為要被考慮的新一行重複相同的處理。
如果在步驟S78中確定不存在要被解碼的下一行,則退出解碼處理。
圖32所示的解碼處理對於每一幀執行。
如上所述,用於獲得編碼的數據的編碼規則基於附加信息被破壞(修改),以及依據破壞的編碼規則編碼的嵌入編碼的數據被以一種預定的方式處理,從而獲得暫定的編碼的數據。該暫定的編碼的數據被解碼,確定是否編碼解碼的結果產生與暫定的編碼的數據相同的數據,於是在編碼規則破壞之前的編碼的數據被恢復(解碼)。因此,通過利用編碼規則的破壞和恢復,可以嵌入並解碼的附加信息而不增加編碼的數據的總量。
本申請已經在美國提出,專利申請號為第09/636138號,一種基於例如圖像的相關性,用於在圖像中嵌入附加信息的方法。依據提出的方法,例如組成幀的行基於附加信息被交換,基於這樣的事實即原始幀中的相鄰的行之間彼此高度相關,已經基於附加信息被交換的幀的行被恢復至其原始的位置。根據情況,基於相關性的方法在嵌入附加信息的過程中並不總是成功的。即,簡單地,關於嵌入附加信息的幀的行,基於相關性的方法將行的相鄰的行與被考慮的行高度相關的行交換,直到所有的行被恢復為原始位置。然而,在一些圖像中,與被考慮的行最相關的行並不一定是被考慮的行的相鄰行。當通過嵌入附加信息而交換這樣的行時,行不能基於相關性被恢復至其原始位置,抑制了附加信息被嵌入。
為此,上述方法並不能解決這樣的解碼失敗。
在圖26所示的實施例中,解碼器12僅包括編碼規則恢復單元121和解碼單元122對的單個行,通過順序改變從參數控制器124輸出的參數而順序獲得與各個參數值有關的暫定的編碼的數據;然而,例如如圖33所示,解碼器12可以包括編碼規則恢復單元1211至121M和解碼單元1221至122M的M行,分別對每個編碼規則恢復單元121m(m=1,2,…,M)提供不同的參數值,於是可以同時獲得分別與參數值有關的暫定的編碼的數據。
另外,儘管在上述舉例中圖19所示的編碼單元91執行矢量量化,編碼單元91可以執行例如預測編碼而不是矢量量化。在這種情況下,嵌入單元92被能夠通過處理與基於附加信息的預測編碼相關的預測殘餘而嵌入編碼的數據。
另外,儘管在上述舉例中,通過基於附加信息循環每行的VQ殘餘而嵌入附加信息,附加信息也可以通過例如循環表示VQ殘餘的值的比特序列而被嵌入。
另外,儘管在上述舉例中,碼本被生成並包括在基於幀的編碼的數據中,碼本可以預先生成並存儲在每個嵌入壓縮編碼器11和解碼器12中。另外,碼本可以基於多個幀,或基於幀的預定欄位生成。
上述處理過程可以以硬體或軟體方式實現。當處理過程以軟體方式實現時,在例如通用計算機中安裝組成軟體的程序。
圖34示出了安裝用於執行上述處理過程的程序的計算機結構的舉例。
程序可被預先存儲在計算機內的記錄介質中,如硬碟205或ROM203。
可替換地,程序可以被臨時或永久地存儲(記錄)在如軟盤、CD-ROM(光碟只讀存儲器)、MO(磁光)盤、DVD(數字多用光碟)、磁碟、或半導體存儲器的可拆卸存儲介質211中。
如果沒有如上所述將程序安裝在計算機的可拆卸存儲介質211中,該程序可以通過用於數字衛星廣播的人造衛星從下載站通過無線方式傳送至計算機,或通過LAN(區域網)或網際網路通過有線連結傳送至計算機,以使計算機接收通過通信單元208這樣傳送的程序,並然後將此程序安裝在內部硬碟205中。
計算機包括CPU(中央處理單元)202。輸入/輸出接口210通過總線201連接到CPU202。通過輸入/輸出接口210響應用戶在輸入單元207上的操作的命令輸入包括鍵盤、滑鼠、麥克風等,CPU202依據命令,執行存儲在ROM(只讀存儲器)203中的程序。可替換地,CPU202將存儲在硬碟205中的程序、通過衛星或網絡傳送通過通信單元208接收並存儲在硬碟205中的程序、或從安裝在驅動209中的可拆卸記錄介質211讀取並安裝在硬碟205中的程序裝載到RAM(隨機訪問存儲器)204中用於執行。CPU202依據上述流程圖執行這樣的處理,或被上述方框圖所示的結構執行處理。CPU202如要求地,通過如輸入/輸出接口210,向包括LCD(液晶顯示器)、揚聲器等的輸出單元206輸出處理的結果,通過通信單元208將其發送,將其記錄在硬碟205上等等。
在本說明書中,計算機上用於執行各種處理的組成程序的處理步驟不一定以流程圖所示的順序被順序執行,可以以並行或單獨執行(如並行處理或基於對象處理)。
該程序可以通過單個計算機或使用多個計算機的分布式處理執行。另外,該程序可以被傳送或在遠程計算機上執行,儘管在實施例中圖像數據被編碼,要被編碼的數據並不限於圖像數據,可以使用如音頻數據和電腦程式的各種數據。
工業應用性依據本發明的第一數據處理裝置、第一數據處理方法以及第一存儲介質,第一數據被編碼以輸出編碼的數據。然後,基於第二數據修改編碼的數據的一部分,以便將第二數據嵌入編碼的數據中。
依據本發明的第二數據處理裝置、第二數據處理方法以及第二存儲介質,生成用於編碼第一數據的編碼表,以及,基於第二數據修改編碼表生成部件所生成的編碼表以生成修改的編碼表。然後,基於修改的編碼表編碼第一數據以生成嵌入第二數據的嵌入編碼的數據。
依據本發明的第五數據處理裝置、第五數據處理方法以及第五存儲介質,依據編碼規則編碼第一數據以輸出編碼的數據。然後,基於第二數據修改編碼規則,以及,依據被修改了的編碼規則編碼第一數據以生成嵌入第二數據的嵌入編碼的數據。
因此,可以嵌入第二數據而不增加數據總量。
依據本發明的第三數據處理裝置、第三數據處理方法以及第三存儲介質,基於編碼表暫定地解碼通過將第二數據嵌入第一數據中所編碼的嵌入編碼的數據,以輸出暫定的解碼的數據。另外,基於暫定的解碼的數據生成暫定的編碼表,以及基於編碼表和暫定的編碼表解碼嵌入編碼的數據以獲得第一解碼的數據。比較編碼表和暫定的編碼表以獲得第二解碼的數據。
依據本發明的第四數據處理裝置、第四數據處理方法以及第四存儲介質,依據輸入參數修改通過嵌入第二數據在第一數據中所編碼的嵌入編碼的數據的一部分,以及,基於編碼表將其暫定的解碼以生成暫定的解碼的數據。另外,將暫定的解碼的數據再編碼以輸出再編碼的數據。通過比較嵌入編碼的數據和再編碼的數據來確定參數,輸出基於編碼表暫定解碼已經基於該參數被部分修改過的嵌入編碼的數據所獲得的暫定的解碼的數據,作為第一解碼的數據,並且獲得相應於該參數的第二解碼的數據。
依據本發明的第六數據處理裝置、數據處理方法以及存儲介質,解碼通過將第二數據嵌入在第一數據中所獲得的嵌入編碼的數據,以獲得依據熵編碼規則編碼的編碼的數據並獲得第二數據。另外,解碼該編碼的數據以獲得第一數據。
因此,可以正確地解碼第一和第二數據。
依據本發明的數據處理系統,在編碼裝置中,依據編碼規則編碼第一數據以輸出編碼的數據。然後,基於第二數據修改編碼規則,以及依據被修改了的編碼規則編碼第一數據以生成嵌入第二數據的嵌入編碼的數據。在解碼裝置中,解碼嵌入編碼的數據以獲得依據編碼規則編碼的編碼的數據並獲得第二數據。然後,解碼該編碼的數據以獲得第一數據。因此,可以嵌入第二數據而不增加通過編碼第一數據而獲得的編碼的數據的總量。另外,嵌入第二數據的數據可以被正確地解碼以獲得第一和第二數據。
權利要求
1.一種數據處理裝置,包括編碼部件,用於編碼第一數據以輸出編碼的數據;以及嵌入部件,用於通過基於第二數據修改編碼的數據的一部分,而將第二數據嵌入從所述編碼部件輸出的編碼的數據中。
2.如權利要求1所述的數據處理裝置,其中所述編碼部件包括編碼表生成部件,用於統計地分析包括在第一數據中的數據值以生成用於將所述數據值編碼為編碼的數據的編碼表;以及編碼的數據輸出部件,用於通過基於所述編碼表生成部件所生成的編碼表編碼第一數據,產生並輸出編碼的數據。
3,如權利要求2所述的數據處理裝置,其中所述嵌入部件包括轉換表生成部件,用於基於第二數據,生成用於轉換所述編碼表生成部件所生成的編碼表中的編碼的數據的轉換表;以及嵌入編碼的數據生成部件,用於基於所述轉換表生成部件所生成的轉換表,轉換從所述編碼的數據輸出部件輸出的編碼的數據,以產生嵌入第二數據的嵌入編碼的數據。
4.如權利要求3所述的數據處理裝置,其中所述編碼表生成部件包括頻率表生成部件,用於生成並輸出表示包括在第一數據中的每個數據值的頻率的頻率表;霍夫曼樹生成部件,用於基於從所述頻率表生成部件輸出的頻率表,生成並輸出霍夫曼樹;以及霍夫曼表生成部件,用於基於所述霍夫曼樹生成部件所生成的霍夫曼樹,生成關聯每個數據值和編碼的數據的霍夫曼表;並且,所述編碼的數據輸出部件通過基於所述霍夫曼表生成部件所生成的霍夫曼表編碼第一數據,產生並輸出編碼的數據。
5.如權利要求4所述的數據處理裝置,其中所述轉換表生成部件包括模式數目檢測部件,用於檢測所述霍夫曼表生成部件所生成的霍夫曼表中每個碼長的編碼的數據的模式數目;以及信息總量檢測部件,用於基於所述模式數目檢測部件所檢測的模式數目,檢測可以嵌入霍夫曼表中每個碼長的編碼的數據中的信息總量;並且,所述轉換表生成部件生成並輸出轉換表,在轉換表中,已經基於與信息總量檢測部件所檢測的信息總量一致的第二數據的一部分而被修改的霍夫曼表中的每個碼長的編碼的數據,與修改之前的每個碼長的編碼的數據互相關聯。
6.如權利要求5所述的數據處理裝置,其中,所述嵌入編碼的數據生成部件包括碼長檢測部件,用於檢測從所述編碼的數據輸出部件輸出的編碼的數據中,被考慮的編碼的數據的碼長;並且,所述嵌入編碼的數據生成部件,基於與所述碼長檢測部件所檢測的碼長相關的轉換表,將被考慮的編碼的數據轉換為嵌入編碼的數據用於輸出。
7.如權利要求2所述的數據處理裝置,其中,所述編碼的數據輸出部件包括量化部件,用於輸出通過基於編碼表量化包括在第一數據中的數據值而產生的量化碼,並且,量化誤差表示量化碼和數據值之間的誤差。
8.如權利要求7所述的數據處理裝置,其中,所述嵌入部件通過基於第二數據修改量化誤差的一部分,而將第二數據嵌入從所述量化部件輸出的編碼的數據。
9.如權利要求8所述的數據處理裝置,其中,所述編碼表生成部件包括碼本生成部件,用於生成並輸出包括表示包括在第一數據中的數據值的代表性矢量的矢量量化碼的碼本;所述量化部件包括矢量量化部件,用於基於所述碼本生成部件所生成的碼本,矢量量化包括在第一數據中的每個數據值,以輸出矢量量化碼,以及用於檢測並輸出表示數據值和矢量量化碼所表示的代表性矢量之間的差異的矢量量化誤差;並且,所述嵌入部件通過基於第二數據修改矢量量化誤差的一部分,將第二數據嵌入從所述矢量量化部件輸出的編碼的數據中。
10.如權利要求8所述的數據處理裝置,其中,所述嵌入部件通過基於第二數據循環矢量量化誤差的一部分,將第二數據嵌入從所述矢量量化部件輸出的編碼的數據中。
11.一種數據處理裝置,包括編碼表生成部件,用於生成用於編碼第一數據的編碼表;修改的編碼表生成部件,用於基於第二數據修改由所述編碼表生成部件所生成的編碼表,以生成修改的編碼表;以及嵌入編碼的數據生成部件,用於基於修改的編碼表編碼第一數據,以生成嵌入第二數據的嵌入編碼的數據。
12.如權利要求11所述的數據處理裝置,其中,所述編碼表生成部件,統計地分析包括在第一數據中的數據值,以生成用於將所述數據值編碼為編碼的數據的編碼表。
13.如權利要求12所述的數據處理裝置,其中所述修改的編碼表生成部件包括轉換表生成部件,用於基於第二數據,生成用於轉換所述編碼表生成部件所生成的編碼表中的編碼的數據的轉換表,並且,所述修改的編碼表生成部件通過基於所述轉換表生成部件所生成的轉換錶轉換編碼表的一部分而生成修改的編碼表。
14.如權利要求13所述的數據處理裝置,其中,所述編碼表生成部件包括頻率表生成部件,用於生成並輸出表示包括在第一數據中的每個數據值的頻率的頻率表;霍夫曼樹生成部件,用於基於從所述頻率表生成部件輸出的頻率表,生成並輸出霍夫曼樹;以及霍夫曼表生成部件,用於基於所述霍夫曼樹生成部件所生成的霍夫曼樹,生成關聯每個數據值和編碼的數據的霍夫曼表;並且,所述修改的編碼表生成部件通過轉換所述霍夫曼表生成部件所生成的霍夫曼表的一部分,而生成修改的霍夫曼表。
15.如權利要求14所述的數據處理裝置,其中,所述轉換表生成部件包括模式數目檢測部件,用於檢測所述霍夫曼表生成部件所生成的霍夫曼表中每個碼長的編碼的數據的模式數目;以及信息總量檢測部件,用於基於所述模式數目檢測部件所檢測的模式數目,檢測可以嵌入霍夫曼表中碼長的編碼的數據中的信息總量;並且,所述轉換表生成部件生成並輸出轉換表,在轉換表中,已經基於與信息總量檢測部件所檢測的信息總量一致的第二數據的一部分而被修改的霍夫曼表中的每個碼長的編碼的數據,與修改之前的每個碼長的編碼的數據互相關聯。
16.如權利要求15所述的數據處理裝置,其中,所述嵌入編碼的數據生成部件,基於所述修改的編碼表生成部件所生成的修改的霍夫曼表,將第一數據轉換為嵌入編碼的數據用於輸出。
17.一種數據處理裝置,包括暫定的解碼部件,用於基於編碼表暫定地解碼通過將第二數據嵌入第一數據中所編碼的嵌入編碼的數據,以輸出暫定的解碼的數據;暫定的編碼表生成部件,用於基於暫定的解碼的數據生成暫定的編碼表;第一解碼的數據獲得部件,用於基於編碼表和暫定的編碼表解碼嵌入編碼的數據以獲得第一解碼的數據;以及第二解碼的數據獲得部件,用於通過比較編碼表和暫定的編碼表獲得第二解碼的數據。
18.如權利要求17所述的數據處理裝置,其中,所述暫定的解碼部件包括霍夫曼樹生成部件,用於基於與嵌入編碼的數據一起輸入的頻率表,生成霍夫曼樹;以及霍夫曼表生成部件,用於基於所述霍夫曼樹生成部件所生成的霍夫曼樹,生成關聯第一數據中的數據值和編碼的數據的霍夫曼表;並且,所述暫定的解碼部件基於霍夫曼表,解碼嵌入編碼的數據以輸出嵌入解碼的數據。
19.如權利要求18所述的數據處理裝置,其中,所述暫定的編碼表生成部件包括另一頻率表生成部件,用於基於嵌入解碼的數據,生成表示嵌入解碼的數據中每個數據值的發生頻率的頻率表;另一霍夫曼樹生成部件,用於基於所述另一頻率表生成部件所生成的另一頻率表,生成另一霍夫曼樹;以及另一霍夫曼表生成部件,用於基於所述另一霍夫曼樹生成部件所生成的另一霍夫曼樹,生成關聯第一數據中的數據值和嵌入編碼的數據的霍夫曼表。
20.如權利要求19所述的數據處理裝置,還包括比較部件,用於比較頻率表和另一頻率表中的頻率,以生成彼此關聯的相同數據值的數據值關聯表;以及轉換表生成部件,用於基於霍夫曼表和另一霍夫曼表,生成關於分別由所述比較部件所生成的數據值關聯表彼此關聯的數據值有關的編碼的數據和嵌入編碼的數據的修改的表;其中,所述第二解碼的數據獲得部件,基於轉換表中編碼的數據和嵌入編碼的數據之間的關聯,獲得第二解碼的數據。
21.如權利要求20所述的數據處理裝置,其中,所述第一解碼的數據獲得部件包括編碼的數據輸出部件,用於基於轉換表中編碼的數據和嵌入編碼的數據之間的關聯,將嵌入編碼的數據轉換為編碼的數據,以及用於輸出該編碼的數據,並且,所述第一解碼的數據獲得部件,基於霍夫曼表解碼從所述編碼的數據輸出部件輸出的編碼的數據,以獲得第一解碼的數據。
22.一種數據處理裝置,包括暫定的解碼部件,用於依據輸入參數修改通過將第二數據嵌入第一數據所編碼的嵌入編碼的數據的一部分,以及基於編碼表將其暫定地解碼以生成暫定的解碼的數據;再編碼部件,用於將暫定的解碼的數據再次進行編碼以輸出再編碼的數據;以及解碼部件,用於通過比較嵌入編碼的數據和再編碼的數據來確定參數,輸出基於編碼表暫定解碼已經基於該參數被部分修改過的嵌入編碼的數據所獲得的暫定的解碼的數據,作為第一解碼的數據,以及用於獲得相應於該參數的第二解碼的數據。
23.如權利要求22所述的數據處理裝置,其中,所述暫定的解碼部件基於參數,修改包括量化碼和量化誤差的編碼的數據的量化誤差,並基於編碼表暫定地解碼編碼的數據,以輸出暫定的解碼的數據。
24.如權利要求23所述的數據處理裝置,其中,所述暫定的解碼部件基於參數,循環包括矢量量化碼和矢量量化誤差的編碼的數據的矢量量化誤差的一部分,並基於碼本暫定地將其解碼,以輸出暫定的解碼的數據。
25.如權利要求24所述的數據處理裝置,其中,所述暫定的解碼部件包括逆矢量量化部件,用於基於碼本解碼矢量量化碼,以輸出逆矢量量化數據;以及加法部件,用於將循環的矢量量化誤差與從所述逆矢量量化部件輸出的逆矢量量化數據相加,以獲得暫定的解碼的數據。
26.如權利要求24所述的數據處理裝置,其中,所述再編碼部件包括再矢量量化部件,用於基於碼本,執行矢量量化以檢測表示最接近暫定的解碼的數據的代表性矢量的暫定的矢量量化碼,以及用於檢測表示暫定的解碼的數據和矢量量化碼所表示的代表性矢量之間的差異的暫定的矢量量化差異。
27.如權利要求26所述的數據處理裝置,其中所述解碼部件包括比較部件,用於比較矢量量化碼和暫定的矢量量化碼,以及用於比較矢量量化誤差和暫定的矢量量化誤差,並且,當所述比較部件的比較結果一致時,所述解碼部件輸出相應於代表性矢量量化誤差被循環的移動量的參數的第二解碼的數據,也輸出暫定的解碼的數據作為第一解碼的數據,然而,當比較結果不一致時,所述解碼部件修改代表性矢量量化誤差被循環的移動量的參數,並將其提供給所述暫定的解碼部件。
28.如權利要求22所述的數據處理裝置,包括多個所述暫定的解碼部件,對其分別輸入不同的參數,其中,所述解碼部件依照嵌入編碼的數據和再編碼的數據之間的比較結果,選擇多個所述暫定的解碼部件中的一個,輸出從所選擇的一個所述暫定的解碼部件輸出的暫定的解碼的數據,作為第一解碼的數據,並也輸出相應於輸入至所選擇的一個所述解碼部件的參數的第二解碼的數據。
29.一種數據處理裝置,包括編碼部件,用於依據編碼規則編碼第一數據以輸出編碼的數據;以及修改部件,用於基於第二數據修改編碼規則;其中所述編碼部件依據被所述修改部件修改了的編碼規則編碼第一數據,因此生成嵌入第二數據的嵌入編碼的數據。
30.如權利要求29所述的數據處理裝置,其中,所述編碼部件依據一種編碼規則執行可變長度編碼,在該編碼規則中,每個包括在第一數據中的數據值被分配一個具有基於該數據值的發生頻率的碼長的編碼的數據。
31.如權利要求30所述的數據處理裝置,其中,所述修改部件基於第二數據,修改與分配相同長度的編碼的數據的數據值有關的編碼的數據。
32.如權利要求31所述的數據處理裝置,其中,所述修改部件基於第二數據,修改編碼表中與分配相同長度的編碼的數據的數據值有關的編碼的數據,其中,在所述編碼表中,關聯每個數據值和基於第一數據中每個數據值的發生頻率而分配給該數據值的編碼的數據,從而,修改編碼表以生成修改的表,並且,所述編碼部件通過依據修改的編碼表,編碼第一數據而生成嵌入編碼的數據。
33.如權利要求29所述的數據處理裝置,其中,所述修改部件基於第二數據,處理通過量化第一數據的量化碼和量化誤差輸出,於是量化碼和量化誤差引起了不匹配,並且,所述編碼部件輸出處理的量化碼和量化誤差作為嵌入編碼的數據。
34.如權利要求29所述的數據處理裝置,其中,所述第一數據是圖像數據。
35.一種數據處理裝置,包括第一解碼部件,用於解碼通過嵌入第二數據在第一數據中所獲得的嵌入編碼的數據,以獲得依據熵編碼規則編碼的編碼的數據並獲得第二數據;以及第二解碼部件,用於解碼該編碼的數據以獲得第一數據。
36.如權利要求35所述的數據處理裝置,其中,所述第一解碼部件解碼嵌入編碼的數據,以獲得依據一種熵編碼規則可變長度編碼的編碼的數據,其中在所述編碼規則中,基於第一數據中每個數據值的發生頻率分配一定長度的編碼數據。
37.如權利要求36所述的數據處理裝置,其中,所述第一解碼部件基於第一數據中每個數據值的發生頻率和通過可變長度解碼嵌入編碼的數據而獲得的解碼的數據中每個數據值的發生頻率,修改與第一數據中的被分配相同的長度的編碼的數據的每個數據值相關的編碼的數據,從而將嵌入編碼的數據恢復為依據熵編碼規則可變長度編碼的編碼的數據。
38.如權利要求37所述的數據處理裝置,其中,所述第一解碼部件包括轉換表生成部件,用於基於第一數據中每個數據值的發生頻率和通過可變長度解碼嵌入編碼的數據而獲得的解碼的數據中每個數據值的發生頻率,生成用於將用於可變長度編碼第一數據的編碼表中編碼的數據轉換為編碼的數據。
39.如權利要求35所述的數據處理裝置,其中,所述第一解碼部件解碼嵌入編碼的數據解碼,以獲得暫定的編碼的數據,所述第二解碼部件解碼暫定的編碼的數據,以輸出暫定的解碼的數據,所述數據處理部件還包括確定部件,用於確定暫定的解碼的數據是否正確。
40.如權利要求39所述的數據處理裝置,其中,所述確定部件通過依據熵編碼規則編碼暫定的解碼的數據,來確定該暫定的解碼的數據是否正確。
41.如權利要求40所述的數據處理裝置,其中,所述確定部件通過比較通過依據熵編碼規則編碼暫定的解碼的數據而獲得的再編碼的數據和暫定的編碼的數據,確定暫定的解碼的數據是否正確。
42.如權利要求39所述的數據處理裝置,其中,所述第一解碼部件解碼嵌入編碼的數據,該嵌入編碼的數據是通過基於第二數據處理包括通過量化第一數據所獲得的量化碼和量化誤差的編碼的數據的量化誤差而獲得的,並且,通過處理該量化誤差而獲得暫定的編碼的數據。
43.如權利要求42所述的數據處理裝置,其中,所述確定部件通過比較組成暫定的編碼的數據的量化碼和量化誤差和再量化碼和再量化誤差,來確定組成暫定的編碼的數據的量化碼和量化誤差是否正確,所述再量化碼和再量化誤差是通過再量化通過解碼該量化碼和量化誤差所獲得的暫定的解碼的數據而獲得的。
44.如權利要求35所述的數據處理裝置,其中所述第一數據為圖像數據。
45.一種數據處理系統,包括編碼部件,用於依據編碼規則編碼第一數據以輸出編碼的數據;以及修改部件,用於基於第二數據修改編碼規則;其中,所述編碼部件依據被所述修改部件修改了的編碼規則編碼第一數據,以生成嵌入第二數據的嵌入編碼的數據,所述數據處理系統還包括一個解碼裝置,該解碼裝置包括第一解碼部件,用於解碼嵌入編碼的數據以獲得依據編碼規則編碼的編碼的數據並獲得第二數據;以及第二解碼部件,用於解碼該編碼的數據以獲得第一數據。
46.一種數據處理方法,包括步驟編碼第一數據以輸出編碼的數據,以及基於第二數據修改編碼的數據的一部分,以便將第二數據嵌入編碼的數據中。
47.一種數據處理方法,包括步驟生成用於編碼第一數據的編碼表,基於第二數據修改所生成的編碼表,以生成修改的編碼表,以及,基於修改的編碼表編碼第一數據,以生成嵌入第二數據的嵌入編碼的數據。
48.一種數據處理方法,包括步驟基於一編碼表暫定地解碼通過將第二數據嵌入第一數據中而編碼的嵌入編碼的數據,以輸出暫定的解碼的數據,基於該暫定地解碼的數據生成暫定的編碼表,基於編碼表和暫定的編碼表解碼嵌入編碼的數據,以獲得第一解碼的數據,以及,比較編碼表和暫定地編碼表,以獲得第二解碼的數據。
49.一種數據處理方法,包括步驟依據一輸入的參數修改通過將第二數據嵌入第一數據中而編碼的嵌入編碼的數據一部分,並基於編碼表暫定地解碼該部分,以輸出暫定地解碼的數據,該暫定地解碼的數據被再編碼,以輸出再編碼的數據,以及,通過比較嵌入編碼的數據和再編碼的數據確定參數,輸出通過基於編碼表暫定解碼已經基於該參數被部分修改過的嵌入編碼的數據所獲得的暫定的解碼的數據,作為第一解碼的數據,並且還獲得相應於該參數的第二解碼的數據。
50.一種數據處理方法,包括步驟依據編碼規則編碼第一數據以輸出編碼的數據,以及,基於第二數據修改編碼規則,依據被修改了的編碼規則編碼第一數據,以生成嵌入第二數據的嵌入編碼的數據。
51.一種數據處理方法,包括步驟解碼通過將第二數據嵌入第一數據中所獲得的嵌入編碼的數據,以獲得依據熵編碼規則編碼的編碼的數據並獲得第二數據,以及,解碼該編碼的數據以獲得第一數據。
52.一種存儲程序的存儲介質,其中,第一數據被編碼以輸出編碼的數據,並且,基於第二數據修改編碼的數據的一部分,以便將第二數據嵌入編碼的數據中。
53.一種存儲程序的存儲介質,其中,生成用於編碼第一數據的編碼表,基於第二數據修改生成的編碼表,以生成修改的編碼表,並且,基於修改的編碼表編碼第一數據,以生成嵌入第二數據的嵌入編碼的數據。
54.一種存儲程序的存儲介質,其中,基於一編碼表暫定地解碼通過將第二數據嵌入第一數據中所編碼的嵌入編碼的數據,以輸出暫定的解碼的數據,基於暫定的解碼的數據生成暫定的編碼表,基於編碼表和暫定的編碼表解碼嵌入編碼的數據以獲得第一解碼的數據,以及通過比較編碼表和暫定的編碼表以獲得第二解碼的數據。
55.一種存儲程序的存儲介質,其中,依據一輸入參數修改通過嵌入第二數據在第一數據中所編碼的嵌入編碼的數據的一部分,以及基於編碼表暫定地解碼該部分,以生成暫定的解碼的數據,將暫定的解碼的數據再編碼以輸出再編碼的數據,以及,通過比較嵌入編碼的數據和再編碼的數據來確定參數,輸出通過基於編碼表暫定解碼已經基於該參數被部分修改過的嵌入編碼的數據所獲得的暫定的解碼的數據,作為第一解碼的數據,並且獲得相應於該參數的第二解碼的數據。
56.一種存儲程序的存儲介質,其中,依據編碼規則編碼第一數據,以輸出編碼的數據,基於第二數據修改編碼規則,以及,依據被修改了的編碼規則編碼第一數據以生成嵌入第二數據的嵌入編碼的數據。
57.一種存儲程序的存儲介質,其中,解碼通過將第二數據嵌入第一數據中所獲得的嵌入編碼的數據,以獲得依據熵編碼規則編碼的編碼的數據並獲得第二數據,以及,解碼該編碼的數據以獲得第一數據。
全文摘要
本發明涉及一種數據處理裝置。附加信息被嵌入通過編碼圖像數據所獲得的編碼的數據中,而不增加編碼的數據的總量,並且,嵌入附加信息的數據被正確地解碼為圖像數據和附加信息。嵌入壓縮編碼器11依據預定的編碼規則編碼圖像數據,基於附加信息破壞編碼規則,從而嵌入附加信息。解碼器12將通過嵌入附加信息所獲得的嵌入編碼的數據恢復為依據編碼規則編碼的編碼的數據,從而解碼附加信息,也將編碼的數據解碼為圖像數據。
文檔編號H03M7/30GK1397137SQ01804259
公開日2003年2月12日 申請日期2001年10月12日 優先權日2000年10月19日
發明者近藤哲二郎, 安藤一隆, 太田浩二 申請人:索尼公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀