OCR ภาพ DXT1 ใด ๆ

วางรูปภาพ, สแกน, หรือ PDF (สูงสุด 2.5GB) เราจะดึงข้อความออกมาในเบราว์เซอร์ของคุณ — ฟรี, ไม่จำกัด, และไฟล์ของคุณจะไม่ออกจากอุปกรณ์ของคุณ

ส่วนตัวและปลอดภัย

ทุกอย่างเกิดขึ้นในเบราว์เซอร์ของคุณ ไฟล์ของคุณไม่เคยสัมผัสเซิร์ฟเวอร์ของเรา

เร็วสุดขีด

ไม่มีการอัปโหลด ไม่ต้องรอ แปลงทันทีที่คุณวางไฟล์

ฟรีจริงๆ

ไม่ต้องใช้บัญชี ไม่มีค่าใช้จ่ายแอบแฝง ไม่มีลูกเล่นขนาดไฟล์

การรู้จำอักขระด้วยแสง (OCR) เปลี่ยนรูปภาพของข้อความ—สแกน, ภาพถ่ายจากสมาร์ทโฟน, PDF—เป็นสตริงที่เครื่องอ่านได้ และ, เพิ่มมากขึ้น, ข้อมูลที่มีโครงสร้าง. OCR สมัยใหม่เป็นไปป์ไลน์ที่ทำความสะอาดรูปภาพ, ค้นหาข้อความ, อ่าน, และส่งออกเมทาดาทาที่สมบูรณ์ เพื่อให้ระบบดาวน์สตรีมสามารถค้นหา, จัดทำดัชนี, หรือดึงข้อมูลฟิลด์ได้. สองมาตรฐานเอาต์พุตที่ใช้กันอย่างแพร่หลายคือ hOCR, ไมโครฟอร์แมต HTML สำหรับข้อความและเลย์เอาต์, และ ALTO XML, สกีมาที่มุ่งเน้นไลบรารี/หอจดหมายเหตุ; ทั้งสองรักษาสถานะ, ลำดับการอ่าน, และสัญลักษณ์เลย์เอาต์อื่น ๆ และ ได้รับการสนับสนุนจากเครื่องมือยอดนิยมเช่น Tesseract.

ทัวร์สั้น ๆ ของไปป์ไลน์

การประมวลผลเบื้องต้น. คุณภาพของ OCR เริ่มต้นด้วยการทำความสะอาดภาพ: การแปลงเป็นสีเทา, การลดสัญญาณรบกวน, การกำหนดค่าขีดแบ่ง (การทำให้เป็นไบนารี), และการปรับแก้ความเอียง. บทเรียน OpenCV แบบบัญญัติครอบคลุมทั่วโลก, การปรับตัว และ Otsu การกำหนดค่าขีดแบ่ง—ซึ่งเป็นส่วนสำคัญสำหรับเอกสารที่มีแสงไม่สม่ำเสมอหรือฮิสโตแกรมแบบสองโหมด. เมื่อความสว่างแตกต่างกันไป ภายในหน้า (นึกถึงภาพถ่ายจากโทรศัพท์), วิธีการปรับตัวมักจะทำงานได้ดีกว่าการกำหนดค่าขีดแบ่งทั่วโลกเพียงค่าเดียว; Otsu จะเลือกค่าขีดแบ่งโดยอัตโนมัติโดยการวิเคราะห์ฮิสโตแกรม. การแก้ไขความเอียงก็มีความสำคัญเท่าเทียมกัน: การปรับแก้ความเอียงโดยใช้ Hough (การแปลงเส้นตรง Hough) ควบคู่กับการทำให้เป็นไบนารีของ Otsu เป็นสูตรทั่วไปและมีประสิทธิภาพในไปป์ไลน์การประมวลผลเบื้องต้นในการผลิต.

