Giriş
Bu belgede, kodlayıcı parçası olan yeni bir dosya biçiminin JPEG resim dosyasındaki logaritmik aralıktaki harita görüntüsü kazancı. Bunu yapmayan eski okuyucular yeni biçimi destekle; geleneksel düşük dinamikleri okuyup görüntüle resim dosyasındaki aralık görüntüsü.Biçimi destekleyen okuyucular, kazanç haritasına sahip birincil resmi görüntüler ve yüksek dinamik aralıklı uyumlu ekranlar kullanın.
Bu belgenin geri kalanında, bir projeyi tamamlamak için bu biçimi kullanın. Özetle, uyum sağlayan bir görüntünün yaşam döngüsü şu biçimi kullanın:
Kodlama
- Harita oluşturma özelliğinden yararlanın
- Harita sıkıştırması elde edin
- Harita container'ı oluşturma işlevini elde edin
Kod çözme
Şekil 1. Örnek dosya düzeni ve ilgili meta veriler.
Motivasyon
Bu dosya biçiminin amacı, ek bilgileri SDR resmine kodlamaktır. görüntü oluşturmak için görüntüleme tekniğiyle birlikte kullanılabilecek en iyi HDR oluşturmalarını tek bir dosyada tutmasına yardımcı olur.
Bunun pratik olması için dosya biçiminin:
- Geriye dönük uyumluluğa sahip olmanız gerekir. Bu sayede, naif izleyicilerde geleneksel SDR gösterilir.
- Fazladan çok fazla yer kaplamamalıdır.
Ayrıca, görüntüleme tekniği şu şartları karşılamalıdır:
- Kodu çözmek için yoğun işlem gerektirmez.
- Ekranın HDR ve SDR beyaz noktaları arasındaki oranlara uyum sağlayabiliyor olmak. cihazlar arasında önemli ölçüde, hatta tek bir cihazda, olanak tanır.
Son olarak da teknik, önceki tüm eylemlerin hem de hiçbir zaman:
- Öne çıkanlar kesiliyor.
- Etkileyici gölgeler.
- Yerel kontrastı değiştirme veya sıkıştırma.
- Göreli ton ilişkilerinin değiştirilmesi (sahnedeki nesneler arasında).
Bağımlılıklar
Aşağıda, bu spesifikasyon için normatif referanslar verilmiştir:
- Adobe XMP Spesifikasyonu Bölüm 3: Dosyalarda Depolama
- ISO 16684-1:2019 XMP Spesifikasyonu Bölüm 1
- ISO/IEC 14496-12 ISO temel medya dosyası biçimi
- T.81 (09/92) Dijital sıkıştırma ve sürekli tonlama kodlama resimler
- CIPA DC-x 007-2009 Multi-Picture Format'ın Beyaz Kâğıdı
Tanımlar
SDR ekran
- HDR içeriği görüntülemek için tasarlanmamış geleneksel ekran. Bu ekranlar genellikle yaklaşık 400 derecelik bir nominal en yüksek parlaklık üretir cd/m2 veya daha az.
HDR ekran
- HDR içerikler için tasarlanmış bir ekran. Bu ekranlar genellikle bir SDR ekrana kıyasla daha yüksek bir nominal en yüksek parlaklık vardır. 800 cd/m2 veya daha yüksek ve genellikle daha iyi kontrasta sahiptir en az 160 oranında bulunur.
Birincil görsel
- Bir GContainer dosyasındaki bir resmin ikincil medyaya sahip ilk örneği dosyası olarak eklenir. Birincil görüntü, GContainer XMP meta verisi içeriyor sonraki ikincil medya öğesinin sırasını ve özelliklerini tanımlama dosyalarını yüklemenizi sağlar.
İkincil resim
- Bir GContainer dosyasına göz atın.
Aralık sıkıştırma
- Fotoğrafçılıkta, gerçek dünyaya ait sahneler genellikle bir kareden daha dinamik bir aralığa sahiptir. SDR ekran temsil edebilir. Aralık sıkıştırma gibi işlemler de bir web sitesinin dinamik aralığını azaltmak için gereklidir görüntüsüdür. Bu azaltma işlemi, parlak alanların kırpılmasını veya parçalanmayı önlemelidir korumayı deneyin.Şunu denerseniz: katkıda bulunan, resimdeki büyük parlaklık kenarlarının boyutunu küresel zıtlıktan daha büyük bir boyut sunmaya çalışırken küçük parlaklık kenarları var.Her ne kadar söz konusu olabilir. Bu işlem çoğu modern sistemde standart dijital fotoğraf makineleri kullanıyor.
SDR beyaz nokta
- SDR içeriğin belirli bir değerdeki maksimum doğrusal parlaklığı bir nokta olabilir.
HDR beyaz nokta
- HDR içeriğin belirli bir ayardaki maksimum doğrusal parlaklığı bir nokta olabilir. Bu değer genellikle SDR beyaz noktasından yüksektir.
Artırma
- HDR beyaz noktasının SDR beyaz noktasına bölümü.
Maksimum içerik artışı (denklemlerde
max_content_boost
)- Bu değer, içerik üreticinin bir resmin ne kadar parlaklığını SDR işlemeye göre HDR ekranda gösterildiğinde görüntü alabilir.
- Bu değer, belirli bir resim için sabittir. Örneğin, değeri dörtse, herhangi bir piksel için pikselin doğrusal parlaklığı görüntülenen HDR oluşturma işleminin en fazla 4 kat daha fazla doğrusal parlaklığı SDR oluşturma kullanmaktan sorumlusunuz. Pratikte bu, iş akışının daha parlak kısımları sahne 4 kata kadar daha parlak gösterilebilir.
- Pratikte bu değer genellikle 1, 0'dan büyüktür.
- Her zaman Min. içerik artırma değerinden büyük veya bu değere eşittir.
Minimum içerik artışı (denklemlerde
min_content_boost
)- Bu değer, içerik üreticinin bir reklamın ne kadar koyu renk HDR ekranda gösterildiğinde, SDR'ye göre oluşturabilirsiniz.Bu değer, belirli bir resim için sabittir.
- Örneğin değer 0,5 ise herhangi bir piksel için doğrusal Görüntülenen HDR oluşturma işleminin parlaklığı, en az SDR oluşturma işleminin doğrusal parlaklığı.
- Pratikte bu değer genellikle 1,0'a eşit veya yalnızca 1,0'dan küçüktür.
- Her zaman Maksimum içerik güçlendirme değerinden küçük veya bu değere eşittir.
Maksimum görüntüleme artışı (denklemlerde
max_display_boost
)- Bir ekranın belirli bir noktasında desteklenen maksimum güçlendirme gerekir. Bu değer, cihaz ayarlarına ve diğer ayarlara bağlı olarak zaman içinde değişebilir veya akıllı telefonların ışığında kaç parlak piksel ekranda görebilirsiniz.
- Örneğin, bu değer 4, 0 ise ekran şunları yapabilir: SDR'den en fazla dört kat daha parlak bir piksel görüntüleniyor beyaz nokta. Bu değer her zaman >= 1, 0'dır çünkü görüntü her zaman en az SDR beyaz kadar parlak HDR beyaz görüntüler.
Ekran güçlendirme
- Maksimum içerik güçlendirme ve maksimum görüntüleme artışından daha az olana eşittir. Bu değer her zaman >= 1,0 olur.
- Örneğin maksimum içerik güçlendirme 4, 0 ve maksimum görüntüleme artışı 3,0 ise ekran güçlendirmesi 3.0 olur. Pikseller 3 kata kadar daha parlak görüntülenir çünkü görüntüleme özellikleri sınırlayıcı faktördür.
- Başka bir örnek daha vermek gerekirse, maksimum içerik artışı 4,0 ve maksimum görüntüleme artışı ise 5,0, ekran güçlendirmesi ise 4,0'dır. Pikseller 4 kata kadar gösterilir içeriğin amacı sınırlayıcı faktör olduğundan SDR'den daha parlak olmalıdır.
Hedef HDR oluşturma
- İçerik üreticiye göre ideal HDR oluşturma.
Uyarlanmış HDR oluşturma
- Ekran görüntüsünde gösterilen son HDR oluşturma Hedef HDR oluşturma işlemini mevcut ekran güçlendirmesine göre ayarlama.
Harita kazan (denklemlerde
recovery(x, y)
)- SDR oluşturmada her pikselin ne kadar parlaklaştırılacağını gösteren bir harita hedef HDR işlemesini üretmek için. Bu harita tek kanallı veya Çok kanallı. Çok kanallı harita, her kanal için ayrı bir kazancı gösterir. renk kanalını (örneğin, kırmızı, yeşil ve mavi) kullanabilirsiniz. Bu belgede oldukça benzerdir.
clamp(x, a, b)
- x değerini [a, b] aralığına sabitleyin.
exp2(x)
- 2. taban üsleme; 2x.
floor(x)
- X'e eşit veya x'ten küçük en yakın tam sayıyı döndürür.
log2(x)
- 2. taban logaritma; günlük2(x)
pow(b, x)
- Üs oluşturma; bx.
XMP
- Genişletilebilir Meta Veri Platformu. Projenin gidişatı boyunca Meta veriyi bir görüntü kapsayıcıya kodlama; ISO tarafından tanımlanmıştır 16684-1:2011(E) XMP Spesifikasyonu Bölüm 1.
Çoklu Resim Biçimi
- Çoklu Resim Biçimi, Kamera ve Görüntüleme tarafından geliştirilen bir tekniktir. Birden fazla JPEG kodlu resmi şurada depolayan Ürünler Birliği (CIPA) tek bir JPEG dosyası olabilir.
- Daha fazla bilgi için CIPA'nın Teknik Belgesi" başlıklı ilgili bağımlılığa bakın. DC-x 007-2009 Çoklu Resim Biçimi.
GKapsayıcı
- GContainer, bir görüntüde birden çok görüntüyü depolama yöntemidir Bu kapsayıcıda bir görüntünün birincil görüntü olduğu kabul edilir. Herhangi biri ek resimler, alternatif versiyon veya yardımcı olarak kabul edilir. XMP meta verileri, herhangi bir öğenin varlığını ve anlamını ek resim. Daha fazla bilgi için GContainer ayrıntılar bölümüne bakın.
Kodla
Bu bölümde, uygun bir JPEG dosyasının nasıl kodlanacağı açıklanmaktadır. bkz. T.81 (09/92) Dijital sıkıştırma ve sürekli tonlama kodlama Bağımlılıklar bölümünde, daha fazla bilgi için JPEG biçimi hakkında.
Harita oluşturma özelliğinden yararlanın
Kamera görüntüleme ardışık düzenleri genellikle daha yüksek dinamik aralıklı parlaklık verilerini geleneksel parlaklığın alt aralığına sıkıştır SDR ekranlar. Kazanç haritası, 2024 yılında yürütülen, elde edilen orijinal, daha yüksek dinamik aralık parlaklık verilerini kurtarın.
Bu bölümde yer alan aşağıdaki hesaplamalarda, kayan nokta aritmetiği olduğu varsayılmıştır.
Aşağıdaki işlevler SDR görüntüsünü açıklar:
SDR'(x, y)
, üç kanallı, doğrusal olmayan (genellikle gama kodlamalı) birincil resimdir.SDR(x, y)
, üç kanallı birincil resmin doğrusal sürümüdür. birincil resim renginin doğrusal sürümüne dönüştürülerek elde edilir boşluk oluşturur. Örneğin, sRGB aktarım işlevi içeren bir renk alanından renk primerlerini koruyan doğrusal renk alanıdır.
Ysdr(x, y)
işlevi 0,0 - 1,0 aralığında tanımlanır ve
standart dinamik aralık birincil resim doğrusal parlaklığı:
Ysdr(x, y) = primary_color_profile_to_luminance(SDR(x, y))
HDR resim için benzer tanımlar mevcuttur.
HDR'(x, y)
, doğrusal olmayan üç kanallı, yani PQ veya HLG kodlamalı bir değerdir görüntüsüdür.HDR(x, y)
, üç kanallı doğrusal HDR görüntüdür.
Yhdr(x, y)
, HDR resmin belirli bir noktasındaki parlaklıktır:
Yhdr(x, y) = primary_color_profile_to_luminance(HDR(x, y))
Yhdr(x, y)
, 0,0 ile maksimum içerik güçlendirme aralığında tanımlanmıştır.
SDR ve HDR resimler aynı çözünürlükte olmalıdır. SDR'nin renk profili görüntüsü, HDR resmin renk alanını tanımlar.
Örneğin, SDR birincil resmi Display-P3 renk profiline sahipse HDR resmi, söz konusu profilin birincil renklerine göre tanımlanır. Bu HDR resmin aynı zamanda Display-P3 primerlerine sahip olduğu anlamına gelir.
Kazanç haritası, istenen HDR görüntüyü içeren iki doğrusal görüntüden hesaplanır
parlaklık, Yhdr(x, y)
ve standart parlaklık aralığı resmi, Ysdr(x, y)
.
pixel_gain(x, y)
işlevi, Yhdr(x, y)
değerleri arasındaki oran olarak tanımlanır.
işlevi ve Ysdr(x, y)
işlevi:
pixel_gain(x, y) = (Yhdr(x, y) + offset_hdr) / (Ysdr(x, y) + offset_sdr)
Ysdr(x, y)
ve offset_sdr
olduğunda pixel_gain(x, y)
işlevi davranışı
her ikisi de uygulama tanımlıdır.
Örneğin, uygulamalar Ysdr(x, y)
ve
pixel_gain(x, y)
değeri 1,0 olarak tanımlandığından offset_sdr
değerleri sıfırdır. Alternatif olarak:
değerleri, sıfır olmayan bir offset_sdr
kullanarak da bu senaryoyu önler.
Uygulama işleminde offset_sdr
ve offset_hdr
değerleri seçilebilir.
Kazanç haritası, pixel_gain(x, y)
kodlayan bir skaler fonksiyondur
maksimum içerik ve minimum içerik artışına göre logaritmik alan:
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)
pixel_gain(x, y)
değerinin sıfır olduğu recovery(x, y)
işlevinin davranışı
log2(0)
tanımlanmamış olduğundan uygulama tanımlandı.
map_gamma
, 0,0'dan büyük olması gereken ve
tarafından seçilir.
Maksimum içerik güçlendirme ve minimum içerik artışı değerleri şu şekildedir: tarafından belirlenir ve içerik üretici tarafından isteğe bağlı olarak karar verilebilir. Maksimum içerik güçlendirme değeri 1,0 veya daha büyük olmalıdır. Minimum içerik güçlendirme şarttır (0,0, 1,0] aralığında olmalıdır.
recovery(x, y)
hücresindeki değerler [0,0, 1,0] aralığıyla sınırlıdır.
Kazanç haritası ikincil bir resim JPEG'sinde depolanır ve bu nedenle kodlanması gerekir
kullanılması nedeniyle [0, 255] aralığında olur. Her bir değer
bir recovery(x, y)
değerini temsil eder ve ikincil öğenin bir pikselinde depolanır
görüntüsüdür.
8 bit imzasız tam sayı depolama için, kodlanmış değer takip etmek için:
encoded_recovery(x, y) = floor(recovery(x, y) * 255.0 + 0.5)
Kodlama işlevinin hesaplanması, kayan noktada yapılır ve işlemini belirtilen şekilde yuvarlayarak 8 bitlik işaretsiz tam sayı sonucunun sonuna ekleyin.
Bu kodlama, dosyanın 8 bitlik işaretsiz tam sayı gösterimiyle sonuçlanır
0,0 ile 1,0 arasında recovery(x, y)
değerleri. Kodlanmış kazanç haritası,
ikincil resim öğesi yükleyebilirsiniz. Uygulama, kullanılacak
sırasında kullanılacak
sıkıştırma algoritmasıyla ayarlanır.
Kazanç eşlemesi ikincil bir görüntüde depolandıktan sonra, resim dosyasıdır. Birincil resim GContainer'ı dizini kazanım harita görüntüsü için bir öğe içermelidir.
Depolanan kazanç haritasının çözünürlüğü uygulama tarafından tanımlanır ve birincil resmin çözünürlüğünden farklı olacaktır. Kazanç Harita, depolama için birincil resimden farklı bir çözünürlüğe ölçeklenir. örnekleme yöntemi iki doğrusal veya daha iyi olmalıdır ve uygulama tanımlanmıştır.
Kazanç haritasının yönü, birincil resmin yönüyle eşleşmelidir. Eğer depolanan kazanç haritası resmindeki herhangi bir yön meta verisi, EXIF'de olduğu gibi, kullanılmaz.
Görünüyorsa kazanç haritasının renk profili kullanılmaz.
Harita kapsayıcısı elde etme
Renk profili
Resmin renk profili, kullanılacak resim için bir ICC Profili aracılığıyla birincil resimdir.
XMP özellikleri
Birincil resim, ekstra ile en az iki resmi tanımlamak için XMP meta verileri içerir HDR kazanç haritası biçimi için anlamsal bilgiler.
Aşağıdaki alt bölümler bu biçime özel ayrıntıları içerir. Ek bilgiler GContainer'a genel uygunlukla ilgili bilgi için GContainer ayrıntıları bölümüne bakın.
Aşağıdaki tablolarda açıklanan özellik değerleri XMP basit olarak depolanır belirtilen XMP temel değer türlerinin değerleri.
Öğe semantik değerleri
Item:Semantic
özelliği, uygulamaya özel anlamı tanımlar
her medya öğesinin bir parçasıdır.
Değer | Açıklama |
---|---|
Birincil | Medya öğesinin, görüntülenmeye hazır birincil resim olduğunu ve emin olmanız gerekir. Dizin bir "Birincil" içermelidir öğe. |
GainHarita | Medya öğesinin bir kazanç haritası olduğunu belirtir. Dizin, en fazla bir "Kazanç Haritası" öğe. |
HDR Kazanç harita meta verisi
Harita meta verileri elde etmek, elde edilen kazancın nasıl yorumlanacağı ve uygulanacağıyla ilgili eşleyerek birincil görüntünün HDR sunumunu oluşturun.
Kazanç harita meta verileri XMP uzantısı için XMP ad alanı URI'si
http://ns.adobe.com/hdr-gain-map/1.0/
Varsayılan ad alanı öneki
hdrgm
Bu meta veri, kazanç harita görüntüsünün XMP paketinde saklanır ve
özellikleri, kazanç harita görüntüsü XMP'nin rdf:Description
öğesinde görünmelidir:
Ad | Tür | Açıklama |
---|---|---|
hdrgm:Sürüm | Metin | Kullanımdaki kazanç haritası biçiminin sürümü. Bu sürüm "1.0"dır. Required. |
hdrgm:BaseRenditionIsHDR | Boole | Birincil resmin dinamik aralığını belirtir. "Yanlış" şunu gösterir: birincil görüntü SDR'dir ve kazanç haritası bununla birleştirilebilir. HDR oluşturma. "Doğru" Birincil resmin HDR ve kazanç haritası olduğunu gösterir üretilmesi için bununla birleştirilebilir. "False" olmalıdır. İsteğe bağlı; "False" (Yanlış) değerine ayarlanır. |
hdrgm:GainHaritaMin | Reel veya sıralı Real dizisi | map_min_log2 değerlerini depolar. Bu
İzin verilen minimum oran olan log2 minimum içerik güçlendirmesi
hedef HDR oluşturma işleminin doğrusal parlaklığının (bölünmüş)
tarafından), SDR resmin belirli bir pikseldeki Tek bir Real veya bir
sıralı bir Reals dizisidir. Sıralı bir Reals dizisi, bir içerebilir
tüm kanallar için geçerli olan veya Kırmızı, Yeşil ve
Sırasıyla mavi kanallar. Şundan küçük veya şuna eşit olmalıdır:
hdrgm:GainMapMax İsteğe bağlı; varsayılan değer 0,0'dır. |
hdrgm:GainMapMax | Reel veya sıralı Real dizisi | map_max_log2 değerlerini depolar. Bu
İzin verilen maksimum oran olan maks. içerik artışının log2 kadarı
Hedef HDR oluşturma işleminin doğrusal parlaklığının (bölünmüş
tarafından), SDR resmin belirli bir pikseldeki Tek bir Real veya bir
sıralı bir Reals dizisidir. Sıralı bir Reals dizisi, bir içerebilir
tüm kanallar için geçerli olan veya Kırmızı, Yeşil ve
Sırasıyla mavi kanallar. Şundan büyük veya şuna eşit olmalıdır:
hdrgm:GainMapMin Zorunludur. |
hdrgm:Gama | Reel veya sıralı Real dizisi | map_gamma değerlerini depolar. Bu, CANNOT TRANSLATE
uygulanan harita değerlerine uygulanır. Tek bir Real veya sıralı bir dizi olabilir.
Reals. Sıralı bir Reals dizisi olduğunda, bu dizede geçerli olan bir öğe
tüm kanallara veya Kırmızı, Yeşil ve Mavi kanallar için üç öğeye
tıklayın. 0,0'dan büyük olmalıdır. İsteğe bağlı; varsayılan değer
1.0. |
hdrgm:OfsetSDR | Reel veya sıralı Real dizisi | offset_sdr değerlerini depolar. Bu,
harita oluşturma ve uygulama sırasında SDR piksel değerlerine uygulanır.
Tek bir Real veya sıralı bir Real dizisi olabilir. Sıralı bir dizi
Reals, tüm kanallar için geçerli olan bir veya üç öğe içerebilir.
kanalları için dönüşüm izleme oranını gösterir. 0,0 veya daha büyük olmalıdır.
İsteğe bağlı; varsayılan değer 0,015625 (1/64) şeklindedir. |
hdrgm:OfsetHDR | Reel veya sıralı Real dizisi | offset_hdr değerlerini depolar. Bu,
geçerli harita oluşturma ve uygulama sırasında HDR piksel değerlerine uygulanır.
Tek bir Real veya sıralı bir Real dizisi olabilir. Sıralı bir dizi
Reals, tüm kanallar için geçerli olan bir veya üç öğe içerebilir.
kanalları için dönüşüm izleme oranını gösterir. 0,0 veya daha büyük olmalıdır.
İsteğe bağlı; varsayılan değer 0,015625 (1/64) şeklindedir. |
hdrgm:HDRCapacityMin | Gerçek | hdr_capacity_min değerini depolar. Bu
Haritanın sahip olduğu minimum görüntüleme güçlendirme değerinin log2 kadarı
hiçbir şekilde uygulanmadı. Bu değer, her bir kullanıcı sayfasına göre kazanç haritasına ne kadar
arttı. 0,0 veya daha büyük olmalıdır. İsteğe bağlı; varsayılan
değeri 0,0'dır. |
hdrgm:HDRCapacityMax | Gerçek | hdr_capacity_max değerini depolar. Bu
Haritanın bulunduğu maksimum görüntüleme güçlendirme değerinin log2 kadarı
tamamen uygulandı. Bu değer, kazanç haritasının ne kadar uygulanacağını da etkiler
artırılabilir. Şundan büyük olmalıdır:
hdrgm:HDRCapacityMin Zorunludur. |
XMP kazanç haritası örneği
Aşağıdaki geçerli bir kazanç haritası XMP paketi örneği, alınan meta veriler Giriş bölümünde gösterilen örnek dosyayı inceleyin.
<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>
Kazanç haritası için MPF depolama
Kazanç harita görüntüsü, CIPA'da tanımlandığı gibi ek bir resim olarak depolanmalıdır. Aşağıdaki gibi: DC-x 007-2009 Çoklu Resim Biçimi: Bağımlılıklar bölümü.
Kodu çöz
Bu bölümde, uygun bir JPEG dosyasından kazanç haritasının nasıl çözüleceği açıklanmaktadır.
Biçimin sinyali
Bu biçime uygun bir JPEG dosyası,
Birincil görüntünün XMP paketinde hdrgm:Version="1.0"
; burada hdrgm
http://ns.adobe.com/hdr-gain-map/1.0/
ad alanı URI'si.
Kazanç harita görüntüsünü bulun
Görüntünün ayrıştırılması ve kodunun çözülmesiyle ilgili ayrıntılar için aşağıdaki GContainer
ayrıntılar bölümüne bakın. Bir "GainMap" XMP içindeki anlamsal öğe
rdf:Directory
, kazanç bir harita görüntüsünün konumunu işaret etmek için kullanılır.
Alternatif olarak MPF Dizini IFD ve tarama görüntüleri XMP, kullanılan öğe sayısını
kazanç haritasının konumudur.
Geçersiz meta verileri işleme
Zorunlu bir alan yoksa meta veri geçersiz kabul edilir alanı geçersiz bir değere sahip. Bir değer, veya beklenen aralığın dışında olduğu için ayrıştırılabilir.
Geçersiz meta verilerle karşılaşılırsa kazanç haritası yoksayılmalıdır ve SDR, görüntülenecektir.
Ekran
HDR kazanç haritası biçiminde kodlanan dosyalar, geleneksel SDR ekranlar veya daha yüksek parlaklığa sahip HDR ekranlarda çıktı.
Uyarlanmış HDR oluşturma işlemini oluşturmak için kazanç haritasını kullanma
Bu bölümde yer alan aşağıdaki hesaplamalarda, kayan nokta aritmetiği olduğu varsayılmıştır.
encoded_recovery(x, y)
tek kanallı, 8 bit, imzasız tam sayı değeridir
elde edilir.
Kazanç haritası birincil resimden farklı bir çözünürlükte olursa,
encoded_recovery(x, y)
, bunun yerine
x ve y için birincil resmin genişlik ve yükseklik aralığında harita görüntüsü elde edebilir,
tıklayın. Filtreleme yöntemi doğrusal veya daha iyi olmalıdır.
tanımlarını öğreneceksiniz.
map_gamma
, hdrgm:Gamma
meta veri alanı tarafından belirlenir.
log_recovery(x, y)
, bir
logaritmik boşluk:
recovery(x, y) = encoded_recovery(x, y) / 255.0
log_recovery(x, y) = pow(recovery(x, y), 1.0 / map_gamma)
Maksimum ekran artışı, 2008'e kadarki oran olarak tanımlanan skaler bir kayan nokta değeridir mevcut HDR beyaz noktası ve mevcut SDR beyaz noktasına bölünür. Bu değeri görüntüleme sistemi tarafından sağlanır ve zaman içinde değişebilir.
hdr_capacity_max
, hdrgm:HDRCapacityMax
meta veri alanı tarafından belirlenir.
hdr_capacity_min
, hdrgm:HDRCapacityMin
meta veri alanı tarafından belirlenir.
hdrgm:BaseRenditionIsHDR
olduğunda weight_factor
şu şekilde belirlenir:
"Yanlış":
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
değeri "Doğru" olduğunda ikinci denklem şu şekilde olur:
weight_factor = 1.0 - clamp(unclamped_weight_factor, 0.0, 1.0)
gain_map_max
, hdrgm:GainMapMax
meta veri alanı tarafından belirlenir.
gain_map_min
, hdrgm:GainMapMin
meta veri alanı tarafından belirlenir.
offset_sdr
, hdrgm:OffsetSDR
meta veri alanı tarafından belirlenir. offset_hdr
.
hdrgm:OffsetHDR
meta veri alanı tarafından belirlenir.
Doğrusal olarak uyarlanmış HDR oluşturma aşağıdaki gibi hesaplanabilir:
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
Gerekirse uygulama,HDR(x, y)
alanda verileri göstermeniz gerekir. Bu tür dönüşümler
olması gerekir.
GContainer ayrıntıları
Bu bölümde, söz konusu biçimin uyumlu olması için içe aktarılmalıdır. Meta veriler, ISO'ya göre serileştirilir. 166841:2011(E) XMP Spesifikasyonu Bölüm 1 ve yerleşik (bkz. Adobe XMP Spesifikasyonu Bölüm 3'te açıklandığı gibi) birincil resim dosyasının içinde Dosyalarda Depolama. Birincil resim dosyası, aşağıdaki öğeler RDF/XML olarak biçimlendirilmiştir.
XMP paketi gereksinimleri
XMP paketi,
http://ns.adobe.com/hdr-gain-map/1.0/
ad alanı URI'si. Varsayılan ad alanı
önek hdrgm
şeklindedir.
XMP paketi hdrgm:Version="1.0"
öğesini tanımlar.
Kapsayıcı öğesi
GContainer XMP uzantısının XMP ad alanı:
http://ns.google.com/photos/1.0/container/
Varsayılan ad alanı öneki
Container
Birincil resim, XMP meta verisinde bir Container:Directory
öğesi içeriyor.
dosyada sonraki medya dosyasının sırasını ve özelliklerini tanımlama
emin olun. Kapsayıcıdaki her dosyanın,
Container:Directory
Medya öğesi, dosyadaki konumu açıklar
ve birleştirilen her dosyanın temel özelliklerini gösterir.
Kapsayıcı öğesi, birincil görüntünün XMP meta verilerine kodlanır. kapsayıcıdaki medya öğelerinin dizinini tanımlar. Medya öğeleri konumlandırılmalıdır medya öğesi öğeleriyle aynı sıralamaya sahip olacak şekilde dizinini oluşturur ve sıkıca paketlenmiş olmalıdır.
Dizin yalnızca bir "Birincil" içerebilir ve bu öğenin en başta öğesine ekleyebilirsiniz.
Öğe adı | Tür | Açıklama |
---|---|---|
Kapsayıcı:Dizin | Sıralı Yapı Dizisi | Her biri bir Container:Item içeren sıralı struct dizisi
kapsayıcının düzenini ve içeriğini tanımlamayı sağlar. |
Öğe öğesi
Öğe öğeleri, her medya öğesinin uygulama tarafından nasıl kullanıldığını açıklar.
GContainer Item XMP uzantısının XMP ad alanı URI'si
http://ns.google.com/photos/1.0/container/item/
Varsayılan ad alanı öneki
Item
.
İlk medya öğesi, birincil resim olmalıdır.Item:Semantic
= "Primary"
ve şurada listelenen bir Item:Mime
belirtilmelidir:
Öğe MIME türü değerleri.
Birincil resim öğesinin uzunluğu, birincil başlangıcından itibaren MIME türüne göre bir resmi.
Medya öğeleri, ek bilgiler belirten bir Item:Padding
özelliği içerebilir
medya öğesinin sonu ile bir sonraki medyanın başlangıcı arasındaki dolgu
öğe. Container:Directory
içindeki son medya öğesinde olduğunda
Item:Padding
, öğenin sonu ile
dosyası olarak kaydedebilirsiniz.
Her medya öğesi, Item:Mime
türünü ve Item:Semantic
özelliklerini içermelidir.
İkincil resim medya öğeleri, Item:Length
özelliklerini içermelidir.
Sıralı medya öğeleri, kaynak verilerini dosya kapsayıcısı içinde paylaşabilir. İlgili içeriği oluşturmak için kullanılan
ilk medya öğesi, kaynağın dosya kapsayıcısındaki konumunu belirler.
ve sonraki paylaşılan medya öğelerinde Item:Length
değeri 0 olarak ayarlandı. Böyle bir durumda,
kaynak verilerinin kendisi bir container'dır; Item:URI
,
medya öğesi verilerinin kaynak içindeki konumu.
Kapsayıcıdaki medya öğesi kaynaklarının konumu toplanarak belirlenir
birincil resim kodlamasının uzunluğunu, Item:Length
önceki ikincil medya öğesi kaynakları ve önceki tüm Item:Padding
değerler. Item:Padding
, şunları yapmayan medya öğesi kaynaklarında 0 olarak kabul edilir:
değerini belirtin.
Özellik adı | Tür | Açıklama |
---|---|---|
Öğe:Mime | Metin | Şuradaki medya öğesinin MIME türünü gösteren basit dize: emin olun. Tanım için Öğe MIME türü değerleri bölümüne bakın. Required. |
Öğe:Anlamsal | Metin | Medyanın uygulamaya özgü anlamını gösteren basit dize öğe. Tanım için Öğe anlamsal değerleri bölümüne bakın. Required. |
Öğe:Uzunluk | Tam sayı | Öğenin bayt cinsinden pozitif tam sayı uzunluğunu içeren basit dize. Uzunluk 0, medya öğesi kaynağının önceki medya öğesi. İkincil medya öğeleri için gereklidir. Birincil resim medya öğesine dokunun. |
Öğe:Etiket | Metin | Birden fazla öğeyi belirginleştirmek için kullanılan, uygulama tanımlı dize
öğeleri aynı Item:Semantic öğesine sahip. İsteğe bağlıdır. |
Öğe:Dolgu | Tam sayı | Ekstra bayt cinsinden pozitif tam sayı uzunluğunu içeren bir dize
medya öğesinin sonu ile sonrakinin başlangıcı arasındaki dolgu
son medya öğesinde kullanıldığında dosyanın sonu
Container:Directory Mevcut olmadığında 0 değeri varsayılır.
İsteğe bağlıdır. |
Öğe:URI | Metin | ISO/IEC 14496-12 bölüm 8.11.9'a uygun olan ve medya öğesi kaynağı içindeki medya verilerinin göreli URI'si. Varsayılan değer: birincil görüntü kaynağı olur. ISO temel medya dosyası biçimi ISO/IEC 14496-12 MIME türleri için isteğe bağlıdır. Aksi takdirde kullanılamaz. |
Öğe MIME türü değerleri
Item:Mime
özelliği, her medya öğesinin MIME türünü tanımlar
dışı verilerdir.
Değer | Açıklama |
---|---|
resim/jpeg | JPEG resmi. |
Örneği GContainer XMP
Aşağıdaki geçerli bir GContainer XMP paketi örneğinde, Giriş bölümünde gösterilen örnek dosyaya gidin.
<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>