ฉันไม่แน่ใจว่าถ้าใครยังไม่ได้อธิบายว่าทำไมตัวเลขมหัศจรรย์ดูเหมือนจะเป็น 1: 2 และไม่เช่น 1: 1.1 หรือ 1:20
เหตุผลหนึ่งคือในกรณีทั่วไปจำนวนมากเกือบครึ่งหนึ่งของข้อมูลดิจิทัลเป็นเสียงรบกวนและเสียงรบกวน (ตามคำจำกัดความ) ไม่สามารถบีบอัดได้
ฉันทำการทดลองง่าย ๆ :
ผมเอาบัตรสีเทา ต่อสายตามนุษย์ดูเหมือนกระดาษแข็งสีเทาที่เป็นกลาง โดยเฉพาะอย่างยิ่งมีไม่มีข้อมูล
จากนั้นฉันก็ใช้สแกนเนอร์ธรรมดา - เป็นอุปกรณ์ประเภทที่ผู้คนอาจใช้ในการแปลงรูปภาพเป็นดิจิทัล
ฉันสแกนบัตรสีเทา (ที่จริงแล้วฉันสแกนบัตรสีเทาพร้อมกับไปรษณียบัตรโปสการ์ดอยู่ที่นั่นเพื่อตรวจสอบสติปัญญาเพื่อให้แน่ใจว่าซอฟต์แวร์สแกนเนอร์ไม่ได้ทำอะไรแปลก ๆ เช่นเพิ่มความคมชัดโดยอัตโนมัติเมื่อเห็นการ์ดสีเทาที่ไม่มีจุดเด่น)
ฉันตัดส่วนการ์ดสีเทาขนาด 1000x1000 พิกเซลแล้วแปลงเป็นสีเทา (8 บิตต่อพิกเซล)
สิ่งที่เรามีในตอนนี้ควรเป็นตัวอย่างที่ดีพอสมควรว่าเกิดอะไรขึ้นเมื่อคุณศึกษาส่วนที่ไม่มีรูปร่างของภาพถ่ายขาวดำที่สแกนตัวอย่างเช่นท้องฟ้าใส ตามหลักการแล้วไม่ควรเห็นอะไรเลย
อย่างไรก็ตามด้วยการขยายที่ใหญ่กว่าจริง ๆ แล้วจะมีลักษณะดังนี้:
ไม่มีรูปแบบที่มองเห็นได้ชัดเจน แต่ไม่มีสีเทาเหมือนกัน ส่วนหนึ่งเกิดจากความไม่สมบูรณ์ของการ์ดสีเทา แต่ฉันคิดว่าส่วนใหญ่เป็นเสียงที่เกิดจากเครื่องสแกน (เสียงความร้อนในเซลล์เซ็นเซอร์แอมพลิฟายเออร์ A / D แปลง ฯลฯ ) ดูคล้ายกับเสียงเกาส์เซียนมาก นี่คือฮิสโตแกรม (ในสเกลลอการิทึม ):
ทีนี้ถ้าเราสมมติว่าแต่ละพิกเซลมีเฉดสีเลือก iid จากการกระจายนี้เรามีเอนโทรปีเท่าใด ฉันหลามสคริปต์บอกว่าเรามีมากที่สุดเท่าที่3.3 บิตต่อพิกเซลเอนโทรปี และนั่นก็มีเสียงดังมาก
หากเป็นกรณีนี้จริง ๆ แล้วมันจะบอกเป็นนัยว่าไม่ว่าเราจะใช้อัลกอริธึมการบีบอัดใดบิตแมปบิตแมปขนาด 1,000x1000 พิกเซลจะถูกบีบอัดในกรณีที่ดีที่สุดให้เป็นไฟล์ 412500- ไบต์ และสิ่งที่เกิดขึ้นในทางปฏิบัติ: ฉันได้รับไฟล์ PNG ขนาด 432018 ไบต์ใกล้กัน
หากเราพูดคุยกันเล็กน้อยเกินไปดูเหมือนว่าไม่ว่าภาพถ่ายขาวดำที่ฉันสแกนด้วยเครื่องสแกนนี้ฉันจะได้รับผลรวมของสิ่งต่อไปนี้:
- ข้อมูล "มีประโยชน์" (ถ้ามี)
- เสียงประมาณ 3 บิตต่อพิกเซล
ถึงแม้ว่าอัลกอริทึมการบีบอัดของคุณบีบข้อมูลที่มีประโยชน์ออกเป็น << 1 บิตต่อพิกเซลคุณจะยังคงมีสัญญาณรบกวนที่ไม่สามารถบีบอัดได้มากถึง 3 บิตต่อพิกเซล และเวอร์ชันที่ไม่มีการบีบอัดคือ 8 บิตต่อพิกเซล ดังนั้นอัตราส่วนการบีบอัดจะอยู่ใน ballpark ของ 1: 2 ไม่ว่าคุณจะทำอะไร
อีกตัวอย่างหนึ่งด้วยความพยายามที่จะค้นหาเงื่อนไขที่ทำให้เป็นอุดมคติมากเกินไป:
- กล้อง DSLR ที่ทันสมัยโดยใช้การตั้งค่าความไวต่ำสุด (เสียงรบกวนน้อยที่สุด)
- ภาพที่อยู่นอกโฟกัสของการ์ดสีเทา (แม้ว่าจะมีข้อมูลที่มองเห็นได้ในการ์ดสีเทา แต่ภาพนั้นจะเบลอ)
- การแปลงไฟล์ RAW เป็นภาพ greyscale 8 บิตโดยไม่ต้องเพิ่มความคมชัดใด ๆ ฉันใช้การตั้งค่าทั่วไปในโปรแกรมแปลงไฟล์ RAW เชิงพาณิชย์ ตัวแปลงพยายามลดสัญญาณรบกวนตามค่าเริ่มต้น ยิ่งไปกว่านั้นเรากำลังบันทึกผลลัพธ์สุดท้ายเป็นไฟล์ 8 บิต - โดยพื้นฐานแล้วเราได้ทิ้งบิตลำดับต่ำสุดของการอ่านเซ็นเซอร์ดิบ!
และผลลัพธ์สุดท้ายคืออะไร? มันดูดีกว่าที่ฉันได้รับจากเครื่องสแกน เสียงรบกวนน้อยลงและไม่มีอะไรให้เห็น อย่างไรก็ตามเสียงแบบเกาส์เซียนอยู่ที่นั่น:
และเอนโทรปี? 2.7 บิตต่อพิกเซล ขนาดไฟล์ในทางปฏิบัติ 344923 ไบต์สำหรับ 1 ล้านพิกเซล ในสถานการณ์สมมติที่ดีที่สุดอย่างแท้จริงด้วยการโกงบางอย่างเราจึงเพิ่มอัตราส่วนการบีบอัดเป็น 1: 3
แน่นอนทั้งหมดนี้มีว่าอะไรจะทำอย่างไรกับการวิจัย TCS แต่ฉันคิดว่ามันเป็นสิ่งที่ดีที่จะเก็บไว้ในใจว่าสิ่งที่มันจำกัด การบีบอัดของโลกแห่งความจริงข้อมูลดิจิทัล ความก้าวหน้าในการออกแบบอัลกอริธึมการบีบอัดที่มากขึ้นและพลัง CPU แบบดิบจะไม่ช่วย ถ้าคุณต้องการที่จะบันทึกเสียงรบกวนทั้งหมดโดยไม่สูญเสียคุณไม่สามารถทำได้ดีกว่า 1: 2