การตรวจจับกับการรู้จำ. OCR โดยทั่วไปแบ่งออกเป็น การตรวจจับข้อความ (ข้อความอยู่ที่ไหน ?) และ การรู้จำข้อความ (มันพูดว่าอะไร?). ในฉากธรรมชาติและการสแกนจำนวนมาก, ตัวตรวจจับแบบคอนโวลูชันเต็มรูปแบบ เช่น EAST ทำนายรูปสี่เหลี่ยมระดับคำหรือบรรทัดได้อย่างมีประสิทธิภาพโดยไม่มีขั้นตอนการเสนอที่หนักหน่วงและถูกนำไปใช้ใน ชุดเครื่องมือทั่วไป (เช่น, บทแนะนำการตรวจจับข้อความของ OpenCV). บนหน้าที่ซับซ้อน (หนังสือพิมพ์, แบบฟอร์ม, หนังสือ), การแบ่งส่วนของบรรทัด/ภูมิภาคและการอนุมานลำดับการอ่านมีความสำคัญ:Kraken ใช้การแบ่งส่วนโซน/บรรทัดแบบดั้งเดิมและการแบ่งส่วน เส้นฐาน แบบประสาท, พร้อมการสนับสนุนที่ชัดเจน สำหรับสคริปต์และทิศทางที่แตกต่างกัน (LTR/RTL/แนวตั้ง).

โมเดลการรู้จำ. ม้างานโอเพนซอร์สคลาสสิก Tesseract (โอเพนซอร์สโดย Google, มีรากฐานที่ HP) พัฒนาจากตัวแยกประเภทอักขระเป็นตัวรู้จำลำดับ ที่ใช้ LSTM และสามารถส่งออก PDF ที่ค้นหาได้, เอาต์พุตที่เป็นมิตรกับ hOCR/ALTO, และอื่น ๆ จาก CLI. ตัวรู้จำสมัยใหม่พึ่งพาการสร้างแบบจำลองลำดับโดยไม่มีอักขระที่แบ่งส่วนไว้ล่วงหน้า. Connectionist Temporal Classification (CTC) ยังคงเป็นพื้นฐาน, เรียนรู้การจัดตำแหน่งระหว่างลำดับคุณลักษณะอินพุตและสตริงป้ายกำกับเอาต์พุต; มันถูกใช้อย่างกว้างขวาง ในไปป์ไลน์การเขียนด้วยลายมือและข้อความในฉาก.

ในช่วงไม่กี่ปีที่ผ่านมา, Transformers ได้ปรับเปลี่ยน OCR. TrOCR ใช้ตัวเข้ารหัส Vision Transformer บวกกับตัวถอดรหัส Text Transformer, ฝึกฝนบนคลังข้อมูลสังเคราะห์ขนาดใหญ่แล้ว ปรับละเอียดบนข้อมูลจริง, พร้อมประสิทธิภาพที่แข็งแกร่งในเกณฑ์มาตรฐานการพิมพ์, การเขียนด้วยลายมือ และข้อความในฉาก (ดูเพิ่มเติมที่ เอกสาร Hugging Face). ในขณะเดียวกัน, บางระบบข้าม OCR เพื่อความเข้าใจดาวน์สตรีม: Donut (Document Understanding Transformer) เป็นตัวเข้ารหัส-ถอดรหัสที่ไม่มี OCR ซึ่งส่งออกคำตอบที่มีโครงสร้างโดยตรง (เช่น JSON คีย์-ค่า) จากเอกสาร รูปภาพ (repo, การ์ดโมเดล), หลีกเลี่ยงการสะสมข้อผิดพลาดเมื่อขั้นตอน OCR แยกต่างหากป้อนระบบ IE.

เครื่องมือและไลบรารี

หากคุณต้องการการอ่านข้อความแบบครบวงจรในหลายสคริปต์, EasyOCR มี API ที่เรียบง่ายพร้อมโมเดลภาษามากกว่า 80 ภาษา, ส่งคืนกล่อง, ข้อความ, และความเชื่อมั่น—มีประโยชน์สำหรับต้นแบบและ สคริปต์ที่ไม่ใช่ภาษาละติน. สำหรับเอกสารทางประวัติศาสตร์, Kraken โดดเด่นด้วยการแบ่งส่วนเส้นฐานและการอ่านตามลำดับที่คำนึงถึงสคริปต์; สำหรับการฝึกอบรมระดับบรรทัดที่ยืดหยุ่น, Calamari สร้างขึ้นจากสายเลือด Ocropy (Ocropy) ด้วยตัวรู้จำ (หลาย)LSTM+CTC และ CLI สำหรับการปรับละเอียดโมเดลที่กำหนดเอง.

ชุดข้อมูลและเกณฑ์มาตรฐาน

