ภาพ Radiance HDR (.hdr)

Radiance มาตรฐาน

Radiance RGBE (HDR) คือรูปแบบภาพ High Dynamic Range พื้นฐานที่พัฒนาขึ้นสำหรับระบบสร้างภาพสังเคราะห์ Radiance โดยจัดเก็บค่าความสว่างที่แม่นยำตามหลักโฟโตเมทรีโดยใช้ตัวเลขยกกำลังร่วมกันขนาด 8-bit (shared exponent)

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

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

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

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

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

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

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

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

23 3F 52 41 44 49 41 4E 43 45 0A

การแสดงผลรูปแบบ ASCII: #?RADIANCE\n

มาตรฐาน: Radiance Synthetic Imaging System Standard

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

สถาปัตยกรรมคอนเทนเนอร์ส่วนหัว ASCII ที่ลงท้ายด้วยบรรทัดว่าง ตามด้วยสตริงความละเอียดและสแกนไลน์ RLE แบบไบนารี
การบีบอัดใช้การเข้ารหัส RLE แบบปรับตามข้อมูลกับแต่ละบรรทัดสแกนของแต่ละช่อง
การจัดลำดับไบต์Big-Endian / ลำดับไบต์เครือข่าย
พื้นที่สีRGB แบบ Linear Rec.709 พร้อมพิกัดโครมาติซิตี CIE
ช่องสัญญาณและโครงสร้างRGBE: แดง เขียว น้ำเงิน (แมนทิสซา 8 บิต) + เลขชี้กำลัง 8 บิตที่ใช้ร่วมกัน
ขนาดสูงสุดแทบไม่จำกัด (สตริงความละเอียดแบบจำนวนเต็มไม่มีเครื่องหมาย 32 บิต)
ความโปร่งใสไม่มี (การวัดความส่องสว่างเชิงรังสีทางกายภาพ)
การสตรีมและแบบโปรเกรสซีฟเล่นสตรีมมิงตามลำดับทีละสแกนไลน์

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

คุณลักษณะทางเทคนิคHDR (ปัจจุบัน)EXRTIFFJPEG
การเข้ารหัสพิกเซลRGBE 32 บิต (เลขชี้กำลัง 8 บิตที่ใช้ร่วมกัน)half 16 บิต / float 32 บิตต่อแชนเนลจำนวนเต็ม 8/16-บิต หรือทศนิยม 32-บิตจำนวนเต็ม 8 บิตที่เข้ารหัสแกมมา
กรณีการใช้งานหลักแสงสภาพแวดล้อม 360 องศา (IBL)การซ้อนภาพหลายผ่านสำหรับ VFXการถ่ายภาพและการเตรียมพิมพ์กราฟิกเว็บมาตรฐาน
ขอบเขตช่วงไดนามิกช่วงขนาด 76 ลำดับขั้น (10^-38 ถึง 10^38)ช่วงทศนิยมที่กว้างเกือบอนันต์แตกต่างกันไปตามความลึกบิตช่วง SDR 8-บิตที่จำกัด
ช่องสัญญาณที่รองรับเฉพาะ RGBช่องสัญญาณตามอำเภอใจไม่จำกัดช่องสัญญาณตามอำเภอใจหลายช่องRGB / CMYK

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

ภาพแสดงแถบเส้นแนวนอนพาดผ่านความกว้างของเฟรมทั้งหมด

สาเหตุหลัก: ไบต์นับความยาวสตรีม (run-length count) เสียหายระหว่างการคลายการบีบอัด scanline RLE

การกู้คืน: ซ่อมแซมเครื่องหมาย scanline ที่เสียหายด้วย File2File.app HDR Repair หรือแปลงเป็นรูปแบบ EXR

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

