รูปแบบภาพ Ultra HDR v1.0

ข้อมูลเบื้องต้น

เอกสารนี้ระบุลักษณะการทำงานของรูปแบบไฟล์ใหม่ที่เข้ารหัส ภาพแผนที่การได้รับช่วงลอการิทึมในไฟล์ภาพ JPEG ผู้อ่านเดิมที่ไม่ได้ใช้ รองรับรูปแบบใหม่ อ่านและแสดงค่าไดนามิกต่ำแบบดั้งเดิม ภาพจากไฟล์ภาพผู้อ่านที่รองรับรูปแบบนี้จะรวมกัน รูปภาพหลักที่มีแผนที่ค่าเกนและแสดงภาพช่วงไดนามิกกว้าง (HDR) บน ที่เข้ากันได้

ส่วนที่เหลือของเอกสารนี้จะอธิบายวิธีการของกระบวนการที่จำเป็นในการ ใช้ประโยชน์จากรูปแบบนี้ ในระดับสูง วงจรชีวิตของรูปภาพที่สอดคล้องกับ เป็นรูปแบบต่อไปนี้

  1. การเข้ารหัส

    1. รับข้อมูลการสร้างแผนที่
    2. ขยายการบีบอัดแผนที่
    3. สร้างคอนเทนเนอร์แผนที่
  2. กำลังถอดรหัส


ตัวอย่าง
เลย์เอาต์รูปแบบไฟล์ภาพ Ultra HDR ที่มีข้อมูลเมตาและออฟเซ็ตที่เกี่ยวข้อง
ข้อมูล

รูปที่ 1 ตัวอย่างเลย์เอาต์ไฟล์และข้อมูลเมตาที่เกี่ยวข้อง

แรงจูงใจ

เป้าหมายของรูปแบบไฟล์นี้คือการเข้ารหัสข้อมูลเพิ่มเติมในรูปภาพ SDR ที่สามารถใช้ร่วมกับเทคนิคการแสดงผลเพื่อสร้าง การแสดงผล HDR ที่ดีที่สุดได้ในไฟล์เดียว

หากนำไปใช้ได้จริง รูปแบบไฟล์ต้องมีลักษณะดังนี้

  • เข้ากันได้แบบย้อนหลัง เพื่อให้ผู้ดูที่ซื่อสัตย์ใช้ภาพ SDR ธรรมดา จะปรากฏขึ้น
  • ไม่กินพื้นที่เพิ่มเติมมากเกินไป

นอกจากนี้ เทคนิคการแสดงผลต้องมีลักษณะดังนี้

  • ไม่ต้องใช้การประมวลผลจำนวนมากเพื่อถอดรหัส
  • สามารถปรับอัตราส่วนระหว่าง HDR กับจุดสีขาว SDR ของจอแสดงผลได้ ซึ่งอาจแตกต่างกันอย่างมากระหว่างอุปกรณ์ต่างๆ หรือแม้กระทั่งชั่วคราวในเครื่องเดียว อุปกรณ์

และสุดท้าย เทคนิคนี้ต้องสามารถดำเนินการก่อนหน้านี้ได้ทั้งหมด โดยไม่เลย:

  • กำลังตัดไฮไลต์
  • เงาซ้อนกัน
  • การเปลี่ยนหรือบีบอัดคอนทราสต์ภายใน
  • การเปลี่ยนความสัมพันธ์แบบสัมพัทธ์ (ระหว่างวัตถุในฉาก)

การขึ้นต่อกัน

ต่อไปนี้เป็นการอ้างอิงเชิงบรรทัดฐานสำหรับข้อกำหนดนี้

