異圖像通道進行編碼。盡管圖6中示出了三個差異圖像通道,但可使用更多或更少的差異圖像通道。
[0036]在一個實施例中,差異圖像通道可對第一壓縮版本的基礎圖像610和第二壓縮版本的差異圖像610之間的差異進行編碼。例如,可根據圖像文件格式(S卩,圖像文件640的格式)的標準來壓縮基礎圖像610,并且還可根據改進的壓縮算法進行壓縮。在此類實施例中,可將兩個壓縮版本之間的差異壓縮并編碼為差異圖像通道620A-C中的一個差異圖像通道。
[0037]在一個實施例中,將差異圖像通道620A-C分成圖像文件640的單獨的元數據通道可實現差異圖像通道的選擇性傳輸或使用。在一個實施例中,如果確定接收方設備不能利用差異圖像通道中的一個或多個差異圖像通道,則僅可傳輸有用的那些通道。例如,如果接收方設備能夠使用精確度差異圖像通道來提高由圖像文件640表示的顯示圖像的精確度但不能利用增大的動態范圍、寬色域或壓縮差異通道,則可在傳輸圖像文件640之前提取與增大的動態范圍、寬色域和壓縮差異對應的差異圖像通道。同樣,如果傳輸介質具有有限帶寬,則可在傳輸圖像文件640之前提取差異圖像通道中的一些或全部差異圖像通道。識別下游解碼器的能力可允許傳輸站點管理比特率并處理網絡擁塞。類似地,接收解碼器可基于已知環境來對差異(例如,其可在寬色域顯示不可用時選擇不對負差異值進行解碼)選擇性地進行解碼。
[0038]在例示的實施例中,圖像文件640包括各自存儲在圖像文件640的單獨的元數據通道中的標識符655和指令660 ο標識符655可初始將經編碼的基礎圖像610鏈接到差異圖像通道。該鏈接可用于避免將差異圖像數據應用到改變版本的基礎圖像610,這可能是災難性的。例如,如果圖像文件640被修改(例如,將基礎圖像610的表示旋轉90度),則隨后不應當使用差異圖像數據來嘗試重新生成擴展圖像。在一個實施例中,標識符655可以是原始有效載荷部分中645的全部或某部分原始有效載荷的散列。在另一個實施例中,標識符655可以是被存儲在原始有效載荷部分645內(而不是單獨的元數據通道中)的唯一標識符,并可包括格式特有的標記,諸如用于指示有效載荷部分645中的數據是原始數據的附加JPEG重新開始標記。無論標識符655的特定具體實施如何,對有效載荷部分645作出任何變化將形成失配,可由指令660利用該失配放棄用于使用有效載荷部分645和元數據通道650A-C重新生成擴展圖像的任何后續嘗試。指令660還可包括用于使用元數據通道650A-C中的一些或全部元數據通道來重建擴展圖像中的全部或某部分擴展圖像的代碼。
[0039]參考圖7,圖像文件640的指令660可確定由圖像文件640表示的哪個版本的圖像被生成。首先可確定有效載荷部分645中的數據是否匹配標識符655(框705)。在一個實施例中,可確定有效載荷645的散列是否匹配被存儲在標識符部分655中的有效載荷部分645中的初始編碼數據的散列。在另一個實施例中,可確定有效載荷部分645是否包括與初始編碼的有效載荷部分645—起被包括的唯一標識符。如果有效載荷部分645與標識符一致(框705的“是”分支),然后可確定將用于顯示圖像的設備是否支持擴展圖像格式(框710)。如果有效載荷部分645不匹配標識符(框705的“否”分支),或者如果不支持擴展圖像格式(框710的“否”分支),則可對有效載荷部分645解壓縮(框715)以生成基礎圖像610。然而,如果支持擴展圖像版本(框710的“是”分支),則可對有效載荷部分645和元數據通道650A-C解壓縮(框720),并可將所得的差異圖像通道添加到所得的基礎圖像以生成擴展圖像730。在一個實施例中,可對少于全部的元數據通道650A-C進行解壓縮并添加到基礎圖像。在一個實施例中,指令660可包括代碼,以定義用于從基礎圖像和差異圖像通道中的一些或全部差異圖像通道生成擴展圖像730的必要的轉換和序列。通過定義在基礎圖像格式參考值范圍內的與基礎圖像格式一致的擴展圖像格式并通過將擴展圖像分成基礎圖像以及擴展圖像和基礎圖像之間的差異信息,可將擴展圖像封裝成與現有設備向后兼容的廣泛支持的圖像格式。
[0040]參考圖8,其示出了根據一個實施例的示例性電子設備800的簡化功能框圖。電子設備800可包括處理器805、顯示器810、用戶界面815、圖形硬件820、設備傳感器825(例如,接近傳感器/環境光傳感器、加速度計和/或陀螺儀)、麥克風830、一個或多個音頻編解碼器835、一個或多個揚聲器840、通信電路845、數字圖像捕獲單元850、一個或多個視頻編解碼器855、存儲器860、存儲裝置865和通信總線870。例如,電子設備800可以是數字相機、個人數字助理(PDA)、個人音樂播放器、移動電話、服務器、筆記本電腦、膝上型電腦、臺式計算機或平板電腦。更具體地,可在包括設備800的部件中的一些或全部部件的設備上執行所公開的技術。
[0041]處理器805可執行必要的指令以實施或控制由設備800所執行的多種功能的操作。處理器805可例如驅動顯示器810并可從用戶界面815接收用戶輸入。用戶界面815可呈現多種形式諸如按鈕、小鍵盤、撥號盤、點擊輪、鍵盤、顯示屏和/或觸摸屏。處理器805也可例如為片上系統,諸如存在于移動設備中的那些片上系統并且包括專用圖形處理單元(GPU)。處理器805可基于精簡指令集計算機(RISC)架構或復雜指令集計算機(CISC)架構或任何其他合適的架構,并且可包括一個或多個處理內核。圖形硬件820可以是用于處理圖形和/或輔助處理器805以處理圖形信息的專用計算硬件。在一個實施例中,圖形硬件820可包括可編程圖形處理單元(GPU)。
[0042]傳感器和相機電路850可由以下設備至少部分地根據所公開的技術來捕獲可能被處理的靜態圖像和視頻圖像:一個或多個視頻編解碼器855和/或處理器805和/或圖形硬件820、和/或結合在電路850內的專用圖像處理單元。因此,所捕獲的圖像可被存儲在存儲器860和/或存儲裝置865中。存儲器860可包括由處理器805和圖形硬件820使用的一個或多個不同類型的介質以執行設備功能。例如,存儲器860可包括存儲器高速緩存、只讀存儲器(R0M),和/或隨機存取存儲器(RAM)。存儲裝置865可存儲介質(例如音頻文件、圖像文件和視頻文件)、計算機程序指令或軟件、偏好信息、設備配置文件信息以及任何其他合適的數據。存儲裝置865可包括一個或多個非暫態存儲介質,包括例如磁盤(固定盤、軟盤和可移除盤)和磁帶、光學介質(諸如CD-ROM和數字視頻光盤(DVD))、以及半導體存儲器設備(諸如電可編程只讀存儲器(EPROM)和電可擦除可編程只讀存儲器(EEPROM))。存儲器860和存儲裝置865可用于有形地保持被組織成一個或多個模塊并以任何所需的計算機編程語言編寫的計算機程序指令或代碼。例如,當由處理器805執行時,此類計算機程序代碼可實現本文所述的操作中的一種或多種操作。
[0043]應當理解,以上描述旨在是示例性的而非限制性的。已呈現材料以使得本領域的任何技術人員能夠作出并使用本文所述的發明構思,并在特定實施例的上下文中提供該發明構思,其變化對于本領域的技術人員而言將是顯而易見的(例如,可彼此結合使用所公開的實施例中的一些實施例)。在回顧以上描述時,很多其他的實施例對于本領域的技術人員而言將是顯而易見的。因此應當參考所附權利要求以及命名此類權利要求的等同形式的完整范圍來確定本發明的范圍。在所附權利要求中,術語“包括” (“including”)和“其中” (“inwhich”)被用作相應術語“包括” (“comprising”)和“其中,,(“wherein”)的通俗的英語等同形式。
【主權項】
1.一種非暫態程序存儲設備,所述非暫態程序存儲設備可由處理單元讀取并且包括存儲在其上的指令,所述指令用于使得一個或多個處理器: 獲取以第一圖像格式表示的第一圖像,所述第一圖像中