ภาพ OpenEXR (.exr)

Academy มาตรฐาน

OpenEXR เป็นรูปแบบภาพ HDR ระดับมืออาชีพที่ใช้ในเวิร์กโฟลว์ภาพยนตร์และวิชวลเอฟเฟกต์ รองรับพิกเซลแบบ half 16 บิตและ floating-point 32 บิต พร้อมหลายช่องสัญญาณและเลเยอร์

ตรวจสอบไฟล์และข้อมูลเมตา

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ EXR โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
รับประกันความเป็นส่วนตัวโดยไม่มีการส่งข้อมูลผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวระดับไบต์

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ EXR โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

76 2F 31 01

การแสดงผลรูปแบบ ASCII: v/1.

มาตรฐาน: Academy Software Foundation (ASWF) Open Standard

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์คอนเทนเนอร์แบบชังก์ที่ขยายได้ รองรับแชนเนล พาร์ต และเลเยอร์ข้อมูลเชิงลึกได้ตามต้องการ
การบีบอัดPIZ (เวฟเล็ต), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (DCT แบบสูญเสียข้อมูล) และไม่บีบอัด
การจัดลำดับไบต์ลำดับไบต์แบบ Little-Endian (Intel x86)
พื้นที่สีLinear ACEScg, ACES2065-1, Linear Rec.709, พิกัดโครมาติซิตีที่กำหนดได้ตามต้องการ
ช่องสัญญาณและโครงสร้างชื่อแชนเนลที่กำหนดได้ตามต้องการ (R, G, B, A, Z-depth, Normal, WorldPos, MotionVectors, Cryptomatte)
ขนาดสูงสุดแทบไม่จำกัด (รองรับ deep zoom แบบไทล์และขอบเขตผืนภาพขนาดหลายกิกะพิกเซล)
ความโปร่งใสแชนเนลอัลฟาแบบ floating-point เต็มรูปแบบ และอาร์เรย์ตัวอย่างเชิงปริมาตรสำหรับ deep compositing
การสตรีมและแบบโปรเกรสซีฟการสตรีมชังก์แบบสแกนไลน์หรือไทล์ช่วยให้อ่านเฟรมบางส่วนและเรนเดอร์ภาพพร็อกซีได้รวดเร็ว

ตารางเปรียบเทียบทางเทคนิค: EXR กับคู่แข่ง

คุณลักษณะทางเทคนิคEXR (ปัจจุบัน)HDRTIFFPNG
ช่วงไดนามิกlinear แบบ half 16 บิตและ float 32 บิตเลขชี้กำลัง 8 บิตที่ใช้ร่วมกัน (RGBE)จำนวนเต็ม 8/16 บิต หรือเลขทศนิยม 32 บิตจำนวนเต็มมาตรฐาน 8 บิต / 16 บิต
พาสหลายช่องสัญญาณช่องสัญญาณและส่วนต่างๆ ที่ตั้งชื่อเองได้ไม่จำกัดRGB เท่านั้นการรองรับเลเยอร์แบบจำกัดRGBA เท่านั้น
การยอมรับในอุตสาหกรรมมาตรฐาน 3D ของฮอลลีวูดและ VFX สากล 100%การจัด 3D แสง / พาโนรามาแบบเดิมงานก่อนพิมพ์และการถ่ายภาพการรองรับแตกต่างกันไปตามซอฟต์แวร์
การจัดการสีการรวมเข้าด้วยกันแบบเนทีฟของ ACES และ OpenColorIOแกมม่า / เชิงเส้นเฉพาะกิจแท็กโปรไฟล์ ICCแท็ก sRGB / ICC

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

ภาพแสดงผลมืดสนิทหรือสว่างจ้าจนเป็นปื้นสีขาวโพลน

สาเหตุหลัก: ขาดการแปลงค่าการแสดงผลจาก linear เป็น sRGB หรือมีการกำหนดค่าขอบเขตสี ACES ไม่ถูกต้อง

การกู้คืน: ใช้ File2File.app HDR Viewer เพื่อปรับใช้เส้นโค้งโทนสี (tone curve) แบบ ACEScg หรือ Linear-to-sRGB

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

ตัวแยกวิเคราะห์ OpenEXR ที่จัดการข้อมูลแบบ chunk ซับซ้อนต้องตรวจสอบนิยามช่องสัญญาณและขอบเขตไทล์อย่างเคร่งครัด เพื่อป้องกันปัญหาความปลอดภัยของหน่วยความจำ