การสรุปผลขึ้นอยู่กับข้อมูล. สำหรับการเขียนด้วยลายมือ, ฐานข้อมูลการเขียนด้วยลายมือ IAM ให้ประโยคภาษาอังกฤษที่หลากหลายสำหรับผู้เขียนสำหรับการฝึกอบรมและการประเมิน; มันเป็นชุดอ้างอิงที่มีมายาวนานสำหรับ การรู้จำบรรทัดและคำ. สำหรับข้อความในฉาก, COCO-Text ได้ใส่คำอธิบายประกอบอย่างกว้างขวางทับ MS-COCO, พร้อมป้ายกำกับสำหรับพิมพ์/เขียนด้วยลายมือ, อ่านได้/อ่านไม่ได้, สคริปต์, และ การถอดความแบบเต็ม (ดูเพิ่มเติมที่หน้า โครงการดั้งเดิม). สาขานี้ยังพึ่งพาการฝึกอบรมล่วงหน้าแบบสังเคราะห์อย่างมาก: SynthText in the Wild แสดงข้อความลงในภาพถ่ายด้วยรูปทรงเรขาคณิตและแสงที่สมจริง, ให้ข้อมูลจำนวนมหาศาลเพื่อฝึกอบรมล่วงหน้า ตัวตรวจจับและตัวรู้จำ (อ้างอิง โค้ดและข้อมูล).

การแข่งขันภายใต้ ICDAR’s Robust Reading ร่มช่วยให้การประเมินผลเป็นไปอย่างมีเหตุผล. งานล่าสุดเน้นการตรวจจับ/การอ่านแบบ end-to-end และรวมถึงการเชื่อมโยงคำ เป็นวลี, พร้อมโค้ดอย่างเป็นทางการที่รายงาน ความแม่นยำ/การเรียกคืน/F-score, intersection-over-union (IoU), และเมตริกระยะห่างการแก้ไขระดับอักขระ—สะท้อนสิ่งที่ผู้ปฏิบัติงานควรติดตาม.

รูปแบบเอาต์พุตและการใช้งานดาวน์สตรีม

OCR ไม่ค่อยจบลงที่ข้อความธรรมดา. หอจดหมายเหตุและห้องสมุดดิจิทัลต้องการ ALTO XML เพราะมันเข้ารหัสเลย์เอาต์ทางกายภาพ (บล็อก/บรรทัด/คำพร้อมพิกัด) ควบคู่ไปกับเนื้อหา, และมันเข้ากันได้ดี กับแพ็คเกจ METS. hOCR ไมโครฟอร์แมต, ในทางตรงกันข้าม, ฝังแนวคิดเดียวกันลงใน HTML/CSS โดยใช้คลาสเช่น ocr_line และ ocrx_word, ทำให้ง่ายต่อการแสดง, แก้ไข, และแปลงด้วยเครื่องมือเว็บ. Tesseract เปิดเผยทั้งสอง—เช่น, การสร้าง hOCR หรือ PDF ที่ค้นหาได้โดยตรงจาก CLI (คู่มือการส่งออก PDF); ตัวห่อหุ้ม Python เช่น pytesseract เพิ่มความสะดวก. มีตัวแปลงเพื่อแปลระหว่าง hOCR และ ALTO เมื่อที่เก็บมีมาตรฐานการนำเข้าที่ตายตัว —ดูรายการที่คัดสรรมานี้ของ เครื่องมือรูปแบบไฟล์ OCR.

