Introduction to Digital Audio Watermarking
[สารบัญกลุ่มเรื่องที่กำลังศึกษา]

เนื้อหาหลักของตอนนี้ผมสรุปจาก (1) บทที่ 1 Introduction to Digital Audio Watermarking หนังสือ Digital Audio Watermarking Techniques and Technologies (IGI Global, 2007) โดย Nedeljko Cvejic กับ Tapio Seppanen และ (2) บทที่ 6 Audio Watermarking: State-of-the-Art ส่วนที่ 1-4 หนังสือ Advanced Techniques in Multimedia Watermarking (Information Science Reference, 2010) โดย Dejan Drajic กับ Nedeljko Cvejic

การซ่อนข้อมูลข่าวสาร (information hiding) โดยทั่วไปแบ่งได้เป็น 2 แบบ (ซึ่งไม่จำเป็นต้องแยกออกจากกัน) คือ cryptography กับ steganography ทั้งสองแบบนี้มีจุดประสงค์ต่างกัน cryptography ทำให้ข้อมูลอ่านไม่ได้หรือเข้าถึงไม่ได้โดยบุคคลอื่นที่ไม่มีสิทธิ ส่วน steganography ทำให้บุคคลอื่นไม่รู้ว่ามีข้อมูลอยู่ หรือตรวจจับการมีอยู่ของข้อมูลไม่ได้ และแน่นอนว่า ข้อมูลนั้นอาจถูกเข้ารหัสเพื่อให้เป็นข้อมูลที่อ่านไม่ได้ด้วยก็ได้ โดยการแบ่งแยกตามจุดประสงค์นี้ watermarking หรือการทำลายน้ำ โดยฟังก์ชั่นหลักของมันจึงเป็น steganography

วิธีการทำ watermarking เริ่มต้นพัฒนาสำหรับ image และ video แล้วจึงค่อยมาถึง audio และอัลกอรึทึ่มทั้งหมดอาศัยข้อได้เปรียบจากสมบัติการรับรู้เสียงของระบบรับรู้เสียงมนุษย์ ข้อกำหนดสำคัญ ๆ ของ audio watermarking ประกอบด้วย

1. Perceptual Transparency สำหรับ audio watermarking พูดได้ว่า perceptual transparency มีความสำคัญสูงสุด เพราะเราคงไม่อยากซ่อนข้อมูลบางอย่างลงในเสียงแล้วทำให้คุณภาพเสียงต้นฉบับเปลี่ยนแปลงไปมากจนถึงขั้นรับรู้ได้ และ fidelity ของ watermarking algorithm โดยทั่วไปเราก็นิยามจากการรับรู้เสียงที่ไม่แตกต่างกันระหว่าง เสียงต้นฉบับ กับ เสียงที่ทำลายน้ำแล้ว อย่างไรก็ตาม ผู้เขียนไม่เห็นด้วยกับการนิยามเช่นนี้นัก เพราะคุณภาพเสียงหลังจากทำลายน้ำยังไงก็ต้องลดลงในกระบวนการส่งข้อมูล จึงได้เสนอว่าควรวัด fidelity โดยเปรียบเทียบการรับรู้ที่ไม่แตกต่างกันระหว่างเสียงต้นฉบับกับเสียงที่ทำลายน้ำ ณ จุดที่เสียงทั้งสองไปปรากฏที่ฝั่งผู้ใช้งาน

2. Watermark Bit Rate บิตเรตของลายน้ำที่ฝังลงไป (คำว่า ลายน้ำที่ฝังลงไป หรือ embedded watermark หมายถึง ข้อมูลที่เราต้องการซ่อนลงในเสียงต้นฉบับนะครับ) นิยามจากจำนวนบิตในหน่วยเวลา นิยมหน่วย บิตต่อวินาที หรือ bps สำหรับงานประยุกต์บางอย่าง เช่น copy control ที่ต้องการใส่ข้อมูลแค่ serial number หรือ author ID ก็ต้องการบิตเรตไม่เกิน 0.5 bps ส่วนงานอย่าง broadcast monitoring watermark อาจต้องการสูงกว่า คือ 15 bps หรือหากเป็นงานประยุกต์อย่างการซ่อนเสียงพูดลงในเสียง หรือซ่อนเสียงที่ผ่านการบีบอัดแล้วลงในเสียง บิตเรตอาจสูงถึง 150 kbps