เวกเตอร์การโจมตีที่ทราบ

  • เกิดภาวะ Integer overflow ในการคำนวณระยะห่างบัฟเฟอร์หลายช่องสัญญาณ (buffer stride) ในไลบรารี libopenexr
  • อ่านข้อมูลนอกขอบเขตของฮีประหว่างคลายการบีบอัดสตรีม PIZ หรือ DWAA
  • การโจมตีแบบปฏิเสธการให้บริการ (Denial of Service) ผ่านโครงสร้างส่วนหัวแบบหลายส่วนที่มีการเรียกซ้ำลึกเกินไป

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ถอดรหัสไฟล์ EXR โดยใช้บิวด์ WebAssembly แบบแซนด์บ็อกซ์ที่ปลอดภัยต่อหน่วยความจำพร้อมขีดจำกัดขนาดไทล์ที่เข้มงวด

ประวัติความเป็นมาและเหตุการณ์สำคัญ

2020เปิดตัว OpenEXR 3.0 ภายใต้ Academy Software Foundation พร้อมปรับปรุงการทำงานแบบมัลติเธรดให้ทันสมัยยิ่งขึ้น
2013OpenEXR 2.0 นำเสนอระบบคอมโพสิต Deep Data และโครงสร้างภาพแบบหลายส่วน (multi-part)
2003Industrial Light & Magic เผยแพร่ OpenEXR เป็นโอเพนซอร์สภายใต้สัญญาอนุญาต BSD แบบแก้ไข หลังจากนำไปใช้กับภาพยนตร์ Harry Potter
1999สร้างขึ้นโดยวิศวกรของ ILM ได้แก่ Florian Kainz, Rod Bogart และ Drew Hess เพื่อมาแทนที่รูปแบบ Cineon/DPX ขนาด 8-bit

ข้อได้เปรียบและจุดเด่นสำคัญ

  • รองรับพิกเซลแบบ 16-bit half-float และ 32-bit floating-point โดยตรง ช่วยรักษาค่าความสว่างได้ตั้งแต่แสงแดดจ้าจนถึงเงามืด
  • สถาปัตยกรรมหลายช่องสัญญาณแบบอิสระ ช่วยบรรจุพาสการเรนเดอร์ 3D ทั้งหมด (beauty, diffuse, specular, depth, cryptomatte) ไว้ในไฟล์เดียว
  • อัลกอริทึมการบีบอัด DWAA/DWAB และ PIZ ระดับแนวหน้าของอุตสาหกรรม ให้การบีบอัดที่ยอดเยี่ยมโดยไม่สูญเสียรายละเอียดภาพ

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

  • ขนาดไฟล์ใหญ่มากเมื่อบันทึกพาสการเรนเดอร์ 3D แบบ 4K/8K 32-bit หลายเลเยอร์แบบไม่บีบอัด
  • ใช้ทรัพยากร CPU และหน่วยความจำสูงระหว่างการคลายการบีบอัดหลายช่องสัญญาณในซอฟต์แวร์ทั่วไป
  • ต้องใช้กระบวนการจัดการสี (ACES หรือ OCIO) เพื่อให้เรนเดอร์แสดงผลได้อย่างถูกต้องบนหน้าจอ sRGB มาตรฐาน

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • Industrial Light & Magic เป็นผู้คิดค้นชนิดข้อมูลเลขทศนิยม 'half' ขนาด 16-bit ขึ้นมาโดยเฉพาะสำหรับรูปแบบ OpenEXR
  • ไบต์ magic สี่ตัวแรกของทุกไฟล์ EXR คือ 0x76 0x2F 0x31 0x01 ซึ่งถอดเป็น ASCII ได้ว่า 'v/1\x01'
  • OpenEXR รองรับ 'Deep Data' ซึ่งพิกเซลเดียวสามารถจัดเก็บตัวอย่างสีและความลึกได้หลายค่าในระยะทางที่ต่างกันผ่านกลุ่มควันและเมฆกึ่งโปร่งใส

คำถามทางเทคนิคที่พบบ่อย

เหตุใดจึงใช้ OpenEXR ในเวิร์กโฟลว์วิชวลเอฟเฟกต์บางประเภท?

รูปแบบนี้เก็บข้อมูลภาพ HDR ที่มีความแม่นยำสูง และรองรับหลายช่องสัญญาณ ส่วนภาพ และข้อมูลความลึกสำหรับการคอมโพสิต

Half float กับ float ใน OpenEXR ต่างกันอย่างไร

Half float ใช้ 16 บิตต่อช่องสี ให้ช่วงรับแสง 30 สต็อปและใช้พื้นที่ไฟล์เพียงครึ่งหนึ่งของ float 32 บิต จึงเป็นตัวเลือกยอดนิยมในอุตสาหกรรมสำหรับงาน beauty render

จะแปลง EXR เป็น PNG หรือ JPG มาตรฐานได้อย่างไร?

คุณสามารถแปลงไฟล์ EXR เป็นภาพ PNG หรือ JPG ที่ปรับโทนสีแล้วได้โดยตรงในเว็บเบราว์เซอร์ด้วย File2File.app