日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

用調(diào)色板模式對經(jīng)逸出編碼的像素的穩(wěn)健編碼/解碼的制作方法

文檔序號:11162254閱讀:571來源:國知局
用調(diào)色板模式對經(jīng)逸出編碼的像素的穩(wěn)健編碼/解碼的制造方法與工藝

工程師使用壓縮(也叫做源編碼(source coding或source encoding))來降低數(shù)字視頻的位率。壓縮通過將視頻信息轉(zhuǎn)換成較低位率的形式來降低存儲和傳送該信息的成本。解壓(也被稱為解碼)從壓縮的形式中重構(gòu)一種版本的原始信息?!熬幗獯a器”是編碼器/解碼器系統(tǒng)。

在過去的至少25年中,已采用了各種視頻編解碼器標準,包括ITU-T H.261、H.262(MPEG-2或ISO/IEC 13818-2)、H.263、H.264(MPEG-4AVC或ISO/IEC14496-10)標準、MPEG-1(ISO/IEC 11172-2)和MPEG-4視覺(ISO/IEC 14496-2)標準以及SMPTE 421M(VC-1)標準。最近,H.265/HEVC標準(ITU-T H.265或ISO/IEC 23008-2)已被批準。目前,(例如,用于可縮放視頻編碼/解碼、用于在樣本位深度或色度采樣率方面具有較高保真度的視頻的編碼/解碼、用于屏幕捕捉內(nèi)容、或用于多視圖編碼/解碼的)H.265/HEVC標準的擴展處于開發(fā)中。視頻編解碼器標準通常定義針對經(jīng)編碼的視頻位流的句法的選項,從而詳述當在編碼和解碼時使用特定特征時該位流中的參數(shù)。在許多情況下,視頻編解碼器標準還提供關(guān)于視頻解碼器應當執(zhí)行以在解碼時取得一致的結(jié)果的解碼操作的細節(jié)。除了編解碼器標準外,各種專用編解碼器格式定義針對經(jīng)編碼的視頻位流的句法的其他選項以及相應的解碼操作。

不同的編解碼器標準和格式支持不同的編碼/解碼工具。調(diào)色板模式是所考慮的針對用于屏幕捕捉內(nèi)容的編碼/解碼的H.265/HEVC標準的擴展的編碼/解碼工具。調(diào)色板模式在編碼某些“人工”創(chuàng)建的視頻內(nèi)容(諸如屏幕捕捉內(nèi)容)時可能是有幫助的。屏幕捕捉內(nèi)容通常包括與自然視頻相比使用很少的不同色彩的重復結(jié)構(gòu)(例如,圖形、文本字符)。這提供了調(diào)色板模式改善性能的機會。一般來說,在調(diào)色板模式中,視頻編碼器使用表示調(diào)色板中的各基礎(chǔ)色彩的索引值對各像素進行編碼。一般來說,像素包括針對在圖片中的位置的一個或多個樣本值。索引值中的每一者與單元的各色彩中的不同值(“基礎(chǔ)色彩”)相關(guān)聯(lián)。例如,如果8x8單元在該單元的64個像素中具有4個不同的色彩,則編碼器向那4個基礎(chǔ)色彩分派4個不同的索引值。在編碼期間,各像素被對應的索引值取代。編碼器編碼并信號化將索引值映射到基礎(chǔ)色彩的調(diào)色板以及關(guān)于表示這些像素的索引值的布置的數(shù)據(jù)(“索引圖”)。解碼器接收并解碼調(diào)色板和索引圖。使用該信息,解碼器用基礎(chǔ)色彩取代索引圖中的索引值以獲得原始像素。

在調(diào)色板模式的一些設(shè)計中,稀有色彩可用逸出模式(escape mode)來編碼和解碼。在逸出模式中,像素不是使用調(diào)色板中的基礎(chǔ)色彩來表示的。相反,特殊像素值標記像素以供用逸出模式進行編碼和解碼。經(jīng)逸出編碼的像素的每一樣本值被量化(該量化將該樣本值映射到“箱(bin)”集合中的一個“箱”以便近似該樣本值)并被熵編碼,這通常減少了用于表示經(jīng)量化的樣本值的位數(shù)。在調(diào)色板模式的逸出模式采用H.265/HEVC標準的當前設(shè)計中,對經(jīng)量化的樣本值的熵編碼導致對某些類型的數(shù)據(jù)丟失不穩(wěn)健的經(jīng)編碼的數(shù)據(jù)。具體地,(例如,由經(jīng)編碼的數(shù)據(jù)中的位翻轉(zhuǎn)造成的)傳輸錯誤可導致經(jīng)重構(gòu)的像素的嚴重質(zhì)量降級。

概述

總而言之,詳細描述呈現(xiàn)用調(diào)色板模式對經(jīng)逸出編碼的像素進行穩(wěn)健編碼和解碼方面的創(chuàng)新。例如,在調(diào)色板模式中經(jīng)逸出編碼的像素的樣本值是使用取決于這些樣本值的量化參數(shù)(“QP”)的恒定值的二值化過程來編碼/解碼的?;蛘?,作為另一示例,在調(diào)色板模式中經(jīng)逸出編碼的像素的樣本值是使用取決于這些樣本值的樣本深度的二值化過程來編碼/解碼的?;蛘?,作為又一示例,在調(diào)色板模式中經(jīng)逸出編碼的像素的樣本值是使用取決于某個其他固定規(guī)則的二值化過程來編碼/解碼的。在各示例實現(xiàn)中,這些方法避免在解析經(jīng)逸出編碼的像素的樣本值時對單元級QP值的依賴性,這可使得編碼/解碼對數(shù)據(jù)丟失更穩(wěn)健。

根據(jù)本文中描述的創(chuàng)新的一個方面,媒體編碼器(諸如視頻編碼器或圖像編碼器)接收圖片并對圖片進行編碼。作為對圖片進行編碼的一部分,媒體編碼器用調(diào)色板模式對該圖片的單元進行編碼。通過這樣做,媒體編碼器用調(diào)色板模式的逸出模式獨立于單元的任何單元級QP對該單元的樣本值進行編碼。

根據(jù)本文中描述的各創(chuàng)新的另一個方面,媒體解碼器(諸如視頻解碼器或圖像解碼器)接收圖片的經(jīng)編碼的數(shù)據(jù)并對該圖片進行解碼。作為對該圖片進行解碼的一部分,媒體解碼器用調(diào)色板模式對該圖片的單元進行解碼。通過這樣做,媒體解碼器用調(diào)色板模式的逸出模式對該單元的樣本值進行解碼,而沒有對該單元的單元級QP的任何解析依賴性。

本發(fā)明可以被實現(xiàn)為方法的部分、被配置為執(zhí)行所述方法的計算系統(tǒng)的部分或存儲用于使得計算系統(tǒng)執(zhí)行所述方法的計算機可執(zhí)行指令的有形計算機可讀介質(zhì)的部分。各創(chuàng)新可以結(jié)合地或分開地使用。提供本概述以便以簡化的形式介紹將在以下的詳細描述中進一步描述的一些概念。本概述并不旨在標識出所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于限定所要求保護的主題的范圍。參考附圖閱讀以下詳細描述,將更清楚本發(fā)明的前述和其他目標、特征和優(yōu)點。

附圖簡述

圖1是示出可用于實現(xiàn)所描述的一些實施例的示例計算系統(tǒng)的示圖。

圖2a和2b是示出可用于實現(xiàn)所描述的一些實施例的示例網(wǎng)絡(luò)環(huán)境的示圖。

圖3是示出結(jié)合其可實現(xiàn)所描述的一些實施例的示例視頻編碼器系統(tǒng)的示圖。

圖4a和4b是示出結(jié)合其可實現(xiàn)所描述的一些實施例的示例視頻編碼器的示圖。

圖5是結(jié)合其可實現(xiàn)所描述的一些實施例的示例解碼器系統(tǒng)的示圖。

圖6是示出結(jié)合其可實現(xiàn)所描述的一些實施例的示例視頻解碼器的示圖。

圖7是用調(diào)色板模式進行編碼和解碼的示例的示圖。

圖8a和8b是示出用調(diào)色板模式的逸出模式對樣本值分別進行編碼和解碼的示例的示圖。

圖9和10是示出分別用于進行編碼和解碼(包括用調(diào)色板模式的逸出模式對像素進行穩(wěn)健編碼/解碼)的通用技術(shù)的流程圖。

圖11和12是示出使用取決于片級QP的二值化過程對樣本值分別進行編碼和解碼的示例技術(shù)的流程圖。

圖13是示出用于在調(diào)色板模式中信號化經(jīng)逸出編碼的像素的片級QP偏移的示例句法的表格。

圖14和15是示出使用取決于樣本值的樣本深度的二值化過程對樣本值分別進行編碼和解碼的示例技術(shù)的流程圖。

圖16和17是示出用于使用k階指數(shù)-Golomb二值化過程對樣本值分別進行編碼和解碼的示例技術(shù)的流程圖。

圖18是示出用于k階指數(shù)-Golomb二值化過程的示例技術(shù)的偽代碼列表。

詳細描述

該詳細描述呈現(xiàn)用調(diào)色板模式對經(jīng)逸出編碼的像素進行穩(wěn)健編碼和解碼方面的創(chuàng)新。例如,在調(diào)色板模式中經(jīng)逸出編碼的像素的樣本值是使用取決于用于這些樣本值的量化參數(shù)(“QP”)的恒定值的二值化過程來編碼/解碼的?;蛘?,作為另一示例,在調(diào)色板模式中經(jīng)逸出編碼的像素的樣本值是使用取決于這些樣本值的樣本深度的二值化過程來編碼/解碼的?;蛘?,作為又一示例,在調(diào)色板模式中經(jīng)逸出編碼的像素的樣本值是使用取決于某個其他固定規(guī)則的二值化過程來編碼/解碼的。在各示例實現(xiàn)中,這些方法避免在解析經(jīng)逸出編碼的像素的樣本值時對單元級QP值的依賴性,這可使得編碼/解碼對數(shù)據(jù)丟失更穩(wěn)健。

本文中描述的一些創(chuàng)新是參考針對H.265/HEVC標準以及H.265/HEVC標準的擴展的條款來解說的。例如,一些創(chuàng)新被描述為相對于標題為“High Efficiency Video Coding(HEVC)Screen Content Coding:Draft 3(高效視頻編碼(HEVC)屏幕內(nèi)容編碼:草稿3)”的文檔JCTVC-T1005-v2的特征的改變。本文中描述的創(chuàng)新也可針對其他視頻編解碼器標準或格式(例如,VP9格式、H.264/AVC標準)來實現(xiàn)?;蛘?,本文中描述的創(chuàng)新可針對圖像編解碼器標準或格式來實現(xiàn)。

在本文中描述的示例中,不同的圖中的相同參考標記指示相同的組件、模塊或操作。取決于上下文,給定組件或模塊可接受不同類型的信息作為輸入和/或產(chǎn)生不同類型的信息作為輸出。

更一般地,本文中描述的各示例的各種替代是可能的。例如,本文中描述的一些方法可以通過改變描述的方法動作的順序、通過拆分、重復或忽略某些方法動作等來更改。所公開的技術(shù)的各方面能夠被組合地或分開地使用。不同的實施例使用所描述的創(chuàng)新中的一個或多個。本文中描述的一些創(chuàng)新解決了背景中指出的一個或多個問題。通常,所給出的技術(shù)/工具并不解決所有這些問題。

I.示例計算系統(tǒng)

圖1示出了在其中可實現(xiàn)若干所描述的發(fā)明的合適的計算環(huán)境(100)的一般化示例。計算系統(tǒng)(100)并不旨對使用范圍或功能提出任何限制,因為這些創(chuàng)新可以在不同的通用或?qū)S糜嬎阆到y(tǒng)中實現(xiàn)。

參考圖1,計算環(huán)境(100)包括一個或多個處理單元(110、115)和存儲器(120、125)。處理單元(110、115)執(zhí)行計算機可執(zhí)行指令。處理單元可以是通用中央處理單元(“CPU”)、專用集成電路(“ASIC”)中的處理器或任何其它類型的處理器。在多處理系統(tǒng)中,多個處理單元執(zhí)行計算機可執(zhí)行指令以提高處理能力。例如,圖1示出中央處理單元(110)以及圖形處理單元或協(xié)處理單元(115)。有形存儲器(120、125)可以是易失性存儲器(例如,寄存器、高速緩存、RAM)、非易失性存儲器(例如,ROM、EEPROM、閃存等)或兩者的某種組合,可由處理單元存取。存儲器(120,125)存儲實現(xiàn)針對切換色彩空間時的編碼或解碼的一個或多個創(chuàng)新的軟件(180),該軟件采用適用于由(諸)處理單元執(zhí)行的計算機可執(zhí)行指令的形式。

計算系統(tǒng)可具有附加的特征。例如,計算系統(tǒng)(100)包括存儲(140)、一個或多個輸入設(shè)備(150)、一個或多個輸出設(shè)備(160)以及一個或多個通信連接(170)。諸如總線、控制器或網(wǎng)絡(luò)之類的互連機制(未示出)將計算系統(tǒng)(100)的各組件互連。通常,操作系統(tǒng)軟件(未示出)為在計算系統(tǒng)(100)中執(zhí)行的其它軟件提供操作環(huán)境,并協(xié)調(diào)計算系統(tǒng)(100)的各組件的活動。

有形存儲(140)可以是可移動或不可移動的,并包括磁盤、磁帶或磁帶盒、諸如CD-ROM、DVD之類的光學媒體或可用于儲存信息并可在計算系統(tǒng)(100)內(nèi)訪問的任何其他介質(zhì)。存儲(140)存儲實現(xiàn)針對用調(diào)色板模式對經(jīng)逸出編碼的像素進行穩(wěn)健編碼/解碼的一個或多個創(chuàng)新的軟件(180)的指令。

(諸)輸入設(shè)備(150)可以是觸摸輸入設(shè)備(諸如鍵盤、鼠標、筆或跟蹤球)、語音輸入設(shè)備、掃描設(shè)備或向計算系統(tǒng)(100)提供輸入的另一設(shè)備。對于視頻,(諸)輸入設(shè)備(150)可以是相機、視頻卡、屏幕捕捉模塊、TV調(diào)諧卡或接受模擬或數(shù)字形式的視頻輸入的類似設(shè)備、或?qū)⒁曨l輸入讀到計算系統(tǒng)(100)中的CD-ROM或CD-RW。(諸)輸出設(shè)備(160)可以是顯示器、打印機、揚聲器、CD刻錄機或提供來自計算系統(tǒng)(100)的輸出的另一設(shè)備。

