亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于視頻編碼的設備、方法和計算機程序的制作方法

文檔序號:7849012閱讀:190來源:國知局
專利名稱:用于視頻編碼的設備、方法和計算機程序的制作方法
技術領域
本發(fā)明涉及用于編碼和解碼的設備、方法和計算機程序。
背景技術
視頻編解碼器可以包括編碼器和解碼器,其中編碼器將輸入視頻轉換成適于存儲和/或傳輸?shù)膲嚎s表征,而解碼器可以將壓縮的視頻表征解壓縮回可視形式;或者,視頻編解碼器可以包括編碼器和解碼器中的任何一個。典型地,編碼器丟棄原始視頻序列中的某些信息,以便以更緊致的格式(例如,較低的比特率)來表征視頻。根據(jù)例如國際電信聯(lián)盟的ITU-T H. 263和H. 264編碼標準進行操作的典型視頻編解碼器按照兩個階段對視頻信息進行編碼。在第一階段中,對某些圖片區(qū)域或“塊”中的 像素值進行預測。這些像素值可以例如通過運動補償機制進行預測,這些機制涉及查找和指示之前編碼的視頻幀(或之后編碼的視頻幀)的一個幀中、與正被編碼的塊最為對應的區(qū)域。此外,像素值可以通過空間機制進行預測,這些空間機制涉及查找和指示空間區(qū)域關系O使用來自之前(或之后)圖像的圖像信息的預測方式也可以稱為幀間預測方法,而使用同一圖像內圖像信息的預測方式也可以稱為幀內預測方法。第二階段是對預測的像素塊與原始像素塊之間的誤差進行編碼的階段。這典型地是通過使用指定的變換對像素值的差值進行變換來實現(xiàn)的。此變換典型地是離散余弦變換(DCT)或其變體。在對該差值進行變換之后,經(jīng)變換的差值被量化和熵編碼。通過改變量化過程的保真度,編碼器可以控制像素表征的準確度(換言之,圖片的質量)與得到的編碼視頻表征的大小(換言之,文件大小或傳輸比特率)之間的平衡。解碼器通過應用與編碼器在形成像素塊的預測表征時使用的預測機制類似的預測機制以及預測誤差解碼來重建輸出視頻,其中,該預測機制使用由編碼器創(chuàng)建的并存儲在圖像壓縮表征中的運動信息或空間信息,并且預測誤差解碼是用于在空間域中恢復量化預測誤差信號的預測誤差編碼的逆操作。在應用了像素預測過程和誤差解碼過程之后,解碼器將該預測和預測誤差信號(像素值)進行組合以形成輸出視頻幀。解碼器(和編碼器)還可以應用附加的過濾過程,以便在傳遞輸出的視頻以供顯示之前和/或將其作為視頻序列中將來幀的預測參考進行存儲之前,改善該輸出視頻的質量。在典型的視頻編解碼器中,運動信息由與每個經(jīng)運動壓縮的圖像塊相關聯(lián)的運動矢量所指示。這些運動矢量中的每一個代表(在編碼器中)待編碼的或(在解碼器處)待解碼的圖片中的圖像塊相對于之前編碼的或解碼的圖像(或圖片)中一個圖像(或圖片)中的預測源塊的位移。為了高效地表示運動矢量,運動矢量典型地針對塊特定的預測運動矢量進行差分編碼。在典型的視頻編解碼器中,以預定義方式(例如,通過計算相鄰塊的編碼或解碼運動矢量的中值)來創(chuàng)建預測的運動矢量。
在典型的視頻編解碼器中,運動補償之后的預測殘差首先利用變換內核(如DCT)進行變換并繼而進行編碼。這樣做的原因在于,通常,在殘差中仍然存在某些關聯(lián)性,變換在很多情況下有助于減小這種關聯(lián)性并提供更有效的編碼。典型的視頻編碼器利用拉格朗日成本函數(shù)來找尋最優(yōu)的編碼模式,例如,期望的宏塊模式和關聯(lián)的運動矢量。這種類型的成本函數(shù)使用加權因子或λ、以將歸因于有損編碼方法的準確或估計的圖像失真與為了表示圖像區(qū)域中像素值所需的準確或估計的信息
量連結在一起。這可以由下述等式表示C = D+λ R (I)其中,C是待最小化的拉格朗日成本,D是目前考慮的模式和運動矢量情 況下的圖像失真(例如,原始圖像塊中的像素值與編碼圖像塊中的像素值之間的均方誤差),λ是拉格朗日系數(shù),以及R是表示用于在解碼器中重建圖像塊所需數(shù)據(jù)所需要的比特數(shù)量(包括用于表示候選運動矢量的數(shù)據(jù)量)。某些混合視頻編解碼器(諸如,H. 264/AVC)借助于利用圖片中已處理區(qū)域的像素值的空間手段來預測幀內編碼區(qū)域。典型的編解碼器具有可用預測方法的固定集合,這些方法根據(jù)對應的方向提供預測。如果可用預測方向的數(shù)量較少,則壓縮性能可能受影響,因為可能不存在與圖片內容中的所有方向性結構匹配的方法。如果可用預測方向的數(shù)量較多,則實現(xiàn)復雜度可能成為負擔。某些編解碼器使用較少數(shù)量的方向性幀內預測方法,例如,從2個至8個不同的方向,這可產(chǎn)生次優(yōu)性能,但是可能將實現(xiàn)復雜度保持在適度水平。

