專利名稱:用于視頻譯碼中的運動補償?shù)母呒墐?nèi)插技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字視頻譯碼,且更特定來說,涉及用于視頻譯碼中的預測性數(shù)據(jù)的 分數(shù)內(nèi)插。
背景技術(shù):
可將數(shù)字視頻能力并入到許多裝置中,包括數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系 統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計算機、數(shù)碼相機、數(shù)字記錄裝置、視頻游戲裝置、 視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話等。數(shù)字視頻裝置實施視頻壓縮技術(shù),例如, MPEG-2、MPEG-4或ITU-T H. 264/MPEG-4第十部分、高級視頻譯碼(AVC),以更有效地發(fā)射和 接收數(shù)字視頻信息。視頻壓縮技術(shù)可執(zhí)行空間預測和/或時間預測以減少或移除視頻序列 中固有的冗余?;趬K的幀間譯碼為非常有用的譯碼技術(shù),其依賴于時間預測來減少或移除在視 頻序列的連續(xù)經(jīng)譯碼單元的視頻塊之間的時間冗余。經(jīng)譯碼單元可包含視頻幀、視頻幀的 切片、圖片的群組或視頻塊的另一定義單元。對于幀間譯碼,視頻編碼器執(zhí)行運動估計和運 動補償以追蹤兩個或兩個以上相鄰經(jīng)譯碼單元的對應(yīng)視頻塊的移動。運動估計產(chǎn)生運動向 量,其指示視頻塊相對于一個或一個以上參考幀或其它經(jīng)譯碼單元中的對應(yīng)預測視頻塊的 移位。運動補償使用運動向量以從參考幀或其它經(jīng)譯碼單元產(chǎn)生預測視頻塊。在運動補償 之后,殘余視頻塊由從正經(jīng)譯碼的原始視頻塊減去預測視頻塊而形成。視頻編碼器還可應(yīng)用變換、量化和熵譯碼過程以進一步降低與殘余塊的通信相關(guān) 聯(lián)的位速率。變換技術(shù)可包含離散余弦變換(DCT)或概念上類似的過程?;蛘?,可使用小 波變換、整數(shù)變換或其它類型的變換。在DCT過程中,例如,一組像素值經(jīng)轉(zhuǎn)換為變換系數(shù), 其可表示頻域中的像素值的能量。將量化應(yīng)用于變換系數(shù),且量化通常涉及限制與任何給 定變換系數(shù)相關(guān)聯(lián)的位數(shù)目的過程。熵譯碼包含共同壓縮經(jīng)量化變換系數(shù)的序列的一個或 一個以上過程。熵譯碼的實例包括(但不限于)內(nèi)容自適應(yīng)可變長度譯碼(CAVLC)和上下 文自適應(yīng)二進制算術(shù)譯碼(CABAC)。經(jīng)譯碼的視頻塊可由可用于產(chǎn)生或識別預測性塊的預測信息和指示正經(jīng)譯碼塊 與預測性塊之間的差異的數(shù)據(jù)的殘余塊來表示。預測信息可包含一個或一個以上運動向 量,所述一個或一個以上運動向量用于識別數(shù)據(jù)的預測性塊。給定運動向量,解碼器能夠重 新建構(gòu)用于譯碼殘余塊的預測性塊。因此,給定一組殘余塊和一組運動向量(和可能的一 些額外語法),解碼器可能夠重新建構(gòu)最初經(jīng)編碼的視頻幀。基于運動估計和運動補償?shù)膸?間譯碼可實現(xiàn)非常好的壓縮,因為連續(xù)視頻幀或其它類型的經(jīng)譯碼單元通常非常類似。經(jīng) 編碼的視頻序列可包含殘余數(shù)據(jù)塊、運動向量和可能的其它類型的語法。
已開發(fā)內(nèi)插技術(shù)以便改進可在幀間譯碼中實現(xiàn)的壓縮級別。在此情況下,在運動 補償期間所產(chǎn)生的預測性數(shù)據(jù)(其用于譯碼視頻塊)可從視頻幀或用于運動估計中的其它 經(jīng)譯碼單元的視頻塊的像素進行內(nèi)插。內(nèi)插通常經(jīng)執(zhí)行以產(chǎn)生預測性半像素值(半像素) 和預測性四分之一像素值(四分之一像素)。此內(nèi)插通常產(chǎn)生比預測性幀或用于視頻譯碼 中的其它經(jīng)譯碼單元的實際視頻塊更類似于正經(jīng)譯碼視頻塊的預測性塊。
發(fā)明內(nèi)容
一般來說,本發(fā)明描述在視頻譯碼的運動補償過程期間由編碼器和解碼器執(zhí)行的 內(nèi)插技術(shù)。根據(jù)本發(fā)明的技術(shù),編碼器可應(yīng)用多個預定義的內(nèi)插濾波器以便產(chǎn)生多個不同 的經(jīng)內(nèi)插預測數(shù)據(jù)。可選擇實現(xiàn)最高級別的壓縮的經(jīng)內(nèi)插預測數(shù)據(jù),且可將所使用的內(nèi)插 濾波器譯碼為語法且傳送到解碼裝置以作為經(jīng)譯碼視頻數(shù)據(jù)的部分。內(nèi)插濾波器可每預測 性單元定義一次(例如,每預測幀一次),或可在塊基礎(chǔ)上加以定義(例如,不同濾波可應(yīng)用 于預測性單元內(nèi)的不同視頻塊)?;蛘?,可在樣本基礎(chǔ)上定義內(nèi)插濾波器,或可在子樣本基 礎(chǔ)上定義內(nèi)插濾波器。解碼器接收經(jīng)譯碼的視頻數(shù)據(jù),且可解譯語法以便識別曾由編碼器使用的內(nèi)插濾 波器。以此方式,解碼器可在其運動補償過程期間識別且使用在編碼過程期間所使用的相 同內(nèi)插濾波器。通過考慮在編碼器處的多個不同的內(nèi)插濾波器,可相對于具有固定內(nèi)插濾 波器的技術(shù)而改進壓縮。同時,所述技術(shù)可比常規(guī)自適應(yīng)內(nèi)插濾波顯著不復雜,常規(guī)自適應(yīng) 內(nèi)插濾波自適應(yīng)地定義內(nèi)插濾波器系數(shù)以作為譯碼過程的部分。根據(jù)本發(fā)明的一些方面, 可通過對測試視頻序列實施自適應(yīng)內(nèi)插濾波或其它技術(shù)以便預定義將可能導致良好壓縮 的內(nèi)插濾波器系數(shù)的集合而預定義不同內(nèi)插濾波器。或者,不同數(shù)目的濾波器系數(shù)(不同 數(shù)目的分接頭)或不同類型的濾波器可一起經(jīng)預定義,且接著在編碼和解碼過程期間選擇 并使用。另外,本發(fā)明還認識到歸因于半像素值的常規(guī)舍入的譯碼低效,且提供可通過減 小或消除中間舍入來改進內(nèi)插的技術(shù)。在此情況下,可為半像素內(nèi)插的目的而舍入經(jīng)內(nèi)插 半像素值。然而,可基于經(jīng)內(nèi)插的半像素值中的一者或一者以上而產(chǎn)生的四分之一像素值 可依賴于半像素值的未舍入版本。此可消除從半像素值到四分之一像素值的舍入不準確性 的傳播。在一些情況下,在不犧牲最終值的準確性的情況下的輕微舍入可應(yīng)用于一個特定 半像素值,以便確保16位存儲元件可用于存儲半像素的任何中間值。具體來說,當15個可 能的子像素位置經(jīng)定義以用于每一像素位置時,特定半像素值中的一者可能需要基于其它 半像素值而產(chǎn)生(即,需要二級半像素內(nèi)插),且此特定半像素值可能需要舍入以確保16位 存儲元件可用于存儲所有內(nèi)插值。在任何情況下,中間舍入任務(wù)的消除可在實施或不實施多個預定義內(nèi)插濾波器的 情況下進行,如本文中所描述。舉例來說,可在使用多個預定義內(nèi)插濾波器的實施方案的情 形中執(zhí)行中間舍入的消除,如本文中所描述?;蛘?,可在更常規(guī)內(nèi)插的情形中,例如,在自適 應(yīng)內(nèi)插濾波(AIF)的情形中執(zhí)行中間舍入的消除。在一個實例中,本發(fā)明提供一種編碼視頻數(shù)據(jù)的方法。所述方法包含產(chǎn)生預測數(shù) 據(jù),其中產(chǎn)生預測數(shù)據(jù)包括基于多個不同的預定義內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素 值。所述方法還包含基于預測數(shù)據(jù)來編碼視頻數(shù)據(jù)。
在另一實例中,本發(fā)明提供一種解碼視頻數(shù)據(jù)的方法。所述解碼方法包含接收語 法元素,所述語法元素識別來自多個不同的預定義內(nèi)插濾波器的內(nèi)插濾波器;產(chǎn)生預測數(shù) 據(jù),其中產(chǎn)生預測數(shù)據(jù)包括基于由語法元素識別的內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素 值;以及基于所述預測數(shù)據(jù)而解碼視頻數(shù)據(jù)。在另一實例中,本發(fā)明提供一種內(nèi)插用于視頻譯碼的預測性視頻數(shù)據(jù)的方法。所 述方法包含基于整數(shù)像素值而產(chǎn)生半像素值,舍入所述半像素值以產(chǎn)生半像素內(nèi)插值,存 儲半像素值以作為半像素值的未舍入版本,和基于半像素值的未舍入版本和整數(shù)像素值而 產(chǎn)生四分之一像素值。在另一實例中,本發(fā)明提供一種編碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包含視頻編碼器, 所述視頻編碼器包括產(chǎn)生預測數(shù)據(jù)的運動補償單元。運動補償單元基于多個不同的預定義 內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值,且視頻編碼器基于所述預測數(shù)據(jù)而編碼視頻數(shù) 據(jù)。在另一實例中,本發(fā)明提供一種解碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包含視頻解碼器, 所述視頻解碼器包括運動補償單元。所述視頻解碼器接收語法元素,所述語法元素識別來 自多個不同的預定義內(nèi)插濾波器的內(nèi)插濾波器。所述運動補償單元產(chǎn)生預測數(shù)據(jù),其中產(chǎn) 生預測數(shù)據(jù)包括基于由語法元素識別的內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值。視頻解 碼器接著基于預測數(shù)據(jù)而解碼視頻數(shù)據(jù)。在另一實例中,本發(fā)明提供一種內(nèi)插用于視頻譯碼的預測性視頻數(shù)據(jù)的設(shè)備,其 中所述設(shè)備包括運動補償單元,所述運動補償單元基于整數(shù)像素值而產(chǎn)生半像素值,舍入 半像素值以產(chǎn)生半像素內(nèi)插值,存儲半像素值以作為半像素值的未舍入版本,和基于半像 素值的未舍入版本和整數(shù)像素值而產(chǎn)生四分之一像素值。在另一實例中,本發(fā)明提供一種編碼視頻數(shù)據(jù)的裝置,所述裝置包含用于產(chǎn)生預 測數(shù)據(jù)的裝置,其中用于產(chǎn)生預測數(shù)據(jù)的裝置包括用于基于多個不同的預定義內(nèi)插濾波器 而內(nèi)插參考視頻數(shù)據(jù)的像素值的裝置和用于基于預測數(shù)據(jù)而編碼視頻數(shù)據(jù)的裝置。在另一實例中,本發(fā)明提供一種解碼視頻數(shù)據(jù)的裝置,所述裝置包含用于接收語 法元素的裝置,所述語法元素識別來自多個不同的預定義內(nèi)插濾波器的內(nèi)插濾波器;用于 產(chǎn)生預測數(shù)據(jù)的裝置,其中用于產(chǎn)生預測數(shù)據(jù)的裝置包括用于基于由語法元素識別的內(nèi)插 濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值的裝置;以及用于基于預測數(shù)據(jù)而解碼視頻數(shù)據(jù)的裝 置。在另一實例中,本發(fā)明提供一種內(nèi)插用于視頻譯碼的預測性視頻數(shù)據(jù)的裝置,所 述裝置包含用于基于整數(shù)像素值而產(chǎn)生半像素值的裝置,用于舍入半像素值以產(chǎn)生半像素 內(nèi)插值的裝置,用于存儲半像素值以作為半像素值的未舍入版本的裝置,和用于基于半像 素值的未舍入版本和整數(shù)像素值而產(chǎn)生四分之一像素值的裝置。在另一實例中,本發(fā)明提供一種編碼視頻數(shù)據(jù)的裝置,所述裝置包含視頻編碼器, 所述視頻編碼器包括運動補償單元,所述運動補償單元通過基于多個不同的預定義內(nèi)插濾 波器而內(nèi)插參考視頻數(shù)據(jù)的像素值來產(chǎn)生預測數(shù)據(jù),且基于所述預測數(shù)據(jù)而編碼視頻數(shù) 據(jù);以及無線發(fā)射器,其將視頻數(shù)據(jù)發(fā)射到另一裝置。在另一實例中,本發(fā)明提供一種解碼視頻數(shù)據(jù)的裝置,所述裝置包含無線接收 器,其接收視頻數(shù)據(jù);以及視頻解碼器,其包括運動補償單元,所述運動補償單元接收識別來自多個不同的預定義內(nèi)插濾波器的內(nèi)插濾波器的語法元素,產(chǎn)生預測數(shù)據(jù),其中產(chǎn)生預 測數(shù)據(jù)包括基于由語法元素識別的內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值,和基于預測 數(shù)據(jù)而解碼視頻數(shù)據(jù)。在另一實例中,本發(fā)明提供一種編碼視頻數(shù)據(jù)的裝置,所述裝置包含視頻編碼 器,所述視頻編碼器包括運動補償單元,所述運動補償單元基于整數(shù)像素值而產(chǎn)生半像素 值,舍入半像素值以產(chǎn)生半像素內(nèi)插值,存儲半像素值以作為半像素值的未舍入版本,和基 于半像素值的未舍入版本和整數(shù)像素值而產(chǎn)生四分之一像素值;以及無線發(fā)射器,其將由 運動補償單元編碼的視頻數(shù)據(jù)發(fā)射到另一裝置。在另一實例中,本發(fā)明提供一種解碼視頻數(shù)據(jù)的裝置,所述裝置包含無線接收 器,其接收視頻數(shù)據(jù);以及包括運動補償單元的視頻解碼器,其解碼視頻數(shù)據(jù)。在解碼視頻 數(shù)據(jù)中,運動補償單元基于整數(shù)像素值而產(chǎn)生半像素值,舍入半像素值以產(chǎn)生半像素內(nèi)插 值,存儲半像素值以作為半像素值的未舍入版本,且基于半像素值的未舍入版本和整數(shù)像 素值而產(chǎn)生四分之一像素值。本發(fā)明中所描述的技術(shù)可以硬件、軟件、固件或其任何組合實施。如果以軟件實 施,則軟件可執(zhí)行于一個或一個以上處理器(例如,微處理器、專用集成電路(ASIC)、現(xiàn)場 可編程門陣列(FPGA)或數(shù)字信號處理器(DSP))中。執(zhí)行所述技術(shù)的軟件最初可存儲于計 算機可讀媒體中且加載并執(zhí)行于處理器中。因此,本發(fā)明還涵蓋一種包含指令的計算機可讀存儲媒體,所述指令在執(zhí)行后即 刻致使裝置編碼視頻數(shù)據(jù),其中所述指令致使所述裝置產(chǎn)生預測數(shù)據(jù),其中產(chǎn)生預測數(shù)據(jù) 包括基于多個不同的預定義內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值,和基于預測數(shù)據(jù)而 編碼視頻數(shù)據(jù)。本發(fā)明還涵蓋一種包含指令的計算機可讀存儲媒體,所述指令在執(zhí)行后即刻致使 裝置解碼視頻數(shù)據(jù),其中所述指令致使所述裝置在接收到識別來自多個不同的預定義內(nèi)插 濾波器的內(nèi)插濾波器的語法元素后即刻產(chǎn)生預測數(shù)據(jù),其中產(chǎn)生預測數(shù)據(jù)包括基于由語法 元素識別的內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值,和基于預測數(shù)據(jù)而解碼視頻數(shù)據(jù)。另外,本發(fā)明還涵蓋一種包含指令的計算機可讀存儲媒體,所述指令在執(zhí)行后即 刻致使裝置內(nèi)插用于視頻譯碼的預測性視頻數(shù)據(jù),其中所述指令致使所述裝置基于整數(shù)像 素值而產(chǎn)生半像素值,舍入半像素值以產(chǎn)生半像素內(nèi)插值,存儲半像素值以作為半像素值 的未舍入版本,和基于半像素值的未舍入版本和整數(shù)像素值而產(chǎn)生四分之一像素值。在附圖和以下描述中陳述本發(fā)明的一個或一個以上方面的細節(jié)。本發(fā)明中所描述 的技術(shù)的其它特征、目標和優(yōu)點將從所述描述和圖式以及從權(quán)利要求書中而顯而易見。
圖1為說明視頻編碼和解碼系統(tǒng)的示范性框圖。圖2為說明與本發(fā)明一致的視頻編碼器的一實例的框圖。圖3為說明與本發(fā)明一致的視頻解碼器的一實例的框圖。圖4A到圖4D為說明整數(shù)像素和可包含預測性視頻塊的像素的經(jīng)內(nèi)插像素的概念 圖。圖5到圖8為說明與本發(fā)明一致的技術(shù)的流程圖。
具體實施例方式本發(fā)明描述在視頻譯碼的運動補償過程期間由編碼器和解碼器執(zhí)行的各種內(nèi)插 技術(shù)。根據(jù)本發(fā)明的一個方面,編碼器可應(yīng)用多個預定義內(nèi)插濾波器以便產(chǎn)生多個不同的 經(jīng)內(nèi)插預測數(shù)據(jù)??稍诰幋a器處選擇實現(xiàn)最高級別的壓縮的經(jīng)內(nèi)插預測數(shù)據(jù),且可將曾使 用的內(nèi)插濾波器譯碼為語法且傳送到解碼裝置以作為經(jīng)譯碼視頻數(shù)據(jù)的部分。經(jīng)內(nèi)插預測 數(shù)據(jù)包含參考數(shù)據(jù)??蓮慕?jīng)內(nèi)插預測數(shù)據(jù)(例如,內(nèi)插預測性參考塊)中減去待譯碼的視 頻數(shù)據(jù)(例如,視頻塊)以便定義經(jīng)編碼數(shù)據(jù)的殘余塊,所述殘余塊接著可經(jīng)變換、量化和 熵譯碼。內(nèi)插濾波器可每預測單元定義一次(例如,每預測幀一次),或可在樣本基礎(chǔ)上加 以定義(例如,不同濾波可應(yīng)用于預測性單元內(nèi)的不同視頻塊或不同樣本位置)。不同內(nèi)插 濾波器(例如)可由不同組的濾波器系數(shù)、不同數(shù)目的濾波器系數(shù)或可能不同的濾波器類 型來定義。在任何情況下,通過提供多個預定義內(nèi)插濾波器,經(jīng)內(nèi)插數(shù)據(jù)可提供改進的數(shù)據(jù) 壓縮。解碼器接收經(jīng)譯碼的視頻數(shù)據(jù),且可解譯語法以便識別由編碼器使用的內(nèi)插濾波 器。以此方式,解碼器可在其運動補償過程期間識別且使用在編碼過程期間曾使用的相同 內(nèi)插濾波器。而且,通過考慮在編碼器處的多個不同的內(nèi)插濾波器,可相對于具有單一經(jīng)定 義內(nèi)插濾波器的技術(shù)而改進壓縮。同時,所述技術(shù)可比常規(guī)自適應(yīng)內(nèi)插濾波顯著不復雜,其 中常規(guī)自適應(yīng)內(nèi)插濾波自適應(yīng)地定義內(nèi)插濾波器(通過選擇濾波器系數(shù))以作為譯碼過程 的一部分。在一個實例中,內(nèi)插濾波器可通過對測試視頻序列實施自適應(yīng)內(nèi)插濾波或其它 技術(shù)以便預定義將可能導致良好壓縮的內(nèi)插濾波器系數(shù)的集合而加以預定義。在本發(fā)明的另一方面中,描述內(nèi)插技術(shù),其消除或顯著減小用于四分之一像素內(nèi) 插的半像素值的中間舍入。消除或顯著減小中間舍入的技術(shù)可在具有或不具有使用預定義 內(nèi)插濾波器的以上所提及技術(shù)的情況下使用。換句話說,可根據(jù)一個或一個以上預定義內(nèi) 插濾波器在內(nèi)插期間使用消除或顯著減小中間舍入的技術(shù),但還可與使用固定內(nèi)插濾波器 的內(nèi)插或可能與自適應(yīng)精細化內(nèi)插技術(shù)一起使用。本發(fā)明認識到可歸因于半像素值的常規(guī)舍入而出現(xiàn)的譯碼低效,且提出通過消除 或減小中間舍入來改進內(nèi)插的技術(shù)。在此情況下,可為半像素內(nèi)插的目的而舍入經(jīng)內(nèi)插的 半像素值。然而,可基于經(jīng)內(nèi)插半像素值中的一者或一者以上而產(chǎn)生的四分之一像素值可 依賴于半像素值的未舍入版本。此可消除從半像素值到四分之一像素值的舍入不準確性的 傳播。在一些情況下,輕微舍入可應(yīng)用于一些半像素值以便確保16位數(shù)據(jù)結(jié)構(gòu)可用于存儲 任何中間值。在一些情況下,輕微舍入對最終準確性的影響可通過適當?shù)貓?zhí)行舍入而為零。 在任何情況下,中間舍入的消除或減小可在實施或不實施多個預定義內(nèi)插濾波器的情況下 進行,如本文中所描述。圖1為說明可實施本發(fā)明的技術(shù)的一個示范性視頻編碼和解碼系統(tǒng)10的框圖。如圖1中所示,系統(tǒng)10包括源裝置12,其將經(jīng)編碼的視頻經(jīng)由通信信道15發(fā)射到目的地裝置 16。源裝置12和目的地裝置16可包含許多裝置中的任一者。在一些情況下,源裝置12和 目的地裝置16包含例如無線手持機、所謂的蜂窩式或衛(wèi)星無線電話等無線通信裝置,或可 經(jīng)由通信信道15傳送視頻信息的任何無線裝置,在所述情況下,通信信道15為無線的。然而,關(guān)于運動補償內(nèi)插的本發(fā)明的技術(shù)不必限于無線應(yīng)用或設(shè)定。 在圖1的實例中,源裝置12可包括視頻源20、視頻編碼器22、調(diào)制器/解調(diào)器(調(diào) 制解調(diào)器)23和發(fā)射器24。目的地裝置16可包括接收器26、調(diào)制解調(diào)器27、視頻解碼器28 和顯示裝置30。根據(jù)本發(fā)明,源裝置12的視頻編碼器22可經(jīng)配置以應(yīng)用本發(fā)明的內(nèi)插技 術(shù)中的一者或一者以上以作為視頻編碼過程的部分。類似地,目的地裝置16的視頻解碼器 28可經(jīng)配置以應(yīng)用本發(fā)明的內(nèi)插技術(shù)中的一者或一者以上以作為視頻解碼過程的部分。圖1的所說明系統(tǒng)10僅為示范性的。本發(fā)明的內(nèi)插技術(shù)可由支持運動補償內(nèi)插 到子像素分辨率的任何編碼裝置來執(zhí)行。源裝置12和目的地裝置16僅為此些譯碼裝置的 實例。在此情況下,源裝置12產(chǎn)生用于發(fā)射到目的地裝置16的經(jīng)譯碼視頻數(shù)據(jù)。裝置12、 16可以實質(zhì)上對稱的方式操作以使得裝置12、16中的每一者包括(例如)在組合的編碼 器-解碼器(CODEC)中的視頻編碼和解碼組件。因此,系統(tǒng)10可支持視頻裝置12、16之間 的單向或雙向視頻發(fā)射,例如,以用于視頻串流、視頻回放、視頻廣播或視頻電話。源裝置12的視頻源20可包括例如視頻攝像機等視頻俘獲裝置、含有先前俘獲的 視頻的視頻檔案或來自視頻內(nèi)容提供者的視頻饋送。作為另一替代情況,視頻源20可產(chǎn)生 基于計算機圖形的數(shù)據(jù)以作為源視頻,或現(xiàn)場直播視頻、所存檔的視頻與計算機產(chǎn)生的視 頻的組合。在一些情況下,如果視頻源20為視頻攝像機,則源裝置12和目的地裝置16可 形成所謂的相機電話或視頻電話。在每一情況下,經(jīng)俘獲、預先俘獲或計算機產(chǎn)生的視頻可 由視頻編碼器22編碼。經(jīng)編碼的視頻信息接著可根據(jù)通信標準(例如,碼分多址(CDMA) 或另一通信標準)由調(diào)制解調(diào)器23調(diào)制,且經(jīng)由發(fā)射器24發(fā)射到目的地裝置16。調(diào)制解 調(diào)器23可包括各種混頻器、濾波器、放大器或經(jīng)設(shè)計以用于信號調(diào)制的其它組件。對于無 線應(yīng)用,發(fā)射器24可包括經(jīng)設(shè)計以用于發(fā)射數(shù)據(jù)的電路,其包括放大器、濾波器和一個或 一個以上天線。目的地裝置16的接收器26經(jīng)由信道15接收信息,且調(diào)制解調(diào)器27解調(diào)所述信 息。而且,視頻編碼過程可實施本文中所述技術(shù)中的一者或一者以上以在運動補償期間改 進內(nèi)插。由視頻解碼器28執(zhí)行的視頻解碼過程還可在解碼過程的其運動補償階段期間執(zhí) 行內(nèi)插。顯示裝置30向用戶顯示經(jīng)解碼的視頻數(shù)據(jù),且可包含例如陰極射線管、液晶顯示 器(LCD)、等離子體顯示器、有機發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置等多種 顯示裝置中的任一者。在圖1的實例中,通信信道15可包含任何無線或有線通信媒體,例如,射頻(RF) 頻譜或一個或一個以上物理傳輸線,或無線與有線媒體的任何組合。通信信道15可形成例 如局域網(wǎng)、廣域網(wǎng)或例如因特網(wǎng)的全球網(wǎng)絡(luò)的基于包的網(wǎng)絡(luò)的部分。通信信道15通常表示 用于將視頻數(shù)據(jù)從源裝置12發(fā)射到目的地裝置16的任何適合的通信媒體,或不同通信媒 體的集合。視頻編碼器22和視頻解碼器28可根據(jù)視頻壓縮標準(例如ITU-T H. 264標準 (或者描述為MPEG-4第十部分、高級視頻譯碼(AVC)))來操作。然而,本發(fā)明的技術(shù)不限 于任何特定譯碼標準。盡管在圖1中未展示,但在一些方面中,視頻編碼器22和視頻解碼 器28可各自與音頻編碼器和解碼器集成,且可包括適當?shù)腗UX-DEMUX單元或其它硬件和軟 件,以處置共同數(shù)據(jù)流或單獨數(shù)據(jù)流中的音頻與視頻的編碼。如果適用,則MUX-DEMUX單元 可符合ITU H. 223多路復用器協(xié)議,或例如用戶數(shù)據(jù)報協(xié)議(UDP)的其它協(xié)議。
由ITU-T視頻譯碼專家組(VCEG)與IS0/IEC運動圖片專家組(MPEG) —起將ITU H. 264/MPEG-4(AVC)標準制定為被稱作聯(lián)合視頻小組(JVT)的集體合作伙伴的產(chǎn)品。在一 些方面中,本發(fā)明中所描述的技術(shù)可應(yīng)用于通常符合H. 264標準的裝置。ITU-T研究組在 2005年3月在ITU-T推薦H. 264 “用于通用音視頻服務(wù)的高級視頻譯碼(Advanced Video Coding for generic audiovisual services) ” 中描述了 H. 264 標準,其在本文中可被稱 作H. 264標準或H. 264規(guī)范或H. 264/AVC標準或規(guī)范。聯(lián)合視頻小組(JVT)繼續(xù)致力于對 H. 264/MPEG-4AVC 的擴展。視頻編碼器22和視頻解碼器28各自可實施為一個或一個以上微處理器、數(shù)字信 號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、 固件或其任何組合。視頻編碼器22和視頻解碼器28中的每一者可包括于一個或一個以上 編碼器或解碼器中,其任一者可集成為相應(yīng)移動裝置、訂戶裝置、廣播裝置、服務(wù)器等中的 組合的CODEC的部分。視頻序列通常包括一系列視頻幀。視頻編碼器22對個別視頻幀內(nèi)的視頻塊操作 以便編碼視頻數(shù)據(jù)。所述視頻塊可具有固定或不同的大小,且可根據(jù)指定的譯碼標準而在 大小上不同。每一視頻幀包括一系列切片。每一切片可包括一系列宏塊,其可布置為子塊。 作為一實例,ITU-T H. 264標準支持各種塊大小的幀內(nèi)預測(例如,對于亮度分量來說為 16 X 16、8 X 8或4X 4,且對于色度分量來說為8 X 8)以及各種塊大小的幀間預測(例如,對 于亮度分量來說為16X16、16X8、8X16、8X8、8X4、4X8和4X4,且對于色度分量來說為 對應(yīng)的經(jīng)縮放的大小)。視頻塊可(例如)在例如離散余弦變換或概念上類似的變換過程 的變換過程之后包含像素數(shù)據(jù)的塊或變換系數(shù)的塊。較小視頻塊可提供較佳分辨率,且可用于定位包括高細節(jié)水平的視頻幀。一般來 說,宏塊(MB)和各種子塊可視作視頻塊。另外,一切片可視作一系列視頻塊,例如MB和/ 或子塊。每一切片可為視頻幀的可獨立解碼的單元。視頻編碼器22和視頻解碼器28執(zhí)行 基于幀間的預測性譯碼,其涉及產(chǎn)生預測性參考數(shù)據(jù)和從預測性參考數(shù)據(jù)減去待譯碼的視 頻塊以產(chǎn)生殘余數(shù)據(jù),所述殘余數(shù)據(jù)接著可經(jīng)變換、量化和熵譯碼?;趲g的預測性譯碼 可包括根據(jù)本發(fā)明的預測性數(shù)據(jù)的內(nèi)插。在基于幀間的預測性譯碼(其包括本發(fā)明的內(nèi)插技術(shù))之后且在任何變換(例如 用于H. 264/AVC中的4X4或8X8整數(shù)變換或離散余弦變換DCT)之后,可執(zhí)行量化。量化 大體上指代其中系數(shù)經(jīng)量化以可能減少用于表示系數(shù)的數(shù)據(jù)量的過程。量化過程可減小與 一些或所有系數(shù)相關(guān)聯(lián)的位深度。舉例來說,16位值在量化期間可下舍入為15位值。在量 化之后,可(例如)根據(jù)內(nèi)容自適應(yīng)可變長度譯碼(CAVLC)、上下文自適應(yīng)二進制算術(shù)譯碼 (CABAC)或另一熵譯碼方法來執(zhí)行熵譯碼。根據(jù)本發(fā)明的技術(shù),視頻編碼器22可應(yīng)用多個預定義內(nèi)插濾波器以便產(chǎn)生多個 不同的經(jīng)內(nèi)插預測數(shù)據(jù)??捎梢曨l編碼器22選擇實現(xiàn)最高級別的壓縮的經(jīng)內(nèi)插預測數(shù)據(jù), 且可將曾用于所選的經(jīng)內(nèi)插預測數(shù)據(jù)的內(nèi)插濾波器譯碼為語法且傳送到目的地裝置16以 作為經(jīng)譯碼視頻數(shù)據(jù)的部分。在此情況下,視頻解碼器28接收經(jīng)譯碼的視頻數(shù)據(jù),且可解 譯語法以便識別曾由視頻編碼器22使用的內(nèi)插濾波器。因此,視頻解碼器28可在其運動 補償解碼過程期間識別且使用在編碼過程期間曾使用的相同內(nèi)插濾波器。不同的預定義內(nèi) 插濾波器可包含具有濾波器系數(shù)(濾波器分接頭)的不同集合的類似濾波器。或者,不同的預定義內(nèi)插濾波器可包含具有不同數(shù)目的濾波器分接頭或可能完全不同類型的濾波器 配置的濾波器。而且,根據(jù)本發(fā)明的另一方面,視頻編碼器22和視頻解碼器28可應(yīng)用內(nèi)插技術(shù), 其消除或顯著減小用于四分之一像素內(nèi)插的半像素值的中間舍入。在此情況下,視頻編碼 器22和視頻解碼器28可為了半像素內(nèi)插的目的而舍入經(jīng)內(nèi)插的半像素值。然而,對于四 分之一像素內(nèi)插,視頻編碼器22和視頻解碼器28可存儲且使用半像素值的未舍入版本以 便減小或消除從半像素值到四分之一像素值的舍入不準確性的傳播。在一些情況下,輕微 舍入可應(yīng)用于需要二級內(nèi)插的一個特定半像素值以便確保固定大小的存儲元件(例如,16 位寄存器)可用于存儲任何中間值。在一些情況下,可通過適當?shù)貓?zhí)行舍入而使輕微舍入 對最終準確性的影響為零,如本文中所描述。圖2為說明與本發(fā)明一致的可執(zhí)行運動補償內(nèi)插的視頻編碼器50的一實例的框 圖。視頻編碼器50可對應(yīng)于裝置20的視頻編碼器22或不同裝置的視頻編碼器。視頻編 碼器50可執(zhí)行視頻幀內(nèi)的塊的幀內(nèi)譯碼和幀間譯碼,但不說明幀內(nèi)編碼。幀內(nèi)譯碼依賴于 空間預測來減小或移除給定視頻幀幀內(nèi)的視頻中的空間冗余。幀間譯碼依賴于時間預測來 減小或移除視頻序列的鄰近幀內(nèi)的視頻中的時間冗余。幀內(nèi)模式(I模式)可指基于空間 的壓縮模式,且例如預測(P模式)或雙向(B模式)的幀間模式可指基于時間的壓縮模式。 本發(fā)明的技術(shù)通常可在幀間譯碼期間應(yīng)用,且因此為說明的簡單性和簡易性起見而未在圖 2中說明例如空間預測單元的幀內(nèi)譯碼單元。然而,本發(fā)明的舍入技術(shù)還可應(yīng)用于空間預測 和幀內(nèi)譯碼技術(shù)。如圖2中所示,視頻編碼器50接收待編碼的視頻幀內(nèi)的當前視頻塊。在圖2的 實例中,視頻編碼器50包括運動估計單元32、運動補償單元35、參考幀存儲裝置34、加 法器48、變換單元38、量化單元40和熵譯碼單元46。對于視頻塊重新建構(gòu),視頻編碼器 50還包括逆量化單元42、逆變換單元44、加法器51。還可包括解塊濾波器(deblocking filter)(未圖示)以對塊邊界進行濾波,以從重新建構(gòu)的視頻移除塊假影(blockiness artifact) 0需要時,解塊濾波器通常將對加法器51的輸出進行濾波。在編碼過程期間,視頻編碼器50接收待譯碼的視頻塊,且運動估計單元32和運動 補償單元35執(zhí)行幀間預測性譯碼。運動估計單元32和運動補償單元35可高度集成,但為 概念目的而單獨說明。運動估計通常視為產(chǎn)生運動向量的過程,其估計視頻塊的運動。運 動向量(例如)可指示預測性幀(或其它經(jīng)譯碼單元)內(nèi)的預測性塊相對于當前幀(或其 它經(jīng)譯碼單元)內(nèi)的正經(jīng)譯碼的當前塊的移位。運動補償通常視為基于由運動估計確定的 運動向量而獲取或產(chǎn)生預測性塊的過程。而且,運動估計單元32和運動補償單元35可功 能上集成。本發(fā)明中所述的內(nèi)插技術(shù)經(jīng)描述為由運動補償單元35執(zhí)行。然而,可在運動估 計期間執(zhí)行內(nèi)插以便促進最佳運動向量的選擇。根據(jù)本發(fā)明,運動估計32通過比較待譯碼視頻塊與預測性經(jīng)譯碼單元(例如,先 前幀)的視頻塊來選擇用于待譯碼視頻塊的適當運動向量。此時,運動補償單元35可執(zhí)行 內(nèi)插以便產(chǎn)生子像素分辨率下的預測性數(shù)據(jù)。在一些情況下,在運動估計期間,內(nèi)插可基于 固定內(nèi)插濾波器。在其它情況下,在運動補償(如下文概述)期間所應(yīng)用的不同內(nèi)插濾波 器還可為了運動向量選擇的目的而在運動估計過程期間使用。一旦運動估計單元32已選擇用于待譯碼視頻塊的運動向量,運動補償單元35便產(chǎn)生與那個運動向量相關(guān)聯(lián)的預測性視頻塊。然而,根據(jù)本發(fā)明,運動補償單元35可考慮 具有子像素分辨率的任何預測性視頻塊的若干版本。在此情況下,運動補償單元35可應(yīng)用 多個預定義內(nèi)插濾波器以便產(chǎn)生用于待譯碼視頻塊的多個不同的經(jīng)內(nèi)插預測數(shù)據(jù)。運動補 償單元35接著選擇實現(xiàn)最高級別的壓縮的經(jīng)內(nèi)插預測數(shù)據(jù)(例如,與內(nèi)插濾波器中的一者 相關(guān)聯(lián)的經(jīng)內(nèi)插視頻塊)。曾用于產(chǎn)生經(jīng)內(nèi)插數(shù)據(jù)的內(nèi)插濾波器可經(jīng)譯碼為內(nèi)插語法且傳 送到熵譯碼單元46以用于包括于經(jīng)譯碼位流中。一旦運動補償單元35已選擇且應(yīng)用最佳 內(nèi)插濾波器,運動補償單元35便使用內(nèi)插濾波器產(chǎn)生預測性數(shù)據(jù),且視頻編碼器應(yīng)用加法 器48以從正經(jīng)譯碼的視頻塊減去那個預測性數(shù)據(jù)以產(chǎn)生殘余數(shù)據(jù)。而且,根據(jù)本發(fā)明的另一方面,視頻編碼器22和視頻解碼器28可應(yīng)用內(nèi)插技術(shù), 其消除或顯著減小用于四分之一像素內(nèi)插的半像素值的中間舍入。在此情況下,視頻編碼 器22和視頻解碼器28可為了半像素內(nèi)插的目的而舍入經(jīng)內(nèi)插的半像素值。然而,對于四 分之一像素內(nèi)插,視頻編碼器22和視頻解碼器28可存儲且使用半像素值的未舍入版本,以 便減小或消除從半像素值到四分之一像素值的舍入不準確性的傳播。在一些情況下,輕微 舍入可應(yīng)用于需要二級內(nèi)插的一個特定半像素值以便確保固定大小的存儲元件(例如,16 位寄存器)可用于存儲任何中間值。如所述,一旦運動補償單元35產(chǎn)生預測數(shù)據(jù)(例如,經(jīng)內(nèi)插的預測性視頻塊),視 頻編碼器50便通過從正經(jīng)譯碼的原始視頻塊減去預測數(shù)據(jù)來形成殘余視頻塊。加法器48 表示執(zhí)行此減法運算的一個或一個以上組件。變換單元38將例如離散余弦變換(DCT)的 變換或概念上類似的變換應(yīng)用于殘余塊,從而產(chǎn)生包含殘余變換塊系數(shù)的視頻塊。舉例來 說,變換單元38可執(zhí)行例如由H. 264標準定義的其它變換,其概念上類似于DCT。還可使用 小波變換、整數(shù)變換、副頻帶變換或其它類型的變換。在任何情況下,變換單元38將變換應(yīng) 用于殘余塊,從而產(chǎn)生殘余變換系數(shù)的塊。變換可將殘余信息從像素域轉(zhuǎn)換到頻域。量化單元40量化殘余變換系數(shù)以進一步降低位速率。量化過程可減小與一些或 所有系數(shù)相關(guān)聯(lián)的位深度。舉例來說,16位值在量化期間可下舍入為15位值。在量化之 后,熵譯碼單元46熵譯碼經(jīng)量化的變換系數(shù)。舉例來說,熵譯碼單元46可執(zhí)行內(nèi)容自適應(yīng) 可變長度譯碼(CAVLC)、上下文自適應(yīng)二進制算術(shù)譯碼(CABAC)或另一熵譯碼方法。在通過 熵譯碼單元46進行的熵譯碼之后,可將經(jīng)編碼的視頻發(fā)射到另一裝置或經(jīng)存檔以供稍后 發(fā)射或檢索。經(jīng)譯碼的位流可包括經(jīng)熵譯碼的殘余塊、用于此些塊的運動向量和包括識別 曾由運動補償單元35應(yīng)用的內(nèi)插濾波器的內(nèi)插語法的其它語法。逆量化單元42和逆變換單元44分別應(yīng)用逆量化和逆變換來在像素域中重新建 構(gòu)殘余塊(例如)以供稍后用作參考塊。求和器51將重新建構(gòu)的殘余塊加到由運動補償 單元35所產(chǎn)生的運動補償預測塊以產(chǎn)生重新建構(gòu)的視頻塊以供存儲于參考幀存儲裝置34 中。重新建構(gòu)的視頻塊可由運動估計單元32和運動補償單元35用作參考塊以幀間編碼后 續(xù)視頻幀中的塊。圖3為說明視頻解碼器60的一實例的框圖,所述視頻解碼器60解碼以本文中所 述的方式編碼的視頻序列。視頻解碼器60包括運動補償單元55,所述運動補償單元55執(zhí) 行本發(fā)明的內(nèi)插技術(shù)以用于解碼。具體來說,在解碼側(cè),運動補償單元55可從熵解碼單元 52接收語法元素,所述語法元素識別來自多個不同的預定義內(nèi)插濾波器的內(nèi)插濾波器。運 動補償單元55可產(chǎn)生預測數(shù)據(jù),其包括基于由語法元素識別的內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值。特定來說,運動補償單元55可基于從熵解碼單元52接收的運動向量和 如由語法元素定義的內(nèi)插(圖3中標記為內(nèi)插語法)而產(chǎn)生預測數(shù)據(jù)?;诖私?jīng)內(nèi)插預測 數(shù)據(jù),可解碼視頻數(shù)據(jù)(例如,重新建構(gòu)的殘余視頻塊)。熵解碼單元52熵解碼所接收的位流以產(chǎn)生量化系數(shù)和語法(例如,發(fā)送到運動補 償單元55的內(nèi)插語法和運動向量)。逆量化單元56逆量化(S卩,解量化)經(jīng)量化的塊系 數(shù)。逆量化過程可為如由H. 264解碼定義的常規(guī)過程。逆變換單元58將逆變換(例如,逆 DCT或概念上類似的逆變換過程)應(yīng)用于變換系數(shù)以便在像素域中產(chǎn)生殘余塊。運動補償 單元55以本文中所述的方式產(chǎn)生經(jīng)運動補償塊,(例如)包括基于由語法元素識別的內(nèi)插 濾波器系數(shù)的集合(即,內(nèi)插語法)的內(nèi)插。求和器64通過對殘余塊與由運動補償單元55產(chǎn)生的對應(yīng)預測塊求和來解碼殘余 塊以形成經(jīng)解碼的塊。需要時,還可應(yīng)用解塊濾波器以對經(jīng)解碼的塊進行濾波以便移除塊 假影。接著將經(jīng)解碼的視頻塊存儲于參考幀存儲裝置62中,其為提供用于后續(xù)運動補償?shù)?參考塊且還產(chǎn)生到驅(qū)動顯示裝置(例如圖1的裝置30)的經(jīng)解碼視頻的存儲元件。而且,本發(fā)明的技術(shù)涉及經(jīng)運動補償?shù)膬?nèi)插,其中預測性視頻塊的像素值經(jīng)內(nèi)插 到子像素分辨率。編碼器使用本發(fā)明的技術(shù)以識別來自多個預定義內(nèi)插濾波器的合意內(nèi)插 濾波器。不同濾波器的特征可在于濾波器系數(shù)的不同集合、不同數(shù)目的濾波器系數(shù)或不同 濾波器類型。解碼器解譯從編碼器發(fā)送的語法元素以便識別由編碼器使用的內(nèi)插濾波器系 數(shù)的相同合意集合。圖4A到圖4D為說明整數(shù)像素和可包含預測性視頻塊的像素的經(jīng)內(nèi)插像素的概念 圖。在圖4的概念性說明中,不同框表示像素。大寫字母(在具有實線的框中)表示整數(shù)像 素位置,而小寫字母(在具有虛線的框中)表示經(jīng)內(nèi)插像素位置。字母標記在本文中可用 于描述像素位置或像素定位,或可指代與各種位置相關(guān)聯(lián)的像素值。像素位置“aa”、“bb”、 “沈”、“(1(1”、“擾”、1廣,、、8”、“址”、“^”和“力_”為用于與像素位置乂3”相關(guān)聯(lián)的各種分 數(shù)位置的分數(shù)內(nèi)插中的半像素位置。每一像素位置可具有相關(guān)聯(lián)的15個不同分數(shù)位置(例如,依照順從ITU H. 264/ AVC標準的內(nèi)插)。在圖4A到圖4D的實例中,說明與像素“C3”相關(guān)聯(lián)的這15個不同分數(shù) 位置。為說明的簡單性和簡易性起見,未展示大部分其它分數(shù)位置(不同于以上所提及的 那些位置,其用于產(chǎn)生與像素“C3”相關(guān)聯(lián)的15個不同分數(shù)位置中的一者或一者以上)。在ITU H. 264/AVC標準中,為了獲得在半像素位置處的亮度信號,通常使用具有系 數(shù)[1,-5,20,20,5,1]的6分接頭維納濾波器(Wiener filter)。接著,為了獲得在四分之 一像素位置處的亮度信號,使用雙線性濾波器。雙線性濾波器還可用于色度分量的分數(shù)像 素內(nèi)插中,所述色度分量在H. 264/AVC中可具有高達1/8像素精度。在圖4B中分別在水平和垂直方向上示范像素位置“b”和“h”的半像素內(nèi)插。在 此情況下,可基于整數(shù)像素“C1”、“C2”、“C3”、“C4”、“C5”和“C6”而內(nèi)插像素位置“b”。類 似地,可基于整數(shù)像素“A3”、“B3”、“C3”、“D3”、“E3”和“F3”而內(nèi)插像素位置“h”??蓱?yīng)用 不同內(nèi)插濾波器(例如,濾波器分接頭的不同集合)以產(chǎn)生像素位置“b”和“h”的不同內(nèi) 插值,如本文中所描述。在圖4B中,內(nèi)插像素位置“b”和“h”以陰影展示,且整數(shù)像素位置 “Cl”、“ C2 ”、“ C3 ”、“ C4 ”、“ C5 ”、“ C6 ”、“ A3 ”、“ B3 ”、“ C3 ”、“ D3 ”、“ E3,,和 “ F3,,以交叉陰影展示。圖4C說明可能需要二級內(nèi)插的一種特殊情況。具體來說,像素位置“j”不同于其它半像素位置,因為像素位置“j”本身基于其它半像素值而經(jīng)內(nèi)插。舉例來說,像素位置 “j”可基于在水平方向上的半像素內(nèi)插值“cC”、“dd”、“h”、“ee”、“ff”和“gg”而經(jīng)內(nèi)插。 或者,像素位置“彳”可基于在垂直方向上的半像素內(nèi)插值、^、“^”、^”、“!^”、“^”* “ jj”而經(jīng)內(nèi)插。在圖4C中,內(nèi)插像素位置“j”以陰影展示,在垂直方向上的半像素內(nèi)插值 “aa”、“bb”、“b”、“hh”、“ii”和“jj”以右到左交叉陰影展示,且半像素內(nèi)插值“cc”、“dd”、 “h”、“ee”、“ff”和“gg”以左到右交叉陰影展示。圖4D以陰影說明四分之一像素位置“&”、“(3”、“(1”、、”、“廣,、、”、“廣、1”、“1,,、 “m”、“n”和“0”,且以交叉陰影說明用于此四分之一像素內(nèi)插的整數(shù)和半像素位置(例如, “ C3 ”、“b ”、“ C4 ”、“h ”、“ j ”、“ ee ”、“D3 ”、“hh,,和 “D4 ”)。在運動估計之后,可識別給定視頻塊的最佳運動向量,例如,可能使用速率失真模 型來平衡譯碼速率與質(zhì)量。接著,在運動補償期間使用最佳運動向量形成預測視頻塊。如 上概述,通過從原始視頻塊減去預測視頻塊來形成殘余視頻塊。接著將變換應(yīng)用于殘余塊, 且變換系數(shù)經(jīng)量化和熵譯碼以進一步降低位速率。而且,圖4A到圖4D用大寫字母以實線框展示整數(shù)像素樣本(還稱為全像素)。對 于任何給定整數(shù)像素樣本,總共存在15個子像素位置,其在圖4A到圖4D中經(jīng)展示為用于 整數(shù)像素樣本“C3”且標記為“a”到“O”。在H. 264/AVC中,可首先使用一維6分接頭維納 濾波器來計算半像素位置“b”、“h”和“j”。如所述,半像素位置“j”可能需要使用6分接 頭濾波的二級此內(nèi)插。在此情況下,對于像素位置“j”,內(nèi)插濾波器首先應(yīng)用于水平方向且 接著應(yīng)用于垂直方向,其中可能在一個維度上內(nèi)插之后中間舍入經(jīng)內(nèi)插的像素值以便確保 數(shù)據(jù)可存儲于16位存儲元件內(nèi)。其余四分之一像素位置接著經(jīng)由使用雙線性濾波器和已 計算的半像素樣本的濾波而經(jīng)內(nèi)插。ITU-T SG16/Q.6/VCEG (視頻譯碼專家群)委員會一直在探索提供比H. 264/AVC更 高的譯碼效率的譯碼技術(shù)。此探索在KTA(關(guān)鍵技術(shù)領(lǐng)域)論壇中進行。已在KTA中采用 的譯碼工具中的一者被稱為自適應(yīng)內(nèi)插濾波器(AIF)。AIF提供優(yōu)于H. 264/AVC的大譯碼 增益,對具有高分辨率(例如,720p)的視頻序列尤其如此。在AIF中,每一子像素位置的內(nèi) 插濾波器通過最小化預測誤差能量而以分析的方式經(jīng)計算用于每一視頻幀。每一幀的以分 析的方式導出的自適應(yīng)濾波器系數(shù)接著經(jīng)預測、量化、譯碼且發(fā)送于視頻位流中。本發(fā)明的技術(shù)可實現(xiàn)與那些由AIF實現(xiàn)的相當?shù)淖g碼改進,同時相對于AIF降低 實施復雜性。所描述的技術(shù)可不需要分析過程以導出每一視頻幀的濾波器系數(shù)。而是,在 一個實例中,濾波器系數(shù)的不同集合經(jīng)預先計算和預定義以用于實時應(yīng)用。在此情況下,濾 波器系數(shù)的預定義可基于應(yīng)用于測試序列的AIF或其它選擇準則。三種不同類型的AIF方案已采用于KTA中。第一者為二維不可分AIF(NS-AIF), 第二者為可分AIF(S-AIF),且第三者為具有方向濾波器的AIF(DAIF)。然而,所有三個AIF 方案使用相同的分析過程以導出濾波器系數(shù),其在下文使用不可分AIF作為實例來進行闡釋。假定6X6 二維不可分濾波器具有系數(shù),其中i,j = 0. . . 5且SP表示圖4A到圖 4D中所示的15個子像素位置(a到ο)中的一者。應(yīng)注意,15個子像素位置中的6者“a”、 “b”、“c”、“d”、“h”和“1”為一維子像素位置,其可使用6分接頭濾波器進行內(nèi)插。而且假 定參考幀中的整數(shù)像素位置(圖4A到圖4D中的Al到F6)處的預測像素采取像素值Pi,其中 i,j = 0. . . 5。BP, Al 采取值 PQ,。,. . .,A6 采取值 P5,。,...,F(xiàn)l 采取值 P5,。,...,且 F6 采取值P5,5。接著,在子像素位置SP,SP e {a,...,o}處的內(nèi)插值psp可使用以下等式來計
算
權(quán)利要求
一種編碼視頻數(shù)據(jù)的方法,所述方法包含產(chǎn)生預測數(shù)據(jù),其中產(chǎn)生所述預測數(shù)據(jù)包括基于多個不同的預定義內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值;以及基于所述預測數(shù)據(jù)而編碼所述視頻數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其中基于多個不同的預定義內(nèi)插濾波器而內(nèi)插參考視 頻數(shù)據(jù)的像素值包含基于預定義內(nèi)插濾波器系數(shù)的多個不同集合而內(nèi)插參考視頻數(shù)據(jù)的像素值。
3.根據(jù)權(quán)利要求1所述的方法,其中編碼所述視頻數(shù)據(jù)包含基于與所述不同的預定義內(nèi)插濾波器中的每一者相關(guān)聯(lián)的所述預測數(shù)據(jù)而編碼所述 視頻數(shù)據(jù);以及選擇實現(xiàn)最高級別的數(shù)據(jù)壓縮的經(jīng)編碼視頻數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其中編碼所述視頻數(shù)據(jù)進一步包含 識別與所述最高級別的數(shù)據(jù)壓縮相關(guān)聯(lián)的特定內(nèi)插濾波器;以及編碼語法以識別到解碼器的所述特定內(nèi)插濾波器。
5.根據(jù)權(quán)利要求4所述的方法,其進一步包含編碼不同語法元素以識別用于產(chǎn)生所述視頻數(shù)據(jù)的不同經(jīng)譯碼單元的所述預測性數(shù) 據(jù)的不同參考視頻單元的不同內(nèi)插濾波器。
6.根據(jù)權(quán)利要求4所述的方法,其進一步包含編碼不同語法元素以識別用于所述參考視頻數(shù)據(jù)的不同視頻塊的不同內(nèi)插濾波器。
7.根據(jù)權(quán)利要求1所述的方法,其中基于應(yīng)用于測試視頻序列的視頻譯碼而預定義所 述預定義內(nèi)插濾波器中的至少一些。
8.根據(jù)權(quán)利要求1所述的方法,其中內(nèi)插與所述預定義內(nèi)插濾波器中的至少一者相關(guān) 聯(lián)的像素值包括基于整數(shù)像素值而產(chǎn)生半像素值;舍入所述半像素值以產(chǎn)生半像素內(nèi)插值;存儲所述半像素值以作為所述半像素值的未舍入版本;以及基于所述半像素值的所述未舍入版本和所述整數(shù)像素值而產(chǎn)生四分之一像素值。
9.根據(jù)權(quán)利要求8所述的方法,其中所述值中的每一者可存儲于16位數(shù)據(jù)結(jié)構(gòu)內(nèi),所 述方法進一步包含基于所述半像素值的多個所述未舍入版本而產(chǎn)生另一半像素值;舍入所述另一半像素值以使得所述另一半像素值可存儲于所述16位數(shù)據(jù)結(jié)構(gòu)內(nèi);以及基于所述另一半像素值和所述半像素值的所述未舍入版本而產(chǎn)生額外四分之一像素值。
10.一種解碼視頻數(shù)據(jù)的方法,所述方法包含接收語法元素,所述語法元素識別來自多個不同的預定義內(nèi)插濾波器的內(nèi)插濾波器; 產(chǎn)生預測數(shù)據(jù),其中產(chǎn)生所述預測數(shù)據(jù)包括基于由所述語法元素識別的所述內(nèi)插濾波 器而內(nèi)插參考視頻數(shù)據(jù)的像素值;以及基于所述預測數(shù)據(jù)而解碼所述視頻數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的方法,其中基于由所述語法元素識別的所述內(nèi)插濾波器而 內(nèi)插參考視頻數(shù)據(jù)的像素值包含基于由所述語法元素識別的內(nèi)插濾波器系數(shù)的預定義集 合而內(nèi)插參考視頻數(shù)據(jù)的像素值。
12.根據(jù)權(quán)利要求10所述的方法,其中基于應(yīng)用于測試視頻序列的視頻譯碼而預定義 所述預定義內(nèi)插濾波器中的至少一些。
13.根據(jù)權(quán)利要求10所述的方法,其中內(nèi)插像素值包括 基于整數(shù)像素值而產(chǎn)生半像素值;舍入所述半像素值以產(chǎn)生半像素內(nèi)插值;存儲所述半像素值以作為所述半像素值的未舍入版本;以及基于所述半像素值的所述未舍入版本和所述整數(shù)像素值而產(chǎn)生四分之一像素值。
14.根據(jù)權(quán)利要求13所述的方法,其中所述值中的每一者可存儲于16位數(shù)據(jù)結(jié)構(gòu)內(nèi), 其中內(nèi)插像素值包括基于所述半像素值的多個所述未舍入版本而產(chǎn)生另一半像素值;舍入所述另一半像素值以使得所述另一半像素值可存儲于所述16位數(shù)據(jù)結(jié)構(gòu)內(nèi);以及基于所述另一半像素值和所述半像素值的所述未舍入版本而產(chǎn)生額外四分之一像素值。
15.根據(jù)權(quán)利要求10所述的方法,其進一步包含接收用于產(chǎn)生所述預測性數(shù)據(jù)的不同 參考視頻單元的不同語法元素,和基于由所述不同語法元素識別的不同內(nèi)插濾波器而內(nèi)插 用于所述不同參考視頻單元的像素值。
16.根據(jù)權(quán)利要求10所述的方法,其進一步包含接收用于產(chǎn)生所述預測性數(shù)據(jù)的參考 視頻單元的不同視頻塊的不同語法元素,和基于由所述不同語法元素識別的不同內(nèi)插濾波 器而內(nèi)插用于所述不同視頻塊的像素值。
17.—種編碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包含視頻編碼器,所述視頻編碼器包括產(chǎn)生預 測數(shù)據(jù)的運動補償單元,其中所述運動補償單元基于多個不同的預定義內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像 素值;且所述視頻編碼器基于所述預測數(shù)據(jù)而編碼所述視頻數(shù)據(jù)。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述多個不同的預定義內(nèi)插濾波器是由預定義 內(nèi)插濾波器系數(shù)的多個不同集合來定義。
19.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述視頻編碼器基于與所述不同的預定義內(nèi)插濾波器中的每一者相關(guān)聯(lián)的所述預測數(shù)據(jù)而編碼所述 視頻數(shù)據(jù);以及選擇實現(xiàn)最高級別的數(shù)據(jù)壓縮的經(jīng)編碼視頻數(shù)據(jù)。
20.根據(jù)權(quán)利要求19所述的設(shè)備,其中所述視頻編碼器識別與所述最高級別的數(shù)據(jù)壓縮相關(guān)聯(lián)的特定內(nèi)插濾波器;以及編碼語法以識別到解 碼器的所述特定內(nèi)插濾波器。
21.根據(jù)權(quán)利要求20所述的設(shè)備,其中所述視頻編碼器編碼不同語法元素以識別用于產(chǎn)生所述視頻數(shù)據(jù)的不同經(jīng)譯碼單元的所述預測性數(shù)據(jù)的不同參考視頻單元的不同內(nèi)插濾波器。
22.根據(jù)權(quán)利要求20所述的設(shè)備,其中所述視頻編碼器編碼不同語法元素以識別用于所述參考視頻數(shù)據(jù)的不同視頻塊的不同內(nèi)插濾波器。
23.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述預定義內(nèi)插濾波器中的至少一些是基于應(yīng) 用于測試視頻序列的視頻譯碼而經(jīng)預定義。
24.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述運動補償單元 基于整數(shù)像素值而產(chǎn)生半像素值;舍入所述半像素值以產(chǎn)生半像素內(nèi)插值;存儲所述半像素值以作為所述半像素值的未舍入版本;以及基于所述半像素值的所述未舍入版本和所述整數(shù)像素值而產(chǎn)生四分之一像素值。
25.根據(jù)權(quán)利要求24所述的設(shè)備,其中所述值中的每一者可存儲于16位數(shù)據(jù)結(jié)構(gòu)內(nèi), 其中所述運動補償單元基于所述半像素值的多個所述未舍入版本而產(chǎn)生另一半像素值;舍入所述另一半像素值以使得所述另一半像素值可存儲于所述16位數(shù)據(jù)結(jié)構(gòu)內(nèi);以及基于所述另一半像素值和所述半像素值的所述未舍入版本而產(chǎn)生額外四分之一像素值。
26.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述設(shè)備包含集成電路。
27.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述設(shè)備包含微處理器。
28.一種解碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包含視頻解碼器,所述視頻解碼器包括運動補 償單元,其中所述視頻解碼器接收語法元素,所述語法元素識別來自多個不同的預定義內(nèi)插濾波器 的內(nèi)插濾波器;所述運動補償單元產(chǎn)生預測數(shù)據(jù),其中產(chǎn)生所述預測數(shù)據(jù)包括基于由所述語法元素識 別的所述內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值;以及 所述視頻解碼器基于所述預測數(shù)據(jù)而解碼所述視頻數(shù)據(jù)。
29.根據(jù)權(quán)利要求28所述的設(shè)備,其中所述多個不同的預定義內(nèi)插濾波器是由預定義 內(nèi)插濾波器系數(shù)的多個不同集合來定義。
30.根據(jù)權(quán)利要求28所述的設(shè)備,其中所述預定義內(nèi)插濾波器中的至少一些是基于應(yīng) 用于測試視頻序列的視頻譯碼而經(jīng)預定義。
31.根據(jù)權(quán)利要求28所述的設(shè)備,其中所述運動補償單元 基于整數(shù)像素值而產(chǎn)生半像素值;舍入所述半像素值以產(chǎn)生半像素內(nèi)插值;存儲所述半像素值以作為所述半像素值的未舍入版本;以及基于所述半像素值的所述未舍入版本和所述整數(shù)像素值而產(chǎn)生四分之一像素值。
32.根據(jù)權(quán)利要求31所述的設(shè)備,其中所述值中的每一者可存儲于16位數(shù)據(jù)結(jié)構(gòu)內(nèi), 其中所述運動補償單元基于所述半像素值的多個所述未舍入版本而產(chǎn)生另一半像素值;舍入所述另一半像素值以使得所述另一半像素值可存儲于所述16位數(shù)據(jù)結(jié)構(gòu)內(nèi);以及基于所述另一半像素值和所述半像素值的所述未舍入版本而產(chǎn)生額外四分之一像素值。
33.根據(jù)權(quán)利要求28所述的設(shè)備,其中所述視頻解碼器接收用于產(chǎn)生所述預測性數(shù)據(jù) 的不同參考視頻單元的不同語法元素,且所述運動補償單元基于由所述不同語法元素識別 的不同內(nèi)插濾波器而內(nèi)插用于所述不同參考視頻單元的像素值。
34.根據(jù)權(quán)利要求28所述的設(shè)備,其中所述視頻解碼器接收用于產(chǎn)生所述預測性數(shù)據(jù) 的參考視頻單元的不同視頻塊的不同語法元素,且所述運動補償單元基于由所述不同語法 元素識別的不同內(nèi)插濾波器而內(nèi)插用于所述不同視頻塊的像素值。
35.根據(jù)權(quán)利要求28所述的設(shè)備,其中所述設(shè)備包含集成電路。
36.根據(jù)權(quán)利要求28所述的設(shè)備,其中所述設(shè)備包含微處理器。
37.一種計算機可讀存儲媒體,其包含在執(zhí)行后即刻致使裝置編碼視頻數(shù)據(jù)的指令,其 中所述指令致使所述裝置執(zhí)行以下操作產(chǎn)生預測數(shù)據(jù),其中產(chǎn)生所述預測數(shù)據(jù)包括基于多個不同的預定義內(nèi)插濾波器而內(nèi)插 參考視頻數(shù)據(jù)的像素值;以及基于所述預測數(shù)據(jù)而編碼所述視頻數(shù)據(jù)。
38.根據(jù)權(quán)利要求37所述的計算機可讀存儲媒體,其中所述多個不同的預定義內(nèi)插濾 波器是由預定義內(nèi)插濾波器系數(shù)的多個不同集合來定義。
39.根據(jù)權(quán)利要求37所述的計算機可讀存儲媒體,其中所述指令致使所述裝置執(zhí)行以 下操作基于與所述不同的預定義內(nèi)插濾波器中的每一者相關(guān)聯(lián)的所述預測數(shù)據(jù)而編碼所述 視頻數(shù)據(jù);以及選擇實現(xiàn)最高級別的數(shù)據(jù)壓縮的經(jīng)編碼視頻數(shù)據(jù)。
40.一種計算機可讀存儲媒體,其包含在執(zhí)行后即刻致使裝置解碼視頻數(shù)據(jù)的指令,其 中所述指令致使所述裝置執(zhí)行以下操作在接收到識別來自多個不同的預定義內(nèi)插濾波器的內(nèi)插濾波器的語法元素后即刻,產(chǎn)生預測數(shù)據(jù),其中產(chǎn)生所述預測數(shù)據(jù)包括基于由所述語法元素識別的所述內(nèi)插濾波 器而內(nèi)插參考視頻數(shù)據(jù)的像素值;以及基于所述預測數(shù)據(jù)而解碼所述視頻數(shù)據(jù)。
41.根據(jù)權(quán)利要求40所述的計算機可讀存儲媒體,其中所述預定義內(nèi)插濾波器中的至 少一些是基于應(yīng)用于測試視頻序列的視頻譯碼而經(jīng)預定義。
42.根據(jù)權(quán)利要求40所述的計算機可讀存儲媒體,其中所述指令致使所述裝置執(zhí)行以 下操作在接收到用于產(chǎn)生所述預測性數(shù)據(jù)的不同參考視頻單元的不同語法元素后即刻,基于由所述不同語法元素識別的不同內(nèi)插濾波器而內(nèi)插用于所述不同參考視頻單元 的像素值。
43.根據(jù)權(quán)利要求40所述的計算機可讀存儲媒體,其中所述指令致使所述裝置執(zhí)行以 下操作在接收到用于產(chǎn)生所述預測性數(shù)據(jù)的參考視頻單元的不同視頻塊的不同語法元素后即刻,基于由所述不同語法元素識別的不同內(nèi)插濾波器而內(nèi)插用于所述不同視頻塊的像素值。
44.一種編碼視頻數(shù)據(jù)的裝置,所述裝置包含用于產(chǎn)生預測數(shù)據(jù)的裝置,其中用于產(chǎn)生所述預測數(shù)據(jù)的裝置包括用于基于多個不同的預定義內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值的裝置;以及 用于基于所述預測數(shù)據(jù)而編碼所述視頻數(shù)據(jù)的裝置。
45.一種解碼視頻數(shù)據(jù)的裝置,所述裝置包含用于接收語法元素的裝置,所述語法元素識別來自多個不同的預定義內(nèi)插濾波器的內(nèi) 插濾波器;用于產(chǎn)生預測數(shù)據(jù)的裝置,其中用于產(chǎn)生所述預測數(shù)據(jù)的裝置包括用于基于由所述語 法元素識別的所述內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值的裝置;以及 用于基于所述預測數(shù)據(jù)而解碼所述視頻數(shù)據(jù)的裝置。
46.一種編碼視頻數(shù)據(jù)的裝置,所述裝置包含視頻編碼器,其包括運動補償單元,所述運動補償單元通過基于多個不同的預定義內(nèi) 插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值來產(chǎn)生預測數(shù)據(jù),且基于所述預測數(shù)據(jù)而編碼所述 視頻數(shù)據(jù);以及無線發(fā)射器,其將所述視頻數(shù)據(jù)發(fā)射到另一裝置。
47.根據(jù)權(quán)利要求46所述的裝置,其中所述裝置包含無線通信手持機。
48.一種解碼視頻數(shù)據(jù)的裝置,所述裝置包含 無線接收器,其接收所述視頻數(shù)據(jù);以及視頻解碼器,其包括運動補償單元,所述視頻解碼器接收語法元素,所述語法元素識別來自多個不同的預定義內(nèi)插濾波器的內(nèi)插濾波器; 產(chǎn)生預測數(shù)據(jù),其中產(chǎn)生所述預測數(shù)據(jù)包括基于由所述語法元素識別的所述內(nèi)插濾波 器而內(nèi)插參考視頻數(shù)據(jù)的像素值;以及基于所述預測數(shù)據(jù)而解碼所述視頻數(shù)據(jù)。
49.根據(jù)權(quán)利要求48所述的裝置,其中所述裝置包含無線通信手持機。
全文摘要
本發(fā)明描述由編碼器和解碼器在視頻譯碼的運動補償過程期間執(zhí)行的各種內(nèi)插技術(shù)。在一個實例中,編碼器基于多個不同的預定義內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值。在此實例中,所述解碼器接收識別內(nèi)插濾波器的語法元素,且基于由所述語法元素識別的所述內(nèi)插濾波器而內(nèi)插參考視頻數(shù)據(jù)的像素值。在另一實例中,一種內(nèi)插預測性視頻數(shù)據(jù)的方法包括基于整數(shù)像素值而產(chǎn)生半像素值;舍入所述半像素值以產(chǎn)生半像素內(nèi)插值;存儲所述半像素值以作為所述半像素值的未舍入版本;以及基于所述半像素值的所述未舍入版本和所述整數(shù)像素值而產(chǎn)生四分之一像素值。
文檔編號H04N7/26GK101990760SQ200980112683
公開日2011年3月23日 申請日期2009年4月10日 優(yōu)先權(quán)日2008年4月10日
發(fā)明者葉琰, 瑪爾塔·卡切維奇, 陳培松 申請人:高通股份有限公司