กลับไปหน้าบทความ

อ่าน 42 นาที

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

การแปลงโคไซน์แบบไม่ต่อเนื่อง ( DCT ) แสดงลำดับ ข้อมูล จำกัด ในรูปผลรวมของฟังก์ชัน โคไซน์ ที่แกว่งด้วย ความถี่ ต่างกัน DCT ซึ่งเสนอครั้งแรกโดย Nasir Ahmed ในปี 1972...

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

การแปลงโคไซน์แบบไม่ต่อเนื่อง ( DCT )แสดงลำดับข้อมูล จำกัด ในรูปผลรวมของฟังก์ชันโคไซน์ ที่แกว่งด้วย ความถี่ ต่างกัน DCT ซึ่งเสนอครั้งแรกโดยNasir Ahmedในปี 1972 เป็นเทคนิคการแปลงที่ใช้กันอย่างแพร่หลายในการประมวลผลสัญญาณและการบีบอัดข้อมูลใช้ในสื่อดิจิทัล ส่วนใหญ่ รวมถึงภาพดิจิทัล (เช่นJPEGและHEIF ) วิดีโอดิจิทัล (เช่นMPEGและH.26x ) เสียงดิจิทัล (เช่นDolby Digital , MP3และAAC ) โทรทัศน์ดิจิทัล (เช่นSDTV , HDTVและVOD ) วิทยุดิจิทัล (เช่นAAC+และDAB+ ) และการเข้ารหัสเสียงพูด (เช่นAAC-LD , SirenและOpus ) นอกจากนี้ DCT ยังมีความสำคัญต่อการใช้งานอื่นๆ อีกมากมายในวิทยาศาสตร์และวิศวกรรมเช่นการประมวลผลสัญญาณดิจิทัลอุปกรณ์โทรคมนาคม การลดการ ใช้ แบนด์วิดท์เครือข่ายและวิธีการเชิงสเปกตรัมสำหรับการแก้สมการเชิงอนุพันธ์ย่อยด้วยวิธี เชิง ตัวเลข

DCT (Discrete Fourier Transform) คือการแปลงที่เกี่ยวข้องกับฟูริเยร์คล้ายกับการแปลงฟูริเยร์แบบไม่ต่อเนื่อง (DFT) แต่ใช้เฉพาะจำนวนจริง เท่านั้น โดย ทั่วไปแล้ว DCT จะเกี่ยวข้องกับ สัมประสิทธิ์ อนุกรมฟูริเยร์ของลำดับที่ขยายเป็นคาบและสมมาตร ในขณะที่ DFT เกี่ยวข้องกับสัมประสิทธิ์อนุกรมฟูริเยร์ของลำดับที่ขยายเป็นคาบเท่านั้น DCT เทียบเท่ากับ DFT ที่มีความยาวประมาณสองเท่า ทำงานกับข้อมูลจริงที่มี สมมาตร คู่ (เนื่องจากการแปลงฟูริเยร์ของฟังก์ชันจริงและคู่เป็นจำนวนจริงและคู่) ในขณะที่ในบางรูปแบบ ข้อมูลอินพุตหรือเอาต์พุตจะถูกเลื่อนไปครึ่งหนึ่งของตัวอย่าง

จากมุมมองของการประมวลผลสัญญาณเชิงพีชคณิตความสัมพันธ์ระหว่าง DCT และ DFT สะท้อนถึงโครงสร้างพีชคณิตพื้นฐานที่แตกต่างกัน: ฟังก์ชันพื้นฐานของ DFT เป็นตัวแทนที่ไม่สามารถลดทอนได้ของกลุ่มวัฏจักรทำให้ DFT เป็นการแปลงสเปกตรัมตามธรรมชาติสำหรับสัญญาณที่มีเงื่อนไขขอบเขตแบบคาบ (วงกลม) ในขณะที่ฟังก์ชันพื้นฐานของ DCT เป็นตัวแทนที่ไม่สามารถลดทอนได้ของกลุ่มไดเฮดรัลทำให้ DCT เป็นธรรมชาติสำหรับสัญญาณที่มีเงื่อนไขขอบเขตแบบสมมาตร (คู่) [ 1 ]

มีการแปลงโคไซน์แบบไม่ต่อเนื่อง (DCT) มาตรฐานแปดแบบ ซึ่งสี่แบบเป็นที่นิยมใช้กัน แบบที่นิยมใช้มากที่สุดคือ DCT แบบที่สอง ซึ่งมักเรียกง่ายๆ ว่าDCT <sub>II </sub> นี่คือ DCT ดั้งเดิมที่เสนอโดย Ahmed เป็นครั้งแรก ส่วนแบบผกผันของมันคือ DCT แบบที่สาม ซึ่งมักเรียกง่ายๆ ว่าDCT ผกผันหรือIDCTการแปลงที่เกี่ยวข้องอีกสองแบบคือการแปลงไซน์แบบไม่ต่อเนื่อง (DST) ซึ่งเทียบเท่ากับ DFT ของฟังก์ชันจำนวนจริงและจำนวนคี่และการแปลงโคไซน์แบบไม่ต่อเนื่องแบบดัดแปลง (MDCT) ซึ่งอิงจาก DCT ของข้อมูลที่ซ้อนทับกัน DCT แบบหลายมิติ (MD DCT) ถูกพัฒนาขึ้นเพื่อขยายแนวคิดของ DCT ไปสู่สัญญาณหลายมิติ มีการพัฒนาอัลกอริธึมที่รวดเร็วหลากหลายวิธีเพื่อลดความซับซ้อนในการคำนวณของการใช้งาน DCT หนึ่งในนั้นคือ DCT จำนวนเต็ม (IntDCT) [ 2 ]ซึ่ง เป็นการประมาณ ค่าจำนวนเต็มของ DCT มาตรฐาน[ 3 ] : ix, xiii, 1, 141–304ที่ใช้ในมาตรฐานสากลISO/IECและITU-T หลายฉบับ [ 2 ] [ 3 ]

การบีบอัด DCT หรือที่เรียกว่าการบีบอัดแบบบล็อก จะบีบอัดข้อมูลในชุดของบล็อก DCT ที่แยกจากกัน[ 4 ]ขนาดบล็อก DCT รวมถึง8 × 8พิกเซลสำหรับ DCT มาตรฐาน และขนาด DCT จำนวนเต็มที่แตกต่างกันระหว่าง4 × 4และ32 × 32พิกเซล[ 2 ] [ 5 ] DCT มีคุณสมบัติการบีบอัดพลังงาน ที่แข็งแกร่ง [ 6 ] [ 7 ]ซึ่งสามารถบรรลุคุณภาพสูงที่อัตราส่วนการบีบอัดข้อมูลสูง[ 8 ] [ 9 ]อย่างไรก็ตาม อาจเกิด สิ่งแปลกปลอมจากการบีบอัด แบบบล็อกขึ้น ได้เมื่อใช้การบีบอัด DCT อย่างหนัก

ประวัติศาสตร์

DCT ถูกคิดค้นขึ้นครั้งแรกโดยNasir Ahmedขณะทำงานอยู่ที่Kansas State Universityแนวคิดนี้ถูกเสนอต่อNational Science Foundationในปี 1972 เดิมที DCT มีจุดประสงค์เพื่อ การบีบ อัดภาพ[ 10 ] [ 2 ] Ahmed ได้พัฒนาอัลกอริทึม DCT ที่ใช้งานได้จริงร่วมกับนักศึกษาปริญญาเอกของเขา T. Raj Natarajan และKR Raoที่มหาวิทยาลัยเท็กซัสที่อาร์ลิงตันในปี 1973 [ 10 ]พวกเขานำเสนอผลลัพธ์ในบทความเดือนมกราคม 1974 ในชื่อDiscrete Cosine Transform [ 6 ] [ 7 ] [ 11 ] ซึ่งอธิบายสิ่งที่ปัจจุบันเรียกว่า DCT ประเภท II (DCT-II) [ 3 ] : 51รวมถึง DCT ผกผันประเภท III (IDCT) [ 6 ]

นับตั้งแต่มีการนำเสนอในปี 1974 มีการวิจัยเกี่ยวกับ DCT อย่างมีนัยสำคัญ[ 11 ]ในปี 1977 Wen-Hsiung Chen ได้ตีพิมพ์บทความร่วมกับ C. Harrison Smith และ Stanley C. Fralick ซึ่งนำเสนออัลกอริทึม DCT ที่รวดเร็ว[ 12 ] [ 11 ]การพัฒนาเพิ่มเติม ได้แก่ บทความในปี 1978 โดย MJ Narasimha และ AM Peterson และบทความในปี 1984 โดย BG Lee [ 11 ]บทความวิจัยเหล่านี้ พร้อมด้วยบทความของ Ahmed ในปี 1974 และบทความของ Chen ในปี 1977 ได้รับการอ้างอิงโดยJoint Photographic Experts Groupว่าเป็นพื้นฐานสำหรับอัลกอริทึมการบีบอัดภาพแบบสูญเสียข้อมูลของJPEG ในปี 1992 [ 11 ] [ 13 ]

การแปลงไซน์แบบไม่ต่อเนื่อง (DST) ได้มาจาก DCT โดยการแทนที่เงื่อนไข Neumannที่x=0ด้วยเงื่อนไขDirichlet [ 3 ] : 35-36 DST ได้รับการอธิบายในบทความ DCT ปี 1974 โดย Ahmed, Natarajan และ Rao [ 6 ] ต่อมา Anil K. Jainได้อธิบาย DST ประเภทที่ 1 (DST-I) ในปี 1976 และ HB Kekra และ JK Solanka ได้อธิบาย DST ประเภทที่ 2 (DST-II) ในปี 1978 [ 14 ]