คำแนะนำเชิงปฏิบัติ

  • เริ่มต้นด้วยข้อมูลและความสะอาด. หากภาพของคุณเป็นภาพถ่ายจากโทรศัพท์หรือสแกนคุณภาพผสม, ลงทุนในการกำหนดค่าขีดแบ่ง (ปรับตัวและ Otsu) และการปรับแก้ความเอียง (Hough) ก่อนการปรับแต่งโมเดลใด ๆ. คุณมักจะได้รับประโยชน์จากสูตรการประมวลผลเบื้องต้นที่แข็งแกร่งมากกว่าการเปลี่ยน ตัวรู้จำ.
  • เลือกตัวตรวจจับที่เหมาะสม. สำหรับหน้าที่สแกนด้วยคอลัมน์ปกติ, ตัวแบ่งส่วนหน้า (โซน → บรรทัด) อาจเพียงพอ; สำหรับภาพธรรมชาติ, ตัวตรวจจับแบบ single-shot เช่น EAST เป็นพื้นฐานที่แข็งแกร่งและเสียบเข้ากับชุดเครื่องมือมากมาย (ตัวอย่าง OpenCV).
  • เลือกตัวรู้จำที่ตรงกับข้อความของคุณ. สำหรับภาษาละตินที่พิมพ์, Tesseract (LSTM/OEM) แข็งแรงและรวดเร็ว; สำหรับหลายสคริปต์หรือต้นแบบที่รวดเร็ว, EasyOCR มีประสิทธิผล; สำหรับการเขียนด้วยลายมือหรือแบบอักษรทางประวัติศาสตร์, พิจารณา Kraken หรือ Calamari และวางแผนที่จะปรับละเอียด. หากคุณต้องการการเชื่อมต่อที่แน่นแฟ้นกับการทำความเข้าใจเอกสาร (การดึงข้อมูลคีย์-ค่า, VQA), ประเมิน TrOCR (OCR) เทียบกับ Donut (ไม่มี OCR) บนสกีมาของคุณ—Donut อาจลบขั้นตอนการรวมทั้งหมด.
  • วัดสิ่งที่สำคัญ. สำหรับระบบ end-to-end, รายงานการตรวจจับ F-score และการรู้จำ CER/WER (ทั้งสองขึ้นอยู่กับระยะห่างการแก้ไข Levenshtein ; ดู CTC); สำหรับงานที่เน้นเลย์เอาต์, ติดตาม IoU/ความแน่นและระยะห่างการแก้ไขที่ปรับให้เป็นมาตรฐานระดับอักขระดังใน ชุดประเมิน ICDAR RRC .
  • ส่งออกเอาต์พุตที่สมบูรณ์. ต้องการ hOCR /ALTO (หรือทั้งสองอย่าง) เพื่อให้คุณเก็บพิกัดและลำดับการอ่าน—สำคัญสำหรับการเน้นผลการค้นหา, การดึงข้อมูลตาราง/ฟิลด์ , และที่มา. CLI ของ Tesseract และ pytesseract ทำให้สิ่งนี้เป็นเรื่องง่าย.

มองไปข้างหน้า

แนวโน้มที่แข็งแกร่งที่สุดคือการบรรจบกัน: การตรวจจับ, การรู้จำ, การสร้างแบบจำลองภาษา, และแม้แต่การถอดรหัสเฉพาะงาน กำลังรวมกันเป็นสแต็ก Transformer ที่เป็นหนึ่งเดียว. การฝึกอบรมล่วงหน้าบน คลังข้อมูลสังเคราะห์ขนาดใหญ่ ยังคงเป็นตัวคูณกำลัง. โมเดลที่ไม่มี OCR จะแข่งขันอย่างดุเดือดทุกที่ที่เป้าหมายเป็นเอาต์พุตที่มีโครงสร้าง แทนที่จะเป็นการถอดความแบบคำต่อคำ. คาดหวังการปรับใช้แบบไฮบริดด้วย: ตัวตรวจจับน้ำหนักเบาบวกกับตัวรู้จำสไตล์ TrOCR สำหรับข้อความยาว, และโมเดลสไตล์ Donut สำหรับแบบฟอร์มและใบเสร็จ.

การอ่านเพิ่มเติมและเครื่องมือ

Tesseract (GitHub) · เอกสาร Tesseract · ข้อมูลจำเพาะ hOCR · พื้นหลัง ALTO · ตัวตรวจจับ EAST · การตรวจจับข้อความ OpenCV · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · การเขียนด้วยลายมือ IAM · เครื่องมือรูปแบบไฟล์ OCR · EasyOCR

คำถามที่ถามบ่อย

OCR คืออะไร?

Optical Character Recognition (OCR) เป็นเทคโนโลยีที่ใช้ในการแปลงประเภทต่าง ๆ ของเอกสาร เช่น ผลงานที่สแกนด้วยกระดาษ PDF ไฟล์หรือภาพที่ถ่ายด้วยกล้องดิจิตอล ให้เป็นข้อมูลที่สามารถแก้ไขและค้นหาได้

OCR ทำงานอย่างไร?

OCR ทำงานโดยการสแกนภาพนำเข้าต่างๆหรือเอกสาร การแบ่งภาพออกเป็นตัวอักษรแต่ละตัว แล้วเปรียบเทียบแต่ละตัวอักษรกับฐานข้อมูลแบบรูปของตัวอักษรโดยใช้การจดจำรูปแบบหรือจดจำลักษณะ

มีการประยุกต์ใช้ OCR อย่างไรบ้าง?

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

OCR มีความแม่นยำ 100% ไหม?

