เป็นกระบวนการเข้ารหัสข้อมูลเพื่อให้ใช้จำนวนบิตในการเก็บข้อมูลน้อยลงกว่าเดิม (ไม่ใช่เพื่อรักษาความลับ) ตรงนี้ที่ใช้คำว่าเข้ารหัสเพราะข้อมูลต้นฉบับกับข้อมูลที่ได้หลังจากบีบอัดแล้วมันจะต่างไปจากเดิม ซึ่งตามจุดประสงค์เดิมของการเข้ารหัสนั้นเพื่อรักษาความลับของข้อมูลข่าวสาร แต่ในกรณีการบีบอัดนั้นมีจุดประสงค์หลักเพื่อให้ขนาดของข้อมูลที่เก็บมีขนาดลดลง
การบีบอัดข้อมูลมีประโยชน์ในการลดปริมาณการใช้ทรัพยากร เช่น ประหยัดพื้นที่ของฮาร์ดดิสก์เมื่อเก็บข้อมูล หรือใช้แบนด์วิดธ์ของระบบเครือข่ายน้อยลงเพื่อส่งข้อมูลที่บีบอัดแล้ว เป็นต้น ในทางตรงข้ามข้อมูลที่ถูกบีบอัด (compress) มาแล้วก็ต้องนำมาคลาย (decompress) หรือถอดรหัสเพื่อให้ได้ข้อมูลเดิมกลับมาก่อนที่จะสามารถนำไปใช้งานได้ ซึ่งกระบวนการดังกล่าวอาจมีผลเสียต่องานบางอย่าง เช่น ข้อมูลวีดีโอที่บีบอัดแล้วอาจต้องการฮาร์ดแวร์ราคาแพงที่สามารถประมวลผลได้เร็วพอที่จะเล่นข้อมูลวีดีโอนั้นได้โดยไม่ติดขัด (ทางเลือกอื่นเช่นการคลายข้อมูลวีดีโอกลับออกมาก่อนแล้วค่อยดูอาจไม่สะดวก และต้องใช้พื้นที่ในการเก็บข้อมูลที่คลายออกมาแล้วเพิ่ม)หากเราจะเลือกรูปแบบการบีบอัดข้อมูล จะต้องคำนึงถึงตัวแปรหลายๆตัว เช่น ประสิทธิภาพในการบีบอัด อัตราการสูญเสียหรือผิดเพี้ยน(บางคนอาจสงสัยว่าข้อมูลที่บีบอัดมันเพี้ยนด้วยหรือ?อันนี้เดี๋ยวจะอธิบายต่อ) ทรัพยากรที่ต้องใช้ในการบีบอัดหรือคลายข้อมูล เป็นต้น
การบีบอัดแบบ Lossless กับแบบ Lossyการบีบอัดข้อมูลแบบ Lossless อาศัยหลักการที่ว่าปกติข้อมูลที่ใช้อยู่มักจะมีข้อมูลที่ซ้ำกัน เช่น คำในภาษาอังกฤษมักพบอักษร 'e' ได้บ่อยกว่า 'z' และความเป็นไปได้ที่อักษร 'q' จะตามด้วย 'z' มีน้อยมากๆ ยกตัวอย่างแบบนี้อาจไม่เห็นภาพว่าจะลดข้อมูลได้อย่างไร ผมขอยกตัวอย่างแบบที่ผมคิดเองดีกว่าอย่างในภาษาอังกฤษในบทความหรือหนังสือเล่มหนึ่งจะปรากฏคำว่า the อยู่บ่อยมาก สมมติเราให้เก็บอักษร t แทน the หรืออาจใช้วิธีเก็บตำแหน่งที่ปรากฎคำนั้นๆแทน ก็สามารถลดความยาวข้อมูลที่จะเก็บได้ (อันนี้แค่ยกตัวอย่างให้เห็นแนวคิดแต่จริงๆ algorithm ที่ใช้บีบอัดอาจกระทำกันในระดับบิตเลยนะครับ) จะเห็นว่าการบีบอัดข้อมูลแบบนี้ ข้อมูลต้นฉบับกับข้อมูลที่บีบอัดแล้วคลายออกมาจะเหมือนกันไม่ผิดเพี้ยน
การบีบอัดข้อมูลแบบ Lossy จะมีแนวคิดต่างกันไป โดยใช้หลักว่าความผิดเพี้ยนของข้อมูลเล็กน้อยเป็นสิ่งที่ยอมรับได้ เช่น ตาของมนุษย์ไม่สามารถแยกความแตกต่างของบางสีได้หมด ก็ไม่จำเป็นต้องเก็บข้อมูลทุกสีทุกตำแหน่ง เก็บเพียงบางสีที่แยกความแตกต่างได้ก็พอ ดังจะเห็นตัวอย่างจากไฟล์ประเภท jpg ใช้การบีบอัดข้อมูลแบบ Lossy จะทำให้ได้ขนาดไฟล์ภาพที่เล็กลงมาก แต่ก็สูญเสียรายละเอียดบางอย่างไป (รายละเอียดที่เสียไปคือสีที่มนุษย์ไม่สามารถแยกความแตกต่างได้) จะเห็นว่าการบีบอัดข้อมูลแบบ Lossy มักจะใช้กับข้อมูลที่มนุษย์รับรู้ อีกตัวอย่างหนึ่ง คือ ไฟล์เสียงประเภท mp3 ซึ่งทำการตัดเสียงในย่านความถี่ที่มนุษย์ไม่สามารถได้ยินออกไปยกตัวอย่างง่ายๆเพื่อเทียบการบีบอัดข้อมูลแบบ lossless กับ lossy เช่น 25.888888888 อาจบีบอัดให้เหลือ 25.[9]8 (9 ในปีกกาหมายถึงมี 8 จำนวน 9 ตัว) ซึ่งสามารถแปลงกลับเป็นข้อมูลเดิมได้ไม่ผิดเพี้ยน (lossless) ในขณะที่ถ้าหากสามารถยอมรับได้ว่าข้อมูลผิดเพี้ยนไปบ้างก็ไม่เป็นไรก็อาจบีบอัดให้เหลือ 26 ซึ่งจะเห็นว่าประหยัดพื้นที่การเก็บข้อมูลได้เยอะกว่า แต่ขณะเดียวกันข้อมูลจะไม่เหมือนเดิมเสียทีเดียว (lossy)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น