混合向后兼容的信號編碼和解碼的制作方法
【專利說明】
【背景技術】
[0001]在本領域中,對于處理多維信號或者沿時間演化的信號的壓縮和解壓,許多技術是已知的。這是音頻信號、視頻信號以及就像在科學和醫(yī)學領域中使用的體積信號的其它多維信號的情況。為了實現高壓縮比,那些技術采用信號內的空間和時間相關。常規(guī)方法識別參照并且嘗試確定信號的當前位置與給定參照之間的差異。這在空間域和時間域中都進行,在空間域中,參照是已經接收并解碼的空間平面的一部分(例如,塊或“宏塊”),在時間域中,信號時間當中的單個時刻(例如,一序列幀當中的視頻幀)被作為用于某個持續(xù)時間的參照。這是例如MPEG系列壓縮算法的情況,其中之前解碼的宏塊被作為空間域中的參照并且I幀和P幀被用作時間域中后續(xù)P幀的參照。
[0002]已知的技術以許多途徑采用空間相關和時間相關,為了識別、簡化、編碼和發(fā)送差異而采用幾種不同的技術。在常規(guī)方法中,為了充分利用塊中殘差的空間相關,執(zhí)行域變換(例如,變換到頻率域),接著執(zhí)行變換后的信息的有損刪除和量化,這通常引入某種程度的塊假象。相反,在時間域中,常規(guī)方法發(fā)送當前樣本與運動補償的參照樣本之間的量化差異。為了最大化樣本之間的相似性,編碼器嘗試估計沿時間發(fā)生的相對于(vs.)參照信號的修改。在常規(guī)編碼方法中(例如,MPEG系列技術、VP8、VP9等),這被稱為運動估計和補
Ο
[0003]在已知的領域中,除了一些嘗試,編碼方法通常忽略質量可擴展性需求。可擴展的編碼方法將編碼壓縮信號的單個版本并且使得能夠交付到不同的質量水平、帶寬可用性和解碼器復雜性??蓴U展性在已知方法中已經被考慮,就像MPEG-SVC和JPEG2000,由于計算復雜性并且,一般而言,其與不可擴展技術的相似性,到目前為止具有相對差的采用。
[0004]由于基于MPEG的技術(例如,MPEG2、MPEG4、H.264、Η.265)是國際標準,因此開發(fā)出了幾種專用硬件芯片,以便用專用硬件塊執(zhí)行信號解碼。因此,由于缺少解碼設備生態(tài)系統(tǒng),不同的編碼技術難以得到采用。
[0005]在視頻傳輸的其它情況下,諸如像經由(諸如HDMI或DisplayPort的)傳輸方法到顯示設備的電纜傳輸,視頻內容到解碼/顯示設備的傳輸受傳輸電纜的容量限制。由于傳輸電纜的限制,這使得不可能發(fā)送高于給定質量水平(或者分辨率或者幀速率)的視頻內容。由于要發(fā)送的數據量隨著時間的推移變得越來越大(由于商用顯示設備所支持的分辨率和幀速率的不斷增加),因此由連接電纜帶來的約束正變成是相關的問題,常常迫使解碼/顯示設備為了彌補傳輸電纜的能力不足而執(zhí)行各種類型的插值(例如,從60Hz到240Hz的幀速率插值),以便應付它們將能夠顯示的質量水平。
[0006]在視頻傳輸的其它情況下,諸如像視頻會議,大部分安裝的解碼器設備只能夠解碼傳統(tǒng)(legacy) SD和/或HD視頻內容,而較新且較強大的遠程呈現系統(tǒng)可以高質量地解碼處于更高的分辨率的視頻內容。目前的方法使得不可能利用單個編碼數據流(即,沒有編碼/轉碼成多個不同的視頻流)來服務傳統(tǒng)(legacy)解碼器設備和較新的解碼器設備兩者。
[0007]在視頻分發(fā)的其它情況下,諸如像藍光盤,設備的大生態(tài)系統(tǒng)只能夠解碼傳統(tǒng)HD視頻編碼格式,而新的解碼設備能夠解碼和顯示UltraHD視頻。目前的方法使得不可能分發(fā)可作為HD視頻被廣泛安裝的傳統(tǒng)設備讀取并且作為UltraHD視頻被新解碼設備讀取的單個與傳統(tǒng)兼容的藍光盤。
【發(fā)明內容】
[0008]與常規(guī)技術相對照,本文的方法和實施例代表一種創(chuàng)新方法,其實現高效的位(bit)流和可擴展性、并同時維持與為已知解碼方法設計的解碼和/或顯示硬件的向后兼容性。
[0009]本文所說明的方法和實施例還包括產生向后兼容的流的途徑,這種流被生成使得被傳統(tǒng)解碼器解碼到至多第一質量水平并且被專門使能的解碼器解碼到至多一個或多個不同的(更高的)質量水平。
[0010]除了實現具有向后兼容性的可擴展性的目的,為了更高的質量水平而使用不同的編碼/解碼技術還可以對整個位流實現更高的效率。
[0011]本文的實施例關于常規(guī)的系統(tǒng)和方法有所偏離,從而提供解碼信號的新穎方法,其充分利用傳統(tǒng)解碼方法用于解碼至多給定的質量水平,并充分利用新穎解碼方法來基于處于給定質量水平的解碼信號來重構處于最終(更高)質量水平的信號重現。
[0012]根據其最廣泛的方面,本發(fā)明是利用至多給定分辨率和/或幀速率(第一質量水平)的現有解碼硬件、并接著借由計算簡單但有效的方法重構一個或多個附加質量水平的方法。不能被更新從而執(zhí)行高于第一水平的質量水平的解碼的傳統(tǒng)解碼設備將只解碼處于第一質量水平的信號并且忽略附加的增強數據,即,將仍然能夠解碼信號的再現。
[0013]為了簡化,本文說明的非限制性實施例將信號稱為樣本的序列(即,二維圖像、視頻幀、視頻場等)。在描述中,術語“圖像”、“畫面”或“平面”(意為“超平面”的最廣泛含義,即,具有任何數量的維度和給定采樣網格的元素的陣列)將常常被用來標識沿樣本序列的信號的樣本的數字再現,其中每個平面都具有用于其每個維度(例如,X和Y)的給定分辨率,并且包括一組平面元素(或“元素”、或“pel”,或顯示元素,對于二維圖像常常被稱為“像素”,對于體積圖像常常被稱為“體素”,等等),該組平面元素由一個或多個“值”或“設置”(例如,作為非限制性例子,合適的顏色空間中的顏色設置、指示密度水平的設置、指示溫度水平的設置、指示音頻音調的設置、指示振幅的設置,等等)表征。每個平面元素由合適的一組坐標識別,從而指示所述元素在圖像的采樣網格中的整數位置。信號維度可以只包括空間維度(例如,在圖像的情況下)或者還包括時間維度(例如,在信號隨時間演進的情況下)。
[0014]作為非限制性例子,信號可以是圖像、音頻信號、多聲道音頻信號、視頻信號、多視點視頻信號(例如,3D視頻)、體積信號(例如,醫(yī)學成像、科學成像、全息成像,等等)、體積視頻信號、或者甚至具有多于四個維度的信號。
[0015]為了簡化,本文所說明的非限制性實施例常常提到作為設置的2D平面(例如,在合適顏色空間中的2D圖像)顯示的信號,諸如像視頻信號。術語“幀”或“場”將與術語“圖像”可互換地使用,從而指示視頻信號的時間中的樣本:為由幀組成的視頻信號(逐行視頻信號)所說明的任何概念和方法都可以容易地也適用于由場組成的視頻信號(隔行視頻信號),反之亦然。盡管本文所說明的實施例的重點在視頻信號,但是本領域技術人員可以容易地理解,相同的概念和方法也適用于任何其它類型的多維信號(例如,體積信號、視頻信號、3D視頻信號、全光信號,等等)。
[0016]在本文所描述的非限制性實施例中,信號處理器被配置為接收數據流并將其分成兩個或更多個子流。第一子流借由第一解碼方法被解碼,從而產生處于第一質量水平的信號再現。第二子流借由第二解碼方法被解碼,從而產生殘差?;谔幱诘谝毁|量水平的信號,信號處理器產生處于第二(更高)質量水平的信號的預測再現。信號處理器組合處于第二質量水平的信號的預測(或“初步”)再現與殘差,從而產生處于第二質量水平的信號再現。
[0017]在本文所描述的其它非限制性實施例中,位于另一計算機設備中的信號處理器接收數據流并且不被配置為解碼第二子流。信號處理器忽略第二子流并且僅僅解碼第一子流,從而產生處于第一質量水平的信號再現。以這種方式,在數據流中包括數據的第二訂戶流有效地與未配置為解碼第二子流的解碼器向后兼容,因為傳統(tǒng)解碼器就是忽略第二訂戶流并且產生處于第一質量水平的信號再現,而不是處于第二質量水平的信號再現。
[0018]在非限制性實施例中,該方法是在被設計為根據基于MPEG的方法進行解碼的硬件的固件上實現的,并且第一子流是根據所述基于MPEG的方法解碼的。
[0019]在本文所描述的其它非限制性實施例中,第二子流包括與由信號處理器執(zhí)行以基于處于第一質量水平的信號產生處于第二質量水平的信號的預測或初步再現的操作相對應的參數。在非限制性實施例中,所述參數包括用來上采樣處于第一質量水平的信號再現的上采樣內核(kernel)的系數。
[0020]在本文所描述的其它非限制性實施例中,解碼的殘差包括處于第一質量水平的第一殘差集合和處于第二質量水平的第二殘差集合。
[0021]在本文所描述的其它非限制性實施例中,產生處于第二質量水平的信號的預測再現包括:將處于第一質量水平的信號的再現與第一殘差集合組合;借由對應于接收到的參數的上采樣操作來上采樣處于第一質量水平的信號的再現。
[0022]在本文所描述的其它非限制性實施例中,解碼殘差集合包括:解碼變換后的量化殘差;對變換后的量化殘差求和并與自身和/或與合適的參數相減,從而產生量化殘差;反量化量化殘差,從而產生殘差。
[0023]在非限制性實施例中,所述合適的參數包括通過計算處于第一質量水平的信號再現的元素的值與處于第二質量水平的信號的預測再現的對應元素的平均值之差所獲得的參數。
[0024]在本文所描述的其它非限制性實施例中,解碼殘差集合包括:解碼量化的變換后的殘差;反量化經量化的變換后的殘差,從而產生變換后的殘差;對變換后的量化殘差求和并與自身和/或與合適的參數相減,從而產生殘差。
[0025]在一種非限制性實施例中,所述合適的參數包括通過計算處于第一質量水平的信號再現的元素的值與處于第二質量水平的信號的預測再現的對應元素的平均值之差所獲得的參數。
[0026]在非限制性實施例中,反量化操作是通過根據給定參數識別每個量化范圍內的位置來執(zhí)行的。
[0027]在非限制性實施例中,反量化操作是借由統(tǒng)計抖動、通過根據給定的概率分布計算包括在量化范圍中的隨機值來執(zhí)行的。
[0028]在其它非限制性實施例中,解碼量化的變換后的殘差包括接收熵編碼數據并且根據合適的熵解碼方法來解碼它。在非限制性實施例中,所述熵解碼方法是霍夫曼解碼和運行長度(“RLE”)解碼的組合。在其它非限制性實施例中,所述熵解碼方法包括靜態(tài)算術編碼器。在其它非限制性實施例中,熵解碼器接收對應于要解碼的符號的概率分布的參數。
[0029]根據進一步的非限制性實施例,用于同一序列的后續(xù)圖像的殘差是從同一公共參照(支持緩沖區(qū))解碼的,以便有效地充分利用多個后續(xù)圖像之間的相關性。
[0030]根據進一步的非限制性實施例,用于同一序列的后續(xù)圖像的一個或多個殘差是基于之前圖像的對應殘差來解碼的,以便有效地充分利用多個后續(xù)圖像之間的相關性。
[0031]在本文所描述的其它非限制性實施例中,信號處理器被配置為接收數據流并把它分成三個或更多個子流。第一子流是借由第一解碼方法解碼的,從而產生處于第一質量水平的信號再現。第二子流是借由第二解碼方法解碼的,從而產生增強數據,該增強數據允許解碼器基于處于第一質量水平的信號再現產生處于第二(更高)質量水平的信號再現。第三子流是借由第三解碼方法解碼的,從而產生增強數據,該增強數據允許解碼器基于處于第二質量水平的信號再現產生處于第三(更高)質量水平的信號再現。
[0032]根據進一步的非限制性實施例,數據流被組織為MPEG傳送流,并且(對應于不同質量水平的)不同子流的數據包具有不同的數據包標識符(PID),指示它們屬于不同的基本子流。如本文中所討論的,用第一PID標記數據指示數據的部分由第一解碼器解碼;用第二 PID標記數據指示數據的部分由第二解碼器解碼;用第三PID標記數據指示數據的部分由第三解碼器解碼;等等。在一種實施例中,用于增強子流(允許重構更高的質量水平)的PID被選擇,使得它們被傳統(tǒng)解碼器忽略。
[0033]根據進一步的非限制性實施例,數據流被組織為HDMI數據傳輸,其中,對應于第一質量水平的子流是未壓縮的視頻(根據HDMI格式發(fā)送)并且增強子流數據作為元數據被發(fā)送。在一些非限制性實施例中,第二質量水平比第一質量水平具有更高的幀速率。在其它非限制性實施例中,第二質量水平比第一質量水平具有更高的空間分辨率。在非限制性實施例中,增強數據在消隱期內被發(fā)送(用于每個水平消隱期的孤島數據包的最大數據為448字節(jié),留下總共大約480Mbps用于另外的數據;音頻數據也使用消隱期,但是消隱期的顯著部分可用于增強數據)。在其它非限制性實施例中,增強數據的傳輸經由特定于銷售商的信息幀(VSI)充分利用元數據傳輸。
[0034]根據進一步的非限制性實施例,數據流被組織為DisplayPort傳輸,其中對應于第一質量水平的子流是未壓縮的視頻(根據DisplayPort格式發(fā)送)并且增強子流數據作為元數據被發(fā)送。
[0035]根據進一步的非限制性實施例,數據流被組織為藍光盤文件,其中對應于第一質量水平的子流被編碼為常規(guī)藍光盤視頻并且增強子流數據作為元數據被包括在藍光盤中。
[0036]第一實施例的不同排列
[0037]根據其它實施例,計算機處理器硬件接收數據流。計算機處理器硬件將接收到的數據流解析為編碼數據的第一部分和編碼數據的第二部分。計算機處理器硬件實現第一解碼器以將編碼數據的第一部分解碼為信號的第一再現。計算機處理器硬件實現第二解碼器以將編碼數據的第二部分解碼為重構數據。該重構數據指定如何修改信號的第一再現。計算機處理器硬件對信號的第一再現應用該重構數據,以產生信號的第二再現。
[0038]以上第一示例實施例可以與以下一個或多個特征當中任何特征一起實現,以產生以下進一步的實施例:
[0039]例如,在一種實施例中,編碼數據的第一部分是根據MPEG (運動圖像專家組)或基于MPEG的格式(諸如作為非限制性例子的MPEG2、h.264、VC1、VP8、VP9或h.265)解碼的(經由計算機處理器硬件的第一解碼器)。從編碼數據的第二部分得出的重構數據是根據分層編碼格式解碼的(經由計算機處理器硬件的第二解碼器)。
[0040]根據還有進一步的實施例,編碼數據的第一部分包括未壓縮的視頻數據;重構數據是從編碼數據的第二部分得出的并且是根據分層編碼格式解碼的。應當指出的是,編碼數據的第二部分可以是壓縮數據。實現第二解碼器可以包括對壓縮數據應用上采樣操作,以產生重構數據,所應用的上采樣操作將較低分辨率顯示元素設置轉換成較高分辨率顯示元素設置。
[0041]在更進一步的實施例中,計算機處理器硬件是第一計算機處理器硬件。該系統(tǒng)可以包括第二計算機處理器硬件(諸如包括第一解碼器但不包括第二解碼器的傳統(tǒng)解碼器)。第二計算機處理器硬件也接收數據流。第二計算機處理器硬件啟動對數據流中接收到的編碼數據的僅第一部分到信號的另一第一再現的解碼;并且啟動信號的該另一第一再現在顯示屏上的顯示。
[0042]作為另一個例子,編碼數據的第一部分可以根據與傳統(tǒng)解碼器計算機處理器硬件兼容的解碼方法被解碼(使用第一類型的解碼器),并且數據流被組織為使得編碼數據的第二部分不被傳統(tǒng)解碼器計算機處理器硬件使用(和/或被忽略)。傳統(tǒng)解碼器計算機處理器硬件:i)啟動編碼數據的僅第一部分的解碼,以及ii)啟動信號的第一再現在相應顯示屏上的顯示。
[0043]由計算機處理器硬件接收的數據流可以是HDMI(高清晰度多媒體接口)信號,其中編碼數據的第一部分(如由第一解碼器處理的)是未壓縮的視頻數據并且編碼數據的第二部分(如由第二解碼器處理的)是壓縮數據。另選地,由計算機處理器硬件接收的數據流可以經DisplayPort接口接收,其中編碼數據的第一部分是未壓縮的視頻數據并且編碼數據的第二部分是壓縮數據。
[0044]作為進一步的非限制性示例實施例,數據流可以是包括數據的第一部分(諸如MPEG編碼數據)和數據的第二部分的MPEG(運動圖像專家組)傳送流,其中第一部分和第二部分由不同的數據包標識符(PID)號表征。
[0045]作為進一步的非限制性示例實施例,數據流可以是被組織為存儲在藍光盤上并且由藍光盤解碼器設備解碼的文件。數據的第一部分以藍光格式作為常規(guī)的HD視頻數據被包括并且利用第一編碼方法(例如,用于HD視頻數據的常規(guī)藍光編解碼器,諸如h.264或VC1)被編碼,而數據的第二部分以藍光格式作為被傳統(tǒng)的HD藍光盤解碼器設備忽略的元數據被包括,并且是根據第二編碼方法編碼的。
[0046]在一種實施例中,(由數據流中的編碼數據的接收部分捕獲的)信號包括多個顯示元素;并且信號的第二再現具有比信號的第一再現更高的質量水平。
[0047]在還有進一步的實施例中,信號的第二再現可以具有與信號的第一再現相同的顯示元素分辨率。實現第二解碼器以解碼編碼數據的第二部分可以包括:解碼由編碼數據的第二部分指定的處于第一質量水平的第一殘差數據集合;利用第一殘差數據集合修改信號的第一再現并且產生信號的第二再現;至少部分地基于信號的第二再現產生信號的第三再現,信號的第三再現具有比信號的第二再現的分辨率更高的分辨率(在一些實施例中,是空間分辨率;在其它實施例中,是時間分辨率;在還有其它實施例中,是空間和時間分辨率二者);如由編碼數據的第二部分指定的那樣解碼處于第二質量水平的第二殘差數據集合;以及利用第二殘差數據集合修改信號的第三再現并且產生信號的第四再現。
[0048]此外,計算機處理器硬件可以被配置為執(zhí)行以下操作:基于信號的第四再現產生信號的第五再現,信號的第五再現具有比信號的第四再現的分辨率更高的分辨率(再次,根據具體的非限制性實施例,空間的和/或時間的);如由編碼數據的第二部分指定的那樣解碼處于第三質量水平的第三殘差數據集合;以及利用第三殘差數據集合修改信號的第五再現并且產生信號的第六再現。信號的第一再現可以是隔行視頻信號;信號的第六再現可以是逐行視頻信號。
[0049]在其它非限制性實施例中,所接收的數據流包括編碼數據的多于兩個的不同部分,由多于兩個解碼器根據多于兩種不同的解碼方法進行解碼。在非限制性實施例中,所接收的數據流包括編碼數據的三個部分。編碼數據的第一部分由第一解碼器解碼,從而產生信號的第一再現。信號的第二再現與信號的第一再現具有相同的顯示元素分辨率。實現第二解碼器以解碼編碼數據的第二部分包括:如由編碼數據的第二部分指定的那樣解碼處于第一質量水平的第一殘差數據集合;利用第一殘差數據集合修改信號的第一再現并且產生信號的第二再現;至少部分地基于信號的第二再現,產生信號的第三再現,信號的第三再現具有比信號的第二再現的分辨率更高的分辨率;如由編碼數據的第二部分指定的那樣解碼處于第二質量水平的第二殘差數據集合;以及利用第二殘差數據集合修改信號的第三再現并且產生信號的第四再現。此外,計算機處理器硬件被配置為執(zhí)行以下動作:如由編碼數據的第三部分指定的來解碼第三殘差數據集合;利用第三殘差數據集合修改信號的第四再現并且產生信號的第五再現;基于信號的第五再現,產生信號的第六再現,信號的第六再現具有比信號的第五再現的分辨率更高的分辨率;如由編碼數據的第三部分指定的來解碼處于第四質量水平的第四殘差數據集合;利用第四殘差數據集合修改信號的第六再現并且產生信號的第七再現;基于信號的第七再現,產生信號的第八再現,信號的第八再現具有比信號的第七再現的分辨率更高的分辨率;如由編碼數據的第三部分指定的來解碼處于第五質量水平的第五殘差數據集合;利用第五殘差數據集合修改信號的第八再現并且產生信號的第九再現。在非限制性實施例中,信號的第一再現是隔行SD視頻信號;信號的第四再現是隔行HD視頻信號;信號的第九再現是逐行UltraHD視頻信號。
[0050]實現第二解碼器以解碼編碼數據的第二部分還可以包括以下操作:識別如由編碼數據的第二部分指定的上采樣操作;以及對信號的第二再現應用該上采樣操作,以產生信號的第三再現,信號的第三再現具有比信號的第二再現的顯示元素分辨率高得多的顯示元素分辨率。在一些非限制性實施例中,更高的顯示元素分辨率是對于視頻信號的每個場或幀的更高的空間分辨率(垂直,水平、或者垂直和水平);在其它非限制性實施例中,更高的顯示元素分辨率是更高的時間分辨率(即,處于更高幀速率的視頻信號);在還有其它非限制性實施例中,更高的顯示元素分辨率是信號中更高的空間和更高的時間分辨率二者。
[0051]根據進一步的實施例,識別如由編碼數據的第二部分指定的上采樣操作包括:解碼對應于上采樣內核的特定系數的參數;至少部分地基于被解碼的參數,產生對應于信號的第三再現的一部分的上采樣內核;以及對信號的第二再現的一部分應用該上采樣內核,以便產生信號的第三再現的所述一部分。在一種實施例中,信號的第三再現是處于高得多的顯示元素分辨率的信號的初步(或預測)再現。實現第二解碼器還可以包括:利用重構數據來修改處于高得多的顯示元素分辨率的信號的初步再現,修改后的信號的初步再現與信號的初步再現具有相同的分辨率,但是具有更高的質量水平。因此,如由編碼數據的第一部分指定的接收到的編碼數據可以根據傳統(tǒng)解碼方法(諸如MPEG-2、MPEG-4、DivX、AVC/h.264、SVC、HEVC/h.265、VC1、VP8、VP9 等等,為了簡化成稱為 “MPEG 數據”)來解碼,或者在其它非限制性實施例中,甚至可以作為未壓縮的視頻數據被解碼(例如,根據HDM1、DisplayPort或DVI傳輸格式)。數據流中的增強數據(諸如編碼數據的第二部分)可以被解碼并用來將從MPEG數據得出的信號再現轉換為更高質量水平的重放信號。如本文中所討論的,增強數據是根據非MPEG編碼格式編碼的。
[0052]根據更進一步的實施例,從接收到的數據流中的編碼數據的第二部分,第二解碼器產生根據分層格式編碼的重構數據。從編碼數據的第二部分獲得或得出的重構數據可以包括殘差數據。例如,在