การแปลงโคไซน์ไม่ต่อเนื่อง
จากวิกิพีเดีย สารานุกรมเสรี
การแปลงโคไซน์ไม่ต่อเนื่อง (DCT-discrete cosine transform) เป็นการแปลงออทอโกนัล ที่เป็นจำนวนจริง และมีฟังก์ชันโคไซน์ เป็นฐาน มีทั้งหมด 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 ที่ดี คือ สามารถอัดพลังงานส่วนใหญ่ของสัญญาณ โดยเฉพาะภาพ ไปไว้ในสัมประสิทธิ์ย่านความถี่ต่ำในโดเมนของการแปลง และ การคำนวณการแปลงในทางปฏิบัติสามารถกระทำได้อย่างมีประสิทธิภาพ
[แก้] คำจำกัดความมาตรฐาน
การแปลงในรูปเมทริกซ์ :
หมายเหตุ : ความยาวคี่(คู่) ของการแปลงในที่นี้หมายถึงส่วนความยาวของข้อมูล รวมกับส่วนขยายเสมือน ไม่ใช่ความยาวของตัวข้อมูลเอง ซึ่งในที่นี้ความยาวของข้อมูลสามารถเป็นได้ทั้งคู่ และคี่ ขึ้นกับ 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.
![\mathbf{X}^{DCT}= [C]\mathbf{x}](../../../math/7/f/d/7fdf15a5fe2a880f062699c1d39d9678.png)
![\left[ C^{IE}_{N} \right]_{mn} = \sqrt{\frac{2}{N-1}} \left[ k_{m}k_{n} \cos \left( mn \frac{\pi}{N-1} \right) \right]](../../../math/e/3/2/e321a44ba8b60102796bf3f3245d4e94.png)
![\left[ C^{IIE}_{N} \right]_{mn} = \sqrt{\frac{2}{N}} \left[ k_{m} \cos \left( m( n+\frac{1}{2}) \frac{\pi}{N} \right) \right]](../../../math/4/6/d/46d6e980f39ddd4ced9748b4dc336439.png)
![\left[ C^{IIIE}_{N} \right]_{mn} = \sqrt{\frac{2}{N}} \left[ k_{n} \cos \left( (m+\frac{1}{2})n \frac{\pi}{N} \right) \right]](../../../math/9/c/7/9c766b659a4abe0f1b9e9d7c02f2f66a.png)
![\left[ C^{IVE}_{N} \right]_{mn} = \sqrt{\frac{2}{N}} \left[ \cos \left( (m+\frac{1}{2})(n+ \frac{1}{2}) \frac{\pi}{N} \right) \right]](../../../math/f/e/5/fe5c8f617d68884be514f376909c222e.png)
![\left[ C^{I0}_{N} \right]_{mn} = \sqrt{\frac{2}{N-1/2}} \left[ k_{m}k_{n} \cos \left( mn \frac{\pi}{N-1/2} \right) \right]](../../../math/a/c/f/acf1c883af36006b674f4909993b587d.png)
![\left[ C^{II0}_{N} \right]_{mn} = \sqrt{\frac{2}{N-1/2}} \left[ k_{m}l_{n} \cos \left( m( n+\frac{1}{2}) \frac{\pi}{N-1/2} \right) \right]](../../../math/b/c/d/bcd5301ba9682576d4ab94e9992d5a7a.png)
![\left[ C^{III0}_{N} \right]_{mn} = \sqrt{\frac{2}{N-1/2}} \left[ l_{m}k_{n} \cos \left( (m+\frac{1}{2})n \frac{\pi}{N-1/2} \right) \right]](../../../math/8/a/2/8a28f1a781cc2bc597d2ad744a560e95.png)
![\left[ C^{IV0}_{N} \right]_{mn} = \sqrt{\frac{2}{N+1/2}} \left[ \cos \left( (m+\frac{1}{2})(n+ \frac{1}{2}) \frac{\pi}{N+1/2} \right) \right]](../../../math/c/3/c/c3ce968d8c7ad58ebb5fd738d5790882.png)
![\left[ C^{I}_{N} \right]^{-1}](../../../math/7/d/d/7dd54873f7be4f439cf1edfb14edc3a3.png)
![=\left[ C^{I}_{N} \right]^{T}](../../../math/1/c/4/1c491231ebf93d567bb7bcbee18561f0.png)
![=\left[ C^{I}_{N} \right]](../../../math/1/a/8/1a89718356e091621f88ebc5c7c58a21.png)
![\left[ C^{II}_{N} \right]^{-1}](../../../math/e/1/6/e16023e860975b5d3325a6102b0d100a.png)
![=\left[ C^{II}_{N} \right]^{T}](../../../math/6/9/7/697a03245aab80f8c8cd17741ce92c04.png)
![=\left[ C^{III}_{N} \right]](../../../math/a/6/9/a697adfe93de57f85338d7026b02fa38.png)
![\left[ C^{III}_{N} \right]^{-1}](../../../math/1/4/d/14d38d4b7556dc63afbe28da5a77248e.png)
![=\left[ C^{III}_{N} \right]^{T}](../../../math/b/1/b/b1b8b265800cb4cbf674c8337a14b8a2.png)
![=\left[ C^{II}_{N} \right]](../../../math/b/0/8/b08fe332bfb2e49c971704c432d6d6b4.png)
![\left[ C^{IV}_{N} \right]^{-1}](../../../math/a/8/e/a8e8fa345b2198126a4c38cfe7a7da98.png)
![=\left[ C^{IV}_{N} \right]^{T}](../../../math/c/8/7/c87f88b7599a30fb9f59e71f2201d984.png)
![=\left[ C^{IV}_{N} \right]](../../../math/8/9/d/89dca45715d91c80328ca5ac8da76209.png)