發(fā)明內容
本發(fā)明提供了可以在視頻編解碼器的幀內預測子系統(tǒng)中支持相對大量預測方向的某些實施方式。根據(jù)某些實施方式,預測過程由給定粒度的、無論是水平方向還是豎直方向的參考像素行和一行像素之間的位移測量來定義。在針對塊中每個像素推導預測值的時候,所選擇的位移用于計算每個像素向參考像素行的投影,以及使用插值操作以便利用投影的像素位置距最近參考像素的距離來計算最終預測值。根據(jù)本發(fā)明的第一方面,提供了一種設備,包括選擇器,配置用于選擇用于預測的像素;投影定義器,配置用于確定所述像素向參考像素集合的投影;以及預測定義器,配置用于基于所述投影,從所述參考像素集合中選擇一個或多個參考像素,以及使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。根據(jù)本發(fā)明的第二方面,提供了一種方法,包括選擇用于預測的像素;確定所述像素向參考像素集合的投影;以及基于所述投影,從所述參考像素集合中選擇一個或多個參考像素;以及通過使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。根據(jù)本發(fā)明的第三方面,提供了一種計算機可讀存儲介質,其上存儲有供設備使用的代碼,在由處理器執(zhí)行時,所述代碼引起所述設備選擇用于預測的像素;確定所述像素向參考像素集合的投影;以及基于所述投影,從所述參考像素集合中選擇一個或多個參考像素;以及通過使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。根據(jù)本發(fā)明的第四方面,提供了至少一個處理器和至少一個存儲器,所述至少一個存儲器上存儲有代碼,在由所述至少一個處理器執(zhí)行時,所述代碼引起設備選擇用于預測的像素; 確定所述像素向參考像素集合的投影;以及基于所述投影,從所述參考像素集合中選擇一個或多個參考像素;以及通過使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。根據(jù)本發(fā)明的第五方面,提供了一種設備,包括分析器,配置用于檢查關于待解碼圖像的像素塊的方向性的指示;以及重建器,配置用于確定待解碼的所述像素塊的像素在參考像素集合上的投影;以及基于所述投影,從所述參考像素集合中選擇一個或多個參考像素,以及使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。根據(jù)本發(fā)明的第六方面,提供了一種方法,包括檢查關于待解碼圖像的像素塊的方向性的指示;確定待解碼的所述像素塊的像素在參考像素集合上的投影;以及基于所述投影,從所述參考像素集合中選擇一個或多個參考像素,以及使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。根據(jù)本發(fā)明的第七方面,提供了一種計算機可讀存儲介質,其上存儲有供設備使用的代碼,在由處理器執(zhí)行時,所述代碼引起所述設備檢查關于待解碼圖像的像素塊的方向性的指示;確定待解碼的所述像素塊的像素在參考像素集合上的投影;基于所述投影,從所述參考像素集合中選擇一個或多個參考像素;以及使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。根據(jù)本發(fā)明的第八方面,提供了至少一個處理器和至少一個存儲器,所述至少一個存儲器上存儲有代碼,在由所述至少一個處理器執(zhí)行時,所述代碼弓I起設備執(zhí)行檢查關于待解碼圖像的像素塊的方向性的指示;確定待解碼的所述像素塊的像素在參考像素集合上的投影;以及基于所述投影,從所述參考像素集合中選擇一個或多個參考像素;以及使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。根據(jù)本發(fā)明的第九方面,提供了一種編碼器,包括選擇器,配置用于從幀內預測模式的集合中選擇編碼方法,以對圖像的像素塊進行編碼;以及
選擇器,配置用于選擇用于預測的像素;其中所述幀內預測模式包括投影定義器,配置用于確定所述像素向參考像素集合的投影;以及預測定義器,配置用于基于所述投影,從所述參考像素集合中選擇一個或多個參考像素,以及使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。根據(jù)本發(fā)明的第十方面,提供了一種解碼器,包括分析器,配置用于檢查關于待解碼圖像的像素塊的方向性的指示;以及重建器,配置用于 確定待解碼的所述像素塊的像素在參考像素集合上的投影;以及基于所述投影,從所述參考像素集合中選擇一個或多個參考像素,以及使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。根據(jù)本發(fā)明的第十一方面,提供了一種設備,包括用于從幀內預測模式的集合中選擇編碼方法以對圖像的像素塊進行編碼的裝置;以及用于選擇用于預測的像素的裝置;其中所述幀內預測模式包括用于確定所述像素向參考像素集合的投影的裝置;用于基于所述投影,從所述參考像素集合中選擇一個或多個參考像素的裝置;以及用于使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值的裝置。根據(jù)本發(fā)明的第十二方面,提供了一種設備,包括用于檢查關于待解碼圖像的像素塊的方向性的指示的裝置;以及用于確定待解碼的所述像素塊的像素在參考像素集合上的投影的裝置;以及用于基于所述投影,從所述參考像素集合中選擇一個或多個參考像素的裝置;以及用于使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值的裝置。


