An SVD-Based Audio Watermarking Technique
[สารบัญกลุ่มเรื่องที่กำลังศึกษา]

เนื้อหาตอนนี้ผมสรุปจากบทความในชื่อเดียวกันของ H. Ozer, B. Sankur กับ N. Memon จาก Workshop on Multimedia and Security ครั้งที่ 7 ปี 2005 ที่ New York ไอเดียของบทความถูกนำไปอ้างถึงและต่อยอดในอีกหลายบทความนะครับ ซึ่งเป็น SVD-based ที่แตกต่างจากเทคนิคที่ผมเคยเล่าไปก่อนหน้า (ดู A New Audio Watermarking Scheme Based on Singular Value Decomposition and Quantization) และผลลัพธ์ที่ได้จากเทคนิคนี้ robustness สูงมาก กระนั้น ในปี 2006 มีบทความของ L. Lamarche และคณะจาก Canadian Conference on Electrical and Computer Engineering ที่ออตตาว่า ออกมาแย้งถึงการตีความ robustness สูงเกินไปเนื่องจาก BER ที่ต่ำนั้นเป็นผลสืบเนื่องของ false positive detection rate ที่สูง รายละเอียดบทความของ Lamarche (2006) ผมจะเอามาเล่าบล็อกตอนต่อไป สำหรับตอนนี้เราจะศึกษาไอเดียของ Ozer และคณะกันก่อน

ขั้นตอนการซ่อนลายน้ำ เริ่มจาก เอาสัญญาณเสียงมาแปลง STFT สมการ analysis และ reconstruction ของ STFT คือ

          

เมื่อ g(t) เป็น window function ที่เลื่อนไปคูณกับสัญญาณเสียง x(t) ตลอดย่านที่มีสัญญาณ x(t) ก่อนเอาผลลัพธ์จากการคูณนั้นมาแปลงฟูริเยร์ หลังจากแปลง เราจะได้ฟังก์ชั่นในโดเมนความถี่และเวลา ซึ่งเอามาสร้างเป็นเมตริกซ์สองมิติขนาด FxM เมื่อ F คือ จำนวนเฟรม (ขึ้นอยู่กับความยาวของ x(t)) และ M คือ ขนาดของเฟรม

ต่อมา เอาเมตริกซ์ดังกล่าวมาแยกด้วย SVD: AFxM = UDVT เมื่อ D เป็น diagonal matrix ขนาด FxM ที่มี elements บนเส้นทแยงมุม หรือที่เรียกว่า singular value (sv) จำนวน min(F,M) ตัว ส่วน U กับ V เป็น orthogonal matrix ขนาด FxF กับ MxM ตามลำดับ สมบัติที่สำคัญของ SVD คือ sv ไม่เปลี่ยนแปลงภายใต้ orthogonal transformation

หลังจากได้ D แล้ว เราจะฝังลายน้ำลงใน D โดยใช้ watermark (ซึ่งเป็นลำดับของรหัสเลขฐานสอง) ร่วมกับ pseudo-random signal เพื่อกระจายกำลังงานของ watermark bit ซึ่งเจ้าสัญญาณ pseudo-random ตัวนี้ ในเปเปอร์ผู้เขียนเรียกว่า watermark carrier W = {w(i,j)} เป็นเมตริกซ์ขนาด FxM ที่แต่ละ element มีลักษณะคล้าย random noise

วิธีฝัง เริ่มจากสร้าง WD จาก wD = δi + abδiw(i,j) สำหรับ i = 1, 2, ..., F และ j = 1, 2, ..., M เมื่อ δi คือ sv ของ A, a คือ embedding strength หรือ scaling factor และ b ∈ {-1, 1} เป็น polarity ของลายน้ำที่จะฝัง

ต่อมา เอา WD มาแยกด้วย SVD อีกที WD = UWDWVWT สุดท้าย ได้สัญญาณเสียงหลังจากฝังลายน้ำลงไปจากการแปลง inverse STFT ของ AW = UDWVT ขั้นตอนโดยรวมแสดงดังรูป