คำจำกัดความ

  • จอแสดงผล SDR

    • จอแสดงผลแบบเดิมที่ไม่ได้ออกแบบมาเพื่อแสดงเนื้อหา HDR เหล่านี้ โดยทั่วไปแล้ว จะให้ความสว่างสูงสุดอยู่ที่ประมาณ 400 cd/m2 หรือน้อยกว่า
  • จอแสดงผล HDR

    • จอแสดงผลที่ออกแบบมาเพื่อเนื้อหา HDR จอแสดงผลเหล่านี้มักสร้าง ความสว่างสูงสุดตามปกติของจอแสดงผล SDR โดยทั่วไปจะมากกว่าของจอแสดงผล SDR 800 cd/m2 ขึ้นไป และโดยทั่วไปจะมีคอนทราสต์ที่ดีกว่า มากกว่าจอแสดงผล SDR
  • รูปภาพหลัก

    • อินสแตนซ์แรกของรูปภาพในไฟล์ GContainer ที่มีสื่อรอง ต่อท้าย รูปภาพหลักมีข้อมูลเมตา GContainer XMP การกำหนดลำดับและคุณสมบัติของรายการสื่อรองลำดับต่อมา ไฟล์ในคอนเทนเนอร์ของไฟล์
  • รูปภาพรอง

    • ไฟล์รายการสื่อที่ตามมาที่ต่อท้ายรูปภาพหลักใน ไฟล์ GContainer
  • การบีบอัดช่วง

    • ในการถ่ายภาพ ฉากในโลกแห่งความเป็นจริงมักจะมีช่วงไดนามิกมากกว่า จอแสดงผล SDR สามารถแสดงแทน การดำเนินการต่างๆ เช่น การบีบอัดช่วง นอกจากนี้ ที่เรียกว่าการแมปโทนสีเฉพาะ ซึ่งจำเป็นสำหรับการลดช่วงไดนามิกของ รูปภาพ การลดส่วนนี้เพื่อหลีกเลี่ยงการตัดไฮไลต์หรือการบดอัด เงามืด โดยคงคอนทราสต์ของท้องถิ่นไว้ให้ได้มากที่สุดคุณพยายามจะ ลดขนาดของขอบความสว่างขนาดใหญ่ในรูปภาพ กับคอนทราสต์ระดับโลก แต่พยายามรักษาขนาดของ ขอบความสว่างเล็กๆ ซึ่งเป็นรายละเอียดแม้ว่าจะมี การติดตั้งใช้งานที่แตกต่างกัน การดำเนินการดังกล่าวถือเป็นมาตรฐานสำหรับ กล้องดิจิทัลในปัจจุบัน
  • จุดสีขาว SDR

    • ความสว่างเชิงเส้นสูงสุดของเนื้อหา SDR ในจอแสดงผลที่บางแห่ง ช่วงเวลาหนึ่ง
  • จุดสีขาว HDR

    • ความสว่างเชิงเส้นสูงสุดของเนื้อหา HDR ในจอแสดงผลที่บาง ช่วงเวลาหนึ่ง ค่านี้มักจะสูงกว่าจุดสีขาวของ SDR
  • การเพิ่ม

    • จุดสีขาว HDR หารด้วยจุดสีขาว SDR
  • การเพิ่มเนื้อหาสูงสุด (max_content_boost ในสมการ)

    • ค่านี้จะช่วยให้ครีเอเตอร์เนื้อหาจำกัดความสว่างของรูปภาพได้ เมื่อแสดงบนจอแสดงผล HDR ซึ่งสัมพันธ์กับการแสดงผล SDR
    • ค่านี้เป็นค่าคงที่สำหรับรูปภาพหนึ่งๆ ตัวอย่างเช่น หาก ค่าคือ 4 ดังนั้นค่าความสว่างเชิงเส้นของพิกเซลที่กำหนด การแสดงผล HDR ที่แสดงต้องมีความสว่างไม่เกิน 4 เท่า การแก้ไข SDR ในทางปฏิบัติ จะหมายถึงส่วนที่สว่างขึ้นของ สามารถแสดงฉากที่สว่างขึ้นสูงสุด 4 เท่า
    • ในทางปฏิบัติแล้วค่านี้มักจะมากกว่า 1.0
    • มากกว่าหรือเท่ากับการเพิ่มเนื้อหาขั้นต่ำเสมอ
  • การเพิ่มเนื้อหาต่ำสุด (min_content_boost ในสมการ)

    • ค่านี้ทำให้ครีเอเตอร์เนื้อหาจำกัดความเข้มของ เมื่อแสดงบนจอแสดงผล HDR ซึ่งสัมพันธ์กับ SDR เมื่อแสดงบนจอแสดงผล HDR การแปลรหัสค่านี้เป็นค่าคงที่สำหรับรูปภาพหนึ่งๆ
    • เช่น หากค่าเป็น 0.5 ค่าเชิงเส้นสำหรับพิกเซลหนึ่งๆ ความสว่างของการแสดงผล HDR ที่แสดงต้องเท่ากับ (อย่างน้อย) 0.5 เท่าของการแสดงผล ความสว่างเชิงเส้นของการแสดงผล SDR
    • ในทางปฏิบัติแล้ว ค่านี้มักจะเท่ากับหรือน้อยกว่า 1.0
    • น้อยกว่าหรือเท่ากับการเพิ่มเนื้อหาสูงสุดเสมอ
  • การเพิ่มพลังการแสดงผลสูงสุด (max_display_boost ในสมการ)

    • การเพิ่มพลังสูงสุดที่มีซึ่งจอแสดงผลรองรับ ณ จุดที่กำหนดใน ค่านี้อาจเปลี่ยนแปลงไปตามการตั้งค่าอุปกรณ์และอื่นๆ เมื่อเวลาผ่านไป เช่น สภาพแสงแวดล้อม หรือจำนวนพิกเซลที่สว่าง บนหน้าจอ
    • ตัวอย่างเช่น ถ้าค่านี้คือ 4.0 แสดงว่าจอแสดงผลสามารถ แสดงพิกเซลที่สว่างกว่า SDR สูงสุด 4 เท่า จุดสีขาว ค่านี้จะเป็น >= 1.0 เสมอ เนื่องจากการแสดงผลสามารถ แสดง HDR สีขาวอย่างน้อยให้สว่างเท่ากับ SDR สีขาว
  • การเพิ่มพลังการแสดงผล

    • เท่ากับจำนวนการเพิ่มเนื้อหาสูงสุดและการเพิ่มประสิทธิภาพการแสดงผลสูงสุดน้อยกว่า ช่วงเวลานี้ มีค่า >= 1.0 เสมอ
    • ตัวอย่างเช่น หากการเพิ่มเนื้อหาสูงสุดคือ 4.0 และการเพิ่มการแสดงผลสูงสุดคือ 3.0 การเพิ่มคุณภาพวิดีโอก็อยู่ที่ 3.0 พิกเซลจะแสดงได้สว่างขึ้นถึง 3 เท่า มากกว่า SDR เนื่องจากความสามารถในการแสดงผลเป็นปัจจัยสำคัญ
    • อีกตัวอย่างหนึ่งคือ การเพิ่มการแสดงผลสูงสุดคือ 4.0 และการเพิ่มการแสดงผลสูงสุด คือ 5.0 การบูสต์การแสดงผลคือ 4.0 แสดงพิกเซลได้มากถึง 4 เท่า สว่างกว่า SDR เนื่องจากจุดประสงค์ของเนื้อหาคือปัจจัยการจำกัด
  • การแสดงผล HDR เป้าหมาย

    • รูปแบบ HDR ที่เหมาะสมตามที่ผู้สร้างเนื้อหากล่าว
  • การแสดงผล HDR ที่ปรับแล้ว

    • การแสดงผล HDR สุดท้ายที่แสดงบนจอแสดงผลหลังจาก กำลังปรับการแสดงผล HDR เป้าหมายสำหรับการเพิ่มประสิทธิภาพของจอแสดงผลปัจจุบัน
  • รับข้อมูลแผนที่ (recovery(x, y) ในสมการ)

    • แผนที่ที่ระบุระดับความสว่างของแต่ละพิกเซลในการแก้ไข SDR เพื่อสร้างการแสดงผล HDR เป้าหมาย แผนที่นี้อาจเป็นแบบช่องเดียวหรือ หลายช่องทาง แผนที่แบบหลายแชแนลจะระบุถึงความแตกต่างสำหรับแต่ละรายการ ช่องสี เช่น แดง เขียว และน้ำเงิน เอกสารนี้จะแสดง ในกรณีของแผนที่ช่องทางเดียว
  • clamp(x, a, b)

    • ยึดค่า x เข้ากับช่วง [a, b]
  • exp2(x)

    • เลขชี้กำลังฐาน 2 2 x
  • floor(x)

    • แสดงจำนวนเต็มที่ใกล้เคียงที่สุดที่เท่ากับหรือน้อยกว่า x
  • log2(x)

    • ลอการิทึมฐาน 2 บันทึก2(x)
  • pow(b, x)

    • เลขยกกำลัง bx.
  • XMP

  • รูปแบบหลายภาพ

    • รูปแบบหลายภาพเป็นเทคนิคที่พัฒนาขึ้นโดยกล้องและภาพถ่าย การเชื่อมโยงผลิตภัณฑ์ (CIPA) สำหรับการจัดเก็บรูปภาพที่เข้ารหัส JPEG หลายๆ ภาพใน ไฟล์ JPEG ไฟล์เดียว
    • สำหรับข้อมูลเพิ่มเติม โปรดดูทรัพยากร Dependency ที่เกี่ยวข้องในสมุดปกขาวของ CIPA รูปแบบหลายภาพ DC-x 007-2009
  • คอนเทนเนอร์

    • GContainer เป็นวิธีจัดเก็บรูปภาพหลายรูปไว้ในรูปภาพเดียว คอนเทนเนอร์ ซึ่งมีรูปภาพ 1 รูปเป็นอิมเมจหลัก ช่วง รูปภาพเพิ่มเติมถือว่าเป็นเวอร์ชันหรือตัวช่วยเสริม ข้อมูลเมตา XMP ใช้เพื่อสื่อสารข้อมูลที่แสดงและความหมายของ รูปภาพเพิ่มเติม สำหรับข้อมูลเพิ่มเติม โปรดดู GContainer รายละเอียด