อย่างไรก็ตาม ทั้งที่เทคโนโลยี OCR ได้พัฒนามาอย่างมาก แต่ยังไม่มีความสมบูรณ์ การมีความแม่นยำมักจะขึ้นอยู่กับคุณภาพของเอกสารเดิมและรายละเอียดของซอฟต์แวร์ OCR ที่ใช้

OCR สามารถจดจำลายมือได้ไหม?

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

OCR จัดการภาษาหลายภาษาได้ไหม?

ใช่ ซอฟต์แวร์ OCR หลายระบบสามารถจดจำภาษาหลายภาษา อย่างไรก็ตาม สำคัญที่จะต้องดูว่าภาษาที่ต้องการได้รับการสนับสนุนโดยซอฟต์แวร์ที่คุณใช้

ความแตกต่างระหว่าง OCR และ ICR คืออะไร?

OCR ย่อมาจาก Optical Character Recognition และใช้ในการจดจำข้อความที่พิมพ์ขณะที่ ICR หรือ Intelligent Character Recognition ที่ทันสมัยยิ่งขึ้นและใช้สำหรับการจดจำข้อความที่เขียนด้วยมือ

OCR ไม่สามารถทำงานด้วยประเภทและขนาดข้อความใดได้?

OCR ทำงานได้ดีที่สุดกับแบบอักษรที่ชัดเจน, สามารถอ่านได้ง่ายและมีขนาดข้อความมาตรฐาน ในขณะที่มันสามารถทำงานได้กับแบบอักษรและขนาดที่หลากหลาย แต่ความถูกต้องมักจะลดลงเมื่อจัดการกับแบบอักษรที่ไม่ปกติหรือขนาดข้อความที่เล็กมาก

มีข้อจำกัดอะไรบ้างที่เทคโนโลยี OCR?

OCR อาจพบปัญหากับเอกสารที่มีความละเอียดต่ำ, แบบอักษรซับซ้อน, ข้อความที่พิมพ์ไม่ดี, ลายมือ และเอกสารที่มีพื้นหลังที่แทรกซ้อนกับข้อความ นอกจากนี้ อย่างไรก็ตาม อาจใช้งานกับภาษาหลายภาษาได้ มันอาจไม่ครอบคลุมทุกภาษาอย่างสมบูรณ์

OCR สามารถสแกนข้อความที่สีหรือพื้นหลังที่มีสีได้หรือไม่?

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

รูปแบบ DXT1 คืออะไร?

Microsoft DirectDraw Surface

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

DXT1 ทำงานบนบล็อกของพิกเซลมากกว่าพิกเซลแต่ละพิกเซลโดยเฉพาะ โดยจะประมวลผลบล็อกพิกเซลขนาด 4x4 และบีบอัดแต่ละบล็อกให้เหลือ 64 บิต วิธีการนี้คือการบีบอัดแบบแบ่งบล็อก ซึ่งเป็นสิ่งที่ทำให้ DXT1 สามารถลดปริมาณข้อมูลที่จำเป็นในการแสดงภาพได้อย่างมาก สาระสำคัญของการบีบอัดใน DXT1 อยู่ที่ความสามารถในการหาสมดุลในการแสดงสีภายในแต่ละบล็อก จึงรักษาไว้ซึ่งรายละเอียดให้ได้มากที่สุดเท่าที่จะเป็นไปได้ในขณะที่บรรลุอัตราการบีบอัดสูง

กระบวนการบีบอัดของ DXT1 สามารถแบ่งออกเป็นหลายขั้นตอน ขั้นแรกคือการระบุสองสีภายในบล็อกที่เป็นตัวแทนของช่วงสีโดยรวมของบล็อกมากที่สุด สีเหล่านี้จะถูกเลือกตามความสามารถในการครอบคลุมความแปรผันของสีภายในบล็อก และจะถูกจัดเก็บเป็นสี RGB 16 บิตสองสี แม้ว่าความลึกของบิตจะต่ำกว่าข้อมูลภาพต้นฉบับ แต่ขั้นตอนนี้ก็ช่วยให้มั่นใจได้ว่าข้อมูลสีที่สำคัญที่สุดจะยังคงอยู่

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

