縮和封裝成伴隨基礎圖像的元數據。通過這種方式,支持擴展圖像格式的設備可從基礎圖像和差異圖像中生成擴展圖像,而不支持擴展圖像格式的設備可簡單地丟棄差異圖像元數據并通過常用方式對基礎圖像進行解碼。
[0026]在圖5A例示的實施例中,可從擴展圖像515A減去基礎圖像510A,以生成差異圖像520A。同樣,因為擴展圖像格式在用于基礎圖像格式的參考值范圍內與基礎圖像格式一致,所以可如上所述將減法作為計算廉價的逐個像素差異操作來執行。可根據廣泛支持的圖像文件格式(例如JPEG文件交換格式(JFIF))的標準來將基礎圖像510A壓縮(530A)并解碼成圖像文件540A的有效載荷部分。可在圖像文件540A的元數據部分中類似地對差異圖像(其實際可分成若干個不同的圖像通道)進行壓縮(530A)和編碼。例如,JFIF格式包括多個元數據通道。在一個實施例中,可在這些元數據通道中的一個或多個元數據通道中壓縮和存儲一個或多個差異圖像通道。盡管已描述了 JFIF格式,但另外受到廣泛支持的圖像文件格式也可實現類似的操作。因為壓縮和編碼過程取決于所選擇的文件類型并被本領域的普通技術人員所知,所以在本公開中不詳細論述這些過程。
[0027]已意外地發現,差異圖像通道數據可能是顯著空間相干的,并且此外可能在基礎圖像的很大區域內是不變的DC水平(其中可由基礎圖像完整表示原始信號)。結果,盡管可使用相同的壓縮將差異圖像通道有效地編碼為有效載荷(即,基礎圖像),但還有其他技術可能進一步有幫助諸如將僅對差異圖像通道數據實際受到調制的稀疏區域進行編碼的四叉樹表示法。還可能有益的是將差異圖像通道打破成離散的通道(即,負值、超過一或附加精確度)以最佳使用各個稀疏通道。僅以舉例的方式,鏡面強光可能需要顯著超過一的值,而深度飽和區域需要負值。相對于編碼差異圖像通道信息,雖然可使用有損或無損編碼技術,但建議使用無損壓縮。在使用有損壓縮的情況下,可確定(計算)差異圖像通道數據包括有損壓縮的效果。例如,這可通過在執行上述減法之前壓縮和解壓縮基礎圖像數據,在差異通道中對壓縮錯誤進行有效編碼,并從而允許對比基礎圖像更高質量的圖像進行解碼來實現。已確定這是差異通道的附加用途(相對于γ、范圍和精確度)。
[0028]參考圖5Β,可在從擴展圖像515Β減去壓縮/解壓縮所得的圖像之前,首先對基礎圖像510Β進行壓縮(530Β),然后進行解壓縮(535Β)。在有損壓縮算法的情況下,壓縮/解壓縮操作確保從將用于使用圖像文件540Β重建擴展圖像515Β的基礎圖像的版本計算差異圖像。這減少了在使用與用于生成差異圖像不同版本的基礎圖像時在擴展圖像重建過程期間可能發生的錯誤。可根據廣泛受支持的圖像文件格式的標準來將壓縮的基礎圖像編碼成圖像文件540Β的有效載荷部分。類似地,可在圖像文件540Β的元數據部分中對差異圖像520Β進行壓縮和編碼。
[0029]在一些實施例中,可能需要基于所選擇的文件格式來將基礎圖像和差異圖像轉換為不同的色彩模型。例如,如果于封裝基礎圖像和差異圖像的所選擇的用文件格式為JFIF并且使用RGB色彩模型對基礎圖像進行編碼(其中擴展圖像被表示為相同RGB色彩模型的擴展),可能需要將基礎圖像和差異圖像轉換成JFIF支持的Y’CbCr色彩模型。到此為止,假設這種轉換過程是基礎圖像和差異圖像的壓縮和編碼的一部分。然而,在某些實施例中,可能有利的是轉換擴展圖像和基礎圖像的色彩模型并在所轉換的色彩空間中(在擴展圖像和基礎圖像之間)執行差異操作。如果所選擇的文件格式的有效載荷部分能夠對比基礎圖像的色彩空間更寬范圍的色彩進行編碼(與sRGB色彩空間相比,JPEG標準的Y’ CbCr色彩空間就是這種情況),可能希望在圖像文件的有效載荷部分中而非在元數據部分中包括差異圖像的至少一部分。可在Y’CbCr 0-1單位體積中表示0.0RGB單位立方體到1.0RGB單位立方體的外部值。常見的Y ’ CbCr到R ’ G ’ B ’轉換器通常將R ’ G ’ B ’值限制到0.0 -1.0,因此在Y ’ CbCr中對擴展范圍的R’G’B’值進行編碼以維持向后兼容性可能是“安全的”。
[0030]參考圖5C,可將基礎圖像510C和擴展圖像515C從第一色彩模型轉換到第二色彩模型(550)。在一個實施例中,第二色彩模型可能是使用所選擇的文件格式(S卩,圖像文件540C的文件格式)對圖像進行編碼所需的色彩模型。例如,如果基礎圖像510C和擴展圖像515C是使用上文相對于圖2所述的基礎圖像格式和擴展圖像格式進行編碼的,并且所選擇的文件格式需要使用Y’CbCr色彩模型對圖像進行編碼,則將基礎圖像510C和擴展圖像515C從RGB色彩模型轉換到JPEG Y’CbCr色彩模型。在一個實施例中,使用如下公式來轉換標稱RGB參考值:
[0031]Y,=0.299(R)+0.587(G)+0.114(B)公式(I)
[0032]Cb = -0.169(R)-0.331(G)+0.5(B)+0.5 公式(2)
[0033]Cr = 0.5(R)-0.419(G)-0.081(B)+0.5 公式(3)
[0034]上文相對于圖4描述的用于擴展圖像315的像素315A的示例性RGB參考值(1.21,-0.4,-0.3)和基礎圖像310的像素31A的示例性參考值(0.98,O,O)分別得到轉換值(0.093,0.278,I.297)和(0.293,0.334,0.99)。在色彩模型轉換之后,從所轉換的擴展圖像517C減去所轉換的基礎圖像512C,以生成差異圖像520C。在所轉換的色彩空間中表示差異圖像520C。可提取差異圖像520C的一部分并反向添加到所轉換的基礎圖像512C中,以生成經調節的基礎圖像514C。例如,在通過將差異圖像520C的一部分添加到經調節的基礎圖像514C的所得差異值的程度在可接受的范圍內的情況下,朝所轉換的擴展圖像517C的參考值調節所轉換的基礎圖像512C的參考值。再次參考用于所轉換的基礎圖像512C和所轉換的擴展圖像517C的對應像素的上述示例性參考值,用于差異圖像520C的對應像素的參考值可以是(_0.2,-0.056,0.307)。可將這些參考值中的一些或全部參考值反向添加到所轉換的基礎圖像514C的對應值,從而到達所得值在標稱參考值的可接受范圍(例如,O到I)內的程度。在一個實施例中,這可能得到用于經調節的基礎圖像514C的對應像素的參考值(0.093,0.278,1)和用于差異圖像520(:的對應像素的剩余值(0,0,0.297)。然后可根據文件540(:的圖像文件格式的標準來將經調節的基礎圖像514C和差異圖像520C的剩余部分(S卩,未提取的部分)分別壓縮(530C)和編碼成圖像文件540C的有效載荷部分和元數據部分。
[0035]參考圖6,在一個實施例中,可并行地、可能使用多個編碼/解碼單元來對基礎圖像和差異圖像進行壓縮和編碼。需注意,“附加的”編碼單元不必是相同的。也就是說,可能有機會針對差異通道信息使用(與基礎)不同的硬件編碼器,從而允許針對不同編解碼器進行硬件加速,使得所得的設備更加靈活多用。作為另外一種選擇,可在具有加速的基礎硬件的基于中央處理單元(CPU)的編解碼器中并行于基礎圖像對差異通道信息進行編碼/解碼。在另一個具體實施中,對差異圖像和基礎圖像兩者的編碼可基于CPU(例如,使用多核處理單元的不同內核)。在例示的實施例中,如上所述,將差異圖像分成多個差異圖像通道620A-C。并不壓縮和保存基礎圖像610以及差異圖像通道620A-C中的每個差異圖像通道,這可能需要壓縮操作、寫入操作和讀取操作,以將每個圖像編碼成圖像文件640,而是可并行壓縮基礎圖像610和差異圖像通道620A-C,并在圖像文件640中進行編碼。可在圖像文件640的有效載荷部分645中對基礎圖像610進行編碼,并可在圖像文件640的單獨的元數據通道650A-C中對差異圖像通道620A-C中的每個差