為了更好地理解本發(fā)明,現(xiàn)在將通過示例方式參考附圖,在附圖中圖I示意性地示出了采用本發(fā)明某些實施方式的電子設備;圖2示意性地示出了適于采用本發(fā)明某些實施方式的用戶設備;圖3進一步示意性地示出了采用本發(fā)明實施方式的、使用無線和有線網(wǎng)絡連接進行連接的電子設備;圖4a示意性地示出了并入在編碼器中的本發(fā)明實施方式;圖4b示意性地示出了根據(jù)本發(fā)明某些實施方式的幀內預測器的實施方式;圖5示出了流程圖,該流程圖針對圖4中所示編碼器示出了本發(fā)明實施方式的操作;圖6示出了根據(jù)本發(fā)明某些實施方式的解碼器的示意圖;圖7示出了流程圖,該流程圖針對圖6中所示解碼器示出了本發(fā)明實施方式的操作;圖8a描繪了針對一個實現(xiàn)模式的可用預測方向的示例;圖8b描繪了在塊的最低行與參考行之間的位移為向左一個 像素時,根據(jù)參考像素來預測塊中最低像素行的示例;圖8c描繪了在塊的最低行與參考行之間的位移為向左一個像素時,根據(jù)參考像素來預測塊中另一像素行的示例;圖8d描繪了在塊的最低行與參考行之間的位移為負時,根據(jù)參考像素來預測塊中一個像素行的示例;圖8e描繪了根據(jù)另一實施方式的、根據(jù)來自參考像素的塊來獲取像素的預測值的示例;以及圖9描繪了圖像的比特流示例。
具體實施例方式下文更詳細地描述了用于為視頻編解碼器提供增強的編碼效率和信號保真度的適當設備和可行機制。在此方面,首先參考圖1,其中示出了示例性設備或電子設備50的示意框圖,該設備50可以并入根據(jù)本發(fā)明實施方式的編解碼器。電子設備50可以是例如無線通信系統(tǒng)的移動終端或用戶設備。然而,應當理解,本發(fā)明的實施方式可以在可能需要編碼和解碼、或者編碼,或者解碼視頻圖像的任何電子設備或裝置內實現(xiàn)。設備50可以包括用于容納和保護該設備的外殼30。設備50進一步可以包括液晶顯示器形式的顯示器32。在本發(fā)明的其他實施方式中,顯示器可以是適于顯示圖像或視頻的任何適當顯示技術。設備50可以進一步包括小鍵盤34。在本發(fā)明的其他實施方式中,可以采用任何適當?shù)臄?shù)據(jù)或用戶接口機制。例如,用戶接口可以實現(xiàn)為虛擬鍵盤或數(shù)據(jù)錄入系統(tǒng),以作為觸敏顯示器的部分。該設備可以包括麥克風36或可以是數(shù)字或模擬信號輸入的任何適當音頻輸入。設備50可以進一步包括音頻輸出設備,在本發(fā)明的實施方式中,其可以是下述任何一個耳機38、揚聲器,或模擬音頻或數(shù)字音頻輸出連接。設備50還可以包括電池40 (或者,在本發(fā)明的其他實施方式中,該設備可以由任何適當?shù)囊苿幽芰吭O備供電,諸如太陽能電池、燃料電池或發(fā)條發(fā)電機)。該設備可以進一步包括紅外端口 42,用于支持去往其他設備的短程視線通信。在其他實施方式中,設備50可以進一步包括任何適當?shù)亩坛掏ㄐ欧桨?,諸如,藍牙無線連接或USB/火線有線連接。設備50可以包括控制器56或處理器,以用于控制該設備50??刂破?6可以連接至存儲器58,在本發(fā)明的實施方式中,存儲器58可以存儲圖像和音頻數(shù)據(jù)形式的數(shù)據(jù),和/或還可以存儲用于在控制器56上實現(xiàn)的指令??刂破?6可以進一步連接至編解碼器電路54,其適于實施音頻和/或視頻數(shù)據(jù)的編碼和解碼或者輔助由控制器56實施的編碼和解碼。設備50可以進一步包括讀卡器48和智能卡46,例如WCC和WCC讀卡器,用于提供用戶信息并且適于提供用于對網(wǎng)絡用戶進行認證和授權的認證信息。設備50可以包括無線電接口電路52,其連接至控制器并且適于生成無線通信信號,例如用于與蜂窩通信網(wǎng)絡、無線通信系統(tǒng)或無線局域網(wǎng)進行通信。設備50可以進一步包括天線44,其連接至無線電接口電路52,用于向其他設備傳輸在無線電接口電路52處生成的射頻信號,以及用于從其他設備接收射頻信號。在本發(fā)明的某些實施方式中,設備50包括能夠記錄或檢測各個幀的相機,這些幀繼而被傳遞至編解碼器54或控制器以進行處理。在本發(fā)明的某些實施方式中,該設備可以從另一設備接收視頻圖像數(shù)據(jù)以用于處理,而后傳輸和/或存儲該視頻圖像數(shù)據(jù)。在本發(fā)明的某些實施方式中,設備50可以通過無線或有線連接接收圖像以進行編碼/解碼。針對圖3,示出了本發(fā)明的實施方式可以在其中使用的系統(tǒng)示例。系統(tǒng)10包括可以通過一個或多個網(wǎng)絡進行通信的多個通信設備。系統(tǒng)10可以包括任何有線或無線網(wǎng)絡的組合,這些網(wǎng)絡包括但不限于無線蜂窩電話網(wǎng)絡(諸如,GSM、UMTS、CDMA網(wǎng)絡等)、諸如 由IEEE 802. X標準中的任一標準所定義的無線局域網(wǎng)(WLAN)、藍牙個人局域網(wǎng)、以太網(wǎng)局域網(wǎng)、令牌環(huán)局域網(wǎng)、廣域網(wǎng)和因特網(wǎng)。系統(tǒng)10可以包括適于實現(xiàn)本發(fā)明實施方式的有線和無線通信設備或裝置50。例如,圖3中所示系統(tǒng)示出了移動電話網(wǎng)絡11和因特網(wǎng)28的表征。去往因特網(wǎng)28的連接性可以包括但不限于長距離無線連接、短距離無線連接和各種有線連接,包括但不限于,電話線、線纜線、電力線和類似的通信路徑。系統(tǒng)10中示出的示例性通信設備可以包括但不限于電子設備或裝置50、個人數(shù)字助理(PDA)和移動電話14的組合、PDA 16、集成消息收發(fā)設備(MD) 18、桌面計算機20、筆記本計算機22。設備50可以是固定的,或者在由移動的人員攜帶時是移動的。設備50還可以位于交通模式中,包括但不限于,小汽車、卡車、出租車、公交車、火車、輪船、飛機、自行車、摩托車或任何類似的適當交通模式。某些或其他設備可以通過通往基站24的無線連接25發(fā)送和接收呼叫和消息,并且通過通往基站24的無線連接25與服務提供商進行通信。基站24可以連接至網(wǎng)絡服務器26,該網(wǎng)絡服務器26允許移動電話網(wǎng)絡11和因特網(wǎng)28之間的通信。該系統(tǒng)可以包括附加的通信設備和各種類型的通信設備。通信設備可以使用各種傳輸技術進行通信,包括但不限于,碼分多址(CDMA)、全球移動通信系統(tǒng)(GSM)、通用移動電信系統(tǒng)(UMTS)、時分多址(TDMA)、頻分多址(FDMA)、傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)、短消息傳遞服務(SMS)、多媒體消息傳遞服務(MMS)、電子郵件、即時消息傳遞服務(MS)、藍牙、IEEE 802. 11和任何類似的無線通信技術。在實現(xiàn)本發(fā)明的各種實施方式中所涉及的通信設備可以使用各種介質進行通信,包括但不限于無線電、紅外、激光、線纜連接和任何適當連接。針對圖4a,示出了適于實施本發(fā)明實施方式的視頻編碼器的框圖。此外,針對圖5,詳細示出了該編碼器的操作,該操作具體針對所選表面區(qū)域的插值示意了本發(fā)明的實施方式。圖4a將編碼器示出為包括像素預測器302、預測誤差編碼器303和預測誤差解碼器304。圖4a還將像素預測器302的實施方式示出為包括幀間預測器306、幀內預測器308、模式選擇器310、過濾器316和參考幀存儲器318。模式選擇器310包括塊處理器381和成本估計器382。圖4b還描繪了幀內預測器308的實施方式,其包括多個不同的幀內預測模式模式I、模式2···,模式n,并且還可以包括預測處理器309。模式選擇器310還可以包括量化器384。像素預測器302在幀間預測器306 (其確定圖像和經(jīng)運動補償?shù)膮⒖紟?18之間的差值)和幀內預測器308(其僅基于當前幀或圖片的已處理部分來確定針對圖像塊的預測)二者處接收待編碼的圖像300。幀間預測器和幀內預測器二者的輸出被傳遞至模式選擇器310。幀內預測器308可以具有不止一個幀內預測模式。因此,每個模式可以執(zhí)行幀內預測,并且向模式選擇器310提供預測的信號。模式選擇器310也接收圖像300的拷貝。塊處理器381確定將使用哪個編碼模式來對當前塊進行編碼。如果塊處理器381決定使用幀間預測模式,則其將幀間預測器306的輸出傳遞至模式選擇器310的輸出。如果塊處理器381決定使用幀內預測模式,則其將幀內預測器模式之一的輸出傳遞至模式選擇器310的輸出。根據(jù)某些示例性實施方式,像素預測器302按如下進行操作。幀間預測器306和 幀內預測模式308執(zhí)行對當前塊的預測,以獲取當前塊的預測像素值。幀間預測器306和幀內預測模式308向塊處理器381提供當前塊的預測像素值,以用于針對選擇哪個預測進行分析。除了當前塊的預測值之外,塊處理器381可以在某些實施方式中從幀內預測模式接收方向性幀內預測模式的指示。塊處理器381檢查是選擇幀間預測模式還是選擇幀內預測模式。塊處理器381可以使用諸如等式(I)的成本函數(shù)或某些其他方法來分析哪個編碼方法針對某個或某些標準將提供最有效的結果。所選擇的標準可以包括編碼效率、處理成本和/或某些其他標準。塊處理器381可以檢查針對每個方向性(即,針對每個幀內預測模式和幀間預測模式)的預測,并且針對每個幀內預測模式和幀間預測模式計算成本值,或者塊處理器381可以在選擇預測模式時僅檢查所有可用預測模式的子集。當已經(jīng)針對每個幀內預測模式(或幀內預測模式的選定集合)以及可能針對幀間預測模式計算了成本時,塊處理器381選擇一個幀內預測模式或幀間預測模式以便對當前塊進行編碼。如果選擇了幀內預測模式,則選定的幀內預測模式包括還應當向解碼器指示的方向性指示。方向性幀內預測模式的指示可以包括角度,該角度在豎直預測的情況下,例如指示為當前塊的一行相對于相鄰塊的參考像素行的位移,或者在水平預測的情況下,例如指示為當前塊的一列相對于相鄰塊的參考像素列的位移。在某些實施方式中,在水平和豎直方向中被允許的位移可以取決于待編碼的塊大小。某些示例性范圍是針對水平和豎直預測二者,對于NXN個像素的塊大小而言,為-N到+N個像素。其他示例范圍為-2NX +2N個像素、-3NX+3N個像素、-2NX+4N個像素、-4NX+2N個像素等。角度還可以使用其他方式進行指示,例如,指示為整數(shù)值、浮點數(shù)等。相同的或不同的幀內預測方向可以應用于圖片塊的不同組分(例如,亮度、色度或深度組分),或者用于一個或多個組分的幀內預測方向的指示可以用于限制一個或多個其他組分所允許的幀內預測方向的集合。幀內預測方向可以根據(jù)相鄰宏塊進行預測。此預測可以基于相鄰宏塊的重建值、相鄰宏塊的幀內預測方向或相鄰宏塊的模式來實現(xiàn)。
所允許位移的示例在圖8a中示出,其中方向性是針對當前塊進行分析的。該位移是參考該塊最后一行最后一個像素進行表達的,但是其也可以參考相同塊的另一像素進行表達。從最后一行最后一個像素到相鄰塊不同像素的線示出了在此示例性實施方式中被允許的方向(位移)。相鄰塊的這些像素可以用作用于預測當前塊像素的參考像素。參考像素在圖8a中利用二角形進行指不。在此不例中,塊大小為8X8,以及范圍為從-N到+N,其中該位移可以從-8到+8個像素,其中分辨率為I個像素。在某些其他實施方式中,兩個連續(xù)的、所允許的位移之間的差值可以是一個像素的部分,例如,1/2個像素,其中存在可從中進行選擇的更多方向?,F(xiàn)在,將參考圖8b-圖8c來更詳細地描述幀內預測模式的示例。在圖8b和圖8c的示例中,示出了幀內預測模式,其中位移為水平方向上+1個像素的位移。從圖8b中可見,當前塊的像素可以根據(jù)當前塊上方的像素進行預測。這也可以稱為豎直預測。為了獲取預測的像素值,計算每個像素到參考行和參考列的投影(圖8b)。如果投影落入兩個參考像素之間(如圖8c所示),則預測值例如根據(jù)這兩個參考像素進行線性插值,否則便可以使用對應的參考像素。在圖8b的示例中,當前塊最后一行最后一個像素的預測值是通過使用位于參考行上、相對于待預測像素的下一列中的像素(即,位移為+1)而根據(jù)參考像素行獲取 的。相應地,當前塊最后一行倒數(shù)第二個像素的預測值是通過使用位于參考行上、相對于待預測像素的下一列中的像素而根據(jù)參考像素行獲取的。換言之,參考像素與當前塊的最后一個像素位于相同的列中。針對最后一行上其他像素的預測值可以如圖8b中的箭頭所指示的分別獲取。在預測當前塊其他行的像素值時,使用相同的方向值并且還使用相同的參考行/列。圖Sc示出了當前塊第6行的預測。投影的角度系數(shù)與圖Sb的情況相同。在此示例性情況中,在預測第6行的像素時,待使用的參考值并非正好是參考行的實際參考值,而是可以通過使用兩個相鄰的參考像素來獲取。這可以從圖8c中可見,其中箭頭(方向性矢量或投影)并未經(jīng)由參考行的參考像素貫穿,而是位于兩個相鄰參考像素之間。在示例性實施方式中,參考值是通過對兩個相鄰像素值進行插值而獲取的。該插值可以是線性插值、對數(shù)插值或某些其他插值。例如,當前塊第6行上第一像素的預測值可以通過對第一像素的同一行上的參考像素值與第一像素左側的下一行上的參考像素值進行插值而獲得。第6行上其他像素的預測值可以相應地獲得。在預測當前塊其他行的像素值時,可以使用相同的原理。如果方向性矢量(其也可以稱為投影)未正好指向參考像素值,則對方向性矢量橫貫的像素值進行插值,以獲取像素的預測值。應當注意,此處出現(xiàn)的表達“指向像素”和“橫貫”僅是用于澄清本發(fā)明的示例性表達。在實際實現(xiàn)中,不需要存在指向像素的任何矢量或箭頭,但是塊處理器381可以使用某些計算算法來確定應當使用參考像素值還是利用兩個相鄰像素值的插值來獲取預測值。在某些情況下,用于待預測像素的參考值可能并不在當前塊的上方,而是也可以與當前塊并排。這種情況的示例在圖8d中示出。在此示例中,針對當前塊最后一行上最后一個像素,位移是-3個像素。圖8d揭示了關于當前塊第六行的第一個像素和第二個像素的方向性矢量并未橫貫參考行的兩個參考像素,而是橫貫了參考行最左面像素的左側。因此,在此示例性實施方式中,參考值是從參考列獲取的,即,通過使用與當前塊相鄰(位于左側)的列的像素。如果方向性矢量橫貫穿過參考列的參考像素,則該像素值可以用作預測值。否則,將會使用插值,以使得方向性矢量在其間橫貫的參考列的相鄰參考像素值被插值。根據(jù)以上描述的實施方式,在編碼/解碼過程從圖像的左方向右方以及從上方向下方推進時,當前塊的預測值可以通過使用當前塊上方的行上已解碼的參考像素和/或當前塊左側的列上已解碼的參考像素來獲取。如果編碼/解碼順序與上述不同,則參考像素也可以與上述實施方式不同。在此示例性實施方式中,像素的參考行和列包括已解碼像素,并且位于當前塊(正在處理的塊)的緊挨著的上方和左側,如圖8a所示。然而,參考像素也可以是除這些像素之外的像素。參考像素的值可以在被用作參考之前借助于其他手段進行過濾或處理。在某些實施方式中,可以用信號發(fā)送下列信息參考像素是否被處理,以及如果被處理的話,對這些像素應用的是哪種處理。
在某些實施方式中,至少存在與所允許方向性數(shù)量一樣多的幀內預測模式。因此,可以將每個幀內預測模式設計為僅產(chǎn)生一個幀內預測結果。在該情況下,關于投影以及在預測中使用哪些參考像素的信息可以實現(xiàn)為幀內預測模式中的參數(shù)或其他手段。例如,對于與位移為+1有關的幀內預測模式,可以存在這樣的參數(shù),其指示針對最后一行像素的預測值是根據(jù)當前塊上方位移為+1的像素直接獲取的(例如,通過拷貝),等等。還可以存在預測處理器309,其可以用于針對每個方向性執(zhí)行幀內預測,以及其可以知曉這些參數(shù)。預測的像素值或者由可選的量化器384量化的預測的像素值被提供作為模式選擇器的輸出。模式選擇器的輸出被傳遞至第一求和設備321。第一求和設備可以從圖像300中減去像素預測器302的輸出,以產(chǎn)生將向預測誤差編碼器303輸入的第一預測誤差信號320。像素預測器302進一步從初步重建器339接收圖像塊的預測表征312與預測誤差解碼器304的輸出338的組合。經(jīng)初步重建的圖像314可以被傳遞至幀內預測器308和過濾器316。接收初步表征的過濾器316可以對初步表征進行過濾,以及輸出最終重建的圖像340,該圖像340可以保存在參考幀存儲器318中。參考幀存儲器318可以連接至幀間預測器306,以用作在幀間預測操作中與將來的圖像300進行比對的參考圖像。像素預測器302的操作可以配置用于實施本領域中公知的任何已知像素預測算法。像素預測器302還可以包括過濾器385,用于在將預測的值從像素預測器302輸出之前對該預測的值進行過濾。在某些其他實施方式中,預測值可以通過不是使用相鄰像素而是使用彼此遠離的像素來獲得。這種方式的示例在圖Se中示出。例如,如果待預測像素的投影指向參考像素行的第三參考像素和第四參考像素之間,如圖Se中的箭頭810所示,則預測值可以通過對第二參考像素值和第五參考像素值進行插值而獲得。相反,如果待預測像素的投影指向一個參考像素值,即,并非位于兩個值之間,如圖Se中的箭頭811所示,則預測值可以通過對該一個參考像素右側上的參考像素和左側上的參考像素進行插值而獲得。在箭頭811的示例中,在插值中使用第六和第七參考值。預測誤差編碼器302和預測誤差解碼器304的操作將在下文中做進一步詳細描述。在以下示例中,編碼器利用16X16像素宏塊來生成圖像,這些宏塊將形成整個圖像或圖片。由此,對于下述示例,像素預測器302輸出一系列預測的大小為16X16個像素的宏塊,以及第一求和設備321輸出一系列的16X 16像素殘差數(shù)據(jù)宏塊,其可以代表圖像300中的第一宏塊相對于預測宏塊(像素預測器302的輸出)的差值。應當理解,可以使用其他大小的宏塊。預測誤差編碼器303包括變換塊342和量化器344 。變換塊342將第一預測誤差信號320變換至變換域。該變換例如是DCT變換。量化器344對變換域信號(例如,DCT系數(shù))進行量化,以形成經(jīng)量化的系數(shù)。熵編碼器330接收預測誤差編碼器的輸出,并且可以在該信號上執(zhí)行適當?shù)撵鼐幋a/可變長度編碼,以提供誤差檢測和糾正能力??梢圆捎萌魏芜m當?shù)撵鼐幋a算法。預測誤差解碼器304從預測誤差編碼器303接收輸出,并且執(zhí)行預測誤差編碼器303的相反過程,以產(chǎn)生解碼的預測誤差信號338,該信號338繼而在第二求和設備339處與圖像塊預測表征312組合,以產(chǎn)生初步重建的圖像314。預測誤差解碼器可被視為包括去量化器346,該去量化器346將量化的系數(shù)值(例如,DCT系數(shù))去量化以重建變換信號;以及逆變換塊348,該逆變換塊348對重建的變換信號執(zhí)行逆變換,其中逆變換塊348的輸出包括重建的塊。預測誤差解碼器還可以包括宏塊過濾器(未示出),其可以根據(jù)進一步的已解碼信息和過濾器參數(shù)來對該重建宏塊進行過濾。模式選擇器310的操作和實現(xiàn)進一步針對圖5詳細示出。在基于幀間預測器306的輸出、幀內預測器308的輸出和/或圖像信號300的預測信號的基礎上,塊處理器381確定使用哪個編碼模式來對當前圖像塊進行編碼。此選擇在圖5中描述為塊500。塊處理器381可以針對輸入至模式選擇器310的預測信號來計算失真率成本(RD)值或另一成本值,以及選擇使所確定的成本最小的編碼模式503、504。模式選擇器310提供對當前塊編碼模式的指示(501)。該指示可以被編碼并插入至比特流中,或者與圖像信息一起存儲至存儲器中。在結合了幀內預測模式的情況下,可能需要將所選幀內預測模式的某些指示包括在比特流中。例如,該指示可以包括關于幀內預測模式的方向性的信息。在某些示例性實施方式中,關于方向性的信息可以被指示為位移值。在某些實施方式中,位移值指示使用哪個參考值來獲取當前塊最后一行最后一個像素的預測值。在某些其他實施方式中,方向性的角度系數(shù)包括在比特流中。在又一些實施方式中,所允許的方向性值(幀內預測模式)被編制索引,并且所選幀內預測模式的索引包括在比特流中。指示也可以不這樣包括在比特流中,而是可以例如通過熵編碼進行編碼。預測方向也可以以預測式方式進行熵編碼,該預測式方式將圖像塊的鄰區(qū)中使用的預測方向、之前預測方向的統(tǒng)計或其他變量納入考慮。如果選擇了幀內預測模式,則利用幀內預測方法對塊進行預測(503)。相反地,如果選擇了幀間預測模式,則利用幀間預測方法對塊進行預測(504)。圖4b更詳細描述了編碼器示例性實施方式的幀內預測器308。幀內預測器308可以在預測處理器309中實現(xiàn)或者實現(xiàn)為另一電路。預測處理器309可以是單獨的處理器,或者其可以是與塊處理器310相同的處理器。幀內預測器308包括像素選擇器,用于選擇待預測的像素。還可以存在方向性定義器401,其確定將用于預測所選像素的值的預測模式的方向性。方向性定義器401可以從參數(shù)存儲器404接收某些參數(shù)。當已經(jīng)確定了方向性時,投影定義器402定義所選像素向參考像素集合的投影。投影定義器402也可以從參數(shù)存儲器404接收某些參數(shù)。幀內預測器308可以進一步包括預測定義器403,其使用來自投影定義器和參考像素集合的信息來確定針對所選像素的預測值。幀內預測器308可以重復上述部分或所有步驟,以定義用于塊的所有像素的預測值。在某些實施方式中,不需要針對一個塊的每個像素確定方向性,而是針對一個塊的每個像素使用相同的方向性。在示例性實施方式中,如圖9中所描繪的,圖像的比特流包括圖像起始的指示910、每個圖像塊的圖像信息920和圖像結束的指示930。每個圖像塊的圖像信息920可以包括預測模式的指示922、方向性的指示923和塊的像素值的指示924,在已經(jīng)針對圖像塊使用了幀內預測或幀間預測時,該塊的像素值的指示924實際上可以包括殘差信號的系數(shù)。顯然,比特流還可以包括其他信息。此外,這僅是比特流的簡化圖像,在實際實現(xiàn)中,t匕特流的內容可以不同于圖9中描繪的內容。 該比特流可以進一步由熵編碼器330進行編碼。盡管已經(jīng)在上文針對為16X16個像素的宏塊大小描述了實施方式,應當理解,描述的方法和設備可以被配置用于處理不同像素大小的宏塊。在下文中,解碼器600的示例性實施方式的操作針對圖6進行更詳細描述。為了完整性,在下文描述了適當?shù)慕獯a器。在解碼器側,執(zhí)行類似的操作以重建圖像塊。圖6示出了適于采用本發(fā)明實施方式的視頻解碼器的框圖。該解碼器示出了熵解碼器600,其對接收的信號執(zhí)行熵解碼。熵解碼器由此執(zhí)行上述編碼器的熵編碼器330的逆操作。熵解碼器600向預測誤差解碼器602和像素預測器604輸出熵解碼的結果。像素預測器604接收熵解碼器600的輸出。像素預測器604內的預測器選擇器614確定將執(zhí)行幀內預測、幀間預測還是插值操作。預測器選擇器可以進一步向第一組合器613輸出圖像塊的預測表征616。圖像塊的預測表征616結合重建的預測誤差信號612 —起使用,以生成初步重建的圖像618。初步重建的圖像618可以在預測器614中使用,或者可以被傳遞至過濾器620。過濾器620應用過濾,其輸出最終重建信號622。最終重建的信號622可以存儲在參考幀存儲器624中,參考幀存儲器624進一步連接至預測器614以進行預測操作。在幀內預測的情況下,像素預測器640還可以接收關于方向性的指示,其中像素預測器604可以選擇對應的幀內預測模式以用于解碼。預測誤差解碼器602接收熵解碼器600的輸出。預測誤差解碼器602的去量化器692可以對熵解碼器600的輸出進行去量化,以及逆變換塊693可以對去量化器692輸出的去量化信號輸出執(zhí)行逆變換操作。熵解碼器600的輸出還可以指示未應用預測誤差信號,以及在此情況下,預測誤差解碼器產(chǎn)生全O輸出信號。在利用本發(fā)明示例性實施方式的情況下便是這樣。然而,本發(fā)明的某些其他實施方式應用預測誤差解碼器單元,以對非O預測誤差信號進行解碼。解碼器選擇16X 16像素殘差宏塊以進行重建。對待重建的16X 16像素殘差宏塊的選擇在步驟700中示出。
解碼器接收關于在當前塊已被編碼時使用的編碼模式的信息。該指示被解碼,并且在需要的時候,該指示被提供至預測選擇器614的重建處理器691。重建處理器691檢查該指示(圖7中的塊701),以及在該指示指示該塊已使用幀內預測進行編碼時選擇幀內預測模式中的一個(塊703),以及如果該指示指示該塊已使用幀間預測模式編碼,則選擇幀間預測模式(塊704)。在當前塊已使用幀內預測進行編碼時,解碼器還可以接收關于當前塊的方向性的信息。在此上下文中,僅更詳細地描述幀內預測模式中解碼器的操作。在幀內預測模式中,重建處理器691對關于方向性的信息進行解碼(塊705)。在某些實施方式中,方向性指示足以確定可以如何獲取針對待解碼塊的預測值,以及在幀內預測中使用哪些參考像素。重建處理器691還確定編碼器已在幀內預測中使用了哪些參考點(塊706),以及提供當前塊的預測值(塊707)。在幀內預測模式中,重建處理器691可以向預測器塊695提供初步重建的圖像618,以便重建當前塊的像素值。
上文描述的本發(fā)明實施方式針對單獨的編碼器和解碼器設備描述了編解碼器,以便輔助理解所涉及的過程。然而,應當理解,設備、結構和操作可以實現(xiàn)為單個編碼器-解碼器設備/結構/操作。此外,在本發(fā)明的某些實施方式中,編碼器和解碼器可以共享某些或所有公共元素。盡管上述示例描述了在電子設備內的編解碼器中操作的本發(fā)明實施方式,但是應當理解,下文描述的本發(fā)明可以實現(xiàn)為任何視頻編解碼器的部分。由此,例如,本發(fā)明的實施方式可以實現(xiàn)在視頻編解碼器中,該視頻編解碼器可以通過固定或有線通信路徑來實現(xiàn)視頻編碼。由此,用戶設備可以包括諸如在上文的本發(fā)明實施方式中描述的視頻編解碼器。應當理解,術語“用戶設備”意在覆蓋任何適當類型的無線用戶設備,諸如,移動電話、便攜式數(shù)據(jù)處理設備或便攜式web瀏覽器。此外,公共陸地移動(PLMN)的元件也可以包括上文所述的視頻編解碼器。通常,本發(fā)明的各種實施方式可以以硬件或專用電路、軟件、邏輯或其任何組合來實現(xiàn)。例如,某些方面可以以硬件實現(xiàn),而其他方面可以以固件或可由控制器、微處理器或其他計算設備執(zhí)行的軟件來實現(xiàn),但本發(fā)明不限于此。雖然本發(fā)明的各種方面可以示出和描述為框圖、流程圖或通過使用一些其他圖示表示,但是應該理解,此處描述的這些框、設備、系統(tǒng)、技術或方法可以通過作為非限制性示例的硬件、軟件、固件、專用電路或邏輯、通用硬件或控制器或其他計算設備或其某些組合來實現(xiàn)。本發(fā)明的實施方式可以由計算機軟件實現(xiàn),這些計算機軟件可以由移動設備的數(shù)據(jù)處理器(諸如,在處理器實體中)實現(xiàn);或者由硬件實現(xiàn);或者由軟件和硬件的組合實現(xiàn)。此外,在此方面中,應當注意,附圖中邏輯流的任何塊可以代表程序步驟,或互聯(lián)的邏輯電路、塊和功能,或者程序步驟和邏輯電路、塊和功能的組合。軟件可以存儲在這種物理介質上,諸如存儲器芯片、處理器內實現(xiàn)的存儲器塊、諸如硬盤或軟盤的磁介質,和諸如例如DVD和其數(shù)據(jù)變體(CD)的光學介質。存儲器可以是適合本地技術環(huán)境的任何類型,并且可以使用任何合適的數(shù)據(jù)存儲技術來實現(xiàn),諸如基于半導體的存儲器設備、磁性存儲器設備和系統(tǒng)、光學存儲器設備和系統(tǒng)、固定存儲器和可移動存儲器。數(shù)據(jù)處理器可以是適合本地技術環(huán)境的任何類型,并且作為非限制性示例可以包括通用計算機、專用計算機、微處理器、數(shù)字信號處理器(DSP)和基于多核處理器架構的處理器中的一個或多個??梢砸灾T如集成電路模塊之類的各種組件實現(xiàn)本發(fā)明的實施方式。集成電路的設計總體上來說是高度自動化的過程。復雜和強有力的軟件工具可用于將邏輯級設計轉換為將被蝕刻以及形成在半導體襯底上的半導體電路設計。例如加利福尼亞州芒廷維尤市Synopsys公司和加利福尼亞州舊金山市CadenceDesign公司所提供的程序之類的程序使用建立好的設計規(guī)則以及預存設計模塊庫在半導體芯片上自動地對導體進行布線和對部件進行定位。一旦已經(jīng)完成用于半導體電路的設計,可以將標準化電子格式(例如Opus、GDSII等)的所得設計發(fā)送到半導體工廠或者“加工廠”進行制造。借助于示例性而非限制性示例提供了本發(fā)明示例性實施方式的完整且信息性描述。然而,在結合附圖和所附權利要求閱讀時,對于參考前文描述的相關領域技術人員而 言,多種修改和改變將變得易見。然而,本發(fā)明教導的所有這種和類似修改仍落入本發(fā)明的范圍內。
權利要求
1.一種根據(jù)第一實施方式的設備,包括 選擇器,配置用于選擇用于預測的像素; 投影定義器,配置用于確定所述像素向參考像素集合的投影;以及 預測定義器,配置用于基于所述投影,從所述參考像素集合中選擇一個或多個參考像素,以及使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。
2.如權利要求I的設備,進一步包括 成本評估器,用于評估第一投影和用于第二投影的第二成本值,其中所述選擇器進一步配置用于基于所述第一成本值和所述第二成本值,選擇用于編碼的所述投影。
3.如權利要求I的設備,其中所述投影定義器進一步配置用于確定針對像素的當前塊的方向性值。
4.如權利要求I的設備,其中所述投影定義器進一步配置用于檢查所述投影是否指向所述像素集合的一個像素,以及如果是,則所述預測定義器進一步配置用于將所述參考像素的值用作所述選擇的像素的預測值。
5.如權利要求I的設備,其中所述預測定義器配置用于使用至少兩個參考像素來獲取所述選擇的像素的預測值,其中所述預測值是通過對所述至少兩個參考像素的值進行插值而確定的。
6.如權利要求I的設備,進一步配置用于將指示所述投影和所述選擇的編碼方法的信息編碼到比特流中。
7.如權利要求I的設備,其中所述投影可以指示為基于一個參考點和所述當前塊的一個像素而確定的位移值。
8.如權利要求I的設備,其中所述圖像包括位于兩個或更多行以及兩個或更多列中的至少四個像素塊,每個像素塊包括至少兩行像素以及至少兩列像素,所述設備進一步配置用于從左向右以及從上向下逐塊對所述圖像進行編碼,其中所述投影定義器配置用于基于作為控制點的、所述塊的右下角處像素來確定所述投影。
9.一種方法,包括 選擇用于預測的像素; 確定所述像素向參考像素集合的投影;以及 基于所述投影,從所述參考像素集合中選擇一個或多個參考像素;以及 通過使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。
10.如權利要求9的方法,進一步包括 確定針對像素的當前塊的方向性值。
11.如權利要求9的方法,進一步包括 檢查所述投影是否指向所述像素集合的一個像素,以及如果是,則將所述參考像素的值用作所述選擇的像素的預測值。
12.如權利要求9的方法,進一步包括 使用至少兩個參考像素來獲取所述選擇的像素的預測值,以及通過對所述至少兩個參考像素的值進行插值來確定所述預測值。
13.如權利要求9的方法,進一步包括 將指示所述投影和所述選擇的編碼方法的信息編碼到比特流中。
14.如權利要求9的方法,進一步包括 將所述投影指示為基于一個參考點和所述當前塊的一個像素而確定的位移值。
15.如權利要求9的方法,其中所述圖像包括位于兩個或更多行以及兩個或更多列中的至少四個像素塊,每個像素塊包括至少兩行像素以及至少兩列像素,所述方法進一步包括 基于作為控制點的、所述塊的右下角處的像素來確定所述投影。
16.一種計算機可讀存儲介質,其上存儲有供設備使用的代碼,在由處理器執(zhí)行時,所述代碼引起所述設備 選擇用于預測的像素; 確定所述像素向參考像素集合的投影; 基于所述投影,從所述參考像素集合中選擇一個或多個參考像素;以及 通過使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。
17.—種設備,包括 分析器,配置用于檢查關于待解碼的圖像的像素塊的方向性的指示;以及 重建器,配置用于 確定待解碼的所述像素塊的像素在參考像素集合上的投影; 基于所述投影,從所述參考像素集合中選擇一個或多個參考像素;以及 使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。
18.如權利要求17的設備,進一步配置用于接收對所述投影的指示。
19.如權利要求17的設備,其中所述重建器進一步配置用于 使用至少兩個參考像素來獲取所述選擇的像素的預測值,其中所述預測值是通過對所述至少兩個參考像素的值進行插值而確定的。
20.—種方法,包括 檢查關于待解碼的圖像的像素塊的方向性的指示; 確定待解碼的所述像素塊的像素在參考像素集合上的投影; 基于所述投影,從所述參考像素集合中選擇一個或多個參考像素;以及 使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。
21.如權利要求20的方法,進一步包括 接收對所述投影的指示。
22.如權利要求20的方法,進一步包括 檢查所述投影是否指向所述像素集合的一個像素,以及如果是,則將所述參考像素的值用作所述選擇的像素的預測值。
23.如權利要求20的方法,進一步包括 使用至少兩個參考像素來獲取所述選擇的像素的預測值,以及通過對所述至少兩個參考像素的值進行插值來確定所述預測值。
24.一種計算機可讀存儲介質,其上存儲有供設備使用的代碼,在由處理器執(zhí)行時,所述代碼引起所述設備 檢查關于待解碼的圖像的像素塊的方向性的指示; 確定待解碼的所述像素塊的像素在參考像素集合上的投影;基于所述投影,從所述參考像素集合中選擇一個或多個參考像素;以及使用所述選擇的一個或多個參考像素來獲取 用于待預測的所述像素的預測值。
全文摘要
公開了用于視頻編碼的設備、方法和計算機程序。該設備包括選擇器,配置用于選擇用于預測的像素;投影定義器,配置用于確定所述像素向參考像素集合的投影;以及預測定義器,配置用于基于所述投影,從所述參考像素集合中選擇一個或多個參考像素,以及使用所述選擇的一個或多個參考像素來獲取用于待預測的所述像素的預測值。
文檔編號H04N7/34GK102845063SQ201180017741
公開日2012年12月26日 申請日期2011年2月8日 優(yōu)先權日2010年2月8日
發(fā)明者J·萊納瑪, K·昂格爾 申請人:諾基亞公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1