การแปลงโคไซน์ไม่ต่อเนื่อง

การแปลงโคไซน์ไม่ต่อเนื่อง (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) จึงทำให้ลดความซับซอนในการออกแบบกระบวนการในทางปฏิบัติ
== คำจำกัดความมาตรฐาน ==
การแปลงในรูปเมทริกซ์ :
\mathbf{X}^{DCT}= [C]\mathbf{x} 
 หมายเหตุ : ความยาวคี่(คู่) ของการแปลงในที่นี้หมายถึงส่วนความยาวของข้อมูล รวมกับส่วนขยายเสมือน ไม่ใช่ความยาวของตัวข้อมูลเอง ซึ่งในที่นี้ความยาวของข้อมูลสามารถเป็นได้ทั้งคู่ และคี่ ขึ้นกับ N
=== การแปลงความยาวคู่ ===
การแปลงโคไซน์มาตรฐาน ความยาวคู่ ในรูปเมทริกซ์ ให้ m,n = 0,\ldots,N-1
==== DCT-1 ====
\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] 
โดยที่  k_i = \left \{ \begin{matrix} 1/ \sqrt{2}, & \mbox{if }i=0\mbox{ or }N-1 \\ 1, & \mbox{otherwise } \end{matrix} \right. 
==== DCT-2 ====
\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] 
==== DCT-3 ====
\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] 
โดยที่  k_i = \left \{ \begin{matrix} 1/ \sqrt{2}, & \mbox{if }i=0 \\ 1, & \mbox{otherwise } \end{matrix} \right.  สำหรับกรณี DCT-2, DCT-3
==== DCT-4 ====
\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] 
=== การแปลงความยาวคี่ ===
การแปลงโคไซน์มาตรฐาน ความยาวคู่ ในรูปเมทริกซ์ ให้ m,n = 0,\ldots,N-1
==== DCT-5 ====
\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] 
==== DCT-6 ====
\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] 
==== DCT-7 ====
\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] 
โดยที่
 k_i = \left \{ \begin{matrix} 1/ \sqrt{2}, & \mbox{if }i=0 \\ 1, & \mbox{otherwise } \end{matrix} \right. 
และ
 l_i = \left \{ \begin{matrix} 1/ \sqrt{2}, & \mbox{if }i=N-1 \\ 1, & \mbox{otherwise } \end{matrix} \right. 
สำหรับกรณี DCT-5, DCT-6 และ DCT-7
==== DCT-8 ====
\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] 
=== การแปลงกลับ ===
การแปลงกลับ DCT หรือ IDCT นั้น สามารถหาได้จาก ทรานสโพส ของการแปลง เนื่องมาจากคุณสมบัติ unitary ของเมทริกซ์การแปลง DCT
ซึ่งการแปลงทั้งความยาวคู่ และ คี่ นั้นมีคุณสมบัติดังกล่าว เมทริกซ์การแปลงด้านล่างจึงใช้หมายถึงทั้งความยาวคู่ และ คี่
{|align = "center"
|-
| \left[ C^{I}_{N} \right]^{-1}
| =\left[ C^{I}_{N} \right]^{T}
| =\left[ C^{I}_{N} \right]
|-
| \left[ C^{II}_{N} \right]^{-1}
| =\left[ C^{II}_{N} \right]^{T}
| =\left[ C^{III}_{N} \right]
|-
| \left[ C^{III}_{N} \right]^{-1}
| =\left[ C^{III}_{N} \right]^{T}
| =\left[ C^{II}_{N} \right]
|-
| \left[ C^{IV}_{N} \right]^{-1}
| =\left[ C^{IV}_{N} \right]^{T}
| =\left[ C^{IV}_{N} \right]
|}
== รายละเอียดอื่นๆ ==
การแปลงโคไซน์ ไม่ต่อเนื่องนั้นถูกค้นพบครั้งแรกในปี ค.ศ. 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 รูปแบบดังแสดงในรูป
{| border="1" cellpadding="5" cellspacing="0" align = "center"
|+ สัญญาณเสมือน ซึ่งเป็นไปตามเงื่อนไข ขอบซ้าย(สมมาตร) และ ขอบขวา(คาบ)-ดัดแปลงจาก ภาพ2ใน[3]
|-
! style="background:#efefef;" | ชนิด
! style="background:#efefef;" | ความยาวคาบคู่
! style="background:#efefef;" | ชนิด
! style="background:#efefef;" | ความยาวคาบคี่
|-
| DCT-I
| 300px
| DCT-V
| 300px
|-
| DCT-II
| 300px
| DCT-VI
| 300px
|-
| DCT-III
| 300px
| DCT-VII
| 300px
|-
| DCT-IV
| 300px
| DCT-VIII
| 300px
|-
|}
== อ้างอิง ==
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.
== แหล่งข้อมูลเถื่อน ==
discrete cosine transform ที่ PlanetMath
การประมวลผลสัญญาณดิจิทัล
คณิตศาสตร์
การแปลง
เอช.26x