ในปี พ.ศ. 2518 John A. Roese และ Guner S. Robinson ได้ดัดแปลง DCT สำหรับการเข้ารหัสวิดีโอชดเชยการเคลื่อนไหวระหว่างเฟรม พวกเขาได้ทดลองกับ DCT และการแปลงฟูริเยร์แบบเร็ว (FFT) โดยพัฒนาตัวเข้ารหัสแบบไฮบริดระหว่างเฟรมสำหรับทั้งสอง และพบว่า DCT มีประสิทธิภาพมากที่สุดเนื่องจากมีความซับซ้อนน้อยลง สามารถบีบอัดข้อมูลภาพลงเหลือ 0.25 บิตต่อพิกเซลสำหรับ ฉาก วิดีโอโทรศัพท์ที่มีคุณภาพของภาพเทียบเท่ากับตัวเข้ารหัสภายในเฟรมที่ต้องการ 2 บิตต่อพิกเซล[ 15 ] [ 16 ]ในปี พ.ศ. 2522 Anil K. Jainและ Jaswant R. Jain ได้พัฒนาการบีบอัดวิดีโอ DCT ชดเชยการเคลื่อนไหวเพิ่มเติม[ 17 ] [ 18 ]ซึ่งเรียกอีกอย่างว่าการชดเชยการเคลื่อนไหวแบบบล็อก[ 18 ]สิ่งนี้ทำให้ Chen พัฒนาอัลกอริทึมการบีบอัดวิดีโอที่ใช้งานได้จริง เรียกว่า DCT ที่ชดเชยการเคลื่อนไหวหรือการเข้ารหัสฉากแบบปรับได้ ในปี 1981 [ 18 ]ต่อมา DCT ที่ชดเชยการเคลื่อนไหวกลายเป็นเทคนิคการเข้ารหัสมาตรฐานสำหรับการบีบอัดวิดีโอตั้งแต่ปลายทศวรรษ 1980 เป็นต้นไป[ 19 ] [ 20 ]

รูปแบบหนึ่งของ DCT คือการแปลงโคไซน์แบบไม่ต่อเนื่องที่ดัดแปลง (MDCT) ได้รับการพัฒนาโดย John P. Princen, AW Johnson และ Alan B. Bradley ที่มหาวิทยาลัย Surreyในปี 1987 [ 21 ]โดยอ้างอิงจากงานก่อนหน้านี้ของ Princen และ Bradley ในปี 1986 [ 22 ] MDCT ถูกใช้ใน รูปแบบ การบีบอัดเสียง สมัยใหม่ส่วนใหญ่ เช่นDolby Digital (AC-3) [ 23 ] [ 24 ] MP3 (ซึ่งใช้อัลกอริทึมแบบไฮบริด DCT-FFT) [ 25 ] Advanced Audio Coding (AAC) [ 26 ]และVorbis ( Ogg ) [ 27 ]

Nasir Ahmed ยังได้พัฒนาอัลกอริทึม DCT แบบไม่สูญเสียข้อมูลร่วมกับ Giridhar Mandyam และ Neeraj Magotra ที่มหาวิทยาลัยนิวเม็กซิโกในปี 1995 ซึ่งทำให้สามารถใช้เทคนิค DCT สำหรับการบีบอัดภาพแบบไม่สูญเสียข้อมูลได้ เป็นการดัดแปลงอัลกอริทึม DCT ดั้งเดิม และรวมองค์ประกอบของ DCT ผกผันและการปรับเดลต้า เข้าไว้ด้วยกัน เป็นอัลกอริทึมการบีบอัดแบบไม่สูญเสียข้อมูลที่มีประสิทธิภาพมากกว่าการเข้ารหัสเอนโทรปี[ 28 ] DCT แบบไม่สูญเสียข้อมูลเรียกอีกอย่างว่า LDCT [ 29 ]

แอปพลิเคชัน

DCT เป็นเทคนิคการแปลงที่ใช้กันอย่างแพร่หลายที่สุดในการประมวลผลสัญญาณ [ 30 ]และเป็นการแปลงเชิงเส้นที่ใช้กันอย่างแพร่หลายที่สุดใน การบีบ อัดข้อมูล[ 31 ]สื่อดิจิทัลที่ไม่ได้ บีบอัด รวมถึงการบีบอัดแบบไม่สูญเสีย ข้อมูล มีความต้องการ หน่วยความจำและแบนด์วิดท์สูงซึ่งลดลงอย่างมากด้วยเทคนิคการบีบอัดแบบสูญเสีย ข้อมูล DCT [ 8 ] [ 9 ]ซึ่งสามารถบรรลุอัตราส่วนการบีบอัดข้อมูลตั้งแต่ 8:1 ถึง 14:1 สำหรับคุณภาพใกล้เคียงกับสตูดิโอ[ 8 ] สูง ถึง 100: 1 สำหรับเนื้อหาคุณภาพที่ยอมรับได้[ 9 ]มาตรฐานการบีบอัด DCT ใช้ในเทคโนโลยีสื่อดิจิทัล เช่นภาพดิจิทัลภาพถ่ายดิจิทัล[ 32 ] [ 33 ]วิดีโอดิจิทัล[ 19 ] [ 34 ]สื่อสตรีมมิ่ง [ 35 ] โทรทัศน์ดิจิทัลโทรทัศน์สตรีมมิ่งวิดีโอตามความต้องการ (VOD) [ 9 ]ภาพยนตร์ดิจิทัล [ 23 ]วิดีโอความละเอียดสูง (HD video )และโทรทัศน์ความละเอียดสูง (HDTV) [ 8 ] [ 36 ]

DCT และโดยเฉพาะอย่างยิ่ง DCT-II มักใช้ในการประมวลผลสัญญาณและภาพ โดยเฉพาะอย่างยิ่งสำหรับการบีบอัดแบบสูญเสียข้อมูล เนื่องจากมีคุณสมบัติการบีบอัดพลังงาน ที่แข็งแกร่ง [ 6 ] [ 7 ]ในการใช้งานทั่วไป ข้อมูลสัญญาณส่วนใหญ่มักจะกระจุกตัวอยู่ในส่วนประกอบความถี่ต่ำเพียงไม่กี่ส่วนของ DCT สำหรับกระบวนการ Markov ที่มีความสัมพันธ์กันอย่างมาก DCT สามารถเข้าใกล้ประสิทธิภาพการบีบอัดของการแปลง Karhunen-Loève (ซึ่งเหมาะสมที่สุดในแง่ของการลดความสัมพันธ์) ดังที่อธิบายไว้ด้านล่างนี้ สิ่งนี้เกิดจากเงื่อนไขขอบเขตที่แฝงอยู่ในฟังก์ชันโคไซน์

DCT ถูกนำมาใช้กันอย่างแพร่หลายในการแก้สมการเชิงอนุพันธ์ย่อยด้วยวิธีสเปกตรัมโดยที่ DCT รูปแบบต่างๆ จะสอดคล้องกับเงื่อนไขขอบเขตคู่และคี่ที่แตกต่างกันเล็กน้อยที่ปลายทั้งสองของอาร์เรย์

DCT มีความเกี่ยวข้องอย่างใกล้ชิดกับพหุนามเชบิเชฟและอัลกอริธึม DCT ที่รวดเร็ว (ด้านล่าง) ถูกนำมาใช้ในการประมาณค่าฟังก์ชันใดๆ ด้วยอนุกรมของพหุนามเชบิเชฟ เช่น ใน การหาปริพันธ์เชิงตัวเลข แบบ Clenshaw–Curtis

การใช้งานทั่วไป

DCT ถูกนำไปใช้อย่างแพร่หลายในหลายแอปพลิเคชัน ซึ่งรวมถึงแอปพลิเคชันต่อไปนี้

มาตรฐานสื่อภาพ

DCT-II เป็นเทคนิคการบีบอัดภาพที่สำคัญ ใช้ในมาตรฐานการบีบอัดภาพ เช่นJPEGและ มาตรฐาน การบีบอัดวิดีโอเช่นH.26x , MJPEG , MPEG , DV , TheoraและDaalaโดยจะคำนวณ DCT-II สองมิติของบล็อก และผลลัพธ์จะถูกควอนไทซ์และเข้ารหัสเอน โทรปี ในกรณีนี้โดยทั่วไปแล้วขนาดของบล็อกคือ 8 และสูตร DCT-II จะถูกนำไปใช้กับแต่ละแถวและคอลัมน์ของบล็อก ผลลัพธ์ที่ได้คืออาร์เรย์สัมประสิทธิ์การแปลงขนาด 8 × 8 ซึ่งองค์ประกอบ (ด้านบนซ้าย) คือส่วนประกอบ DC (ความถี่ศูนย์) และค่าดัชนีแนวตั้งและแนวนอนที่เพิ่มขึ้นจะแสดงถึงความถี่เชิงพื้นที่แนวตั้งและแนวนอนที่สูงขึ้น

DCT แบบจำนวนเต็ม ซึ่งเป็นการประมาณค่า DCT แบบจำนวนเต็ม[ 3 ] [ 2 ]ถูกใช้ในAdvanced Video Coding (AVC) [ 53 ] [ 2 ]ซึ่งเปิดตัวในปี 2003 และHigh Efficiency Video Coding (HEVC) [ 5 ] [ 2 ]ซึ่งเปิดตัวในปี 2013 นอกจากนี้ DCT แบบจำนวนเต็มยังถูกใช้ในHigh Efficiency Image Format (HEIF) ซึ่งใช้ชุดย่อยของ รูปแบบการเข้ารหัสวิดีโอ HEVCสำหรับการเข้ารหัสภาพนิ่ง[ 5 ] AVC ใช้บล็อกขนาด 4 x 4 และ 8 x 8 พิกเซล ส่วน HEVC และ HEIF ใช้ขนาดบล็อกที่แตกต่างกันระหว่าง 4 x 4 และ 32 x 32 พิกเซล[ 5 ] [ 2 ] ปี 2019 AVC เป็นรูปแบบที่ใช้กันมากที่สุดสำหรับการบันทึก การบีบอัด และการเผยแพร่เนื้อหาวิดีโอ โดยมีนักพัฒนาวิดีโอใช้ถึง 91% ตามมาด้วย HEVC ซึ่งมีนักพัฒนาใช้ 43% [ 44 ]

รูปแบบภาพ