(諸)通信連接(170)允許通過通信介質(zhì)與另一計算實體通信。通信介質(zhì)傳達諸如計算機可執(zhí)行指令、音頻或視頻輸入或輸出、或已調(diào)制數(shù)據(jù)信號中的其他數(shù)據(jù)之類的信息。已調(diào)制數(shù)據(jù)信號是使其一個或多個特征以在信號中編碼信息的方式設(shè)置或改變的信號。作為示例而非限制,通信介質(zhì)可以使用電的、光學的、RF或其它載體。

各創(chuàng)新可以在計算機可讀介質(zhì)的一般上下文中描述。計算機可讀介質(zhì)是可在計算環(huán)境內(nèi)訪問的任何可用有形介質(zhì)。作為示例而非限制,對于計算系統(tǒng)(100),計算機可讀介質(zhì)包括存儲器(120,125)、存儲(140)及其組合。如本文中所使用的,術(shù)語計算機可讀介質(zhì)不包括瞬時信號或傳播載波。

各創(chuàng)新可在計算機可執(zhí)行指令(諸如包括在程序模塊中的在目標現(xiàn)實或虛擬處理器上在計算系統(tǒng)中執(zhí)行的那些計算機可執(zhí)行指令)的一般上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、庫、對象、類、組件、數(shù)據(jù)結(jié)構(gòu)等。如各實施例中所描述的,這些程序模塊的功能可以被組合,或者在這些程序模塊之間拆分。針對各程序模塊的計算機可執(zhí)行指令可以在本地或分布式計算系統(tǒng)中執(zhí)行。

術(shù)語“系統(tǒng)”和“設(shè)備”在此被互換地使用。除非上下文明確指示,否則,術(shù)語并不暗示對計算系統(tǒng)或計算設(shè)備的類型的任何限制。一般說來,計算系統(tǒng)或計算設(shè)備可以是本地的或分布式的,并且可以包括具有實現(xiàn)本文中描述的功能的軟件的專用硬件和/或通用硬件的任意組合。

所公開的方法還可使用被配置成執(zhí)行所公開的方法中的任一者的專用計算硬件來實現(xiàn)。例如,所公開的方法可以由被專門設(shè)計或配置成實現(xiàn)所公開的方法中的任一者的集成電路(例如,諸如ASIC數(shù)字信號處理器(“DSP”)之類的ASIC、圖像處理單元(“GPU”)、或諸如場可編程門陣列(“FPGA”)之類的可編程邏輯器件(“PLD”))來實現(xiàn)。

為了呈現(xiàn)起見,本詳細描述使用了如“確定”和“評估”等術(shù)語來描述計算系統(tǒng)中的計算機操作。這些術(shù)語是對由計算機執(zhí)行的操作的高級抽象,且不應與人類所執(zhí)行的動作混淆。對應于這些術(shù)語的實際的計算機操作取決于實現(xiàn)而不同。

II.示例網(wǎng)絡(luò)環(huán)境

圖2a和2b示出了包括視頻編碼器(220)和視頻解碼器(270)的示例網(wǎng)絡(luò)環(huán)境(201,202)。編碼器(220)和解碼器(270)使用合適的通信協(xié)議通過網(wǎng)絡(luò)(250)連接。網(wǎng)絡(luò)(250)可包括因特網(wǎng)或另一計算機網(wǎng)絡(luò)。

在圖2a中所示的網(wǎng)絡(luò)環(huán)境(201)中,每個實時通信(“RTC”)工具(210)包括用于雙向通信的編碼器(220)和解碼器(270)兩者。給定的編碼器(220)可以產(chǎn)生輸出,該輸出遵循H.265/HEVC標準、SMPTE 421M標準、ISO/IEC 14496-10標準(也稱為H.264或AVC)、另一標準的變體或擴展,或遵循針對接受來自編碼器(220)的經(jīng)編碼的數(shù)據(jù)的對應的解碼器(270)的專用格式(諸如VP8或VP9)。雙向通信可以是視頻會議、視頻電話呼叫或其它雙方或多方通信場景的部分。雖然,圖2a中的網(wǎng)絡(luò)環(huán)境(201)包括兩個實時通信工具(210),但網(wǎng)絡(luò)環(huán)境(201)可改為包括參與多方通信的三個或更多的實時通信工具(210)。

實時通信工具(210)管理編碼器(220)作出的編碼。圖3示出可以被包括在實時通信工具(210)中的示例編碼器系統(tǒng)(300)。替換地,實時通信工具(210)使用另一編碼器系統(tǒng)。實時通信工具(210)還管理解碼器(270)作出的解碼。圖5示出可以被包括在實時通信工具(210)中的示例解碼器系統(tǒng)(500)。替換地,實時通信工具(210)使用另一解碼器系統(tǒng)。

在圖2b中示出的網(wǎng)絡(luò)環(huán)境(202)中,編碼工具(212)包括對供遞送給多個回放工具(214)的視頻進行編碼的編碼器(220),這些回放工具包括解碼器(270)。單向通信可被提供用于視頻監(jiān)視系統(tǒng)、web相機監(jiān)視系統(tǒng)、遠程桌面會議演示或共享、無線屏幕投射、云計算或游戲、在其中編碼視頻并將視頻從一個位置發(fā)送到一個或多個其它位置的其它場景。雖然在圖2b中的網(wǎng)絡(luò)環(huán)境(202)包括兩個回放工具(214),該網(wǎng)絡(luò)環(huán)境(202)可以包括更多或更少的回放工具(214)。一般來說,回放工具(214)與編碼工具(212)通信以確定回放工具(214)要接收的視頻流?;胤殴ぞ?214)接收該流、緩沖所接收的經(jīng)編碼數(shù)據(jù)達合適的時間段并開始解碼和回放。

圖3示出可以被包括在編碼工具(212)中的示例編碼器系統(tǒng)(300)。替換地,編碼工具(212)使用另一編碼器系統(tǒng)。編碼工具(212)還可以包括用于管理與一個或多個回放工具(214)的連接的服務器側(cè)控制器邏輯?;胤殴ぞ?214)可包括用于管理與編碼工具(212)的連接的客戶機側(cè)控制器邏輯。圖5示出可以被包括在回放工具(214)中的示例解碼器系統(tǒng)(500)。替換地,回放工具(214)使用另一解碼器系統(tǒng)。

III.示例編碼器系統(tǒng)。

圖3示出結(jié)合其可實現(xiàn)所描述的一些實施例的示例視頻編碼器系統(tǒng)(300)。視頻編碼器系統(tǒng)(300)包括視頻編碼器(340),視頻編碼器(340)在圖4a和4b中被進一步詳述。

視頻編碼器系統(tǒng)(300)可以是能夠用多種編碼模式中的任一者(諸如用于實時通信的低等待時間編碼模式、轉(zhuǎn)碼模式和用于從文件或流中產(chǎn)生供回放的媒體的較高等待時間編碼模式)操作的通用編碼工具,或它可以是適用于一種這樣的編碼模式的專用編碼工具。視頻編碼器系統(tǒng)(300)可適用于編碼特定類型的內(nèi)容。視頻編碼器系統(tǒng)(300)可以被實現(xiàn)為操作系統(tǒng)模塊的部分、應用庫的部分、獨立的應用的部分或使用專用的硬件。總體上,視頻編碼器系統(tǒng)(300)從視頻源(310)接收源視頻圖片(311)序列并產(chǎn)生經(jīng)編碼的數(shù)據(jù)作為到信道(390)的輸出。輸出到信道的經(jīng)編碼的數(shù)據(jù)可包括使用本文中描述的一個或多個創(chuàng)新編碼的內(nèi)容。

視頻源(310)可以是相機、調(diào)諧卡、存儲介質(zhì)、屏幕捕捉模塊或其它數(shù)字視頻源。所述視頻源(310)以例如每秒30幀的幀速率產(chǎn)生視頻圖片序列。如在此所用,術(shù)語“圖片”一般是指源、已譯碼的或已重構(gòu)的圖像數(shù)據(jù)。對于逐行掃描視頻,圖片是逐行掃描視頻幀。對于隔行視頻,在各示例實施例中,隔行視頻幀可以在編碼之前被去隔行。替換地,兩個互補的隔行視頻場可以被編碼在一起作為單個視頻幀或者被編碼成兩個經(jīng)分開編碼的場。除了指示逐行掃描視頻幀或隔行掃描視頻幀之外,術(shù)語“圖片”可以指示單個非成對的視頻場、互補的成對視頻場、表示在給定時間或在較大的圖像中的感興趣區(qū)域處的視頻對象的視頻對象平面。視頻對象平面或區(qū)域可以是包括場景的多個對象或區(qū)域的較大圖像的一部分。

正在到達的源圖片(311)被存儲在包括多個圖片緩沖存儲區(qū)域(321,322,…,32n)的源圖片臨時存儲器存儲區(qū)域(320)中。圖片緩沖器(321,322等)在源圖片存儲區(qū)域(320)中保持一個源圖片。在已經(jīng)將一個或多個源圖片(311)存儲在圖片緩沖器(321,322等)中之后,圖片選擇器(330)從源圖片存儲區(qū)域(320)中選擇個體源圖片來編碼為當前圖片(331)。各圖片被圖片選擇器(330)選擇用于輸入到視頻編碼器(340)的次序可以與視頻源(310)產(chǎn)生這些圖片的次序不同,例如對某些圖片的編碼可在次序上被延遲,以便允許某些較后的圖片被先編碼并由此促成時間上的后向預測。視頻編碼器系統(tǒng)(300)可在視頻編碼器(340)之前包括在編碼之前對當前圖片(331)執(zhí)行預處理(例如濾波)的預處理器(未示出)。該預處理可包括將色彩空間轉(zhuǎn)換成主要(例如亮度)和次要(例如偏向紅色和偏向藍色的色度差)分量以及對編碼的重采樣處理(例如以減少色度分量的空間分辨率)。由此,在編碼之前,視頻可以被轉(zhuǎn)換成諸如YUV的色彩空間,在其中亮度(Y)分量的樣本值表示明亮度或強度值,而色度(U,V)分量的樣本值表示色差值。色差值(以及從YUV色彩空間到諸如RGB的另一色彩空間/從另一色彩空間到Y(jié)UV色彩空間的轉(zhuǎn)換操作)的精確定義取決于實現(xiàn)。一般來說,如本文中所使用的,術(shù)語YUV指示具有亮度(或照度)分量和一個或多個色度(或色差)分量的任意色彩空間,包括Y’UV、YIQ、Y’IQ和YDbDr以及諸如YCbCr和YCoCg之類的變體。色度樣本值可以被子采樣到較低的色度采樣率(例如針對YUV 4:2:0格式或YUV 4:2:2格式的情況),或者色度樣本值可以具有與亮度樣本值相同的分辨率(例如針對YUV4:4:4格式的情況)。替換地,視頻可根據(jù)另一格式(例如RGB 4:4:4格式、GBR 4:4:4格式或BGR 4:4:4格式)來組織。一般來說,像素是針對在圖片中的位置的一個或多個搭配樣本值的集合,該集合對于不同的色度采樣格式可用不同的方式來布置。

視頻編碼器(340)對當前圖片(331)進行編碼以產(chǎn)生經(jīng)編碼的圖片(341)。如圖4a和4b所示,視頻編碼器(340)接收當前圖片(331)作為輸入視頻信號(405),并在經(jīng)編碼的視頻位流(495)中產(chǎn)生經(jīng)編碼的圖片(341)的經(jīng)編碼的數(shù)據(jù)作為輸出。作為該編碼的一部分,在一些情況下,視頻編碼器(340)使用用調(diào)色板模式對經(jīng)逸出編碼的像素的穩(wěn)健編碼。

通常,視頻編碼器(340)包括執(zhí)行諸如分割成小塊、圖片內(nèi)預測估計和預測、調(diào)色板模式編碼、運動估計和補償、頻率變換、量化和熵譯碼之類的編碼任務。視頻編碼器(340)的許多組件被用于圖片內(nèi)編碼和圖片間編碼兩者。由視頻編碼器(340)執(zhí)行的確切操作可取決于壓縮格式而變化,并可取決于編碼器可選的實現(xiàn)判定而變化。輸出的經(jīng)編碼數(shù)據(jù)的格式可以是Windows媒體視頻格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263或H.264)、或VPx格式、或其它格式的變型或擴展。

如圖4a所示,視頻編碼器(340)可包括小塊化模塊(410)。使用小塊化模塊(410),視頻編碼器(340)可將圖片分割成相同尺寸或不同尺寸的多個小塊。例如,小塊化模塊(410)沿小塊行和小塊列來拆分圖片,所述小塊行和小塊列利用圖片邊界定義在圖片內(nèi)的小塊的水平和垂直邊界,其中每個小塊是矩形區(qū)域。小塊通常被用于提供并行處理的選項。圖片還可以被組織為一個或多個片,其中一個片可以是整個圖片或圖片的部分。片可以獨立于圖片中的其它片被解碼,這改善了錯誤復原力。出于編碼和解碼的目的,片或小塊的內(nèi)容被進一步分割成塊或其它采樣值集。塊可在不同的階段(例如在預測、頻率變換和/或熵編碼階段)被進一步細分。例如,圖片可以被劃分成64x64塊、32x32塊或16x16塊,這些塊進而可被劃分成更小的樣本值塊以用于編碼和解碼。

對于根據(jù)H.264/AVC標準的句法,視頻編碼器(340)可以將圖片分割成相同尺寸或不同尺寸的多個片。視頻編碼器(340)將圖片(或片)的內(nèi)容拆分成各16x16宏塊。宏塊包括被組織為4個8x8亮度塊的亮度樣本值和被組織為8x8色度塊的相應的色度樣本值。通常,宏塊具有諸如幀間或幀內(nèi)之類的預測模式。宏塊包括用于信號化預測信息(例如預測模式細節(jié)、運動向量(“MV”)信息等)和/或預測處理的目的的一個或多個預測單元(例如,各8x8塊、各4x4塊,這些塊可被稱為用于圖片間預測的分區(qū))。宏塊還具有用于殘量編碼/解碼目的的一個或多個殘量數(shù)據(jù)單元。