เข้ารหัส

ส่วนนี้จะอธิบายวิธีเข้ารหัสไฟล์ JPEG ที่สอดคล้องกัน โปรดดูที่ T.81 (09/92) การบีบอัดดิจิทัลและการเขียนโค้ดภาพนิ่งแบบต่อเนื่อง ในส่วนการขึ้นต่อกันสำหรับข้อมูลเพิ่มเติม เกี่ยวกับรูปแบบ JPEG

รับข้อมูลการสร้างแผนที่

โดยทั่วไปแล้วไปป์ไลน์การสร้างภาพจากกล้องจะดำเนินการบีบอัดช่วงเพื่อ บีบอัดข้อมูลความสว่างของช่วงไดนามิกสูงกว่าให้อยู่ในช่วงค่าปกติที่น้อยกว่า จอแสดงผล SDR Get Map ให้กลไกในการจัดเก็บข้อมูลให้เพียงพอต่อ กู้คืนข้อมูล ความสว่างของช่วงไดนามิกสูงกว่าเดิม

การคำนวณต่อไปนี้ในหัวข้อนี้จะถือว่าเลขคณิตแบบจุดลอยตัว

ฟังก์ชันต่อไปนี้จะอธิบายรูปภาพ SDR

  • SDR'(x, y) เป็นช่อง 3 ช่องที่ไม่ใช่เชิงเส้น (มักมีการเข้ารหัสแกมมา) รูปภาพหลัก
  • SDR(x, y) คือเวอร์ชันเชิงเส้นของรูปภาพหลักที่มี 3 ช่อง ที่ได้จากการเปลี่ยนรูปแบบสีรูปภาพหลักเป็นเวอร์ชันเชิงเส้น พื้นที่ทำงาน ตัวอย่างเช่น จากพื้นที่สีที่มีฟังก์ชันการโอน sRGB ไปยัง พื้นที่สีเชิงเส้นที่รักษาแม่สี sRGB

ฟังก์ชัน Ysdr(x, y) กำหนดไว้ในช่วง 0.0 ถึง 1.0 และเป็น ความสว่างเชิงเส้นของภาพหลักของช่วงไดนามิกมาตรฐาน:

Ysdr(x, y) = primary_color_profile_to_luminance(SDR(x, y))

รูปภาพ HDR มีคำจำกัดความที่คล้ายกัน

  • HDR'(x, y) เป็นช่องสัญญาณแบบไม่เชิงเส้น 3 ช่อง ซึ่งก็คือ PQ หรือ HLG ที่เข้ารหัส รูปภาพ
  • HDR(x, y) คือรูปภาพ HDR เชิงเส้นแบบ 3 ช่อง

Yhdr(x, y) คือความสว่าง ณ จุดที่กำหนดของรูปภาพ HDR

Yhdr(x, y) = primary_color_profile_to_luminance(HDR(x, y))

Yhdr(x, y) กำหนดไว้ในช่วง 0.0 ถึงการเพิ่มเนื้อหาสูงสุด

รูปภาพ SDR และ HDR ต้องมีความละเอียดเท่ากัน โปรไฟล์สีของ SDR รูปภาพกำหนดพื้นที่สีของรูปภาพ HDR

ตัวอย่างเช่น หากรูปภาพหลักของ SDR มีโปรไฟล์สี Display-P3 รูปภาพ HDR ได้รับการกำหนดโดยสัมพันธ์กับสีหลักของโปรไฟล์นั้น ช่วงเวลานี้ หมายความว่ารูปภาพ HDR มีแม่สี Display-P3 ด้วย

อัตราขยายจะคำนวณจากรูปภาพเชิงเส้น 2 รูปที่มีรูปภาพ HDR ที่ต้องการ ความสว่าง, Yhdr(x, y) และรูปภาพความสว่างช่วงมาตรฐาน Ysdr(x, y)

ฟังก์ชัน pixel_gain(x, y) ได้รับการกำหนดให้เป็นอัตราส่วนระหว่าง Yhdr(x, y) และฟังก์ชัน Ysdr(x, y)

pixel_gain(x, y) = (Yhdr(x, y) + offset_hdr) / (Ysdr(x, y) + offset_sdr)

ลักษณะการทำงานของฟังก์ชัน pixel_gain(x, y) โดยที่ Ysdr(x, y) และ offset_sdr มีค่า ศูนย์ทั้งสองถูกกำหนดการติดตั้งใช้งาน

