包括變化的元數據等級的用于控制顏色管理的可縮放系統的制作方法
【專利摘要】這里公開了可縮放圖像處理系統和方法的若干實施例,其中根據元數據的變化的等級,改變要在目標顯示器上顯示的源圖像數據的顏色管理處理。
【專利說明】包括變化的元數據等級的用于控制顏色管理的可縮放系統
[0001]相關申請的交叉引用
[0002]本申請要求2011年5月27日提交的美國臨時專利申請N0.61/494014的優先權,該申請通過引用整體合并于此。
【技術領域】
[0003]本發明涉及圖像處理,更特別地,涉及利用元數據(更特別地,各種元數據層的元數據)對圖像和視頻信號進行編碼和解碼。
【背景技術】
[0004]已知的可縮放視頻編碼和解碼技術允許根據目標視頻顯示器的能力和源視頻數據的質量來擴展或收縮視頻質量。
[0005]然而,可以在使用和應用單個等級或各種元數據等級的圖像元數據時作出圖像和/或視頻呈現以及觀眾體驗的改善。
【發明內容】
[0006]此處公開了可縮放的圖像處理系統和方法的若干實施例,其中,根據變化的元數據等級來改變將要在目標顯示器上顯示的源圖像數據的顏色管理處理。
[0007]在一實施例中,公開了一種通過一組元數據等級來處理圖像數據并且在目標顯示器上呈現圖像數據的方法,其中元數據與圖像內容相關聯。該方法包括:輸入圖像數據;確定與所述圖像數據相關聯的一組元數據等級;如果沒有元數據與所述圖像數據相關聯,則執行一組圖像處理步驟中的至少一個步驟,所述一組圖像處理步驟包括:切換到默認值并且相適應地計算參數值;如果元數據與圖像數據相關聯,則根據與圖像數據相關聯的一組元數據等級來計算顏色管理算法的參數。
[0008]在又一實施例中,公開了一種解碼圖像數據并且通過一組元數據等級來在目標顯示器上呈現圖像數據的系統。該系統包括:視頻解碼器,所述視頻解碼器接收輸入圖像數據并且輸出中間圖像數據;元數據解碼器,所述元數據解碼器接收輸入圖像數據,其中所述元數據解碼器能夠檢測與所述輸入圖像數據相關聯的一組元數據等級并且輸出中間元數據;顏色管理模塊,所述顏色管理模塊從所述元數據解碼器接收中間元數據,從所述視頻解碼器接收中間圖像數據,并且基于所述中間元數據對所述中間圖像數據執行圖像處理;以及目標顯示器,所述目標顯示器接收并且顯示來自所述顏色管理模塊的所述圖像數據。
[0009]下面的“【具體實施方式】”在與本申請內給出的附圖一起閱讀時呈現了本系統的其他特征和優點。
【專利附圖】
【附圖說明】
[0010]在附圖的參考圖示中示出了示例性實施例。此處公開的實施例和圖示旨在視為示范性而非限制性的。[0011]圖1A、圖1B和圖1C示出了從視頻信號的創建、分發到消費的當前視頻管道(pipeline)的一實施例。
[0012]圖2A描繪了根據本申請的教導包括元數據管道的視頻管道的一實施例。
[0013]圖2B描繪了元數據預測塊的一實施例。
[0014]圖3示出了使用等級I元數據的S形曲線的一實施例。
[0015]圖4示出了使用等級2元數據的S形曲線的一實施例。
[0016]圖5示出了基于可用于調節映射到目標顯示器上的圖像/視頻的圖像/場景分析的直方圖的一實施例。
[0017]圖6示出了包括圖像/視頻數據的第二基準顯示器分級的基于等級3元數據的調節了的圖像/視頻映射的一實施例。
[0018]圖7示出了在目標顯示器與用于對圖像/視頻數據進行顏色分級的第二基準顯示器基本良好匹配時可能發生的線性映射的一實施例。
[0019]圖8是根據本申請的原理作出的視頻/元數據管道的一實施例。
【具體實施方式】
[0020]貫穿以下說明,闡述了具體細節以向本領域技術人員提供更透徹的理解。然而,可能沒有示出或詳細描述已知元素以避免不必要地模糊本發明。相應地,描述和附圖應被視為示范性的,而不是限制性的。
[0021]概覽
[0022]視頻質量的一個方面考慮以圖像或視頻的創建者想要的那樣的相同或基本相同的保真度在目標顯示器上呈現圖像或視頻。希望具有顏色管理(CM)方案,其試圖在帶有不同能力的顯示器上保持視頻內容的原始外觀。為了實現該任務,希望這樣的CM算法能夠在最終完成視頻的后期制作環境中預測視頻在觀眾看起來是什么模樣。
[0023]為了說明與本申請和系統密切相關的問題,圖1A、1B和IC描繪了當前視頻管道100的一實施例,跟蹤視頻信號從視頻信號的創建、分發到消費。
[0024]視頻信號的創建102可以伴隨有視頻信號被顏色分級員106進行顏色分級104,顏色分級員106可以分級信號的各種圖像特性,例如輸入視頻信號的亮度、對比度、顯色性。顏色分級員106可以分級信號以產生圖像/視頻映射108,這樣的分級可以對可能具有例如伽馬響應曲線112的基準顯示設備110進行。
[0025]一旦信號已被分級,就可以通過分發114來發送視頻信號,這樣的分發應從廣義上來考慮。例如,分發可以通過因特網、DVD、影院展示等。在本例子中,圖1A將分發示為將信號傳送到最大亮度100尼特且具有伽馬響應曲線124的目標顯示器120。假設基準顯示器110具有與目標顯示器基本相同的最大亮度和基本相同的響應曲線,那么應用于視頻信號的映射可以簡單的是1:1映射122那樣,并且根據例如用于顏色管理118的Rec709STD進行。假定所有其他因素都等同(例如,比如目標顯示器處的環境光條件),那么,在基準顯示器處看到的基本上是將在目標顯示器處看到的。
[0026]該情況可能會發生變化,例如,如圖1B所示,目標顯示器130在多個方面不同于基準顯示器110,例如,最大亮度(500尼特,而非基準顯示器的100尼特)。在此情況下,映射132可能是1:5映射,以在目標顯示器上呈現。在這種情況下,映射是通過Rec709CM塊的線性拉伸。從基準顯示器視圖到目標顯示器視圖的任何潛在失真可能令觀眾不悅,也可能不會令觀眾不悅,這取決于個人辨識力水平。例如,暗和中色調被拉伸,但有可能是可接受的。另外,可能使MPEG成塊偽像更顯著。
[0027]圖1C示出了更極端的示例。這里,目標顯示器140可以具有與基準顯示器更大的區別。例如,目標顯不器140具有1000尼特的最大売度,而不是基準顯不器的100尼特。如果對去往目標顯示器的視頻信號應用相同的線性拉伸映射142,那么對觀眾而言,可能存在顯著得多并且令人不悅的失真。例如,視頻內容可能以高得多的亮度級(1:10比率)來顯示。暗和中色調可能被拉伸到這樣的程度:原始捕捉的攝像機噪聲是明顯的,圖像的暗區中的成帶(banding)變得更顯著。另外,MPEG成塊偽像可能更顯著。
[0028]在沒有徹底地研究可以向觀眾呈現有多令人不悅的偽像的所有可能示例的情況下,討論更多一些可能是有益的。例如,假設基準顯示器具有比目標顯示器(比方說100尼特)更大的最大亮度(比方說600尼特)。在此情況下,如果映射再次是6:1線性拉伸,那么內容可能以總體更低的亮度水平顯示,圖像可能看起來顯得暗,圖像的暗細節可能具有明顯的破壞性。
[0029]在又一示例中,假設基準顯示器具有與目標顯示器(比方說1000尼特)不同的最大亮度(比方說600尼特)。應用線性拉伸,即使可能只有小的比率差異(B卩,接近于1:2),最大亮度的大小差異也可能是大并且有害的。由于大小差異,圖像可能過于太亮,可能看起來不舒服。中色調可能不自然地拉伸,可能看起來像褪了色。另外,攝像機噪聲和壓縮噪聲兩者都可能明顯和令人不悅。在又一示例中,假設基準顯示器具有等于P3的色域,目標顯示器具有小于REC.709的色域。假設內容在基準顯示器上進行顏色分級,但是呈現的內容具有相當于目標顯示器的色域。在此情況下,將內容從基準顯示器色域映射到目標色域可能不必要地壓縮內容并且使外觀不飽和。
[0030]在沒有目標顯示器上的圖像呈現(image rendering)的某種智能(或至少更準確)的模型的情況下,某些失真或有害偽像有可能對圖像/視頻的觀眾而言將變得明顯。事實上,觀眾體驗到的有可能不是圖像/視頻的創建者想要的。雖然論述專注于亮度,但是可以理解,相同的考量也將適用于顏色。事實上,如果在源顯示器的顏色空間和目標顯示器的顏色空間之間有差異,并且該差異沒有被正確地解決,那么顏色失真也將是明顯的偽像。相同的概念對于源顯示器和目標顯示器之間的周圍環境的任何差異也成立。
[0031]元數據的使用
[0032]在闡述這些示例時,期望理解基準顯示器、目標顯示器和源內容的本質和功能,以便創建對于最初計劃的視頻盡可能高的保真度。有描述各方面并且傳輸原始圖像數據的信息的其他數據,稱為“元數據”,用于這樣的忠實呈現中。
[0033]盡管色調和色域映射器一般對于為特定顯示器處理的圖像的大致80-95%適當地執行操作,但是,使用這樣的通用解決方案來處理圖像是有問題的。通常,這些方法不能保證屏幕上顯示的圖像匹配導演或初始創作者的意圖。還要注意,不同的色調或色域映射器可能對不同類型的圖像更有用,或更好地保留圖像的基調。另外,還應注意,不同的色調和色域映射器可能會導致細節的截限(clipping)和損失,或者顏色或色調的偏移。
[0034]當對已經顏色分級了的圖像序列進行色調映射時,諸如內容的最小黑度水平和最大白度水平之類的顏色分級參數可能是驅動將已經顏色分級了的內容色調映射到特定顯示器上所期望的參數。顏色分級員已經使內容(基于每個圖像以及時間)看起來如他/她想要的那樣。當將它轉移到不同顯示器時,可能期望保留所感受的圖像序列的觀看體驗。應理解,隨著元數據的等級增多,可以改善外觀的這種維持。
[0035]例如,假設拍攝了日出序列,并由專業人員在1000尼特的基準顯示器上進行顏色分級。在此示例中,內容將被映射以供在200尼特的顯示器上顯示。太陽升起之前的圖像可能不使用基準顯示器的整個范圍(例如,最大200尼特)。一旦太陽升起,圖像序列可以使用整個1000尼特的范圍,這是內容的最大值。在沒有元數據的情況下,許多色調映射器使用最大值(諸如亮度)作為如何映射內容的準則。如此,應用于日出前的圖像的色調曲線(1:1映射)可以不同于應用到日出后的圖像的色調曲線(5倍的色調壓縮)。目標顯示器上顯示的所得圖像可能在日出之前和之后具有相同的峰值亮度,這是創作意圖的失真。藝術家希望圖像在日出之前暗一些,而在日出過程中亮一些,如在基準顯示器上所產生的那樣。在此情況下,可以定義完全描述場景的動態范圍的元數據;而該元數據的使用可以確保藝術效果得以保持。也可以用它來最小化從場景到場景的亮度時間問題。
[0036]作為再一個示例,考慮上面給出的情況的相反情況。假設場景I是針對350尼特分級的,場景I是在室外自然光下拍攝的。如果場景2是在黑暗的房間中拍攝的,并在相同范圍中示出,那么,場景2看起來太暗。此情況下元數據的使用可以用于定義適當的色調曲線,并且確保場景2適當地可見。在再一個示例中,假設基準顯示器具有等于P3的色域,目標顯示器具有小于REC.709的色域。假設內容在基準顯示器上被顏色分級,但是呈現的內容具有相當于目標顯示器的色域。定義內容的色域和源顯示器的色域的元數據的使用可以使映射能夠作出智能決策并且1:1地映射內容色域。這可以確保內容顏色飽和度完整無損。
[0037]在本系統的某些實施例中,色調和色域無需當作一組圖像/視頻的單獨實體或條件。“記憶顏色”是即使觀眾可能不清楚初始意圖,但是如果不正確地調節,他們也看起來錯誤的圖像顏色。皮膚色調、天空以及草是記憶顏色的良好示例,當進行色調映射時,它們的色調可能會被改變從而看起來是錯誤的。在一個實施例中,色域映射器具有圖像中受保護顏色的知識(作為元數據),以確保其色調在色調映射過程中得以保持。此元數據的使用可以定義并標記圖像中受保護的顏色,以確保對記憶顏色的正確處理。定義局部色調和色域映射器參數的能力是元數據的示例,其不一定是基準和/或目標顯示器參數的唯一產物。
[0038]健壯的顏色管理的一實施例
[0039]在本申請的若干實施例中,公開了用于提供健壯的顏色管理方案的系統和方法,其中使用元數據的多個源來提供匹配內容創作者的最初意圖的更好的圖像/視頻保真度。在一個實施例中,可以根據某些元數據的可用性,向處理中添加元數據的各種源,如此處將更詳細地論述的那樣。
[0040]只作為一個示例,圖2A示出了使用元數據的圖像/視頻管道200的高級框圖。在框202中可以進行圖像創建和后期制作。將視頻源208輸入到視頻編碼器210中。將捕捉到的以及視頻源的元數據204輸入到元數據編碼器206中。前面已經討論了元數據204的示例;但是,可以包括諸如源和/或基準顯示器的色域邊界和其他參數、基準顯示器的環境以及其他編碼參數之類的項。在一個實施例中,元數據伴隨視頻信號,因為元數據的子集可能與計劃在給定時間呈現的視頻信號在時間上和空間上定位在一起。元數據編碼器206和視頻編碼器210 —起可視為源圖像編碼器。
[0041]然后,通過分發212以任何適當方式(例如,多路復用、串行、并行或通過某些其他已知方案)分發視頻信號和元數據。應理解,分發212應從廣義上理解以用于本申請的目的。合適的分發方案可以包括:因特網、DVD、有線、衛星、無線等。
[0042]將如此分發的視頻信號和元數據輸入到目標顯示器環境220中。元數據和視頻解碼器222和224分別接收它們相應的數據流,并提供適合于目標顯示器的特性以及其他因素的解碼。此時,元數據可以優選被發送到第三方顏色管理(CM)塊220和/或本申請的CM模塊228的實施例之一。在通過CM塊228處理視頻和元數據的情況下,CM參數生成器232可以把來自于元數據解碼器222以及元數據預測塊230的元數據作為輸入。
[0043]元數據預測塊230可以基于先前圖像或視頻場景的知識來作出較高保真度呈現的某些預測。元數據預測塊從傳入的視頻流收集統計信息,以便估計元數據參數。圖2B示出了元數據預測塊230的一個可行實施例。在此實施例中,可以為每幀計算圖像亮度的對數的直方圖262。可選的低通濾波器260可以在直方圖之前以(a)降低直方圖對噪聲的敏感度和/或(b)部分解決人類視覺系統中的自然模糊(例如,人將抖動圖案感受為單色的塊)。從其捕獲最小值266、最大值274。還可以基于百分比設置(如5%和95%)來捕獲趾部268和肩部272的點。還可以計算幾何平均270 (對數平均)并用作中間點。可以在時間上過濾這些值,以便例如它們不會太快地猛跳。如果需要,這些值也可以在場景變化期間復位。可以從黑幀插入或直方圖中的極端激進的跳動或任何其他這樣的技術來檢測場景變化。可以理解,場景變化檢測器264可以從直方圖數據(如圖所示)或者直接從視頻數據檢測場景變化。
[0044]在再一個實施例中,該系統可以計算圖像強度值(亮度)的平均值。然后,圖像強度可以通過感知加權(諸如對數、冪函數或LUT)來縮放。然后,該系統可以從圖像直方圖的預定百分比(例如,10%和90%)估計高亮區域和陰影區域(例如,圖5的頭頂凈空(headroom)和腳底凈空(footroom))。替代地,該系統可以根據直方圖的斜率何時在某一閾值之上或之下來估計高亮區域和陰影區域。許多變型是可行的,例如,該系統可以計算輸入圖像的最大和最小值,或根據預定百分比(例如,1%和99%)。
[0045]在其他實施例中,值可以隨時間(例如,從一幀到另一幀)而穩定,諸如有固定的上升速率和下降速率。突然變化可能指示場景變化,如此,值可能不會隨時間而穩定。例如,如果變化是在某一閾值以下,則系統可以限制變化速率,否則,就采用新的值。替代地,系統可以拒絕某些值影響直方圖的形狀(諸如尺寸設定(letterbox)或零值)。
[0046]另外,CM參數生成器232可以將諸如顯示器參數、周圍顯示環境和用戶偏好因素之類的其他元數據(即,不一定基于創建內容)用于對圖像/視頻數據的顏色管理中。可以理解,顯示器參數可以通過標準接口例如EDID等經由接口(諸如DDC串行接口、HDM1、DVI等)而可用于CM參數生成器232。另外,周圍顯示環境數據可由測量環境光條件或來自目標顯示器的環境光的反射率的環境光傳感器(未示出)來提供。
[0047]接收到任何合適的元數據之后,CM參數生成器232可以設置下游的CM算法234中的參數,CM算法234可以負責圖像/視頻數據在目標顯示器236上的最終映射。應理解,如在CM參數生成器232和CM算法234之間所示,不需要有功能分叉。事實上,在某些實施例中,這些特征可以組合成一個框。[0048]同樣,可以理解,從本實施例的觀點來看,形成圖2A和圖2B的各種框是可選的,可以設計有或沒有所述這些框的許多其他實施例,它們都在本申請的范圍內。另外,CM處理可以在圖像管道200中的不同點進行,不一定如圖2A所示。例如,可以將目標顯示器的CM置于并且包含在目標顯示器本身內,或者這樣的處理可以在機頂盒中執行。替代地,根據什么等級的元數據處理可用或被認為合適,目標顯示器的CM可以在分發或后期制作時進行。
[0049]使用變化的元數據等級的可縮放顏色管理
[0050]在本申請的若干實施例中,公開了提供可縮放的顏色管理方案的系統和方法,其中元數據的若干源可以布置在一組變化的元數據等級中,以提供對內容創作者的最初意圖甚至更高等級的圖像/視頻保真度。在一實施例中,根據某些元數據的可用性,可以向處理中添加各種元數據等級,如此處將更詳細地論述的那樣。
[0051]在本系統的許多實施例中,合適的元數據算法可以考慮多種信息,諸如,例如:
[0052](I)所編碼的視頻內容,
[0053](2)將編碼內容轉換為線性光的方法
[0054](3)源內容的色域邊界(亮度和色品二者),以及
[0055](4)關于后期制作環境的信息。
[0056]可能需要用于轉換到線性光的方法,以便可以計算由內容創作者觀察到的實際圖像的外觀(亮度、色域等)。色域邊界有助于預先指定最外的顏色可能是什么,以便這樣的最外顏色可以被映射到目標顯示器中而沒有截限或留下太多開銷。可能需要關于后期制作環境的信息,以便可以模擬可能影響顯示外觀的任何外部因素。
[0057]在當前視頻分發機制中,只有編碼了的視頻內容被提供給目標顯示器。假設使用符合Rec.601/709和各種SMPTE標準的基準顯示器,在基準工作室環境中制作內容。通常,假設目標顯示器系統符合Rec.601/709,很大程度上忽略目標顯示環境。由于假設后期制作顯示器和目標顯示器兩者都符合Rec.601/709,所以顯示器中沒有一個可以在不產生某種程度的圖像失真的情況下升級。事實上,由于Rec.601和Rec.709在它們的原色選擇方面稍微不同,所以可能已經引入了某些失真。
[0058]此處公開了元數據等級的可縮放系統的一實施例,其允許使用具有較寬且增強能力范圍的基準和目標顯示器。各種元數據等級允許CM算法調整源內容以適應具有各種精度等級的給定目標顯示器。下面的章節描述了所提出的元數據的等級:
[0059]等級O
[0060]等級O元數據是默認情況,基本上意味著零元數據。由于多個原因,元數據可能不存在,原因包括:
[0061](I)內容創建者沒有放入元數據(或者元數據在后期制作管道中的某點丟失);
[0062](2)顯示器在內容之間切換(B卩,頻道切換或商業廣告節目);
[0063](3)數據損壞或丟失。
[0064]在一實施例中,可能期望CM處理通過基于視頻分析來估計等級O或者通過采用默認值來處理等級O (即,沒有元數據存在時)。
[0065]在這樣的實施例中,顏色管理算法可能能夠以至少兩種不同的方式來在不存在元數據的情況下操作。
[0066]切換到默認值[0067]在此情況下,顯示器將非常像現今的分發系統那樣操作,其中采用了后期制作基準顯示器的特性。根據視頻編碼格式,所采用的基準顯示器可能潛在地不同。例如,可以為8比特RGB數據采用Rec.601/709顯示器。如果在600尼特模式下在專業監視器(諸如ProMonitor)上進行顏色分級,則可以為較高比特深度的RGB數據或LogYuv編碼數據采用P3或Rec709色域。如果對于較高動態范圍內容,只有一個標準或事實上的標準,這可能作用良好。然而,如果在自定義條件下創建較高動態范圍內容,則結果可能不會大大地改善,并可能會差。
[0068]適應性地計算參數值
[0069]在此情況下,CM算法可能以某些默認假設開始,并且基于通過分析源內容獲得的信息來精煉這些假設。通常,這可能涉及分析視頻幀的直方圖來確定如何最好地調節傳入源的亮度,有可能通過為CM算法計算參數值來進行。在這樣做時,可能風險在于它可能會給視頻產生“自動曝光”類型的外觀,其中每個場景或幀都被平衡到相同的亮度級。另外,某些格式還可能帶來某些其他挑戰,例如,如果源內容是RGB格式,那么當前沒有自動確定色域的方式。
[0070]在另一個實施例中,可以實現兩種方案的組合。例如,可以假設色域和編碼參數(諸如伽馬)是標準化默認值,可以使用直方圖來調節亮度級。
[0071]等級I
[0072]在本實施例中,等級I的元數據提供描述如何創建和封裝源內容的信息。此數據可以允許CM處理預測視頻內容在內容制作者看來實際上是什么模樣。等級I的元數據參數可以分組為三個區域:
[0073](I)視頻編碼參數,
[0074](2)源顯示器參數,
[0075](3)源內容色域參數,以及
[0076](4)環境參數。
[0077]視頻編碼參數
[0078]由于大多數顏色管理算法至少部分地在線性光空間中起作用,所以可能期望具有一種將編碼視頻轉換為線性(但相關)的(X,Y,Z)表示(或者是編碼方案固有的,或者作為元數據本身被提供)的方法。例如,諸如LogYuv、OpenEXR、LogYxy或LogLuv TIFF之類的編碼方案都固有地包含轉換到線性光格式所需的信息。然而,對于許多RGB或YCbCr格式,可能需要諸如伽馬以及原色之類的額外信息。作為示例,為了處理YCbCr或RGB,可以提供下列各條信息:
[0079](I)用于編碼源內容的原色和白點的坐標。這可以用于生成RGB到XYZ顏色空間變換矩陣,紅、綠、藍以及白中的每一個的(x,y)。
[0080](2)最小和最大代碼值(例如,“標準”或“完全”范圍)。這可以用于將代碼值轉換為規范化的輸入值。
[0081](3)每種原色的全局或每通道響應曲線(例如,“伽馬”)。這可用于通過撤消可能已經由接口或基準顯示器應用的任何非線性響應來使強度值線性化。
[0082]源顯示器色域參數
[0083]顏色管理算法知道源顯示器的色域可能是有用的。這些值對應于用于對內容進行分級的基準顯示器的功能。優選地在完全黑暗的環境中測量的源顯示器色域參數可以包括:
[0084](I)原色,諸如提供為具有指定的最大亮度的CIE X, y色度坐標或XYZ ;
[0085](2)用于白和黑的三色值,諸如CIE XYZ0
[0086]源內容色域參數
[0087]顏色管理算法知道在生成源內容時所使用的色域邊界是有用的。通常,這些值對應于對內容進行分級的基準顯示器的功能;然而,由于軟件設置,或者如果只使用了顯示器的能力的子集,所以它們可能不同。在某些情況下,源內容的色域可能不匹配編碼視頻數據的色域。例如,可以以LogYuv(或某種其他編碼)來編碼包含整個可見光譜的視頻數據。源色域參數可以包括:
[0088](I)原色,諸如提供為具有指定的最大亮度的CIE X, y色度坐標或XYZ ;
[0089](2)用于白和黑的三色值,諸如CIE XYZ。
[0090]環境參數
[0091]在某些情況下,只知道由基準顯示器產生的光等級可能不足以確定在后期制作中源內容向觀眾“呈現”為如何。關于由周圍環境所產生的光等級的信息也可以是有用的。顯示光和環境光的組合是沖擊人眼并產生“外觀”的信號。可能希望通過視頻管道保留此外觀。優選地在普通顏色分級環境中測量的環境參數可以包括:
[0092]( I)作為絕對XYZ值提供的基準監視器周圍顏色。可以使用該值來估計觀眾對他們的環境的適應等級。
[0093](2)普通顏色分級環境中基準監視器的黑度水平的絕對XYZ值。環境照明對黑度水平的影響可以使用該值來確定。
[0094](3)作為屏幕正前的白反射樣本(諸如紙)的絕對XYZ值提供的環境光的色溫。可以使用該值來估計觀眾的白點適應性。
[0095]注意,等級I的元數據可以提供源內容的色域、編碼和環境參數。這可以允許CM解決方案預測當批準時源內容呈現得如何。然而,它可能不會提供有關如何最好地調節顏色和亮度以適應目標顯示器的許多指導。
[0096]在一個實施例中,全局性地應用到RGB空間中的視頻幀的單個S形曲線可以是在不同的源和目標動態范圍之間進行映射的簡單而穩定的方式。另外,可以使用單個S形曲線來獨立地修改每個通道(R、G、B)。這樣的曲線也可以在某種感受空間中是S形的,諸如對數或冪函數。圖3示出了示例性曲線300。可以理解,其他映射曲線也可以是合適的,諸如線性圖(如圖3、4和6所示),或其他圖,諸如伽馬。
[0097]在此情況下,從等級I元數據和有關目標顯示器的信息知道曲線上的最小值和最大值的點。曲線的準確形狀可以是靜態的,基于輸入和輸出范圍平均看起來作用良好。還可以基于源內容進行適應性修改。
[0098]等級2
[0099]等級2元數據提供關于源視頻內容的特性的額外信息。在一實施例中,等級2元數據可以將源內容的亮度范圍分為特定亮度區域。更具體而言,一實施例可以將源內容的亮度范圍分割為五個區域,其中區域可以通過沿著亮度范圍的點來定義。這樣的范圍和區域可以通過一幅圖像、一組圖像、一個視頻場景或多個視頻場景來定義。[0100]為了說明方便,圖4和圖5描繪了等級2元數據的使用的一實施例。圖4是目標顯示器上輸入亮度到輸出亮度的映射400。這里映射400被描繪為包括沿其曲線的一組斷點的基本S形曲線。這些點可以對應于圖像處理相關值,標記為minin、footin、midin、headin和 maxino
[0101]在此實施例中,maxin可以對應于一場景的最小和最大亮度值。第三點midin可以是對應于感知“平均”亮度值或“中間灰度”的中間值。最后的兩個點作0\?和headin可以是腳底凈空和頭頂凈空值。腳底凈空和頭頂凈空值之間的區域可以定義場景的動態范圍的重要部分。希望這些點之間的內容應被盡可能多地保留。如果需要,可以消滅腳底凈空之下的內容。頭頂凈空之上的內容對應于高亮(highlight),如果需要,可以被截限。應理解,這些點傾向于定義曲線本身,因此,另一實施例可能是這些點的最佳擬合曲線。另外,這樣的曲線可能采取線性、伽馬、S形或任何其他合適的和/或所希望的形狀。
[0102]進一步針對此實施例,圖5示出了在直方圖500上示出的最小值、腳底凈空、中間值、頭頂凈空和最大值的點。這樣的直方圖可以基于圖像、視頻場景或者甚至一組視頻場景而產生,取決于需要直方圖分析的哪一等級的粒度來幫助保留內容保真度。在一個實施例中,可以以與視頻數據相同的編碼表示在代碼值中指定五個點。注意,最小值和最大值通常可以對應于與視頻信號的范圍相同的值,但并非總是如此。
[0103]取決于這樣的直方圖的粒度和頻率,可以使用直方圖分析來動態地重新定義沿圖4的亮度圖的點,并且因此隨時間而改變曲線。這也可以有助于改善目標顯示器上向觀眾顯示的內容保真度。例如,在一實施例中,周期性地傳遞直方圖可使解碼器有可能獲得比最小值、最大值等更多的信息。編碼器也可以在有顯著改變時僅包括新的直方圖。這可以節省解碼器為運行中的每個幀計算它的工作。在再一個實施例中,可以使用直方圖來估計元數據,以替換丟失的元數據或者補充現有的元數據。
[0104]等級3`[0105]在一實施例中,對于等級3元數據,等級I和等級2元數據參數可以用于源內容的第二基準分級。例如,可能已經使用P3色域在600尼特的亮度下在基準監視器(例如,ProMonitor)上執行了源內容的初步分級。利用等級3元數據,也可以提供有關例如可能在CRT基準顯示器上執行的二次分級的信息。在此情況下,額外信息將指出Rec.601或Rec.709原色以及較低的亮度,諸如120尼特。對應的最小值、腳、中間、頭頂以及最大值水平也將被提供給CM算法。
[0106]等級3元數據可以添加額外數據,例如,色域、環境、原色等以及亮度級信息以用于源內容的第二基準分級。然后,可以將此額外信息組合以定義將把初級輸入映射到基準顯示器范圍的S形曲線600 (如圖6所示)。圖6示出了如何將輸入和基準顯示器(輸出)水平組合以形成合適的映射曲線的示例。
[0107]如果目標顯示器的能力是二次基準顯示器的良好匹配,那么此曲線可以直接用于映射初級源內容。然而,如果目標顯示器的能力在初級和二次基準顯示器的能力之間的某處,那么二次顯示器的映射曲線可以用作下邊界。然后,用于實際目標顯示器的曲線可以是不縮小(例如,如圖7所示的線性映射700)和使用基準水平所生成的全范圍縮小曲線之間的內插。
[0108]等級4[0109]等級4元數據與等級3元數據相同,除了第二基準分級的元數據針對實際目標顯示器被調整之外。
[0110]等級4元數據還可以在過頂OTT情況下實施(即,Netf lix,移動流式播放或某種其他VOD服務),其中實際目標顯示器將其特性發送到內容提供者,內容以可用的最合適的曲線來分發。在一個這樣的實施例中,目標顯示器可以與視頻流式播放服務、VOD服務等進行通信,目標顯示器可以向流式播放服務發送諸如其EDID數據或可用的任何其他合適的元數據之類的信息。這樣的通信路徑在圖2A中描繪成虛線路徑240,到視頻和/或元數據編碼器(分別是210和206),如在本領域中諸如Netflix等之類的服務已知的那樣。通常,Netflix和其他這樣的VOD服務監視輸送到目標設備的數據量和數據速度,不一定是元數據,以用于顏色管理。但是,對于本實施例的目的而言,元數據通過分發212或以別的方式(實時或預先地)從目標數據發送到創建或后期制作以改變提供給目標顯示器的圖像數據的顏色、色調或其他特性就足夠了。
[0111]利用等級4元數據,所提供的基準亮度級是專門針對目標顯示器的。在此情況下,S形曲線可以如圖6所示的那樣構建,并被直接使用,而無需任何內插或調節。
[0112]等級5
[0113]等級5元數據通過標識諸如下列各項的重要特征來增強等級3或等級4。
[0114](I)受保護的顏色一圖像中已經被標識為公共記憶顏色的不應被處理的顏色,諸如皮膚色調、天空和草等的顏色。圖像的具有受保護顏色的這種區域可以將它們的圖像數據不變地傳遞到目標顯示器上。
[0115](2)重要聞売顯不一標識光源、最大發射和鏡面聞売。
[0116](3)色域外顏色一圖像中被故意顏色分級到源內容的色域外的特征。
[0117]在某些實施例中,如果目標顯示器能夠實現更高亮度,則這些標識對象可以被人工映射到顯示器的最大值。如果目標顯示器能夠實現更低亮度,則可以將這些對象截限到顯示器最大值,而不補償細節。然后,可以忽略這些對象,可以將所定義的映射曲線應用于剩余內容,并保持較高的細節量。
[0118]還應理解,在某些實施例中,例如在試圖將VDR向下映射到較低動態范圍的顯示器的情況下,知道光源和高亮可能是有用的,因為可以截限它們而不會有太多的損害。舉一個例子,另一方面,被照亮的臉(即,毫無疑問不是光源)可能不是希望被截限的特征。替代地,這樣的特征可以被更緩和地壓縮。在再一個實施例中,如果目標顯示器能夠實現更寬的色域,則這些內容對象可以被擴展并擴展到顯示器的全部功能。另外,在另一個實施例中,系統可能忽略所定義的任何映射曲線以確保高度飽和的顏色。
[0119]應理解,在本申請的若干實施例中,等級本身可以不是元數據處理的嚴格層次結構。例如,等級5可以應用到等級3或等級4的數據。另外,某些較低編號的等級可以不存在;但是系統可以處理較高編號的等級,如果存在的話。
[0120]采用多個元數據等級的系統的一實施例
[0121]如上所述,變化的元數據等級提供增多的有關源材料的信息,其允許CM算法針對目標顯示器提供更準確的映射。圖8示出了使用這樣的可縮放且變化的元數據等級的一實施例。
[0122]如所示,系統800通過五個框示出了整個視頻/元數據管道:創建802、容器808、編碼/分發814、解碼822和消費834。可以理解,不同實現的許多變化是可行的,某些具有更多框,某些具有更少框。本申請的范圍不應局限于此處的各實施例的敘述,事實上,本申請的范圍包含這些各種實現和各實施例。
[0123]創建802廣義地獲取圖像/視頻內容804并且如前所述通過顏色分級工具806來處理它。將經過處理的視頻和元數據置于合適的容器810中,例如本領域已知的任何合適的格式或數據結構,以用于隨后的傳播。舉一個例子,視頻可以作為VDR顏色分級視頻來存儲和發送,元數據作為VDR XML格式化的元數據來存儲和發送。如812中所示,此元數據被分割為前面所討論的各種等級。在容器框中,可以將數據嵌入到格式化的元數據中,其編碼了哪些元數據等級可用并與圖像/視頻數據相關聯。應理解,并非所有的元數據等級都需要與圖像/視頻數據相關聯;但是無論什么元數據和等級被關聯,下游的解碼和呈現都能夠適當地確定和處理這些可用的元數據。
[0124]編碼后可以繼續進行到獲取元數據并將它提供到算法參數確定框816,而視頻可以提供到AVCVDR編碼器818,其也可以包括CM框,以用于在分發820之前處理視頻。
[0125]一旦分發(從廣義上來講,通過例如因特網、DVD、有線、衛星、無線等),就可以到AVCVDR解碼器824 (或可任選地,到舊式解碼器826,如果目標顯示器沒有啟用VDR的話)進行視頻/元數據的數據解碼。從解碼恢復視頻數據和元數據兩者(分別作為框830、828,如果目標顯示器是舊式的,可能還有832)。解碼器824可以獲取輸入圖像/視頻數據并將輸入圖像數據恢復和/或分離為供進一步處理和呈現的圖像/視頻數據流和用于計算用于稍后對要呈現的圖像/視頻數據流進行處理的CM算法的參數的元數據流。元數據流還應包含關于是否有與圖像/視頻數據流相關聯的任何元數據的信息。如果沒有元數據相關聯,那么該系統可以執行如上文所討論的等級O處理。否則,該系統可以如上文所討論的那樣根據元數據的一組變化的等級,根據與圖像/視頻數據流相關聯的任何元數據來執行進一步處理。
[0126]可以理解,可以實時地確定是否有與要被呈現的圖像/視頻數據相關聯的任何元數據。例如,對于視頻流的某些部分,有可能沒有元數據與這些部分相關聯(無論是由于數據損壞還是內容創建者計劃沒有元數據),而在其他部分中,可能有元數據,或者有帶有豐富元數據的變化等級的組,現在可用并且與視頻流的其他部分相關聯。這就內容創建者而言可能是故意的;但是本申請的至少一個實施例應能夠實時地或基本動態地就是否有任何元數據與視頻流相關聯或者什么元數據等級與視頻流相關聯作出判斷。
[0127]在消費框中,算法參數確定框836可以恢復在分發之前可能已完成的先前的參數,或者可以基于來自目標顯示器和/或目標環境(或許來自標準接口例如EDID或新興VDR接口,以及來自觀眾的輸入或者目標環境中的傳感器的輸入,如前面在圖2A和/或2B的實施例的上下文中所討論的那樣)重新計算參數。一旦計算或恢復了參數,就可以將它們發送到CM系統中的一個或多個(838、840和/或840),以用于根據此處所公開的多個實施例,最后將源和中間圖像/視頻數據映射到目標顯示器844上。
[0128]在其他實施例中,圖8的實現框不需要精細劃分。例如,并廣義地說,涉及算法參數確定和顏色管理算法本身的處理不需要一定如圖8所示的那樣分支;而是可以構思和/或實現為顏色管理模塊。
[0129]另外,盡管這里描述了一組變化等級的元數據由視頻/圖像管道使用,但是應理解,在實踐中,系統不需要按元數據的等級被編號的準確順序來處理圖像/視頻數據。事實上,可能有這樣的情況:元數據的某些等級在呈現時可用,而其他等級不可用。例如,第二基準顏色分級可以執行,也可以不執行,等級3元數據可以在呈現時存在,也可以不存在。根據本申請作出的系統考慮了不同等級的元數據的存在或不存在,并用當時可行的最佳元數據處理來繼續執行。
[0130]給出了與附圖一起閱讀的本發明的一個或多個實施例的詳細描述,其示出了本發明的原理。應理解,關于這樣的實施例描述了本發明,但是本發明不限于任何實施例。本發明的范圍只由權利要求來限定,本發明涵蓋了很多替代方案、修改方案和等效方案。在本描述中闡述了很多具體細節,以便全面地理解本發明。這些細節是作為示例提供的,本發明可以根據權利要求,在沒有這些具體細節中的某些或全部的情況下實施。為了清楚起見,沒有詳細描述在與本發明相關的【技術領域】內已知的技術材料,以便不會不必要地模糊本發明。
【權利要求】
1.一種用于通過一組元數據等級來處理圖像數據并且在目標顯示器上呈現圖像數據的方法,元數據與圖像內容相關聯,所述方法的步驟包括: 輸入所述圖像數據; 確定與所述圖像數據相關聯的元數據的一組等級; 如果沒有元數據與所述圖像數據相關聯,則執行一組圖像處理步驟中的至少一個步驟,所述一組圖像處理步驟包括:切換到默認值并且適應性地計算參數值; 如果元數據與所述圖像數據相關聯,則根據與所述圖像數據相關聯的元數據的一組等級來計算顏色管理算法的參數。
2.如權利要求1所述的方法,其中,確定與所述圖像數據相關聯的元數據的一組等級的步驟進一步包括: 解碼所輸入的圖像數據以恢復圖像數據和相關聯的元數據。
3.如權利要求2所述的方法,其中,解碼所輸入的圖像數據的步驟進一步包括: 將所輸入的圖像數據分離為圖像數據流和元數據流。
4.如權利要求1所述的方法,其中,根據與所述圖像數據相關聯的元數據的一組等級來計算顏色管理算法的參數的步驟進一步包括: 判斷源圖像數據是否已經使用第一基準顯示器被顏色分級; 如果源圖像數據內容已經使用第一基準顯示器被顏色分級,則基于一組元數據參數中的至少一個來預測所述源圖像 數據內容,所述一組元數據參數包括:視頻編碼參數、源內容色域參數和環境參數。
5.如權利要求4所述的方法,其中,所述視頻編碼參數包括如下組中的至少一個,所述組包括:用于編碼源內容的原色坐標、用于編碼源內容的白點坐標、最小代碼值、最大代碼值、用于至少一種原色的響應曲線。
6.如權利要求4所述的方法,其中,所述源內容色域參數進一步包括用于對所述源圖像內容進行顏色分級的基準顯示器的色域。
7.如權利要求6所述的方法,其中,所述源內容色域參數還包括:原色色度坐標、白色的三色值、黑色的三色值、最大和最小亮度級的坐標值。
8.如權利要求4所述的方法,其中,所述環境參數還包括如下組中的一個,所述組包括:在對所述源內容進行顏色分級時的環境光條件、基準監視器周圍的顏色、基準監視器的絕對黑色值、在進行顏色分級時環境光的色溫。
9.如權利要求4所述的方法,其中,預測源圖像數據內容的步驟進一步包括下列步驟: 將基本最佳擬合曲線應用到圖像數據。
10.如權利要求1所述的方法,其中,根據與所述圖像數據相關聯的元數據的一組等級來計算顏色管理算法的參數的步驟進一步包括: 將源內容的亮度范圍劃分為亮度區域。
11.如權利要求10所述的方法,其中,將源內容的亮度范圍分割為亮度區域的步驟進一步包括: 計算源內容的至少一個圖像的直方圖,以確定所述至少一個圖像的最小、腳底凈空、中間點、頭頂凈空和最大圖像數據值; 根據所述最小、腳底凈空、中間點、頭頂凈空和最大圖像數據值,分割所述源內容的亮度范圍。
12.如權利要求11所述的方法,其中,計算直方圖的步驟進一步包括:計算視頻場景的直方圖。
13.如權利要求1所述的方法,其中,根據與所述圖像數據相關聯的元數據的一組等級來計算顏色管理算法的參數的步驟進一步包括: 判斷源圖像數據是否已經使用第一基準顯示器和使用第二基準顯示器被顏色分級; 使用利用第二基準顯示器的顏色分級的參數,改變圖像數據映射。
14.如權利要求13所述的方法,其中,改變圖像數據映射的步驟進一步包括: 如果目標顯示器的能力基本匹配第二基準顯示器的能力,則提供線性映射。
15.如權利要求1所述的方法,其中,所述方法進一步包括下列步驟: 將目標顯示器元數據傳輸到圖像處理塊; 基于所述目標顯示器元數據,改變要被發送到所述目標顯示器的圖像數據。
16.如權利要求15所述的方法,其中,所述目標顯示器元數據包括如下組中的至少一個,所述組包括:目標顯示器屏幕特性數據、目標顯示器周圍環境數據和用戶偏好數據。
17.如權利要求15所述的方法,其中,所述圖像處理塊位于所述源圖像編碼器處。
18.如權利要求15所述的方法,其中,所述圖像處理塊定位為CM參數生成塊。
19.如權利要求1所述的方法,其中,根據與所述圖像數據相關聯的元數據的一組等級來計算顏色管理算法的參數的步驟進一步包括: 識別圖像內包括受保護顏色的區域;以及 如果在圖像內發現具有受保護顏色的所述區域,則將所述區域的圖像數據傳遞到所述目標顯示器上以供呈現。
20.如權利要求1所述的方法,其中,根據與所述圖像數據相關聯的元數據的一組等級來計算顏色管理算法的參數的步驟進一步包括: 識別圖像內包括顯著高亮的區域;以及 如果在圖像內發現具有顯著高亮的所述區域,則對所述圖像進行截限。
21.如權利要求1所述的方法,其中,根據與所述圖像數據相關聯的元數據的一組等級來計算顏色管理算法的參數的步驟進一步包括: 識別圖像內包括色域外顏色的區域;以及 如果在圖像內發現具有色域外顏色的所述區域,則將圖像縮放回到色域中。
22.一種用于解碼圖像數據并通過一組元數據等級在目標顯示器上呈現圖像數據的系統,元數據與圖像內容相關聯,所述方法的步驟包括: 視頻解碼器,所述視頻解碼器接收輸入圖像數據并且輸出中間圖像數據; 元數據解碼器,所述元數據解碼器接收輸入圖像數據,其中所述元數據解碼器能夠檢測與所述輸入圖像數據相關聯的元數據的一組等級并且輸出中間元數據; 顏色管理模塊,所述顏色管理模塊從所述元數據解碼器接收中間元數據,從所述視頻解碼器接收中間圖像數據,并且基于所述中間元數據對所述中間圖像數據執行圖像處理;以及 目標顯示器,所述 目標顯示器從所述顏色管理模塊接收并且顯示所述圖像數據。
23.如權利要求22所述的系統,其中,所述顏色管理模塊進一步包括:算法參數確定模塊,所述算法參數確定模塊從所述元數據解碼器接收中間元數據,并且基于所述中間元數據輸出顏色管理參數;以及 顏色管理算法,從所述算法參數確定模塊接收參數,從所述視頻解碼器接收中間圖像數據,并且使用所述參數來動態地改變中間圖像數據的圖像處理。
24.如權利要求23所述的系統,其中,所述算法參數確定模炔基于由所述元數據解碼器確定的元數據的等級來確定顏色管理參數。
25.一種元數據預測模塊,所述模塊包括: 直方圖模塊,所述直方圖模塊接收圖像數據,并且從所述圖像數據創建直方圖數據; 多個預測元數據模塊,所述多個預測元數據模塊接收所述直方圖數據,并且基于所述直方圖數據存儲元數據值;以及 場景變化檢測器,接收如下組中的至少一個,所述組包括圖像數據和直方圖數據,并且檢測視頻場景是否已經發生改變,并且發送信號以清除存儲在所述多個預測元數據模塊中的所述元數據值。
26.如權利要求25所述的元數據預測模塊,其中,所述多個預測元數據模塊包括如下組中的多個,所述組包括:最小、最大、趾部、中間和肩部模塊。
【文檔編號】H04N9/64GK103563347SQ201280025742
【公開日】2014年2月5日 申請日期:2012年5月17日 優先權日:2011年5月27日
【發明者】N·W·邁斯莫爾, R·阿特肯斯, S·馬格爾姆, P·W·朗赫斯特 申請人:杜比實驗室特許公司