มาตรฐานการบีบอัดภาพปีการใช้งานทั่วไป
JPEG [ 2 ]1992มาตรฐานการบีบอัดภาพที่ใช้กันอย่างแพร่หลายที่สุด[ 54 ] [ 55 ]และรูปแบบภาพ ดิจิทัล [ 47 ]
เจพีอี เอ็กซ์2009ข้อกำหนดเอกสาร XML แบบเปิด
เว็บพี2010รูปแบบกราฟิกที่รองรับการบีบอัดภาพดิจิทัลแบบสูญเสียข้อมูล พัฒนาโดย Google
รูปแบบภาพประสิทธิภาพสูง (HEIF)2013รูปแบบไฟล์ภาพที่ใช้การบีบอัด HEVC ช่วยปรับปรุงการบีบอัดให้ดีขึ้นกว่า JPEG [ 5 ]และรองรับภาพเคลื่อนไหวด้วยการบีบอัดที่มีประสิทธิภาพมากกว่ารูปแบบGIF แบบเคลื่อนไหว[ 56 ]
บีพีจี2014อ้างอิงจากการบีบอัด HEVC
JPEG XL [ 57 ]2020รูปแบบไฟล์ภาพแรสเตอร์ที่ไม่ต้องเสียค่าลิขสิทธิ์ ซึ่งรองรับทั้งการบีบอัดแบบสูญเสียข้อมูลและไม่สูญเสียข้อมูล

รูปแบบวิดีโอ

มาตรฐานการเข้ารหัสวิดีโอปีการใช้งานทั่วไป
H.261 [ 58 ] [ 59 ]1988เป็น มาตรฐานการเข้ารหัสวิดีโอตัวแรกในตระกูล มาตรฐาน ที่ใช้กันเป็นหลักในผลิตภัณฑ์ การประชุมทางวิดีโอและโทรศัพท์ผ่านวิดีโอ รุ่นเก่า
Motion JPEG (MJPEG) [ 60 ]1992QuickTime , การตัดต่อวิดีโอ , การตัดต่อแบบไม่เชิงเส้น , กล้องดิจิทัล
วิดีโอMPEG-1 [ 61 ]พ.ศ. 2536การจัดจำหน่าย วิดีโอดิจิทัลในรูปแบบซีดีหรือวิดีโอทางอินเทอร์เน็ต
วิดีโอ MPEG-2 ( H.262 ) [ 61 ]พ.ศ. 2538การจัดเก็บและการประมวลผลภาพดิจิทัลในงานออกอากาศต่างๆ เช่นโทรทัศน์ดิจิทัล HDTV เคเบิล ทีวี ดาวเทียม อินเทอร์เน็ตความเร็วสูงและการจัดจำหน่ายวิดีโอ DVD
ดีวีพ.ศ. 2538กล้องวิดีโอ , เทปคาสเซ็ตดิจิทัล
H.263 ( MPEG-4 ส่วนที่ 2 ) [ 58 ]พ.ศ. 2539การโทรผ่านวิดีโอผ่านเครือข่ายโทรศัพท์สาธารณะ (PSTN), H.320 , เครือข่ายดิจิทัลบริการแบบบูรณาการ (ISDN) [ 62 ] [ 63 ]
การเข้ารหัสวิดีโอขั้นสูง (AVC, H.264 , MPEG-4 ) [ 2 ] [ 53 ]2003รูป แบบการบันทึก การบีบอัด และการเผยแพร่วิดีโอ HD ยอดนิยม ได้แก่วิดีโออินเทอร์เน็ต YouTube แผ่นลูเรย์การออกอากาศHDTV เว็บเบราว์เซอร์โทรทัศน์สตรีมิ่ง อุปกรณ์เคลื่อนที่ อุปกรณ์สำหรับผู้บริโภคNetflix [ 43 ]การสนทนาทางวิดีโอFaceTime [ 42 ]
ธีโอร่า2004วิดีโอทางอินเทอร์เน็ต, เว็บเบราว์เซอร์
วีซี-12006วินโดวส์มีเดีย, แผ่นบลูเรย์
Apple ProRes2007การผลิตวิดีโอระดับมืออาชีพ[ 51 ]
วีพี92010ตัวแปลงสัญญาณวิดีโอที่พัฒนาโดยGoogleซึ่งใช้ในรูปแบบคอนเทนเนอร์WebMร่วม กับ HTML5
การเข้ารหัสวิดีโอประสิทธิภาพสูง (HEVC, H.265 ) [ 2 ] [ 5 ]2013เป็นมาตรฐาน ที่พัฒนาต่อจากH.264โดยมีประสิทธิภาพการบีบอัดข้อมูลที่ดีขึ้นอย่างมาก
ดาล่า2013รูปแบบวิดีโอวิจัยโดยXiph.org
AV1 [ 64 ]2018รูปแบบโอเพนซอร์สที่ใช้ VP10 ( รุ่นต่อยอดภายในของVP9 ), DaalaและThor ; ใช้โดยผู้ให้บริการเนื้อหา เช่นYouTube [ 65 ] [ 66 ]และNetflix [ 67 ] [ 68 ]

มาตรฐานเสียง MDCT

เสียงทั่วไป

มาตรฐานการบีบอัดเสียง ปี การใช้งานทั่วไป
ดอลบี ดิจิตอล (AC-3) [ 23 ] [ 24 ]1991 ภาพยนตร์ , ภาพยนตร์ดิจิทัล , ดีวีดี , บลูเรย์ , สื่อสตรีมมิ่ง , วิดีโอเกม
การเข้ารหัสเสียงแบบแปลงปรับตัว (ATRAC) [ 23 ]1992 มินิดิสก์
MP3 [ 25 ] [ 2 ]พ.ศ. 2536 การเผยแพร่ เสียงดิจิทัล , เครื่องเล่น MP3 , เครื่องเล่นสื่อพกพา , สื่อสตรีมมิ่ง
ตัวเข้ารหัสเสียงเชิงรับรู้ (PAC) [ 23 ]พ.ศ. 2539 บริการวิทยุเสียงดิจิทัล (DARS)
การเข้ารหัสเสียงขั้นสูง (AAC / เสียงMP4 ) [ 26 ] [ 23 ]พ.ศ. 2540 การกระจายเสียง ดิจิทัล , เครื่องเล่นสื่อพกพา , สื่อสตรีมมิ่ง , เครื่องเล่นเกม , อุปกรณ์พกพา , iOS , iTunes , Android , BlackBerry
การเข้ารหัสเสียงขั้นสูงประสิทธิภาพสูง (AAC+) [ 69 ] [ 39 ] : 478พ.ศ. 2540 วิทยุดิจิทัล , การออกอากาศเสียงดิจิทัล (DAB+), [ 39 ]วิทยุดิจิทัลทั่วโลก (DRM)
คุก โคเดค1998 เรียลออดิโอ
Windows Media Audio (WMA) [ 23 ]1999 วินโดวส์มีเดีย
วอร์บิส[ 27 ] [ 23 ]2000 การเผยแพร่ เสียงดิจิทัล , สถานีวิทยุ , สื่อสตรีมมิ่ง , วิดีโอเกม , Spotify , วิกิพีเดีย
การเข้ารหัสความละเอียดสูง (HDC) [ 40 ]2002 วิทยุดิจิทัล, วิทยุ HD
การปรับความละเอียดแบบไดนามิก (DRA) [ 23 ]2008 มาตรฐานเสียงแห่งชาติของจีน, การออกอากาศมัลติมีเดียเคลื่อนที่ของจีน , DVB-H
โอปุส[ 70 ]2012 VoIP [ 71 ]โทรศัพท์มือถือWhatsApp [ 72 ] [ 73 ] [ 74 ] PlayStation 4 [ 75 ]
ดอลบี้ เอซี-4 [ 76 ]2015 ATSC 3.0โทรทัศน์ความละเอียดสูงพิเศษ (UHD TV)
เสียง 3 มิติ MPEG-H [ 77 ]

การเข้ารหัสเสียง

มาตรฐานการเข้ารหัสเสียงปี การใช้งานทั่วไป
AAC-LD (LD-MDCT) [ 78 ]1999 โทรศัพท์มือถือ , เสียงผ่าน IP (VoIP), iOS , FaceTime [ 42 ]
ไซเรน[ 41 ]1999 VoIP , เสียงย่านความถี่กว้าง , G.722.1
G.722.1 [ 79 ]1999 VoIP, เสียงย่านความถี่กว้าง, G.722
G.729.1 [ 80 ]2006 G.729 , VoIP, เสียงย่านความถี่กว้าง, [ 80 ]โทรศัพท์มือถือ
EVRC-WB [ 39 ] : 31 , 478] 2007 เสียงไวด์แบนด์
G.718 [ 81 ]2008 VoIP, เสียงย่านความถี่กว้าง, โทรศัพท์มือถือ
G.719 [ 39 ]2008 การประชุมทางไกล , การประชุมผ่านวิดีโอ , ข้อความเสียง
CELT [ 82 ]2011 VoIP, [ 83 ] [ 84 ]โทรศัพท์มือถือ
บริการเสียงขั้นสูง (EVS) [ 85 ]2014 โทรศัพท์มือถือ, VoIP, เสียงย่านความถี่กว้าง

DCT แบบหลายมิติ

DCT หลายมิติ (MD DCT) มีการใช้งานหลายอย่าง โดยส่วนใหญ่เป็น DCT 3 มิติ เช่น 3 มิติ DCT-II ซึ่งมีการใช้งานใหม่หลายอย่าง เช่น ระบบการเข้ารหัสภาพไฮเปอร์สเปกตรัม[ 86 ]การเข้ารหัส DCT 3 มิติที่มีความยาวเชิงเวลาแปรผัน[ 87 ] อัลกอริทึมการเข้ารหัสวิดีโอ[ 88 ]การเข้ารหัสวิดีโอแบบปรับตัว[ 89 ]และการบีบอัด 3 มิติ[ 90 ]เนื่องจากการพัฒนาฮาร์ดแวร์ ซอฟต์แวร์ และการแนะนำอัลกอริทึมที่รวดเร็วหลายอย่าง ความจำเป็นในการใช้ MD DCT จึงเพิ่มขึ้นอย่างรวดเร็วDCT-IVได้รับความนิยมสำหรับการใช้งานในการใช้งานอย่างรวดเร็วของธนาคารตัวกรองโพลีเฟสค่าจริง[ 91 ]การแปลงออร์โธโกนอลแบบซ้อนทับ[ 92 ] [ 93 ]และฐานเวฟเล็ตแบบมอดูเลตโคไซน์[ 94 ]

การประมวลผลสัญญาณดิจิทัล

