การแปลงโคไซน์ไม่ต่อเนื่อง
การแปลงโคไซน์ไม่ต่อเนื่อง (อังกฤษ: discrete cosine transform - DCT) เป็นการแปลงออทอโกนัล ที่เป็นจำนวนจริง และมีฟังก์ชันโคไซน์ เป็นฐาน มีทั้งหมด 8 ชนิด คือ DCT-1 ถึง DCT-4 ความยาวคู่ (หรือ DCT-IE ถึง DCT-IVE) และ DCT-5 ถึง DCT-8 ความยาวคี่ (หรือ DCT-IO ถึง DCT-IVO)
การแปลงโคไซน์ ที่รู้จักกันมากที่สุด คือ DCT ชนิดที่สองความยาวคู่ ซึ่งมักจะเรียกสั้น ๆ ว่า "การแปลง DCT" และ เรียกการแปลงกลับ ซึ่งเท่ากับการแปลง DCT-III ว่า "การแปลงกลับ DCT" หรือ "IDCT (Inverse DCT)"
การประยุกต์ใช้งาน
[แก้]DCT และ การแปลงที่สัมพันธ์ที่ใกล้ชิดกันคือ การแปลงไซน์ไม่ต่อเนื่อง(DST) นั้นมีการประยุกต์ใช้งานที่รู้จักกันดีใน การประมวลผลสัญญาณ และ การประมวลผลภาพ โดยเฉพาะอย่างยิ่งในการเข้ารหัสแบบแปลง (transform coding) เพื่อการบีบอัดข้อมูลแบบมีการสูญเสีย ทั้งตามมาตรฐานการบีบอัดภาพนิ่ง JPEG และ มาตรฐานการบีบอัดภาพเคลื่อนไหว MPEG ทั้งนี้เนื่องมาจากคุณสมบัติของ DCT ที่เรียกว่า energy compaction ที่ดี คือ สามารถอัดพลังงานส่วนใหญ่ของสัญญาณ โดยเฉพาะภาพ ไปไว้ในสัมประสิทธิ์ย่านความถี่ต่ำในโดเมนของการแปลง และ การคำนวณการแปลงในทางปฏิบัติสามารถกระทำได้อย่างมีประสิทธิภาพ
นอกจากการอธิบายด้วยเหตุผลข้างต้นแล้ว สาเหตุที่ การใช้ DCT เป็นที่นิยมในการบีบอัดข้อมูลสารสนเทศกว่าการใช้ DFT นั้น เป็นเพราะว่า เมื่อตัดสัมประสิทธิ์ของการแปลงที่มีค่าใกล้ศูนย์ออกไปเป็นจำนวนเท่า ๆ กัน ผลของการทำผกผันหรือ IDCT จะให้ข้อมูลสารสนเทศมีความใกล้เคียงกับข้อมูลต้นแบบ (orignal sequence) มากกว่า การตัดสัมประสิทธิ์จากการแปลง DFT
สำหรับ DCT-4 นั้นมักจะนิยมนำมาใช้เพื่อคำนวณ การแปลงที่มีความสัมพันธ์กันกับ DCT-4 เช่น Malvar Wavelet และ MDCT ซึ่งเป็นที่นิยมใช้ในการบีบอัดข้อมูลเสียง และด้วยเหตุที่ DCT-4 นั้นสามารถเป็น การแปลงผกผันได้โดยตรง (ไม่จำเป็นต้องคูณด้วยค่าชดเชยในบางรูปแบบของ DCT-1) จึงทำให้ลดความซับซอนในการออกแบบกระบวนการในทางปฏิบัติ
คำจำกัดความมาตรฐาน
[แก้]การแปลงในรูปเมทริกซ์ :
หมายเหตุ : ความยาวคี่(คู่) ของการแปลงในที่นี้หมายถึงส่วนความยาวของข้อมูล รวมกับส่วนขยายเสมือน ไม่ใช่ความยาวของตัวข้อมูลเอง ซึ่งในที่นี้ความยาวของข้อมูลสามารถเป็นได้ทั้งคู่ และคี่ ขึ้นกับ N
การแปลงความยาวคู่
[แก้]การแปลงโคไซน์มาตรฐาน ความยาวคู่ ในรูปเมทริกซ์ ให้
DCT-1
[แก้]โดยที่
DCT-2
[แก้]DCT-3
[แก้]โดยที่ สำหรับกรณี DCT-2, DCT-3
DCT-4
[แก้]การแปลงความยาวคี่
[แก้]การแปลงโคไซน์มาตรฐาน ความยาวคู่ ในรูปเมทริกซ์ ให้
DCT-5
[แก้]DCT-6
[แก้]DCT-7
[แก้]โดยที่ และ
สำหรับกรณี DCT-5, DCT-6 และ DCT-7
DCT-8
[แก้]การแปลงกลับ
[แก้]การแปลงกลับ DCT หรือ IDCT นั้น สามารถหาได้จาก ทรานสโพส ของการแปลง เนื่องมาจากคุณสมบัติ unitary ของเมทริกซ์การแปลง DCT ซึ่งการแปลงทั้งความยาวคู่ และ คี่ นั้นมีคุณสมบัติดังกล่าว เมทริกซ์การแปลงด้านล่างจึงใช้หมายถึงทั้งความยาวคู่ และ คี่
รายละเอียดอื่น ๆ
[แก้]การแปลงโคไซน์ ไม่ต่อเนื่องนั้นถูกค้นพบครั้งแรกในปี ค.ศ. 1974 [1] โดยเวกเตอร์ฐาน DCT-2 ได้ถูกพัฒนาขึ้นมาเพื่อใช้ในการประมาณไอเก้นเวกเตอร์ ของเมทริกซ์โทปลิทซ์ (Toeplitz) โดยฐาน DCT นี้ จะมีค่าเข้าใกล้ (asymptotically) ไอเก้นเวกเตอร์จริง (หรือ เวกเตอร์ฐาน Karhunen-Loève) ของเมทริกซ์โควาเรียนซ์ (covariance matrix) ของ first-order stationary Markov process เมื่อค่าสัมประสิทธิ์โครีเลชัน (correlation coefficient) มีค่าเข้าใกล้ 1 ดังนั้น ฐาน DCT นี้จึงเหมาะที่จะใช้แทนไอเก้นเวกเตอร์ซึ่งเป็นฐานที่ดีที่สุดในการบีบอัดสัญญาณประเภทนี้
ความสัมพันธ์ของ DCT ทั้ง 8 ชนิด
[แก้]เช่นเดียวกับการแปลงฟูริเยร์ไม่ต่อเนื่อง(DFT) DCT นี้ก็เป็นการวิเคราะห์ฮาร์โมนิก เพียงแต่ฐานที่ใช้ในการวิเคราะห์นั้นเป็นจำนวนจริง [2]ได้แสดงถึงชุดที่สมบูรณ์ทั้ง 8 ของ DCT และ DST โดยการวิเคราห์ฮาร์โมนิกที่เป็นจำนวนเต็ม (integer harmonics) และ ครึ่งจำนวนเต็ม (half integer harmonics) ของสัญญาณ
ในลักษณะเดียวกับที่ เมทริกซ์เซอร์คิวแลนท์(circulant matrix) ซึ่งมี เมทริกซ์ DFT เป็นไอเก้น เมทริกซ์ที่มีเมตริกซ์ DCT เป็นไอเก้นนั้นจะอยู่ในรูปของ เมทริกซ์โทปลิทซ์ (Toeplitz matrix)+เมทริกซ์เฮงเคิล (Hankel matrix) (หรือ ใกล้เคียง) และคูณด้วยค่าสเกล ซึ่งแทนการกระทำ คอนโวลูชันแบบสมมาตร (symmetric convolution) จาก การคอนโวลูชัน และ เงื่อนไขความสมมาตรที่ขอบ (ในลักษณะเดียวกับ เซอร์คิวแลนท์เมทริกซ์ แทนการกระทำคอนโวลูชันเป็นวงรอบ (circular convolution)) ค่าสเกลนั้นใช้ในการจัดเมทริกซ์ให้อยู่ในรูปสมมาตร เพื่อจะได้ไอเก้นเวกเตอร์ ที่ออทอโกนัล :ดูเพิ่ม [4]
ภาพด้านล่างเป็นการแสดงสัญญาณเสมือน (ซึ่งเป็นการต่อสัญญาณดั้งเดิมออกไป เป็นสัญญาณคาบที่มีความยาวไม่จำกัด) ของสัญญาณดั้งเดิมซึ่งมีความยาวจำกัด N (จาก 0 ถึง N-1) และเป็นไปตามเงื่อนไขขอบ ที่ จุด (midpoint) หรือ กึ่งกลางระหว่างจุด (meshpoint) โดยเงื่อนไขขอบด้านซ้าย หรือ จุดต้น นั้นจะเป็นเงื่อนไขความสมมาตร และ เงื่อนไขขอบด้านขวา หรือ จุดปลาย นั้นจะเงื่อนไขเพื่อสร้างสัญญาณคาบ (เป็นได้ทั้ง สมมาตร (symmetry) และ สมมาตรกลับ (antisymmetry)) ซึ่งจะมีทั้งหมด 8 รูปแบบดังแสดงในรูป
ชนิด | ความยาวคาบคู่ | ชนิด | ความยาวคาบคี่ |
---|---|---|---|
DCT-I | DCT-V | ||
DCT-II | DCT-VI | ||
DCT-III | DCT-VII | ||
DCT-IV | DCT-VIII |
อ้างอิง
[แก้]- N.Ahmed, T. Natarajan, K. R. Rao, "Discrete cosine transform," IEEE Trans. Comput., C-23(1974), pp. 90-93.
- Z. Wang and B. Hunt, "The discrete W-transform," Appl. Math. Comput., 16 (1985), pp. 19-48.
- S. A. Martucci, "Symmetric convolution and the discrete sine and cosine transforms," IEEE Trans. Sig. Processing, SP-42, 1038-1051 (1994).
- G. Strang, "The Discrete Cosine Transform," Siam Review, vol. 41, no.1, pp. 135-147.