เมื่อกำหนดสีทั้งสี่แล้ว ขั้นตอนต่อไปคือการแม็ปพิกเซลแต่ละพิกเซลในบล็อก 4x4 ต้นฉบับไปยังสีที่ใกล้เคียงที่สุดในสีที่สร้างขึ้นทั้งสี่ การแม็ปนี้จะทำผ่านอัลกอริทึมเพื่อนบ้านที่ใกล้ที่สุด ซึ่งจะคำนวณระยะห่างระหว่างสีพิกเซลต้นฉบับและสีตัวแทนทั้งสี่ และกำหนดพิกเซลให้กับการจับคู่ที่ใกล้ที่สุด กระบวนการนี้จะทำให้ปริภูมิสีต้นฉบับของบล็อกมีปริมาณเท่ากับสีที่แตกต่างกันสี่สี ซึ่งเป็นปัจจัยสำคัญในการบรรลุการบีบอัดของ DXT1

ขั้นตอนสุดท้ายในกระบวนการบีบอัด DXT1 คือการเข้ารหัสข้อมูลการแม็ปสีพร้อมกับสีต้นฉบับสองสีที่เลือกไว้สำหรับบล็อก สีต้นฉบับสองสีจะถูกจัดเก็บโดยตรงในข้อมูลบล็อกที่บีบอัดเป็นค่า 16 บิต ในขณะเดียวกัน การแม็ปของแต่ละพิกเซลไปยังหนึ่งในสี่สีจะถูกเข้ารหัสเป็นดัชนี 2 บิต โดยแต่ละดัชนีจะชี้ไปที่หนึ่งในสี่สี ดัชนีเหล่านี้จะถูกจัดเก็บรวมกันและครอบคลุมบิตที่เหลือของบล็อก 64 บิต บล็อกที่บีบอัดที่ได้จึงมีทั้งข้อมูลสีและการแม็ปที่จำเป็นในการสร้างรูปลักษณ์ของบล็อกใหม่ในระหว่างการคลายการบีบอัด

การคลายการบีบอัดใน DXT1 ได้รับการออกแบบมาให้เป็นกระบวนการที่ตรงไปตรงมาและรวดเร็ว ทำให้เหมาะอย่างยิ่งสำหรับแอปพลิเคชันแบบเรียลไทม์ ความเรียบง่ายของอัลกอริทึมการคลายการบีบอัดช่วยให้สามารถดำเนินการได้โดยฮาร์ดแวร์ในกราฟิกการ์ดสมัยใหม่ ซึ่งจะช่วยลดภาระบน CPU และเพิ่มประสิทธิภาพการทำงานของพื้นผิวที่บีบอัดด้วย DXT1 ในระหว่างการคลายการบีบอัด สีต้นฉบับสองสีจะถูกดึงมาจากข้อมูลบล็อกและใช้ร่วมกับดัชนี 2 บิตเพื่อสร้างสีของแต่ละพิกเซลในบล็อก วิธีการแทรกสอดเชิงเส้นจะถูกนำมาใช้เพื่อหาสีกลางหากจำเป็น

ข้อดีอย่างหนึ่งของ DXT1 คือการลดขนาดไฟล์ลงอย่างมาก ซึ่งอาจมากถึง 8:1 เมื่อเทียบกับพื้นผิว RGB 24 บิตที่ไม่บีบอัด การลดลงนี้ไม่เพียงแต่จะช่วยประหยัดพื้นที่ดิสก์เท่านั้น แต่ยังช่วยลดเวลาในการโหลดและเพิ่มศักยภาพในการเปลี่ยนแปลงพื้นผิวภายในงบประมาณหน่วยความจำที่กำหนด นอกจากนี้ ข้อดีด้านประสิทธิภาพของ DXT1 ไม่ได้จำกัดอยู่แค่การประหยัดพื้นที่จัดเก็บและแบนด์วิดท์เท่านั้น แต่ยังช่วยให้การแสดงผลเร็วขึ้นอีกด้วย โดยการลดปริมาณข้อมูลที่ต้องประมวลผลและถ่ายโอนไปยัง GPU ทำให้เป็นรูปแบบที่เหมาะสำหรับการเล่นเกมและแอปพลิเคชันที่ใช้กราฟิกอย่างหนัก

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

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

นักพัฒนาที่ทำงานกับพื้นผิวที่บีบอัดด้วย DXT1 มักจะใช้เทคนิคต่างๆ เพื่อลดข้อจำกัดเหล่านี้ ตัวอย่างเช่น การออกแบบพื้นผิวอย่างระมัดระวังและการใช้การกระจายจุดสามารถช่วยลดการมองเห็นของสิ่งประดิษฐ์จากการบีบอัดและแถบสี นอกจากนี้ เมื่อจัดการกับความโปร่งใส นักพัฒนาอาจเลือกใช้แผนที่พื้นผิวแยกต่างหากสำหรับข้อมูลความโปร่งใส หรือเลือกใช้รูปแบบ DXT อื่นๆ ที่มีการจัดการความโปร่งใสที่ละเอียดอ่อนกว่า เช่น DXT3 หรือ DXT5 สำหรับพื้นผิวที่ความโปร่งใสคุณภาพสูงมีความสำคัญ