ตัวอย่างเช่น การติดตั้งใช้งานจะจัดการกรณีที่ Ysdr(x, y) และ offset_sdr เป็น 0 ทั้งคู่โดยกำหนด pixel_gain(x, y) เป็น 1.0 หรือ การติดตั้งใช้งานยังหลีกเลี่ยงสถานการณ์นี้ด้วยการใช้ offset_sdr ที่ไม่เป็น 0 ด้วย

การใช้งานอาจเลือกค่าของ offset_sdr และ offset_hdr

แผนที่เกนเป็นฟังก์ชันสเกลาร์ที่เข้ารหัส pixel_gain(x, y) ใน ปริภูมิลอการิทึม ซึ่งสัมพันธ์กับการเพิ่มเนื้อหาสูงสุดและการบูสต์เนื้อหาขั้นต่ำ

map_min_log2 = log2(min_content_boost)
map_max_log2 = log2(max_content_boost)

log_recovery(x, y) = (log2(pixel_gain(x, y)) - map_min_log2)
                   / (map_max_log2 - map_min_log2)
clamped_recovery(x, y) = clamp(log_recovery(x, y), 0.0, 1.0)
recovery(x, y) = pow(clamped_recovery(x, y), map_gamma)

ลักษณะการทำงานของฟังก์ชัน recovery(x, y) ที่ pixel_gain(x, y) เป็นศูนย์คือ กำหนดการใช้งานแล้ว เนื่องจากไม่ได้ระบุ log2(0)

map_gamma เป็นจำนวนทศนิยมที่ต้องมากกว่า 0.0 และ ตามการติดตั้งใช้งาน

ค่าของการเพิ่มเนื้อหาสูงสุดและการบูสต์เนื้อหาขั้นต่ำคือ และการใช้งานจริง และครีเอเตอร์เนื้อหา จะตัดสินใจได้ตามต้องการ การเพิ่มเนื้อหาสูงสุดต้องมากกว่าหรือเท่ากับ 1.0 การบูสต์เนื้อหาขั้นต่ำต้อง อยู่ในช่วง (0.0, 1.0]

ค่าใน recovery(x, y) จำกัดอยู่ที่ช่วง [0.0, 1.0]

ข้อมูลเกนแมปจะเก็บเป็นไฟล์ JPEG รูปภาพรอง ดังนั้นจึงต้องมีการเข้ารหัส ใช้ค่าจำนวนเต็ม 8 บิตที่ไม่มีเครื่องหมาย ดังนั้นจึงอยู่ในช่วง [0, 255] แต่ละค่า แสดงถึงค่า recovery(x, y) และจัดเก็บไว้ใน 1 พิกเซลของค่ารอง รูปภาพ

สำหรับพื้นที่เก็บข้อมูลจำนวนเต็ม 8 บิตที่ไม่มีเครื่องหมาย ค่าที่เข้ารหัสจะกำหนดเป็น ดังต่อไปนี้:

encoded_recovery(x, y) = floor(recovery(x, y) * 255.0 + 0.5)

การคำนวณฟังก์ชันเข้ารหัสจะทำในจุดทศนิยมและแปลงที่ สิ้นสุดผลลัพธ์จำนวนเต็มที่ไม่มีเครื่องหมาย 8 บิตโดยการปัดเศษที่ระบุ

การเข้ารหัสนี้จะทำให้แสดงจำนวนเต็ม 8 บิตแทนเครื่องหมายของ ค่า recovery(x, y) จาก 0.0 ถึง 1.0 ต้องจัดเก็บการแมปค่าเกนที่เข้ารหัสไว้ใน รายการรูปภาพรองเป็นไฟล์ JPEG การติดตั้งใช้งานจะเลือกปริมาณ ที่ใช้ระหว่างการเข้ารหัส JPEG

หลังจากจัดเก็บแผนที่เกนในรูปภาพรองแล้ว จะเป็นการเพิ่มแผนที่ดังกล่าวต่อท้ายรูปภาพหลัก รูปภาพที่มีข้อมูลเมตา MPF และ GContainer XMP รูปภาพหลัก GContainer ต้องมีรายการสำหรับภาพแผนที่เกน

ความละเอียดของการแมปค่าเกนที่จัดเก็บไว้มีการกำหนดการใช้งานและสามารถ ความละเอียดต่างจากรูปภาพหลัก ในกรณีที่ผู้ซื้อ แผนที่ถูกปรับขนาดเป็นความละเอียดที่แตกต่างจากภาพหลักสำหรับการจัดเก็บ วิธีการสุ่มตัวอย่างต้องเป็นแบบ 2 เชิงเส้นหรือดีกว่า และมีการกำหนดการติดตั้งใช้งาน

การวางแนวของแผนที่เกนต้องตรงกับการวางแนวของรูปภาพหลัก ถ้า ข้อมูลเมตาการวางแนวในภาพแผนที่เกนที่จัดเก็บ เช่น EXIF ไม่มีการใช้

หากมีอยู่ ระบบจะไม่ใช้โปรไฟล์สีของแผนที่ค่าเกน

เพิ่มคอนเทนเนอร์แผนที่

โปรไฟล์สี

โปรไฟล์สีของรูปภาพจะต้องระบุผ่านโปรไฟล์ ICC สำหรับ รูปภาพหลัก

แอตทริบิวต์ XMP

รูปภาพหลักมีข้อมูลเมตา XMP เพื่อกำหนดรูปภาพอย่างน้อย 2 รูปโดยมีการเพิ่มเติม ข้อมูลอรรถศาสตร์สำหรับรูปแบบแผนที่ค่าเกน HDR

ส่วนย่อยต่อไปนี้มีรายละเอียดเฉพาะสำหรับรูปแบบนี้ ข้อมูลเพิ่มเติม ข้อมูลเกี่ยวกับความสอดคล้องทั่วไปกับ GContainer ระบุไว้ใน ส่วนรายละเอียด GContainer

ค่าแอตทริบิวต์ที่อธิบายในตารางต่อไปนี้จะจัดเก็บเป็น XMP แบบง่าย ของประเภทค่าพื้นฐาน XMP ที่ระบุ

ค่าความหมายของรายการ