3. Robustness นิยามจาก ความสามารถของตัวตรวจจับในการดึงลายน้ำออกมาจากเสียงที่มีการทำลายน้ำที่ผ่านการประมวลผลสัญญาณทั่ว ๆ ไป เพราะในบางงาน เช่น radio broadcast monitoring เสียงดังกล่าวจะถูกทำให้ผิดเพี้ยนไปเล็กน้อยจากการส่งข้อมูล การบีบอัด หรือการกรองความถี่ต่ำผ่าน เป็นต้น ตัวตรวจจับต้องยังคงสามารถดึงลายน้ำออกมาจากเสียงที่ผิดเพี้ยนเหล่านี้ได้ ความสามารถอันนี้แหละครับจะเป็นตัวบอกถึง robustness ของอัลกอรึทิ่ม แต่ในบางงานประยุกต์ robustness ก็ไม่ใช่สิ่งที่ต้องการเลยแม้แต่น้อย กลุ่มนี้เราเรียก fragile audio watermarking

4. Blind or Informed Watermark Detection ในบางงาน อัลกอริทึ่มตรวจจับอาจต้องใช้เสียงต้นฉบับเพื่อดึงลายน้ำออกมาจากเสียงที่ทำลายน้ำ เรียกตัวตรวจจับแบบนี้ว่า informed detection แต่ถ้าเป็น blind detection ตัวตรวจจับลายน้ำจะไม่สามารถใช้เสียงต้นฉบับ ในกรณีหลังนี้จะทำให้ข้อมูลที่ซ่อนในเสียงมีปริมาณลดลง กระบวนการฝังและดึงลายน้ำทั้งหมดสามารถแสดงได้ด้วยแบบจำลองช่องทางการสื่อสาร ซึ่งลายน้ำถูกทำให้ผิดเพี้ยนไปเนื่องจากสัญญาณรบกวนกำลังสูง (ในที่นี้ก็คือเสียงต้นฉบับ) และผลอันเนื่องด้วยช่องทางสื่อสารเอง ซึ่งสัมพันธ์กับการดำเนินการประมวลผลสัญญาณ

5. Security จะต้องมีความปลอดภัยในแง่ที่ว่าผู้อื่นซึ่งไม่ได้รับอนุญาตไม่สามารถตรวจจับข้อมูลที่ฝังอยู่ได้ ทำนองเดียวกับเวลาเราพูดถึงความปลอดภัยในเทคนิคการเข้ารหัส

6. Computational Complexity ตัวอย่างเช่น ในงาน broadcast monitoring การฝังและการดึงลายน้ำนั้นต้องทำแบบ real time ขณะที่งานประเภท copyright protection ไม่จำเป็นต้องทำแบบ real time ฉะนั้นความซับซ้อนในการคำนวณซึ่งแปรตามเวลาจึงเป็นประเด็นที่ต้องคำนึงถึง เช่นเดียวกับ hardware และ software ที่เป็น platform ในการฝังและดึงลายน้ำก็เป็นตัวกำหนดขีดจำกัดความซับซ้อนเช่นกัน


