**การแปลงโคไซน์ไม่ต่อเนื่อง** (อังกฤษ: 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) จึงทำให้ลดความซับซอนในการออกแบบกระบวนการในทางปฏิบัติ

คำจำกัดความมาตรฐาน
------------------

การแปลงในรูปเมทริกซ์ :

{\displaystyle \mathbf {X} ^{DCT}=[C]\mathbf {x} }
 ***หมายเหตุ** : ความยาวคี่(คู่) ของการแปลงในที่นี้หมายถึงส่วนความยาวของข้อมูล รวมกับส่วนขยายเสมือน ไม่ใช่ความยาวของตัวข้อมูลเอง ซึ่งในที่นี้ความยาวของข้อมูลสามารถเป็นได้ทั้งคู่ และคี่ ขึ้นกับ N*

### การแปลงความยาวคู่

การแปลงโคไซน์มาตรฐาน ความยาวคู่ ในรูปเมทริกซ์ ให้ {\displaystyle m,n=0,\ldots ,N-1}

#### DCT-1

{\displaystyle \left[C\_{N}^{IE}\right]\_{mn}={\sqrt {\frac {2}{N-1}}}\left[k\_{m}k\_{n}\cos \left(mn{\frac {\pi }{N-1}}\right)\right]}
โดยที่ {\displaystyle k\_{i}=\left\{{\begin{matrix}1/{\sqrt {2}},&{\mbox{if }}i=0{\mbox{ or }}N-1\\1,&{\mbox{otherwise }}\end{matrix}}\right.}

#### DCT-2

{\displaystyle \left[C\_{N}^{IIE}\right]\_{mn}={\sqrt {\frac {2}{N}}}\left[k\_{m}\cos \left(m(n+{\frac {1}{2}}){\frac {\pi }{N}}\right)\right]}
#### DCT-3

{\displaystyle \left[C\_{N}^{IIIE}\right]\_{mn}={\sqrt {\frac {2}{N}}}\left[k\_{n}\cos \left((m+{\frac {1}{2}})n{\frac {\pi }{N}}\right)\right]}
โดยที่ {\displaystyle k\_{i}=\left\{{\begin{matrix}1/{\sqrt {2}},&{\mbox{if }}i=0\\1,&{\mbox{otherwise }}\end{matrix}}\right.} สำหรับกรณี DCT-2, DCT-3

#### DCT-4

{\displaystyle \left[C\_{N}^{IVE}\right]\_{mn}={\sqrt {\frac {2}{N}}}\left[\cos \left((m+{\frac {1}{2}})(n+{\frac {1}{2}}){\frac {\pi }{N}}\right)\right]}
### การแปลงความยาวคี่

การแปลงโคไซน์มาตรฐาน ความยาวคู่ ในรูปเมทริกซ์ ให้ {\displaystyle m,n=0,\ldots ,N-1}

#### DCT-5

{\displaystyle \left[C\_{N}^{I0}\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

{\displaystyle \left[C\_{N}^{II0}\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

{\displaystyle \left[C\_{N}^{III0}\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]}
โดยที่
{\displaystyle k\_{i}=\left\{{\begin{matrix}1/{\sqrt {2}},&{\mbox{if }}i=0\\1,&{\mbox{otherwise }}\end{matrix}}\right.}
และ
{\displaystyle 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

{\displaystyle \left[C\_{N}^{IV0}\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
ซึ่งการแปลงทั้งความยาวคู่ และ คี่ นั้นมีคุณสมบัติดังกล่าว เมทริกซ์การแปลงด้านล่างจึงใช้หมายถึงทั้งความยาวคู่ และ คี่

|  |  |  |
| --- | --- | --- |
| {\displaystyle \left[C\_{N}^{I}\right]^{-1}} | {\displaystyle =\left[C\_{N}^{I}\right]^{T}} | {\displaystyle =\left[C\_{N}^{I}\right]} |
| {\displaystyle \left[C\_{N}^{II}\right]^{-1}} | {\displaystyle =\left[C\_{N}^{II}\right]^{T}} | {\displaystyle =\left[C\_{N}^{III}\right]} |
| {\displaystyle \left[C\_{N}^{III}\right]^{-1}} | {\displaystyle =\left[C\_{N}^{III}\right]^{T}} | {\displaystyle =\left[C\_{N}^{II}\right]} |
| {\displaystyle \left[C\_{N}^{IV}\right]^{-1}} | {\displaystyle =\left[C\_{N}^{IV}\right]^{T}} | {\displaystyle =\left[C\_{N}^{IV}\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 รูปแบบดังแสดงในรูป

**สัญญาณเสมือน ซึ่งเป็นไปตามเงื่อนไข ขอบซ้าย(สมมาตร) และ ขอบขวา(คาบ)**-*ดัดแปลงจาก ภาพ2ใน[3]*| ชนิด | ความยาวคาบคู่ | ชนิด | ความยาวคาบคี่ |
| --- | --- | --- | --- |
| 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.

แหล่งข้อมูลเถื่อน
-----------------

* discrete cosine transform ที่ PlanetMath