พร็อพเพอร์ตี้ Item:Semantic กำหนดความหมายเฉพาะแอปพลิเคชัน ของรายการสื่อแต่ละรายการ ในไดเรกทอรีคอนเทนเนอร์

ค่า คำอธิบาย
เสียงหลัก ระบุว่ารายการสื่อคือรูปภาพหลักที่พร้อมแสดงผล ในคอนเทนเนอร์ ไดเรกทอรีต้องมี "หลัก" 1 รายการ รายการ
เกนแมป บ่งบอกว่ารายการสื่อเป็นแผนที่เกน ไดเรกทอรีอาจมี ไม่เกิน 1 "ยังสามารถแมป" ได้ รายการ

ข้อมูลเมตาการแมปค่า HDR

รับข้อมูลการเข้ารหัสข้อมูลเมตาแมปเกี่ยวกับวิธีตีความและนำข้อมูลที่ได้ไปใช้ เพื่อสร้างการแสดงผล HDR ของภาพหลัก

URI ของเนมสเปซ XMP สำหรับส่วนขยาย XMP ของข้อมูลเมตาแมปคือ http://ns.adobe.com/hdr-gain-map/1.0/ คำนำหน้าเนมสเปซเริ่มต้นคือ hdrgm

ข้อมูลเมตานี้จัดเก็บไว้ในแพ็กเก็ต XMP ของภาพแมปและพารามิเตอร์ต่อไปนี้ พร็อพเพอร์ตี้ต้องปรากฏใน rdf:Description ของ XMP รูปภาพแผนที่เกน:

ชื่อ ประเภท คำอธิบาย
hdrgm:เวอร์ชัน ข้อความ เวอร์ชันของรูปแบบการแมปค่าเกนที่ใช้อยู่ เวอร์ชันนี้คือ "1.0" Required
hdrgm:BaseRenditionIsHDR บูลีน ระบุช่วงไดนามิกของรูปภาพหลัก "เท็จ" บ่งบอกถึง ภาพหลักเป็นแบบ SDR และสามารถรวมแผนที่เกนกับรูปภาพเพื่อสร้าง การแสดงผล HDR "จริง" ระบุว่าภาพหลักเป็น HDR และ กู้คืนแมป อาจนำมารวมเพื่อสร้างรูปแบบ SDR ได้ ต้องเป็น "เท็จ" ไม่บังคับ ค่าเริ่มต้นคือ "False"
hdrgm:GainMapMin อาร์เรย์จริงหรือเรียงลำดับของจริง จัดเก็บค่าของ map_min_log2 นี่คือ log2 ของการเพิ่มเนื้อหาขั้นต่ำ ซึ่งเป็นอัตราส่วนขั้นต่ำที่อนุญาต ของความสว่างเชิงเส้นสำหรับการปรับ HDR เป้าหมายที่สัมพันธ์กับ (หาร ตาม) ของรูปภาพ SDR ที่พิกเซลที่กำหนด อาจเป็น Real รายการเดียวหรือ เรียงลำดับอาร์เรย์ของเรียล เมื่ออาร์เรย์ตามลำดับของจำนวนจริงอาจมีค่า ซึ่งนำไปใช้กับทุกช่องหรือ 3 ช่องสำหรับสีแดง เขียว และ ช่องสีน้ำเงินตามลำดับ ต้องน้อยกว่าหรือเท่ากับ hdrgm:GainMapMax ไม่บังคับ ค่าเริ่มต้นคือ 0.0
hdrgm:กำไรMapMax อาร์เรย์จริงหรือเรียงลำดับของจริง จัดเก็บค่าของ map_max_log2 นี่คือ log2 ของการเพิ่มเนื้อหาสูงสุด ซึ่งเป็นอัตราส่วนสูงสุดที่อนุญาต ของความสว่างเชิงเส้นสำหรับการปรับ HDR เป้าหมายที่สัมพันธ์กับ (หาร ตาม) ของรูปภาพ SDR ที่พิกเซลที่กำหนด อาจเป็น Real รายการเดียวหรือ เรียงลำดับอาร์เรย์ของเรียล เมื่ออาร์เรย์ตามลำดับของจำนวนจริงอาจมีค่า ซึ่งนำไปใช้กับทุกช่องหรือ 3 ช่องสำหรับสีแดง เขียว และ ช่องสีน้ำเงินตามลำดับ ต้องมากกว่าหรือเท่ากับ hdrgm:GainMapMin ต้องระบุ
hdrgm:แกมมา อาร์เรย์จริงหรือเรียงลำดับของจริง จัดเก็บค่าของ map_gamma นี่คือค่าแกมมาของ ใช้กับค่าแผนที่ที่จัดเก็บ อาจเป็น RealTime เดียว หรืออาร์เรย์ตามลำดับของ Reals เมื่ออาร์เรย์คำสั่งซื้อของจำนวนจริงอาจมี 1 รายการที่นำไปใช้ ไปยังช่องทั้งหมด หรือ 3 รายการสำหรับช่องสีแดง เขียว และน้ำเงิน ตามลำดับ ต้องมากกว่า 0.0 ไม่บังคับ ค่าเริ่มต้นคือ 1.0
hdrgm:OffsetSDR อาร์เรย์จริงหรือเรียงลำดับของจริง จัดเก็บค่าของ offset_sdr ค่านี้คือออฟเซ็ตของ ใช้กับค่าพิกเซล SDR ในระหว่างการสร้างและการประยุกต์ใช้แผนที่ อาจเป็น Reals เดียว หรืออาร์เรย์ของ Reals ตามลำดับ เมื่ออาร์เรย์เรียงลำดับของ ในความเป็นจริง อาจมี 1 รายการที่ใช้กับช่องทั้งหมดหรือ 3 รายการ สำหรับช่องสีแดง เขียว และน้ำเงิน ตามลำดับ ต้องเป็น 0.0 หรือมากกว่า ไม่บังคับ ค่าเริ่มต้นคือ 0.015625 (1/64)
hdrgm:ออฟเซ็ตHDR อาร์เรย์จริงหรือเรียงลำดับของจริง จัดเก็บค่าของ offset_hdr ค่านี้คือออฟเซ็ตของ ใช้กับค่าพิกเซล HDR ในระหว่างการสร้างและการประยุกต์ใช้แผนที่ อาจเป็น Reals เดียว หรืออาร์เรย์ของ Reals ตามลำดับ เมื่ออาร์เรย์เรียงลำดับของ ในความเป็นจริง อาจมี 1 รายการที่ใช้กับช่องทั้งหมดหรือ 3 รายการ สำหรับช่องสีแดง เขียว และน้ำเงิน ตามลำดับ ต้องเป็น 0.0 หรือมากกว่า ไม่บังคับ ค่าเริ่มต้นคือ 0.015625 (1/64)
hdrgm:HDRCapacityMin จริง จัดเก็บค่าของ hdr_capacity_min นี่คือ log2 ของค่าการเพิ่มพลังการแสดงผลขั้นต่ำที่แผนที่กำหนด เลย ค่านี้ยังส่งผลต่อปริมาณค่าเกนแมปของ ในการเพิ่มประสิทธิภาพจอแสดงผล ต้องเป็น 0.0 หรือมากกว่า ไม่บังคับ ค่าเริ่มต้น ค่าเท่ากับ 0.0
hdrgm:HDRCapacityMax จริง จัดเก็บค่าของ hdr_capacity_max นี่คือ log2 ของค่าการเพิ่มพลังการแสดงผลสูงสุดในแผนที่ ทั้งหมด ค่านี้ยังส่งผลต่อปริมาณค่าเกนแผนที่ด้วย ขึ้นอยู่กับการเพิ่มพลังการแสดงผล ต้องมากกว่า hdrgm:HDRCapacityMin ต้องระบุ