對于根據(jù)H.265/HEVC標準的句法來說,視頻編碼器(340)將圖片(或片或小塊)的內(nèi)容拆分成各編碼樹單元。編碼樹單元(“CTU”)包括被組織為亮度編碼樹塊(“CTB”)的亮度采樣值,并且對應的色度樣本值被組織為兩個色度CTB。CTU(及其CTB)的尺寸由視頻編碼器選擇。亮度CTB可包含例如64x64、32x32或16x16亮度樣本值。CTU包括一個或多個編碼單元。編碼單元(“CU”)具有亮度編碼塊(“CB”)和兩個對應的色度CB。例如,根據(jù)四叉樹句法,具有64x64亮度CTB和兩個64x64色度CTB(YUV 4:4:4格式)的CTU可以被拆分成4個CU,其中每一CU包括一32x32亮度CB和兩個32x32色度CB,并且根據(jù)四叉樹句法,每一CU可能被進一步拆分成更小的CU?;蛘?,作為另一示例,根據(jù)四叉樹句法,具有64x64亮度CTB和兩個32x32色度CTB(YUV 4:2:0格式)的CTU可被拆分成4個CU,其中每一CU包括一32x32亮度CB和兩個16x16色度CB,并且根據(jù)四叉樹句法,每一CU可被進一步拆分成更小的CU。

在H.265/HEVC實現(xiàn)中,CU具有諸如幀間或幀內(nèi)之類的預測模式。CU通常包括用于信號化預測信息(例如預測模式細節(jié)、移位值等)和/或預測處理的目的的一個或多個預測單元。預測單元(“PU”)具有亮度預測塊(“PB”)和兩個對應的色度PB。根據(jù)H.265/HEVC標準,對于圖片內(nèi)預測的CU,PU具有與該CU相同的尺寸,除非該CU具有最小尺寸(例如8x8)。在那個情況下,CU可被拆分成更小的PU(例如,對于圖片內(nèi)預測情況,如果最小CU尺寸為8x8,則被拆分成四個4x4PU),或者PU可具有最小CU尺寸,如CU的句法元素所指示的。對于圖片間預測的CU,該CU可具有一個、兩個或四個PU,其中拆分成四個PU僅在該CU具有最小可允許尺寸的情況下才被允許。

在H.265/HEVC實現(xiàn)中,CU通常還具有用于殘量編碼和解碼的目的的一個或多個變換單元,其中變換單元(“TU”)具有亮度變換塊(“TB”)和兩個色度TB。CU可包含單個TU(在尺寸上等于該CU)或多個TU。根據(jù)四叉樹句法,TU可被拆分為四個更小的TU,這些TU可進而根據(jù)四叉樹句法被拆分成更小的TU。視頻編碼器決定如何將視頻分割成CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。

在H.265/HEVC實現(xiàn)中,片可包括單個片段(獨立的片段)或被劃分成多個片段(獨立的片段和一個或多個從屬的片段)。片段是包含在單個網(wǎng)絡(luò)抽象層(“NAL”)單元中的在小塊掃描中連續(xù)排序的整數(shù)個CTU。對于獨立的片段,片段頭部包括適用于該獨立的片段的句法元素的值。對于從屬片段,截短的片段頭部包括適用于該從屬片段的句法元素的幾個值,并且從屬片段的其它句法元素的值是以解碼順序從在前的獨立的片段的值中推導出來的。

如本文中所使用的,術(shù)語“塊”可指示宏塊、殘量數(shù)據(jù)單元、CTB、CB、PB或TB、或某些其它樣本值集,這取決于上下文。術(shù)語“單元”可指示宏塊、CTU、CU、PU、TU或某些其他塊集,或者它可指示單個塊,這取決于上下文。

如圖4a所示,視頻編碼器(340)包括通用編碼控件,該通用編碼控件(420)接收當前圖片(331)的輸入視頻信號(405)以及來自視頻編碼器(340)的各個模塊的反饋(未示出)。整體上,通用編碼控件(420)將控制信號(未示出)提供給其它模塊(諸如小塊化模塊(410)、變換器/縮放器/量化器(430)、縮放器/逆變換器(435)、圖片內(nèi)預測估計器(440)、運動估計器(450)、調(diào)色板模式編碼器(480)以及幀內(nèi)/幀間切換)以設(shè)置和改變編碼期間的編碼參數(shù)。通用編碼控件(420)還可評估編碼期間的中間結(jié)果,通常考慮不同選項的位率成本和/或失真成本。具體地,通用編碼控件(420)判定將圖片內(nèi)預測還是圖片間預測用于當前圖片(331)的各單元,并且在圖片內(nèi)預測被用于某單元的情況下判定將空間預測(外推)、幀內(nèi)塊復制預測還是調(diào)色板模式用于該單元。通用編碼控件(420)產(chǎn)生指示在編碼期間作出的判定的通用控制數(shù)據(jù)(422),使得對應的解碼器可以作出一致的判定。例如,通用控制數(shù)據(jù)(422)包括指示針對某單元的圖片內(nèi)編碼使用調(diào)色板編碼模式還是空間預測(例如,每個經(jīng)圖片內(nèi)預測的單元一個標志值)的信息。通用控制數(shù)據(jù)(422)被提供給頭部格式化器/熵編碼器(490)。

參考圖4b,如果當前圖片(331)中的單元是使用圖片間預測來預測的,則運動估計器(450)估計該單元的樣本值塊相對于一個或多個參考圖片的運動。當前圖片(331)可全部或部分使用圖片間預測來編碼。當使用多個參考圖片時,這多個參考圖片可以來自不同的時間方向或相同的時間方向。運動估計器(450)潛在地評估處于上下文運動模式的候選MV以及其他候選MV。對于上下文運動模式,作為單元的候選MV,運動估計器(450)評估在運動補償時對局部鄰域中的某些相鄰單元使用的一個或多個MV或依據(jù)規(guī)則推導出的一個或多個MV。針對上下文運動模式的候選MV可包括來自空間上毗鄰的單元的MV、來自時間上毗鄰的單元的MV以及依據(jù)規(guī)則推導出的MV。在H.265/HEVC標準中,合并模式是上下文運動模式的示例。在一些情況下,上下文運動模式可涉及多個推導出MV之間的競爭以及對多個推導出MV之一的選擇。運動估計器(450)可為當前圖片(331)的給定單元的分割(例如,在H.265/HEVC標準中為針對CU的各PU的2N×2N、2N×N、N×2N或N×N分割)評估運動補償?shù)牟煌指钅J健?/p>

解碼圖片緩沖器(470)(其是如圖3所示的經(jīng)解碼圖片臨時存儲器存儲區(qū)域(360)的示例)緩沖一個或多個經(jīng)重構(gòu)的先前編碼的圖片以供用作參考圖片。運動估計器(450)產(chǎn)生運動數(shù)據(jù)(452)作為輔助信息。具體地,運動數(shù)據(jù)(452)可包括指示上下文運動模式(例如,在H.265/HEVC標準中為合并模式)是否被使用的信息,以及如果上下文運動模式被使用,則包括指示上下文運動模式的候選MV的信息(例如,在H.265/HEVC標準中為合并模式索引值)。更一般地,運動數(shù)據(jù)(452)可包括MV數(shù)據(jù)和參考圖片選擇數(shù)據(jù)。運動數(shù)據(jù)(452)被提供給頭部格式化器/熵編碼器(490)以及運動補償器(455)。運動補償器(455)將塊的(諸)MV應用于來自經(jīng)解碼圖片緩沖器(470)的(諸)經(jīng)重構(gòu)的參考圖片。對于該塊,運動補償器(455)產(chǎn)生運動補償預測,其是用來生成該塊的運動補償預測值的(諸)參考圖片中的樣本值區(qū)域。

參考圖4b,如果當前圖片(331)的單元是使用圖片內(nèi)預測來預測的,則圖片內(nèi)預測估計器(440)確定如何執(zhí)行針對該單元的樣本值塊的圖片內(nèi)預測。當前圖片(331)可全部或部分使用圖片內(nèi)預測來編碼。對于幀內(nèi)空間預測,圖片內(nèi)估計器(440)使用當前圖片(331)的重構(gòu)(438)的值來確定如何從當前圖片(331)的鄰近的、先前重構(gòu)的樣本值中空間地預測當前圖片(331)的塊的樣本值,例如估計鄰近的經(jīng)重構(gòu)的樣本值到該塊的外推?;蛘撸瑢τ趲瑑?nèi)塊復制模式,圖片內(nèi)預測估計器(440)使用指示當前圖片(331)的先前編碼/解碼的部分的偏移(有時被稱為塊向量)來確定如何預測當前圖片(331)的塊的樣本值。幀內(nèi)塊復制模式可被實現(xiàn)為圖片間預測的特殊情況,其中參考圖片是當前圖片(331),并且僅當前圖片(331)的先前編碼/解碼的樣本值可被用于預測。作為輔助信息,圖片內(nèi)預測估計器(440)產(chǎn)生諸如所使用的預測模式/方向之類的幀內(nèi)預測數(shù)據(jù)(442)。幀內(nèi)預測數(shù)據(jù)(442)被提供給頭部格式化器/熵編碼器(490)以及圖片內(nèi)預測器(445)。根據(jù)幀內(nèi)預測數(shù)據(jù)(442),圖片內(nèi)預測器(445)從當前圖片(331)的鄰近的、先前重構(gòu)的樣本值中空間地預測當前圖片(331)的塊的樣本值,從而產(chǎn)生該塊的圖片內(nèi)預測值?;蛘?,圖片內(nèi)預測器(445)使用幀內(nèi)塊復制預測使用針對該塊的偏移(塊向量)來預測該塊的樣本值。

調(diào)色板模式編碼器(480)使用將基礎(chǔ)色彩映射到索引值的調(diào)色板并用相應的索引值替換各像素來用針對當前圖片(331)的某單元的像素之中的基礎(chǔ)色彩的索引值來表示該單元。例如,調(diào)色板將索引值0,1,2,…,p映射到對應的基礎(chǔ)色彩,基礎(chǔ)色彩可采用RGB 4:4:4格式、BGR 4:4:4格式、GBR 4:4:4格式、YUV 4:4:4格式或另一個格式(色彩空間、色彩采樣率)。由此,例如,索引值可表示像素的RGB三元組、BGR三元組或GBR三元組。單元可以是CU,在該情況下,調(diào)色板開在逐CU的基礎(chǔ)上改變。調(diào)色板模式編碼的示例是參考圖7、8a和8b來描述的。在一些情況下,調(diào)色板模式編碼器(480)可用逸出模式而非使用針對調(diào)色板中的這樣的色彩的索引值來對稀有色彩進行編碼。在逸出模式中,特殊索引值將像素標記為經(jīng)逸出編碼的像素。經(jīng)逸出編碼的像素的(諸)樣本值可在編碼器(340)中的其他地方(或者,替換地在調(diào)色板模式編碼器(480)中)被量化并隨后被熵編碼。作為輔助信息,調(diào)色板模式編碼器(480)產(chǎn)生諸如指示單元的調(diào)色板(其可相關(guān)于預測的調(diào)色板來編碼)和該單元的索引值(有時被稱為索引圖)的信息之類的調(diào)色板模式數(shù)據(jù)(482)。調(diào)色板模式數(shù)據(jù)(482)被提供給頭部格式化器/熵編碼器(490)以及調(diào)色板模式解碼器(485)。

如圖4b所示,在非調(diào)色板模式中,幀內(nèi)/幀間切換選擇針對給定單元的預測(458)將是運動補償預測還是圖片內(nèi)預測。針對當前圖片(331)的各單元的幀內(nèi)/幀間切換判定可使用各準則來作出。

在非調(diào)色板模式中,視頻編碼器(340)可確定是否編碼并傳送某塊的預測值(幀內(nèi)或幀間)和對應的原始值之間的差值(如果有的話)。預測(458)的塊和輸入視頻信號(405)的原始當前圖片(331)的對應部分之間的差異(如果有的話)提供殘量(418)的值。如果被編碼/傳送,則殘量(418)的值使用頻率變換(如果該頻率變換不被跳過的話)、量化和熵編碼來編碼。在一些情況下,沒有為單元計算殘量。相反,殘量編碼被跳過,并且預測的樣本值被用作經(jīng)重構(gòu)的樣本值。對于一些類型的單元(例如,僅圖片間編碼單元)或所有類型的單元,關(guān)于是否跳過殘量編碼的判定可在逐單元的基礎(chǔ)上(例如,在H.265/HEVC標準中在逐CU的基礎(chǔ)上)作出。在調(diào)色板模式中,視頻編碼器(340)跳過殘量編碼操作,但可對用逸出模式編碼的像素的樣本值進行量化。

參考圖4a,對于非調(diào)色板模式,當殘量(418)的值被編碼時,在變換器/縮放器/量化器(430)中,頻率變換器將空間域視頻信息轉(zhuǎn)換為頻域(即頻譜、變換)數(shù)據(jù)。對于基于塊的視頻編碼,頻率變換器將離散余弦變換(“DCT”)、其整數(shù)近似、或另一類型的前向塊變換(例如離散正弦變換或其整數(shù)近似)應用于殘量(418)的值塊(或者如果預測(458)為空則應用于樣本值數(shù)據(jù)),從而產(chǎn)生頻率變換系數(shù)塊。變換器/縮放器/量化器(430)可以應用具有可變塊尺寸的變換。在這種情況中,變換器/縮放器/量化器(430)可以確定要對當前塊的殘量值使用哪些塊尺寸的變換。例如,在H.265/HEVC實現(xiàn)中,編碼器/縮放器/量化器(430)可通過四叉樹分解將TU拆分成四個更小的TU,這些TU中的每一者可進而被拆分成四個更小的TU,一直到最小TU尺寸。TU尺寸可以為32x32、16x16、8x8或4x4(涉及TU中的亮度TB的尺寸)。

在H.265/HEVC實現(xiàn)中,對于非調(diào)色板模式,可以跳過頻率變換。在這種情況下,可以對殘量(418)的值進行量化和熵編碼。具體地,變換跳過模式在對屏幕內(nèi)容視頻進行編碼時可以是有用的,但在對其他類型的視頻進行編碼時不是特別有用。

參考圖4a,對于非調(diào)色板模式,在編碼器/縮放器/量化器(430)中,縮放器/量化器縮放和量化變換系數(shù)。例如,量化器將以按逐圖片基礎(chǔ)、逐小塊基礎(chǔ)、逐片基礎(chǔ)、逐塊基礎(chǔ)、頻率專用基礎(chǔ)或其它基礎(chǔ)來變化的量化步長尺寸將死區(qū)標量量化應用于頻域數(shù)據(jù)。量化步長尺寸可取決于量化參數(shù)(“QP”),該量化參數(shù)的值是為視頻的圖片、小塊、片和/或其他部分設(shè)置。在量化變換系數(shù)時,視頻編碼器(340)可使用率失真優(yōu)化量化(“RDOQ“)(這是非常耗時的)或者應用更簡單的量化規(guī)則。經(jīng)量化的變換系數(shù)數(shù)據(jù)(432)被提供給頭部格式化器/熵編碼器(490)。對于非調(diào)色板模式,如果頻率變換被跳過,則縮放器/量化器可對預測殘量數(shù)據(jù)塊(或如果預測(458)為空則對樣本值數(shù)據(jù))進行縮放和量化,從而產(chǎn)生經(jīng)量化的值,這些經(jīng)量化的值被提供給頭部格式化器/熵編碼器(490)?;蛘?,對于調(diào)色板模式中的經(jīng)逸出編碼的像素,縮放器/量化器可對逸出模式中的像素的樣本值進行量化,從而將經(jīng)逸出編碼的像素的經(jīng)量化的樣本值提供給頭部格式化器/熵編碼器(490)。