โปรแกรมถอดรหัส Radiance HDR มักจะแยกวิเคราะห์บรรทัดส่วนหัวแบบ ASCII โดยใช้ฟังก์ชันสตริงที่ไม่มีการจำกัดขนาด ซึ่งอาจกระตุ้นให้เกิดช่องโหว่ stack buffer overflow

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

  • การเรียกใช้คำสั่ง sprintf/sscanf แบบไม่จำกัดขนาดเมื่ออ่านส่วนหัวสตริงความละเอียด ('-Y %d +X %d')
  • เกิดข้อผิดพลาด Heap out-of-bounds write ระหว่างการถอดรหัส scanline แบบ RLE ที่ผิดรูป
  • เกิดภาวะ Integer overflow เมื่อจัดสรรหน่วยความจำสำหรับบัฟเฟอร์เลขทศนิยม 32-bit ปลายทาง

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ตรวจสอบความถูกต้องของความยาวส่วนหัว ASCII และขนาดบรรทัดสแกนก่อนจัดสรรบัฟเฟอร์ภาพ

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

2000Paul Debevec ทำให้การจัดแสงโดยใช้ภาพ HDR (IBL) แพร่หลายในวงการคอมพิวเตอร์กราฟิกส์โดยใช้ไฟล์ .hdr ของ Radiance
1997กำหนดมาตรฐานการเข้ารหัสแบบ adaptive scanline run-length เพื่อช่วยลดขนาดไฟล์
1989Greg Ward คิดค้นการเข้ารหัสพิกเซลแบบ RGBE 32-bit และรูปแบบไฟล์ .hdr ที่ห้องปฏิบัติการแห่งชาติ Lawrence Berkeley

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

  • ใช้หน่วยความจำเพียง 32 บิตต่อพิกเซล แต่ครอบคลุมช่วงความสว่างของแสงจริงที่ต่างกันได้ถึง 76 ลำดับขั้นของขนาด
  • รองรับโดยแพ็กเกจเรนเดอร์ 3 มิติหลายตัวสำหรับแผนที่สภาพแวดล้อม ทั้งนี้ขึ้นอยู่กับแอปพลิเคชัน
  • โครงสร้างไฟล์ค่อนข้างกะทัดรัด ซึ่งซอฟต์แวร์ที่รองรับ Radiance HDR สามารถนำไปใช้ได้

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

  • อาจเกิดอาการแถบสีแตก (banding) ในบริเวณที่มืดสนิท เนื่องจากข้อจำกัดของการเข้ารหัสด้วยเลขยกกำลังร่วม 8-bit
  • ช่องสัญญาณ RGB ไม่สามารถจัดเก็บค่าติดลบหรือเลเยอร์พาสหลายเลเยอร์แบบอิสระได้
  • ถูกแทนที่ด้วย OpenEXR เป็นส่วนใหญ่ในกระบวนการผลิตงานเทคนิคพิเศษแบบหลายพาส

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

  • ไฟล์ Radiance HDR ทุกไฟล์จะเริ่มต้นด้วยข้อความส่วนหัว '#?RADIANCE' หรือ '#?RGBE'
  • รูปแบบนี้ถูกสร้างขึ้นมาเพื่อจำลองแสงสว่างทางกายภาพในการออกแบบอาคารก่อนที่จะมีการก่อสร้างจริง
  • บทความวิจัยอันโด่งดังเมื่อปี 1997 ของ Paul Debevec ในงาน SIGGRAPH เรื่อง 'Recovering High Dynamic Range Radiance Maps from Photographs' ได้ใช้รูปแบบนี้เพื่อปฏิวัติการจัดแสงในงาน CGI

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

HDRI ใช้ในงาน 3D อย่างไร

ไฟล์ HDRI (.hdr) ใช้เป็นแผนที่สภาพแวดล้อมพาโนรามา 360 องศา เพื่อให้แสง เงา และภาพสะท้อนจากโลกจริงบนวัตถุ 3D ดูสมจริง

การเข้ารหัส RGBE 32-bit ทำงานอย่างไร?

แทนที่จะจัดเก็บตัวเลข floating-point แยกกันสามค่า RGBE ใช้ 8 บิตต่อสีแดง สีเขียว และสีน้ำเงิน พร้อมเลขชี้กำลัง 8-bit ที่ใช้ร่วมกัน ทำให้บรรจุช่วงไดนามิก HDR เต็มรูปแบบได้ในเพียง 4 bytes ต่อพิกเซล

ฉันจะแปลงไฟล์ HDR เป็น JPG ได้อย่างไร

File2File.app สามารถปรับโทนสีและแปลงไฟล์ Radiance HDR 32 บิตเป็นภาพ JPG หรือ PNG มาตรฐานได้โดยตรงในเบราว์เซอร์