ตัวอย่าง XMP การแมปค่าเกน

ตัวอย่างต่อไปนี้ของแพ็กเกต XMP การแมปค่าเกนที่ถูกต้องมีข้อมูลเมตาที่ใช้ จากไฟล์ตัวอย่างที่แสดงในส่วนบทนำ

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 5.5.0">
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:Description rdf:about=""
     xmlns:hdrgm="http://ns.adobe.com/hdr-gain-map/1.0/"
     hdrgm:Version="1.0"
     hdrgm:GainMapMin="-0.57609993"
     hdrgm:GainMapMax="4.7090998"
     hdrgm:Gamma="1"
     hdrgm:OffsetSDR="0.015625"
     hdrgm:OffsetHDR="0.015625"
     hdrgm:HDRCapacityMin="0"
     hdrgm:HDRCapacityMax="4.7090998"
     hdrgm:BaseRenditionIsHDR="False"/>
  </rdf:RDF>
</x:xmpmeta>

พื้นที่เก็บข้อมูล MPF ของแผนที่เกน

ต้องจัดเก็บภาพแผนผัง ARP เป็นรูปภาพเพิ่มเติมตามที่ระบุไว้ใน CIPA รูปแบบหลายภาพ DC-x 007-2009 ตามที่อ้างอิงใน การขึ้นต่อกัน

ถอดรหัส

ส่วนนี้จะอธิบายวิธีถอดรหัสแผนที่เกนจากไฟล์ JPEG ที่สอดคล้องกัน

สัญญาณของรูปแบบ

ไฟล์ JPEG ที่สอดคล้องกับรูปแบบนี้สามารถระบุได้จากการปรากฏของ hdrgm:Version="1.0" ในแพ็กเก็ต XMP ของรูปภาพหลัก โดยที่ hdrgm คือฟิลด์ Namespace URI http://ns.adobe.com/hdr-gain-map/1.0/

ค้นหารูปภาพแผนที่เกน

ดูรายละเอียดเกี่ยวกับการแยกวิเคราะห์และถอดรหัสรูปภาพได้ที่ GContainer ต่อไปนี้ รายละเอียด "QuenMap" รายการเชิงความหมายภายใน XMP rdf:Directory ใช้เพื่อส่งสัญญาณตำแหน่งของรูปภาพ Get Map หรือการใช้ IFD ของดัชนี MPF และการสแกนรูปภาพ XMP ใช้เพื่อพิจารณา ตำแหน่งของแผนที่เกน

จัดการข้อมูลเมตาที่ไม่ถูกต้อง

ระบบจะถือว่าข้อมูลเมตาไม่ถูกต้อง หากไม่มีช่องที่ต้องกรอก หรือมี มีค่าที่ไม่ถูกต้อง ค่าอาจไม่ถูกต้องเนื่องจากไม่ใช่ แยกวิเคราะห์ได้เป็นประเภทที่ระบุ หรือเนื่องจากอยู่นอกช่วงที่คาดไว้

หากพบข้อมูลเมตาที่ไม่ถูกต้อง ก็ไม่ต้องสนใจแมปค่าเกนและ SDR รูปภาพควรจะแสดง

จอแสดงผล

ไฟล์ที่เข้ารหัสในรูปแบบการแมปค่าเกน HDR อาจแสดงผลใน จอแสดงผล SDR ปกติหรือบนจอแสดงผล HDR ที่มีความสว่างสูงกว่า เอาต์พุต

ใช้แผนที่ค่าเกนเพื่อสร้างการแสดงผล HDR ที่ปรับแล้ว

การคำนวณต่อไปนี้ในหัวข้อนี้จะถือว่าเลขคณิตที่จุดลอยตัว

encoded_recovery(x, y) คือค่าจำนวนเต็มแบบช่องเดียว 8 บิต ที่ไม่มีเครื่องหมาย จากรูปภาพแผนที่เกน

หากแผนที่ค่าเกนมีความละเอียดต่างจากภาพหลัก encoded_recovery(x, y) จะพิจารณาโดยการสุ่มตัวอย่างที่กรองแล้วของ ค่าเกนรูปภาพแผนที่สำหรับ x และ y ในช่วงของความกว้างและความสูงของรูปภาพหลัก ตามลำดับ วิธีการกรองต้องเป็นแบบ 2 เชิงเส้นหรือดีกว่า และเป็น การนำไปใช้ที่กำหนดไว้

map_gamma กำหนดโดยช่องข้อมูลเมตา hdrgm:Gamma

