ฟิจิทัลสร้างภาพขนาด 1600×900 พิกเซลสองภาพ ภาพแรกเป็นพื้นสีเข้มกับรูปสี่เหลี่ยมและวงกลมสีเรียบ ภาพที่สองใช้องค์ประกอบเดียวกันแล้วผสมนอยส์ 35% เพิ่มรอยขูดเส้นบาง 900 เส้นและคราบจุด 400 จุด จากนั้นบันทึกเป็น JPEG และ WebP ที่คุณภาพ 80 ด้วย Pillow 12.3.0 (libwebp 1.6.0 · libjpeg 6.2) ผลเป็นดังนี้
| ภาพ |
JPEG q80 |
WebP q80 |
bits per pixel (WebP) |
| ภาพเรียบ 1600×900 |
32.6 KB |
6.3 KB |
0.04 |
| ภาพพื้นผิวกรันจ์ 1600×900 |
493.6 KB |
484.0 KB |
2.75 |
| ชิ้นพื้นผิว 256×256 |
22.4 KB |
22.1 KB |
2.76 |
ทำไมภาพพื้นผิวบีบได้น้อย
ตัวเข้ารหัสภาพลดขนาดไฟล์ได้มากเมื่อพิกเซลที่อยู่ติดกันมีค่าใกล้กัน ภาพเรียบมีพื้นที่สีเดียวกว้าง ๆ จึงบีบเหลือ 6.3 KB ส่วนนอยส์และรอยขูดทำให้พิกเซลติดกันต่างกันเกือบทุกจุด ตัวเข้ารหัสจึงต้องเก็บข้อมูลเกือบทั้งหมด ค่า 2.75 bits per pixel ของภาพกรันจ์สูงกว่าค่ามัธยฐานของ WebP ทั้งเว็บใน Web Almanac ซึ่งอยู่ที่ 1.3 เกินสองเท่า
เปลี่ยนเป็น WebP ช่วยได้แค่ไหน
กับภาพเรียบ WebP เล็กกว่า JPEG ราว 5 เท่า (6.3 KB เทียบ 32.6 KB) แต่กับภาพกรันจ์ สองฟอร์แมตต่างกันไม่ถึง 2% (484.0 KB เทียบ 493.6 KB) การเปลี่ยนฟอร์แมตจึงช่วยภาพพื้นผิวได้น้อย ตัวที่กำหนดน้ำหนักจริงคือปริมาณรายละเอียดที่ใส่ลงไปในภาพ
ลดความแรงของนอยส์แล้วเบาลงเท่าไหร่
ฟิจิทัลทดลองต่อโดยเปลี่ยนสัดส่วนนอยส์อย่างเดียว ไม่ใส่รอยขูดและคราบ ภาพขนาดเดิมบันทึกเป็น WebP ได้ผลดังนี้
| สัดส่วนนอยส์ |
WebP q80 |
WebP q60 |
| 10% |
129.0 KB |
34.2 KB |
| 20% |
316.8 KB |
206.6 KB |
| 35% |
456.5 KB |
339.3 KB |
นอยส์ 10% ที่คุณภาพ 60 เหลือ 34.2 KB ส่วนนอยส์ 35% ที่คุณภาพ 80 หนัก 456.5 KB ห่างกันราว 13 เท่า ทั้งที่คนดูส่วนใหญ่ยังเห็นว่าเป็นพื้นผิวหยาบทั้งคู่ ก่อนเลือกค่าจึงควรเปิดภาพเทียบกันบนมือถือจริง
ทำการทดลองแบบนี้กับภาพของร้านเองได้ไหม
ทำได้ด้วยโปรแกรมแต่งภาพทั่วไป เปิดภาพพื้นผิวที่จะใช้จริง ย่อให้กว้างเท่าที่หน้าเว็บจะแสดง แล้วส่งออกเป็น WebP สามค่าคุณภาพ เช่น 80 70 และ 60 จดขนาดไฟล์ของแต่ละค่า จากนั้นทำแบบเดียวกันกับภาพเดิมที่ลดความเข้มของพื้นผิวลงครึ่งหนึ่ง นำไฟล์ทั้งหมดขึ้นหน้าเว็บทดสอบแล้วเปิดดูบนมือถือ เลือกไฟล์ที่เล็กที่สุดซึ่งหน้าตายังตรงกับที่แบรนด์ต้องการ