應用於MPEG-4 FGS 智財權保護之具有提升壓縮率之新浮水印技術
7
0
0
全文
(2) 並且在加入浮水印後能夠不嚴重破壞影像的品質 與原貌。以不可見浮水印的嵌入演算法而言,大致 上又分為兩類方法: 第一類屬於空間領域浮水印技術(spatial domain watermarking),它是直接改變原始數位資料值來達 到浮水印之藏入的方法,這種方法具有快速運算的 優點,但是它的缺點是不夠堅實,難以抵抗各種訊 號處理的破壞。另一種則是屬於頻譜領域浮水印技 術 (frequency domain watermarking),也就是先將 原始數位資料轉換至頻譜領域,再藉由改變經轉換 後所得的係數值來藏入浮水印的技術,再將具有浮 水印的數位資料還原為空間領域的原始多媒體資 料。這樣的方法在原始多媒體品質上可能會差了一 點,但是能夠讓浮水印對於各種訊號處理的破壞有 較高的抵抗性。例如於影像區塊(block)透過轉換成 頻譜領域後將產生不同的頻譜(spectrum)分佈,分 別為低頻帶區、中頻帶區及高頻帶區,如果選擇在 低頻帶區加入浮水印,則浮水印會更為堅實,但是 將會嚴重破壞影像的品質,而在高頻帶區加入浮水 印,能夠得到較好的影像品質,但是浮水印將顯得 不夠堅實,因此在過去大多數浮水印技術所選擇的 是將浮水印加在中頻帶區。近年來在這方面的論文 也有許多著眼於利用小波轉換的方式來將數位浮 水印藏入多媒體資訊中。 由於數位視訊串流(video streaming)在網際網 路(internet)與無線網路(wireless network)上傳輸的 應用越來越廣泛,對於視訊編碼的目標,以下兩點 將被考量:1) 在不同頻寬的情況下,提供良好的品 質服務 2) 封包遺失或錯誤的發生。 MPEG-4[2] 標 準 中 細 微 可 調 適 編 碼 技 術 (fine-granular scalable coding),它將影像序列壓縮 的資料串流分成兩部分:一為基礎層之資料串流 (base layer bitstream) , 另 一 則 屬 於 加 強 層 (enhancement layer bitstream),基礎層原始影像與 重建影像之間的差值,將以位元平面(bit plane)的 技術來形成加強層之資料串流。FGS(fine-granular scalable coding)[6-8]使得加強層的資料串流可隨著 通道頻寬之變化任意的捨棄(arbitrarily truncate), 因此 FGS 的優點如下: z 提 供 相 當 好 的 頻 寬 適 應 性 (bandwidth adaptation)。 z 具有錯誤回復(error recovery)的性質。 FGS 編碼的串流具有提供連續位元率與連續 品質的特性,因此我們選擇將數位浮水印版權保護 技術建立在 FGS 視訊編碼技術的基礎之上。圖 2 與圖 3 為 FGS 編碼器與解碼器的主要架構圖。 MPEG-4 FGS 的架構需要 2 個編碼器,一個為 基礎層的編碼器,另一個則為加強層編碼器。在基 礎層中,編碼器利用視訊在時間上的相關性來進行 motion-compensation 的編碼,而在加強層的編碼器 中,其編碼器輸入的訊號是原始影像與重建後影像 差值,再經過 DCT 轉換的結果。換句話說 FGS 編 碼 器 的 輸 入 就 是 DCT domain 下 的 量 化 誤 差. (quantization error)。而編碼的過程則是將輸入訊號 經 過 Shift Bitplane function 、 Find Maximum function、最後再經由 Bitplane VLC function 的編碼 而產生 enhancement layer 的串流。每一個 DCT FGS 剩餘值碼框組成了 N BP 位元平面(bitplane),而 後 FGS 加強層編碼器掃描剩餘值信號從最顯著的 位元平面(most significant bitplane)到最不顯著的位 元平面(least significant bitplane)。每一個 bitplane 是由 16 × 16 互不重疊的巨方塊(macroblock)所構 成 , 每 一 個 macroblock 包 含 4 個 8 × 8 luminance(Y)block 和 2 個 chroma block(U 和 V)。 再經由 Run-length 編碼過程形成可變長度的編 碼,構成了 FGS 壓縮的位元串流。而在接收端, FGS 位元串流藉著一個可變長度解碼器(VLD)被 解碼。 FGS 編 碼 的 另 一 大 特 色 就 是 能 夠 透 過 Selective Enhancement 與 Frequency Weighting 來對 位 元 平 面 ( bitplane ) 做 適 應 性 量 化 (adaptive quantization)的調整。. 圖 2. FGS 編碼端架構圖。. 圖 3. FGS 解碼端架構圖。 Selective Enhancement 和 Frequency Weighting 是可 以同時被運用的,這兩個工具都是在加強層內改變 DCT 係數的掃描順序,因此促使有興趣的區域或 是低頻的 DCT 係數較早被編碼、較早被傳送、也 2.
(3) 較有機會被解碼端所接收到。Selective Enhancement 是在 FGS enhancement layer 上的位元 平面(bitplane)選定 macroblock 再利用 up-shifting 的方式將所選定的 macroblock 加以強調,達到凸 顯重要的 macroblock 的效果。而 Frequency Weighting 則是針對 bitplane 的 DCT 係數值利用 shifting 的方式產生凸顯的效果,通常是將低頻區 的係數值加以 up-shifting。 我們將在第二部份描述加入浮水印的構想與 方案,第三部份是我們提出的位元平面編碼浮水印 演算法,第四部份是實驗結果,在第五部份做分析 與討論,最後在第六部份做個結論。. 浮水印的方法示意圖,我們以 bitplane 中 8×8 (64 bits 長度)的 block 為一個單位,並將浮水印 S 中每 一個 bit 透過演算法加入不同的 block。 以 浮 水 印 S(0,0) 值 為 例 : 如 果 浮 水 印 S 中 S(0,0)=1,我們即計算所選擇被加入的 block 中 1 的總數,假若總數為奇數則不做任何改變,假若為 偶數,則改變 block 中其中一個 bit 使得 1 的總數 變為奇數。同理,如果 S(0,0)=0,則所選擇被加入 浮水印的 block 中 1 的總數,假若總數為偶數則不 做任何改變,假若為奇數,則改變 block 中其中一 個 bit 使得 1 的總數變為偶數。在此我們需注意的 是某些 all-zero block 的情況,即是 block 的 64 個 bit 的值皆為 0,使得 1 的總數為 0,在此情況下, 我們選擇不對此 block 做處理,跳過此 block,繼 續重複上述方法加入浮水印。. 2. 加入浮水印的構想與方案 在此,我們希望在 FGS 的加強層中加入一個脆 弱型的浮水印,作為驗證多媒體完整性的依據。由 於脆弱型浮水印對於各種攻擊的抵抗力是非常低 的,因此只要對多媒體稍加攻擊,或是改變多媒體 內容,皆會造成萃取出來的浮水印無法達到百分之 百的完整性。如此一來,我們即可由萃取出的浮水 印的完整性與否來判斷此一多媒體是否經過非法 的竄改或是更動。而本論文的重點為如何在 FGS 的編碼方式中加入浮水印,並且藉由此位元平面編 碼 浮 水 印 演 算 法 (Bitplane-coding Watermarking, BCW )達到提高壓縮率的效果。針對提高壓縮率方 面,我們將加入浮水印的每個區塊(block)有選擇性 的提高 run-length 的效率,用以減少編碼時的資料 量來達成提高壓縮率的目的。另外,我們於加入浮 水印的規則上可做相應的調整,例如將浮水印分割 成四個部份加入,每一個部份依序重複加入對應的 畫面,此規則可以讓我們從萃取浮水印是否有缺失 的部份,來判斷多媒體的畫面總數是否完整,或是 由浮水印缺失的部份來判斷缺少了哪些畫面。將浮 水印隱藏於加強層的主要理由是:1)由於僅有加強 層的視訊串流時,視訊品質並不甚好,駭客對無加 強層之視訊串流並不感興趣。2)加於加強層對視訊 品 質 的 影 響 較 低 , 相 對 於 基 礎 層 這 些 由 DCT residual 所組成的加強層視訊串流資訊較無影響整 體的視訊品質。因此我們將在計畫中朝此方向發展 新的浮水印演算法,以保護視訊串流之智慧財產 權。. 圖 4 本論文所提加在 bitplane 中加入浮水印的方 法示意圖。 到底要選擇 block 中那一個 bit 作改變,我們 將提出如下的思考策略: z 選擇適於 run length coding 的 bit 作改變:亦即 所選擇的 bit 作改變時將可增進 run-length 的長 度,因此,反而增加編碼效率。 FGS 加強層的編碼方式採用了(RUN,EOP)的符號 來進行編碼,並以一個 block 為基本單位。(RUN, EOP)中的 RUN 值代表是此組(RUN,EOP)所對應 的 1 前面有多少個 0,而 EOP 值代表為此組所對 應的 1 是否為此 block 中最後一個 1,如果是最後 一個 1 則表示此 block 編碼完成並以 EOP=1 表示, 反之則為 EOP=0,若是此 block 沒有 1 的存在,即 是 64 個 bit 皆為 0,就以特殊編碼 ALL_ZERO 來 做處理。由此定義我們可知在一個 block 中除了 ALL_ZERO 的情況外將至少有一組或是一組以上. 3. 位元平面編碼浮水印(Bitplane-coding Watermarking)演算法 加強層的剩餘值信號被展開成從最顯著的位 元平面(most significant bitplane)到最不顯著的位元 平面(least significant bitplane),FGS 加強層編碼器 掃 描 剩 餘 值 信 號 從 最 顯 著 的 位 元 平 面 (most significant bitplane)到最不顯著的位元平面(least significant bitplane), 因此每一個 bitplane 中所含 的值不是 0 就是 1。圖 4 為一加在 bitplane 中加入 3.
(4) ⎧1 Wn = ⎨ ⎩0. 的(RUN,EOP),圖 5 是 BCW 演算法藏入浮水印 示意圖,其中圖 5(a)是未加入浮水印前的 block 資. if Tc = odd if Tc = even. (1). 收到帶有浮水印資訊的 BL Stream 後,我們首先透 過可變長度解碼器(Variable Length Decoder , VLD),將 BL Stream 進行解碼成為帶有浮水印資 訊的 bitplane,而後利用 Eq.(1)可簡單從中萃取出 浮水印,詳細流程說明於圖 8。 在這個演算法研究當中,我們發現幾個議題值得探 討: z 如何從 bitplane 中選擇一個位元作為浮水印資 訊隱藏的地方? 策略Æ在 bitplane 中選擇一個適合增進 Run Length 編碼的位元。因此可意外贏得位元率的降低。 z 浮水印萃取演算法極其簡單,僅需計算位元 1 的總數,不用記憶浮水印資訊的位置。因 此極適合應用於可調式視訊串流的傳輸場合 作浮水印技術之發展。. (a) 未加入浮水印前的 block. (b) 加入浮水印後的 block 圖 5 BCW 演算法藏入浮水印示意圖。 訊,我們以圖 5 為例,根據 zig-zag 的順序,可得 到的 (RUN,EOP)分別(8,0)、(13,0)、(18,0)、 (10,1),依據上述策略,我們將未改變 bit 前 block 中所有的(RUN,EOP)組別作一個比較處理,在此 之中找出要更改的 bit 位置,並且保證此 bit 經過 更改之後,對應此位置的新的(RUN,EOP)中 RUN 的值在同一 block 的所有(RUN,EOP)組別中是最 大的,因此我們在圖 5(a)中選擇更改第 3 個 1,使 得重新計算過後的(RUN,EOP)為以下幾組(8,0)、 (13,0)、(29,1),第三組的 RUN 值為 29,是所 有組別中最大值,如此一來,在編碼時,即能達到 最大程度的資料量縮減,達成我們演算法進一步提 高壓縮率的目標,圖 5(b)是加入浮水印後的 block 資訊。 而在浮水印的萃取方面,圖 6 為萃取浮水印的 示意圖。如果接收端接收到的 bitplane 中 1 的總數 (Tc)為奇數,則可萃取到浮水印的資訊為 1,如果 bitplane 中 1 的總數(Tc)為偶數則萃取到浮水印的 資訊為 0,若 Wn (n=0,1….) 代表浮水印的第 n 個 資訊則利用下面簡單的方程式可得萃取到浮水印 的資訊。 綜合上述方法,我們將我們所發展的可調適視 訊串流浮水印的方法詳細說明於圖 7。而在接收端. 圖 6. 由 bitplane 中萃取浮水印的示意圖。. 4. 實驗結果 我們在實驗平台的建構與安排如下,我們將於 MPEG-4 FGS 編碼器的編碼過程中加入數位浮水 印,其後於解碼過程中萃取出數位浮水印。為了測 試數位浮水印對於多媒體的篡改或是更動情形是 否能順利的偵測出來,我們將使用一些破壞處理來 對已加入浮水印的視訊串流作攻擊測試。另外,我 們用解碼器將已加入數位浮水印的視訊串流加以 解碼,進行品質的影響實驗,以評估視訊品質的改 變。 我們加入的浮水印為 40×40 像素大小的二元 影像,圖 9 是我們加入的浮水印,並且採用分割加 入浮水印的方式,將浮水印分成四個部份,每一個 frame 都依序加入一部分浮水印,第一個 frame 加 入第一部份的浮水印,第二個 frame 加入第二部份 的浮水印,第三個 frame 加入第三部份的浮水印, 第四個 frame 加入第四部份的浮水印,接著第五個 畫面再重複加入第一個部份的浮水印,餘此類推, 4.
(5) 所產生的視訊測出的 PSNR 值,粉紅色折線代表. 循環加進所有的 frame 中。因此在萃取上,每一個 frame 都可以取出一部份的浮水印資訊。在未經攻 擊時我們依序從”Bus”的視訊片段(video sequence) 中萃取出六個 frame 的浮水印列於圖 10。而後我們 進 行 視 訊 的 品 質 實 驗 , 圖 11. 為 ”Bus” video sequence 未加入浮水印與加入浮水印的畫面比較 上 二 張 圖 是 未 加 浮 水 印 的 , PSNR 值 皆 為 45.121dB,而下二張是已加入浮水印的,PSNR 值 皆為 39.68dB。在圖 12.我們將未加入浮水印與加 入浮水印的”Bus” video sequence 中對前十個 frame 測量其 PSNR 並將結果畫成折線圖比較,縱軸為. 圖 9. 加入的浮水印原圖。. (a)第一個 frame 取出的浮水印。. (b)第二個 frame 取出的浮水印。. (c)第三個 frame 取出的浮水印。. (d)第四個 frame 取出的浮水印。. (e)第五個 frame 取出的浮水印。. (f)第六個 frame 取出的浮水印。. 圖 10. “Bus” video sequence 未經攻擊萃取出的浮水 印 了以相同的原始視訊為基準,加入浮水印編解後的 視訊測得的 PSNR 值。圖 13.為”Mobile” video sequence 未加浮水印與加入浮水印的畫面比較,上 二張是未加浮水印的畫面,由左而又 PSNR 值分別 為 48.131dB 和 45.121dB,下二張為已加入浮水印 的畫面,由左而右 PSNR 值分別為 35.826dB 和 38.588dB。圖 14.為”Mobile” video sequence 視訊中 未加入浮水印與已加入浮水印前十個畫面的 PSNR 折線圖。由以上的視訊品質結果,我們從肉 眼上來觀察,其品質並沒有太大的改變,仍在主觀 視覺可以接受的範圍,而從 PSNR 的折線圖可看 出,加入浮水印的確是會降低些許的 PSNR 值。 PSNR 值降低較多的原因在於我們是選擇 bitplane 中的 MSB 層加入浮水印,在此考量的因素是 FGS 在網路傳輸時,會根據頻寬的大小來選擇 bitplane 送出的層數,因 MSB 層是優先被選擇傳送的,較 具價值性,因此選擇在 MSB 層加入浮水印。另外 在 攻 擊 實 驗 的 安 排 上 , 我 們 是 將 ”Bus” video sequence 加入浮水印之後將編碼完成的檔案抽去 其中幾個 frame 的資料再進行浮水印的萃取,圖 16. 為前六個 frame 的萃取結果。從實驗結果可看出, 經過抽去 frame 的攻擊測試之後,取出的浮水印有 部分的缺失,並非連續的 N、C、U、E,證明了此 影片的 frame 總數是不完整的。 我們將未加入浮水印與加入浮水印編碼過後 視訊片段的 Enhancement layer 檔案大小與壓縮率. 圖 7. 可調式視訊串流浮水印的隱藏方法詳細說明 圖。. 圖 8. 可調式視訊串流浮水印萃取的方法示意圖。 第一個 frame 到第十個 frame,藍色折線代表 PSNR 值單位為 dB,橫軸為 frame 的順序,依序從 了以原始視訊為基準與未加入浮水印下編解碼後 5.
(6) 列於表 1,其結果顯示出,我們所提出的演算法的 確可以達到壓縮率在進一步提升的效果。. 38.5884dB 和 41.1411dB。. 圖 14. “Mobile” video sequence 加入浮水印之後的 視訊 PSNR 比較圖。 圖 11.上二張為未加浮水印的”Bus” video sequence 畫面,PSNR 值皆為 45.1205dB,下二張為 加入浮水印的畫面,由左而右 PSNR 值為 42.1102dB 和 38.1308dB。. (a). (b). (c). (d). (e). (f). 未加入浮水印 加入浮水印 P S N R (d B ). 44. 41. 圖 16. (a)~(f)依序是”Bus” video sequence 抽掉其中 幾個 frame 之後連續萃取出的浮水印。. 38 1. 2. 3. 4. 5 6 Frame number. 7. 8. 9. 10. 表 1.各種視訊片段加入浮水印後壓縮率比較表。 檔案名稱 原 始 視 訊 嵌入浮水印 壓縮率 大小 後視訊大小 Ball 295KB 292KB 1.0 % Akyio 4238KB 4147KB 1.6 % Bus 4974KB 4909KB 1.3% Foreman 8702KB 8587KB 1.2% Mobile 14395KB 14234 KB 1.1%. 圖 12.”Bus” video sequence 未加入浮水印與加入後 的 PSNR 比較圖。. 5. 分析與討論 本論文所提出的演算法除了有效的提供數位浮水 印的藏入視訊的此一基本要求外,最大的特點是我 們將編碼時採用的 Run-Length 步驟加以利用。在 bitplane 中選擇出最佳的位置,使得經過 VLC 編碼 之後能達到壓縮率的提高。而在加入浮水印的規則 上,我們選擇將浮水印分為四個部份,第一部份加 入第一個畫面,第二部份加入第二個畫面,第五個 畫面則重複加入第一部份的浮水印,餘此類推。藉 由此規則,我們即可由萃取出的浮水印缺失的部份 來推測遺失了哪些畫面。但是隨著浮水印的加入, 勢必伴隨著視訊品質的改變,因此如何在達到加入 浮水印與壓縮率提高的前提之下使得 視訊品質不會受到太大的影響,也是我們所要考量. 圖 13.上 兩 張 為 未 加 浮 水 印 的 ”Mobile” video sequence 畫面,PSNR 值皆為 48.1205dB,下二張 為已加入浮水印的畫面由左而右 PSNR 值分別為 6.
(7) 的一大要素。. Transactions on Circuits and Systems for Video Technology,Vol.11, No.3.pp. 332-344, March 2001. 6. 結論 本 論 文 所 提 出 的 位 元 平 面 編 碼 (Bitplane-coding Watermarking)數位浮水印技術, 視訊的數位版權的完整性提供一個良好的解決方 案,並且由於我們的 BCW 演算法十分簡單,不需 要經過複雜的演算即可達成浮水印的藏入與萃 取,並且加入浮水印之後對於品質的影響仍在肉眼 可以接受的範圍,除此之外還可以達到壓縮率進一 步的提升。未來我們將在視訊品質許可範圍內,再 使壓縮率更為提高,另外浮水印的應用範圍絕不僅 僅侷限於 MPEG-4 FGS 方面,無論是靜態影像或 是動態視訊,都有智慧產權這方面的問題,因此, 未來我們會更進一步研究靜態影像或是動態視訊 的各種壓縮的標準,例如 JPEG2000、H.264 等, 期望將我們的演算法加以改良,應用到其他的壓縮 標準上,達到更完善廣泛的應用。. [8] M. van der Schaar,Y. Chen, and H. Radha, “Embedded DCT and wavelet methods for fine granular scalable video: Analysis and comparison,” in IVCP 2000, Proc. SPIE, vol. 2974, Jan. 2000, pp. 643–653.. 誌謝 本研究計畫係由台灣國家科學委員會所協助,特此 誌謝(計畫編號 NSC 94-2213-E-018-018)。. 參考文獻 [1] 張真誠,黃國峰,陳同孝 “電子影像技術”,旗 標出版有限公司,2003年。 [2] 戴顯權, 陳瀅如, 王春清 “多媒體通訊原理標 準與系統”, 紳藍出版社, 2002, 2 月。 [3]. Xia-Mu Niu; Zhe-Ming Lu; Sheng-He Sun, “Digital watermarking of still images with gray-level digital watermarks”, IEEE Trans. on Consumer Electronics, Vol. 46, Issue: 1, Feb. 2000, pp.137 – 145.. [4] C. Hsu and J. Wu, “Hidden digital watermarks in images,” IEEE Trans. on Image Processing, Vol. 8, No. 1, pp.58-68, JANUARY 1999. [5]. K. Hashida and A. Shiozaki, “A method of embedding robust watermarks into digital color images,” IEICE Trans. Found. Vol. E81-A, No.10, pp.2133-2137, 1998.. [6] Hayder M. Radha, Member, Mihaela van der Schaar, and Yingwei Chen,” The MPEG-4 Fine-Grained Scalable Video Coding Method for Multimedia Streaming Over IP” IEEE Trans. on Multimedia, Vol. 3, No. 1, MARCH, 2001, pp. 53-68. [7] Weiping Li, “Overview of Fine Granularity Scalability in MPEG-4 Video Standard” , IEEE 7.
(8)
數據
相關文件
MP4:屬於 MPEG 的其中一類,具有版權保護功能,是現今主流的音訊、視訊格式,例如 YouTube 便是採用 MP4
當 Bundle 啟動後會將自身所提供的服務註冊到 Service Registry 中,如圖 2-12,Service Registry 會對部署在 OSGi Framework 的 Bundles 發送新加入 Bundle 的 Service
是當舖業的生存利基所在。典當人的信用借貸選擇,在一般效用
值得一提的是,Add-in 在 Inventor 運行時會自動加載的特性是一個非常實用的功 能。使用者可以在執行 Inventor 前選擇所需要加載的 Add-in,而沒有選擇的
其硬體架構如圖 9.3 所示。本實驗最主要的目的是要將之前學長所做的 GPS/INS 整合 部分中的加速儀用
下圖為本研究的主架構設計。透過 Master MCU 控制裝置的按鍵選擇,選擇所需 要控制的 Slave ID 編號及欲控制的命令,透過 Master MCU 將命令送給
Lin[3]中使用的頻道模組為 CDMA-over-TDMA,一個 link 的時槽保留只會 影響到相鄰 link 的時槽,所以在 Lin[3]的方法中會優先選擇對相鄰 link
本濾波器是應用在 WLAN IEEE802.11a 接收端的通道選擇濾波器,所以要 先了解接收端的系統規格,然後根據這個規格定義出 Filter Mask,再以這個 Filter Mask 選擇適當的 filter