log_recovery(x, y) คือค่าที่เพิ่มขึ้นของพิกเซลจุดลอยตัวปกติใน ปริภูมิลอการิทึม:

recovery(x, y) = encoded_recovery(x, y) / 255.0
log_recovery(x, y) = pow(recovery(x, y), 1.0 / map_gamma)

การเพิ่มการแสดงผลสูงสุดคือค่าจุดลอยตัวสเกลาร์ที่กำหนดไว้เป็นอัตราส่วนระหว่าง จุดสีขาว HDR ปัจจุบันและหารด้วยจุดสีขาว SDR ปัจจุบัน ช่วงเวลานี้ ที่ได้รับจากระบบแสดงผลและอาจมีการเปลี่ยนแปลงเมื่อเวลาผ่านไป

hdr_capacity_max กำหนดโดยช่องข้อมูลเมตา hdrgm:HDRCapacityMax hdr_capacity_min กำหนดโดยช่องข้อมูลเมตา hdrgm:HDRCapacityMin

weight_factor จะกำหนดดังนี้เมื่อ hdrgm:BaseRenditionIsHDR คือ "เท็จ":

unclamped_weight_factor = (log2(max_display_boost) - hdr_capacity_min)
                        / (hdr_capacity_max - hdr_capacity_min)
weight_factor = clamp(unclamped_weight_factor, 0.0, 1.0)

เมื่อ hdrgm:BaseRenditionIsHDR เป็น "จริง" สมการที่ 2 จะเป็น

weight_factor = 1.0 - clamp(unclamped_weight_factor, 0.0, 1.0)

gain_map_max กำหนดโดยช่องข้อมูลเมตา hdrgm:GainMapMax gain_map_min กำหนดโดยช่องข้อมูลเมตา hdrgm:GainMapMin offset_sdr กำหนดโดยช่องข้อมูลเมตา hdrgm:OffsetSDR offset_hdr กำหนดโดยช่องข้อมูลเมตา hdrgm:OffsetHDR

การแสดงผล HDR ที่ปรับแบบเชิงเส้นนั้นสามารถคำนวณได้ดังนี้

log_boost(x, y) = gain_map_min * (1.0f - log_recovery(x, y))
                + gain_map_max * log_recovery(x, y)
HDR(x, y) = (SDR(x, y) + offset_sdr) * exp2(log_boost(x, y) * weight_factor)
          - offset_hdr

หากจำเป็น การใช้งานอาจใช้การเปลี่ยนรูปแบบกับ HDR(x, y) เพื่อวางพารามิเตอร์ ในพื้นที่ที่จอแสดงผลคาดว่าจะได้รับ การเปลี่ยนรูปแบบดังกล่าวต้องเป็นไปตาม ซึ่งมีสีที่ถูกต้อง

รายละเอียด GContainer

ส่วนนี้ระบุข้อกำหนดเพิ่มเติมเพื่อให้รูปแบบนี้เป็นไปตามข้อกำหนด ด้วยข้อมูลเมตา XML ของ GContainer ข้อมูลเมตาจะมีการเรียงลำดับตาม ISO 166841:2011(E) ข้อมูลจำเพาะ XMP ส่วนที่ 1 แบบฝัง ภายในไฟล์ภาพหลักตามที่อธิบายไว้ในข้อกำหนดของ Adobe XMP ส่วนที่ 3 พื้นที่เก็บข้อมูลใน Files ไฟล์ภาพหลักประกอบด้วยองค์ประกอบ รายการต่อไปนี้ซึ่งอยู่ในรูปแบบ RDF/XML

ข้อกำหนดแพ็กเก็ต XMP

แพ็กเก็ต XMP จะต้องมีส่วนขยาย XMP ข้อมูลเมตาของการแมปเกนผ่านทาง URI ของเนมสเปซ http://ns.adobe.com/hdr-gain-map/1.0/ เนมสเปซเริ่มต้น คำนำหน้าคือ hdrgm

แพ็กเก็ต XMP จะกำหนด hdrgm:Version="1.0"

องค์ประกอบคอนเทนเนอร์

เนมสเปซ XMP สำหรับส่วนขยาย GContainer XMP คือ http://ns.google.com/photos/1.0/container/ คำนำหน้าเนมสเปซเริ่มต้นคือ Container

รูปภาพหลักมีองค์ประกอบ Container:Directory ในข้อมูลเมตา XMP การกำหนดลำดับและคุณสมบัติของไฟล์สื่อที่ตามมาในไฟล์ คอนเทนเนอร์ แต่ละไฟล์ในคอนเทนเนอร์มีรายการสื่อที่เกี่ยวข้องใน Container:Directory รายการสื่อจะอธิบายตำแหน่งในไฟล์ และคุณสมบัติพื้นฐานของไฟล์ที่เชื่อมต่อกันแต่ละไฟล์

องค์ประกอบคอนเทนเนอร์จะเข้ารหัสเป็นข้อมูลเมตา XMP ของรูปภาพหลัก และ กำหนดไดเรกทอรีของรายการสื่อในคอนเทนเนอร์ ต้องค้นหารายการสื่อ ในไฟล์คอนเทนเนอร์ในลำดับเดียวกับองค์ประกอบรายการสื่อใน และต้องได้รับการบีบอัดข้อมูลอย่างแน่นหนา

ไดเรกทอรีมี "หลัก" ได้เพียงรายการเดียว รายการรูปภาพและต้องอยู่อันดับแรก รายการในไดเรกทอรี

ชื่อองค์ประกอบ ประเภท คำอธิบาย
คอนเทนเนอร์:ไดเรกทอรี อาร์เรย์ตามลำดับของโครงสร้าง อาร์เรย์ตามลำดับของ Struct แต่ละรายการมี Container:Item กำหนดเลย์เอาต์และเนื้อหาของคอนเทนเนอร์

องค์ประกอบรายการ

องค์ประกอบรายการอธิบายวิธีที่แอปพลิเคชันใช้รายการสื่อแต่ละรายการ

URI เนมสเปซ XMP สำหรับส่วนขยาย XMP ของรายการ GContainer คือ http://ns.google.com/photos/1.0/container/item/ คำนำหน้าเนมสเปซเริ่มต้น มีค่า Item

