[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

TWI750624B - 編解碼變換係數的方法及裝置 - Google Patents

編解碼變換係數的方法及裝置 Download PDF

Info

Publication number
TWI750624B
TWI750624B TW109111194A TW109111194A TWI750624B TW I750624 B TWI750624 B TW I750624B TW 109111194 A TW109111194 A TW 109111194A TW 109111194 A TW109111194 A TW 109111194A TW I750624 B TWI750624 B TW I750624B
Authority
TW
Taiwan
Prior art keywords
transform
block
regular
entropy
bins
Prior art date
Application number
TW109111194A
Other languages
English (en)
Other versions
TW202046724A (zh
Inventor
向時達
Original Assignee
聯發科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW202046724A publication Critical patent/TW202046724A/zh
Application granted granted Critical
Publication of TWI750624B publication Critical patent/TWI750624B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

視訊解碼器從一像素塊將被解碼為一視訊的一當前圖像的一當前塊的位元流接收資料。該當前塊包括一變換塊。該視訊解碼器決定該變換塊的一常規二進位數位預算。該視訊解碼器將該變換塊熵解碼為使用上下文建模的常規二進位數位或者不使用上下文建模的旁路二進位數位。用於熵編解碼該變換塊的該常規二進位數位的數目由所決定的常規二進位數位預算來限制而不管該常規二進位數位是否表示(i)用於重構該當前塊像素資料的殘差訊號的樣本或者(i)由該殘差訊號的變換操作生成的變換係數的樣本。視訊解碼器基於熵解碼的該變換塊重構該當前塊。

Description

編解碼變換係數的方法及裝置
本發明通常涉及視訊處理。特別地,本發明涉及上下文編解碼(context coding)變換係數(transform coefficient)的殘差的方法。
除非在此另有指示,本節所描述的方法不是下文所列申請專利範圍的先前技術並且不因包括於本節而被承認為先前技術。
高效視訊編解碼(HEVC)是由視訊編解碼聯合合作小組(JCT-VC)開發的最新的國際視訊編解碼標準。從重構訊號預測輸入視訊訊號,其從已編解碼的圖像區域來導出。預測殘差訊號由線性變換來處理。變換係數被量化,以及與位元流中的其他輔助資訊(side information)一起被熵編碼。在逆變換去量化的變換係數後,從預測訊號以及重構殘差訊號生成重構訊號。重構資訊進一步由環路濾波處理來移除編解碼偽影(artifact)。已解碼圖像被存儲於幀緩衝器用於預測輸入視訊訊號中的未來圖像。
在HEVC中,編解碼的圖像被分割成由相關編碼樹單元(CTU)表示的非重疊正方形塊區域。編解碼圖像可以由一些條帶(slice)來表示,每一者包括整數數目的CTU。條帶中單個CTU以光柵掃描次序(raster scanning order)進行處理。雙向預測(B)條帶可以使用幀內預測(intra prediction)或幀間預測(inter prediction)來解碼,其使用至多兩個運動向量以及參考索引的來預測每一塊的樣本值。預測(P)條帶使用幀內預測或幀間預測來解碼,其使用至多一個運動向量以及參考索引的來預測每一塊的樣本值。幀內(I)條帶僅使用幀內預測。
可以使用遞迴的四叉樹(QT)結構將CTU拆分成多個非重疊編碼單元(CU)來適應各種局部運動以及紋理特性。CTU也可以由具有使用二元以及三元拆分的嵌入多類型樹的四叉樹拆分成一個或多個較小尺寸CU。所生成的CU分割可以是正方形或矩形形狀。
為每一CU指定一個或多個預測單元(PU)。預測單元與相關CU語法一起作為發信預測子(predictor)資訊的基礎單元。特定的預測進程被採用來預測PU內相關像素樣本的值。可以使用殘差四叉樹(RQT)結構來進一步拆分CU用於表示相關預測殘差訊號。RQT的葉節點對應於變換單元(TU)。變換單元包括亮度樣本尺寸為8x8、16x16或32x32的一變換塊(TB)或者亮度樣本尺寸為4x4的四個變換塊,以及4:2:0色彩格式的圖像的色度樣本的兩個對應的變換塊。整數變換被應用於變換塊以及已量化係數的層級(level)值與其他輔助資訊一起在位元流中被熵編解碼。
術語編碼樹塊(CTB)、編碼塊(CB)、預測塊(PB)以及變換塊(TB)被定義來指定分別與CTU、CU、PU以及TU相關的一個色彩分量的2-D樣本陣列。因此,一個CTU包括一個亮度CTB、兩個色度CTB以及相關語法元素。類似的關係對CU、PU以及TU也有效。雖然當色度達到某些最小尺寸時會例外,樹分割通常被同時應用於亮度以及色度。
編解碼塊旗標(coded block flag,CBF)用於發信變換塊中是否有任何非0變換係數。當CBF等於0時,相關變換塊不被進一步編解碼以及當前變換塊中的所有係數被推斷為等於0。否者,相關變換塊包含至少一個非0變換係數。非0變換塊被進一步拆分成非重疊子塊。語法元素coded_sub_block_flag 可以被發信來指示當前子塊是否包含任何非0係數。當coded_sub_block_flag等於0時,相關變換子塊不被進一步編解碼以及當前變換子塊中的所有係數被推斷為等於0。否則,相關變換塊包括至少一個非0變換係數。使用多個子塊編解碼通道(coding passes)對相關子塊中變換係數層級的值進行熵編解碼。在每一編解碼通道中,根據預定掃描次序,單個變換係數被訪問一次。
後續的概述僅是說明性的以及以任何方式進行限制,即,後續的概述被提供來引入本文所描述的新穎以及非顯而易見技術的概念、亮度、益處以及優勢。選擇而不是所有的實施方式在下文被進一步詳細描述。因此,後續概述不旨在識別所要求保護主題的基本特性,或者不旨在用於決定所要求保護主題的範圍。
一些實施例中提供了熵編解碼像素塊的方法。在一些實施例中,一視訊解碼器從一像素塊將被解碼為一視訊的一當前圖像的一當前塊的位元流接收資料。該當前塊包括一變換塊。該視訊解碼器決定該變換塊的一常規二進位數位預算。該視訊解碼器將該變換塊熵解碼為使用上下文建模的常規二進位數位或者不使用上下文建模的旁路二進位數位。用於熵編解碼該常規二進位數位的數目由所決定的常規二進位數位預算限制,而不管該常規二進位數位是否表示(i)用於重構該當前塊的像素資料的殘差訊號的樣本或(ii)由該殘差訊號的轉換操作生成的變換係數的樣本。該視訊解碼器基於該熵解碼的變換塊重構該當前塊。
在一些實施例中,一視訊編碼器接收一像素塊將被編碼為一視訊的一當前圖像的一當前塊的原始像素資料到一位元流,該當前塊包括一變換塊。該視訊編碼器決定該變換塊的一常規二進位數位預算。該視訊編碼器將該 變換塊的原始像素資料編碼成(i)從該原始像素資料計算的殘差訊號的樣本或者(ii)由該殘差訊號的變換操作生成的變換係數的樣本。該視訊編碼器將該變換塊熵編碼成使用上下文建模的常規二進位數位或者未使用上下文建模的旁路二進位數位。其中用於熵編解碼該變換塊的該常規像素的一數目由所決定的常規二進位數位預算來限制,而不管該常規二進位數位是否表示(i)殘差訊號的樣本或(ii)變換係數的樣本。
本發明藉由對用於熵編解碼該TB或TU之變換係數之上下文編解碼的二進位數位的數目施加約束,而對用於熵編解碼語法元素或編解碼通道的二進位數位的數目不施加約束,可以有效地改善編解碼效率。
200:像素塊
201~204:變換塊
214:常規二進位數位預算
300:視訊編碼器
305:視訊源
308:減法器
309:殘差訊號
310:變換模組
311:量化模組
312:已量化資料
313:預測像素資料
314:逆量化模組
315:逆變換模組
316:變換係數
317:重構像素資料
319:重構殘差
320:幀內圖像估計模組
325:幀內預測模組
330:運動補償模組
335:運動估計模組
340:幀間預測模組
345:環路濾波器
350:重構圖像緩衝器
365:MV緩衝器
375:MV預測模組
390:熵編碼器
395:位元流
402:語法元素生成器
406:二值化器
408:常規/旁路模式開關
410:二進位數位字串
412:上下文建模器
414:常規編碼引擎
416:旁路編碼引擎
418:碼位元
420:常規/旁路模式選擇模組
422:常規二進位數位計數器
424:常規二進位數位約束
510~550、810~850:步驟
600:視訊解碼器
605:逆量化模組
610:逆變換模組
612:已量化係數
613:預測像素資料
616:變換係數
617:已解碼像素資料
619:重構殘差訊號
625:幀內預測模組
630:運動補償模組
640:幀間預測模組
645:環路濾波器
650:解碼圖像緩衝器
655:顯示裝置
665:MV緩衝器
675:MV預測模組
690:熵解碼器
695:位元流
702:語法元素變換器
706:二值化器
708:常規/旁路模式開關
710:二進位數位字串
712:上下文建模器
714:常規解碼引擎
718:碼位元
716:旁路編解碼引擎
720:常規/旁路模式選擇模組
722:常規二進位數位計數器
724:常規二進位數位約束
900:電子系統
930:唯讀記憶體
935:永久儲存裝置
920:系統記憶體
945:輸出裝置
915:影像處理單元
910:處理單元
940:輸入裝置
925:網路
905:匯流排
附圖被包括來提供本發明的進一步理解以及被包括並構成本發明的一部分。圖式示出了本發明的實施方式,以及與描述一起用於解釋本發明的原理。能理解,因為為了清楚地說明本發明的概念,一些元件被示出與實際實施方式不成比例,附圖不需要按比例繪製。
第1圖示出了由基於上下文的適應性二進位算術編解碼(CABAC)進程的熵編解碼。
第2a-b圖概念地示出了熵編解碼像素塊,在其中為TB指定了最大數目的常規二進位數位(bin)。
第3圖示出了示例性視訊編碼器。
第4圖示出了視訊編碼器的部分,其基於約束選擇性地以常規模式(regular mode)或旁路模式(bypass mode)熵編碼TB的語法元素,該約束限制用於TB的常規二進位數位的數目。
第5圖概念地示出了對所使用的常規二進位數位的數目施加約束來熵編碼變換 塊的進程,而不管變換塊是否是變換跳過的。
第6圖示出了示例性視訊解碼器。
第7圖示出了視訊解碼器的部分,基於約束選擇性地將TB的語法元素熵解碼為常規模式或旁邊模式,該約束限制用於TB的常規二進位數位的數目。
第8圖概念地示出了對所使用的常規二進位數位的數目施加約束的熵解碼一變換塊的進程,而不管該變換塊是否是變換跳過的。
第9圖概念地示出了用其實施本發明一些實施例的電子系統。
在後續細節描述中,以示例的方式給出了各種具體細節以提供相關教導的透徹理解。基於本文所描述的教導的任何變化、衍生與/或擴展都在本發明的保護範圍內。在一些情況下,與本文所公開的一個或多個示例實施方式有關的公知的方法、進程、元件與/或電路可以在沒有細節的情況下在相對高層級進行描述,以避免不必要地混淆本發明教導的方面。
在HEVC中,在第一子塊編解碼通道中發信語法元素sig_coeff_flag來指示當前變換係數層級的絕對值是否大於0。對於sig_coeff_flag等於1的當前係數,在第2編解碼通道中進一步發信語法元素coeff_abs_level_greater1_flag來指示相關變換係數層級的絕對值是否大於1。對於coeff_abs_level_greater1_flag等於1的當前係數,在第3編解碼通道中進一步發信coeff_abs_level_greater2_flag來指示相關變換係數層級的絕對值是否大於2。分別在第4編解碼以及第5子塊編解碼通道中由語法元素coeff_sign_flag以及coeff_abs_level_remaining進一步發信符號資訊以及剩餘的層級值。
在一些實施例中,變換係數可以由從屬的標量量化(scalar quantization)進行量化。由具有四個狀態的狀態機決定兩個量化器之一的選擇。 由掃描次序中先前變換係數的狀態以及絕對層級值的奇偶性決定當前變換係數的狀態。變換塊被拆分成多個非重疊子塊。因為TB塊的寬度或高度大於32,對應於位置(x,y)(x>32或y>32)的變換係數被強制為等於0。每一子塊中的變換係數層級使用多個子塊編解碼通道進行熵編解碼。在第1子塊編解碼通道中發信語法元素sig_coeff_flag、abs_level_gt1_flag、par_level_flag以及abs_level_gt3_flag。來自第一通道的變換係數層級的部分重構的絕對值如下:AbsLevelPass1=sig_coeff_flag+par_level_flag+abs_level_gt1_flag+2*abs_level_gt3_flag
熵編解碼sig_coeff_flag的上下文選擇基於當前係數的狀態。因此在第一編解碼通道中發信參數par_level_flag用於導出下一個係數的狀態。在後續子塊編解碼通道中進一步分別發信語法元素abs_remainder以及coeff_sign_flag來指示剩餘係數層級值以及符號。變換係數層級的完全重構的絕對值如下:TransCoeffLevel=(2 * AbsLevel-(QState > 1 ? 1:0))*(1-2 * coeff_sign_flag)
其中QState指示當前變換係數的狀態。
變換跳過(transform skip,TS)模式是熵編解碼模式,其中在沒有經過變換操作的情況下對已量化殘差訊號進行熵編解碼。換言之,在沒有變換的情況下,像素域的殘差訊號被直接量化以及熵編解碼。在一些實施例中,為了熵編解碼與變換跳過模式有關的變換塊(TB),在第一子塊通道中發信語法元素sig_coeff_flag、coeff_sign_flag、_abs_level_gt1_flag以及par_level_flag。在子塊編解碼通道2、3、4以及5中分別熵編解碼語法元素abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag以及abs_level_gt9_flag。
對於一些實施例,採用基於上下文的適應性二進位算術編碼 (CABAC)模式(或稱為常規模式)用於熵編解碼HEVC中的語法元素的值。因為CABAC引擎中的算術編碼器編碼二進位符號值,CABAC操作最初將語法元素的值變換成二進位串(binary string)(這一進程通常被稱為二值化)。在編解碼進程中,從不同上下文的編解碼符號逐步建立可能的模式。用於編解碼下一個二進位符號(或下一個二進位數位集合)的建模上下文的選擇可以由編解碼資訊決定。符號可以在沒有上下文建模階段以及假定等概率分別來編解碼用於改善位元流解析吞吐率,通常稱為旁路模式。
第1圖示出了基於上下文的適應性二進位算術編解碼(CABAC)進程的熵編解碼。如圖所述, 因為常規二進位數位使用上下文建模,選擇性地以常規模式(如使用上下文建模的常規二進位數位)或旁路模式(未使用上下文建模的旁路二進位數位)將語法元素編解碼進位元流。
在HEVC中,變換子塊中語法元素coded_sub_block_flag、sig_coeff_flag、coeff_abs_level_greater1_flag以及coeff_abs_level_greater2_flag的值以常規模式進行編解碼。變換子塊中語法元素coeff_sign_flag以及coeff_abs_level_remaining的值以旁邊模式進行編解碼。為了限制最壞情況下用於熵編解碼變換係數層級的常規二進位數位的總數目,每一子塊被允許編解碼至多八個coeff_abs_level_greater1_flag值以及一個coeff_abs_level_greater2_flag value值。這樣,來自每一子塊中子塊編解碼通道的常規二進位數位的最大總數目被限制為26。
在一些實施例中,在第1子塊編解碼通道中以常規CABAC模式熵編解碼語法元素sig_coeff_flag、abs_level_gt1_flag、par_level_flag以及abs_level_gt3_flag。對於每一4x4子塊,第1編解碼通道中最大允許的上下文編解碼二進位數位的數目被約束為小於或等於32,對於每一2x2子塊是8。在第1 子塊編解碼通道期間,計數用於編解碼語法元素sig_coeff_flag、abs_level_gt1_flag、parlevel_flag以及abs_level_gt3_flag的上下文編解碼二進位數位的數目。當在編解碼變換係數之前,剩餘二進位數位預算小於4時,結束第一子塊編解碼通道。
在一些實施例中,視訊編碼器對用於熵編解碼變換塊(TB)或變換單元(TU)中變換係數的上下文編解碼二進位數位的數目有約束而不對單個子塊的上下文編解碼二進位數位的總數目、語法元素以及編解碼通道施加任何約束。為TB或TU指定了常規二進位數位的最大允許數目。視訊編碼器可以追蹤當前TB或TU中熵編碼進程期間所消耗的上下文編解碼二進位數位的累計數目。當達到或接近達到指定的常規二進位數位預算(在對上下文編解碼二進位數位的總數目的指定約束下)時,視訊編碼器可以將CABAC引擎切換到旁邊模式用於當前TB/TU中剩餘的編解碼通道。或者視訊編碼器可以結束以常規CABAC模式的當前編解碼通道以及在旁邊編解碼通道中編解碼變換係數的剩餘絕對值。
第2a-b圖概念地示出了熵編解碼像素塊200,其中為TB指定了最大數目的常規二進位數位。如圖所示,像素塊200目前正被編解碼為當前塊。當前塊200由熵編碼器或解碼器進行熵編解碼。當前塊200被拆分成多個子塊。當前塊200也被拆分成四個TB 201-204,每一者包含一個或多個子塊。
第2a圖與第2b圖都示出了TB 204的熵編解碼。然而,第2a圖示出了TB 204的像素資料被編解碼為藉由應用變換操作到殘差訊號(像素資料與預測之間的差異)生成的(已量化)變換係數的情景,而第2b圖示出了TB 204的像素資料未經變換操作被編碼為(已量化)殘差訊號。在一些實施例中,視訊編碼器可以發信來指示TB 204是變換跳過的塊。
當對TB 204執行熵編解碼(編碼或解碼)來將殘差訊號或變換係 數變換成多個二進位數位時,約束常規二進位數位的數目的TB常規二進位數位預算214(或常規二進位數位的最大數目)可以被用於編解碼TB 204的殘差訊號或變換係數。一旦滿足TB常規二進位數位預算214,將TB的二進位數位的剩餘殘差訊號或變換係數編解碼為旁路二進位數位。
在一些實施例中,常規二進位數位的相同最大允許數目是可適用的而不管TB是否是變換跳過的TB。換言之,TB常規二進位數位預算214(TB 201的常規二進位數位的最大允許數目)是可適用的而不管被熵編解碼的值是否是像素域中的殘差訊號(第2b圖的示例)或變換域中殘差訊號的變換係數(第2a圖的示例)。在一些實施例中,由transform_skip_flag指示TU是否是變換跳過的(如,transform_skip_flag=1指示TU是變換跳過的以及transform_skip_flag=0指示TU不是變換跳過的)。
在一些實施例中,熵編解碼進程可以被視為包括兩種不同類型的位元流生成進程或解析進程用於編解碼殘差塊。兩種類型的位元流裝配進程之一僅適用於未經變換操作的殘差塊。兩種類型的位元流裝配進程收到對每一殘差塊中用於編解碼殘差樣本的上下文編解碼二進位數位的最大允許數目相同的約束。約束由maxRegBinsCoeff * nTBSamples指定。(參數maxRegBinsCoeff或maxRegBinsPerCoeff是每一樣本常規二進位數位的最大允許數目,nTBSamples指定當前TB/TU中樣本的數目,即,當前TB/TU的尺寸。在一些實施例中,maxRegBinsCoeff被設置為等於2)。
所指定的約束可以是預定義的或者在位元流中顯式發信,例如,在高層級語法集合中使用一個或多於一個語法元素,如序列參數集(SPS)、圖像參數集(PPS)、圖塊(tile)組標頭(header)、或/與條帶標頭。所指定的語法元素可以取決於編解碼位元流中指示的設定檔(profile)以及層級。不同的約束可以適用於不同的色彩分量。不同的約束可以適用於不同的TB或TU尺寸。在一些實施例 中,常規二進位數位的最大允許數目與當前TU/TB尺寸成比例,當前TU/TB尺寸由當前TB/TU中的變換係數的總數目測量。在一些實施例中,當前TU/TB尺寸可以是包括或排除具有強制的0值的高頻率子塊區域的TB/TB的尺寸。
所之前所提到的,視訊編碼器可以對用於熵編解碼TB或TU中變換係數的值的上下文編解碼二進位數位的總數目的有一約束。視訊編碼器追蹤用於熵編解碼TB或TU中語法元素的上下文編解碼的二進位數位的累計數目,包括用於發信最後有效係數的位置、編解碼子塊旗標以及TB或TU中變換係數層級的部分絕對值的語法元素。表1提供了用於解析一些實施例的殘差變換塊的示例性語法表。在該表中,maxRegBinsCoeff是每一樣本常規二進位數位的最大允許的數目,變數lastSigCoeffXPrefixBins以及lastSigCoeffYPrefixBins是分別用於熵編解碼語法元素last_sig_coeff_x_prefix以及last_sig_coeff_y_prefix的所消耗常規二進位數位的數目。
Figure 109111194-A0305-02-0012-1
Figure 109111194-A0305-02-0013-2
Figure 109111194-A0305-02-0014-3
Figure 109111194-A0305-02-0015-4
Figure 109111194-A0305-02-0016-5
Figure 109111194-A0305-02-0017-6
在一些實施例中,當transform_skip_flag等於0時,用於熵編解碼殘差塊中變換係數的每一樣本的常規二進位數位的最大允許數目與當trabsform_skip_flag等於1時,用於熵編解碼殘差塊中殘差樣本的每一樣本的常規二進位數位的最大允許數目被設置為相同的值或者接近相同的值。這樣,殘差塊可以在對每一殘差塊中每一樣本的常規二進位數位的最大允許數目相同約束的情況下被熵編解碼。在一些實施例中,視訊編碼器可以進一步計數TB或TU中其他語法元素,如tu_cbf_luma、tu_cbf_cb,tu_cbf_cr以及tu_joint_cbcr_residual。
任何前述提到的方法可以在編碼器與/或解碼器中實施。例如,任何提出的方法可以在編碼器的熵編解碼模組、與/或解碼器的熵編解碼模組中實施。或者,任何提出的方法可以被實施為被整合到編碼器的熵編解碼模組與/或解碼器的熵編解碼模組的電路。
示例性視訊編碼器
第3圖示出了示例性視訊編碼器300。如圖所示,視訊編碼器從視訊源305接收輸入視訊訊號以及將訊號編碼進位元流395。視訊編碼器300具有多個元件或模組用於編碼來自視訊源305的訊號,至少包括從變換模組310、量化模組311、逆量化模組314、逆變換模組315、幀內圖像估計模組320、幀內預測模組325、運動補償模組330、運動估計模組335、環路濾波器345、重構圖像緩衝器350、MV緩衝器365以及MV預測模組375以及熵編碼器390中選擇的一些元件。運動補償模組330以及運動估計模組335是幀間預測模組340的部分。
在一些實施例中,模組310-390是由計算裝置或電子裝置的一個 或多個處理單元(如處理器)執行的軟體指令的模組。在一些實施例中,模組310-390是由電子裝置的一個或多個積體電路(IC)實施的硬體電路的模組。雖然模組310-390被示出為分離的模組,一些模組可也被組合成單個模組。
視訊源305提供原始視訊訊號,其表示未經壓縮的每一視訊幀的像素資料。減法器308計算視訊源305的原始視訊像素資料與來自運動補償模組330或幀內預測模組325的預測像素資料313之間的差異。變換模組310將差異(或殘差像素資料或殘差訊號309)轉換成變換係數316(如,藉由執行離散余弦變換,或DCT)。量化模組311將變換係數量化成已量化資料(或已量化係數)312,其由熵編碼器390編碼進位元流395。
逆量化模組314去量化該已量化資料(或已量化係數)312來獲得變換係數,以及逆量化模組315對變換係數執行逆變換來生成重構殘差319。該重構殘差319與預測像素資料313相加來生成重構像素資料317。在一些實施例中,重構像素資料317被暫時地存儲在線性緩衝器中(未示出)用於幀內圖像預測以及空間MV預測。重構像素由環路濾波器345進行濾波並存儲在重構圖像緩衝器350中。在一些實施例中,重構圖像緩衝器350是視訊編碼器300外部的儲存。在一些實施例中,重構圖像緩衝器350是視訊編碼器300的內部儲存。
幀內圖像估計模組320基於重構像素資料317執行幀內預測來生成幀內預測資料。幀內預測資料被提供給熵編碼器390來被編碼進位元流395。幀內預測資料也由幀內預測模組325使用來生成預測像素資料313。
藉由預測MV來參考存儲於重構圖像緩衝器350中的先前已解碼幀的像素資料,運動估計模組335執行幀間預測。這些MV被提供給運動補償模組330來生成預測像素資料。
除了編碼位元流中完整實際的MV,視訊編碼器300使用MV預測來生成已預測MV,以及用於運動補償的MV與已預測MV之間的差異被編 碼為殘差運動資料並被存儲於位元流395中。
MV預測模組375基於參考MV生成已預測MV,參考MV被生成用於編碼先前視訊幀,即,運動補償MV用於執行運動補償。MV預測模組375從來自MV緩衝器365的先前視訊幀檢索參考MV。視訊編碼器300將為當前視訊幀生成的MV存儲於MV緩衝器365作為參考MV用於生成已預測MV。
MV預測模組375使用參考MV來創造已預測MV。該已預測MV可以由空間MV預測或時間MV預測來計算。已預測MV與當前幀(殘差運動資料)運動補償MV(MC MV)之間的差異被熵編碼器390編碼進位元流395。
藉由使用如上下文適應性二進位算術編碼(CABAC)或霍夫曼編碼(Huffman encoding)的熵編解碼技術,熵編碼器390將各種參數以及資料編碼進位元流395。熵編碼器390將各種標頭元素、旗標與已量化變換係數312、以及殘差運動資料編碼為語法元素到位元流395中。位元流395反過來存儲在儲存裝置或通過如網路的通信媒介被傳輸到解碼器。
環路濾波器345對重構像素資料317執行濾波或光滑操作來減少編解碼的偽影,特別是在像素塊的邊界。在一些實施例中,所執行的濾波器操作包括樣本適應性偏移(SAO)。在一些實施例中,濾波操作包括適應性環路濾波器(ALF)。
第4圖示出了視訊編碼器300的部分,其基於限制用於TB的常規二進位數位的數目的約束選擇性地以常規模式或旁路模式來熵編碼TB的語法元素。特別地,常規二進位數位的最大允許數目被施加給每一TB,而不管變換操作是否被應用於TB的殘差訊號。圖式示出了熵編碼模組390的元件。
語法元素生成器402生成將被熵編解碼的語法元素,包括基於已量化係數312的語法元素,其可以是當前TB的變換係數319或殘差訊號309的已量化版本。根據預定編解碼通道生成語法元素(如,sig_coeff_flag、 abs_level_gt1_flag、par_level_flag、abs_level_gt3_flag、tu_cbf_luma、tu_cbf_cb、tu_cbf_cr、tu_joint_cbcr_residual、last_sig_coeff_x_prefix以及last_sig_coeff_y_prefix)。
所選擇語法元素由二值化器406轉換成二進位數位字串410(非二進位值的語法元素)或者直接用作二進位數位字串(二進位值的語法元素)。常規/旁路模式開關408決定語法元素二進位數位字串410是否被熵編解碼為常規二進位數位或旁路二進位數位。常規二進位數位由上下文建模器412以及常規編碼引擎414使用上下文建模處理到碼位元(code bit)418。旁路二進位數位由旁路編碼引擎416在未使用上下文建模的情況下處理到碼位元418。碼位元418被存儲為位元流395的部分。
常規/旁路模式開關408由常規/旁路模式選擇模組420控制。常規/旁路模式選擇模組做其決定,如藉由使用常規二進位數位計數器422是否選擇常規模式或旁路模式。常規二進位數位計數器422計數被編碼的常規二進位數位的數目用於當前TB,以及只要常規二進位數位計數器不大於或等於約束424,常規/旁路模式開關408允許二進位數位字串被編碼為常規二進位數位,該約束424指定TB常規二進位數位預算或者被編解碼的TB的常規二進位數位的最大允許數目。約束424可以基於TB的屬性決定,如,在一些實施例中,約束與當前TB尺寸成比例,當前TB尺寸由當前TB中變換係數的總數目來測量。在一些實施例中,當前TB尺寸可以是包括或排除具有強制0值的高頻率子塊區域的TB的尺寸。例如,在一些實施例中,約束424基於參數maxRegBinsCoeff決定,其指定每一樣本常規二進位數位的最大允許數目,因此,約束基於maxRegBinsCoeff * nTBSamples來計算。
第5圖概念地示出了熵編碼一變換塊的進程500,對所使用常規的數目施加約束而不管變換塊是否是變換跳過的。在一些實施例中,實施編碼 器300的計算裝置的一個或多個處理單元(如,處理器)藉由執行存儲於電腦可讀媒介中的指令執行進程500。在一些實施例中,實施編碼器300的電子裝置執行進程500。
編碼器接收(在塊510)包括一當前圖像的一當前塊的原始像素資料。該當前塊包括變換塊。在一些實施例中,該變換塊包含當前塊的一個或多個子塊。
編碼器(在塊520)決定該變換塊的一常規二進位數位預算。在一些實施例中,常規二進位數位預算基於以下計算(i)每一樣本的常規二進位數位的最大允許數目以及(ii)當前變換塊的樣本數目。在一些實施例中,沒有約束被應用於單個子塊的上下文編解碼的二進位數位的總數目。在一些實施例中,沒有約束被應用於單個語法元素或編解碼通道的上下文編解碼二進位數位的總數目。
編碼器(在塊525)決定該變換塊是否是變換跳過的塊。在一些實施例中,該位元流包括一指示,該指示發信該變換塊是否是一變換跳過塊,其中殘差訊號的樣本不被變換。如果該變換塊是變換跳過的塊,進程前進到530。否則,進程前進到540。
編碼器(在塊530)將該變換塊的原始像素資料編碼成殘差訊號(如,原始像素資料與一組幀內或幀間預測之間的差異)的樣本。進程然後前進到塊550。
藉由對該殘差訊號執行變換操作,編碼器(在塊540)將該變換塊的原始像素資料編碼成變換係數的樣本。進程然後前進到塊550。
編碼器(在塊550)將該變換塊熵編碼為使用上下文建模的常規二進位數位或不使用上下文建模的旁路二進位數位。用於熵編碼該變換塊的常規二進位數位的數目由所決定的常規二進位數位預算來限制,而不管常規二進位 數位是否表示(i)殘差訊號的樣本或(ii)變換係數的樣本。
在一些實施例中,用於熵編碼該變換塊的常規二進位數位的數目也包括用於熵編碼發信該變換塊最後有效係數的位置的語法元素的常規二進位數位的數目。在一些實施例中,用於熵編解碼變換塊的常規二進位數位的數目包括用於熵編解碼發信一個或多個編解碼塊旗標的語法元素的常規二進位數位的數目。在一些實施例中,用於熵編解碼該變換的常規二進位數位的數目包括用於熵編解碼發信該變換塊中變換係數層級的部分絕對值的語法元素的常規二進位數位的數目。
示例性視訊解碼器
第6圖示出了示例性視訊解碼器600。如圖所示,視訊解碼器600是接收位元流695並且將位元流的內容解碼成視訊幀的像素資料用於顯示的圖像解碼或視訊解碼電路。視訊解碼器600具有多個元件或模組用於解碼位元流695,包括從逆量化模組605、逆變換模組610、幀內圖像預測模組625、運動補償模組630、環路濾波器645、解碼圖像緩衝器650、MV緩衝器665、MV預測模組675以及解析器690中選擇的一些元件。運動補償模組630是幀間預測模組640的部分。
在一些實施例中,模組610-690是由計算裝置的一個或多個處理單元(如,處理器)執行的軟體指令的模組。在一些實施例中,模組610-690是由電子裝置的一個或多個IC實施的硬體電路的模組。雖然模組610-690被示出為分離的模組,一些模組可以被組合到單個模組。
解析器690(或熵解碼器)接收位元流695以及根據視訊編解碼或圖像編解碼標準定義的語法執行初始解析。所解析的語法包括各種標頭元素、旗標以及已量化資料(或已量化係數)612。解析器690藉由使用如上下文適應性二進位算術編解碼(CABAC)或霍夫曼編碼的熵編解碼技術解析出各種語法元 素。
逆量化模組605去量化已量化資料(或已量化係數)612來獲得變換係數,以及逆變換模組610對變換係數616執行逆變換來生成重構殘差訊號619。重構殘差訊號619與來自幀內預測模組625或運動補償模組630的預測像素資料613相加來生成已解碼像素資料617。已解碼像素資料由環路濾波器645進行濾波並存儲與解碼圖像緩衝器650。在一些實施例中,解碼圖像緩衝器650是視訊解碼器600的外部儲存。在一些實施例中,解碼圖像緩衝器650是視訊解碼器600的內部儲存。
幀內預測模組625從位元流695接收幀內預測資料以及根據其,從存儲於解碼圖像緩衝器650的已解碼像素資料617生成預測像素資料613。在一些實施例中,已解碼像素資料617也被存儲於線性緩衝器(未示出)用於幀內圖像預測以及空間MV預測。
在一些實施例中,解碼圖像緩衝器650的內容用於顯示。顯示裝置655檢索解碼圖像緩衝器650的內容直接用於顯示或者檢索解碼圖像緩衝器的內容到顯示緩衝器。在一些實施例中,顯示裝置通過像素傳輸從解碼圖像緩衝器650接收像素資料。
根據運動補償MV(MC MV),運動補償模組630從存儲於解碼圖像緩衝器650的已解碼像素資料617生成預測像素資料613。藉由將從位元流695接收的殘差運動資料與從MV預測模組675接收的已預測MV相加,解碼這些運動補償MV。
MV預測模組675基於參考MV生成預測MV,參考MV被生成用於解碼先前視訊幀,如,運動補償MV用於執行運動補償。MV預測模組675從MV緩衝器665檢索先前視訊幀的參考MV。視訊解碼器600將為解碼當前視訊幀生成的運動補償MV存儲於MV緩衝器665作為參考MV用於生成預測 MV。
環路濾波器645對已解碼像素資料617執行濾波或光滑操作來減少編解碼偽影,尤其在像素塊的邊界。在一些實施例中,所執行的濾波操作包括樣本適應性偏移(SAO)。在一些實施例中,濾波操作包括適應性環路濾波(ALF)。
第7圖示出了視訊解碼器600的部分,其基於限制用於TB的常規二進位數位的數目的約束選擇性地將TB的語法元素熵解碼為常規模式或旁路模式。特別地,常規二進位數位的最大允許數目被施加於每一TB,而不管變換操作是否被應用於TB的殘差訊號。圖式示出了熵解碼器690的元件。
熵解碼器690從位元流695接收碼位元718。常規/旁路模式開關708決定該碼位元流是否被解碼為常規二進位數位或旁路二進位數位。被解碼為常規二進位數位的該碼位元由上下文建模器712以及常規解碼引擎714使用上下文建模處理成二進位數位字串710。被解碼為旁路二進位數位的碼位元由旁路編解碼引擎716在未使用上下文建模的情況下處理成二進位數位字串710。
該二進位數位字串710由去二值化器706轉換成語法元素(非二進位值的語法元素)或者直接用作語法元素(二進位值的語法元素)。
語法元素變換器702將語法元素變換成由視訊解碼器600的各部分使用的訊號或值。語法元素根據由預定編解碼通道指定的其命令來變換。一些語法元素被轉換成已量化係數612,其可以被去量化成變換係數616或者當前TB的殘差訊號609。
常規/旁路模式開關708由常規/旁路模式選擇模組720控制,常規/旁路模式選擇模組做決定,如使用常規二進位數位計數器722是否選擇常規模式或旁路模式。常規二進位數位計數器722計數被解碼器用於當前TB的常規二進位數位的數目,以及只要常規二進位數位計數器不大於或等於約束724,該 常規/旁路模式開關708允許碼位元被解碼為常規二進位數位,該約束724其指定TB常規二進位數位預算或者用於被編解碼TB的常規二進位數位的最大允許數目。約束可以基於TB的屬性決定,如,在一些實施例中,約束與當前TB的尺寸成比例,當前TB的尺寸由當前TB中變換係數的總數目來測量。在一些實施例中,當前TB尺寸可以是包括或排除具有強制0之的高頻率子塊區域的BT的尺寸。例如,在一些實施例中,基於參數maxRegBinsCoeff決定約束724,其指定每一樣本常規二進位數位的最大允許數目,因此基於maxRegBinsCoeff*nTBSamples計算約束724。
第8圖概念地示出了熵解碼變換塊的進程800,對所使用的常規二進位數位的數目施加約束而不管變換塊是否是變換跳過的。在一些實施例中,實施解碼器600的計算裝置的一個或多個處理單元(如處理器)藉由執行存儲於電腦可讀媒介中的執行進程800。在一些實施例中,實施解碼器600的電子裝置執行進程800。
解碼器(在塊810)從一位元流接收與一當前圖像的一當前塊有關的待解碼資料,該當前塊包括一變換塊。在一些實施例中,該變換塊包括該當前塊的一個或多個子塊。
解碼器(在塊820)決定該變換塊的一常規二進位數位預算。在一些實施例中,該常規二進位數位預算基於(i)每一樣本的常規二進位數位的最大允許數目以及(ii)該當前變換塊中的樣本的數目來計算。在一些實施例中,沒有約束被應用於單個子塊的上下文編解碼二進位數位的總數目。在一些實施例中,沒有約束被應用於單個語法元素或編解碼通道的上下文編解碼二進位數位的總數目。
解碼器(在塊825)決定該變換塊是否是變換跳過的塊。在一些實施例中,該位元流包括一指示,該指示發信該變換塊是否是變換跳過的塊,其 中殘差訊號的樣本不被變換。如果該變換塊是變換跳過的塊,該進程前進到830。否則,該進程前進到840。
解碼器(在塊830)將該變換塊熵解碼為使用上下文建模的常規二進位數位或者為未使用上下文建模的旁路二進位數位。用於熵編解碼該變換塊的常規二進位數位的數目由所決定的常規二進位數位預算來限制。至少一些常規二進位數位被熵解碼為殘差訊號的樣本。進程然後前進到塊850。
解碼器(在塊840)將該變換塊熵解碼為使用上下文建模的常規二進位數位或者為不使用上下文建模的旁路二進位數位。用於熵編解碼變換塊的常規二進位數位的數目由所決定的常規二進位數位預算來限制。至少一些常規二進位數位被熵解碼為變換係數的樣本。換言之,所決定的常規二進位數位預算是可適用的而不管常規二進位數位是否表示(i)用於重構當前塊的項資料的殘差訊號或(ii)由殘差訊號的變換操作生成的變換係數的樣本。
在一些實施例中,用於熵編碼變換塊的常規二進位數位的數目也包括用於熵編解碼發信該變換塊的最後有效係數的位置的語法元素的數目。在一些實施例中,用於熵編解碼變換塊的常規二進位數位的數目包括用於熵編解碼發信一個或多個編解碼子塊旗標的語法元素的常規二進位數位的數目。在一些實施例中,用於熵編解碼變換塊的常規二進位數位的數目包括用於熵編解碼發信變換塊中變換係數層級的部分絕對值的語法元素的常規二進位數位的數目。
解碼器對變換係數的樣本執行逆變換操作來生成殘差訊號的樣本。進程然後前進到塊850。
解碼器(在850)基於殘差訊號樣本重構當前塊,如,藉由將殘差訊號的樣本與來自幀間或幀內預測的預測訊號的樣本相加。換言之,解碼器基於熵解碼的變換塊來重構當前塊。
示例性電子系統
許多上述描述的特徵以及應用被實施為軟體進程,被定義為記錄在電腦可讀儲存媒介(也稱為電腦可讀媒介)上的一組指令。當這些指令由一個或多個計算或處理單元(如,一個或多個處理器、處理核心或其他處理單元)執行時,使得處理單元執行指令中指示的動作。電腦可讀媒介的示例包括但不限於CD-ROM、快速驅動器、隨機存取記憶體(RAM)晶片、硬碟驅動器、可擦可程式設計唯讀記憶體(EPROM)、電可擦可程式設計唯讀記憶體(EEPROM)等。電腦可讀媒介不包括無線地或在有線連接上傳輸載波以及電子訊號。
在本說明中,術語“軟體”旨在包括駐留於唯讀記憶體中的固件或者存儲於磁性儲存中應用,其可以被讀入記憶體由處理器處理。另外,在一些實施例中,多個軟體發明可以被實施為較大程式的子部分而保留獨特的軟體發明。在一些實施例中,多個軟體發明可以被實施為獨立的程式。最後,一起實施本文所描述的軟體發明的分離程式的任何組合在本發明的範圍內。在一些實施例中,當被安裝在一個或多個電子系統上操作時,軟體程式定義一個或多個特定的機器實施方式,執行以及執行軟體程式的操作。
第9圖概念地示出了實施本發明一些實施例的電子系統900。電子系統900可以是電腦(如,臺式電腦、個人電腦、平臺電腦等)、電話、PDA或任何合適的電子裝置。這種電子系統包括各種類型的電腦可讀媒體以及用於各種其他類型電腦可讀媒體的介面。電子系統900包括匯流排905、處理單元910、影像處理單元(GPU)915、系統記憶體920、網路925、唯讀記憶體930、永久儲存裝置935、輸入裝置940以及輸出裝置945。
匯流排905共同表示所有系統、介面以及晶片集匯流排,通信地連接電子系統900的各種內部裝置。例如,匯流排905通信地將處理單元905與GPU 915、唯讀記憶體930、系統記憶體920以及永久儲存裝置935連接。
從這些各種存儲單元,處理單元910檢索待執行的指令以及待處理的資料以執行本發明的進程。處理單元在不同實施例中可以是單個處理器或多核處理器。一些指令被傳輸給並由GPU 915執行。GPU 915可以分流各種計算或者完成由處理單元910提供的影像處理。
唯讀記憶體(930)存儲由處理單元910以及電子系統的其他模組使用的靜態資料以及指令。另一方面,永久儲存裝置935是讀寫存儲裝置。這一裝置是非易失性儲存單元,即使當電子系統900關閉時可以存儲指令以及資料。本發明的一些實施例使用大存儲裝置(如磁性或光碟以及其對應的硬碟驅動器)作為永久儲存裝置935。
其他實施例使用可移除儲存裝置(如軟碟、快速存儲裝置等,以及其對應的硬碟驅動器)作為永久儲存裝置。像永久儲存裝置935,系統記憶體920是讀寫存儲裝置。然而,不像儲存裝置935,系統記憶體920是易失性讀寫記憶體,如隨機存取記憶體。系統記憶體920存儲一些處理器運行時使用的指令以及資料。在一些實施例中,根據本發明的進程被存儲於系統記憶體920,永久存儲裝置935,與/或唯讀記憶體930。例如,各種記憶體單元包括根據一些實施例的處理多媒體剪輯的指令。從這各種記憶體單元,處理單元910檢索待執行的指令以及待處理的資料來執行一些實施例的進程。
匯流排905也連接到輸入以及輸出裝置940以及945。輸入裝置940使使用者能夠與電子系統通信資訊以及選擇命令。輸入裝置940包括數位鍵盤以及定位裝置(也稱為“游標控制裝置”)、攝像機(如,網路攝像機)、麥克風或用於接收聲音命令的類似裝置等。輸出裝置945顯示由電子系統生成的圖像或者輸出資料。輸出裝置945包括印表機以及顯示裝置,如陰極射線管(CRT)或液晶顯示幕(LCD)以及揚聲器或類似聲音輸出裝置。一些實施例包括如觸控式螢幕的裝置,同時作為輸入以及輸出裝置。
最後,如第9圖所示,匯流排905也通過網路配接器(未示出)將電子系統900耦合到網路925。這樣,電腦可以是電腦網路(如局域網(LAN)、廣域網路(WAN))、或者內部網路、或網路的網路(如網際網路)的部分。電子系統900的任何或所有元件可以結合本發明來使用。
一些實施例包括電子元件(如微處理器)、以機器可讀或電腦可讀媒介(或者稱為電腦可讀儲存媒體、機器可讀媒體或機器可讀儲存媒體)存儲電腦程式指令的儲存以及記憶體。這種電腦可讀媒體的一些示例包括RAM、ROM、唯讀光碟(CD-ROM)、可記錄光碟(CD-R)、可再寫光碟(CD-RW)、唯讀數位通用光碟(如,DVD-ROM、雙層DVD-ROM)、各種可記錄/可再寫DVD(如,DVD-RAM、DVD-RW、DVD+RW等)、快速記憶體(如,SD卡、mini-SD卡、micro-SD卡等)、磁與/或固態硬碟驅動器、唯讀以及可記錄藍光光碟、超密度光碟、任何其他光或磁媒體以及軟碟。電腦可讀媒體可以存儲由至少一個處理單元執行的計算程式以及包括用於執行各種操作的指令集。電腦程式或電腦代碼的示例包括機器代碼,如由編譯器執行,以及包括由電腦、電子元件或使用注釋器的微處理器執行的較高層級代碼的檔。
雖然上述討論主要指執行軟體的微處理器或多核處理器,許多上述描述的特徵以及應用由一個或多個積體電路執行,如專用積體電路(ASIC)或現場可程式閘陣列(FPGA)。在一些實施例中,這種積體電路執行存儲於電路自身的指令。此外,一些實施例執行存儲於可程式邏輯裝置(PLD)、ROM或RAM裝置中的軟體。
如本申請說明書以及任何權利專利範圍中使用的,術語“電腦”、“伺服器”、“處理器”以及“記憶體”都指電子或其他技術裝置。這些術語排除人或人群。出於說明的目的,術語顯示(display)或顯示(displaying)意為在電子裝置上顯示。如本申請說明書以及任何申請專利範圍中使用的,術語 “電腦可讀媒介”、“電腦可讀媒體”以及“機器可讀媒介”都完全限於以電腦可讀的形式存儲資訊的有形、物理物件。這些術語不包括任何無線訊號、有線下載訊號以及任何其他暫態訊號。
雖然本發明已經參考各種具體細節進行描述,本領域技術人員將意識到本發明可以在不背離本發明精神的情況下以其他特定形式來呈現。此外,許多圖示(包括第5圖以及第8圖)概念地示出了進程。這些進程的具體操作可以不以所示以及所描述的具體次序執行。這些具體操作可以不以一個連續的操作來執行,可以在不同的實施例中執行不同的具體操作。此外,進程可以使用多個子進程來實施,或者被實施為較大巨集進程的一部分。因此,本領域技術人員將理解,本發明不由前述說明性細節限制,而是由所附申請專利範圍定義。
附注
本文所描述的主題有時示出了包括於不同其他元件或與其連接的不同元件。能夠理解,這種描繪的架構僅是示例,以及事實上可以實施實現相同功能的許多其他的架構。概念上來說,實現相同功能的元件的任何安排是有效“關聯的”以致實現所期望的功能。因此,本文組合來實現特定功能的任何兩個元件可以被視為彼此“關聯”以致實現所期望的功能,而不管架構或中間元件。同樣地,如此關聯的任何兩個元件也可以被視為彼此“可操作地連接”或“可操作地耦合”來實現所期望的功能,以及能夠如此關聯的任何兩個元件也可以被視為彼此“可操作地耦合”來實現所期望的功能。可操作地耦合的具體示例包括但不限於物理上可匹配與/或物理上交互的元件與/或無線地可瞭解與/或無線地交互的元件與/或邏輯地交互與/或邏輯可交互的元件。
此外,關於本文中實質上任何複數與/或單數術語的使用,本領域具有通常知識者的這些人可以根據上下文以及應用適當地將其從複數變換成 單數與/或從單數變換成複數。為了清楚起見,這裡可以明確闡述各種單數/複數置換。
此外,本領域技術人員表將能理解,通常,本文所使用的術語,尤其是所附申請專利範圍中使用的術語(如所附申請專利範圍的主體)通常意為“開放式”的術語,如,術語“包括(including)”應當被解釋為“包括但不限於”,術語“具有”應當被解釋為“至少具有”,術語“包括(includes)”應當被解釋為“包括但不限於”等。本領域這些技術人員將能進一步理解,如果特定數目的所引申請專利範圍的表述是有意的,這種意圖將明確列舉在申請專利範圍中,以及沒有這種表述的情況下這種意圖不存在。例如,為了幫助理解,後續所附申請專利範圍可以包含介紹性短語“至少一個”以及“一個或多個”的使用來介紹申請專利範圍表述。然而,這種短語的使用不應該被解釋為暗示由不定冠詞“a”或“an”介紹的申請專利範圍表述限制包含這種引入的申請專利範圍表述的任何特定申請專利範圍到僅包含一個這種表示的實施方式,即使當相同的申請專利範圍包括介紹性短語“一個或多個”或“至少一個”以及如“a”或“an”的不定冠詞,“a”與/或“an”應當被解釋為意味著“至少一個”或“一個或多個”,相同的情況也適用於介紹申請專利範圍表述的定冠詞。此外,即使特定數目的所介紹申請專利範圍表述被明確列舉,本領域具有通常知識者將意識到,這種表述應當被解釋為意味著至少一個所列舉的數目,如沒有其他修改的“兩個表述”的純表述意味著至少兩個表述,或者兩個或多個表述。此外,在使用類似於“至少一個A、B以及C等”的慣例的情況下,通常這種構造旨在本領域具有通常知識者將能理解該慣例,如“系統具有至少一個A、B以及C”將包括但不限於系統單獨具有A、單獨具有B、單獨具有C、一起具有A與B、一起具有A與C、一起具有B與C,與/或一起具有A、B以及C等。在使用類似於“至少一個A、B或C”慣例的這些情況下,通常這種構造旨在本領域具有 通常知識者將能夠理解該慣例,如“系統具有至少一個A、B或C”將包括但不限於系統單獨具有A、單獨具有B、單獨具有C、一起具有A與B、一起具有A與C、一起具有B與C,與/或一起具有A、B以及C等。本領域技術人員將能進一步理解,事實上在描述、申請專利範圍或圖示中,表示兩個或多個可替換術語的任何分隔詞與/或短語將被理解成考慮包括術語之一、術語任一個或者術語兩者的可能性。例如,短語“A或B”將被理解成包括“A或B”或者“A與B”的可能性。
從上文可以理解,出於說明的目的,本發明的各種實施方式已經在此進行描述,以及在不背離本發明範圍以及精神的情況下,可以進行各種修正。因此,本文所描述的各種實施方式不旨在被限制,真正的範圍以及精神由後續申請專利範圍來指示。
510~550:步驟

Claims (11)

  1. 一種視訊解碼方法,包括:從一位元流接收與一當前圖像的一當前塊有關的待解碼資料,該當前塊包括一變換塊;決定該變換塊的一常規二進位數位預算;將該變換塊熵解碼為使用上下文建模的常規二進位數位或者不使用上下文建模的旁路二進位數位,其中用於熵編解碼該變換塊的該常規二進位數位的一數目由所決定的該常規二進位數位預算來限制,而不管該常規二進位數位是否表示用於重構該當前塊的像素資料的殘差訊號的樣本或者由該殘差訊號的變換操作生成的變換係數的樣本;以及基於熵解碼的變換塊重構該當前塊。
  2. 如請求項1所述之視訊解碼方法,其中基於每一樣本常規二進位數位的一最大允許數目以及該變換塊中樣本的數目計算該常規二進位數位預算。
  3. 如請求項1所述之視訊解碼方法,其中該位元流包括一指示,該指示發信該變換塊是否是殘差訊號的樣本沒有被變換的一變換跳過塊。
  4. 如請求項1所述之視訊解碼方法,其中該變換塊包括該當前塊的多個子塊。
  5. 如請求項4所述之視訊解碼方法,其中沒有約束被應用於一單個子塊的上下文編解碼二進位數位的一總數目。
  6. 如請求項1所述之視訊解碼方法,其中沒有約束被應用於一單個語法元素或一編解碼通道的上下文編解碼二進位數位的一總數目。
  7. 如請求項1所述之視訊解碼方法,其中用於熵編解碼該變換 塊的該常規二進位數位的該數目包括用於熵編解碼多個語法元素的常規二進位數位的一數目,該等語法元素用於發信該變換塊的最後有效係數的一位置。
  8. 如請求項1所述之視訊解碼方法,其中用於熵編解碼該變換塊的該常規二進位數位的該數目包括用於熵編解碼多個語法元素的常規二進位數位的一數目,該等語法元素用於發信一個或多個編解碼的子塊旗標。
  9. 如請求項1所述之視訊解碼方法,其中用於熵編解碼該變換塊的該常規二進位數位的該數目包括用於熵編解碼多個語法元素的常規二進位數位的一數目,該等語法元素用於發信該變換塊中變換係數層級的部分絕對值。
  10. 一種視訊編碼方法,包括:接收一當前圖像的一當前塊,該當前塊包括一變換塊;決定該變換塊的一常規二進位數位預算;將該變換塊的原始像素資料編碼成從該原始像素資料計算的殘差訊號的樣本或者由該殘差訊號的變換操作生成的變換係數的樣本;以及將該變換塊編碼為使用上下文建模的常規二進位數位或者不使用上下文建模的旁路二進位數位,其中用於熵編解碼該變換塊的該常規二進位數位的一數目由所決定的該常規二進位數位預算限制而不管該常規二進位數位是否表示殘差訊號的樣本或變換係數的樣本。
  11. 一種編解碼變換係數的裝置,該裝置包括處理器以及記憶體,該處理器執行存儲與該記憶體中的指令使得該裝置執行編解碼變換係數的方法,該方法包括:從一位元流接收一當前圖像的一當前塊,該當前塊包括一變換塊;決定該變換塊的一常規二進位數位預算;當該變換塊是一變換跳過的塊: 將該變換塊熵解碼為使用上下文建模的常規二進位數位或者不使用上下文建模的旁路二進位數位,其中用於熵編解碼該變換塊的該常規二進位數位的一數目由所決定的該常規二進位數位預算來限制,其中至少一些該常規二進位數位被熵解碼為殘差訊號的樣本;當該變換塊不是一變換跳過的塊:將該變換塊熵解碼為使用上下文建模的常規二進位數位或者不使用上下文建模的旁路二進位數位,其中用於熵編解碼該變換塊的該常規二進位數位的一數目由所決定的該常規二進位數位預算來限制,其中至少一些該常規二進位數位被熵解碼為變換係數的樣本;以及對該變換係數的該樣本執行逆變換操作來生成殘差訊號的樣本;以及基於該殘差訊號的樣本重構該當前塊。
TW109111194A 2019-04-03 2020-04-01 編解碼變換係數的方法及裝置 TWI750624B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962828947P 2019-04-03 2019-04-03
US62/828,947 2019-04-03
US16/836,268 2020-03-31
US16/836,268 US11303898B2 (en) 2019-04-03 2020-03-31 Coding transform coefficients with throughput constraints

Publications (2)

Publication Number Publication Date
TW202046724A TW202046724A (zh) 2020-12-16
TWI750624B true TWI750624B (zh) 2021-12-21

Family

ID=72663339

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109111194A TWI750624B (zh) 2019-04-03 2020-04-01 編解碼變換係數的方法及裝置

Country Status (2)

Country Link
US (1) US11303898B2 (zh)
TW (1) TWI750624B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11375236B2 (en) * 2019-05-22 2022-06-28 Tencent America LLC Method and apparatus for video coding
US11381847B2 (en) * 2019-05-31 2022-07-05 Qualcomm Incorporated Coefficient coding for transform skip mode in video coding
KR20220024658A (ko) * 2019-06-24 2022-03-03 알리바바 그룹 홀딩 리미티드 비디오 데이터의 변환-스킵 잔차 코딩
WO2021007557A1 (en) * 2019-07-10 2021-01-14 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus on prediction refinement with optical flow
WO2021025485A1 (ko) * 2019-08-06 2021-02-11 현대자동차주식회사 비디오 부호화 및 복호화를 위한 엔트로피 코딩
US11265536B2 (en) 2019-09-23 2022-03-01 Tencent America LLC Method to extend the range of rice parameter for residual coding in transform skip mode
CN117157979A (zh) * 2021-04-12 2023-12-01 Oppo广东移动通信有限公司 编解码方法、编码器、解码器以及存储介质
WO2024074122A1 (en) * 2022-10-04 2024-04-11 Douyin Vision Co., Ltd. Method, apparatus, and medium for point cloud coding
US20240163436A1 (en) * 2022-11-16 2024-05-16 Apple Inc. Just noticeable differences-based video encoding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104221374A (zh) * 2012-04-11 2014-12-17 高通股份有限公司 在视频译码中分群经旁路译码语法元素
WO2017041676A1 (en) * 2015-09-10 2017-03-16 Mediatek Singapore Pte. Ltd. Method and apparatus of context modelling for syntax elements in image and video coding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN2015DN01842A (zh) * 2012-10-01 2015-05-29 Ericsson Telefon Ab L M
US10616604B2 (en) * 2015-09-01 2020-04-07 Qualcomm Incorporated Coefficient level coding in video coding
US20170310999A1 (en) * 2016-04-25 2017-10-26 Magnum Semiconductor, Inc. Method and apparatus for rate-distortion optimized coefficient quantization including sign data hiding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104221374A (zh) * 2012-04-11 2014-12-17 高通股份有限公司 在视频译码中分群经旁路译码语法元素
WO2017041676A1 (en) * 2015-09-10 2017-03-16 Mediatek Singapore Pte. Ltd. Method and apparatus of context modelling for syntax elements in image and video coding

Also Published As

Publication number Publication date
US11303898B2 (en) 2022-04-12
TW202046724A (zh) 2020-12-16
US20200322607A1 (en) 2020-10-08

Similar Documents

Publication Publication Date Title
TWI750624B (zh) 編解碼變換係數的方法及裝置
CN112640448B (zh) 编码转换系数的熵编解码方法与装置
TWI753356B (zh) 用於編碼或解碼轉換塊的方法與裝置
TWI723448B (zh) 圖像以及視訊資料中編碼單元的熵編解碼
JP7277616B2 (ja) ビデオ・データを処理する方法、装置及び記憶媒体
TWI792149B (zh) 量化相關參數之傳訊技術
TWI830629B (zh) 轉換省略區塊之傳訊編碼技術
JP2017504997A (ja) Hevcにおける改良型パレットモード
RU2760234C2 (ru) Кодирование и декодирование данных
TW201408076A (zh) 在視訊寫碼中用於量化轉換係數之正負號隱藏技術
KR20160093061A (ko) 비디오 코덱에서 신택스 요소 인코딩을 위한 방법 및 장치
JP7509784B2 (ja) 係数レベルのためのエスケープコーディング
JP2022539311A (ja) ピクチャのサブセクション用の独立したcabac
WO2023272533A1 (zh) 编解码方法、编码器、解码器以及存储介质
JP2024502109A (ja) ビデオコーディング用の残差および係数のコーディング
JP2024534816A (ja) 多用途ビデオコーディングのための操作範囲拡張
TWI734178B (zh) 具有產出限制的編碼轉換係數
TWI832602B (zh) 轉換係數符號的熵編碼
WO2024222411A1 (en) Entropy coding transform blocks
WO2023138391A1 (zh) 系数解码方法、装置、图像解码器及电子设备
TWI856996B (zh) 用於係數位準之逃逸寫碼
JP2022548685A (ja) 画像データの符号化及び復号化
KR20230002534A (ko) 결합된 무손실 및 손실 코딩을 위한 방법들 및 시스템들
AU2013206126A1 (en) Method, apparatus and system for encoding and decoding a subset of a transform unit of encoded video data