แนวคิดคร่าวๆ ของหลักการบีบย่อข้อมูล ว่ามันทำได้อย่างไร

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

แนวคิดหนึ่งคือ ถ้าข้อความซ้ำ แทนที่จะเขียนซ้ำๆ กันอีก ก็แค่บอกว่าให้ย้อนไปอ่านข้อความที่เขียนไปแล้วก่อนหน้านี้ที่ตำแหน่งไหนและให้อ่านกี่ตัวอักษร ทั้งนี้อาจต้องมีอักษรพิเศษเพื่อบอกว่าตัวไหนคือตัวอักษร และตัวไหนคือคำสั่งให้ไปอ่านข้อความที่เคยเขียนมาแล้ว

อีกแนวคิด คล้ายๆ การเคาะรหัสส่งโทรเลขที่ตัวอักษรที่ใช้บ่อยๆ รหัสที่ต้องเคาะก็ควรจะสั้น เช่น E และ T และตัวอักษรที่ใช้ไม่บ่อย เคาะรหัสยาวหน่อยก็ได้ แต่ในคอมพิวเตอร์ จะเก็บเป็นบิตหรือเลขฐานสองแทนการเคาะ

สมมติมีแค่ตัวอีกษร A, B, C, D มาประกอบเป็นข้อความ AAAABBCD ถ้ากำหนดให้ทุกตัวอักษรใช้จำนวนบิตที่จะแทนที่ตัวอักษรเท่ากันหมดคือ 2 บิต (หรือเลขฐานสองสองหลัก) โดยกำหนดให้ A=00, B=01, C=10 และ D=11 ข้อความดังกล่าวก็จะเปลี่ยนเป็นบิตได้เป็น AAAABBCD = 00,00,00,01,01,10,11 รวมทั้งหมด 16 บิต

แต่ถ้ากำหนดให้ ตัวอักษรแต่ละตัวเก็บด้วยจำนวนบิตที่ไม่เท่ากัน ให้ตัวอักษรที่ใช้บ่อยๆ ใช้จำนวนบิตน้อยหน่อย ตัวอักษรที่ใช้ไม่บ่อย ก็ยอมให้ใช้จำนวนบิตยาวกว่าได้ เช่น A=1, B=01, C=001 และ D=000 จะใช้แค่ AAAABBCD = 1,1,1,1,01,01,001,000 รวมทั้งหมด 14 บิต จะเห็นว่า จำนวนบิตที่ใช้ลดลง

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s