การนำ DXT1 มาใช้กันอย่างแพร่หลายและการรวมไว้ใน DirectX API เน้นให้เห็นถึงความสำคัญในด้านกราฟิกแบบเรียลไทม์ ความสามารถในการรักษาสมดุลระหว่างคุณภาพและประสิทธิภาพทำให้เป็นสิ่งสำคัญในอุตสาหกรรมเกม ซึ่งการใช้ทรัพยากรอย่างมีประสิทธิภาพมักเป็นสิ่งที่สำคัญ นอกเหนือจากเกม

รูปแบบที่รองรับ

AAI.aai

ภาพ AAI Dune

AI.ai

Adobe Illustrator CS2

AVIF.avif

รูปแบบไฟล์ภาพ AV1

BAYER.bayer

ภาพ Bayer ดิบ

BMP.bmp

ภาพ bitmap ของ Microsoft Windows

CIN.cin

ไฟล์ภาพ Cineon

CLIP.clip

Image Clip Mask

CMYK.cmyk

ตัวอย่างสีฟ้า, สีแม่จัน, สีเหลือง, และสีดำดิบ

CUR.cur

ไอคอนของ Microsoft

DCX.dcx

ZSoft IBM PC multi-page Paintbrush

DDS.dds

Microsoft DirectDraw Surface

DPX.dpx

ภาพ SMTPE 268M-2003 (DPX 2.0)

DXT1.dxt1

Microsoft DirectDraw Surface

EPDF.epdf

รูปแบบเอกสารพกพาที่มีการหุ้มห่อ

EPI.epi

รูปแบบการแลกเปลี่ยน PostScript ที่มีการหุ้มห่อของ Adobe

EPS.eps

Adobe Encapsulated PostScript

EPSF.epsf

Adobe Encapsulated PostScript

EPSI.epsi

รูปแบบการแลกเปลี่ยน PostScript ที่มีการหุ้มห่อของ Adobe

EPT.ept

PostScript ที่มีการหุ้มห่อพร้อมตัวอย่าง TIFF

EPT2.ept2

ระดับ PostScript ที่มีการหุ้มห่อ II พร้อมตัวอย่าง TIFF

EXR.exr

ภาพที่มีช่วงไดนามิกสูง (HDR)

FF.ff

Farbfeld

FITS.fits

ระบบการขนส่งภาพที่ยืดหยุ่น

GIF.gif

รูปแบบการแลกเปลี่ยนกราฟิกของ CompuServe

HDR.hdr

ภาพที่มีช่วงไดนามิกสูง

HEIC.heic

คอนเทนเนอร์ภาพประสิทธิภาพสูง

HRZ.hrz

Slow Scan TeleVision

ICO.ico

ไอคอนของ Microsoft

ICON.icon

ไอคอนของ Microsoft

J2C.j2c

codestream JPEG-2000

J2K.j2k

codestream JPEG-2000

JNG.jng

กราฟิกเครือข่าย JPEG

JP2.jp2

รูปแบบไฟล์ JPEG-2000

JPE.jpe

รูปแบบ JFIF ของกลุ่มผู้เชี่ยวชาญด้านภาพร่วม

JPEG.jpeg

รูปแบบ JFIF ของกลุ่มผู้เชี่ยวชาญด้านภาพร่วม

JPG.jpg

รูปแบบ JFIF ของกลุ่มผู้เชี่ยวชาญด้านภาพร่วม

JPM.jpm

รูปแบบไฟล์ JPEG-2000

JPS.jps

รูปแบบ JPS ของกลุ่มผู้เชี่ยวชาญด้านภาพร่วม

JPT.jpt

รูปแบบไฟล์ JPEG-2000

JXL.jxl

ภาพ JPEG XL

MAP.map

ฐานข้อมูลภาพที่ไม่มีรอยต่อและมีความละเอียดหลายระดับ (MrSID)

MAT.mat

รูปแบบภาพ MATLAB level 5

PAL.pal

พิกซ์แมป Palm

PALM.palm

พิกซ์แมป Palm

PAM.pam

รูปแบบบิตแมป 2 มิติทั่วไป

