OpenEXR 图像 (.exr)

Academy มาตรฐาน

OpenEXR (EXR) เป็นมาตรฐานรูปแบบภาพ High Dynamic Range (HDR) สำหรับอุตสาหกรรมภาพยนตร์และเทคนิคพิเศษ (VFX) ซึ่งรองรับพิกเซลแบบเลขทศนิยมขนาด 16-bit half และ 32-bit floating-point ในเลเยอร์ที่ไม่จำกัด

ตรวจสอบและดู Metadata

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

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

การแปลงไฟล์แบบส่วนตัว 100% ในเบราว์เซอร์ - ไฟล์จะไม่ rời ออกจากอุปกรณ์ของคุณ

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

ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)

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

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

76 2F 31 01

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

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

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

สถาปัตยกรรมคอนเทนเนอร์Extensible chunk-based container supporting arbitrary channels, parts, and deep data layers
การบีบอัดPIZ (wavelet), ZIP/ZIPS, RLE, B44/B44A, DWAA/DWAB (lossy DCT), and uncompressed
การจัดลำดับไบต์ (Byte Endianness)Little-Endian (Intel x86)
พื้นที่สีLinear ACEScg, ACES2065-1, Linear Rec.709, Arbitrary chromaticity coordinates
ช่องสัญญาณและโครงสร้างArbitrary channel names (R, G, B, A, Z-depth, Normal, WorldPos, MotionVectors, Cryptomatte)
ขนาดสูงสุดPractically unlimited (supports tiled deep zoom and multi-gigapixel canvas bounds)
ความโปร่งใสFull floating-point alpha channel and deep-compositing volumetric sample arrays
การสตรีมและแบบโปรเกรสซีฟScanline or tiled chunk streaming enables fast partial-frame reads and proxy rendering

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

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

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

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

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

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

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

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

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

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

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:

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

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 (FP16) และ 32-bit float (FP32) แท้จริง ช่วยรักษาค่าความสว่างที่สูงมากตั้งแต่แสงแดดจ้าจนถึงเงาดำมืด
  • สถาปัตยกรรมหลายช่องสัญญาณแบบอิสระ ช่วยบรรจุพาสการเรนเดอร์ 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 bytes) สี่ตัวแรกของไฟล์ EXR ทุกไฟล์คือ 0x76 0x2F 0x31 0x01 ซึ่งแปลในรหัส ASCII ได้เป็น 'v/1\x01'
  • OpenEXR รองรับ 'Deep Data' ซึ่งพิกเซลเดียวสามารถจัดเก็บตัวอย่างสีและความลึกได้หลายค่าในระยะทางที่ต่างกันผ่านกลุ่มควันและเมฆกึ่งโปร่งใส

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

เหตุใดไฟล์ OpenEXR ถึงมีขนาดใหญ่มาก?

เนื่องจาก EXR เก็บข้อมูลภาพแบบลอยตัวความแม่นยำสูง (16-bit หรือ 32-bit) ต่อช่องสัญญาณ และมักจะรวมพาสการเรนเดอร์หลายสิบพาสไว้ในไฟล์เดียวกัน

ฉันสามารถเปิดไฟล์ EXR บนซอฟต์แวร์แต่งภาพทั่วไปได้หรือไม่?

ซอฟต์แวร์อย่าง Photoshop หรือโปรแกรมดูภาพทั่วไปอาจต้องการปลั๊กอินเพิ่มเติม แต่ซอฟต์แวร์ตัดต่อและ 3D ส่วนใหญ่รองรับทันที

จะแปลงไฟล์ EXR ให้เป็นรูปแบบภาพทั่วไปได้อย่างไร?

คุณสามารถใช้เครื่องมือแปลงไฟล์ของ File2File เพื่อแปลง EXR เป็น PNG หรือ JPG พร้อมปรับแต่งค่าการแสดงผลได้อย่างรวดเร็ว