Instagram เผยเบื้องหลังซอฟต์แวร์ "กันสั่น" ของแอพ Hyperlapse

by mk
31 August 2014 - 01:40

เมื่อไม่กี่วันก่อน Instagram ออก Hyperlapse แอพสำหรับถ่ายวิดีโอแบบ Time Lapse จุดเด่นของมันคือการใช้งานง่าย และฟีเจอร์ "กันสั่น" ในระดับซอฟต์แวร์

หลังจากนั้นไม่นาน Instagram ก็ออกมาอธิบายเบื้องหลังการทำงานของอัลกอริทึมตัวนี้ (ที่เรียกกันภายในว่า Cinema) ว่าช่วยให้วิดีโอดูนิ่งได้อย่างไร

กระบวนการทำงานของมันคือ ดึงแค่เซ็นเซอร์ gyroscope กับเฟรมของวิดีโอแต่ละเฟรมมาประมวลผลหาค่าความแกว่ง (orientation) ของกล้องในแต่ละช่วงเวลา การประมวลผลหา orientation จะเกิดขึ้นแบบออฟไลน์

จากนั้นนำค่า orientation ที่ได้เข้ามาประมวลผลใน video filtering pipeline แบบเรียลไทม์ขณะเล่นวิดีโอเพื่อปรับแต่ง (ก่อนบันทึกวิดีโอสุดท้าย) เพื่อให้ได้เฟรมที่นิ่งออกมาเป็นผลลัพธ์

  • กระบวนการประมวลผลช่วงหลังจะทำงานทีละเฟรม ดังนั้นเฟรมผลลัพธ์ที่ได้จะถูก crop หลังจากหมุนเอียงเฟรมให้พอดีกับเฟรมอื่นๆ แล้ว
  • อัลกอริทึม Cinema จะถูกใช้เฉพาะกับเฟรมที่เลือกเท่านั้น (เช่น เลือกวิดีโอด้วยความเร็ว 6x คือเลือก 1 เฟรมจากทุก 6 เฟรม) เพื่อให้ประหยัดทรัพยากรการประมวลผล

ดูวิดีโอสาธิตการทำงานเพิ่มเติมได้จาก Instagram Engineering นะครับ

Blognone Jobs Premium