ทางฝั่งตรวจจับลายน้ำ จะถือว่ามีข้อมูลเหล่านี้อยู่ในมือ ได้แก่ UW, VW, D และ key ที่ใช้สร้าง pseudo-random signal ขั้นตอนการตรวจจับลายน้ำก็เสมือนเป็นขั้นตอนย้อนกลับของการฝังลายน้ำ นำสัญญาณเสียงที่ได้รับมาแปลง STFT แล้วสร้างเมตริกซ์ A' จากนั้น กระจาย A' ด้วย SVD

          A' = U'D'WV'T

เอา D'W ที่ได้จากขั้นตอนแยก SVD กับ UW และ VW (2 ตัวหลังนี้ ถือว่าทางฝั่งถอดลายน้ำรู้ล่วงหน้าแล้ว) มาหา W'D = UWD'WVWT แล้วใช้ W'D ในการคำนวณ W' จากความสัมพันธ์ aW' = D-1(W'D - D)

เราใช้ key สร้าง W (ซึ่งจะได้เมตริกซ์ของ watermark carrier เหมือนตอนซ่อนข้อมูล) แล้วทำการเปรียบเทียบความเหมือนของ W' กับ W

          W'·W = ∑wijw'ij สำหรับทุกค่า i, j

ถ้า W'·W > 0 เราจะบอกว่า b = 1 แต่ถ้า W'·W ≤ 0 เราจะบอกว่า b = -1

รูปด้านล่างแสดงตัวอย่างการตอบสนองของ detector ต่อ watermark ที่สร้างอย่างสุ่ม 1000 ตัว แกนนอนคือการตอบสนอง ซึ่งดู correlation หรือ similarity score และตำแหน่งที่ 500 เป็นลายน้ำของจริงหลังจากถูกโจมตี 4 แบบ คือ (a) copysample, (b) fft_HLPass, (c) flipsample, (d) zerocross



ลักษณะของสัญญาณต้นฉบับและสัญญาณหลังจากถูกโจมตีทั้ง 4 แบบข้างต้นแสดงดังรูป (a) - (e) ตามลำดับ



ผลการทดลอง audibility tests ได้คะแนน PAQM = 0.01 และ MOS = 4.7 ถือว่าดีมากนะครับ ตัวเลขนี้หมายความว่าฟังแยกความแตกต่างระหว่างสัญญาณต้นฉบับกับสัญญาณเสียงที่ใส่ลายน้ำแทบไม่ออก ผลการทดสอบ robustness tests ก็ออกมาดี BER ต่ำมาก ดูตารางที่ 1 และผู้เขียนได้เปรียบเทียบ BER ระหว่าง SVD-based กับ DCT-based แสดงดังตารางที่ 2





Create Date : 25 สิงหาคม 2556
Last Update : 27 สิงหาคม 2556 1:32:24 น.
Counter : 955 Pageviews.

0 comments
:: ปูรณฆฏะ :: กะว่าก๋า
(18 มี.ค. 2562 06:13:13 น.)
Don't Worry Be Happy - Bobby McFerrin ... ความหมาย tuk-tuk@korat
(24 ก.พ. 2562 16:10:07 น.)
ชุดที่ 1 โอน่าจอมซ่าส์
(5 มี.ค. 2562 22:03:30 น.)
ทีวีอนิเม หน่วยผจญคนไฟลุก ประกาศผู้ที่มารับบทเป็น Joker iamZEON
(12 ก.พ. 2562 16:25:58 น.)
ชื่อ : * blog นี้ comment ได้เฉพาะสมาชิก
Comment :
 *ส่วน comment ไม่สามารถใช้ javascript และ style sheet
 

Zol.BlogGang.com

ศล
Location :
กรุงเทพ  Thailand

[ดู Profile ทั้งหมด]
 ผู้ติดตามบล็อก : 85 คน [?]

บทความทั้งหมด