โดยทั่วไปความต้องการของ watermarking จะขัดแย้งกัน เช่น ถ้าต้องการ robustness สูง ๆ ก็ยากที่จะทำให้ bit rate สูงและ transparency สูง, ในการประเมิน robustness ของระบบ เราจะดูว่าหลังจากผ่านการโจมตีแบบต่าง ๆ แล้วตัวตรวจจับยังสามารถดึงลายน้ำออกมาได้หรือไม่ อนึ่งการโจมตีในเหตุการณ์จริงนั้นอาจเป็นโดยจงใจจากผู้ไม่หวังดี หรือโดยธรรมชาติของงานประยุกต์นั้น ๆ ก็ได้ เช่น ในการเตรียมสัญญาณเสียงที่จะส่งออกทางสถานีวิทยุ สัญญาณจะถูกประมวลผลต่าง ๆ มากมาย เริ่มตั้งแต่การทำ normalization และบีบอัดเพื่อให้เข้ากับระดับความดังของการส่งแบบ broadcast นอกจากนี้ยังมีการใช้ equalizer, denoiser, filter ต่าง ๆ นานาอีก เห็นว่า ถ้าวิธีฝังและดึงลายน้ำไม่ทนทานต่อการประมวลผลเหล่านี้ หรือการโจมตีเหล่านี้ มันจะไม่สามารถถูกดึงออกมาที่ฝั่งรับได้

ตัวอย่างประเภทการโจมตี

1. Dynamics เป็นการเปลี่ยน loudness profile ของสัญญาณที่ทำลายน้ำ การขยายและลดความดังเป็นการโจมตีพื้นฐาน ส่วนการโจมตีที่ซับซ้อนขึ้นมาหน่อยก็เช่น การจำกัด (limiting) การขยาย (expansion) และการบีบอัด (compression) เพราะมันมีการเปลี่ยนแปลงแบบที่ไม่เป็นเชิงเส้นขึ้นอยู่กับสัญญาณเสียงต้นฉบับ เช่น (1) การบีบอัดแอมปลิจูดที่มี compression rate แปรตามแอมปลิจูด A เช่น 8.91:1 สำหรับ A > -29 dB, 1.73:1 สำหรับ -46 dB < A < -29 dB และ 1:1.61 สำหรับ A < -46 dB, (2) Denoising ซึ่งปกติใช้ในการลบสัญญาณรบกวนออกจากเสียง

2. Filtering เป็นการตัดหรือเพิ่มสเปกตรัมบางส่วน ฟิลเตอร์พื้นฐาน เช่น high-pass กับ low-pass filter (equalizer ก็ถือว่าเป็นฟิลเตอร์) พวกมันถูกใช้ในการเพิ่มหรือลดย่านความถี่ย่อยบางย่านของสเปกตรัม เช่น (1) วงจรกรองความถี่สูงผ่านที่กำจัดองค์ประกอบที่มีความถี่ต่ำกว่า 100 Hz, (2) วงจรกรองความถี่ต่ำผ่านที่กำจัดองค์ประกอบที่มีความถี่สูงกว่า 6 kHz, (3) 8-band equalizer สัญญาณจะถูกกดหรือขยาย 6 dB อย่างสุ่มในแต่ละย่านความถี่

3. Ambiance เป็น effects ที่จำลองสภาพของห้อง ซึ่ง effects ร่วมส่วนใหญ่ได้แก่การสะท้อนและหน่วงเวลา มีพารามิเตอร์หลายตัวที่จะใช้เซ็ตคุณภาพของ effect เช่น (1) Delay สัญญาณต้นฉบับที่ถูกหน่วงเวลาจะถูกทำซ้ำแล้วรวมเข้าไปในสัญญาณต้นฉบับเดิมเพื่อจำลองบริเวณที่มีพื้นที่กว้าง เช่น หน่วงเวลา 100 ms และลดแอมปลิจูดลง 50%

4. Conversion เช่น (1) Resampling เช่น เปลี่ยน sampling rate จาก 44.1 kHz เป็น 11.025 kHz แล้วแปลงกลับเป็น 44.1 kHz, (2) ดัดแปลง resolution ของแซมเปิ้ล เช่น เปลี่ยนจาก 16 bps (บิตต่อแซมเปิ้ล) เป็น 8 bps แล้วแปลงกลับเป็น 16

5. Lossy Compression เช่น (1) บีบอัดเป็นไฟล์ MPEG-1 ที่ 128 kb/s, (2) เข้ารหัสเป็น AAC ที่ 96 kb/s