PBM.pbm

รูปแบบบิตแมปพกพา (ขาวและดำ)

PCD.pcd

Photo CD

PCT.pct

Apple Macintosh QuickDraw/PICT

PCX.pcx

ZSoft IBM PC Paintbrush

PDB.pdb

รูปแบบ ImageViewer ฐานข้อมูล Palm

PDF.pdf

รูปแบบเอกสารพกพา

PDFA.pdfa

รูปแบบเอกสารเก็บถาวร

PFM.pfm

รูปแบบลอยพกพา

PGM.pgm

รูปแบบกรายแมปพกพา (สเกลเทา)

PGX.pgx

รูปแบบไม่บีบอัด JPEG 2000

PICT.pict

Apple Macintosh QuickDraw/PICT

PJPEG.pjpeg

รูปแบบ JFIF ของกลุ่มผู้เชี่ยวชาญด้านภาพถ่ายร่วม

PNG.png

กราฟิกเครือข่ายพกพา

PNG00.png00

PNG สืบทอดความลึกบิต, ประเภทสีจากรูปภาพเดิม

PNG24.png24

RGB 24 บิตที่ไม่โปร่งใสหรือโปร่งใสแบบไบนารี (zlib 1.2.11)

PNG32.png32

RGBA 32 บิตที่ไม่โปร่งใสหรือโปร่งใสแบบไบนารี

PNG48.png48

RGB 48 บิตที่ไม่โปร่งใสหรือโปร่งใสแบบไบนารี

PNG64.png64

RGBA 64 บิตที่ไม่โปร่งใสหรือโปร่งใสแบบไบนารี

PNG8.png8

8 บิตที่ไม่โปร่งใสหรือโปร่งใสแบบไบนารี

PNM.pnm

anymap พกพา

PPM.ppm

รูปแบบพิกซ์แมปพกพา (สี)

PS.ps

ไฟล์ Adobe PostScript

PSB.psb

รูปแบบเอกสารขนาดใหญ่ของ Adobe

PSD.psd

บิตแมป Adobe Photoshop

RGB.rgb

ตัวอย่างสีแดง, สีเขียว, และสีน้ำเงินดิบ

RGBA.rgba

ตัวอย่างสีแดง, สีเขียว, สีน้ำเงิน, และสีอัลฟาดิบ

RGBO.rgbo

ตัวอย่างสีแดง, สีเขียว, สีน้ำเงิน, และความทึบดิบ

SIX.six

รูปแบบกราฟิก DEC SIXEL

SUN.sun

Sun Rasterfile

SVG.svg

กราฟิกเวกเตอร์ขนาดยืดหยุ่น

TIFF.tiff

รูปแบบไฟล์ภาพที่มีแท็ก

VDA.vda

ภาพ Truevision Targa

VIPS.vips

ภาพ VIPS

WBMP.wbmp

ภาพ Bitmap ไร้สาย (ระดับ 0)

WEBP.webp

รูปแบบภาพ WebP

YUV.yuv

CCIR 601 4:1:1 หรือ 4:2:2

คำถามที่ถามบ่อย

ทำงานอย่างไร

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

การแปลงไฟล์ใช้เวลานานเท่าใด

การแปลงจะเริ่มขึ้นทันที และไฟล์ส่วนใหญ่จะถูกแปลงภายในเวลาไม่ถึงหนึ่งวินาที ไฟล์ขนาดใหญ่อาจใช้เวลานานกว่านั้น

จะเกิดอะไรขึ้นกับไฟล์ของฉัน

ไฟล์ของคุณจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา ไฟล์เหล่านั้นจะถูกแปลงในเบราว์เซอร์ของคุณ จากนั้นไฟล์ที่แปลงแล้วจะถูกดาวน์โหลด เราไม่เคยเห็นไฟล์ของคุณ

ฉันสามารถแปลงไฟล์ประเภทใดได้บ้าง

เรารองรับการแปลงระหว่างรูปแบบภาพทั้งหมด รวมถึง JPEG, PNG, GIF, WebP, SVG, BMP, TIFF และอื่นๆ

ค่าใช้จ่ายเท่าไหร่

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

ฉันสามารถแปลงหลายไฟล์พร้อมกันได้หรือไม่

ใช่! คุณสามารถแปลงไฟล์ได้มากเท่าที่คุณต้องการในคราวเดียว เพียงเลือกหลายไฟล์เมื่อคุณเพิ่ม