如圖4a和4b所示,頭部格式化器/熵編碼器(490)對通用控制數(shù)據(jù)(422)、經(jīng)量化的變換系數(shù)數(shù)據(jù)(432)(或者對于調(diào)色板模式的逸出模式,為經(jīng)量化的樣本值)、幀內(nèi)預測數(shù)據(jù)(442)、運動數(shù)據(jù)(452)、調(diào)色板模式數(shù)據(jù)(482)以及濾波器控制數(shù)據(jù)(462)進行格式化和/或熵編碼。由此,視頻編碼器(340)的熵編碼器壓縮經(jīng)量化的變換系數(shù)值以及某些輔助信息(例如MV信息、QP值、模式判定、參數(shù)選擇、調(diào)色板數(shù)據(jù)、調(diào)色板模式中的索引值、調(diào)色板模式中的經(jīng)量化的樣本值)。典型的熵編碼技術(shù)包括指數(shù)-Golomb編碼、Golomb-Rice編碼、上下文自適應二進制算術(shù)編碼(“CABAC”)、差分編碼、Huffman編碼、行程長度編碼、可變長度到可變長度(“V2V”)編碼、可變長度到固定長度(“V2F”)編碼、Lempel-Ziv(“LZ”)編碼、字典編碼和上述編碼的組合。熵編碼器可對不同種類的信息使用不同的編碼技術(shù),并可組合地應用多個技術(shù)(例如,通過在CABAC的二值化時應用指數(shù)-Golomb編碼或Golomb-Rice編碼),并可從特定編碼技術(shù)內(nèi)的多個碼表中進行選擇。

視頻編碼器(340)在基本位流(諸如圖4a中示出的經(jīng)編碼視頻位流(495))中產(chǎn)生經(jīng)編碼圖片(341)的經(jīng)編碼數(shù)據(jù)。在圖4a中,頭部格式化器/熵編碼器(490)在經(jīng)編碼的視頻位流(495)中提供經(jīng)編碼的數(shù)據(jù)?;A(chǔ)位流的句法通常是用編解碼器標準或格式或者其擴展或變型來定義的。例如,經(jīng)編碼的視頻位流(495)的格式可以是Windows媒體視頻格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263、H.264、H.265)、VPx格式或其它格式的變型或擴展。在從視頻編碼器(340)輸出后,基本位流通常用容器格式被分組化或組織,如以下所解釋的。

基本位流中的經(jīng)編碼的數(shù)據(jù)包括被組織為句法結(jié)構(gòu)的句法元素。一般來說,句法元素可以是任何數(shù)據(jù)元素,并且句法結(jié)構(gòu)是基本位流中處于指定次序的零個或更多個句法元素。在H.264/AVC標準和H.265/HEVC標準中,NAL單元是包含(1)對要跟隨的數(shù)據(jù)的類型的指示以及(2)該數(shù)據(jù)的一連串零個或更多個字節(jié)的句法結(jié)構(gòu)。例如,NAL單元可包含片(經(jīng)編碼的片)的經(jīng)編碼的數(shù)據(jù)。NAL單元的尺寸(以字節(jié)為單位)在NAL單元之外被指示。經(jīng)編碼片NAL單元以及某些其他限定類型的NAL單元被稱為視頻編碼層(“VCL”)NAL單元。訪問單元是處于連續(xù)解碼次序的一個或多個NAL單元的集合,包含圖片的(諸)片的經(jīng)編碼的數(shù)據(jù),并可能包含諸如元數(shù)據(jù)之類的其他關(guān)聯(lián)數(shù)據(jù)。

對于根據(jù)H.264/AVC或H.265/HEVC的標準的句法,圖片參數(shù)集(“PPS”)是包含可與圖片相關(guān)聯(lián)的句法元素的句法結(jié)構(gòu)。PPS可被用于單個圖片,或者PPS可被重用于序列中的多個圖片。PPS通常被信號化為與圖片的經(jīng)編碼的數(shù)據(jù)分開(例如一個NAL單元針對PPS,并且一個或多個其他NAL單元針對圖片的經(jīng)編碼的數(shù)據(jù))。在圖片的經(jīng)編碼數(shù)據(jù)內(nèi),句法元素指示要為該圖片使用哪個PPS。類似地,對于遵照H.264/AVC標準或H.265/HEVC的標準的句法,序列參數(shù)集(“SPS”)是包含了與圖片序列相關(guān)聯(lián)的句法元素的句法結(jié)構(gòu)。位流可包括單個SPS或多個SPS。SPS通常被信號化為與該序列的其它數(shù)據(jù)分開,并且其它數(shù)據(jù)中的句法元素指示要使用哪個SPS。

如圖3所示,視頻編碼器(340)還產(chǎn)生存儲器管理控制操作(“MMCO”)信號(342)或參考圖片集(“RPS”)信息。RPS是可以被使用以供在對當前圖片或任意后續(xù)圖片的運動補償中的參考的圖片集。如果當前圖片(331)不是已經(jīng)被編碼的第一圖片,則在執(zhí)行其編碼處理時,視頻編碼器(340)可使用已被存儲在經(jīng)解碼圖片臨時存儲器存儲區(qū)域(360)中的一個或多個先前編碼/解碼的圖片(369)。這樣存儲的經(jīng)解碼圖片(369)被用作當前圖片(331)的內(nèi)容的圖片間預測的參考圖片。MMCO/RPS信息(342)向視頻解碼器指示哪些經(jīng)重構(gòu)的圖片可被用作參考圖片并因此應當被存儲在圖片存儲區(qū)域中。

參考圖3,經(jīng)編碼圖片(341)和MMCO/RPS信息(342)(或與MMCO/RPS信息(342)等價的信息,因為在視頻編碼器(340)處已經(jīng)知道各圖片的依賴關(guān)系和排序結(jié)構(gòu))由解碼處理仿真器(350)處理。解碼處理仿真器(350)實現(xiàn)視頻解碼器的一些功能,例如對任務進行解碼以重構(gòu)參考圖片。以與MMCO/RPS信息(342)相一致的方式,解碼處理仿真器(350)確定給定的經(jīng)編碼幀(341)是否需要被重構(gòu)并被存儲以供在對要編碼的后續(xù)圖片的圖片間預測中用作參考幀。如果經(jīng)編碼的圖片(341)需要被存儲,則解碼處理仿真器(350)對將由視頻解碼器進行的解碼處理建模,該視頻解碼器接收經(jīng)編碼的圖片(341)并產(chǎn)生相應的經(jīng)解碼的圖片(351)。通過這么做,當視頻編碼器(340)已經(jīng)使用已被存儲在經(jīng)解碼圖片存儲區(qū)域(360)中的經(jīng)解碼的(諸)圖片(369)時,解碼處理仿真器(350)還使用來自存儲區(qū)域(360)的(諸)經(jīng)解碼的圖片(369)作為解碼處理的一部分。

解碼處理仿真器(350)可被實現(xiàn)為視頻編碼器(340)的一部分。例如,解碼處理仿真器(350)包括圖4a和4b中示出的一些模塊和邏輯。在當前圖片(331)的重構(gòu)期間,對于非調(diào)色板模式,當殘量(418)的值已被編碼/信號化時,經(jīng)重構(gòu)的殘量值與預測(458)組合以為當前圖片(331)從視頻信號(405)中產(chǎn)生對原始內(nèi)容的近似或?qū)嶋H重構(gòu)(438)。(在有損壓縮中,一些信息從視頻信號(405)中丟失。)對于調(diào)色板模式,有效地,預測(458)為空。

對于非調(diào)色板模式,為了重構(gòu)殘量值,在縮放器/逆變換器(435)中,縮放器/逆量化器對經(jīng)量化的變換系數(shù)執(zhí)行逆縮放和逆量化。當變換階段尚未被跳過時,逆頻率變換器執(zhí)行逆頻率變換,從而產(chǎn)生經(jīng)重構(gòu)的預測殘量值或樣本值的塊。如果變換階段已經(jīng)被跳過,則也跳過逆頻率變換。在這種情況下,縮放器/逆量化器可對預測殘量數(shù)據(jù)(或樣本值數(shù)據(jù))的塊執(zhí)行逆縮放和逆量化,從而產(chǎn)生經(jīng)重構(gòu)的值。當殘量值已經(jīng)被編碼/信號化時,視頻編碼器(340)將經(jīng)重構(gòu)的殘量值與預測(458)的值(例如,運動補償預測值、圖片內(nèi)預測值)組合以形成重構(gòu)(438)。當殘量值尚未被編碼/信號化時,視頻編碼器(340)使用預測(458)的值作為重構(gòu)(438)。

對于調(diào)色板模式,調(diào)色板模式解碼器(485)使用來自調(diào)色板模式數(shù)據(jù)(482)的索引值和調(diào)色板來重構(gòu)像素(即,未經(jīng)逸出編碼的像素)。為了任何經(jīng)逸出編碼的像素,在縮放器/逆變換器(435)中,縮放器/逆量化器對用逸出模式編碼的像素的經(jīng)量化樣本值執(zhí)行逆縮放和逆量化。經(jīng)重構(gòu)的樣本值提供重構(gòu)(438)的值,因為在調(diào)色板模式中預測(458)為空。

對于圖片內(nèi)預測,重構(gòu)(438)的值可被饋送回圖片內(nèi)預測估計器(440)和圖片內(nèi)預測器(445)。重構(gòu)(438)的值可被用于后續(xù)圖片的運動補償預測。重構(gòu)(438)的值可被進一步濾波。對于當前圖片(331),濾波控件(460)確定如何對重構(gòu)(438)的值執(zhí)行去塊濾波和樣本自適應偏移(“SAO”)濾波。濾波控件(460)產(chǎn)生濾波控制數(shù)據(jù)(462),它被提供給頭部格式化器/熵編碼器(490)和合并器/(諸)濾波器(465)。

在合并器/(諸)濾波器(465)中,視頻編碼器(340)將來自不同小塊的內(nèi)容合并到當前圖片的經(jīng)重構(gòu)版本中。視頻編碼器(340)根據(jù)濾波器控制數(shù)據(jù)(462)和濾波器自適應規(guī)則選擇性地執(zhí)行去塊濾波和SAO濾波,以便自適應地平滑當前圖片(331)中的各邊界上的間斷??商鎿Q地或另外地應用其它濾波(例如去振鈴濾波或自適應環(huán)路濾波(“ALF”);未示出)。取決于視頻編碼器(340)的設(shè)置,小塊邊界可選擇性地被濾波或根本不被濾波,并且視頻編碼器(340)可在編碼位流內(nèi)提供句法元素以指示是否應用這樣的濾波。

在圖4a和4b中,經(jīng)解碼圖片緩沖器(470)緩沖經(jīng)重構(gòu)的當前圖片以供在后續(xù)的運動補償預測中使用。更一般地,如圖3所示,經(jīng)解碼圖片臨時存儲器存儲區(qū)域(360)包括多個圖片緩沖器存儲區(qū)域(361,362,…,36n)。通過與MMCO/RPS信息(342)相一致的方式中,解碼處理仿真器(350)管理存儲區(qū)域(360)中的內(nèi)容,以便標識出具有視頻編碼器(340)不再需要將其用作參考圖片的圖片的任何圖片緩沖器(361,362等)。在對解碼處理進行建模之后,解碼處理仿真器(350)在圖片幀緩沖器(361、362等)中存儲已經(jīng)以此方式標識出的新解碼的圖片(351)。

如圖3所示,經(jīng)編碼的圖片(341)和MMCO/RPS信息(342)被緩沖在臨時經(jīng)編碼數(shù)據(jù)區(qū)域(370)中。被聚集在經(jīng)編碼數(shù)據(jù)區(qū)域(370)中的經(jīng)編碼數(shù)據(jù)包含一個或多個圖片的經(jīng)編碼數(shù)據(jù)作為基本位流的句法的一部分。被聚集在經(jīng)編碼數(shù)據(jù)區(qū)域(370)中的經(jīng)編碼數(shù)據(jù)還可包括與經(jīng)編碼的視頻數(shù)據(jù)相關(guān)的媒體元數(shù)據(jù)(例如作為一個或多個補充增強信息(“SEI”)消息或視頻可用性信息(“VUI”)消息中的一個或多個參數(shù))。

來自臨時經(jīng)編碼數(shù)據(jù)區(qū)域(370)的經(jīng)聚集的數(shù)據(jù)(371)由信道編碼器(380)處理。信道編碼器(380)可以分組化和/或復用經(jīng)聚集的數(shù)據(jù)以供作為媒體流傳輸或存儲(例如根據(jù)媒體程序流或傳輸流格式,例如ITU-T H.222.0|ISO/IEC 13818-1或因特網(wǎng)實時傳輸協(xié)議格式(例如IETF RFC 3550)),在這種情況中,信道編碼器(380)可以添加句法元素作為媒體傳輸流的句法的一部分?;蛘?,信道編碼器(380)可以組織經(jīng)聚集的數(shù)據(jù)以供存儲成文件(例如根據(jù)媒體容器格式,諸如ISO/IEC 14496-12),在這種情況中信道編碼器(380)可添加句法元素作為媒體存儲文件的句法的一部分?;蛘撸话愕?,信道編碼器(380)可以實現(xiàn)一個或多個媒體系統(tǒng)復用協(xié)議或傳輸協(xié)議,在這種情況中,信道編碼器(380)可以添加句法元素作為(諸)協(xié)議的句法的一部分。信道編碼器(380)將輸出提供給信道(390),該信道(390)表示存儲、通信連接或該輸出的另一信道。信道編碼器(380)或信道(390)還可以包括例如用于前向糾錯(“FEC”)編碼和模擬信號調(diào)制的其它元素(未示出)。