DCT มีบทบาทสำคัญในการประมวลผลสัญญาณดิจิทัลโดยเฉพาะการบีบอัดข้อมูล DCT ถูกนำไปใช้อย่างแพร่หลายในโปรเซสเซอร์สัญญาณดิจิทัล (DSP) รวมถึงซอฟต์แวร์ประมวลผลสัญญาณดิจิทัล บริษัทหลายแห่งได้พัฒนา DSP โดยใช้เทคโนโลยี DCT DCT ถูกนำมาใช้กันอย่างแพร่หลายในแอปพลิเคชันต่างๆ เช่นการเข้ารหัสการถอดรหัส วิดีโอ เสียงการมัลติเพล็กซ์ สัญญาณควบคุมการส่งสัญญาณและการแปลงอนาล็อกเป็นดิจิทัลนอกจากนี้ DCT ยังถูกใช้กันทั่วไปในชิป เข้ารหัส/ถอดรหัส โทรทัศน์ความละเอียดสูง (HDTV ) [ 2 ]

สิ่งแปลกปลอมจากการบีบอัด

ปัญหาทั่วไปของการบีบอัด DCT ในสื่อดิจิทัลคือสิ่งแปลกปลอมจากการบีบอัดแบบ เป็นบล็อก [ 95 ]ซึ่งเกิดจากบล็อก DCT [ 4 ]ในอัลกอริธึม DCT รูปภาพ (หรือเฟรมในลำดับภาพ) จะถูกแบ่งออกเป็นบล็อกสี่เหลี่ยมซึ่งจะถูกประมวลผลแยกจากกัน จากนั้นจะนำบล็อก DCT ภายในแต่ละบล็อกและค่าสัมประสิทธิ์ DCT ที่ได้จะถูกควอนไทซ์กระบวนการนี้ อาจทำให้เกิดสิ่งแปลกปลอมแบบเป็นบล็อก โดยเฉพาะอย่างยิ่งที่ อัตราส่วนการบีบอัดข้อมูลสูง[ 95 ]นอกจากนี้ยังอาจทำให้เกิด เอฟเฟกต์สัญญาณ รบกวนแบบยุงซึ่งมักพบในวิดีโอดิจิทัล[ 96 ]

บล็อก DCT มักถูกใช้ในงานศิลปะกลิตช์ [ 4 ] ศิลปิน Rosa Menkmanใช้สิ่งประดิษฐ์การบีบอัดแบบ DCT ในงานศิลปะกลิตช์ของเธอ[ 97 ]โดยเฉพาะอย่างยิ่งบล็อก DCT ที่พบใน รูปแบบ สื่อดิจิทัล ส่วนใหญ่ เช่น ภาพดิจิทัล JPEGและไฟล์เสียงMP3 [ 4 ]อีกตัวอย่างหนึ่งคือภาพ JPEGของช่างภาพชาวเยอรมันThomas Ruffซึ่งใช้ สิ่งประดิษฐ์ JPEG ที่ตั้งใจ เป็นพื้นฐานของสไตล์ภาพ[ 98 ] [ 99 ]

ภาพรวมอย่างไม่เป็นทางการ

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

การแปลงที่เกี่ยวข้องกับฟูริเยร์ซึ่งกระทำกับฟังก์ชันในโดเมน จำกัด เช่น DFT หรือ DCT หรืออนุกรมฟูริเยร์สามารถมองได้ว่าเป็นการกำหนดส่วนขยายของฟังก์ชันนั้นออกไปนอกโดเมนโดยปริยาย กล่าวคือ เมื่อคุณเขียนฟังก์ชันเป็นผลรวมของไซน์ คุณสามารถประเมินผลรวมนั้นได้ที่ค่าใดๆ ก็ได้แม้กระทั่งในกรณีที่ไม่ได้ระบุค่าดั้งเดิมไว้ก็ตาม DFT เช่นเดียวกับอนุกรมฟูริเยร์ บ่งบอกถึง ส่วนขยาย แบบคาบของฟังก์ชันดั้งเดิม ส่วน DCT เช่นเดียวกับการแปลงโคไซน์บ่งบอกถึง ส่วนขยายแบบ คู่ของฟังก์ชันดั้งเดิม

ภาพประกอบแสดงส่วนขยายคู่/คี่โดยปริยายของข้อมูลอินพุต DCT สำหรับ จุดข้อมูล N = 11 จุด (จุดสีแดง) สำหรับ DCT สี่ประเภทที่พบบ่อยที่สุด (ประเภท I-IV) โปรดสังเกตความแตกต่างเล็กน้อยที่ส่วนต่อประสานระหว่างข้อมูลและส่วนขยาย: ใน DCT-II และ DCT-IV จุดปลายทั้งสองจะถูกทำซ้ำในส่วนขยาย แต่ไม่ใช่ใน DCT-I หรือ DCT-III (และมีการแทรกจุดศูนย์ที่ส่วนขยายการกลับเครื่องหมายใน DCT-III)

อย่างไรก็ตาม เนื่องจาก DCT ทำงานกับ ลำดับ แบบจำกัดและไม่ต่อเนื่องจึงเกิดปัญหาขึ้นสองประการที่ไม่เกิดขึ้นกับการแปลงโคไซน์แบบต่อเนื่อง ประการแรก ต้องระบุว่าฟังก์ชันเป็นฟังก์ชันคู่หรือฟังก์ชันคี่ที่ ขอบ ด้านซ้ายและด้านขวาของโดเมน (กล่าวคือ ขอบ min- nและ max- nในคำจำกัดความด้านล่างตามลำดับ) ประการที่สอง ต้องระบุว่าฟังก์ชันเป็นฟังก์ชันคู่หรือฟังก์ชันคี่รอบจุดใด โดยเฉพาะอย่างยิ่ง พิจารณาลำดับ abcdของจุดข้อมูลสี่จุดที่เว้นระยะห่างเท่ากัน และสมมติว่าเรากำหนด ขอบ ด้านซ้าย เป็นฟังก์ชันคู่ มีความเป็นไปได้สองประการที่สมเหตุสมผล คือ ข้อมูลเป็นฟังก์ชันคู่รอบจุดตัวอย่างaซึ่งในกรณีนี้ส่วนขยายที่เป็นฟังก์ชันคู่คือdcbabcdหรือข้อมูลเป็นฟังก์ชันคู่รอบจุดกึ่งกลางระหว่างaกับจุดก่อนหน้า ซึ่งในกรณีนี้ส่วนขยายที่เป็นฟังก์ชันคู่คือdcbaabcd ( aซ้ำกัน)

แต่ละขอบเขตสามารถเป็นได้ทั้งเลขคู่หรือเลขคี่ (2 ตัวเลือกต่อขอบเขต) และสามารถสมมาตรเกี่ยวกับจุดข้อมูลหรือจุดกึ่งกลางระหว่างจุดข้อมูลสองจุด (2 ตัวเลือกต่อขอบเขต) รวมเป็น 2 × 2 × 2 × 2 = 16 ความเป็นไปได้ ตัวเลือกเหล่านี้จะนำไปสู่รูปแบบมาตรฐานทั้งหมดของ DCT และการแปลงไซน์แบบไม่ต่อเนื่อง (DST) ครึ่งหนึ่งของความเป็นไปได้เหล่านี้ ซึ่ง ขอบเขต ด้านซ้ายเป็นเลขคู่ จะสอดคล้องกับ DCT ทั้ง 8 ประเภท ส่วนอีกครึ่งหนึ่งจะสอดคล้องกับ DST ทั้ง 8 ประเภท

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

โดยเฉพาะอย่างยิ่ง เป็นที่ทราบกันดีว่าความไม่ต่อเนื่อง ใดๆ ในฟังก์ชันจะลดอัตราการล convergenceของอนุกรมฟูริเยร์ ทำให้ต้องใช้ไซนูซอยด์มากขึ้นในการแสดงฟังก์ชันด้วยความแม่นยำที่กำหนด หลักการเดียวกันนี้ควบคุมประโยชน์ของ DFT และการแปลงอื่นๆ สำหรับการบีบอัดสัญญาณ ยิ่งฟังก์ชันเรียบมากเท่าใด ก็ยิ่งต้องการจำนวนเทอมใน DFT หรือ DCT น้อยลงเท่านั้นในการแสดงฟังก์ชันอย่างแม่นยำ และยิ่งสามารถบีบอัดได้มากขึ้นเท่านั้น[ a ]อย่างไรก็ตาม ความเป็นคาบโดยปริยายของ DFT หมายความว่าความไม่ต่อเนื่องมักเกิดขึ้นที่ขอบเขต: ส่วนใดๆ ของสัญญาณแบบสุ่มไม่น่าจะมีค่าเดียวกันที่ขอบเขตด้านซ้ายและด้านขวา[ b ]ในทางตรงกันข้าม DCT ที่ขอบเขตทั้งสอง เป็นเลขคู่จะ ให้ส่วนขยายต่อเนื่องที่ขอบเขตเสมอ (แม้ว่า ความชันโดยทั่วไปจะไม่ต่อเนื่องก็ตาม) นี่คือเหตุผลที่ DCT และโดยเฉพาะอย่างยิ่ง DCT ประเภท I, II, V และ VI (ประเภทที่มีขอบเขตคู่สองด้าน) โดยทั่วไปทำงานได้ดีกว่าสำหรับการบีบอัดสัญญาณมากกว่า DFT และ DST ในทางปฏิบัติ โดยทั่วไปแล้วจะนิยมใช้ DCT ประเภท II สำหรับการใช้งานดังกล่าว ส่วนหนึ่งเป็นเพราะความสะดวกในการคำนวณ

คำจำกัดความอย่างเป็นทางการ

ในทางทฤษฎี การแปลงโคไซน์แบบไม่ต่อเนื่อง (Discrete Cosine Transform: DCT) เป็นฟังก์ชันเชิงเส้นที่ผกผันได้(โดยที่แทนเซตของจำนวนจริง ) หรือเทียบเท่ากับเมทริกซ์จัตุรัสN × N ที่ผกผันได้ มีการแปลง DCT หลายรูปแบบที่มีคำจำกัดความที่ปรับเปลี่ยนเล็กน้อยจำนวนจริงNจะถูกแปลงเป็นจำนวนจริงNตามสูตรใดสูตรหนึ่งต่อไปนี้:

ดีซีที-ไอ

