ข้อมูลเบื้องต้น
เอกสารนี้ระบุลักษณะการทำงานของรูปแบบไฟล์ใหม่ที่เข้ารหัส ภาพแผนที่การได้รับช่วงลอการิทึมในไฟล์ภาพ JPEG ผู้อ่านเดิมที่ไม่ได้ใช้ รองรับรูปแบบใหม่ อ่านและแสดงค่าไดนามิกต่ำแบบดั้งเดิม ภาพจากไฟล์ภาพผู้อ่านที่รองรับรูปแบบนี้จะรวมกัน รูปภาพหลักที่มีแผนที่ค่าเกนและแสดงภาพช่วงไดนามิกกว้าง (HDR) บน ที่เข้ากันได้
ส่วนที่เหลือของเอกสารนี้จะอธิบายวิธีการของกระบวนการที่จำเป็นในการ ใช้ประโยชน์จากรูปแบบนี้ ในระดับสูง วงจรชีวิตของรูปภาพที่สอดคล้องกับ เป็นรูปแบบต่อไปนี้
การเข้ารหัส
- รับข้อมูลการสร้างแผนที่
- ขยายการบีบอัดแผนที่
- สร้างคอนเทนเนอร์แผนที่
กำลังถอดรหัส
แรงจูงใจ
เป้าหมายของรูปแบบไฟล์นี้คือการเข้ารหัสข้อมูลเพิ่มเติมในรูปภาพ SDR ที่สามารถใช้ร่วมกับเทคนิคการแสดงผลเพื่อสร้าง การแสดงผล HDR ที่ดีที่สุดได้ในไฟล์เดียว
หากนำไปใช้ได้จริง รูปแบบไฟล์ต้องมีลักษณะดังนี้
- เข้ากันได้แบบย้อนหลัง เพื่อให้ผู้ดูที่ซื่อสัตย์ใช้ภาพ SDR ธรรมดา จะปรากฏขึ้น
- ไม่กินพื้นที่เพิ่มเติมมากเกินไป
นอกจากนี้ เทคนิคการแสดงผลต้องมีลักษณะดังนี้
- ไม่ต้องใช้การประมวลผลจำนวนมากเพื่อถอดรหัส
- สามารถปรับอัตราส่วนระหว่าง HDR กับจุดสีขาว SDR ของจอแสดงผลได้ ซึ่งอาจแตกต่างกันอย่างมากระหว่างอุปกรณ์ต่างๆ หรือแม้กระทั่งชั่วคราวในเครื่องเดียว อุปกรณ์
และสุดท้าย เทคนิคนี้ต้องสามารถดำเนินการก่อนหน้านี้ได้ทั้งหมด โดยไม่เลย:
- กำลังตัดไฮไลต์
- เงาซ้อนกัน
- การเปลี่ยนหรือบีบอัดคอนทราสต์ภายใน
- การเปลี่ยนความสัมพันธ์แบบสัมพัทธ์ (ระหว่างวัตถุในฉาก)
การขึ้นต่อกัน
ต่อไปนี้เป็นการอ้างอิงเชิงบรรทัดฐานสำหรับข้อกำหนดนี้
- ข้อมูลจำเพาะของ Adobe XMP ส่วนที่ 3: พื้นที่เก็บข้อมูลในไฟล์
- ข้อกำหนดเกี่ยวกับ ISO 16684-1:2019 XMP ส่วนที่ 1
- รูปแบบไฟล์สื่อมาตรฐาน ISO/IEC 14496-12
- T.81 (09/92) การบีบอัดดิจิทัลและการเขียนโค้ดโทนสีต่อเนื่อง รูปภาพ
- สมุดปกขาวของรูปแบบ Multi-Picture ของ CIPA DC-x 007-2009
คำจำกัดความ
จอแสดงผล 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
- แพลตฟอร์มข้อมูลเมตาที่ขยายได้ มาตรฐานที่กำหนดเมธอดสำหรับ เข้ารหัสข้อมูลเมตาลงในคอนเทนเนอร์รูปภาพ กำหนดโดย ISO 16684-1:2011(E) ข้อมูลจำเพาะ XMP ส่วนที่ 1
รูปแบบหลายภาพ
- รูปแบบหลายภาพเป็นเทคนิคที่พัฒนาขึ้นโดยกล้องและภาพถ่าย การเชื่อมโยงผลิตภัณฑ์ (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>