取決于實現(xiàn)和期望的壓縮類型,視頻編碼器系統(tǒng)(300)和/或視頻編碼器(340)的各模塊可被添加、省略、拆分成多個模塊、與其它模塊組合、和/或用相似的模塊來替代。在替換實施例中,具有不同模塊和/或其他模塊配置的編碼器系統(tǒng)或編碼器執(zhí)行所描述的技術(shù)中的一個或多個。編碼器系統(tǒng)的具體實施例通常使用視頻編碼器系統(tǒng)(300)的變型或補充版本。視頻編碼器的具體實施例通常使用視頻編碼器340的變型或補充版本。所示出的在視頻編碼器系統(tǒng)(300)和視頻編碼器(340)內(nèi)的各模塊之間的關(guān)系指示了信息分別在視頻編碼器系統(tǒng)(300)和視頻編碼器(340)中的一般流動;為簡明起見,未示出其它關(guān)系。

IV.示例解碼器系統(tǒng)。

圖5是結(jié)合其可實現(xiàn)所描述的一些實施例的示例視頻解碼器系統(tǒng)(500)的框圖。視頻解碼器系統(tǒng)(500)包括視頻解碼器(550),視頻解碼器(340)在圖6中被進一步詳述。

視頻解碼器系統(tǒng)(500)可以是能夠在多種解碼模式(例如針對實時通信的低等待時間解碼模式、代碼轉(zhuǎn)換模式以及針對來自文件或流的媒體回放的較高等待時間解碼模式)中的任一者中操作的通用解碼工具,或它可以是適用于一種這樣的解碼模式的專用解碼工具。視頻解碼器系統(tǒng)(500)可以被實現(xiàn)為操作系統(tǒng)模塊的部分、應用庫的部分、獨立的應用的部分或使用專用的硬件??傮w上,視頻解碼器系統(tǒng)(500)從信道(510)接收經(jīng)編碼的數(shù)據(jù)并產(chǎn)生經(jīng)重構(gòu)的圖片作為針對輸出目的地(590)的輸出。接收到的經(jīng)編碼的數(shù)據(jù)可包括使用本文中描述的一個或多個創(chuàng)新來編碼的內(nèi)容。

解碼器系統(tǒng)(500)包括信道(510),該信道(510)可表示存儲、通信連接或針對作為輸入的經(jīng)編碼數(shù)據(jù)的另一信道。信道(510)產(chǎn)生已經(jīng)被信道編碼的經(jīng)編碼的數(shù)據(jù)。信道解碼器(520)可以處理經(jīng)編碼的數(shù)據(jù)。例如,信道解碼器(520)(例如根據(jù)諸如ITU-T H.222.0|ISO/IEC 13818-1的媒體程序流或傳輸流格式,或諸如IETF RFC 3550的因特網(wǎng)實時傳輸協(xié)議格式)去分組化和/或去復用已被組織以供作為媒體流來傳輸或存儲的數(shù)據(jù),在這種情況中,信道解碼器(520)可以解析所添加的作為媒體傳輸流的句法的一部分的句法元素。或者,信道解碼器(520)(例如根據(jù)諸如ISO/IEC 14496-12的媒體容器格式)來將已被組織為供作為文件來存儲的經(jīng)編碼的視頻數(shù)據(jù)分開,在這種情況中,信道解碼器(520)可以解析所添加的作為媒體存儲文件的句法的一部分的句法元素?;蛘撸话愕?,信道解碼器(520)可以實現(xiàn)一個或多個媒體系統(tǒng)去復用協(xié)議或傳輸協(xié)議,在這種情況中,信道解碼器(520)可以解析所添加的作為(諸)協(xié)議的句法的一部分的句法元素。信道(510)或信道解碼器(520)還可以包括例如用于FEC解碼和模擬信號解調(diào)的其它元素(未示出)。

從信道解碼器(520)輸出的經(jīng)編碼的數(shù)據(jù)(521)被存儲在臨時經(jīng)編碼數(shù)據(jù)區(qū)域(530)中,直到已經(jīng)接收到足夠數(shù)量的這樣的數(shù)據(jù)。經(jīng)編碼的數(shù)據(jù)(521)包括經(jīng)編碼的圖片(531)和MMCO/RPS信息(532)。在經(jīng)編碼數(shù)據(jù)區(qū)域(530)中的經(jīng)編碼的數(shù)據(jù)(521)包含一個或多個圖片的經(jīng)編碼的數(shù)據(jù)作為基本經(jīng)編碼視頻位流的句法的一部分。在經(jīng)編碼數(shù)據(jù)區(qū)域(530)中的經(jīng)編碼數(shù)據(jù)(521)還可包括與經(jīng)編碼的視頻數(shù)據(jù)相關(guān)的媒體元數(shù)據(jù)(例如作為一個或多個SEI消息或VUI消息中的一個或多個參數(shù))。

一般來說,經(jīng)編碼數(shù)據(jù)區(qū)域(530)臨時存儲經(jīng)編碼的數(shù)據(jù)(521),直到這樣的經(jīng)編碼的數(shù)據(jù)(521)被視頻解碼器(550)使用。此時,經(jīng)編碼的圖片(531)和MMCO/RPS信息(532)的經(jīng)編碼的數(shù)據(jù)被從經(jīng)編碼數(shù)據(jù)區(qū)域(530)傳送到視頻解碼器(550)。隨著解碼繼續(xù),新的經(jīng)編碼數(shù)據(jù)被添加到經(jīng)編碼數(shù)據(jù)區(qū)域(530)并且保留在經(jīng)編碼數(shù)據(jù)區(qū)域(530)中的最舊的經(jīng)編碼數(shù)據(jù)被傳輸?shù)揭曨l解碼器(550)。

視頻解碼器(550)解碼經(jīng)編碼圖片(531)以生成對應的經(jīng)解碼圖片(551)。如圖6所示,視頻解碼器(550)接收經(jīng)編碼的圖片(531)作為輸入以作為經(jīng)編碼視頻位流(605)的一部分,并且視頻解碼器(550)產(chǎn)生相應的經(jīng)解碼圖片(551)作為輸出以作為經(jīng)重構(gòu)的視頻(695)。作為該解碼的一部分,在一些情況下,視頻解碼器(550)使用用調(diào)色板模式對經(jīng)逸出編碼的像素的穩(wěn)健解碼。

一般地,視頻解碼器(550)包括執(zhí)行諸如熵解碼、逆量化、逆頻率變換、運動補償、圖片內(nèi)預測、調(diào)色板模式解碼和濾波之類的解碼任務的多個解碼模塊。解碼器(550)的許多組件被用于圖片內(nèi)解碼和圖片間解碼這兩者。由那些組件執(zhí)行的確切操作可取決于正被解壓縮的信息的類型而變化。經(jīng)編碼的視頻位流的格式(605)可以是Windows媒體視頻格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、H.26x格式(例如,H.261、H.262、H.263、H.264、H.265)、或VPx格式、或其它格式的變型或擴展。

圖片可被組織成相同尺寸或不同尺寸的多個小塊。一個圖片還可以被組織成一個或多個片。片或小塊的內(nèi)容可被進一步組織成塊或其它樣本值集。塊可以在不同的階段被進一步細分。例如,圖片可以被劃分成64x64塊、32x32塊或16x16塊,這些塊可進而被劃分成更小的樣本值塊。在例如針對H.264/AVC標準的各解碼實現(xiàn)中,圖片被劃分成各宏塊和塊。在例如針對H.265/HEVC標準的解碼實現(xiàn)中,圖片被分割成各CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。

參考圖6,緩沖器在經(jīng)編碼的視頻位流(605)中接收經(jīng)編碼的數(shù)據(jù),并使得接收到的經(jīng)編碼數(shù)據(jù)可用于解析器/熵解碼器(610)。解析器/熵解碼器(610)通常應用在編碼器(340)中執(zhí)行的熵編碼的逆對經(jīng)熵編碼的數(shù)據(jù)進行熵解碼(例如其中二值化使用指數(shù)-Golomb或Golomb-Rice的上下文自適應二進制算術(shù)解碼)。作為解析和熵解碼的結(jié)果,解析器/熵解碼器(610)產(chǎn)生通用控制數(shù)據(jù)(622)、經(jīng)量化的變換系數(shù)數(shù)據(jù)(632)(或者,對于調(diào)色板模式的逸出模式而言,為經(jīng)量化的樣本值)、幀內(nèi)預測數(shù)據(jù)(642)、運動數(shù)據(jù)(652)、調(diào)色板模式數(shù)據(jù)(682)以及濾波器控制數(shù)據(jù)(662)。單元的調(diào)色板模式數(shù)據(jù)(682)包括指示該單元的調(diào)色板(其可相關(guān)于預測的調(diào)色板來編碼)以及該單元的索引值(索引圖)的信息。

通用解碼控件(620)接收通用控制數(shù)據(jù)(622)。例如,通用控制數(shù)據(jù)(622)包括指示針對某單元的圖片內(nèi)編碼是使用調(diào)色板編碼模式還是空間預測(例如,每個經(jīng)圖片內(nèi)預測的單元一個標志值)的信息。通用解碼控件(620)將控制信號(未示出)提供給其它模塊(例如縮放器/逆變換器(635)、圖片內(nèi)預測器(645)、運動補償器(655)、調(diào)色板模式解碼器(685)、以及幀內(nèi)/幀間切換)以設(shè)置和改變解碼期間的解碼參數(shù)。

參考圖5,在適當時,當執(zhí)行其解碼處理時,視頻解碼器(550)可將一個或多個先前解碼的圖片(569)用作圖片間預測的參考圖片。視頻解碼器(550)從經(jīng)解碼圖片臨時存儲器存儲區(qū)域(560)中讀取這樣的先前解碼的圖片(569),經(jīng)解碼圖片臨時存儲器存儲區(qū)域是解碼圖片緩沖器(670)的示例。參考圖6,如果當前圖片是使用圖片間預測來預測的,則運動補償器(655)接收運動數(shù)據(jù)(652),諸如MV數(shù)據(jù)、參考圖片選擇數(shù)據(jù)、以及合并模式索引值。運動補償器(655)將MV應用于來自經(jīng)解碼圖片緩沖器(670)的(諸)經(jīng)重構(gòu)的參考圖片。運動補償器(655)產(chǎn)生針對當前圖片中的幀間編碼塊的運動補償?shù)念A測。

在視頻解碼器(550)的分開的路徑中,圖片內(nèi)預測器(645)接收幀內(nèi)預測數(shù)據(jù)(642),諸如指示所使用的預測模式/方向的信息。對于幀內(nèi)空間內(nèi)預測,圖片內(nèi)預測器(645)根據(jù)預測模式/方向使用當前圖片的重構(gòu)(638)的值,從當前圖片的相鄰的、先前重構(gòu)的樣本值中空間地預測當前圖片的當前塊的樣本值。或者,對于幀內(nèi)塊復制模式,圖片內(nèi)預測器(545)使用依據(jù)當前塊的位移(塊向量)指示的參考塊的先前重構(gòu)的樣本值來預測當前塊的樣本值。

對于調(diào)色板解碼模式,調(diào)色板模式解碼器(685)接收調(diào)色板模式數(shù)據(jù)(682),諸如表示調(diào)色板和索引值的信息。調(diào)色板模式解碼器(685)使用表示某單元(例如CU)的至少一些像素的調(diào)色板。調(diào)色板將索引值映射到在該單元中使用的對應的基礎(chǔ)色彩。在解碼期間,對于該單元中的各像素,來自調(diào)色板的索引值被這些像素的適當基礎(chǔ)色彩取代。該單元中的經(jīng)逸出編碼的像素可使用該經(jīng)逸出編碼的像素的逸出代碼(調(diào)色板中的特殊索引值)和(諸)經(jīng)量化的樣本值來解碼,經(jīng)量化的樣本值如以下所描述的那樣重構(gòu)。調(diào)色板可基于信號化在位流中的調(diào)色板模式數(shù)據(jù)(682)逐單元地改變。

對于非調(diào)色板模式,幀內(nèi)/幀間切換選擇運動補償預測或圖片內(nèi)預測的值以供用作針對給定塊的預測(658)。例如,當H.265/HEVC句法被遵循時,可以基于為圖片中的CU編碼的句法元素來控制幀內(nèi)/幀間切換,該圖片可以包含幀內(nèi)預測的CU和幀間預測的CU。當殘量值已經(jīng)被編碼/信號化時,視頻解碼器(550)將預測(658)與重構(gòu)的殘量值組合以產(chǎn)生來自視頻信號的內(nèi)容的重構(gòu)(638)。當殘量值尚未被編碼/信號化時,視頻解碼器(550)將預測(658)的值用作重構(gòu)(638)。在調(diào)色板模式中,視頻編碼器(550)跳過殘量解碼操作,但可對已用逸出模式編碼的像素的樣本值進行逆量化。

對于非調(diào)色板模式,視頻解碼器(550)還重構(gòu)預測殘量值。為了在殘量值已被編碼/信號化時重構(gòu)殘量,縮放器/逆變換器(635)接收并處理經(jīng)量化的變換系數(shù)數(shù)據(jù)(632)。在縮放器/逆變換器(635)中,縮放器/逆量化器對經(jīng)量化的變換系數(shù)執(zhí)行逆縮放和逆量化??s放器/逆變換器(635)基于位流中的句法元素為圖片、小塊、片和/或視頻的其它部分設(shè)置QP值。逆頻率變換器執(zhí)行逆頻率變換,從而產(chǎn)生經(jīng)重構(gòu)的預測殘量值或樣本值的塊。例如,逆頻率變換器將逆塊變換應用到頻率變換系數(shù),從而產(chǎn)生樣本值數(shù)據(jù)或預測殘量數(shù)據(jù)。逆頻率變換可以是逆DCT、其整數(shù)近似、或另一種類型的逆頻率變換(例如逆離散正弦變換或其整數(shù)近似)。如果頻率變換在編碼期間被跳過,則逆頻率變換也被跳過。在這種情況下,縮放器/逆量化器可對預測殘量數(shù)據(jù)(或樣本值數(shù)據(jù))的塊執(zhí)行逆縮放和逆量化,從而產(chǎn)生經(jīng)重構(gòu)的值。視頻解碼器(550)將經(jīng)重構(gòu)的預測殘量值于預測(658)的預測值組合,從而產(chǎn)生重構(gòu)(638)的值。

對于調(diào)色板模式,為了重構(gòu)任何經(jīng)逸出編碼的像素,在縮放器/逆變換器(635)中,縮放器/逆量化器對用逸出模式編碼的像素的任何經(jīng)量化樣本值執(zhí)行逆縮放和逆量化。經(jīng)重構(gòu)的樣本值提供重構(gòu)(638)的值,因為在調(diào)色板模式中預測(658)為空。