ผู้เขียนบางคนคูณ เทอม และด้วยและคูณเทอมและ ด้วย ซึ่งหากคูณด้วยตัวประกอบมาตราส่วนโดยรวมอีกจะทำให้เมทริกซ์ DCT-I เป็นเมทริกซ์ตั้งฉาก แต่จะทำลายความสอดคล้องโดยตรงกับ DFTคู่จริง

DCT-I นั้นเทียบเท่ากับ DFT ของจำนวนจริงที่มีสมมาตรคู่ได้อย่างสมบูรณ์ (โดยมีค่าตัวคูณโดยรวมไม่เกิน 2) ตัวอย่างเช่น DCT-I ของจำนวนจริงนั้นเทียบเท่ากับ DFT ของจำนวนจริงแปดจำนวน(สมมาตรคู่) หารด้วยสองอย่างสมบูรณ์ (ในทางตรงกันข้าม DCT ประเภท II-IV เกี่ยวข้องกับการเลื่อนครึ่งตัวอย่างใน DFT ที่เทียบเท่ากัน)

อย่างไรก็ตาม โปรดทราบว่า DCT-I ไม่ได้ถูกกำหนดไว้สำหรับค่าที่น้อยกว่า 2 ในขณะที่ DCT ประเภทอื่นๆ ทั้งหมดถูกกำหนดไว้สำหรับค่าบวกใดๆก็ได้

ดังนั้น DCT-I จึงสอดคล้องกับเงื่อนไขขอบเขต: มีค่าเท่ากันรอบๆและมีค่าเท่ากันรอบๆ; ในทำนองเดียวกันสำหรับ

ดีซีที-ไอ

DCT-II น่าจะเป็นรูปแบบที่ใช้กันทั่วไปมากที่สุด และมักจะเรียกง่ายๆว่าDCT [ 6 ] [ 7 ]

การแปลงนี้เทียบเท่ากับการแปลงฟูริเยร์แบบไม่ต่อเนื่อง (DFT) ของอินพุตจริงที่มีสมมาตรคู่ โดยที่องค์ประกอบที่มีดัชนีคู่เป็นศูนย์ กล่าวคือ เป็นครึ่งหนึ่งของ DFT ของอินพุตที่, สำหรับ, , และสำหรับการแปลง DCT-II ยังสามารถทำได้โดยใช้สัญญาณ ตามด้วยการคูณด้วยครึ่งการเลื่อน ซึ่งได้รับการสาธิตโดยMakhoul

ผู้เขียนบางคนคูณเทอมด้วยและคูณส่วนที่เหลือของเมทริกซ์ด้วยตัวประกอบมาตราส่วนโดยรวมของ(ดูด้านล่างสำหรับการเปลี่ยนแปลงที่สอดคล้องกันใน DCT-III) ซึ่งทำให้เมทริกซ์ DCT-II ตั้งฉากกันแต่ทำลายความสอดคล้องโดยตรงกับ DFT คู่จริงของอินพุตที่เลื่อนครึ่งหนึ่ง นี่คือการทำให้เป็นมาตรฐานที่ใช้โดยMatlab [ 100 ] ในหลายแอปพลิเค ชันเช่นJPEG การปรับมาตราส่วนเป็นไปตามอำเภอใจ เนื่องจากตัวประกอบมาตราส่วนสามารถรวมเข้ากับขั้นตอนการคำนวณถัดไปได้ (เช่น ขั้นตอน การควอนไทเซชันใน JPEG [ 101 ] ) และสามารถเลือกการปรับมาตราส่วนที่ช่วยให้สามารถคำนวณ DCT ได้ด้วยการคูณที่น้อยลง[ 102 ] [ 103 ]

DCT-II บ่งชี้ถึงเงื่อนไขขอบเขตดังนี้: เป็นเลขคู่รอบ ๆและเป็นเลขคู่รอบ ๆ; เป็นเลขคู่รอบ ๆและเป็นเลขคี่รอบๆ

ดีซีที-ไอ

เนื่องจากเป็นรูปแบบผกผันของ DCT-II จนถึงตัวประกอบมาตราส่วน (ดูด้านล่าง) รูปแบบนี้จึงบางครั้งเรียกว่า DCT ผกผัน (IDCT) [ 7 ]

ผู้เขียนบางคนหารเทอมด้วยแทนที่จะหารด้วย 2 (ส่งผลให้ได้เทอมโดยรวม) และคูณเมทริกซ์ที่ได้ด้วยตัวประกอบมาตราส่วนโดยรวม(ดูรายละเอียดการเปลี่ยนแปลงที่สอดคล้องกันใน DCT-II ด้านบน) เพื่อให้ DCT-II และ DCT-III เป็นเมทริกซ์สลับแถวและคอลัมน์ของกันและกัน วิธีนี้ทำให้เมทริกซ์ DCT-III เป็นเมทริกซ์ตั้งฉากแต่จะทำลายความสอดคล้องโดยตรงกับ DFT คู่จริงของเอาต์พุตที่เลื่อนครึ่งหนึ่ง

DCT-III บ่งชี้ถึงเงื่อนไขขอบเขตดังนี้: เป็นเลขคู่รอบ ๆและเป็นเลขคี่รอบ ๆเป็นเลขคู่รอบ ๆและเป็นเลขคู่รอบ ๆ

ดีซีที-ไอวี

เมทริกซ์ DCT-IV จะกลายเป็นเมทริกซ์ตั้งฉาก (และด้วยเหตุนี้ จึงเป็นเมทริกซ์ผกผันของตัวเองอย่างชัดเจน) หากคูณด้วยตัวประกอบมาตราส่วนโดยรวมอีกค่าหนึ่ง

รูปแบบหนึ่งของ DCT-IV ซึ่งข้อมูลจากการแปลงที่แตกต่างกันจะซ้อนทับกันเรียกว่าการแปลงโคไซน์แบบไม่ต่อเนื่องที่ดัดแปลง (MDCT) [ 104 ]

DCT-IV บ่งชี้ถึงเงื่อนไขขอบเขต: เป็นเลขคู่รอบ ๆและเป็นเลขคี่รอบ ๆ ในทำนอง เดียวกันสำหรับ

DCT V-VIII

DCT ประเภท I–IV ปฏิบัติต่อขอบเขตทั้งสองอย่างสอดคล้องกันโดยคำนึงถึงจุดสมมาตร กล่าวคือ ขอบเขตจะเป็นเลขคู่หรือเลขคี่รอบจุดข้อมูลจุดใดจุดหนึ่งสำหรับขอบเขตทั้งสอง หรือเป็นเลขกึ่งกลางระหว่างจุดข้อมูลสองจุดสำหรับขอบเขตทั้งสอง ในทางตรงกันข้าม DCT ประเภท V-VIII บ่งชี้ว่าขอบเขตจะเป็นเลขคู่หรือเลขคี่รอบจุดข้อมูลจุดหนึ่งสำหรับขอบเขตหนึ่ง และเป็นเลขกึ่งกลางระหว่างจุดข้อมูลสองจุดสำหรับขอบเขตอีกด้านหนึ่ง

กล่าวอีกนัยหนึ่ง DCT ประเภท I–IV เทียบเท่ากับ DFT คู่จริงที่มีลำดับคู่ (โดยไม่คำนึงว่าจะเป็นคู่หรือคี่) เนื่องจาก DFT ที่สอดคล้องกันมีความยาว(สำหรับ DCT-I) หรือ(สำหรับ DCT-II และ III) หรือ(สำหรับ DCT-IV) การแปลงโคไซน์แบบไม่ต่อเนื่องเพิ่มเติมอีกสี่ประเภท[ 105 ]สอดคล้องกับ DFT คู่จริงที่มีลำดับคี่เชิงตรรกะ ซึ่งมีปัจจัยของในตัวส่วนของอาร์กิวเมนต์โคไซน์

อย่างไรก็ตาม ดูเหมือนว่ารูปแบบเหล่านี้จะไม่ค่อยได้ใช้ในทางปฏิบัติ เหตุผลหนึ่งอาจเป็นเพราะอัลกอริธึม FFT สำหรับ DFT ที่มีความยาวเป็นเลขคี่โดยทั่วไปจะซับซ้อนกว่าอัลกอริธึม FFT สำหรับ DFT ที่มีความยาวเป็นเลขคู่ (เช่น อัลกอริธึมฐาน 2 ที่ง่ายที่สุดใช้ได้เฉพาะกับความยาวเลขคู่เท่านั้น) และความซับซ้อนที่เพิ่มขึ้นนี้ส่งผลต่อ DCT ดังที่อธิบายไว้ด้านล่าง โปรดทราบว่าอาร์เรย์จำนวนจริงคู่แบบง่ายๆ ซึ่งเป็น DFT ความยาวหนึ่ง (ความยาวเลขคี่) ของจำนวนเดียวจะสอดคล้องกับ DCT-V ที่มีความยาว

การแปลงผกผัน

โดยใช้ข้อกำหนดการทำให้เป็นมาตรฐานข้างต้น ตัวผกผันของ DCT-I คือ DCT-I คูณด้วย 2/( N  − 1) ตัวผกผันของ DCT-IV คือ DCT-IV คูณด้วย 2/ Nตัวผกผันของ DCT-II คือ DCT-III คูณด้วย 2/ Nและในทางกลับกัน[ 7 ]

เช่นเดียวกับ DFT ตัวประกอบการทำให้เป็นมาตรฐานที่อยู่หน้าคำจำกัดความของการแปลงเหล่านี้เป็นเพียงข้อตกลงและแตกต่างกันไปตามวิธีการ ตัวอย่างเช่น ผู้เขียนบางคนคูณการแปลงด้วยเพื่อให้การแปลงผกผันไม่จำเป็นต้องใช้ตัวคูณเพิ่มเติมใดๆ เมื่อรวมกับตัวประกอบ√2 ที่เหมาะสม (ดูด้านบน) วิธี นี้สามารถใช้เพื่อทำให้เมทริกซ์การแปลง เป็นเมทริก ซ์ตั้งฉากได้

DCT แบบหลายมิติ

รูปแบบหลายมิติของ DCT ประเภทต่างๆ นั้นได้มาโดยตรงจากคำจำกัดความแบบมิติเดียว กล่าวคือ มันเป็นเพียงผลคูณที่แยกออกจากกันได้ (หรือเทียบเท่ากับการประกอบกัน) ของ DCT ตามแต่ละมิติ

