數據編碼和解碼的制作方法
【專利摘要】一種數據編碼方法,包括將數據值的陣列編碼為數據集和用于未由所述數據集編碼的值的轉義碼,轉義碼包括前綴部分和非一元編碼后綴部分,所述非一元編碼后綴部分具有按位計的長度,根據對于至少一些由前綴部分編碼的值使得所述非一元編碼后綴部分的長度大于所述前綴部分按位計的長度的關系,所述非一元編碼后綴部分的長度取決于由所述前綴部分編碼的值。
【專利說明】
數據編碼和解碼
[000。相關申請交叉引用
[0002] 本申請要求分別于2014年3月5日和2013年12月23日向英國知識產權局提交的 GB1403854.1和GB1322947.1的在先申請日的權利,將其運兩個申請的全部內容通過引證結 合于此。
技術領域
[0003] 本公開設及數據編碼和解碼。
【背景技術】
[0004] 在本文中提供的"背景"描述是為了總體上呈現本公開的上下文。就其在此背景部 分描述的程度而言,目前署名的發(fā)明人的工作W及申請時未另有資格作為現有技術的描述 的方面,既沒有明確地也沒有隱含地承認作為與本公開的相對的現有技術。
[0005] 存在若干種視頻數據壓縮和解壓縮系統(tǒng),其設及將視頻數據變換成頻域表示,量 化頻域系數,然后對量化的系數施加某種形式的賭編碼。
[0006] 在本上下文中,可W認為賭表示數據符號或者符號序列的信息內容。賭編碼的目 的是使用(理想地)表示數據符號序列的信息內容所必需的最小數目的編碼數據位W無損 方式編碼數據符號序列。實際上,賭編碼用于編碼量化系數,使得經編碼的數據(在其位數 方面)小于原始量化系數的數據大小。更高效的賭編碼過程對于相同的輸入數據大小給出 較小的輸出數據大小。
[0007] -種用于賭編碼視頻數據的技術是所謂的CABAC(上下文自適應二進制算術編碼) 技術。
【發(fā)明內容】
[000引本公開提供了數據解碼裝置,包括:解碼器,被配置為將輸入編碼數據值解碼為具 有位深的解碼數據值,輸入編碼數據值被編碼為數據集,和用于未由數據集編碼的值的轉 義碼,轉義碼包括前綴部分和非一元編碼后綴部分,前綴部分具有W最大前綴長度封頂的 前綴長度,該最大前綴長度取決于數據值的位深,非一元編碼后綴部分具有按位計的長度, 根據對于至少一些由前綴部分編碼的值,使得非一元編碼后綴部分的長度大于前綴部分的 按位計的長度的關系,非一元編碼后綴部分的長度由前綴部分編碼的值。
[0009] 在所附權利要求中限定了另外的相應的方面及特征。
[0010] 應理解,前述的一般描述及之后的詳細描述為示例性的,而非限制本公開。
【附圖說明】
[0011] 將容易獲得本發(fā)明的更全面理解W及本發(fā)明伴隨的許多優(yōu)點,因為運些在結合附 圖進行考慮時參照實施例的W下描述將變得更好理解,其中:
[0012] 圖1示意性地示出了使用視頻數據壓縮和解壓縮的音頻/視頻(AA)數據傳輸和接 收系統(tǒng);
[0013] 圖2示意性地示出了利用視頻數據解壓縮的視頻顯示系統(tǒng);
[0014] 圖3示意性地示出了利用視頻數據壓縮和解壓縮的音頻/視頻存儲系統(tǒng);
[0015] 圖4示意性地示出了使用視頻數據壓縮的攝影機;
[0016] 圖5提供視頻數據壓縮和解壓縮裝置的示意圖;
[0017] 圖6示意性地示出了預測圖像的生成;
[001引圖7示意性地示出了最大編碼單元化CU);
[0019] 圖8示意性地示出了四個編碼單元(CU)的組;
[0020] 圖9和圖10示意性地示出了細分為更小編碼單元的圖8的編碼單元;
[0021] 圖11示意性地示出了預測單元(PU)的陣列;
[0022] 圖12示意性地示出了變換單元(TU)的陣列;
[0023] 圖13示意性地示出了部分編碼的圖像;
[0024] 圖14示意性地示出了可能的預測方向的組;
[0025] 圖15示意性地示出了預測模式的組;
[00%]圖16示意性地示出了之字形掃描;
[0027] 圖17示意性地示出了 CABAC賭編碼器;
[0028] 圖18是示意性地示出編碼技術的流程圖;
[0029] 圖19是示出編碼技術的示意性流程圖;
[0030] 圖20是示出編碼技術的示意性流程圖;W及 [0031 ]圖21是示出編碼技術的示意性流程圖。
【具體實施方式】
[0032] 現在參考附圖,提供圖1-4W給出將在下文結合實施方式描述的利用壓縮及/或解 壓縮裝置的裝置或系統(tǒng)的示意圖。
[0033] 下文將描述的所有數據壓縮和/或解壓縮裝置可W W硬件、在諸如通用計算機、如 專用集成電路(ASIC)或者現場可編程口陣列(FPGA)的可編程硬件或其組合的通用數據處 理裝置上運行的軟件實施。在由軟件和/或固件實施實施方式的情況下,應當理解,運樣的 軟件和/或固件,W及通過其存儲,或W其他方式提供運種軟件和/或固件的非易失性機器 可讀數據存儲介質被認為是實施方式。
[0034] 圖1示意性地示出了利用視頻數據壓縮和/或解壓縮的音頻/視頻數據傳輸和接收 系統(tǒng)。
[0035] 將輸入音頻/視頻信號10提供給視頻數據壓縮裝置20,視頻數據壓縮裝置2壓縮音 頻/視頻信號10的至少視頻分量,W用于沿著諸如、、如電纜、光纖、無線連接等的傳輸路徑 30傳輸。解壓縮裝置40處理經壓縮的信號W提供輸出音頻/視頻信號50。對于返回路徑,壓 縮裝置60壓縮音頻/視頻信號,用于沿著傳輸路徑30傳輸到解壓縮裝置70。
[0036] 因此壓縮裝置20和解壓縮裝置70可W形成傳輸鏈路的一個節(jié)點。解壓縮裝置40和 解壓縮裝置60可W形成傳輸鏈路的另一節(jié)點。當然,在傳輸鏈路為單向的情況下,僅節(jié)點中 的一個需要壓縮裝置而另一節(jié)點僅需要解壓縮裝置。
[0037] 圖2示意性地示出了使用視頻數據解壓縮的視頻顯示系統(tǒng)。具體地,經壓縮的音 頻/視頻信號100由解壓縮裝置110處理W提供經解壓縮的信號,經解壓縮的信號可W在顯 示器120上顯示。解壓縮裝置110可W實施為顯示器120的組成部分,例如,與顯示設備設置 在同一殼體內。替換地,解壓縮裝置110可W配置為(例如)所謂的機頂盒(STB),注意,表達 "機頂"并非表示該盒需要位于相對于顯示器120的任何特定方位或位置;其僅為本領域中 使用的術語,W指示作為外圍設備可連接至顯示器的設備。
[0038] 圖3示意性地示出了使用視頻數據壓縮和解壓縮的音頻/視頻存儲系統(tǒng)。將輸入音 頻/視頻信號130提供給壓縮裝置140,壓縮裝置140生成經壓縮的信號,該經壓縮的信號由 諸如磁盤設備、光盤設備、磁帶設備、諸如半導體存儲器的固態(tài)存儲設備或者其他存儲器設 備的存儲設備150存儲。對于重放,從存儲設備150讀取經壓縮的數據并且將該數據傳送到 用于解壓縮的解壓縮裝置160W提供輸出音頻/視頻信號170。
[0039] 應當理解,經壓縮的或者編碼的信號,W及存儲介質或者存儲該信號的數據載體 被認為是實施方式。
[0040] 圖4示意性地示出了使用視頻數據解壓縮的攝影機。在圖4中,圖像獲取設備180, 如電荷禪合裝置(CCD)圖像傳感器和相關的控制與讀出電子設備,生成視頻信號,該視頻信 號被傳送至壓縮裝置190。一個擴音器(或多個擴音器)200生成傳送至壓縮裝置190的音頻 信號。壓縮裝置190生成待存儲和/或傳輸(通常示出為示意性階段220)的經壓縮的音頻/視 頻信號210。
[0041] 下文描述的技術主要設及視頻數據壓縮。應當理解,許多現有技術可與即將描述 的視頻數據壓縮技術相結合用于音頻數據壓縮,W生成經壓縮的音頻/視頻信號。因此,將 不提供對音頻數據壓縮的單獨討論。還應理解,與視頻數據相關聯(lián)的數據速率,尤其是廣播 質量的視頻數據,通常比與(無論是壓縮或者未壓縮)音頻數據相聯(lián)的數據速率高很多。因 此,應當理解,未經壓縮的音頻數據可伴隨經壓縮的視頻數據形成經壓縮的音頻/視頻信 號。應進一步理解,雖然本實例(圖1-圖4中示出的)設及音頻/視頻數據,但下文將描述的技 術可W在僅處理(也就是說,壓縮、解壓縮、儲存、顯示及/或傳輸)視頻數據的系統(tǒng)中獲得使 用。也就是說,實施方式能夠應用于視頻數據壓縮,而完全不必具有任何相關的音頻數據處 理。
[0042] 圖5提供了在控制器345的控制下操作的視頻數據壓縮和解壓縮裝置的示意圖。
[0043] 輸入視頻信號的連續(xù)圖像被提供至加法器310和圖像預測器320。將在下文參考圖 6更詳細地描述圖像預測器320。事實上,加法器310執(zhí)行減法(負加法)操作,因為其在V'輸 入端接收輸入視頻信號300并且在輸入端接收圖像預測器320的輸出,因而從輸入圖像 中減去預測圖像。結果是生成表示實際圖像與投影圖像之間差的所謂殘差圖像信號330。
[0044] 生成殘差圖像信號的原因之一如下。將描述數據編碼技術,也就是說將應用于殘 差圖像信號的技術,在待編碼的圖像中存在較少"能量"時趨向于更高效地工作。此處,術語 "高效地"指少量經編碼的數據的生成;對于特定的圖像質量水平,期望生成實際上盡可能 少的數據(并且認為"高效地")。提及的殘差圖像中的"能量"指殘差圖像中含有的信息量。 如果預測圖像與實際圖像一致,兩者之間的差(也就是殘差圖像)將含有零信息(零能量)并 且非常容易編碼成少量的編碼數據。通常,如果可W使預測過程相當好地工作,預期殘差圖 像數據將含有比輸入圖像少的信息(少的能量)并且因而更容易編碼成少量的經編碼的數 據。
[0045] 殘差圖像數據330被提供給變換單元340,變換單元340生成殘差圖像數據的離散 余弦變換(DCT)表示。DCT技術本身是公知的并且此處將不詳細描述。然而,下文將更詳細地 描述在本裝置中使用的技術的方面,具體地,設及施加 DCT運算的不同數據塊的選擇。下文 將參考圖7-圖12討論運些。
[0046] 應注意在一些實施方式中,使用離散正弦變換(DST)而非DCT。在其他實施方式中, 可W不使用變換。其可W選擇性地進行,因而實際上例如在"跳過變換"的命令或模式的控 制下,繞過了變換階段。
[0047] 變換單元340的輸出,也就是說每個經變換的圖像數據塊的一組變換系數,被提供 給量化器350。從簡單地乘W量化比例因數,到在量化參數的控制下的復雜查找表的應用范 圍內,各種量化技術在視頻數據壓縮的領域中是已知的。總的目標是雙重的。首先,量化過 程減少了變換數據的可能值的數目。其次,量化過程可W增加變換數據的值為零的可能性。 運兩者可W使將在下文描述的賭編碼過程更有高效地作用于產生少量經壓縮的視頻數據。
[0048] 通過掃描單元360施加數據掃描處理。掃描出的目的是對量化變換的數據重新排 序,從而將盡可能多的非零量化變換系數收集在一起,并且當然,由此將盡可能多的零值系 數收集在一起。運些特征可W使得所謂的行程長度編碼(run-1 ength coding)或類似的技 術高效地應用。所W,掃描處理設及從經量化的變換數據選擇系數,并且具體地,根據"掃描 順序"從對應于已經變換和量化的圖像數據的塊的系數塊中選擇系數,使得(a)-次選擇所 有系數作為掃描的一部分;并且(b)掃描趨向于提供期望的重新排序。下文將描述用于選擇 掃描順序的技術。可W傾向于給出有用結果的一個掃描順序實例是所謂的之字形掃描順 序。
[0049] 然后,將掃描的系數傳送至賭編碼器化E)370。再次,可使用各種類型的賭編碼。下 文將描述的兩種實例是所謂的CABAC(上下文自適應二進制算術編碼)系統(tǒng)和所謂的CA化C (上下文自適應可變長度編碼)系統(tǒng)的變形。總體而言,認為CABAC提供更佳的效率,并且在 一些研究中已經顯示,與CA化C相比,對于相當的圖像質量,提供編碼輸出數據的量減少10-20%。然而,認為CAVLC表現出(在其實施方面)比CABAC低得多的復雜水平。將參考下文的圖 17討論CABAC技術。
[0050] 應注意,掃描過程和賭編碼過程示出為單獨的過程,但事實上,可W組合或者一起 處理。也就是說,將數據讀入賭編碼器,可W W掃描順序進行。相應的考慮適于下文將描述 的相應的反向程序。
[0051] 賭編碼器370的輸出,連同例如限定預測器320產生預測圖像的方式的另外的數據 (上述的和/或下文討論的),提供經壓縮的輸出視頻信號380。
[0052] 然而,因為預測器320自身的操作取決于經壓縮的輸出數據的解壓縮的版本,還提 供了返回路徑。
[0053] 該特征的原因如下。在解壓縮處理(下文將描述)中的適當階段中,產生殘差數據 的經解壓縮的版本。該經解壓縮的殘差數據必須被加入預測圖像中W生成輸出圖像(因為 原始殘差數據為輸入圖像與預測圖像之間的差)。為了使該處理在壓縮側與解壓縮側之間 是相當的,在壓縮處理期間和在解壓縮處理期間由預測器320生成的預測圖像應相同。當 然,在解壓縮時,該裝置并不訪問原始輸入圖像,而僅訪問經解壓縮的圖像。因此,在壓縮 時,預測器320基于其對壓縮圖像的解壓縮版本(至少,對圖像間編碼)的預測。
[0054] 由賭編碼器370進行的賭編碼過程認為是"無損的",也就是說其可W逆轉W達到 與開始提供給賭編碼器370的恰好相同的數據。所W,在賭編碼階段之前可W實施返回路 徑。實際上,由掃描單元360進行的掃描過程也認為是無損的,但是在本實施方式中,返回路 徑390為從量化器350的輸出至互補逆量化器420的輸入。
[0055] 總體而言,賭解碼器410、反向掃描單元400、逆量化器420和逆變換單元430提供賭 編碼器370、掃描單元360、量化器350和變換單元340的相應的逆功能。目前,將通過壓縮過 程繼續(xù)討論;將在下文分開討論解壓縮輸入壓縮視頻信號的過程。
[0056] 在壓縮過程中,通過返回路徑390將掃描系數從量化器350傳送至逆量化器420,逆 量化器420進行掃描單元360的逆運算。由單元420、430進行逆量化和逆變換處理W生成經 壓縮的-解壓縮殘差圖像信號440。
[0057] 在加法器450處,將圖像信號440加入預測器320的輸出W生成重構的輸出圖像 460。如將在下文描述的,其形成圖像預測器320的一個輸入。
[0058] 現在轉向施加給所接收的壓縮視頻信號470的處理,信號被提供至賭解碼器410, 并在由加法器450加入圖像預測器320的輸出之前,從此提供至反向掃描單元400、逆量化器 420和逆變換單元430的鏈。實際上,可W在輸出信號之前施加另外的濾波。
[0化9] 雖然已經在編碼器的上下文中描述圖5,應注意,返回解碼路徑(400、410、420、 430、450、320,均在控制器345的控制下操作)形成解碼器的實例。上文描述的和在下文中討 論的操作提供了設及(可應用的)編碼和解碼操作的方法步驟的實例。
[0060] 圖6示意性地示出了預測圖像的生成,并且具體地,圖像預測器320的操作。
[0061] 存在兩種基本預測模式:所謂的圖像內預測和所謂的圖像間或者運動補償(MC)預 測。
[0062] 圖像內預測基于對來自同一圖像內的數據的圖像塊的內容的預測。運對應于其他 視頻壓縮技術中的所謂I帖編碼。與其中內編碼整個圖像的I帖編碼不同,在本實施方式中, 可W在逐塊的基礎上進行內編碼與間編碼之間的選擇,雖然在其他實施例中仍然在逐圖像 的基礎上進行選擇。
[0063] 運動補償預測利用試圖限定在另一相鄰的或附近的圖像中,將在當前圖像中編碼 的圖像細節(jié)的來源的運動信息。因此,在理想的實例中,預測圖像中的圖像數據塊的內容可 W非常簡單地編碼為,指向相鄰的圖像中位于相同的或略微不同的位置的相應塊的參照 (運動矢量)。
[0064] 回到圖6,示出了兩種圖像預測設置(對應于圖像內和圖像間預測),其結果由模式 信號510的控制下的多路轉換器500選擇,W提供用于提供至加法器310和450的預測圖像的 塊。根據哪個選項給出最低"能量"(如上所述,其認為是需要編碼的信息內容)做出選擇,并 且將該選擇發(fā)信至編碼輸出數據流內的編碼器。例如,通過進行來自輸入圖像的兩個版本 的預測圖像的區(qū)域的試驗減法,對差值圖像的每個像素值求平方,對平方值求和,并且確定 兩個版本中的哪一個產生了有關該圖像區(qū)域的差值圖像的較低均方值,來檢測關于運點的 圖像能量。
[0065] 內編碼系統(tǒng)中的實際預測是基于接收為信號460的部分的圖像塊做出的,也就是 說,預測基于經編碼的-解碼圖像塊,W在解壓縮裝置處能夠做出恰好相同的預測。然而,可 W通過內模式選擇器520控制圖像內預測器的操作,由輸入視頻信號300得出數據。
[0066] 對于圖像間預測,運動補償(MC)預測器540使用諸如由運動估測器550從輸入視頻 信號300得出的運動矢量的運動信息。那些運動矢量由運動補償預測器540應用于重構圖像 460的處理版本W生成圖像間預測的塊。
[0067] 現將描述應用于信號460的處理。首先,由濾波器單元560對信號濾波。運設及應用 "解塊"濾波器W去除或者至少趨向于減少由變換單元340和后續(xù)操作進行的基于塊處理的 效果。此外,使用通過處理重構信號460和輸入視頻信號300得到的系數來應用自適應環(huán)路 濾波器。自適應環(huán)路濾波器是使用已知技術將自適應濾波器系數應用于待過濾的數據的濾 波器類型。也就是說,濾波器系數可根據各種因素而變化。定義使用哪個濾波器系數的數據 包括為編碼輸出數據流的一部分。
[0068] 事實上,來自濾波器單元560的濾波輸出形成輸出視頻信號480。其還緩存在一個 或多個圖像存儲器570中;運動補償預測處理特別是運動矢量生成需要連續(xù)圖像的存儲。為 了節(jié)省存儲需求,圖像存儲器570中的存儲圖像可W W壓縮形式保存,然后解壓縮用于生成 運動矢量。對于運個特定的目的,可使用任何已知的壓縮/解壓縮系統(tǒng)。將存儲圖像傳送至 內插濾波器580,內插濾波器生成存儲圖像的較高分辨率版本;在此實例中,生成中間樣本 (子樣本),從而使由內插濾波器580輸出的內插圖像的分辨率為存儲在圖像存儲器570中的 圖像的8倍(在每個維度上)。內插圖像作為輸入傳送至運動估測器550 W及運動補償預測器 540。
[0069] 在實施方式中,提供另外的可選階段,其使用乘法器600將輸入視頻信號的數據值 乘W因子四(效果上恰好將數據值向左移兩位);并且使用除法器或右移器610在裝置的輸 出處施加相應的除法運算(右移兩位)。所W,左移和右移僅用于裝置的內部運算而改變數 據。因為降低了任何數據取整誤差的影響,該措施可W提供裝置內更高的計算精度。
[0070] 現將描述將圖像分割W用于壓縮處理的方式。在基本水平,待壓縮的圖像被認為 是樣本塊的陣列。出于本討論的目的,考慮的最大的運種塊是所謂的最大編碼單元化CU) 700 (圖7 ),其代表64 X 64樣本的方陣。此處,本討論設及亮度樣本。取決于色度模式,如4:4: 4、4: 2: 2、4: 2:0或者4:4:4:4(GBR加關鍵數據化巧data)),將存在對應于亮度塊的不同數 目的相應色度樣本。
[0071] 將描述S種基本類型的塊:編碼單元、預測單元W及變換單元??傮w而言,LCU的遞 歸細分(recursive subdividing)使得W運樣的方式分割輸入圖像:可W根據待編碼的圖 像的具體特征設置塊大小和塊編碼參數(如預測或者殘差編碼模式)。
[0072] LCU可W被細分為所謂的編碼單元(CU)。編碼單元始終是正方形并且具有8 X 8樣 本與LCU 700的整個大小之間的大小。可W將編碼單元排列為樹結構的種類,從而可WW如 在圖8中所示的進行第一細分,給出32X32樣本的編碼單元710;然后可W在選擇的基礎上 進行隨后的細分,W給出一些16X16樣本的編碼單元720(圖9),和潛在的,一些8X8樣本的 編碼單元730(圖10)??傊撎幚砜蒞提供CU塊的內容適應的編碼樹結構,每個CU塊可W 與LCU-樣大或與8X8樣本一樣小?;诰幋a單元結構進行輸出視頻數據的編碼。
[0073] 圖11示意性地示出了預測單元(PU)的陣列。預測單元是用于攜帶設及圖像預測處 理的信息的基本單元,或者換言之,將附加數據添加到賭編碼殘差圖像數據W從圖5中的裝 置形成輸出視頻信號。通常,預測單元并不局限于正方形形狀。只要編碼單元大于最小(8X 8)大小,預測單元可W采取其他形狀,具體地,形成一個正方形編碼單元的一半的矩形形 狀。目的是使得相鄰預測單元的邊界與圖片中真實物體的邊界(盡可能密切地)匹配,從而 不同的預測參數可W應用于不同的真實物體。每個編碼單元可含有一個或者多個預測單 J L O
[0074] 圖12示意性地示出了變換單元(TU)的陣列。變換單元是變換和量化處理的基本單 元。變換單元始終是正方形并且可W采取從4 X 4到32 X 32樣本的大小。每個編碼單元可含 有一個或者多個變換單元。圖12中的縮寫SDIP-P表示所謂的短距離內預測分區(qū)(short distance intra-prediction partition)。在該布置中,僅使用一維變換,所W將4XN塊通 過N個變換,其中至變換的輸入數據基于當前SDIP-P中的先前解碼的鄰近塊和先前解碼的 鄰近線。
[0075] 現在將討論內預測處理。一般而言,內預測設及由相同圖像中的先前編碼和解碼 的樣本產生樣本的當前塊的預測(預測單元)。圖13示意性地示出部分編碼的圖像800。此 處,圖像基于LCU從左上至右下編碼。部分通過完整圖像的處理而編碼的LCU實例示出為塊 810。塊810上方和左側的陰影區(qū)820已被編碼。塊810的內容的圖像內預測可利用陰影區(qū)820 的任何部分但不能利用其下方非陰影的區(qū)域。
[0076] 塊810表示LCU;如上所述,對于圖像內預測處理的目的,其可W細分為較小的預測 單元的組。LCU 810內示出了預測單元830的實例。
[0077] 圖像內預測考慮了當前LCU 810上方和/或左側的樣本。由其預測所需樣本的源樣 本相對于LCU 810內的當前預測單元可位于不同的位置或方向。為了確定哪一方向適用于 當前預測單元,比較基于每個候選方向的試驗預測結果,W查看哪一候選方向給出最接近 輸入圖像相應塊的結果。給出最接近結果的候選方向選為用于該預測單元的預測方向。
[0078] 還可WW"片(slice)"為基礎編碼圖片。在一個實例中,片是水平相鄰的LCU的組。 但是更一般而言,整個殘留圖像可W形成片,或者片可W是單個LCU,或片可W是一列LCU 等。因為它們編碼為獨立單元,片可W提供對錯誤的一些恢復性。在片的邊界編碼器和解碼 器狀態(tài)完全重置。例如內預測不越過片的邊界進行;為此目的將片的邊界當作圖像邊界。
[0079] 圖14示意性地示出可能的(候選)預測方向的組。整組34個候選方向可用于8X8、 16 X 16、32 X 32樣本的預測單元。4 X 4及64 X 64樣本的預測單元大小的特殊情況具有減少 的可用于它們的候選方向的組(分別為17個候選方向及5個候選方向)。該方向是通過相對 于當前塊位置的水平及垂直位移確定的,但被編碼為預測"模式",其組在圖15中示出。應注 意,所謂的D對莫式表示周圍的上部和左手側樣本的簡單算術平均。
[0080] 圖16示意性地示出了之字形掃描,其是可W由掃描單元360施加的掃描圖案。在圖 16中,示出對于8X8變換系數的實例塊的圖案,其中DC系數被置于該塊的左上位置840處, 并且增加水平和垂直空間頻率由向下增加的距離并且在左上位置840右側的系數所表示。
[0081] 應注意,在一些實施方式中,可W W反向順序(使用圖16中的順序標記自右下至左 上)掃描系數。還應注意,在一種實施方式中,掃描可從左至右越過幾個(例如一個和=個之 間)最上端的水平行,然后進行剩余系數的之字形。
[0082] 圖17示意性地示出了 CABAC賭編碼器的操作。
[0083] 在該性質的基于上下文的自適應編碼中,根據實施方式,可相對于表示數據位多 大可能為一或零的預期或預測的概率模型或上下文來編碼數據位。為做到運點,將輸入數 據位賦值為,從兩個(或更多,通常多個)碼值范圍的補子范圍選定的一個之內的碼值,其中 子范圍的相應大小(在實施方式中,子范圍相對于碼值的組的相應比例)由上下文定義(因 而其由與輸入值相關聯(lián)或與W其他方式與輸入值相關的上下文變量定義)。下一步驟是響 應于賦值的碼值和選擇的子范圍的當前大小修改整個范圍,也就是碼值的組(用于在設及 下一個輸入數據位或值中使用)。如果然后修改的范圍小于代表預定最小尺寸的闊值(例如 原始范圍尺寸的二分之一),則其尺寸增加,例如,通過使修改的范圍加倍(左移),如果需要 的話可連續(xù)進行該加倍過程(一次W上),直至范圍具有至少預定最小尺寸。在此刻,生成輸 出編碼的數據位W指示(或者如果一次W上的話,每個)加倍或增大操作發(fā)生。另外的步驟 是關于或就下一個輸入數據位或值而言(或在一些實施方式中,就下一個待編碼的數據位 或值的組而言),修改上下文(即,在實施方式中,修改上下文變量)使用。運可W通過使用當 前上下文和當前"最可能符號"(一或者零,無論哪個被上下文指示,當前具有大于0.5的概 率)的標識作為到新上下文值的查找表中的索引或作為從其可得出新上下文變量的適當的 數學公式的輸入來執(zhí)行。在實施方式中,上下文變量的修改可增加碼值的組在選擇用于當 前數據值的子范圍內的比例。
[0084] CABAC編碼器就二進制數據,也就是說僅由兩個符號0和1表示的數據進行操作。編 碼器利用所謂的上下文建模過程,上下文建模過程基于先前編碼的數據W選擇后續(xù)數據的 "上下文"或概率模型。W確定性的方式實現上下文的選擇,使得在解碼器基于先前解碼的 數據進行相同判定而不需要將另外的數據(指定上下文)加至傳送至該解碼器的編碼數據 流。
[0085] 參考圖17,待編碼的輸入數據如果尚未處于二進制形式,則可W被傳送至二進制 轉換器900,如果該數據已經處于二進制形式,則繞開變換器900(通過示意性的開關910)。 在本實施方式中,向二進制形式的轉換實際是通過將量化的變換系數數據表示為二進制 "映射"串來進行的,下面將進一步描述。
[0086] 然后二進制數據可W由兩種處理路徑"常規(guī)"和"旁路"(其示意性地示出為單獨的 路徑,但在下文討論的實施方式中,其實際上可W由相同的處理階段來實施,僅使用稍微不 同的參數)之一處理。旁路路徑采用所謂的旁路編碼器920,其不必W與常規(guī)路徑同樣形式 利用上下文建模。在CABAC編碼的一些實例中,如果需要對于一批數據進行特別快速的處 理,可W選擇該旁路路徑,但是在本實施方式中,注意所謂"旁路"數據的兩個特征:首先,旁 路數據是由CABAC編碼器(950、960)處理的,僅使用表示50%概率的固定上下文模型;其次, 旁路數據設及特定種類的數據,一個具體實例是系數標志數據。另外,由示意性的開關930、 940選擇常規(guī)路徑。運設及數據由上下文建模器950處理,隨后由編碼引擎960處理。
[0087] 如果整個數據塊由零值數據構成,則圖17所示的賭編碼器將該數據塊(即,例如, 對應于與殘差圖像的塊有關的系數的塊的數據)編碼為單個值。對于沒有落入此類別的每 個塊,也就是說含有至少某些非零數據的塊,準備"有效映圖(significance map)"。有效映 圖表示,對于待編碼的數據塊中的每個位置,塊中相應的系數是否是非零的(并且所W也是 指示出非零最高有效數據部分相對于數據值的陣列的位置的有效映圖的實例)。有效映圖 可W包括指示,根據預定排序的數據值陣列,最后一個的具有非零值的最高有效數據部分 的位置的數據標志(data flag)。
[0088] 為二進制形式的有效映圖數據被自CABAC編碼。有效映圖的使用輔助壓縮,因為對 于具有有效映圖指示為零的量值的系數,沒有數據需要編碼。另外,有效映圖可包括指示塊 中的最終非零系數的特殊碼,從而所有的最終高頻/拖尾零(trailing zero)系數可W從編 碼中省去。在編碼位流中,有效映圖繼之W由有效映圖指定的,定義非零系數的值的數據。
[0089] 還準備另外水平的映圖數據并進行CABAC編碼。實例為映圖作為二進制值(1 =是, 0 =否)定義位于有效映圖指示為"非零"的映圖位置的系數數據是否實際上具有"一"的值。 另一映圖指定位于有效映圖指示為"非零"的映圖位置上的系數數據是否實際上具有"二" 的值。另外的映圖指定,對于位于有效映圖指示系數數據為"非零"的那些映圖位置,該數據 是否實際上具有"大于二"的值。再次對于確定為"非零"的數據,另一映圖指示數據值的符 號(使用預定的二進制記數,如1為+、〇為-,或當然反之亦然)。
[0090] 在實施方式中,有效映圖和其他映圖通過例如掃描單元360由經量化的變換系數 生成,并且在經受CABAC編碼之前經受之字形掃描處理(或者根據內預測模式,選自之字形、 水平光柵W及垂直光柵掃描的掃描處理)。
[0091] 在一些實施方式中,肥VC CABAC賭編碼器使用W下過程編碼語法元素:
[0092] TU中最后的有效系數(按掃描順序)的位置被編碼。
[0093] 對于每個4X4系數組(W相反的掃描順序處理組),編碼有效系數組標記,指示該 組是否含有非零系數。運對于含有最后有效系數的組是不需要的,并且對于左上的組(含有 DC系數)假定為1。如果標記為1,則緊隨其編碼隨后的關于該組的語法元素;
[0094] 有效映圖;
[0095] 對于組中的每個系數,標記被編碼指示該系數是否是有效的(具有非零值)。對于 由最后的有效位置指示的系數不需要標記。
[0096] 大于一映圖:
[0097] 對于至多八個具有有效映圖值1的系數(從組的末尾向后計),運指示量值是否大 于1。
[0098] 大于二標記:
[0099] 對于至多一個具有大于一映圖值1的系數(最接近組的末尾的一個),運指示量值 是否大于2。
[0100] 符號位:
[0101] 對于所有的非零系數,將符號位編碼為等概率的CABAC二進數(bin),其中當使用 符號位隱藏時,可W代替由奇偶性推斷最后的符號位(W相反掃描順序)。
[0102] 轉義碼:
[0103] 對于其量值沒有完全由先前的語法元素描述的任意系數,將剩余的編碼為轉義 碼。
[0104] -般而言,CABAC編碼設及,對于待編碼的下一位,基于其他先前編碼的數據,預測 上下文或概率模型。假如下一位與由概率模型確定為"最可能"的位相同,則可W用高效率 編碼"符合概率模型的下一位"的信息的編碼。編碼"不符合概率模型的下一位"效率較低, 所W上下文數據的得出對于編碼器的良好操作是重要的。術語"自適應的"意指在編碼過程 中適配或改變上下文或概率模式,W嘗試提供與(仍未編碼的)下一數據的良好匹配。
[0105] 使用簡單類比,在書面的英文語言中,字母"U"是相對不常用的。但是處于緊接在 字母%'(其確實是非常常用的)之后的字母位置。所W,概率模型可W將"U"的概率設為非 常低的值,但是如果當前字母為"Q",可W將作為下一個字母的"U"的概率模型設為非常高 的概率值。
[0106] 雖然可W不對于每個系數編碼運些語法元素的每一個,對于至少有效映圖和指示 非零值是否是一或二的映圖,在本設置中使用CABAC編碼。旁路處理,其在運些實施方式中 除將概率模型固定為1和0相等的(0.5:0.5)概率分布的事實之外與CABAC編碼相同,用于至 少符號數據和沒有由先前的語法元素描述的系數量值的部分。對于那些指示為具有它們的 系數量值沒有完全描述的部分的數據位置,可W將單獨的所謂的轉義數據編碼用于編碼數 據的實際剩余值,其中實際量值是剩余的量值加上由相應的編碼語法元素得出的偏移量。 運可W包括Golomb-Rice編碼技術。
[0107] WD4:Working Draft 4of High-Efficiency Video Coding,JCTVC-F803_d5, Draft ISO/IEC 23008-HEVC;201x化)2011-10-28中更詳細地描述了CABAC上下文建模和編 碼過程。
[0108] 將參考圖18討論另外的關于轉義位編碼或相關技術的技術。
[0109] 然而,首先將討論用于編碼轉義碼的技術。
[0110] 在當前的肥VC標準中(在本申請的優(yōu)先權日),使用兩種機制編碼轉義碼:
[0111] 1/具有最大前綴長度2的Golomb-Rice碼。
[0112] 2/如果編碼值不能完全由Golomb-Ri Ce碼描述,使用指數-Go lomb-k階 (exponent ial-Golomb-order-k)編碼"轉義-轉義"碼。
[0113] 所謂的Golomb-Rice編碼將值V編碼為一元編碼前綴(可變數目的1繼之W0,或反 之亦然)繼之Wk(另外稱作巧aram)位的后綴。
[0114] 將代碼空間分為區(qū)間,其尺寸由Rice參數巧aram確定為:
[0115] 區(qū)間尺寸= l<<rF*aram
[0116] 如通常的,標記"<<n"表示左移等于值n的位位置數。類似的標記〉〉n表示右移n位 位置。所W,例如當巧aram是0時,代碼區(qū)間尺寸是1。當巧aram是3時,區(qū)間尺寸是8,等等。
[0117] 將巧aram的值分別由編碼器和解碼器維持并在預定的條件下修改。
[0118] 前綴使用一元碼編碼W指示最終值落入哪個編碼區(qū)間。
[0119] 例如前綴值=2 jParam=2、區(qū)間尺寸=4并且值落在包括8-11的范圍內??蒞將 其認為是值的"粗略"部分。
[0120] 使用二進制代碼編碼后綴(后綴長度等于巧aram)。后綴值指示最終值位于指定的 區(qū)間中的哪里。
[0121] 例如,前綴值=2 JParam = 2、后綴值=3;運表示最終值位于區(qū)間8-11內。后綴值0 表示8的最終值;后綴值3(如在本實例中)表示最終值11。
[0122] 因此可W將后綴認為是值的"精細"部分。
[0123] 在一元編碼前綴中使prefix_length為1的總數。使K為最不重要的巧aram位的值。
[0124] 最終值=(pref ix_length<<;rParam)+K
[01巧]如上所述,在當前的肥VC標準(在本申請的優(yōu)先權日)中,在Golomb-Rice編碼的最 大前綴長度上強加了(2的)限制(因此存在不大于3的區(qū)間)。如果發(fā)送更長的前綴,將其值 減3(前綴的值等于其長度)并且將前綴代替視為k階指數Golomb碼(rfaram用作k的值)???W將該k階指數Golomb碼認為是根據正常轉義-編碼機制的轉義,"轉義-轉義"碼。
[01%] 應理解的是,具有最大長度2繼之Wk階指數Golomb的Golomb-Rice前綴也相當于 具有最大長度3繼之Wk+1階指數Golomb的Golomb-Rice前綴。
[0127] 此外,最終值還通過加(在解碼器中)或減去(在編碼器中)不能使用Golomb-Rice 編碼編碼的最小值來修改,因為由于使用轉義-轉義編碼,已知最終值至少為那么大。
[0128] 現在將討論k階指數Golomb碼。在運種碼中,待編碼的數字被分成可變長度的一元 編碼前綴和可變長度的后綴。后綴位數=prefix_leng化+k。此處,prefix_length再次是一 元碼中1的數目。
[0129] 如在Golomb-Rice編碼中,將編碼空間被分為區(qū)間。然而,該間隔不是等大小的;反 而它們指數地增加大小,例如(區(qū)間0 = 0、區(qū)間1 = 1 -2、區(qū)間2 = 3-6)等。
[0130] 前綴使用一元編碼編碼W指示最終值落入哪個編碼間隔。
[0131] 雖然此處后綴長度等于前綴長度,后綴使用二進制編碼進行編碼。后綴值指示最 終值位于指定的間隔中的哪里。
[0132] 等于k的若干額外的位使用二進制編碼進行編碼,運些位用作最終值的另外的 LSB。
[0133] 碼中位的總數= pref ix_length+l+pref ix_length+k。
[0134] 使K為最后的k位的值。
[0135] 當 pref ix_length為0 時,V將等于 K。
[0136] 當 prefix_length為1 時,V將在(l?k)+K和(3<<k)+K之間(排他)。
[0137] 當 prefix_length為2時,V將在(3<<k)+K和(7<<k)+K之間(排他)。
[013 引當 prefix_length為3時,V將在(7<<k)+K和(15?k)+K之間(排他)。
[0139] 因此V = ((2~pref ;[義_16]1邑1:11)-1)<<1〇+后綴。
[0140] 例如:最終二進制碼= 110011。
[0141] 在此實例中,rfaram=l;前綴長度=2(第一個0之前兩個1)、編碼區(qū)間= 3-6;后綴 =化01 = 1,k之前的值=4 =化100;額外位= Obl = U最終值=化1001 = 9(化代表二進制表 示法)。
[0142] 在肥VC中,如上所述,使用Golomb-Rice和指數Golomb碼兩者。如果前綴長度小于 S,將碼編譯為Golomb-Rice碼。然而,如果prefix_length大于或等于3,將碼編譯為k階指 數Go 1 omb碼,其中將上述的;rParam值用作k值。
[0143] (任一系統(tǒng)中的)前綴是一元碼的實例。后綴是非一元碼的實例。兩種系統(tǒng)是兩部 分的可變長度碼的實例。
[0144] 在運種情況下,用于解碼指數Golomb碼的prefix_length值減少3,并且從解碼運 算得到的值增加(3<<k),因為運是不能使用Golomb-Rice碼表示的最小值。
[0145] 用于皿VC轉義的值"k"和轉義-轉義碼不同。對于16個系數的每組,k值由0開始,并 且不論系數值的量值合適大于3?k,是增加的。響應于該狀態(tài),k增長至最大值4。應注意,該 討論設及系數量值,因為表示系數的符號的符號位是單獨發(fā)送的。還可W應用其他用于設 定初值和調整k的方案。
[0146] 圖18是示出生成如上文討論的轉義碼的方法的流程圖。
[0147] 該方法是可用數據值的組操作的,該數據值的組包括(例如)頻率變換的圖像系數 的序列,或該序列的非零組分或其中每個數據值已經減少了 1的該序列的非零組分(在此最 后的情形中,可W首先生成有效映圖,從而在進一步處理之前每個系數減少1,因為有效映 圖會導致I的值)。
[0148] 在步驟2000,在每組的開始設置k的初始值。雖然可W存在用于延伸肥VC標準的替 代方案,在正常的皿VC版本1系統(tǒng)中,k最初設置為0。在步驟2010,CABAC編碼器檢查當前的 組是否是含有相當于DC系數的左上組或含有由先前的過程標記為最后的有效系數的組。如 果是,控制傳至步驟2030。如果不是,在步驟2020,CABAC編碼器檢查當前的組是否含有非零 系數。如果不是,過程結束,將相應的有效組標記編碼為0。如果是,則控制傳至步驟2030,將 相應的有效組標記編碼為1。在步驟2030針對組中的每個系數生成有效映圖(雖然對于含有 最后的有效系數的組,一些系數不需要有效映圖入口,因為運些是可W推斷的)。在步驟 2040,生成〉1映圖,其指示對于至多8個具有有效映圖值1的系數,從組的末尾向后數,量值 是否大于1。在步驟2050生成〉2映圖。對于至多1個具有〉1映圖值1的系數(最接近組的末尾 的一個),運指示量值是否大于2。在步驟2060,對所有有效系數生成符號位(雖然稱為符號 位隱藏的方案可W用于推斷另外由組中的編碼值的偶數和奇數奇偶性編碼的最后的符號 位),并且在步驟1570,對于任何其量值沒有完全由先前的語法元素描述的系數(也就是說, 在步驟2030-2060中的任一個生成的數據)生成轉義碼。應注意,在圖18中,在某些皿VC的實 施方式實例中,不需要對每個系數生成所有的映圖。例如,在(比方說)16個系數的組中,可 W存在不對其生成一些映圖的一個或多個系數。
[0149] 運些映圖是指示大于1的最高有效數據部分相對于數據值陣列的位置的大于一映 圖的實例;W及指示大于2的最高有效數據部分相對于數據值陣列的位置的大于二映圖的 實例。
[0150] 在步驟2070,如果需要轉義碼,其基于當前的k值使用剛才描述的技術生成。具體 地,首先使用有效映圖W及可選的一個或多個其他映圖處理需要使用轉義碼的系數。應注 意,在系數需要轉義編碼的情況下,任何使用的有效、〉1和〉2映圖將標記為"1"。運是因為任 何需要轉義編碼的系數,根據定義是大于可W使用任一關于該系數可用的映圖編碼的值 的。
[0151] 如果當前數據值沒有被完全編碼,則需要轉義碼。此處,術語"完全"編碼意指數據 值減去已經(例如由映圖,或映圖加上固定的位)編碼的值為零。換言之,數據值由已經生成 的分量完全編碼,如果將那些分量考慮在內數據值的殘差量為零的話。
[0152] 所W,假設對于實例的系數,有效映圖和〉1及〉2映圖可用,相對于該系數將運些各 自標記為巧效的"、"〉1"和"〉2"。
[0153] (在運個實施例中)運意味著該系數必須至少為3。
[0154] 因此,可W在轉義編碼之前從系數中減去3的值,而沒有信息損失。在解碼中恢復3 的值(或通常更多,變量base_leve 1,其表示由應用于該系數的映圖定義的數值范圍)。
[0巧5] W十進制15(二進制1111)的系數值舉例,有效映圖是"r,〉i映圖是"r并且〉2映 圖是"1"。值的base_level是3。從系數值中減去base_level W給出十進制12(二進制1100) 的值,將其傳送用于轉義編碼。
[0156] 現在k值(見上文)定義后綴位的數目。后綴位取自減去base_level之后的系數值 的最低有效位。如果(例如化=2,則將剩余值1100的兩個最低有效位視為后綴位,也就是說 在運個實施例中后綴位是00。將剩余的位(在運個實施例中,11)作為前綴編碼處理。
[0157] 所W總起來說,有關于轉義碼的處理包括:
[0158] 生成定義一個或多個系數的最低有效位的一個或多個映圖,從而(如果需要轉義 碼)該系數必須具有至少base_level的值;
[0159] 從系數中減去base_level;
[0160] 將系數剩余部分的最低有效的k位編碼為后綴位;W及
[0161] 將系數剩余部分的剩余最高有效位編碼為前綴。
[0162] 本公開的實施方式設及識別在編碼用于系數的轉義碼時會出現的最壞情況碼長。 [0163]當對16位視頻使用擴展精度處理時,賭編碼器中的系數范圍maxTrDynamicRange 是22位的,因此可W示出,用此方案,其中可W對于系數編碼的轉義碼位的最大數是給定 的,當巧aram是加寸,系數量值處于其(1 ?22)的最大值,為:
[0164] 最大指數-Golomb編碼值=
[0165] (1<<22)(初始系數量值)
[0166] -U由于該值已經由有效映圖編碼,扣除1)
[0167] -3(如上文討論的,由于其不是Golomb-Rice碼,扣除3)
[0168] =4194300
[0169] 在肥V巧旨數-Golomb編碼中,該值需要21位的后綴(并且因此21位的前綴)W及1位 的分隔符(separator)和3個額外的前綴位W發(fā)送器不是Golomb-Rice碼的信號。運導致總 計46位的最壞情況,其對解碼器會是過重的負擔。
[0170] 本公開的實施方式提供轉義編碼的指數-Golomb部分的一種或多種替代方案,其 可W將最壞情況轉義碼長度減少至32,其與皿VC版本1中的最壞情況轉義碼長度是相同的。 雖然其成為碼長和編碼效率之間的權衡,但潛在地可W進一步減少碼長。由于版本2解碼器 必須支持版本1,不存在對于減少低于版本1標準的最大碼長的,在延伸的版本2解碼器配置 中的最大碼長的需要。
[0171] 如上所述,在當前的肥VC標準中(在本申請的優(yōu)先權日),使用兩部分Golomb-Rice/指數-Golomb方法編碼轉義碼(系數的量值的任何部分沒有由CABAC編碼的語法元素 描述)。當使用擴展精度編碼16位視頻時,該方法導致,如W上得出的46位的最大轉義碼長 度可W對解碼單個系數是相當大的負荷。
[0172] 在一些實施方式中,通過修改轉義碼方案的指數-Golomb部分中的前綴和后綴長 度之間的映射,可W將最壞情況減少至例如32位,而對編碼效率或處理效率沒有顯著的不 良影響。在其他實施方式中,還可W調整,乃至移除整個Golomb-Rice。
[0173] 當使用所謂的擴展精度編碼16位視頻時,變換和量化器的動態(tài)范圍和因此的進入 賭編碼器(maxlYDynamicRange)的系數等于16+6 = 22。運導致222 = 4194304的最大系數量 值。當通過對有效映圖入口減去1并對Golomb-Rice碼減去3(在最壞情況中化Ce參數巧aram 為0)來調節(jié)時,可W使用指數-Golomb編碼來編碼的最大值是4194300。
[0174] 可W示出,為在皿VC中使用指數-Golomb編碼該值,除了一位的分隔符和S個額外 的前綴位W發(fā)送該指數-Golomb代碼在使用中的信號,需要21位的后綴(和因此的21位前 綴)。運導致46的最壞情況總碼長。
[0175] 然而,在此處通過各種的替代方案而非簡單地直接將前綴長度映射到后綴長度上 (作為1:1映射)。
[0176] 在一些實施方式中,后綴長度可W是前綴長度的函數(諸如指數函數)。指數函數 的實例是suffixLength=(l<<prefixLength)〉〉l。運樣,例如僅需要發(fā)送5前綴位W發(fā)送16 后綴位的信號;還需要分隔符"0",取決于使用一元編碼還是具有最大值5的截斷一元編碼。 設置的實例是,其中由前綴部分編碼的值與非一元編碼后綴部分的長度相關聯(lián),使得非一 元編碼后綴部分的長度是由前綴部分編碼的值的指數函數。
[0177] 在一些實施方式中,前綴本身可W是指數-Golomb碼而不是一元編碼。
[0178] 在一些實施方式中,可W通過使用表將前綴長度映射至后綴長度。該方法使得區(qū) 間尺寸的設置適合于數據。該表可W是預定的(也就是說,在編碼器和解碼器中預先提供 的),或在經編碼的數據流的中發(fā)送或者與經編碼的數據流相關聯(lián)(從而前綴部分的長度與 后綴部分的長度之間的關系由待編碼的數據關聯(lián)傳送的信息定義),或得出自先前編碼的 系數或其他數據,或運些或其他技術的組合(如選自使用在流中傳送的數據的預定的表的 組)。在一些實施方式中,由前綴部分編碼的值和非一元編碼后綴部分的長度是由一個或多 個表關聯(lián)的。一些實施方式包括,根據W下組成的組中的一個或多個,選擇關聯(lián)由前綴部分 編碼的值與非一元編碼后綴部分的長度的表中的一個:(i)與經編碼的數據值相關聯(lián)的數 據標志;和(ii)得出自一個或多個先前經編碼的數據值的參數。
[0179] 可W如W下操作其它的實施方式。當使用所謂的擴展精度編碼16位視頻時,變換 和量化器的動態(tài)范圍和因此的進入賭編碼器(1113計扣7]1曰111;[。1?曰]1旨6)的系數等于16+6 = 22。 如上所述,運導致222 = 4194304的最大系數量值。如上文討論的,當通過對有效映圖入口減 去1并對Golomb-Rice碼減去3 (在最壞情況中Rice參數巧aram為0)來調節(jié)時,可W使用指 數-Golomb編碼來編碼的最大值是4194300,W及46的最壞情況總碼長。
[0180] 然而,當啟用擴展精度處理,其限制需要放松最壞情況信號的前綴位數時,可W使 用替代方案而非簡單地使前綴長度無限地擴展。最大前綴長度由W下給出:
[0181 ] maxim 皿 PrefixLength = 32-(3+MAX_TR_DYNAMIC_RANGE)
[0182] 當達到該前綴長度時,則由W下給出相應的后綴長度:
[0183] SUff ixLength=MAX_TR_DYNAMIC_RANGE-巧 aram
[0184] 此外,由于在開始編碼/解碼時最大前綴長度是已知的,如果達到最大前綴長度, 可W使用省略分隔符的截斷一元編碼來編碼該前綴。
[0185] 因此最壞情況轉義碼長度減少至:
[01 化](32- (3+MAX_TR_DYNAMIC_RANGE))(前綴)
[0187] +(MAX_TR_DYNAMIC_RANGE-rfaram)(后綴)
[0188] +!"Param(固定的位)
[0189] +3(非 Golomb-Rice 碼位)
[0190] =32
[0191] 運使得轉義碼適合單個32位整數并呈現于皿VC版本1中相同的最大轉義碼長度。 應注意,支持高位深操作的肥VC解碼器(如16位視頻的使用)在至少一些實施方式中仍需要 支持使用肥VC版本1編碼的數據的使用,所W該在皿VC版本1下最大允許的轉義碼的位數的 限制意味著在此設置中轉義碼長度不大于已經支持的最大值。
[0192] 運些實施方式可W提供與上文討論的映射表設置類似的優(yōu)點,但是本實例可W實 現相同的最壞情況碼長緩解和相同的編碼性能,而不需要查表。然而,將前綴長度封頂至取 決于數據值(待編碼的或如解碼的)位深的最大長度的主要原理還可W與一種或多種如上 所述的表或與前綴長度和后綴長度之間的關系的另外的表達式結合使用。
[0193] 因此運些實施方式提供其中將前綴長度封頂為最大前綴長度值的技術的實例。例 如,最大前綴長度值可W取決于maxTrDynamicRange值,其是用于編碼的數據值的動態(tài)范 圍。在一些實例中,最大前綴長度等于29-maxTrDynamicRange。在其他實例中,最大前綴長 度等于 28-maxTrDynamicRange。
[0194] 應注意,另一種表達運些技術中的一些的方式是,視頻數據具有位深(如16位,各 個通道中每樣本的位數的表達)。該位深應用于原始視頻數據的樣本(即用于由編碼器編碼 的樣本),W及相應地應用于如由解碼器解碼的解碼樣本。位深可W隱含自如提供至編碼器 或解碼器的數據結構,或可W由一種或多種指示符,如標記或參數標記或另外指示至編碼 器或解碼器。在一些實例中,將HiaxTrDynamicRange設置為等于位深加上偏移量,如6位的偏 移量(所W在其中位深為例如16位的情況下,變量HiaxTrDynamicRange可W等于16+6 = 22 位),并且因此將前綴長度封頂在取決于用于編碼的數據值或經解碼的數據值(視情況而 定)的位深最大前綴長度。更具體地,在一些實例中因此將前綴長度封頂在取決于用于編碼 的數據值或解碼的數據值(視情況而定)的位深的最大前綴長度,加上六位。
[0195] 因此運種設置可W提供編碼或解碼系統(tǒng)和方法的實例,其中最大前綴長度等于預 定常數減去等于用于編碼的數據值的動態(tài)范圍的值。例如,預定的常數可W等于29,或預定 常數等于28。
[0196] 可W使用將在下文討論的技術和/或運些技術的組合。
[0197] 可W操作控制器345(在解碼器或編碼器之一的情況下,或在相應的方法的情況 下)檢測前綴長度和/或前綴長度與后綴長度之間的關系所依據的任何參數,并且設置或另 外實施最大前綴長度W及前綴長度與后綴長度之間的關系。
[0198] 運些方案均是技術的實施方式,其中數據編碼裝置的操作方法包括,數據編碼裝 置,將數據值的陣列編碼為數據集和用于未由數據集編碼的值的轉義碼,該轉義碼包括前 綴部分和非一元編碼后綴部分,非一元編碼后綴部分具有按位計的長度,根據對于至少一 些由前綴部分編碼的值,使得非一元編碼后綴部分的長度大于前綴部分的按位計的長度的 關系,非一元編碼后綴部分的長度取決于由前綴部分編碼的值。運里描述的實例提供技術 的實施方式,其中前綴長度W最大前綴長度封頂,最大前綴長度取決于備編碼的數據值或 解碼數據值的位深。
[0199] 在相應的解碼操作(在解碼器或在編碼器的解碼路徑中)方面,運些方案均是技術 的實施方式,其中數據解碼裝置的操作方法包括,數據解碼裝置將輸入編碼數據值編碼為 數據集和用于未由數據集編碼的值的轉義碼,該轉義碼包括前綴部分和非一元編碼后綴部 分,非一元編碼后綴部分具有按位計的長度,根據對于至少一些由前綴部分編碼的值,使得 非一元編碼后綴部分的長度大于W位計的前綴部分的長度的關系,非一元編碼后綴部分的 長度取決于由前綴部分編碼的值。
[0200] 實施方式包括進行運種方法的編碼和/或解碼裝置,由其發(fā)起運種方法的軟件,該 方法由運行運種軟件的計算機進行,由其提供運種軟件的非臨時性機器可讀存儲介質(如 磁盤或光盤),W及包括運種裝置的視頻數據捕捉、傳輸,顯示和/或存儲裝置。
[0201] 如討論的,前綴部分可W包含一元編碼的值。
[0202] 在一些實施方式中,可W在啟用擴展精度處理時使用映射,其可W用于限制發(fā)送 最壞情況信號所需的前綴位的數目。在下表中顯示運種映射,其將后綴長度映射至前綴長 度用于擴展精度處理。
[0203]
[0204] 方案(i)重復正常的指數-Golomb編碼的行為。
[0205] 方案(ii)模擬后綴長度,其如上文討論的,是前綴長度的指數函數。
[0206] 可W注意到,方案(ii)可W減少從46位(使用一元編碼的方案i)至31位(如果一元 代碼用于前綴)或30位(如果截斷一元代碼用于前綴)的16位視頻代碼的最壞情況(其中 MAX_TR_DYNAMIC_RANGE為22位),具有最大5前綴位,盡管由于對較小的值損失了區(qū)間精確 度,運導致比方案(iii)更大的編碼效率損失。然而,如果還采用GB1320775.8(通過引證結 合其內容)中公開的Golomb-Rice參數調節(jié)方法,可W減少運些方案的損失。
[0207] 使用方案(i ii),維持較小值的細粒度(f ine-grained)代碼區(qū)間,同時需要不多于 7個前綴位(而非21個)W發(fā)送可能最大的后綴信號。此外,由于在編碼/解碼開始時最大前 綴長度是已知的,如果達到最大前綴長度,可W使用截位的一元代碼作為省略分隔符的截 位的一元編碼值編碼該前綴。最大后綴長度是HiaxTrDynamicRange,雖然當!"Param是非0時, 最大后綴長度是maxTrDynamicRange-rfaram,具有后綴隨后的另外的;rParam位。因此在該 方案一些實施方式中,表中的一些或所有的值是巧aram的函數。
[0208] 可W配置控制器345W使用表的組中的一種或多種(如上文的表(i)至(iii)) W查 出前綴長度和后綴長度之間適當的關系。
[0209] 因此將最壞情況轉義碼長度減少至7(前綴)+22(最大后綴)+3(非Golomb-Rice碼 位)=32,應注意,不存在用于截斷一元前綴的分隔符,使得任何轉義碼可W適配為單個32 位整數。
[0210] 一些實施方式的更多特征如下:
[0211] 由于最大后綴長度是已知的,可W使用截斷一元編碼代替簡單的一元編碼傳送前 綴(也就是說,如果達到前綴位的最大數目,不需要通常設置在前綴和后綴之間的分隔符)。
[0212] 在可W將前綴長度映射至大于需要的后綴長度(例如大于maxTrDynamicRange)的 方案中,作為替代其可W附帶在該值上,從而將任何大于maxTrDynamicRange的,由前綴長 度和后綴長度之間的關系提供的值設置為等于maxTrDynamicRange。通常在實施方式中,由 前綴部分編碼的值和非一元編碼后綴部分的長度之間的關系,使得非一元編碼后綴部分的 最大長度不大于每個待編碼的數據值的的最大位數。
[0213] 在maxTrDynamicRange小于16位的配置中,可W,例如通過將上述關系中的最大后 綴長度設置為15來去除16的值。例如,其可W用于編譯值為4的指數前綴,其另外意味著16 位的后綴。
[0214] 現在將討論第一工作實施例。
[0215] 輸入該過程的是基于表的語法元素的二進制化的請求,該語法元素具有無符號的 值syn化l、Rice參數rice化ram和顯示當前語法元素是否設及色度系數的標記is化roma。
[0216] 該過程的輸出是基于表的語法元素 syn化1的二進制化。
[0217] 變量 maxTrDynamicRange得出如下:
[0218] 女曰果isChroma 等于 0,則maxTrDynamicRange = extended_precision_processing_ flag?Max(15,BitDepthY+6):15
[0219] 否貝lJ,maxTrDynamicRan邑e = extended_precision_processin邑_fla邑?Max(15, BitDepthC+6):15
[0220] 此處使用的標記如下。"A = flag?B:C"表示取決于二進制值吁lag"的狀態(tài)為真或 假,分別將A分配為值B或值CsMax化,E)返回值D和E中較大的。BitD邱thY是亮度或綠色通道 的位深;BitD邱the是色度或藍色和紅色通道的位深。值extended_precision_p;rocessing_ flag是指示是否啟用擴展精度處理的標記。
[0221] 指示如上所述的轉義-轉義碼的最小值的值,變量SUf f ixLength [ X ]和 minimumUncodeable化lue[x]得出自下表(作為實例):
[0222]
[0223] 基于表的語法元素 synVa 1的二進制化過程的二進制字符串指定如下,其中每次調 用函數put(X)(其中X等于0或1)會在二進制字符串的末尾添加二進制值X:
[0224]
[0225]
[O。6] 變量cMax得自cRiceParam,其相當于上文使用的;rParam,為:
[0227] cMax = 43?cRi ceParam
[02巧]語法元素 coeff_abs_level_remaining[n]的二進制化是前綴二進制字符串和后 綴二進制字符串(當存在時)的級聯(lián)。
[0229] 對于前綴二進制字符串的得出,應用W下:
[0230] Cu_qp_delta_abs 的前綴值,pref ix 化 1 得出如下:
[0231 ] pref ixVal=Min(cMax,coeff_abs_level_remaining[n])
[0232] 通過引起其中變量cMax和cRiceParam作為輸入的,用于prefixVal的TR二進制化 過程來指定前綴二進制字符串。
[0233] 當前綴二進制字符串等于長度43的位串且所有的位等于1時,存在后綴二進制字 符串并且其得出如下:
[0234] Cu_qp_delta_abs 的后綴值,SUff ix 化 1 得出如下:
[0235] SUffixVal=coeff_abs_level_remaining[n]-cMax
[0236] 當extended_precision_p;rocessing_f lag 等于I時,通過調用用于suff ix化I 的基 于表的二進制化過程來指定后綴二進制字符串,其中,如果Cldx大于0,設置變量is化roma 等于1,否則為0。
[0237] 否則(extended_precision_p;rocessing_f lag等于0),通過調用用于SUff ixVal 的 EGk二進制化過程來指定后綴二進制字符串,其中設置k階指數-Golomb等于cRiceParam。
[0238] 現在將描述設及其中前綴長度封頂的實施方式的另外的工作實例。該過程的輸入 是用于語法元素的受限指數-Golomb二進制化的請求,帶有無符號的值SynVaKRi Ce參數 r i ceParam和指示當前語法元素是否設及色度系數的標記i S化roma。該過程的輸出是語法 元素 syn化1的受限指數-Golomb-k階二進制化。
[0239] 變量 maxTrDynamicRange得出如下:
[0240] 女曰果 isChroma 等于 0,maxTrDynamicRange = extended_precision_processing_ flag?Max(15,BitDepthY+6):15
[0241 ] 否貝lJ,maxTrDynamicRan邑e = extended_precision_processin邑_fla邑?Max(15, BitDepthc+6):15
[0242]設置變量maximumPref ixLength等于(29-maxTrDynamicRange)。
[0243] 語法元素 synVal的受限k階指數-Golomb二進制化過程的二進制字符串指定如下, 其中每次調用函數put(X)(其中X等于0或1)會在二進制字符串的末尾添加二進制值X:
[0244]
[
[0246] 在正常的指數-Golomb代碼中,如上所述,通過減去不能由來自待編碼的值的更小 的后綴長度編碼的最小值形成后綴。例如,用k = 0(或不應用k)編碼9(化IOOlK化前綴表示 二進制表示法),應注意:
[0247] 0位的前綴/后綴至多編碼值0
[0248] 1位的前綴/后綴至多編碼值2
[0249] 2位的前綴/后綴至多編碼值6
[0250] 因此需要3位的前綴/后綴(編碼至多值14)。不能用2位前綴/后綴編碼的最小值是 7 (6+1 ),所W后綴形成為9- 7 = 2 (化010)為3位,使得最終編碼的值為111 -0-010。
[0251] 在本公開下,與最大前綴長度關聯(lián)的后綴長度是(必須)足夠大的,從而不需要該 減法,所W可W簡單地使后綴等于待編碼的值。
[0252] 例如,最大前綴長度=3,相關的后綴長度=4。
[0253] 則編碼的值等于截位的一元前綴,繼之W等于帶編碼的值的后綴。例如,可W將十 進制的9編碼為111-1001。
[0254]在另外的工作實例中,用于發(fā)送"非Golomb-Rice轉'信號的1的數目是4,但是然后 將該碼編譯為指數Golomb碼的化+1)階。上述技術的最大前綴長度得出為:
[0巧日]maximumPref ixLength = 32 (期望的最大碼長)-(發(fā)送"非Go lomb-r i Ce碼"信號的 位數)-maxTrDynamicRan 邑 e
[0 巧 6] =28-maxTrDynamicRange
[0257] 考慮下列的碼:
[0 巧引(i)llOX...
[0 巧 9] (Ii)IllOX...
[0260] (iii)lllX...
[0261] (其中X表示"不論該位的值為何")
[0262] 在碼(i)中,其中前導的1的數目等于2,上文的設置均不會將其編譯為指數-Go Iomb 碼。
[0263] 在碼(ii)中,其中前導的1的數目等于3,首先在上文描述的系統(tǒng)會將其編譯為指 數-Golomb碼,然而第二種設置不會。然而,由于恰好存在3個前導的1,指數-Golomb碼的前 綴長度是〇(第一個0之前不存在1)。但是當前綴長度為0時,第k階指數-Golomb碼的編譯與 第k階Golomb-Rice碼的編譯是相同的。
[0264] 在碼(iii)中,其中前導的1的數目是4,兩種技術均會將其編譯為指數-Golomb碼。 在第一種系統(tǒng)中,其將被編譯為具有至少1的前綴長度的第k階碼。在第二中系統(tǒng)中,其將被 編譯為具有至少0的前綴長度的第化+1)階碼。在兩種情況中,前綴長度取決于繼該碼的開 頭之后另外的1的數目。但是由于在指數-Golomb代碼中前綴位實際加上k的值,可W看出兩 種編譯是等同的。因此其相當于將"非Golomb-Rice碼"的闊值提高了(不多于)1,條件是k的 值在解碼指數-Golomb碼時也增加1。
[0265] 圖19是示出編碼技術的示意性流程圖。在步驟2200,由上述的任一技術限定前綴 長度和/或最大前綴長度(例如由控制器345響應于一個或多個參數,如數據位深)。在步驟 2210,根據如此限定的前綴長度編碼一個或多個數據值。
[0266] 圖20是示出編碼技術的示意性流程圖。在步驟2220,將前綴編碼為一元編碼值(實 例是截斷一元編碼值)。在步驟2230編碼相應的后綴。
[0267] 圖21是示出編碼技術的示意性流程圖。在步驟2240,參考W上所討論的表,W (在 步驟2250)獲得后綴長度。
[0268] 將相應的技術應用于各個解碼階段。
[0269] 在W下的編號項中限定本公開各個進一步的方面和特征:
[0270] 1. -種數據編碼裝置的操作方法,該方法包括:
[0271] 數據編碼裝置將數據值的陣列編碼為數據集,和用于未由數據集編碼的轉義碼, 轉義碼包括前綴部分和非一元編碼后綴部分,非一元編碼后綴部分具有按位計的長度,非 一元編碼后綴部分的長度,根據對于至少一些由前綴部分編碼的值,非一元編碼后綴部分 的長度大于前綴部分的按位計的長度的關系,取決于由前綴部分編碼的值。
[0272] 2.根據項1所述的方法,其中,所述前綴部分包括一元編碼值。
[0273] 3.根據項2所述的方法,其中,所述前綴部分包括截斷一元編碼值。
[0274] 4.根據前述項中任一項所述的方法,其中,所述前綴部分的長度與所述后綴部分 的長度之間的關系是由與待編碼的所述數據相關聯(lián)傳送的信息限定的。
[0275] 5.根據前述項中任一項所述的方法,其中,由所述前綴部分編碼的值和所述非一 元編碼的后綴部分的長度是由一個或多個表關聯(lián)的。
[0276] 6.根據項5所述的方法,包括,根據選自W下所組成的組中的一個或多個,選擇關 聯(lián)所述由前綴部分編碼的值與所述非一元編碼的后綴部分的長度的所述表中的一個的步 驟:(i)與所述編碼的數據值相關聯(lián)的數據標志;和(ii)得自一個或多個先前編碼的數據值 的參數。
[0277] 7.根據前述項中任一項所述的方法,其中,所述由前綴部分編碼的值與所述非一 元編碼的后綴部分的長度相關聯(lián),使得所述非一元編碼的后綴部分的長度是所述由前綴部 分編碼的值的指數函數。
[0278] 8.根據前述項中任一項所述的方法,其中,所述由前綴部分編碼的值和所述非一 元編碼的后綴部分的長度之間的關系是,使得所述非一元編碼的后綴部分的最大長度不大 于選自由W下組成的列表的最大值:每個所述待編碼的數據值的最大位數;和預定最大值。
[0279] 9.根據前述項中任一項所述的方法,其中,所述前綴部分被自身編碼為指數 Go Iomb 碼。
[0280] 10.根據前述項中任一項所述的方法,其中,將所述前綴長度被封頂為最大前綴長 度值。
[0281] 1 1 .根據項1 0所述的方法,其中,所述最大前綴長度值取決于值 maxTrDy nam i cRange,其是所述用于編碼的數據值的動態(tài)范圍。
[0282] 12.根據項11所述的方法,其中,所述最大前綴長度等于29-maxTrDynamicRange。
[0283] 13.根據前述項中任一項所述的方法,其中,所述數據集之一是指示非零最高有效 數據部分相對于數據值的陣列的位置的有效映圖。
[0284] 14.根據項13所述的方法,其中,所述有效映圖包括指示,根據預定的所述數據值 陣列的排序,具有非零值的所述最高有效的數據部分的最后一個的位置的數據標志。
[0285] 15.根據項13所述的方法,其中,所述數據集包括:
[0286] 指示大于1的最高有效數據部分相對于所述數據值的陣列的位置的大于一映圖, 和
[0287] 指示大于2的最高有效數據部分相對于所述數據值的陣列的位置的大于二映圖。
[0288] 16. -種數據解碼裝置的操作方法,所述方法包括:
[0289] 數據解碼裝置將輸入編碼數據值編碼為數據集,和用于未由所述數據集編碼的值 的轉義碼,該轉義碼包括前綴部分和具有按位計的長度的非一元編碼后綴部分,根據對于 至少一些由所述前綴部分編碼的值,使得所述非一元編碼后綴部分的長度大于所述前綴部 分的按位計的長度的關系,非一元編碼后綴部分的長度取決于由所述前綴部分編碼的值。
[0290] 17 . -種計算機軟件,當通過計算機執(zhí)行時,使所述計算機進行根據前述項中任一 項所述的方法。
[0巧1 ] 18. -種數據編碼裝置,包括:
[0292] 編碼器,配置為將數據值的陣列編碼為數據集,和用于未由所述數據集編碼的值 的轉義碼,轉義碼包括前綴部分和非一元編碼后綴部分,非一元編碼后綴部分具有按位計 的長度,根據對于至少一些由所述前綴部分編碼的值使得所述非一元編碼后綴部分的長度 大于所述前綴部分的按位計的長度的關系,該長度取決于由所述前綴部分編碼的值。
[0293] 19. -種數據解碼裝置,包括:
[0294] 解碼器,被配置為將輸入編碼數據值解碼為數據集和用于未由所述數據集編碼的 值的轉義碼,轉義碼包括前綴部分和非一元編碼后綴部分,非一元編碼后綴部分具有W位 計的長度,根據對于至少一些由所述前綴部分編碼的值使得所述非一元編碼后綴部分的長 度大于W位計的所述前綴部分的長度的關系,所述長度取決于由所述前綴部分編碼的值。 [02M] 20.-種視頻數據捕捉、傳輸、顯示和/或存儲裝置,包括根據項18或權利要求19所 述的裝置。
[0296] 在W下的編號項中限定本公開各個進一步的方面和特征:
[0297] 1. -種數據解碼裝置,包括:
[0298] 解碼器,被配置為將輸入編碼數據值解碼為具有位深的解碼數據值,輸入編碼數 據值被編碼為數據集和用于未由所述數據集編碼的值的轉義碼,轉義碼包括前綴部分和非 一元編碼后綴部分,前綴部分具有W最大前綴長度封頂的前綴長度,所述最大前綴長度取 決于所述數據值的位深,W及非一元編碼后綴部分具有按位計的長度,根據對于至少一些 所述由前綴部分編碼的值,使得所述非一元編碼后綴部分的長度大于W位計的所述前綴部 分的長度的關系,非一元編碼后綴部分的長度取決于由所述前綴部分編碼的值。
[0299] 2.根據項1所述的裝置,其中,所述前綴部分包括一元編碼值。
[0300] 3.根據項2所述的裝置,其中,所述前綴部分包括截斷一元編碼的值。
[0301] 4.根據項1至3中任一項所述的裝置,包括控制器,該控制器被配置為訪問一個或 多個表,在表中,所述由前綴部分編碼的值和所述非一元編碼的后綴部分的長度是關聯(lián)的。
[0302] 5.根據項4所述的裝置,其中,所述控制器配置為,根據選自W下所組成的組中的 一個或多個,選擇關聯(lián)所述由前綴部分編碼的值與所述非一元編碼的后綴部分的長度的所 述表中的一個:(i)與所述編碼的數據值相關聯(lián)的數據標志;和(ii)得自一個或多個先前編 碼的數據值的參數。
[0303] 6.根據項1至3中任一項所述的裝置,其中,由前綴部分編碼的值所述非一元編碼 后綴部分的長度相關聯(lián),使得所述非一元編碼的后綴部分的長度是由前綴部分編碼的值的 指數函數。
[0304] 7.根據項1至3中任一項所述的裝置,其中,由所述前綴部分編碼的值和所述非一 元編碼的后綴部分的長度之間的關系是,使得所述非一元編碼后綴部分的最大長度不大于 選自由W下組成的列表的最大值:每個所述待編碼的數據值的最大位數;和預定的最大值。
[0305] 8.根據前述項中任一項所述的裝置,其中,所述前綴部分被自身編碼為指數 Go Iomb 碼。
[0306] 9.根據前述項中任一項所述的裝置,其中,所述前綴長度被封頂為取決于所述數 據值的位深加六的最大前綴長度。
[0307] 10.根據前述項中任一項所述的裝置,其中,所述最大前綴長度等于預定常數減去 等于用于編碼的所述數據值的動態(tài)范圍的值。
[0308] 11.根據項10所述的裝置,其中,所述預定常數等于29。
[0309] 12.根據項10所述的裝置,其中,所述預定常數等于28。
[0310] 13.根據前述項中任一項所述的裝置,其中,所述數據集之一是指示非零最高有效 數據部分相對于數據值的陣列的位置的有效映圖。
[0311] 14.根據項13所述的裝置,其中,所述有效映圖包括指示,根據預定的所述數據值 陣列的排序,具有非零值的所述最高有效的數據部分的最后一個的位置的數據標志。
[0312] 15. -種數據解碼裝置的操作方法,所述方法包括:
[0313] 數據解碼裝置將輸入編碼數據值解碼為具有位深的解碼數據值,所述輸入編碼數 據值編碼為數據集,和用于未由所述數據集編碼的值的轉義碼,該轉義碼包括前綴部分和 非一元編碼后綴部分,所述前綴部分具有W最大前綴長度封頂的前綴長度,所述最大前綴 長度取決于所述數據值的位深,非一元編碼后綴部分具有按位計的長度,根據對于至少一 些所述由前綴部分編碼的值,使得所述非一元編碼后綴部分的長度大于所述前綴部分的按 位計的長度的關系,非一元編碼后綴部分的長度由所述前綴部分編碼的值。
[0314] 16 . -種計算機軟件,當由計算機執(zhí)行時,使所述計算機進行根據項15所述的方 法。
[0315] 17.-種非臨時性機器可讀存儲介質,其存儲根據項16所述的計算機軟件。
[0316] 18. -種數據編碼裝置,包括:
[0317] 編碼器,被配置為將具有位深的數據值的陣列編碼為數據集,和用于未由所述數 據集編碼的值的轉義碼,該轉義碼包括前綴部分和非一元編碼后綴部分,所述前綴部分具 有W最大前綴長度封頂的前綴長度,所述最大前綴長度取決于所述數據值的位深,所述非 一元編碼后綴部分具有按位計的長度,根據對于至少一些所述由前綴部分編碼的值使得所 述非一元編碼后綴部分的長度大于所述前綴部分的按位計的長度的關系,所述非一元編碼 后綴部分的長度取決于由所述前綴部分編碼的值。
[0318] 19.根據項18所述的裝置,其中,所述前綴部分包括一元編碼值。
[0319] 20.根據項19所述的裝置,其中,所述前綴部分包括截位的斷一元編碼值。
[0320] 21.根據項18至20中任一項所述的裝置,包括控制器,所述控制器被配置為訪問一 個或多個表,在所述表中,由所述前綴部分編碼的值和所述非一元編碼的后綴部分的長度 是關聯(lián)的。
[0321] 22.根據項21所述的裝置,其中,所述控制器配置為,根據選自W下所組成的組中 的一個或多個,選擇關聯(lián)所述由前綴部分編碼的值與所述非一元編碼的后綴部分的長度的 所述表中的一個:(i)與所述編碼的數據值相關聯(lián)的數據標志;和(ii)得自一個或多個先前 編碼的數據值的參數。
[0322] 23.根據項18至20中任一項所述的裝置,其中,由所述前綴部分編碼的值與所述非 一元編碼的后綴部分的長度相關聯(lián),使得所述非一元編碼后綴部分的長度是由所述前綴部 分編碼的值的指數函數。
[0323] 24.根據項18至20中任一項所述的裝置,其中,由所述前綴部分編碼的值和所述非 一元編碼的后綴部分的長度之間的關系是,使得所述非一元編碼的后綴部分的最大長度不 大于選自由W下組成的列表的最大值:每個所述待編碼的數據值的最大位數;和預定的最 大值。
[0324] 25.根據項18至24中任一項所述的裝置,其中,所述前綴部分自編碼為指數Golomb 碼。
[0325] 26.根據項18至25中任一項所述的裝置,其中,所述最大前綴長度等于預定常數減 去等于用于編碼的所述數據值的動態(tài)范圍的值。
[0326] 27.根據項26所述的裝置,其中,所述預定常數等于29。
[0327] 28.根據項26所述的裝置,其中,所述預定常數等于28。
[0328] 29.根據項18至28中任一項所述的裝置,其中,所述數據集之一是指示非零最高有 效數據部分相對于數據值的陣列的位置的有效映圖。
[0329] 30.根據項29所述的裝置,其中,所述有效映圖包括指示,根據預定的所述數據值 陣列的排序,具有非零值的所述最高有效數據部分的最后一個的位置的數據標志。
[0330] 31.根據項29或權利要求30所述的裝置,其中,所述數據集包括:
[0331] 指示大于1的最高有效數據部分相對于所述數據值的陣列的位置的大于一映圖, 和
[0332] 指示大于2的最高有效數據部分相對于所述數據值的陣列的位置的大于二映圖。
[0333] 32. -種數據編碼裝置的操作方法,所述方法包括:
[0334] 數據編碼裝置將數據值的陣列編碼為具有位深的數據集和用于未由所述數據集 編碼的值的轉義碼,轉義碼包括具有封頂于最大前綴長度的前綴長度的前綴部分,所述最 大前綴長度取決于所述數據值的位深,W及具有W位計的長度的非一元編碼后綴部分,根 據對于至少一些所述由前綴部分編碼的值所述非一元編碼后綴部分的長度大于所述前綴 部分的按位計的長度的關系,所述非一元編碼后綴部分的長度取決于由所述前綴部分編碼 的值。
[0335] 33 . -種計算機軟件,當由計算機執(zhí)行時,使所述計算機進行根據項32所述的方 法。
[0336] 34.-種非臨時性機器可讀存儲介質,其存儲根據項33所述的計算機軟件。
[0337] 35.-種視頻數據捕捉、傳輸、顯示和/或存儲裝置,包括根據項1至14和18至31中 任一項所述的裝置。
[0338] 應注意,為選擇或另外建立前綴長度和后綴長度之間的關系,和/或選擇或另外建 立最大前綴長度的解碼器或編碼器的功能,或解碼方法或編碼方法的功能性步驟,可W由 控制器等進行,如(在上述的一些實施例中)控制器345。
[0339] 如先前討論的,應注意,W上項的裝置特征可W由如先前討論的編碼器或解碼器 的相應特征實現。
【主權項】
1. 一種數據解碼裝置,包括: 解碼器,被配置為將輸入編碼數據值解碼為具有位深的解碼數據值,所述輸入編碼數 據值被編碼為數據集,和用于未由所述數據集編碼的值的轉義碼,所述轉義碼包括前綴部 分和非一元編碼后綴部分,所述前綴部分具有以最大前綴長度封頂的前綴長度,所述最大 前綴長度取決于所述數據值的位深,所述非一元編碼后綴部分具有按位計的長度,根據對 于至少一些由所述前綴部分編碼的值所述非一元編碼后綴部分的長度大于所述前綴部分 的按位計的長度的關系,所述非一元編碼后綴部分的長度取決于由所述前綴部分編碼的 值。2. 根據權利要求1所述的裝置,其中,所述前綴部分包括一元編碼值。3. 根據權利要求2所述的裝置,其中,所述前綴部分包括截斷一元編碼值。4. 根據權利要求1所述的裝置,包括控制器,所述控制器被配置為訪問一個或多個表, 在所述表中,由所述前綴部分編碼的值和所述非一元編碼后綴部分的長度是關聯(lián)的。5. 根據權利要求4所述的裝置,其中,所述控制器被配置為,根據選自以下所組成的組 中的一個或多個,選擇關聯(lián)由所述前綴部分編碼的值與所述非一元編碼后綴部分的所述長 度的所述表中的一個:(i)與所述編碼數據值相關聯(lián)的數據標志;和(ii)得自一個或多個先 前編碼的數據值的參數。6. 根據權利要求1所述的裝置,其中,由所述前綴部分編碼的值與所述非一元編碼后綴 部分的所述長度相關聯(lián),使得所述非一元編碼后綴部分的所述長度是由所述前綴部分編碼 的值的指數函數。7. 根據權利要求1所述的裝置,其中,由所述前綴部分編碼的值和所述非一元編碼后綴 部分的長度之間的關系是,使得所述非一元編碼后綴部分的最大長度不大于選自由以下組 成的列表的最大值:每個待編碼的數據值的最大位數;和預定最大值。8. 根據權利要求1所述的裝置,其中,所述前綴部分被自編碼為指數Golomb碼。9. 根據權利要求1所述的裝置,其中,所述前綴長度被封頂為取決于所述數據值的位深 加6的最大前綴長度。10. 根據權利要求1所述的裝置,其中,所述最大前綴長度等于預定常數減去等于用于 編碼的所述數據值的動態(tài)范圍的值。11. 根據權利要求10所述的裝置,其中,所述預定常數等于29。12. 根據權利要求10所述的裝置,其中,所述預定常數等于28。13. 根據權利要求1所述的裝置,其中,所述數據集之一是指示非零最高有效數據部分 相對于所述數據值的陣列的位置的有效映圖。14. 根據權利要求13所述的裝置,其中,所述有效映圖包括指示,根據預定的所述數據 值的陣列的排序,具有非零值的所述最高有效數據部分的最后一個的位置的數據標志。15. -種數據解碼裝置的操作方法,所述方法包括: 數據解碼裝置將輸入編碼數據值解碼為具有位深的解碼數據值,所述輸入編碼數據值 被編碼為數據集,和用于未由所述數據集編碼的值的轉義碼,所述轉義碼包括前綴部分和 非一元編碼后綴部分,所述前綴部分具有以最大前綴長度封頂的前綴長度,所述最大前綴 長度取決于所述數據值的位深,所述非一元編碼后綴部分具有按位計的長度,根據對于至 少一些由所述前綴部分編碼的值使得所述非一元編碼后綴部分的長度大于所述前綴部分 的按位計的長度的關系,所述非一元編碼后綴部分的長度取決于由所述前綴部分編碼的 值。16. -種計算機軟件,當由計算機執(zhí)行時,使所述計算機執(zhí)行根據權利要求15所述的方 法。17. -種非臨時性機器可讀存儲介質,所述存儲介質存儲根據權利要求16所述的計算 機軟件。18. -種數據編碼裝置,包括: 編碼器,被配置為將具有位深的數據值的陣列編碼為數據集和用于未由所述數據集編 碼的值的轉義碼,所述轉義碼包括前綴部分和非一元編碼后綴部分,所述前綴部分具有以 最大前綴長度封頂的前綴長度,所述最大前綴長度取決于所述數據值的位深,所述非一元 編碼后綴部分具有按位計的長度,根據對于至少一些由所述前綴部分編碼的值使得所述非 一元編碼后綴部分的長度大于所述前綴部分的按位計的長度的關系,所述非一元編碼后綴 部分的長度取決于由所述前綴部分編碼的值。19. 根據權利要求18所述的裝置,其中,所述前綴部分包括一元編碼值。20. 根據權利要求19所述的裝置,其中,所述前綴部分包括截斷一元編碼值。21. 根據權利要求18所述的裝置,包括控制器,所述控制器被配置為訪問一個或多個 表,在所述表中,由所述前綴部分編碼的值和所述非一元編碼后綴部分的長度是關聯(lián)的。22. 根據權利要求21所述的裝置,其中,所述控制器被配置為,根據選自以下所組成的 組中的一個或多個,選擇關聯(lián)由所述前綴部分編碼的值與所述非一元編碼后綴部分的長度 的所述表中的一個:(i)與所述編碼數據值相關聯(lián)的數據標志;和(ii)得自一個或多個先前 編碼的數據值的參數。23. 根據權利要求18所述的裝置,其中,由所述前綴部分編碼的值與所述非一元編碼后 綴部分的長度相關聯(lián),使得所述非一元編碼后綴部分的所述長度是由所述前綴部分編碼的 值的指數函數。24. 根據權利要求18所述的裝置,其中,由所述前綴部分編碼的值和所述非一元編碼后 綴部分的長度之間的關系是,使得所述非一元編碼后綴部分的最大長度不大于選自由以下 組成的列表的最大值:每個待編碼的數據值的最大位數;和預定最大值。25. 根據權利要求18所述的裝置,其中,所述前綴部分被自編碼為指數Golomb碼。26. 根據權利要求18所述的裝置,其中,所述最大前綴長度等于預定常數減去等于用于 編碼的所述數據值的動態(tài)范圍的值。27. 根據權利要求26所述的裝置,其中,所述預定常數等于29。28. 根據權利要求26所述的裝置,其中,所述預定常數等于28。29. 根據權利要求18所述的裝置,其中,所述數據集之一是指示非零最高有效數據部分 相對于所述數據值的陣列的位置的有效映圖。30. 根據權利要求29所述的裝置,其中,所述有效映圖包括指示,根據預定的所述數據 值的陣列的排序,具有非零值的所述最高有效數據部分的最后一個的位置的數據標志。31. 根據權利要求29所述的裝置,其中,所述數據集包括: 指示大于1的最高有效數據部分相對于所述數據值的陣列的位置的大于一映圖,和 指示大于2的最高有效數據部分相對于所述數據值的陣列的位置的大于二映圖。32. -種數據編碼裝置的操作方法,所述方法包括: 數據編碼裝置將數據值的陣列編碼為具有位深的數據集,和用于未由所述數據集編碼 的值的轉義碼,所述轉義碼包括前綴部分和非一元編碼后綴部分,所述前綴部分具有以最 大前綴長度封頂的前綴長度,所述最大前綴長度取決于所述數據值的位深,所述非一元編 碼后綴部分具有按位計的長度,根據對于至少一些由所述前綴部分編碼的值使得所述非一 元編碼后綴部分的長度大于所述前綴部分的按位計的長度的關系,所述非一元編碼后綴部 分的長度取決于由所述前綴部分編碼的值。33. -種計算機軟件,當由計算機執(zhí)行時,使所述計算機執(zhí)行根據權利要求32所述的方 法。34. -種非臨時性機器可讀存儲介質,所述存儲介質存儲根據權利要求33所述的計算 機軟件。35. -種視頻數據捕捉、傳輸、顯示和/或存儲裝置,包括根據權利要求1所述的裝置。
【文檔編號】H04N19/14GK105850125SQ201480070778
【公開日】2016年8月10日
【申請日】2014年11月7日
【發(fā)明人】詹姆斯·亞歷山大·戈梅, 卡爾·詹姆斯·沙曼
【申請人】索尼公司