對于圖片內(nèi)預測,重構(gòu)(638)的值可以被饋送回圖片內(nèi)預測器(645)。對于圖片間預測,重構(gòu)(638)的值可以被進一步濾波。在合并器/(諸)濾波器(665)中,視頻解碼器(550)將來自不同小塊的內(nèi)容合并到圖片的經(jīng)重構(gòu)版本中。視頻解碼器(550)根據(jù)濾波器控制數(shù)據(jù)(662)和濾波自適應規(guī)則來執(zhí)行去塊濾波和SAO濾波,以便自適應地平滑各圖片中的各邊界上的間斷??商鎿Q地或另外地應用其它濾波(例如去振鈴濾波或ALF;未示出)。小塊邊界可以被選擇性地濾波或根本不被濾波,這取決于視頻解碼器(550)的設(shè)置或經(jīng)編碼的位流數(shù)據(jù)內(nèi)的句法元素。經(jīng)解碼圖片緩沖器(670)緩沖經(jīng)重構(gòu)的當前圖片以供在后續(xù)的運動補償預測中使用。

視頻解碼器(550)還可包括后處理濾波器。后處理濾波器可包括去塊濾波、去振鈴濾波、自適應維納濾波、膜顆粒再現(xiàn)濾波、SAO濾波或另一種類的濾波。盡管“內(nèi)環(huán)路”濾波是在運動補償環(huán)路中對圖片的經(jīng)重構(gòu)的樣本值執(zhí)行的,并因此影響參考圖片的樣本值,但后處理濾波器是在經(jīng)重構(gòu)的樣本值被輸出以供顯示之前在運動補償環(huán)路外部被應用于經(jīng)重構(gòu)的樣本值的。

參考圖5,經(jīng)解碼圖片臨時存儲器存儲區(qū)域(560)包括多個圖片緩沖器存儲區(qū)域(561,562,…,56n)。經(jīng)解碼的圖片存儲區(qū)域(560)是經(jīng)解碼的圖片緩沖器(670)的一個示例。解碼器(550)使用MMCO/PS信息(532)來標識該解碼器可將經(jīng)解碼的圖片(551)存儲在其中的圖片緩沖器(561、562等)。解碼器(550)將經(jīng)解碼的圖片(551)存儲在那個圖片緩沖器中。

輸出序列發(fā)生器(580)標識按輸出次序?qū)a(chǎn)生的下一圖片何時可在經(jīng)編碼圖片存儲區(qū)域(560)中獲得。當將按輸出次序產(chǎn)生的下一圖片(581)可在經(jīng)解碼圖片存儲區(qū)域(560)中獲得時,輸出序列發(fā)生器(580)讀取該下一圖片并將其輸出到輸出目的地(590)(例如顯示器)。一般來說,輸出序列發(fā)生器(580)將圖片從經(jīng)解碼圖片存儲區(qū)域(560)中輸出的次序可以與解碼器(550)解碼這些圖片的次序不同。

取決于實現(xiàn)和所希望的解壓縮的類型,視頻解碼器系統(tǒng)(500)和/或視頻解碼器(550)的模塊可以被添加、省略、拆分成多個模塊、與其他模塊組合和/或替換為類似的模塊。在替換實施例中,具有不同模塊和/或其他模塊配置的解碼器系統(tǒng)或解碼器執(zhí)行所描述的技術(shù)中的一個或多個。解碼器系統(tǒng)的具體實施例通常使用視頻解碼器系統(tǒng)(500)的變型或補充版本。視頻解碼器的具體實施例通常使用視頻解碼器(550)的變型或補充版本。所示出的在視頻解碼器系統(tǒng)(500)和視頻解碼器(550)內(nèi)的各模塊之間的關(guān)系指示信息分別在視頻解碼器系統(tǒng)(500)和視頻解碼器(550)中的一般流動;為簡單起見,未示出其他關(guān)系。

V.用調(diào)色板模式對經(jīng)逸出編碼的像素進行穩(wěn)健編碼/解碼。

本章節(jié)呈現(xiàn)用于用調(diào)色板模式對經(jīng)逸出編碼的像素進行穩(wěn)健編碼和解碼的方法。在各示例實現(xiàn)中,這些方法避免在解析經(jīng)逸出編碼的像素時對單元級QP值的依賴性,這可使得編碼/解碼對數(shù)據(jù)丟失更穩(wěn)健。

A.調(diào)色板模式的介紹。

在調(diào)色板模式中,媒體編碼器(諸如視頻編碼器或圖像編碼器)使用表示基礎(chǔ)色彩的索引值來對像素進行編碼。通常,這些索引值中的每一者與像素中的一不同值(“基礎(chǔ)色彩”)相關(guān)聯(lián)。在編碼期間,用對應的索引值來取代像素。媒體編碼器編碼并信號化將索引值映射到相應的基礎(chǔ)色彩的調(diào)色板以及表示像素的索引值的布置(“索引圖”)。媒體解碼器(諸如視頻解碼器或圖像解碼器)接收并解碼將索引值映射到相應基礎(chǔ)色彩的調(diào)色板。使用該調(diào)色板,媒體解碼器用像素的相應基礎(chǔ)色彩來取代索引圖中的索引值。

圖7示出單元(710)的樣本值塊。單元(730)為4x4單元。更一般地,對于二維布置,單元(710)可具有尺寸i x j,imin≤i≤imax且jmin≤j≤jmax,其中i和j可具有相等的值或具有不同的值。值imin、imax、jmin和jmax取決于實現(xiàn)。例如,對于針對H.265/HEVC編碼/解碼的一些實現(xiàn),imin=j(luò)min=8且imax=j(luò)max=最大允許變換尺寸。由此,單元可具有除4x4以外的尺寸(例如,8x8、16x16或32x32)。或者,媒體解碼器可創(chuàng)建針對片、小塊、完整圖片、圖片組、或視頻序列的像素的調(diào)色板。

在圖7中,樣本值表示屏幕捕捉內(nèi)容的強度或亮度值,并且樣本值包括統(tǒng)一值和強模式的部分。單元(710)具有三個針對不同色彩分量(例如,R、G和B分量,或Y、U和V分量)的樣本值塊。替換地,單元(710)可以是單色的,從而具有單個樣本值塊。在圖7中,單元(710)包括四個不同的色彩:(200,120,93)、(168,101,28)、(127,127,127)和(41,41,41)。

媒體編碼器創(chuàng)建將索引值分配給對應的基礎(chǔ)色彩的調(diào)色板(720)。在圖7的示例中,索引值0被分配給色彩(200,120,93),索引值1被分配給色彩(168,101,28),并以此類推。媒體編碼器可根據(jù)其在單元中出現(xiàn)的可能性來將索引值分配給各基礎(chǔ)色彩,使得較常見的樣本值具有較低的索引值,且較不常見的色彩具有較高的索引值,這通常在用較少的位來表示較低的索引值時導致較高效的編碼。替換地,媒體編碼器可根據(jù)當單元被掃描時的出現(xiàn)次序來將索引值分配給各基礎(chǔ)色彩,其依賴于后面的進程(諸如預測)來利用索引圖的索引值中的冗余性。調(diào)色板(720)可被實現(xiàn)為查找表或其它數(shù)據(jù)結(jié)構(gòu)。

圖7示出索引圖(730),其中像素已用對應的索引值取代。用索引值取代像素的過程是無損的。(替換地,在有損壓縮變型中,如果精確匹配不可用,則像素可用表示最靠近該像素的基礎(chǔ)色彩的索引值來取代。這可減小調(diào)色板(720)的尺寸但是也引入了可感知的失真。)逸出編碼是用于處理并非用索引值來表示的像素的另一方法。

媒體編碼器編碼并輸出調(diào)色板(720)以及具有表示單元(710)的像素的索引值的索引圖(730)。作為編碼的一部分,索引圖(730)的索引值可用進一步的映射操作、預測和/或熵編碼來處理。調(diào)色板(720)也可用預測和/或熵編碼來進一步處理。

在解碼期間,媒體解碼器接收并解碼調(diào)色板(720)和用于索引圖(730)的數(shù)據(jù)。作為解碼的一部分,索引圖(730)的索引值可用熵解碼、映射操作和/或預測來處理。同樣,調(diào)色板(720)可用熵解碼和/或預測來處理。對于調(diào)色板模式解碼,媒體解碼器隨后使用調(diào)色板(720)來逆轉(zhuǎn)映射過程,如在圖7中所示的。

在一些情況下,單元包括稀有色彩。例如,稀有色彩可在16x16單元或32x32單元的成百的像素之中僅出現(xiàn)一或二次。但是,稀有色彩可被表示在調(diào)色板中,信號化稀有色彩的調(diào)色板數(shù)據(jù)的成本可超過益處。取代在調(diào)色板中表示稀有色彩,媒體編碼器可用逸出模式對具有稀有色彩的像素進行編碼。對于逸出模式,調(diào)色板包括將像素標記為是用逸出模式來編碼的特殊索引值。隨后,經(jīng)逸出編碼的像素的樣本值可被量化并熵編碼。媒體編碼器不需要用逸出模式對稀有色彩進行編碼(即,媒體編碼器可在調(diào)色板中表示單元的所有色彩),但是使用逸出模式可在某些情況下改善編碼效率。針對色彩是否有資格成為稀有色彩的閾值取決于實現(xiàn)(例如,在單元中小于x次出現(xiàn),其中x為1、2、3或某個其他閾值;或者小于單元中的像素的y%,其中y為0.5、1.0、2.0或某個其他閾值)。

圖8a示出用調(diào)色板模式的逸出模式來對樣本值進行編碼的示例。圖8b示出用調(diào)色板模式的逸出模式來對樣本值進行解碼的示例。一般來說,以上針對圖7的示例描述的選項也適用于圖8a和8b的示例(例如,單元尺寸、樣本值塊的數(shù)目、調(diào)色板的組織、索引值在調(diào)色板中的排序、對調(diào)色板和索引圖的編碼/解碼、映射的有損變型)。

圖8a示出單元(810)的原始樣本值塊。在圖8a中,單元(810)包括六個不同的色彩:(200,120,93)、(168,101,28)、(127,127,127)、(41,41,41)、(100,80,120)和(155,91,200)。

媒體編碼器創(chuàng)建將索引值分配給四種基礎(chǔ)色彩(它們是四種最常見的色彩)的調(diào)色板(820)。在圖8a的示例中,索引值0被分配給色彩(200,120,93),索引值1被分配給色彩(168,101,28),并以此類推。兩個色彩–(100,80,120)和(155,91,200)–沒有用索引值來表示。相反,具有這兩個稀有色彩之一的任何像素都被逸出編碼。調(diào)色板(820)包括用于標記經(jīng)逸出編碼的像素的特殊索引值。在各示例實現(xiàn)中,特殊索引值是調(diào)色板(820)中的最后一個索引值,這可改善總編碼效率,因為其他索引值被認定為更常見。在圖8a和8b中,特殊索引值為索引值4。

圖8a示出索引圖(830),其中像素已用對應的索引值取代。兩個像素已用特殊索引值取代,從而將這兩個像素標記為經(jīng)逸出編碼的像素。媒體編碼器也為經(jīng)逸出編碼的像素產(chǎn)生經(jīng)量化的樣本值的列表(840)。用于量化的QP可以是例如片級QP,如以下所描述的。在圖8a中,像素(100,80,120)和(155,91,200)的樣本值是使用為12的量化步長尺寸來量化的,其中量化步長尺寸取決于QP。經(jīng)量化的樣本值為8(來自100)、7(來自80)、10(來自120)、13(來自155)、8(來自91)和17(來自200)。媒體編碼器還例如使用CABAC對經(jīng)量化的樣本值進行熵編碼。

圖8b示出單元(810)的樣本值的經(jīng)重構(gòu)的塊以及來自圖8a的調(diào)色板(820)、索引圖(830)和經(jīng)量化的樣本值的列表(840)。大多數(shù)像素是通過使用調(diào)色板(820)進行逆映射來重構(gòu)的。然而,經(jīng)逸出編碼的像素的樣本值是使用熵解碼和逆量化來重構(gòu)的。對于經(jīng)逸出編碼的像素,經(jīng)重構(gòu)的樣本值可準確地或近似地匹配原始樣本值。如圖8b所示,量化可為經(jīng)逸出編碼的像素的一些樣本值引入損失。

在調(diào)色板模式的逸出模式用于H.265/HEVC編碼和解碼的一些實現(xiàn)中,在量化經(jīng)逸出編碼的像素的樣本值時使用的QP是用于包括經(jīng)逸出編碼的像素的編碼單元(“CU”)的QP。該QP值可使用CU級QP偏移值在逐CU的基礎(chǔ)上改變。CU級QP影響熵編碼和解碼。具體地,在編碼期間,當經(jīng)量化的樣本值在進行上下文自適應二進制算術(shù)編碼之前被轉(zhuǎn)換為二進制值串時,該串中的二進制值的數(shù)目取決于經(jīng)量化的樣本值的可能的最大值。類似地,在解碼期間,結(jié)合對經(jīng)量化的樣本值的上下文自適應二進制算術(shù)解碼使用的二進制值串的集合取決于經(jīng)量化的樣本值的可能的最大值。該最大值進而取決于樣本值的樣本深度和用于量化的QP(在文本中為CU級QP)。編碼器和解碼器從經(jīng)量化的樣本值的可能的最大值中確定用于表示經(jīng)逸出編碼的像素的經(jīng)量化的樣本值的二進制值的數(shù)目。

由此,在解碼期間,經(jīng)逸出編碼的像素的經(jīng)熵編碼、經(jīng)量化的樣本值的正確解析取決于解碼器首先重構(gòu)CU的CU級QP。解碼器在確定對于經(jīng)量化的樣本值而言可能的二進制值串的集合時并且因此在確定要從位流讀出多少二進制值時使用CU級QP。經(jīng)逸出編碼的像素的經(jīng)量化的樣本值的解碼和CU級QP值之間的此解析依賴性可能是有問題的。具體地,在存在傳輸錯誤時,該解析依賴性可導致嚴重的質(zhì)量降級。

相反,在H.265/HEVC編碼/解碼的一些實現(xiàn)中,在經(jīng)量化的變換系數(shù)的解碼和CU級QP值之間不存在解析依賴性。甚至在QP值可在逐CU的基礎(chǔ)上改變或在CU的一個塊到另一塊改變時,經(jīng)量化變換系數(shù)的編碼/解碼獨立于QP值。在從位流解析/熵解碼經(jīng)量化的變換系數(shù)時,不需要重構(gòu)CU級QP值。因此,不存在對CU級QP值的解析依賴性。

B.用于用調(diào)色板模式對經(jīng)逸出編碼的像素進行穩(wěn)健編碼/解碼的通用技術(shù)。