เอ็มดี ดีซีที-ไอ

ตัวอย่างเช่น DCT-II สองมิติของภาพหรือเมทริกซ์ ก็คือ DCT-II หนึ่งมิติจากข้างต้น ที่ดำเนินการตามแถวก่อน แล้วจึงดำเนินการตามคอลัมน์ (หรือในทางกลับกัน) ส่วนผกผันของ DCT หลายมิติ ก็คือผลคูณแบบแยกส่วนของผกผันของ DCT หนึ่งมิติที่สอดคล้องกัน (ดูข้างต้น) เช่น ผกผันหนึ่งมิติที่นำไปใช้ทีละมิติในอัลกอริทึมแบบแถว-คอลัมน์

ค่า 2D DCT-II คำนวณได้จากสูตร (โดยไม่รวมค่าการปรับมาตรฐานและปัจจัยมาตราส่วนอื่นๆ ดังที่กล่าวมาข้างต้น)

3 -D DCT-IIเป็นเพียงส่วนขยายของ2-D DCT-IIในพื้นที่สามมิติ และสามารถคำนวณทางคณิตศาสตร์ได้โดยใช้สูตร

ค่าผกผันของ3-D DCT-IIคือ3-D DCT-IIIและสามารถคำนวณได้จากสูตร

ในทางเทคนิค การคำนวณ DCT สองมิติ สามมิติ (หรือหลายมิติ) โดยใช้ลำดับของ DCT หนึ่งมิติในแต่ละมิติ เรียกว่า อัลกอริทึม แบบแถว-คอลัมน์ อย่างไรก็ตาม เช่นเดียวกับอัลกอริทึม FFT หลายมิติยังมีวิธีการอื่น ๆ ในการคำนวณสิ่งเดียวกันโดยทำการคำนวณในลำดับที่แตกต่างกัน (เช่น การสลับหรือการรวมอัลกอริทึมสำหรับมิติที่แตกต่างกัน) เนื่องจากการเติบโตอย่างรวดเร็วของแอปพลิเคชันที่ใช้ DCT สามมิติ จึงมีการพัฒนาอัลกอริทึมที่รวดเร็วหลายตัวสำหรับการคำนวณ DCT-II สามมิติ อัลกอริทึม Vector-Radix ถูกนำมาใช้ในการคำนวณ MD DCT เพื่อลดความซับซ้อนในการคำนวณและเพิ่มความเร็วในการคำนวณ Vector-Radix Decimation in Frequency (VR DIF) เป็นตัวอย่างหนึ่งของอัลกอริทึมในการคำนวณ DCT-II สามมิติอย่างมีประสิทธิภาพ

3-D DCT-II VR DIF

เพื่อนำอัลกอริทึม VR DIF มาใช้ ข้อมูลอินพุตจะต้องได้รับการกำหนดรูปแบบและจัดเรียงใหม่ดังต่อไปนี้[ 106 ] [ 107 ] ถือว่า ขนาดการแปลงN × N × Nเท่ากับ 2

สี่ขั้นตอนพื้นฐานในการคำนวณ 3-D DCT-II โดยใช้อัลกอริทึม VR DIF
ที่ไหน

รูปที่อยู่ติดกันแสดงขั้นตอนทั้งสี่ที่เกี่ยวข้องกับการคำนวณ 3-D DCT-II โดยใช้อัลกอริทึม VR DIF ขั้นตอนแรกคือการจัดเรียงลำดับใหม่แบบ 3 มิติโดยใช้การแมปดัชนีที่แสดงโดยสมการข้างต้น ขั้นตอนที่สองคือการคำนวณแบบผีเสื้อแต่ละผีเสื้อจะคำนวณจุดแปดจุดร่วมกันดังแสดงในรูปด้านล่าง โดยที่

ปัจจุบันสามารถเขียน 3-D DCT-II ดั้งเดิมได้ดังนี้

ที่ไหน

หากพิจารณาทั้งส่วนที่เป็นคู่และส่วนที่เป็นคี่ของและสูตรทั่วไปสำหรับการคำนวณ 3-D DCT-II สามารถแสดงได้ดังนี้

ขั้นตอนผีเสื้อเดี่ยวของอัลกอริทึม VR DIF
ที่ไหน
ความซับซ้อนทางคณิตศาสตร์

การคำนวณ DCT 3 มิติทั้งหมดต้องอาศัยขั้นตอน และแต่ละขั้นตอนเกี่ยวข้องกับผีเสื้อ การคำนวณ DCT 3 มิติทั้งหมดต้องใช้ผีเสื้อในการคำนวณ ผีเสื้อแต่ละตัวต้องใช้การคูณจริง 7 ครั้ง (รวมถึงการคูณแบบไม่สำคัญ) และการบวกจริง 24 ครั้ง (รวมถึงการบวกแบบไม่สำคัญ) ดังนั้น จำนวนการคูณจริงทั้งหมดที่จำเป็นสำหรับขั้นตอนนี้คือและจำนวนการบวกจริงทั้งหมด เช่น รวมถึงการบวกภายหลัง (การบวกแบบเรียกซ้ำ) ซึ่งสามารถคำนวณได้โดยตรงหลังจากขั้นตอนผีเสื้อหรือหลังจากขั้นตอนการกลับบิต จะได้รับจาก[ 107 ]

วิธีการคำนวณ MD-DCT-II แบบดั้งเดิมคือการใช้แนวทาง Row-Column-Frame (RCF) ซึ่งมีความซับซ้อนในการคำนวณและมีประสิทธิภาพน้อยกว่าบนแพลตฟอร์มฮาร์ดแวร์ขั้นสูงรุ่นใหม่ส่วนใหญ่ อัลกอริทึม VR DIF ต้องการการคูณน้อยกว่าอัลกอริทึม RCF จำนวนการคูณและการบวกที่เกี่ยวข้องในแนวทาง RCF กำหนดโดยและตามลำดับ

การเปรียบเทียบอัลกอริทึม VR DIF และ RCF สำหรับการคำนวณ 3-D DCT-II
แปลงขนาด การคูณ VR DIF การคูณ RCF VR DIF เพิ่ม RCF เพิ่ม
8 × 8 × 8 2.625 4.5 10.875 10.875
16 × 16 × 16 3.5 6 15.188 15.188
32 × 32 × 32 4.375 7.5 19.594 19.594
64 × 64 × 64 5.25 9 24.047 24.047

จำนวนการคูณทั้งหมดที่เกี่ยวข้องกับอัลกอริทึม 3-D DCT VR นั้นน้อยกว่าที่เกี่ยวข้องกับวิธีการ RCF มากกว่า 40% นอกจากนี้ วิธีการ RCF ยังเกี่ยวข้องกับการสลับแถวและคอลัมน์ของเมทริกซ์ และการจัดทำดัชนีและการสลับข้อมูลมากกว่าอัลกอริทึม VR DIF ทำให้ อัลกอริทึม 3-D DCT VR มีประสิทธิภาพมากกว่าและเหมาะสมกว่าสำหรับแอปพลิเคชัน 3 มิติที่เกี่ยวข้องกับ 3-D DCT-II เช่น การบีบอัดวิดีโอและแอปพลิเคชันการประมวลผลภาพ 3 มิติอื่นๆ

การพิจารณาหลักในการเลือกอัลกอริทึมที่รวดเร็วคือการหลีกเลี่ยงความซับซ้อนในการคำนวณและโครงสร้าง เนื่องจากเทคโนโลยีของคอมพิวเตอร์และ DSP ก้าวหน้าขึ้น เวลาในการดำเนินการทางคณิตศาสตร์ (การคูณและการบวก) จึงดีขึ้น และโครงสร้างการคำนวณแบบปกติกลายเป็นปัจจัยที่สำคัญที่สุด[ 108 ]ดังนั้น แม้ว่าอัลกอริทึม 3-D VR ที่เสนอข้างต้นจะไม่บรรลุขีดจำกัดล่างทางทฤษฎีของจำนวนการคูณ[ 109 ]แต่ก็มีโครงสร้างการคำนวณที่ง่ายกว่าเมื่อเทียบกับอัลกอริทึม 3-D DCT อื่นๆ สามารถนำไปใช้ในที่เดียวโดยใช้ผีเสื้อตัวเดียวและมีคุณสมบัติของอัลกอริทึม Cooley–Tukey FFTใน 3 มิติ ดังนั้น 3-D VR จึงเป็นตัวเลือกที่ดีสำหรับการลดการดำเนินการทางคณิตศาสตร์ในการคำนวณ 3-D DCT-II ในขณะที่ยังคงรักษาโครงสร้างที่เรียบง่ายซึ่งเป็นลักษณะเฉพาะของอัลกอริทึม Cooley–Tukey FFT แบบผีเสื้อ

ความถี่ DCT สองมิติจากJPEG DCT

ภาพด้านขวามือแสดงการรวมกันของความถี่แนวนอนและแนวตั้งสำหรับ DCT สองมิติขนาด 8 × 8 แต่ละขั้นจากซ้ายไปขวาและจากบนลงล่างคือการเพิ่มขึ้นของความถี่ครึ่งรอบ ตัวอย่างเช่น การเลื่อนไปทางขวาหนึ่งช่องจากช่องบนซ้ายจะทำให้ความถี่แนวนอนเพิ่มขึ้นครึ่งรอบ การเลื่อนไปทางขวาอีกครั้งจะทำให้เพิ่มขึ้นสองครึ่งรอบ การเลื่อนลงจะทำให้เพิ่มขึ้นสองครึ่งรอบในแนวนอนและหนึ่งครึ่งรอบในแนวตั้ง ข้อมูลต้นฉบับ ( 8 × 8 ) ถูกแปลงเป็นผลรวมเชิงเส้นของช่องความถี่ทั้ง 64 ช่องนี้

เอ็มดี ดีซีที-ไอวี

MD DCT-IV เป็นส่วนขยายของ 1-D DCT-IV ไปสู่ โดเมน Mมิติ 2-D DCT-IV ของเมทริกซ์หรือภาพจะกำหนดโดย

สำหรับและ