สื่อรายการแรกต้องเป็นรูปภาพหลักโดยจะต้องระบุ Item:Semantic = "Primary" และ Item:Mime ที่แสดงอยู่ใน ค่าประเภท MIME ของรายการ

ความยาวของรายการรูปภาพหลักจะกำหนดโดยการแยกวิเคราะห์ ตามประเภท MIME ของรูปภาพ โดยเริ่มจากจุดเริ่มต้นของที่เก็บไฟล์

รายการสื่ออาจมีแอตทริบิวต์ Item:Padding ที่ระบุเพิ่มเติม ระยะห่างจากขอบระหว่างจุดสิ้นสุดของรายการสื่อกับจุดเริ่มต้นของสื่อถัดไป รายการ เมื่อแสดงบนรายการสื่อสุดท้ายใน Container:Directory Item:Padding หมายถึงระยะห่างจากขอบระหว่างจุดสิ้นสุดของสินค้าและด้านท้ายของ

สื่อแต่ละรายการต้องมีประเภท Item:Mime และแอตทริบิวต์ Item:Semantic รายการสื่อรูปภาพรองต้องมีแอตทริบิวต์ Item:Length

รายการสื่อตามลำดับจะแชร์ข้อมูลทรัพยากรภายในคอนเทนเนอร์ไฟล์ได้ โดยรายการสื่อรายการแรกจะเป็นตัวกำหนดตำแหน่งของทรัพยากรในคอนเทนเนอร์ไฟล์ และรายการสื่อที่แชร์ถัดไปมีการตั้งค่า Item:Length เป็น 0 ในกรณีที่ ข้อมูลทรัพยากรเป็นคอนเทนเนอร์ อาจมีการใช้ Item:URI เพื่อระบุ ตำแหน่งของข้อมูลรายการสื่อภายในทรัพยากร

ตำแหน่งของทรัพยากรรายการสื่อในคอนเทนเนอร์จะพิจารณาจากการสรุป ความยาวของการเข้ารหัสรูปภาพหลัก ค่า Item:Length ของ ก่อนหน้าทรัพยากรรายการสื่อรอง และ Item:Padding ที่อยู่ก่อนหน้าทั้งหมด Item:Padding ถือว่ามีค่าเท่ากับ 0 ในทรัพยากรของรายการสื่อที่ไม่ ระบุค่า

ชื่อแอตทริบิวต์ ประเภท คำอธิบาย
รายการ:Mime ข้อความ สตริงแบบง่ายที่ระบุประเภท MIME ของรายการสื่อใน คอนเทนเนอร์ หากต้องการดูคำจำกัดความ โปรดดูส่วนค่าประเภท MIME ของรายการ Required
รายการ:ความหมาย ข้อความ สตริงง่ายๆ ที่ระบุความหมายเฉพาะแอปพลิเคชันของสื่อ รายการ สําหรับคําจํากัดความ โปรดดูส่วนค่าความหมายของรายการ Required
รายการ:ความยาว จำนวนเต็ม สตริงทั่วไปที่มีความยาวจำนวนเต็มบวกในหน่วยไบต์ของรายการ ความยาว 0 บ่งบอกว่ามีการแชร์ทรัพยากรของรายการสื่อกับรายการก่อนหน้า รายการสื่อ ต้องระบุสำหรับรายการสื่อรอง ไม่บังคับสำหรับรายการหลัก รายการสื่อที่เป็นรูปภาพ
รายการ:ป้ายกำกับ ข้อความ สตริงที่กำหนดโดยการใช้งานที่ใช้เพื่อแยกแยะหลายรายการ ที่มี Item:Semantic เดียวกัน ไม่บังคับ
รายการ:แพ็ดดิ้ง จำนวนเต็ม สตริงที่มีความยาวจำนวนเต็มบวกในหน่วยไบต์ของ ระยะห่างจากขอบระหว่างจุดสิ้นสุดของรายการสื่อกับจุดเริ่มต้นของรายการถัดไป รายการสื่อ หรือส่วนสุดท้ายของไฟล์เมื่อใช้ในรายการสื่อรายการสุดท้ายใน Container:Directory ระบบจะถือว่าค่า 0 แต่ไม่มีอยู่ ไม่บังคับ
รายการ:URI ข้อความ สตริง URI ตาม ISO/IEC 14496-12 ส่วน 8.11.9 ซึ่งมีค่า URI แบบสัมพัทธ์ของข้อมูลสื่อภายในทรัพยากรรายการสื่อ ค่าเริ่มต้นคือ ทรัพยากรหลักของรูปภาพ ไม่บังคับสำหรับประเภท MIME ของรูปแบบไฟล์สื่อมาตรฐาน ISO/IEC 14496-12 ห้ามใช้

ค่าประเภท MIME ของรายการ

แอตทริบิวต์ Item:Mime กำหนดประเภท MIME ของรายการสื่อแต่ละรายการ

ค่า คำอธิบาย
รูปภาพ/jpeg รูปภาพ JPEG

ตัวอย่าง GContainer XMP

ตัวอย่างต่อไปนี้ของแพ็กเก็ต GContainer XMP ที่ถูกต้องมีข้อมูลเมตาที่มาจาก ไฟล์ตัวอย่างที่แสดงในส่วนบทนำ

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.1.2">
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:Description
     xmlns:Container="http://ns.google.com/photos/1.0/container/"
     xmlns:Item="http://ns.google.com/photos/1.0/container/item/"
     xmlns:hdrgm="http://ns.adobe.com/hdr-gain-map/1.0/"
     hdrgm:Version="1.0">
      <Container:Directory>
        <rdf:Seq>
          <rdf:li rdf:parseType="Resource">
            <Container:Item
             Item:Semantic="Primary"
             Item:Mime="image/jpeg"/>
          </rdf:li>
          <rdf:li rdf:parseType="Resource">
            <Container:Item
             Item:Semantic="GainMap"
             Item:Mime="image/jpeg"
             Item:Length="66171"/>
          </rdf:li>
        </rdf:Seq>
      </Container:Directory>
    </rdf:Description>
  </rdf:RDF>
</x:xmpmeta>