圖9示出用于編碼(包括用調(diào)色板模式的逸出模式對像素進行穩(wěn)健編碼)的通用技術(shù)(900)。媒體編碼器(諸如參考圖3、4a和4b描述的視頻編碼器或其他媒體編碼器)執(zhí)行技術(shù)(900)。

媒體編碼器接收(910)當前圖片。媒體編碼器隨后在逐單元的基礎(chǔ)上對當前圖片進行編碼。當前圖片的單元可以是CU、宏塊、或某種其他類型的單元。作為對當前圖片進行編碼的一部分,媒體編碼器對當前圖片的當前單元進行編碼(920)。媒體編碼器檢查(930)是否要對當前圖片的下一單元繼續(xù),并且如果如此,則通過(與當前單元一樣)對下一單元進行編碼來繼續(xù)。在對當前圖片的所有單元進行編碼后,媒體編碼器檢查(940)是否要對下一圖片(例如,視頻序列中的下一圖片)繼續(xù)。如果如此,則媒體編碼器通過接收下一圖片(與當前圖片一樣)來繼續(xù)。

在編碼過程期間,對于至少一個單元,編碼器用調(diào)色板模式對該單元進行編碼,并且作為調(diào)色板模式編碼的一部分,獨立于該單元的任何單元級QP用調(diào)色板模式的逸出模式對該單元的樣本值進行編碼。參考圖11-18在接著的四個章節(jié)中詳述用于用調(diào)色板模式的逸出模式對樣本值進行編碼的各示例方法。當前圖片的其他單元可在沒有經(jīng)逸出編碼的像素的情況下用調(diào)色板模式來編碼,和/或用非調(diào)色板模式來編碼。

媒體編碼器可選擇性地啟用/禁用經(jīng)逸出編碼的像素的樣本值是否獨立于任何單元級QP被編碼。例如,片頭部、PPS、SPS或其他句法結(jié)構(gòu)中的標志指示用調(diào)色板模式的逸出模式編碼的像素的樣本值是否是獨立于任何單元級QP來編碼的。

圖10示出用于進行解碼(包括用調(diào)色板模式的逸出模式對像素進行穩(wěn)健解碼)的通用技術(shù)(1000)。媒體解碼器(諸如參考圖5和6描述的視頻解碼器或其他媒體解碼器)執(zhí)行技術(shù)(1000)。

媒體解碼器接收(1010)當前圖片的經(jīng)編碼的數(shù)據(jù)。媒體解碼器隨后在逐單元的基礎(chǔ)上對當前圖片進行解碼。當前圖片的單元可以是CU、宏塊、或某種其他類型的單元。作為對當前圖片進行解碼的一部分,媒體解碼器對當前圖片的當前單元進行解碼(1020)。媒體解碼器檢查(1030)是否要針對當前圖片的下一單元繼續(xù),并且如果如此,則通過(與當前單元一樣)對下一單元進行解碼來繼續(xù)。在對當前圖片的所有單元進行解碼后,媒體解碼器檢查(1040)是否針對下一圖片(例如,視頻序列中的下一圖片)繼續(xù)。如果如此,則媒體解碼器通過接收下一圖片的經(jīng)編碼的數(shù)據(jù)(與當前圖片一樣)來繼續(xù)。

在解碼過程期間,對于至少一個單元,解碼器用調(diào)色板模式對該單元進行解碼,并且作為調(diào)色板模式解碼的一部分,用調(diào)色板模式的逸出模式對該單元的樣本值進行解碼,而沒有對該單元的單元級QP的任何解析依賴性。參考圖11-18在接著的四個章節(jié)中詳述用于用調(diào)色板模式的逸出模式對樣本值進行解碼的各示例方法。當前圖片的其他單元可在沒有經(jīng)逸出編碼的像素的情況下用調(diào)色板模式來解碼,和/或用非調(diào)色板模式來解碼。

媒體解碼器可選擇性地啟用/禁用經(jīng)逸出編碼的像素的樣本值是否在沒有對單元級QP的任何解析依賴性的情況下被解碼。例如,片頭部、PPS、SPS或其他句法結(jié)構(gòu)中的標志指示用調(diào)色板模式的逸出模式編碼的像素的樣本值是否是在沒有對單元級QP的解析依賴性的情況下解碼的。

C.第一示例方法-使用片級QP或其他“恒定”QP。

圖11示出用于使用取決于片級QP的二值化過程用調(diào)色板模式對經(jīng)逸出編碼的像素的樣本值進行編碼的示例技術(shù)(1100)。示例技術(shù)(1100)是圖9中示出的通用技術(shù)(900)的編碼(920)階段中的處理的示例。在第一示例方法中,當前圖片的片包括當前單元(例如,當前CU)。

媒體編碼器基于該片的片級QP使用量化步長尺寸來量化(1110)樣本值。例如,該片級QP是使用當前圖片的圖片級QP以及片的片級QP來設(shè)置的。替換地,片級QP還取決于適用于片中的用調(diào)色板模式的逸出模式編碼的任何樣本值的QP偏移,如參考圖13所描述的。經(jīng)逸出編碼的像素的樣本值的QP偏移可取決于調(diào)色板模式是否被啟用被有條件地信號化在片的頭部(即,如果調(diào)色板模式被啟用,則QP偏移存在,并且如果調(diào)色板模式被禁用,則QP偏移不存在)。對于單元的不同塊,片級QP也可變化,這取決于色彩分量,其中不同的色彩分量具有在圖片級和/或片級信號化的不同QP偏移。在示例實現(xiàn)中,位流句法不準許在有經(jīng)逸出編碼的像素的情況下用調(diào)色板模式來編碼單元的單元級QP(例如,在有經(jīng)逸出編碼的像素的情況下,CU的CU級QP都不是以調(diào)色板模式來編碼的)。

媒體編碼器將經(jīng)量化的樣本值映射(1120)到含一個或多個二進制值的串。該串是取決于對經(jīng)量化的樣本值而言可能的最大值的二值化的部分,該最大值進而取決于片級QP。以下描述二值化的示例。替換地,媒體編碼器使用一些其他形式的二值化。媒體編碼器對含(諸)二進制值的串進行熵編碼(1130)。

圖12示出用于使用取決于片級QP的二值化過程用調(diào)色板模式對經(jīng)逸出編碼的像素的樣本值進行解碼的示例技術(shù)(1200)。示例技術(shù)(1200)是圖10中示出的通用技術(shù)(1000)的解碼(1020)階段中的處理的示例。在第一示例方法中,當前圖片的片包括當前單元(例如,當前CU)。

媒體解碼器確定(1210)取決于對樣本值的經(jīng)量化的樣本值而言可能的最大值的二值化。最大值取決于片的片級QP。例如,片級QP是使用當前圖片的圖片級QP以及片的片級QP來重構(gòu)的。替換地,片級QP還取決于適用于片中的用調(diào)色板模式的逸出模式編碼的任何樣本值的QP偏移,如參考圖13所描述的。經(jīng)逸出編碼的像素的樣本值的QP偏移可取決于調(diào)色板模式是否被啟用被有條件地信號化在片的頭部(即,如果調(diào)色板模式被啟用,則QP偏移存在,并且如果調(diào)色板模式被禁用,則QP偏移不存在)。對于單元的不同塊,片級QP也可變化,這取決于色彩分量,其中不同的色彩分量具有信號化在圖片級和/或片級的不同QP偏移。在示例實現(xiàn)中,位流句法不準許在有經(jīng)逸出編碼的像素的情況下用調(diào)色板模式來解碼單元的單元級QP(例如,在有經(jīng)逸出編碼的像素的情況下,CU的CU級QP都不是用調(diào)色板模式來編碼的)。

媒體解碼器對經(jīng)量化的樣本值的含一個或多個二進制值的串進行熵解碼(1220)。該熵解碼使用該二值化。隨后,媒體解碼器使用片的片級QP對經(jīng)量化的樣本值進行逆量化(1230)。

在一些示例實現(xiàn)中,經(jīng)逸出編碼的像素是使用對片的各CU“恒定”的QP值來編碼和解碼的。該恒定QP是片級QP,其可取決于為片的各經(jīng)逸出編碼的像素信號化的片級QP偏移,但對該片的所有CU相同。由于經(jīng)逸出編碼的像素的QP對于該片的CU是固定的,在對經(jīng)逸出編碼的像素的樣本值進行算術(shù)編碼/解碼時使用的串的二進制值的數(shù)目也是固定的。(串的二進制值的數(shù)目取決于樣本深度和QP值,其指示經(jīng)量化的樣本值的最大可能值。)由此,當恒定的片級QP被使用時,不存在對經(jīng)逸出編碼的像素的樣本值的CU級QP值的解析依賴性。同樣,當經(jīng)逸出編碼的像素使用恒定的片級QP時,在調(diào)色板模式中經(jīng)逸出編碼的像素的CU級QP偏移不需要被信號化在位流中。

圖13示出具有用于在調(diào)色板模式中信號化經(jīng)逸出編碼的像素的片級QP偏移的句法元素的示例句法結(jié)構(gòu)(1300)。具體地,圖13示出用于針對H.265/HEVC標準的擴展的編碼和解碼實現(xiàn)的片段頭部的句法結(jié)構(gòu)。在句法結(jié)構(gòu)(1300)中,句法元素palette_escape_pixel_qp_delta(調(diào)色板_逸出_像素_qb_增量)、palette_escape_pixel_cb_qp_offset(調(diào)色板_逸出_像素_cb_qb_偏移)和palette_escape_pixel_cr_qp_offset(調(diào)色板_逸出_像素_cr_qb_偏移)有條件的存在。如果調(diào)色板模式被啟用(即,palette_mode_enabled_flag(調(diào)色板_模式_被啟用_標志)的值為1),則句法元素palette_escape_pixel_qp_delta存在,并且句法元素palette_escape_pixel_cb_qp_offset和palette_escape_pixel_cr_qp_offset也可存在(如果色度陣列類型不是單色的)。

句法元素palette_escape_pixel_qp_delta指定片中用于經(jīng)逸出編碼的像素的亮度樣本值(或其他主要色彩分量樣本值)的QP值(“EscQpY”)。當不存在時,該句法元素的值被推斷等于0。EscQpY被設(shè)為:

EscQpY=SliceQpY+palette_escape_pixel_qp_delta,

其中EscQpY的值被約束為在-QpBdOffsetY到+51的范圍內(nèi),并且QpBdOffsetY被定義在JCTVC-T1005-v2中,其指定H.265/HEVC標準的擴展。

句法元素palette_escape_pixel_cb_qp_offset指定在確定片中的經(jīng)逸出編碼的像素的cb色彩分量樣本值(或其他次要色彩分量樣本值)所使用的QP值(“EscQpCb”)時要與pps_cb_qp_offset(pps_cb_qb_偏移)的值相加的差。palette_escape_pixel_cb_qp_offset的值被約束在-12到+12的范圍內(nèi),其為包括性的。當不存在時,該句法元素被推斷為等于0。pps_cb_qp_offset+palette_escape_pixel_cb_qp_offset的值被約束為處于-12到+12的范圍內(nèi),其為包括性的。EscQpCb被設(shè)為:

EscQpCb=Clip3(-QpBdOffsetC,57,EscQpY+pps_cb_qp_offset+palette_escape_pixel_cb_qp_offset),

其中,Clip3(a,b,c)是將c限幅(clip)為處于a和b的范圍內(nèi)的函數(shù),并且其中QpBdOffsetC和pps_cb_qp_offset被定義在JCTVC-T1005-v2中。

類似地,句法元素palette_escape_pixel_cr_qp_offset指定在確定片中的經(jīng)逸出編碼的像素的cr色彩分量樣本值(或其他次要色彩分量樣本值)所使用的QP值(“EscQpCr”)時要與pps_cr_qp_offset的值相加的差。palette_escape_pixel_cr_qp_offset的值被約束在-12到+12的范圍內(nèi),其為包括性的。當不存在時,該句法元素被推斷為等于0。pps_cr_qp_offset+palette_escape_pixel_cr_qp_offset的值被約束為處于-12到+12的范圍內(nèi),其為包括性的。EscQpCr被設(shè)為:

EscQpCr=Clip3(-QpBdOffsetC,57,EscQpY+pps_cr_qp_offset+palette_escape_pixel_cr_qp_offset),

其中pps_cr_qp_offset被定義在JCTVC-T1005-v2中。

在解碼期間,對于不同的色彩分量,用于經(jīng)逸出編碼的像素的經(jīng)量化的樣本值的逆量化的片級QP(“qP”)取決于色彩分量的索引cIdx被定義為:

-如果cIdx等于0,qP=max(0,EscQpY);

-否則,如果cIdx等于1,qP=max(0,EscQpCb);以及

-否則(cIdx等于2),qP=max(0,EscQpCr)。

句法元素palette_escape_val(調(diào)色板_逸出_值)表示經(jīng)逸出編碼的像素的經(jīng)量化的樣本值。針對palette_escape_val的二值化過程如下前進。二值化過程接受色彩分量索引cIdx和標志cu_transquant_bypass_flag(cu_變換量化_繞過_標記)作為輸入,其指示對于CU變換和量化是否被繞過。二值化過程產(chǎn)生針對palette_escape_val句法元素的二值化(可能的二進制值串的集合)作為輸出。媒體解碼器導出變量bitDepth(位深度)為:

bitDepth=(cIdx==0)?BitDepthY:BitDepthC,

其中BitDepthY(位深度Y)指示主要色彩分量的位深度,并且BitDepthC(位深度C)指示次要色彩分量的位深度。

如果cu_transquant_bypass_flag為真,則媒體解碼器通過調(diào)用在JCTVC-T1005-v2的章節(jié)9.3.3.5中指定的固定長度二值化過程來導出palette_escape_val的二值化,其中輸入?yún)?shù)被設(shè)為(1<<bitDepth)–1。

另一方面,如果cu_transquant_bypass_flag為假,則媒體解碼器如下導出palette_escape_val的二值化。媒體解碼器如下導出量化參數(shù)qP:

qP=(cIdx==0)?EscQpY:((cIdx==1)EscQpCb?EscQpCr)。

媒體解碼器如下導出變量bdShift(bd移位):

bdShift=14+qP/6。

列表quantScale[](量化比例[])被指定為quantScale[k]={26214,23302,20560,18396,16384,14564},k=0…5。媒體解碼器如下導出經(jīng)截短的二進制(“TB”)二值化過程的最大參數(shù)cMax:

cMax=(((1<<bitDepth)-1)*quantScale[qP%6]+(1<<(bdShift-1)))>>bdShift。