เราสามารถคำนวณ MD DCT-IV โดยใช้วิธีแถว-คอลัมน์ปกติ หรือเราสามารถใช้วิธีการแปลงพหุนาม[ 110 ]เพื่อการคำนวณที่รวดเร็วและมีประสิทธิภาพ แนวคิดหลักของอัลกอริธึมนี้คือการใช้การแปลงพหุนามเพื่อแปลง DCT หลายมิติเป็นชุดของ DCT 1 มิติโดยตรง

การคำนวณ

แม้ว่าการนำสูตรเหล่านี้ไปใช้โดยตรงจะต้องใช้การคำนวณ แต่ก็สามารถคำนวณสิ่งเดียวกันได้ด้วยความซับซ้อนที่น้อยลง โดยการแยกส่วนการคำนวณในลักษณะเดียวกับการแปลงฟูริเยร์แบบเร็ว (FFT) นอกจากนี้ยังสามารถคำนวณ DCT ผ่าน FFT ร่วมกับขั้นตอนการประมวลผลก่อนและหลังได้อีกด้วย โดยทั่วไปแล้ววิธีการคำนวณ DCT เรียกว่าอัลกอริธึมการแปลงโคไซน์แบบเร็ว (FCT)

โดยหลักการแล้ว อัลกอริทึมที่มีประสิทธิภาพมากที่สุดมักจะเป็นอัลกอริทึมที่ออกแบบมาโดยเฉพาะสำหรับ DCT โดยตรง ตรงข้ามกับการใช้ FFT ทั่วไปบวกกับการดำเนินการเพิ่มเติม (ดูข้อยกเว้นด้านล่าง) อย่างไรก็ตาม แม้แต่อัลกอริทึม DCT ที่ "เฉพาะทาง" (รวมถึงอัลกอริทึมทั้งหมดที่ได้จำนวนการคำนวณทางคณิตศาสตร์ต่ำที่สุดเท่าที่ทราบ อย่างน้อยสำหรับ ขนาด ที่เป็นกำลังสอง ) ก็มักจะมีความเกี่ยวข้องอย่างใกล้ชิดกับอัลกอริทึม FFT เนื่องจาก DCT นั้นโดยพื้นฐานแล้วคือ DFT ของข้อมูลคู่จริง ดังนั้นจึงสามารถออกแบบอัลกอริทึม DCT ที่รวดเร็วได้โดยการใช้ FFT และกำจัดการดำเนินการที่ซ้ำซ้อนเนื่องจากสมมาตรนี้ ซึ่งสามารถทำได้โดยอัตโนมัติ ( Frigo & Johnson 2005 ) อัลกอริทึมที่อิงตามอัลกอริทึม FFT ของ Cooley–Tukey นั้น พบได้บ่อยที่สุด แต่ก็สามารถใช้อัลกอริทึม FFT อื่นๆ ได้เช่นกัน ตัวอย่างเช่นอัลกอริทึม FFT ของ Winogradนำไปสู่อัลกอริทึมที่มีการคูณน้อยที่สุดสำหรับ DFT แม้ว่าโดยทั่วไปแล้วจะต้องแลกมาด้วยการบวกที่มากขึ้น และอัลกอริทึมที่คล้ายกันนี้ได้รับการเสนอโดย ( Feig & Winograd 1992a ) สำหรับ DCT เนื่องจากอัลกอริธึมสำหรับ DFT, DCT และการแปลงที่คล้ายคลึงกันทั้งหมดมีความสัมพันธ์กันอย่างใกล้ชิด การปรับปรุงอัลกอริธึมสำหรับการแปลงหนึ่งจะนำไปสู่ผลประโยชน์ทันทีสำหรับการแปลงอื่นๆ ด้วยเช่นกันในทางทฤษฎี ( Duhamel & Vetterli 1990 )

แม้ว่าอัลกอริธึม DCT ที่ใช้ FFT ที่ไม่ได้ดัดแปลงมักจะมีค่าใช้จ่ายทางทฤษฎีบางอย่างเมื่อเทียบกับอัลกอริธึม DCT เฉพาะทางที่ดีที่สุด แต่ก็มีข้อได้เปรียบที่ชัดเจนเช่นกัน นั่นคือ โปรแกรม FFT ที่ได้รับการปรับแต่งอย่างดีนั้นมีให้ใช้งานอย่างแพร่หลาย ดังนั้นในทางปฏิบัติ การได้ประสิทธิภาพสูงสำหรับความยาวทั่วไปNด้วยอัลกอริธึมที่ใช้ FFT จึงมักทำได้ง่ายกว่า [ c ] ในทางกลับกัน อัลกอริธึม DCT เฉพาะทางนั้นมีการใช้งานอย่างแพร่หลายสำหรับการแปลงที่มีขนาดเล็กและคงที่ เช่นDCT-II ขนาด 8 × 8 ที่ใช้ในการบีบอัด JPEGหรือ DCT ขนาดเล็ก (หรือ MDCT) ที่มักใช้ในการบีบอัดเสียง (การลดขนาดโค้ดอาจเป็นเหตุผลหนึ่งในการใช้ DCT เฉพาะทางสำหรับแอปพลิเคชันอุปกรณ์ฝังตัว)

ในความเป็นจริง แม้แต่อัลกอริธึม DCT ที่ใช้ FFT ทั่วไป บางครั้งก็เทียบเท่ากับการตัดการดำเนินการที่ซ้ำซ้อนออกจาก FFT ขนาดใหญ่ของข้อมูลสมมาตรจริง และบางครั้งก็อาจเหมาะสมที่สุดจากมุมมองของการนับเลขคณิต ตัวอย่างเช่น DCT ประเภท II เทียบเท่ากับ DFT ที่มีขนาดสมมาตรคู่จริงซึ่งองค์ประกอบดัชนีคู่เป็นศูนย์ หนึ่งในวิธีการที่ใช้กันทั่วไปในการคำนวณสิ่งนี้ผ่าน FFT (เช่น วิธีที่ใช้ในFFTPACKและFFTW ) ได้รับการอธิบายโดยNarasimha & Peterson (1978)และMakhoul (1980)และวิธีนี้เมื่อมองย้อนกลับไปสามารถมองได้ว่าเป็นขั้นตอนหนึ่งของอัลกอริธึม Cooley–Tukey แบบลดทอนตามเวลาแบบ radix-4 ที่ใช้กับ DFT คู่จริง "เชิงตรรกะ" ที่สอดคล้องกับ DCT-II [ d ] เนื่องจากองค์ประกอบดัชนีคู่เป็นศูนย์ ขั้นตอน radix-4 นี้จึงเหมือนกับขั้นตอน split-radix ทุกประการ หากการดำเนินการ FFT ข้อมูลจริงขนาดถัดไป ดำเนินการโดย อัลกอริทึมแยกฐานข้อมูลจริง(ดังในSorensen et al. (1987) ) อัลกอริทึมที่ได้จะตรงกับจำนวนการคำนวณเลขคณิตที่ต่ำที่สุดที่เผยแพร่มานานสำหรับ DCT-II กำลังสอง ( การดำเนินการเลขคณิตจริง[ e ] )

การลดจำนวนการดำเนินการเมื่อเร็ว ๆ นี้ยังใช้ FFT ข้อมูลจริงด้วย[ 111 ]ดังนั้น การคำนวณ DCT ผ่าน FFT จึงไม่มีอะไรเลวร้ายโดยเนื้อแท้จากมุมมองทางคณิตศาสตร์ – บางครั้งเป็นเพียงคำถามว่าอัลกอริทึม FFT ที่เกี่ยวข้องเหมาะสมที่สุดหรือไม่ (ในทางปฏิบัติ ค่าใช้จ่ายในการเรียกฟังก์ชันในการเรียกใช้รูทีน FFT แยกต่างหากอาจมีนัยสำคัญสำหรับขนาดเล็กแต่นี่เป็นเรื่องของการใช้งานมากกว่าเรื่องของอัลกอริทึม เนื่องจากสามารถแก้ไขได้โดยการคลี่คลายหรือการรวมเข้าด้วยกัน)

ตัวอย่างของ IDCT

ตัวอย่างที่แสดงการใช้ฟิลเตอร์แปดแบบที่แตกต่างกันกับภาพทดสอบ (บนซ้าย) โดยการคูณสเปกตรัม DCT (บนขวา) กับฟิลเตอร์แต่ละตัว

ลองพิจารณา ภาพขาวดำขนาด8 × 8 พิกเซล ของตัวอักษร A ตัวพิมพ์ใหญ่ ตัวนี้

ขนาดดั้งเดิม, ปรับขนาด 10 เท่า (แบบเพื่อนบ้านที่ใกล้ที่สุด), ปรับขนาด 10 เท่า (แบบไบลิเนียร์)
ฟังก์ชันพื้นฐานของการแปลงโคไซน์แบบไม่ต่อเนื่องพร้อมสัมประสิทธิ์ที่สอดคล้องกัน (เฉพาะสำหรับภาพของเรา) DCT ของภาพ = .

ฟังก์ชันพื้นฐานแต่ละฟังก์ชันจะถูกคูณด้วยสัมประสิทธิ์ของมัน จากนั้นผลคูณนี้จะถูกบวกเข้ากับภาพสุดท้าย

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

ดูเพิ่มเติม

