色彩空間、色彩采樣率和/或比特深度的自適應(yīng)切換的制作方法
【專利說明】色彩空間、色彩采樣率和/或比特深度的自適應(yīng)切換
[0001]背景
[0002]工程師使用壓縮(也叫做源編碼(source coding或source encoding))來降低數(shù)字視頻的比特率。壓縮通過將視頻信息轉(zhuǎn)換成較低比特率的形式來降低存儲和傳送該信息的成本。
[0003]解壓(也被稱為解碼)從壓縮的形式中重構(gòu)一種版本的原始信息?!熬幗獯a器”是編碼器/解碼器系統(tǒng)。
[0004]在過去的二十年中,已采用了各種視頻編解碼器標(biāo)準(zhǔn),包括ITU-T H.261、H.262(MPEG-2 或 IS0/IEC 13818-2)、H.263 和 H.264(MPEG-4AVC 或 IS0/IEC 14496-10)標(biāo)準(zhǔn)、MPEG-1 (IS0/IEC 11172-2)和 MPEG-4 可視(IS0/IEC 14496-2)標(biāo)準(zhǔn)以及 SMPTE42IM (VC-1)標(biāo)準(zhǔn)。
[0005]最近,H.265/HEVC 標(biāo)準(zhǔn)(ITU-T H.265 或 IS0/IEC 23008-2)已被批準(zhǔn)。目前,(例如,用于可縮放視頻編碼/解碼、用于在樣本比特深度或色度采樣率方面具有較高保真度的視頻的編碼/解碼、用于屏幕捕捉內(nèi)容、或用于多視圖編碼/解碼的)H.265/HEVC標(biāo)準(zhǔn)的擴展處于開發(fā)中。視頻編解碼器標(biāo)準(zhǔn)通常定義針對經(jīng)編碼的視頻比特流的句法的選項,從而詳述當(dāng)在編碼和解碼時使用特定特征時該比特流中的參數(shù)。在許多情況下,視頻編解碼器標(biāo)準(zhǔn)還提供關(guān)于解碼器應(yīng)當(dāng)執(zhí)行以在解碼時取得一致的結(jié)果的解碼操作的細(xì)節(jié)。除了編解碼器標(biāo)準(zhǔn)外,各種專用編解碼器格式定義針對經(jīng)編碼的視頻比特流的句法的其他選項以及相應(yīng)的解碼操作。
[0006]視頻源(諸如相機、動畫輸出、屏幕捕捉模塊等)通常在特定色彩空間中提供視頻,其中該視頻的色彩分量是根據(jù)特定色彩采樣率來子采樣的,并且樣本值具有特定比特深度。一般來說,色彩空間(有時被稱為色彩模型)是用于將各色彩表示為每物理位置η個值的模型,η> I,其中這η個值中的每一個提供針對那個位置的色彩分量值。例如,在YUV色彩空間中,亮度(或Y)分量值表示某位置處的近似亮度,且多個色度(或U和V)分量值表示該位置處的色差?;蛘撸赗GB色彩空間中,紅色(R)分量值表示某位置處的紅色強度,綠色(G)分量值表示該位置處的綠色強度,且藍(lán)色(B)分量值表示該位置處的藍(lán)色強度。在歷史上,不同的色彩空間具有針對不同應(yīng)用(諸如,顯示、打印、廣播和編碼/解碼)的優(yōu)點。各樣本值可使用色彩空間變換操作在各色彩空間之間轉(zhuǎn)換。
[0007]色彩采樣率(有時被稱為色度采樣率)指代各色彩分量之間的相對空間分辨率。例如,對于為4:4:4的色彩采樣率,針對次要分量(例如,YUV的U和V分量)的信息具有與針對主要分量(例如,YUV的Y分量)的信息相同的空間分辨率。對于為4:2:2或4:2:0的色彩采樣率,針對次要分量的信息相對于針對主要分量的信息被下采樣。YUV 4:2:0格式通常用于編碼/解碼。作為設(shè)計原理,將YUV 4:2:0格式用于編碼/解碼的判定以下面的理解為前提:即對于大多數(shù)使用情況,查看者不會注意到用YUV 4:2:0格式編碼/解碼的視頻和用YUV 4:4:4格式編碼/解碼的視頻之間的許多視覺差異。因此,YUV 4:2:0格式(其每幀具有更少的樣本)的壓縮優(yōu)點是引人注意的。
[0008]比特深度指代每樣本值比特數(shù)。常見的比特深度為每樣本8比特、每樣本10比特和每樣本12比特。一般來說,每樣本具有更多的比特允許視頻的更精確的色彩粒度,但將更多的存儲用于該視頻。每樣本具有更少的比特通常以降低的質(zhì)量為代價降低比特率。
[0009]許多商業(yè)上可用的視頻編碼器和解碼器僅支持YUV 4:2:0格式。其他商業(yè)上可用的編碼器和解碼器(例如,針對H.264/AVC標(biāo)準(zhǔn)或H.265/HEVC標(biāo)準(zhǔn)的編碼器和解碼器)允許編碼器為給定序列指定色彩空間、色彩采樣率和比特深度。指定的色彩空間、色彩采樣率和比特深度被用于整個視頻序列。這些方法并沒有為可能在單個視頻序列內(nèi)處理非常不同種類的視頻內(nèi)容的通用編解碼器系統(tǒng)提供足夠的靈活性。
[0010]概述
[0011]概要來說,該詳細(xì)描述呈現(xiàn)了在自適應(yīng)編碼和解碼的領(lǐng)域中的創(chuàng)新。例如,這些創(chuàng)新中的一些涉及在編碼期間在視頻序列內(nèi)的各單元之間切換色彩空間的編碼器以及相應(yīng)的解碼器。其他創(chuàng)新涉及在編碼期間在視頻序列內(nèi)的各單元之間切換色彩采樣率的編碼器以及相應(yīng)的解碼器。又一些創(chuàng)新涉及在編碼期間在視頻序列內(nèi)的各單元之間切換比特深度的編碼器以及相應(yīng)的解碼器。這些創(chuàng)新在許多場景下都可改善編碼效率。
[0012]根據(jù)本文中描述的創(chuàng)新的第一方面,圖像或視頻編碼器編碼序列中的視頻。作為該編碼的一部分,編碼器在該序列內(nèi)的視頻的至少一些單元(例如,該序列的圖片、該序列的給定圖片的片、該序列的給定圖片的塊)之間空間地和/或時間地切換色彩空間、色彩采樣率和/或比特深度。編碼器在比特流中輸出經(jīng)編碼的數(shù)據(jù)。經(jīng)編碼的數(shù)據(jù)包括指示色彩空間、色彩采樣率和/或比特深度如何在序列內(nèi)的視頻的至少一些單元之間切換的一個或多個信號。
[0013]相應(yīng)的解碼器接收比特流中經(jīng)編碼的數(shù)據(jù)。經(jīng)編碼的數(shù)據(jù)包括指示色彩空間、色彩采樣率和/或比特深度如何在序列內(nèi)的視頻的至少一些單元(例如,該序列的圖片、該序列的給定圖片的片、該序列的給定圖片的塊)之間切換的一個或多個信號。解碼器解碼經(jīng)編碼的數(shù)據(jù)。作為解碼的一部分,解碼器在序列內(nèi)的視頻的至少一些單元之間空間地和/或時間地切換色彩空間、色彩采樣率和/或比特深度。
[0014]例如,在編碼或解碼期間,該切換包括使用色彩空間變換操作在兩個色彩空間之間進(jìn)行改變。對于色彩空間變換操作,色彩空間可包括至少一個YUV型色彩空間和至少一個RGB型色彩空間。
[0015]或者,作為另一示例,在編碼或解碼期間,該切換包括使用色彩空間重排序操作在兩個色彩空間之間進(jìn)行改變。對于色彩空間重排序操作,色彩空間可包括多個RGB型色彩空間。
[0016]或者,作為另一示例,在編碼或解碼期間,該切換包括在兩個色彩采樣率之間進(jìn)行改變。色彩采樣率可包括4:4:4、4:2:2、4:2:0和4:0:0中的兩個或更多個。
[0017]或者,作為另一示例,在編碼或解碼期間,該切換包括在兩個比特深度之間進(jìn)行改變。比特深度可包括每樣本12比特、每樣本10比特和每樣本8比特中的兩個或更多個。同樣,視頻的給定單元的不同色彩分量可具有不同的比特深度。
[0018](諸)信號的指示色彩空間、色彩采樣率和/或比特深度如何切換的句法和語義取決于實現(xiàn)。例如,(諸)信號包括視頻的給定單元的標(biāo)志值。該標(biāo)志值指示在針對色彩空間、色彩采樣率或比特深度的兩個選項之間的選擇。或者,(諸)信號包括針對視頻的給定單元的句法元素。該句法元素指示在針對色彩空間、色彩采樣率或比特深度的三個或更多個選項之間的選擇。信號可被預(yù)測地編碼,在該情況下,某參數(shù)針對視頻的給定單元的增量值表示該參數(shù)的實際值和其預(yù)測值之間的差。預(yù)測值可以是序列層參數(shù)。或者,預(yù)測值可基于該參數(shù)針對該視頻的一個或多個先前單元的一個或多個實際值。
[0019]除了(諸)信號外,經(jīng)編碼的數(shù)據(jù)還可包括標(biāo)識或定義色彩空間、色彩采樣率和/或比特深度的信息。例如,該信息可包括對兩個色彩空間之間的色彩空間變換操作有用的值的矩陣。
[0020]編碼或解碼可包括至少部分地基于先前重構(gòu)的內(nèi)容的樣本值集合來預(yù)測當(dāng)前圖片中的當(dāng)前塊的樣本值。對于圖片內(nèi)預(yù)測,先前重構(gòu)的內(nèi)容的樣本值集合是當(dāng)前圖片的一部分。對于圖片間預(yù)測,先前重構(gòu)的內(nèi)容的樣本值集合是參考圖片的一部分。作為該預(yù)測的一部分,編碼器或解碼器可評估先前重構(gòu)的內(nèi)容的樣本值集合和當(dāng)前塊的樣本值是否處于不同的格式。
[0021]在一些情況下,先前重構(gòu)的內(nèi)容的樣本值集合是用第一格式存儲的,并且當(dāng)前塊的樣本值是用不同于第一格式的第二格式來編碼的。在這種情況下,作為預(yù)測的一部分,編碼器或解碼器可(a)將先前重構(gòu)的內(nèi)容的樣本值集合從第一格式轉(zhuǎn)換到第二格式(例如在兩個色彩空間之間轉(zhuǎn)換、在兩個色彩采樣率之間轉(zhuǎn)換和/或在兩個比特深度之間轉(zhuǎn)換),(b)使用先前重構(gòu)的內(nèi)容的經(jīng)轉(zhuǎn)換的樣本值集合來預(yù)測當(dāng)前塊的樣本值,以及(C)至少部分地基于當(dāng)前塊的預(yù)測的樣本值來重構(gòu)當(dāng)前塊的樣本值?;蛘撸鳛轭A(yù)測的一部分,編碼器或解碼器可(a)使用先前重構(gòu)的內(nèi)容的樣本值集合來預(yù)測當(dāng)前塊的樣本值,(b)將當(dāng)前塊的預(yù)測的樣本值從第一格式轉(zhuǎn)換成第二格式,以及(C)至少部分地基于當(dāng)前塊的經(jīng)轉(zhuǎn)換的預(yù)測的樣本值來重構(gòu)當(dāng)前塊的樣本值。在預(yù)測后,編碼器或解碼器可(d)將當(dāng)前塊的經(jīng)重構(gòu)的樣本值從第二格式轉(zhuǎn)換成第一格式,以及(e)存儲當(dāng)前塊的經(jīng)轉(zhuǎn)換的重構(gòu)的樣本值(處于第一格式)作為先前重構(gòu)的內(nèi)容的一部分。
[0022]編碼或解碼還可包括根據(jù)一個或多個規(guī)則來對先前重構(gòu)的內(nèi)容進(jìn)行去塊。例如,作為去塊的一部分,編碼器或解碼器取決于兩個毗鄰塊的主要分量是否具有非零殘留值來調(diào)整去塊過濾器的強度?;蛘撸鳛槿K的一部分,編碼器或解碼器取決于兩個毗鄰塊的相應(yīng)分量是否具有非零殘留值來調(diào)整去塊過濾器的強度。
[0023]由此,(諸)規(guī)則可考慮兩個毗鄰塊的不同色彩空間。
[0024]對色彩空間、色彩采樣率和/或比特深度進(jìn)行自適應(yīng)切換的創(chuàng)新可被實現(xiàn)為方法的一部分、適于執(zhí)行該方法的計算設(shè)備的一部分、或存儲使得計算設(shè)備執(zhí)行該方法的計算機可執(zhí)行指令的有形計算機可讀介質(zhì)的一部分。
[0025]各創(chuàng)新可以結(jié)合地或分開地使用。具體地,視頻編碼器和解碼器可(以固定的色彩采樣率和固定的比特深度)僅自適應(yīng)地切換視頻序列內(nèi)的色彩空間。或者,視頻編碼器和解碼器可(以固定的色彩空間和固定的比特深度)僅自適應(yīng)地切換視頻序列內(nèi)的色彩采樣率?;蛘?,視頻編碼器和解碼器可(以固定的色彩空間和固定的色彩采樣率)僅自適應(yīng)地切換視頻序列內(nèi)的比特深度?;蛘?,視頻編碼器和解碼器可自適應(yīng)地(I)切換視頻序列內(nèi)的色彩空間和色彩采樣率,但不切換比特深度,(2)切換視頻序列內(nèi)的色彩空間和比特深度,但不切換色彩采樣率,或(2)切換視頻序列內(nèi)的色彩采樣率和比特深度,但不切換色彩空間?;蛘?,視頻編碼器和解碼器可自適應(yīng)地切換視頻序列內(nèi)的色彩空間、色彩采樣率和比特深度。
[0026]參考附圖閱讀以下詳細(xì)描述,將更清楚本發(fā)明的前述和其他目標(biāo)、特征和優(yōu)點。
[0027]附圖簡述
[0028]圖1是其中可實現(xiàn)所描述的一些實施例的示例計算系統(tǒng)的示圖。
[0029]圖2a和2b是其中可實現(xiàn)所描述的一些實施例的示例網(wǎng)絡(luò)環(huán)境的示圖。
[0030]圖3是結(jié)合其可實現(xiàn)所描述的一些實施例的示例編碼器系統(tǒng)的示圖。
[0031]圖4是結(jié)合其可實現(xiàn)所描述的一些實施例的示例解碼器系統(tǒng)的示圖。
[0032]圖5a和5b是示出結(jié)合其可實現(xiàn)所描述的一些實施例的示例視頻編碼器的示圖。
[0033]圖6是示出結(jié)合其可實現(xiàn)所描述的一些實施例的示例視頻解碼器的示圖。
[0034]圖7是示出具有可為屏幕捕捉提供輸入的內(nèi)容的計算機桌面環(huán)境的示圖。
[0035]圖8是示出具有自然視頻內(nèi)容和人工視頻內(nèi)容的復(fù)合視頻的示圖。
[0036]圖9是示出針對序列中的圖片的圖片自適應(yīng)色彩空間、色彩采樣率和/或比特深度的示圖。
[0037]圖10是示出針對序列中的圖片的片的片自適應(yīng)色彩空間、色彩采樣率和/或比特深度的示圖。
[0038]圖11是示出針對序列中的圖片的片的塊的塊自適應(yīng)色彩空間、色彩采樣率和/或比特深度的示圖。
[0039]圖12是示出用于在編碼期間自適應(yīng)地切換色彩空間、色彩采樣率和/或比特深度的通用技術(shù)的流程圖,且圖13是示出用于在編碼期間在逐單元的基礎(chǔ)上進(jìn)行自適應(yīng)切換的更詳細(xì)的示例技術(shù)的流程圖。
[0040]圖14是示出用于在解碼期間自適應(yīng)地切換色彩空間、色彩采樣率和/或比特深度的通用技術(shù)的流程圖,且圖15是示出用于在解碼期間在逐單元的基礎(chǔ)上進(jìn)行自適應(yīng)切換的更詳細(xì)的示例技術(shù)的流程圖。
[0041]圖16是用于從處于一種格式的先前重構(gòu)的內(nèi)容的樣本值集合中預(yù)測用不同格式編碼的塊的樣本值的技術(shù)的流程圖。
[0042]詳細(xì)描述
[0043]該詳細(xì)描述呈現(xiàn)了在自適應(yīng)編碼和解碼的領(lǐng)域中的創(chuàng)新。例如,這些創(chuàng)新中的一些涉及在編碼期間在視頻序列內(nèi)的各單元之間切換色彩空間的編碼器以及相應(yīng)的解碼器。其他創(chuàng)新涉及在編碼期間在視頻序列內(nèi)的各單元之間切換色彩采樣率的編碼器以及相應(yīng)的解碼器。又一些創(chuàng)新涉及在編碼期間在視頻序列內(nèi)的各單元之間切換比特深度的編碼器以及相應(yīng)的解碼器。這些創(chuàng)新在許多場景下都可改善編碼效率。
[0044]—般來說,色彩空間(有時被稱為色彩模型)是用于將各色彩表示為每物理位置η個值的模型,η>1,其中這η個值中的每一個提供針對那個位置的色彩分量值。
[0045]例如,在YUV色彩空間中,亮度(或Y)分量值表示某位置處的近似亮度,且多個色度(或U和V)分量值表示該位置處的色差。色差值(以及從YUV色彩空間到諸如RGB的另一色彩空間和/或從該另一色彩空間到Y(jié)UV色彩空間的轉(zhuǎn)換操作)的精確定義取決于實現(xiàn)。通常,出于編碼和解碼的目的,Y分量是主要分量,且U和V分量是次要分量。一般來說,如本文中所使用的,術(shù)語YUV型色彩空間指示具有亮度(或輝度)分量和一個或多個色度(或色差)分量的任意色彩空間,包括Y’ UV、YIQ、Y’ IQ和YDbDr以及諸如YCbCr和YCoCg之類的變型。
[0046]所使用的分量信號測量可通過應(yīng)用非線性傳遞特征函數(shù)(一般被稱為“伽瑪預(yù)補償”來調(diào)整,并通常通過使用基本象征符來表示,但是為了便于印刷通常會省略該基本象征符)?;蛘?,這些分量信號測量可在與光振幅具有線性關(guān)系的域中。亮度和色度分量信號可與人類視覺系統(tǒng)對明亮度和色彩的感知對準(zhǔn),或者亮度和色度分量信號可在某種程度上偏離這樣的測量(例如,如在YCoCg變型中,其中應(yīng)用了簡化對色彩分量值的計算的公式)。
[0047]作為另一示例,在RGB色彩空間中,紅色(R)分量值表示某位置處的紅色強度,綠色(G)分量值表示該位置處的綠色強度,并且藍(lán)色(B)分量值表示該位置處的藍(lán)色強度。如本文中所使用的,術(shù)語RGB型色彩空間指示具有處于任何次序的R、G和B色彩分量的色彩空間。示例包括RGB、BGR和GBR色彩空間,出于編碼和解碼的目的其在主要分量方面不同。主要分量是用色彩空間的首字母來指示的(例如,RGB的R)。
[0048]色彩米樣率(有時被稱為色度米樣率)指代各色彩分量之間的相對空間分辨率。例如,對于為4:4:4的色彩采樣率,針對次要分量(例如,YUV的U和V分量)的信息與針對主要分量(例如,YUV的Y分量)的信息具有相同的空間分辨率。對于為4:2:2或4:2:0的色彩采樣率,針對次要分量的信息相對于針對主要分量的信息被下采樣。與YUV 4:4:4格式相比,YUV 4:2:0格式是對色度信息進(jìn)行子采樣的格式,使得色度分辨率在水平和垂直兩者上都是亮度分辨率的一半。與YUV4:4:4格式相比,YUV 4:2:2格式是水平地對色度信息進(jìn)行子采樣的格式,使得色度分辨率在水平上是亮度分辨率的一半。色彩采樣率的其他示例為4:1:1 (次要分量在水平上具有四分之一的分辨率)和4:0:0 (次要分量被丟棄)。色彩子采樣通常被應(yīng)用于YUV型色彩空間。RGB型色彩空間通常具有為4:4:4的色彩采樣率,但可根據(jù)哪些次要色彩分量被子采樣而具有不同的色彩采樣率。
[0049]雖然YUV 4:2:0格式被方便地用于進(jìn)行視頻編碼和解碼,但存在視頻具有更豐富的色彩信息并且更高的色彩保真度可被調(diào)整的一些使用情況。在這樣的使用情況下,YUV4:4:4和YUV 4:2:0色度采樣格式之間的差異被查看者更容易地感知到。例如,為了對計算機屏幕文本內(nèi)容、具有人工硬邊線化邊界的動畫化的視頻內(nèi)容、或更通常地視頻內(nèi)容的某些特征(諸如,滾動標(biāo)題和硬邊線化圖形、或者信息集中在色度通道中的視頻)進(jìn)行編碼/解碼,4:4:4格式可優(yōu)于4:2:0格式。
[0050]比特深度指代每樣本值比特數(shù)。常用的比特深度為每樣本8比特、每樣本10比特和每樣本12比特。其他可能的比特深度包括每樣本4比特和每樣本16比特。
[0051]雖然本文中描述的操作是被適當(dāng)描述為由視頻編碼器或視頻解碼器來執(zhí)行,但在許多情況中,這些操作可由另一類型的媒體處理工具(例如圖像編碼器或圖像解碼器)來執(zhí)行。例如,可針對諸如靜止圖像編碼/解碼、醫(yī)療掃描內(nèi)容編碼/解碼、多譜圖像內(nèi)容編碼/解碼之類的應(yīng)用執(zhí)行這些操作。
[0052]本文中描述的一些創(chuàng)新是參考專用于H.265/HEVC標(biāo)準(zhǔn)的句法元素和操作來示出的。例如,對H.265/HEVC標(biāo)準(zhǔn)的草稿版本JCTVC-P1005—即2014年2月的“高效視頻編碼(HEVC)范圍擴展文本規(guī)范??第6稿”JCTVC-P1005_vl作出參考。本文中描述的各創(chuàng)新還可以被實現(xiàn)為針對其它標(biāo)準(zhǔn)或格式。
[0053]更一般地,本文中描述的各示例的各種替代是可能的。例如,本文中描述的一些方法可以通過改變描述的方法動作的順序、通過拆分、重復(fù)或忽略某些方法動作等來更改。所公開的技術(shù)的各方面能夠被組合地或分開地使用。不同的實施例使用所描述的創(chuàng)新中的一個或多個。本文中描述的一些創(chuàng)新解決了背景中指出的一個或多個問題。通常,所給出的技術(shù)/工具并不解決所有這些問題。
[0054]1.示例計算系統(tǒng)
[0055]圖1示出了其中可實現(xiàn)幾個所描述的創(chuàng)新的合適計算系統(tǒng)(100)的概括示例。計算系統(tǒng)(100)并不旨對使用范圍或功能提出任何限制,因為這些創(chuàng)新可以在不同的通用或?qū)S糜嬎阆到y(tǒng)中實現(xiàn)。
[0056]參考圖1,計算系統(tǒng)(100)包括一個或多個處理單元(110、115)和存儲器(120、125) ο處理單元(110、115)執(zhí)行計算機可執(zhí)行指令。處理單元可以是通用中央處理單元(“CPU”)、專用集成電路(“ASIC”)中的處