6. Noise สัญญาณรบกวนอาจเป็นการโจมตีที่พบบ่อยที่สุด เพราะอุปกรณ์ฮาร์ดแวร์ทำให้เกิด noise หรืออาจมีผู้โจมตีด้วยการเพิ่ม AWGN ที่แอมปลิจูดบางค่า เช่น (1) การเพิ่ม noise ได้สูงถึง 0.91% ของค่าแซมเปิ้ลต้นฉบับจะไม่ลด subjective quality ของสัญญาณเสียงที่มีลายน้ำ

7. Modulation หมายถึง modulation effect เช่น vibrato, chorus, amplitude modulation หรือ flanging

8. Time Stretch กับ Pitch Shift การโจมตีนี้ คือ การเปลี่ยนความยาวของลำดับเสียงโดยไม่เปลี่ยน pitch หรือเปลี่ยน pitch โดยไม่เปลี่ยนความยาวของลำดับเสียง

9. Sample Permutations เช่น (1) Zero-cross-inserts เช่น หาค่า 0 แล้วแทรก 0 จำนวน 20 ตัว ณ ตำแหน่งนั้น ทำให้เกิดการหยุดช่วงสั้น ๆ (2) Copy sample จะมีการสุ่มเลือกแซมเปิ้ล และเล่นแซมเปิ้ลนั้นซ้ำ (3) Flip samples สุ่มเลือกแซมเปิ้ลแล้วเอามาสลับตำแหน่งกัน (4) Cut samples เป็นการลบช่วงของแซมเปิ้ลอย่างสุ่มออกจากสัญญาณ (ถ้าลบไม่เกิน 50 แซมเปิ้ล จะส่งผลกระทบต่อคุณภาพเสียงไม่เท่าไร)

Audio Watermarking Applications

กลุ่มงานประยุกต์ที่อาจใช้ประโยชน์จากการทำลายน้ำเสียง ได้แก่

Ownership Protection

ลายน้ำที่มีข้อมูลเกี่ยวกับกรรมสิทธิ์จะถูกฝังลงในสัญญาณต้นฉบับ โดยผู้ถือกรรมสิทธิ์เท่านั้นที่รู้เกี่ยวกับลายน้ำนี้ ฉะนั้น ลายน้ำจะต้องทนทานต่อการโจมตีและมีการรักษาความปลอดภัย เพราะเมื่อเกิดกรณีพิพาทเรื่องกรรมสิทธิ์ เจ้าของจะแสดงลายน้ำเพื่อยืนยันถึงสถานะการเป็นผู้ถือสิทธิ์ สำหรับงานประยุกต์กลุ่มนี้ ความต้องการเกี่ยวกับ capacity ต่ำครับ

Proof of Ownership

เป็นอีกระดับหนึ่งที่สูงกว่า ownership protection งานประยุกต์กลุ่มนี้มาจากปัญหาที่ว่า ถ้ามีคนอ่านลายน้ำของเราได้ ก็เป็นไปได้ที่เขาจะลบลายน้ำนั้นทิ้ง แล้วใส่ลายน้ำของตัวเองเข้าไป ดังนั้น ในการพิสูจน์ความเป็นเจ้าของ (proof of ownership) จะต้องมีการจำกัดการอ่านของตัวตรวจจับ เมื่ออ่านไม่ได้ ก็จะลบลายน้ำได้ยากมาก แต่อย่างไรก็ตาม มีผู้เสนอว่า ถึงแม้จะอ่านลายน้ำไม่ได้ แต่ผูัโจมตีอาจจะใช้ระบบการทำลายน้ำของเขาทำลายน้ำแล้วฝังลงไปให้ดูเหมือนกับลายน้ำของเขาถูกฝังอยู่ในสัญญาณต้นฉบับ (ซึ่งจริง ๆ แล้วเป็นลายน้ำที่ฝังอยู่ในสัญญาณที่มีลายน้ำของจริงอยู่อีกที) ฉะนั้น ทางแก้จึงต้องใช้อัลกอริทึ่มที่สามารถพิสูจน์ได้ว่าสัญญาณหรือไฟล์เสียงของผู้โจมตีเป็นสัญญาณที่สร้างขึ้นมาจากสัญญาณที่มีลายน้ำต้นฉบับ