最后,為了產(chǎn)生palette_escape_value句法元素的二值化,媒體解碼器調(diào)用在JCTVC-T1005-v2的章節(jié)9.3.3.6中指定的TB二值化過程,其中cMax作為輸入。

在示例實現(xiàn)中,對經(jīng)逸出編碼的像素的經(jīng)量化的樣本值的編碼/解碼使用片級QP。替換地,取代使用片級QP,調(diào)色板模式的逸出模式使用另一QP值,出于對片的各單元進行編碼/解碼的目的,該另一QP值是“恒定的”。例如,該恒定的QP是圖片級QP(其可在各色彩分量之間變化)、因小塊而異的QP(其可在各色彩分量之間變化)或另一級別的QP。

在示例實現(xiàn)中,經(jīng)逸出編碼的像素的樣本值總是使用片級QP或其他恒定QP來編碼和解碼。替換地,經(jīng)逸出編碼的像素的樣本值可使用恒定QP或使用CU級QP來編碼/解碼,這取決于設(shè)置。例如,(在片頭部、PPS、SPS或其他句法結(jié)構(gòu)中的)高級標志控制經(jīng)逸出編碼的像素的樣本值是使用恒定QP還是CU級QP來編碼/解碼的。該標志進而控制位流中存在還是不存在經(jīng)逸出編碼的像素的(諸)片級QP偏移,并控制該位流中存在還是不存在經(jīng)逸出編碼的像素的(諸)CU級QP偏移。

D.第二示例方法-根據(jù)樣本深度的二值化。

圖14示出用于使用取決于樣本值的樣本深度(即,每樣本值的位數(shù))的二值化過程用調(diào)色板模式對經(jīng)逸出編碼的像素的樣本值進行編碼的示例技術(shù)(1400)。示例技術(shù)(1400)是圖9中示出的通用技術(shù)(900)的編碼(920)階段中的處理的示例。示例技術(shù)(1400)是無損的—經(jīng)逸出編碼的像素的樣本值沒有被量化。

媒體編碼器將樣本值映射(1410)到含一個或多個二進制值的串。該串是取決于樣本值的樣本深度的固定長度二值化的一部分。以下描述了固定長度二值化的示例。替換地,媒體編碼器使用一些其他形式的二值化。媒體編碼器對含(諸)二進制的串進行熵編碼(1420)。

圖15示出用于使用取決于樣本值的樣本深度(即,每樣本值的位數(shù))的二值化過程用調(diào)色板模式對經(jīng)逸出編碼的像素的樣本值進行解碼的示例技術(shù)(1500)。示例技術(shù)(1500)是圖10中示出的通用技術(shù)(1000)的解碼(1020)階段中的處理的示例。示例技術(shù)(1500)是無損過程的一部分-經(jīng)逸出編碼的像素的樣本值沒有被逆量化。

媒體解碼器確定(1510)取決于樣本值的樣本深度的固定長度二值化。以下描述固定長度二值化的示例。媒體解碼器對含樣本值的一個或多個二進制值的串進行熵解碼(1220)。該熵解碼使用固定長度二值化。

在一些示例實現(xiàn)中,變量bitBepth指示同一值的樣本深度。媒體解碼器導出變量bitDepth為:

bitDepth=(cIdx==0)?BitDepthY:BitDepthC,

其中BitDepthY指示主要色彩分量的位深度,并且BitDepthC指示次要色彩分量的位深度。媒體解碼器通過調(diào)用在JCTVC-T1005-v2的章節(jié)9.3.3.5中指定的固定長度二值化過程來導出(句法元素palette_escape_val的)樣本值的二值化,其中輸入?yún)?shù)被設(shè)為(1<<bitDepth)–1。

由于樣本深度通常在高級別處被定義(例如,針對視頻序列),二值化過程的輸入是固定的。替換地,經(jīng)逸出編碼的像素的樣本值是使用取決于另一固定規(guī)則的二值化過程來編碼/解碼的。

E.第三和第四示例方法-k階指數(shù)-Golomb二值化

圖16示出用于在調(diào)色板模式中使用k階指數(shù)-Golomb二值化過程對經(jīng)逸出編碼的像素的樣本值進行編碼的示例技術(shù)(1600)。示例技術(shù)(1600)是圖9中示出的通用技術(shù)(900)的編碼(920)階段中的處理的示例。

媒體編碼器基于片的片級QP、單元的單元級QP或其他QP使用量化步長尺寸來量化(1610)樣本值。例如,QP是使用當前圖片的圖片級QP、片的片級QP偏移和單元的單元級QP偏移來設(shè)置的。(即使在單元級QP偏移不影響解析的情況下(如在以下描述的獨立于QP的變型中),單元級QP偏移也可在設(shè)置用于量化的因單元而異的QP時被使用。)對于單元的不同塊,QP也可變化,這取決于色彩分量,例如其中不同的色彩分量具有在圖片級和/或片級信號化的不同QP偏移。

媒體編碼器將經(jīng)量化的樣本值映射(1620)到含一個或多個二進制值的串。該串是取決于輸入值k的k階指數(shù)-Golomb二值化的一部分。以下描述了k階指數(shù)-Golomb二值化的示例。替換地,媒體編碼器使用一些其他形式的二值化。媒體編碼器對含(諸)二進制的串進行熵編碼(1630)。

圖17示出用于在調(diào)色板模式中使用k階指數(shù)-Golomb二值化過程對經(jīng)逸出編碼的像素的樣本值進行解碼的示例技術(shù)(1700)。示例技術(shù)(1700)是圖10中示出的通用技術(shù)(1000)的解碼(1020)階段中的處理的示例。

媒體解碼器確定(1710)取決于輸入值k的k階指數(shù)-Golomb二值化。媒體解碼器對經(jīng)量化的樣本值的含一個或多個二進制值的串進行熵解碼(1720)。該熵解碼使用k階指數(shù)-Golomb二值化。隨后,媒體解碼器基于片的片級QP、單元的單元級QP或其他QP使用量化步長尺寸來逆量化(1730)經(jīng)量化的樣本值。例如,QP是使用當前圖片的圖片級QP、片的片級QP偏移和/或單元的單元級QP偏移來重構(gòu)的。(即使在單元級QP偏移不影響解析的情況下(如在以下描述的獨立于QP的變型中),單元級QP偏移也可在設(shè)置用于量化的因單元而異的QP時被使用。)對于單元的不同塊,QP也可變化,這取決于色彩分量,例如其中不同的色彩分量具有在圖片級和/或片級信號化的不同QP偏移。

圖18是示出用于k階指數(shù)-Golomb二值化過程的示例技術(shù)的偽代碼列表(1800)。k階指數(shù)-Golomb二值化過程產(chǎn)生將每一可能值(如圖18中示出的,symbolVal)與相應的二進制值串相關(guān)聯(lián)的二值化。如圖18所示,指定了在針對每一值symbolVal的二值化過程中產(chǎn)生的串。函數(shù)Abs(X)返回X的絕對值。對函數(shù)put(X)的每一次調(diào)用都在二進制串的結(jié)束處添加二進制值X,其中X等于0或1。

1.獨立于QP的二值化過程。

在一些示例實現(xiàn)中,為該解碼預定義用于k階指數(shù)-Golomb二值化的k值。例如,為經(jīng)逸出編碼的像素的樣本值的編碼和解碼預先確定或硬編碼k的值?;蛘?,k值由編碼器設(shè)置,被信號化在片頭部、PPS、SPS或其他句法結(jié)構(gòu)中,并且由解碼器用作k階指數(shù)-Golomb二值化過程的輸入。由于k值是預定義的,調(diào)色板模式中針對經(jīng)逸出編碼的像素的樣本值的二值化過程是獨立于QP的。

k的值取決于實現(xiàn)。一般來說,當大多數(shù)經(jīng)量化的樣本值為零或接近于零時,較小的k值(諸如為0或1)受到偏好。另一方面,當經(jīng)量化的樣本值在范圍方面在各非零值之中更均勻地分布時,甚至在接近于零的值更常見的情況下,較大的k值(諸如,2、3或4)受到偏好。在一些示例實現(xiàn)中,k為3。

通過這種方法,針對palette_escape_val的二值化過程如下前進。二值化過程接受色彩分量索引cIdx和標志cu_transquant_bypass_flag作為輸入,其指示對于CU變換和量化是否被繞過。二值化過程產(chǎn)生針對palette_escape_val句法元素的二值化(可能的二進制值串的集合)作為輸出。媒體解碼器導出變量bitDepth為:

bitDepth=(cIdx==0)?BitDepthY:BitDepthC,

其中BitDepthY指示主要色彩分量的位深度,并且BitDepthC指示次要色彩分量的位深度。

如果cu_transquant_bypass_flag為真,則媒體解碼器通過調(diào)用在JCTVC-T1005-v2的章節(jié)9.3.3.5中指定的固定長度二值化過程來導出palette_escape_val的二值化,其中輸入?yún)?shù)被設(shè)為(1<<bitDepth)–1。

另一方面,如果cu_transquant_bypass_flag為假,媒體解碼器如圖18所示導出palette_escape_val的k階指數(shù)-Golomb二進制,其中k等于3。

2.獨立于QP的二值化過程。

在一些示例實現(xiàn)中,用于k階指數(shù)-Golomb二值化的k值是在解碼期間取決于QP值來導出的。例如,在當前單元是當前圖片的片的一部分時,k值可至少部分地基于片的片級QP來設(shè)置。由此,k階指數(shù)-Golomb二進制的階是自適應的,這取決于片級QP。當QP為高時,由于大多數(shù)經(jīng)量化的樣本值被預期為處于相對較小的值范圍中的零或接近于零,因此k值可被設(shè)為較低值(諸如0或1)。另一方面,當QP為低時,由于較多非零的經(jīng)量化的樣本值被預期,并且那些非零的經(jīng)量化的樣本值可分布在較大的值范圍上,因此k值可被設(shè)為較高值(諸如,2、3或4)。

通過這種方法,針對palette_escape_val的二值化過程如下前進。二值化過程接受色彩分量索引cIdx和標志cu_transquant_bypass_flag作為輸入,其指示對于CU變換和量化是否被繞過。二值化過程產(chǎn)生針對palette_escape_val句法元素的二值化(可能的二進制值串的集合)作為輸出。媒體解碼器導出變量bitDepth為:bitDepth=(cIdx==0)?BitDepthY:BitDepthC.

如果cu_transquant_bypass_flag為真,則媒體解碼器通過調(diào)用在JCTVC-T1005-v2的章節(jié)9.3.3.5中指定的固定長度二值化過程來導出palette_escape_val的二值化,其中輸入?yún)?shù)被設(shè)為(1<<bitDepth)–1。

另一方面,如果cu_transquant_bypass_flag為假,則媒體解碼器如下導出palette_escape_val的二值化。媒體解碼器如下導出量化參數(shù)qP:

如果cIdx==0,qP=SliceQpY

否則,如果cIdx==1,

qP=Clip3(-QpBdOffsetC,57,SliceQpY+pps_cb_qp_offset+slice_cb_qp_offset)

否則(cIdx==2),

qP=Clip3(-QpBdOffsetC,57,SliceQpY+pps_cr_qp_offset+slice_cr_qp_offset)

替換地,QP值qP以某一其它方式來設(shè)置。例如:

QpY=SliceQpY

qPiCb=Clip3(-QpBdOffsetC,57,QpY+pps_cb_qp_offset+slice_cb_qp_offset)

qPiCr=Clip3(-QpBdOffsetC,57,QpY+pps_cr_qp_offset+slice_cr_qp_offset)

如果ChromaArrayType等于1,則基于索引qPi分別等于qPiCb和qPiCr,變量qPCb和qPCr被設(shè)為等于如在JCTVC-T1005-v2的表8-10中指定的QpC的值。否則,基于索引qPi分別等于qPiCb和qPiCr,變量qPCb和qPCr被設(shè)為等于Min(qPi,51)。此后:

Qp′Y=QpY+QpBdOffsetY

Qp′Cb=qPCb+QpBdOffsetC

Qp′Cr=qPCr+QpBdOffsetC

最后,取決于色彩分量設(shè)置樣本值的適當QP。如果cIdx等于0,qP被設(shè)為Qp′Y。如果cIdx等于1,qP被設(shè)為Qp′Cb。如果cIdx等于2,qP被設(shè)為Qp′Cr。

媒體解碼器如下導出變量bdShift:

bdShift=14+qP/6.

列表quantScale[]被指定為quantScale[k]={26214,23302,20560,18396,16384,14564},k=0…5。媒體解碼器如下導出經(jīng)截短的二進制(“TB”)二值化過程的最大參數(shù)cMax:

cMax=(((1<<bitDepth)-1)*quantScale[qP%6]+(1<<(bdShift-1)))>>bdShift。

由此,cMax指示在調(diào)色板模式中經(jīng)逸出編碼的像素的(給定色彩分量的)經(jīng)量化的樣本值的最大可能值。

隨后,媒體解碼器根據(jù)以下偽代碼基于cMax確定k(“order(階)”)的值。

order=0;

while(cMax>1){order++;cMax>>=1;}

order的值可進一步通過添加固定偏移(諸如,0、1、2、-1、-2等)來修改,其中order被限幅為大于或等于0。替換地,為了計算趨于稍微較高的order的值,媒體解碼器根據(jù)以下偽代碼基于cMax確定k(階)的值:

order=0;

while(cMax>0){order++;cMax>>=1;}

最后,媒體解碼器如圖18所示導出palette_escape_val的k階指數(shù)-Golomb二值化,其中k等于如上導出的值“order(階)”。

F.其他示例方法-組合。

前述方法可被組合使用。例如,媒體編碼器確定單元是用無損方式還是有損方式編碼的。如果單元是用無損方式編碼的,則媒體編碼器使用在章節(jié)V.D中描述的方法。否則(單元是用有損方式編碼的),媒體編碼器使用在章節(jié)V.E中描述的方法之一。相應的媒體解碼器確定單元已被用無損方式還是有損方式編碼。如果單元已被用無損方式編碼,則媒體解碼器使用在章節(jié)V.D中描述的方法。否則(單元已被用有損方式編碼),媒體編碼器使用在章節(jié)V.E中描述的方法之一。

鑒于可應用所公開的本發(fā)明的原理的許多可能的實施例,應當認識到,所示實施例僅是本發(fā)明的優(yōu)選示例,并且不應認為是限制本發(fā)明的范圍。相反,本發(fā)明的范圍由后續(xù)的權(quán)利要求來界定。我們要求作為我們的發(fā)明保護落入這些權(quán)利要求范圍和精神內(nèi)的所有內(nèi)容。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1