หมายเหตุ ขณะนี้ไม่มีการพัฒนาเกิดขึ้นที่นี่ บางส่วนของโครงการนี้ถูกใช้ใน JPEG XL ซึ่งอยู่ระหว่างการพัฒนา
PIK เป็นรูปแบบรูปภาพที่ครบครันสำหรับภาพถ่ายและอินเทอร์เน็ต
PIK เป็น JPEG เวอร์ชันปรับปรุงใหม่โดยมีเป้าหมายที่คล้ายกัน นั่นคือ การจัดเก็บและจัดส่งรูปภาพและรูปภาพบนเว็บอย่างมีประสิทธิภาพ ได้รับการออกแบบตั้งแต่ต้นจนจบเพื่อ คุณภาพสูง และ การถอดรหัสที่รวดเร็ว
คุณสมบัติที่ให้คุณภาพสูง (รับรู้ถึงการสูญเสีย):
นอกเหนือจากการเข้ารหัสแบบไม่สูญเสียข้อมูลอย่างสมบูรณ์และในการรับรู้แล้ว PIK ยังให้ความสมดุลที่ดีระหว่างคุณภาพ/ขนาด/ความเร็วตลอดบิตเรตที่หลากหลาย (0.5 - 3 bpp) PIK เปิดใช้งานการบีบอัดแบบอัตโนมัติ/แบบไม่มีผู้ดูแล เนื่องจากรับประกันว่าจะรักษาคุณภาพของเป้าหมายไว้ทั่วทั้งภาพ โดยจัดลำดับความสำคัญของ ความถูกต้อง ซึ่งเป็นการนำเสนอต้นฉบับอย่างซื่อสัตย์ มากกว่าความสวยงามที่สามารถทำได้โดยการทำให้รายละเอียดหลอนประสาท หรือ 'ปรับปรุง' (เช่น การทำให้สีคมชัดขึ้น) ของอินพุต
คุณสมบัติที่ช่วยให้สามารถถอดรหัสได้อย่างรวดเร็ว (> 1 GB/s แบบมัลติเธรด):
คุณสมบัติอื่นๆ:
ตัวเข้ารหัสโหมดตอบสนองของ PIK รองรับการส่งผ่านเทียบเท่ากับการลดความละเอียดลง 4x หรือ 8x รูปแบบนี้รองรับการส่งผ่านที่ยืดหยุ่นมากขึ้น โดยมีรายละเอียดทุกระดับตั้งแต่การลดขนาดตัวอย่างลง 8 เท่าไปจนถึงความละเอียดสูงสุด จำนวนรายละเอียดในการส่งไม่จำเป็นต้องสม่ำเสมอ: พื้นที่ของภาพสามารถส่งโดยมีรายละเอียดที่สูงกว่าได้ ผลกระทบของโหมดตอบสนองต่อขนาดภาพที่เข้ารหัสนั้นต่ำ โดยเฉลี่ยอยู่ที่ประมาณ 2% สำหรับภาพที่ตอบสนอง 3 รอบ (8x, 4x, ความละเอียดเต็ม) ในการกำหนดค่าดังกล่าว สองรอบแรกจะใช้เวลาโดยเฉลี่ย 20% ของขนาดภาพในแต่ละรอบ
ปัจจุบันซอฟต์แวร์ต้องการ CPU ที่รองรับ AVX2 และ FMA เช่น Haswell อาคารในปัจจุบันต้องใช้เสียงดังกราว 6 หรือใหม่กว่า
ในการสร้างสามารถใช้คำแนะนำต่อไปนี้:
git submodule update --init
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j8
สิ่งนี้จะสร้างไบนารี cpik
และ dpik
ใน build/
การใช้งานพื้นฐานมีดังนี้:
cpik [--distance ] input.png output.pik
อาร์กิวเมนต์บรรทัดคำสั่งทางเลือก --distance
สำหรับ cpik คือระยะทาง Butteraugli (ดู http://github.com/google/butteraugli) ซึ่งระบุข้อผิดพลาดที่ยอมรับได้มากที่สุด ค่าที่มากขึ้นจะทำให้ไฟล์มีขนาดเล็กลงและคุณภาพลดลง ค่าเริ่มต้นที่ 1.0 ควรให้ผลลัพธ์ที่ไม่มีการสูญเสียในการรับรู้
โปรดทราบว่าบิตสตรีมยังอยู่ระหว่างการพัฒนาและยังไม่ถูกแช่แข็ง