Authentication and Tampering Detection

ในงานประยุกต์กลุ่ม content authentication นี้ชุดข้อมูลทุติยภูมิ (secondary data) จะถูกฝังลงในสัญญาณต้นฉบับ หลังจากนั้นข้อมูลเหล่านี้จะถูกใช้ในการตรวจสอบว่าสัญญาณต้นฉบับถูกดัดแปลงหรือไม่ กลุ่มนี้ เราไม่สนใจ robustness กับ การซ่อนไม่ให้ลายน้ำถูกตรวจจับได้ เพราะไม่เป็นประเด็นสำคัญ (ไม่ใช่แรงจูงใจของผู้โจมตี เขาไม่ได้อยากทำให้ลายน้ำหายไป) ความต้องการที่สำคัญคือความจุสูง ๆ

Fingerprinting

ใช้ลายน้ำในการติดตามหรือสืบหาร่องรอย เช่น แต่ละไฟล์ก่อนที่จะแจกจ่ายไปนั้นมีการใส่ serial no. หรือ id ที่แตกต่างกัน เมื่อมีการแอบคัดลอกไฟล์ ก็ได้จะได้ id นี้ไปด้วย ทำให้เรารู้ว่าคัดลอกมาจากไฟล์ที่ใครถือสิทธิ์ในการใช้งาน ประเด็นที่น่าสนใจ fingerprinting จะต้องมีสมบัติ anti-collusion ที่ดี นั่นคือ มันต้องป้องกันไม่ให้มีการฝัง id มากกว่า 1 ตัวลงในไฟล์ต้นฉบับ ไม่งั้นจะงง

Broadcast Monitoring

ใช้เป็นอีกทางเลือกหนึ่งของการเข้ารหัสข้อมูลการแสดงตัว (identification information) สำหรับ broadcast monitoring ข้อดีคือไม่ต้องเปลือง header แต่ปัญหาคือการทำลายน้ำมันซับซ้อนกว่าการเพิ่ม header แต่บทความก็อ้างว่ามีการใช้เป็นพื้นฐานในเชิงพาณิชย์แล้ว

Copy Control and Access Control

ลายน้ำจะถูกใช้ตาม policy ในการควบคุมการคัดลอกหรือควบคุมสิทธิ์การใช้งาน เช่น หลังจากตัวอ่านอ่านลายน้ำและถอดรหัสข้อมูลเสร็จแล้ว (ขึ้นอยู่กับ policy) จะมีการควบคุมฟังก์ชั่นต่าง ๆ ของซอฟท์แวร์หรือฮาร์ดแวร์ เช่น เปิดหรือปิดมอดูลการอัดบันทึก

Information Carrier

เช่น การส่ง metadata (เช่น คลิปเสียงอื่น ข้อมูลเกี่ยวกับผู้ประพันธ์เพลง ข้อมูลนักดนตรี ฯลฯ) ไปพร้อมกับเสียงต้นฉบับ กลุ่มนี้เน้นความจุที่สูงมาก ๆ



Create Date : 24 พฤษภาคม 2556
Last Update : 11 มิถุนายน 2556 2:01:04 น.
Counter : 1406 Pageviews.

0 comments
BUDDY คู่หู คู่ฮา multiple
(3 ม.ค. 2567 04:49:04 น.)
สวัสดีปีใหม่ ๒๕๖๗ มาช้ายังดีกว่าไม่มา
(2 ม.ค. 2567 07:30:30 น.)
ทนายอ้วนจัดดอกไม้ - จัดดอกไม้ง่ายๆ – แจกันสวัสดีปีใหม่ 2567 - กุหลาบพวงสีชมพู - ขาว ทนายอ้วน
(2 ม.ค. 2567 15:16:32 น.)
ไม่ลอดช่องโหว่ ปัญญา Dh
(2 ม.ค. 2567 13:44:30 น.)
ชื่อ : * blog นี้ comment ได้เฉพาะสมาชิก
Comment :
 *ส่วน comment ไม่สามารถใช้ javascript และ style sheet
 

Zol.BlogGang.com

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

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

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