หมายเหตุ

  1. ^ในที่นี้ เรามองว่า DFT หรือ DCT เป็นการประมาณค่าอนุกรมฟูริเยร์หรืออนุกรมโคไซน์ของฟังก์ชันตามลำดับ เพื่อใช้ในการอธิบายความเรียบของฟังก์ชันนั้น
  2. ^ปัญหาที่คล้ายกันนี้เกิดขึ้นกับ DST เช่นกัน โดยที่เงื่อนไขขอบด้านซ้ายที่เป็นเลขคี่จะทำให้เกิดความไม่ต่อเนื่องสำหรับฟังก์ชันใดๆ ที่ไม่ใช่ค่าศูนย์ที่ขอบนั้น
  3. โดยทั่วไป แล้ว ประสิทธิภาพของอัลกอริทึมบนฮาร์ดแวร์สมัยใหม่ไม่ได้ถูกกำหนดโดยการนับเลขคณิตอย่างง่ายเป็นหลัก และการเพิ่มประสิทธิภาพต้องใช้ความพยายามทางวิศวกรรมอย่างมากเพื่อให้สามารถใช้ประโยชน์สูงสุดจากความสามารถในการเพิ่มประสิทธิภาพของฮาร์ดแวร์ที่มีอยู่ภายในขีดจำกัดที่มีอยู่
  4. ขั้นตอน radix-4 ลดขนาดDFT ลงเหลือ DFT ขนาดสี่เท่าของข้อมูลจริง โดยสองในนั้นเป็นศูนย์ และอีกสองในนั้นเท่ากันเนื่องจากสมมาตรคู่ ดังนั้นจึงให้ FFT ขนาดเดียวของข้อมูลจริงบวกกับ butterflyเมื่อส่วนที่ไม่สำคัญหรือส่วนที่ซ้ำซ้อนถูกกำจัดหรือรวมเข้าด้วยกัน
  5. ^ จำนวนที่แน่นอนของการดำเนินการทางคณิตศาสตร์จริง และโดยเฉพาะอย่างยิ่งจำนวนการคูณจริง ขึ้นอยู่กับการปรับขนาดของคำจำกัดความการแปลงจำนวนนี้ใช้สำหรับคำจำกัดความ DCT-II ที่แสดงไว้ที่นี่ สามารถประหยัดการคูณได้สองครั้งหากปรับขนาดการแปลงด้วยตัวประกอบโดยรวม สามารถประหยัดการคูณเพิ่มเติมได้หากอนุญาตให้ปรับขนาดเอาต์พุตของการแปลงทีละรายการ ดังที่ Arai, Agui & Nakajima (1988)แสดงไว้สำหรับกรณีขนาด 8 ที่ใช้ใน JPEG

อ่านเพิ่มเติม

  • Narasimha, M.; Peterson, A. (มิถุนายน 1978). "เกี่ยวกับการคำนวณการแปลงโคไซน์แบบไม่ต่อเนื่อง". IEEE Transactions on Communications . 26 (6): 934– 936. Bibcode : 1978ITCom..26..934N . doi : 10.1109/TCOM.1978.1094144 .
  • Makhoul, J. (กุมภาพันธ์ 1980). "การแปลงโคไซน์อย่างรวดเร็วในหนึ่งและสองมิติ". IEEE Transactions on Acoustics, Speech, and Signal Processing . 28 (1): 27– 34. Bibcode : 1980ITASS..28...27M . doi : 10.1109/TASSP.1980.1163351 .
  • Sorensen, H.; Jones, D.; Heideman, M.; Burrus, C. (มิถุนายน 1987). "อัลกอริทึมการแปลงฟูริเยร์แบบเร็วค่าจริง". IEEE Transactions on Acoustics, Speech, and Signal Processing . 35 (6): 849– 863. Bibcode : 1987ITASS..35..849S . CiteSeerX  10.1.1.205.4523 . doi : 10.1109/TASSP.1987.1165220 .
  • Plonka, G. ; Tasche, M. (มกราคม 2548). "อัลกอริทึมที่รวดเร็วและเสถียรเชิงตัวเลขสำหรับการแปลงโคไซน์แบบไม่ต่อเนื่อง" . พีชคณิตเชิงเส้นและการประยุกต์ใช้ . 394 (1): 309– 345. doi : 10.1016/j.laa.2004.07.015 .
  • Duhamel, P.; Vetterli, M. (เมษายน 1990). "การแปลงฟูริเยร์แบบเร็ว: บททบทวนเชิงแนะนำและสถานะปัจจุบัน"การประมวลผลสัญญาณ (ต้นฉบับที่ส่ง). 19 (4): 259– 299. Bibcode : 1990SigPr..19..259D . doi : 10.1016/0165-1684(90)90158-U .
  • Ahmed, N. (มกราคม 1991). "วิธีที่ฉันคิดค้นการแปลงโคไซน์แบบไม่ต่อเนื่อง"การประมวลผลสัญญาณดิจิทัล1 (1): 4– 9. Bibcode : 1991DSP.....1....4A . doi : 10.1016/1051-2004(91)90086-Z .
  • Feig, E.; Winograd, S. (กันยายน 1992b). "อัลกอริทึมที่รวดเร็วสำหรับการแปลงโคไซน์แบบไม่ต่อเนื่อง". IEEE Transactions on Signal Processing . 40 (9): 2174– 2193. Bibcode : 1992ITSP...40.2174F . doi : 10.1109/78.157218 .
  • Malvar, Henrique (1992), การประมวลผลสัญญาณด้วยการแปลงแบบซ้อนทับ , บอสตัน: Artech House, ISBN 978-0-89006-467-2
  • Martucci, SA (พฤษภาคม 1994). "การสังเคราะห์แบบสมมาตรและการแปลงไซน์และโคไซน์แบบไม่ต่อเนื่อง". IEEE Transactions on Signal Processing . 42 (5): 1038– 1051. Bibcode : 1994ITSP...42.1038M . doi : 10.1109/78.295213 .
  • Oppenheim, Alan; Schafer, Ronald; Buck, John (1999), การประมวลผลสัญญาณเวลาไม่ต่อเนื่อง (ฉบับที่ 2), Upper Saddle River, NJ: Prentice Hall, ISBN 978-0-13-754920-7
  • Frigo, M.; Johnson, SG (กุมภาพันธ์ 2548). "การออกแบบและการใช้งาน FFTW3" (PDF) . Proceedings of the IEEE . 93 (2): 216– 231. Bibcode : 2005IEEEP..93..216F . CiteSeerX  10.1.1.66.3097 . doi : 10.1109/JPROC.2004.840301 . S2CID  6644892 .
  • Boussakta, Said.; Alshibami, Hamoud O. (เมษายน 2547). "อัลกอริทึมที่รวดเร็วสำหรับ 3-D DCT-II" (PDF) . IEEE Transactions on Signal Processing . 52 (4): 992– 1000. Bibcode : 2004ITSP...52..992B . doi : 10.1109/TSP.2004.823472 . S2CID  3385296 .
  • Cheng, LZ; Zeng, YH (2003). "อัลกอริทึมใหม่ที่รวดเร็วสำหรับ DCT ประเภท IV หลายมิติ" IEEE Transactions on Signal Processing . 51 (1): 213– 220. doi : 10.1109/TSP.2002.806558 .
  • Wen-Hsiung Chen; Smith, C.; Fralick, S. (กันยายน 1977). "อัลกอริทึมการคำนวณที่รวดเร็วสำหรับการแปลงโคไซน์แบบไม่ต่อเนื่อง" IEEE Transactions on Communications . 25 (9): 1004– 1009. Bibcode : 1977ITCom..25.1004W . doi : 10.1109/TCOM.1977.1093941 .
  • Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), "ส่วนที่ 12.4.2 การแปลงโคไซน์" , สูตรเชิงตัวเลข: ศิลปะแห่งการคำนวณทางวิทยาศาสตร์ (ฉบับที่ 3), นิวยอร์ก: สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์, ISBN 978-0-521-88068-8เก็บถาวรจากต้นฉบับเมื่อวันที่ 11 สิงหาคม 2554 เรียกดูเมื่อ วันที่ 13 สิงหาคม 2554
  • ไซเอ็ด อาลี คายัม: การแปลงโคไซน์แบบไม่ต่อเนื่อง (DCT): ทฤษฎีและการประยุกต์ใช้
  • การนำการประมาณค่าจำนวนเต็ม MPEG ของ 8x8 IDCT (ISO/IEC 23002-2) มาใช้
  • Matteo Frigo และSteven G. Johnson : FFTW , หน้าหลัก FFTW ไลบรารีภาษาซี แบบฟรี ( GPL ) ที่สามารถคำนวณ DCT (ประเภท I-IV) ได้อย่างรวดเร็วในมิติเดียวหรือมากกว่านั้น โดยมีขนาดตามต้องการ
  • Takuya Ooura: แพ็กเกจ FFT อเนกประสงค์, แพ็กเกจ FFT 1 มิติ / 2 มิติไลบรารี C และ FORTRAN ฟรี สำหรับคำนวณ DCT อย่างรวดเร็ว (ประเภท II–III) ในหนึ่ง สอง หรือสามมิติ ขนาดกำลังสอง
  • Tim Kientzle: อัลกอริทึมที่รวดเร็วสำหรับการคำนวณ DCT และ IDCT แบบ 8 จุด, Algorithm Alley
  • LTFATเป็นกล่องเครื่องมือ Matlab/Octave ฟรีที่มีอินเทอร์เฟซสำหรับการใช้งาน FFTW ของ DCT และ DST ประเภท I-IV
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Discrete_cosine_transform&oldid=1359913686 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การแปลงโคไซน์แบบไม่ต่อเนื่อง

การแปลงโคไซน์แบบไม่ต่อเนื่อง ( DCT ) แสดงลำดับ ข้อมูล จำกัด ในรูปผลรวมของฟังก์ชัน โคไซน์ ที่แกว่งด้วย ความถี่ ต่างกัน DCT ซึ่งเสนอครั้งแรกโดย Nasir Ahmed ในปี 1972...

ประวัติศาสตร์

DCT ถูกคิดค้นขึ้นครั้งแรกโดย Nasir Ahmed ขณะทำงานอยู่ที่ Kansas State University แนวคิดนี้ถูกเสนอต่อ National Science Foundation ในปี 1972 เดิมที DCT มีจุดประสงค์เพื่อ การบีบ อัด ภาพ [ 10 ] [ 2 ] Ahmed ได้พัฒนาอัลกอริทึม DCT...

แอปพลิเคชัน

DCT เป็นเทคนิคการแปลงที่ใช้กันอย่างแพร่หลายที่สุดใน การประมวลผลสัญญาณ [ 30 ] และเป็นการแปลงเชิงเส้นที่ใช้กันอย่างแพร่หลายที่สุดใน การบีบ อัด ข้อมูล [ 31 ] สื่อดิจิทัล ที่ ไม่ได้ บีบอัด รวมถึง การบีบอัดแบบไม่สูญเสีย ข้อมูล มีความต้องการ หน่วยความจำ และ...

การใช้งานทั่วไป

DCT ถูกนำไปใช้อย่างแพร่หลายในหลายแอปพลิเคชัน ซึ่งรวมถึงแอปพลิเคชันต่อไปนี้