TW202329690A - 轉換省略區塊之傳訊編碼技術 - Google Patents
轉換省略區塊之傳訊編碼技術 Download PDFInfo
- Publication number
- TW202329690A TW202329690A TW112110480A TW112110480A TW202329690A TW 202329690 A TW202329690 A TW 202329690A TW 112110480 A TW112110480 A TW 112110480A TW 112110480 A TW112110480 A TW 112110480A TW 202329690 A TW202329690 A TW 202329690A
- Authority
- TW
- Taiwan
- Prior art keywords
- current
- flag
- video
- syntax element
- sequence
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了一種用於在視訊解碼器中執行轉換省略模式(TSM)的方法。 視訊解碼器從位元流接收資料,以將其解碼為多個視訊圖像。 視訊解碼器解析視訊圖像當前序列的序列參數集(SPS)中第一語法元素的位元流。 當第一語法元素指示當前視訊圖像序列的轉換省略模式被允許,並且當當前序列的當前圖像中的當前區塊使用轉換省略模式時,視訊解碼器通過使用未轉換的量化殘差信號來重建當前區塊。
Description
本公開總體上涉及視訊處理。 特別地,本公開涉及對視訊資料區塊進行傳訊譯碼(signaling coding)的方法。
除非本文另外指出,否則本節中描述的方法不是下面列出的申請專利範圍的現有技術,並且不被包括在本節中而被承認為現有技術。
在實現高效視訊譯碼(HEVC)的視訊譯碼系統中,根據重建信號預測輸入視訊信號,該重建信號源自編碼的圖像區域(coded picture region)。預測殘差信號通過線性轉換進行處理。將轉換係數與位元流中的其他輔助資訊一起進行量化和熵編碼。在對去量化的轉換係數進行逆轉換之後,從預測信號和重建殘差信號生成重建信號。通過環路濾波進一步處理重建的信號以去除編碼偽像。解碼的圖像存儲在幀緩衝區中,用於輸出和預測輸入視訊信號中的將來圖像。
在HEVC中,譯碼的圖像被劃分為由相關聯的譯碼樹單元(CTU)表示的非重疊正方形區塊區域。譯碼的圖像可以由切片的集合表示,每個切片包含整數個CTU。切片中的各個CTU按光柵掃描順序進行處理。可以使用幀內預測或幀間預測來解碼雙預測(B)切片,其中幀內預測或幀間預測使用至多兩個運動矢量和參考索引來預測每個區塊的採樣值。使用幀內預測或幀間預測使用最多一個運動矢量和參考索引對預測(P)切片進行解碼,以預測每個區塊的採樣值。僅使用幀內預測對幀內(I)切片進行解碼。
可使用遞歸四叉樹(QT)結構將CTU劃分為多個非重疊譯碼單元(CU),以適應各種局部運動和紋理特徵。為每個CU指定一個或多個預測單元(PU)。預測單元與關聯的CU語法一起,作為用於傳訊預測子資訊的基本單元。使用指定的預測過程來預測PU內相關像素採樣的值。可以使用殘差四叉樹(RQT)結構來進一步劃分CU,以用於表示相關聯的預測殘差信號。 RQT的葉節點對應於轉換單元(TU)。轉換單元包括大小為8x8、16x16或32x32的亮度採樣的轉換區塊(TB)或大小為4x4的四個亮度採樣的轉換區塊,以及4:2:0顏色格式的圖像的色度採樣的兩個相應轉換區塊。將整數轉換應用於轉換區塊,並且將量化係數的位準值(level value)與其他輔助資訊一起在位元流中進行熵編碼。
術語譯碼樹區塊(CTB)、譯碼區塊(CB)、預測區塊(PB)和轉換區塊(TB)被定義為指定分別與CTU、CU、PU和TU相關聯的一種顏色分量的2-D採樣陣列。因此,CTU由一個亮度CTB、兩個色度CTB和相關的語法元素組成。類似的關係對於CU、PU和TU有效。樹分割通常同時應用於亮度和色度,但是當達到色度的某些最小大小時會例外。在一些其他譯碼標準中,每個CTU可以通過使用嵌套的多類型樹的四叉樹,使用二進位和三進位拆分,劃分為一個或多個較小尺寸的譯碼單元(CU)。所得的CU分區可以為正方形或矩形。
以下發明內容僅是說明性的,而無意於以任何方式進行限制。即,提供以下概述以介紹本文所述的新穎和非顯而易見的技術的概念、重點、益處和優點。在下面的詳細描述中將進一步描述選擇而非全部實現。因此,以下概述並非旨在標識所要求保護的主題的必要特徵,也不旨在用於確定所要求保護的主題的範圍。
一些實施例提供了一種用於在視訊解碼器中執行轉換省略模式(transform skip mode,簡寫為TSM)的方法。視訊解碼器從位元流接收資料,以將其解碼為多個視訊圖像。視訊解碼器解析視訊圖像當前序列(current sequence of video pictures)的序列參數集(sequence parameter set,簡寫為SPS)中第一語法元素的位元流。當第一語法元素指示視訊圖像當前序列的轉換省略模式被允許,並且當當前序列的當前圖像中的當前區塊使用轉換省略模式時,視訊解碼器通過使用未轉換的量化的殘差信號(quantized residual signal)來重建當前區塊。
當第一語法元素指示視訊圖像的當前序列允許轉換省略模式時,視訊解碼器解析SPS中第二語法元素的位元流,以指示是否允許區塊增量脈衝譯碼調製(Block Delta Pulse Code Modulation,簡寫為BDPCM)用於視訊圖像的當前序列。在一些實施例中,當第一語法元素指示當前視訊圖像序列允許轉換省略模式時,視訊解碼器進一步解析第三語法元素的位元流,以指示當前區塊的殘差信號是否通過使用其他殘差譯碼處理被熵譯碼。
在下面的詳細描述中,通過示例的方式闡述了許多具體細節,以提供對相關教導的透徹理解。基於本文描述的教導的任何變化、派生和/或擴展均在本公開的保護範圍內。在一些情況下,可以以相對較高的位準而不詳細地描述與在此公開的一個或多個示例實現有關的眾所周知的方法、過程、組件和/或電路,以避免不必要地混淆本公開的教導的各方面。
I. 像素區塊的熵編碼
本公開的一些實施例提供了用於控制視訊譯碼系統中的譯碼工具的使用的方法。一些視訊譯碼系統(例如,通用視訊譯碼(Versatile Video Coding,簡寫為VVC))被開髮用於支持各種視訊應用。用於諸如屏幕內容譯碼之類的新譯碼應用的某些譯碼工具可能不適用於譯碼傳統的相機捕獲的視訊內容。根據本發明的一些方面,視訊譯碼器可以傳訊一個或多個高階語法元素,以控制某些譯碼工具用於目標應用的使用。
在一些實施例中,譯碼區塊標誌(coded block flag,簡寫為CBF)用於傳訊轉換區塊中是否存在任何非零轉換係數。當CBF等於0時,不對相關的轉換區塊進行進一步譯碼,並且推斷當前轉換區塊中的所有係數都等於0。否則,相關的轉換區塊包含至少一個非零轉換係數。非零轉換區塊被進一步劃分為非重疊子區塊。可以傳訊語法元素coded_sub_block_flag以指示當前子區塊是否包含任何非零係數。當coded_sub_block_flag等於0時,不對關聯的轉換子區塊進行進一步編碼,並且推斷當前轉換子區塊中的所有係數都等於0。否則,關聯的轉換區塊包含至少一個非零轉換係數。使用多個子區塊譯碼通道(subblock coding passes)對相關聯的子區塊中的轉換係數位準的值進行熵譯碼。在每個譯碼通道中,根據預定義的掃描順序對單個轉換係數進行一次訪問。
在一些實施例中,在第一子區塊譯碼通道中傳訊語法元素sig_coeff_flag以指示當前轉換係數位準的絕對值是否大於0。在第二譯碼處理中進一步為sig_coeff_flag等於1的當前係數傳訊語法元素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進一步分別傳訊正負號(sign)資訊和剩餘位準值。
在一些實施例中,可以通過從屬標量量化(scalar quantization)來量化轉換係數。由具有四個狀態的狀態機(state machine)確定兩個量化器之一的選擇。當前轉換係數的狀態由狀態和掃描順序中的前一轉換係數的絕對位準值的奇偶校驗(parity)確定。轉換區塊被劃分成非重疊的子區塊。使用多個子區塊譯碼通道對每個子區塊中的轉換係數位準進行熵譯碼。語法元素sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag在第一子區塊譯碼通道中傳訊。元素abs_level_gt1_flag和abs_level_gt3_flag分別指示當前係數位準的絕對值是否大於1和大於3。語法元素par_level_flag指示當前位準的絕對值的奇偶校驗位元。來自第一通道的部分重建的(partially reconstructed)轉換係數位準的絕對值由下式給出
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在隨後的子區塊譯碼通道中進一步傳訊,以分別指示剩餘的係數位準值和正負號。 完全重建的(fully reconstructed)轉換係數位準的絕對值由下式給出
AbsLevel = AbsLevelPass1 + 2 * abs_remainder
轉換係數位準由下式給出
TransCoeffLevel = ( 2 * AbsLevel − ( QState > 1 ? 1 : 0 ) ) * ( 1 − 2 * coeff_sign_flag),
其中,QState指示當前轉換係數的狀態。
為了實現高壓縮效率,採用基於上下文的自適應二進位算術譯碼(CABAC)模式或稱為常規模式來對HEVC和VVC Draft中的語法元素的值進行熵譯碼。 由於CABAC引擎中的算術譯碼器只能對二進位符號值進行編碼,因此CABAC操作首先需要將語法元素的值轉換為二進位字符串,該過程通常稱為二進位化。 在譯碼處理中,根據不同上下文的譯碼符號逐漸建立概率模型。 可以通過譯碼資訊來確定用於譯碼下一個二進位符號的建模上下文的選擇。 可以在沒有上下文建模階段的情況下對符號進行譯碼,並假定採用相等的概率分佈(通常稱為旁路模式(bypass mode))來提高位元流解析吞吐率。
在一些實施例中,以常規模式對轉換子區塊中的語法元素coded_sub_block_flag、sig_coeff_flag、coeff_abs_level_greater1_flag和coeff_abs_level_greater2_flag的值進行譯碼。轉換子區塊中語法元素coeff_sign_flag和coeff_abs_level_remaining的值在旁路模式下譯碼。為了在最壞的情況下限制子區塊中熵譯碼轉換係數位準的常規位元子(bin)的總數,每個子區塊最多只能譯碼八個coeff_abs_level_greater1_flag值和一個coeff_abs_level_greater2_flag值。這樣,每個子區塊中的常規位元子(bin)的最大數量可以限制為25。
在一些實施例中,語法元素sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag和par_level_flag在第一子區塊通道中傳訊。語法元素abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag和abs_level_gt9_flag分別在子區塊譯碼通道2、3、4和5中進行了熵譯碼。 sig_coeff_flag的上下文建模以兩個鄰居(neighbor)的sig_coeff_flag值為條件。 abs_level_gt1_flag和par_level_flag的上下文建模分別採用單個上下文。在一些實施例中,語法元素abs_level_gtx_flag[ n ][ j ], j = 0..4, ]指定轉換係數位準的絕對值(在掃描位置n處)是否大於(j << 1)+ 1以及是否分別對應於語法元素abs_level_gt1_flag、abs_level_gt3_flag、abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag和abs_level_gt9_flag。語法元素par_level_flag和abs_level_gtx_flag [n] [j],j = 0..4,]均使用單個上下文變量進行譯碼。
II. 跳過轉換的區塊 ( Transform-Skipped Blocks )
在一些實施例中,提供了用於傳訊轉換省略(transform skip,簡寫為TS)模式、基於區塊的增量脈衝譯碼調製(BDPCM)模式以及其他與轉換省略相關的工具的方法。當通過使用轉換省略模式對區塊進行譯碼時,對量化的殘差信號進行熵譯碼,而無需經歷轉換操作。當通過使用BDPCM模式對區塊進行譯碼時,對殘差進行量化,並且對每個量化後的殘差與其預測子(例如,先前譯碼的水平或垂直(取決於BDPCM預測方向)相鄰位置的殘差)之間的差進行譯碼。
在一些實施例中,視訊譯碼器可傳訊高階語法(high-level syntax,簡寫為HLS)集中的多個語法元素,例如序列參數集(SPS)、圖像參數集(PPS)和/或切片標頭用於控制轉換省略模式和相關的譯碼工具的使用。在一些實施例中,高階語法(HLS)集表示高於區塊位準的位準的語法集合,例如用於高於區塊位準的位準的序列參數集(SPS)、圖像參數集(PPS)、切片標頭或任何其他集。視訊譯碼器可傳訊一個或一個以上高階語法元素以指示在當前位元流中是否啟用了轉換省略模式(TSM)。當啟用轉換省略模式時,視訊譯碼器可進一步傳訊一個或一個以上高階語法元素以指示在當前位元流中是否啟用了BDPCM。
在一些實施例中,當啟用轉換省略模式時,視訊譯碼器可進一步傳訊一個或一個以上高階語法元素以指示是否採用替代性殘差譯碼工具或過程來對TSM中的殘差區塊進行譯碼。具體地,當以轉換省略模式對CU進行譯碼時(換句話說,將轉換省略模式用於CU),可以使用轉換省略殘差譯碼處理(也稱為替代殘差譯碼處理)對其預測殘差進行量化和(熵)譯碼。在一些實施例中,替代殘差譯碼處理是從常規轉換係數譯碼處理中修改的。具體地,以大小為4x4的非重疊子區塊為單位對TU的殘差進行譯碼,應用前向掃描順序以掃描轉換區塊內的子區塊以及子區塊內的位置;不傳訊最後(x,y)位置( last (x, y) position);當所有前面的標誌都等於0時,除最後一個子區塊外,每個子區塊都譯碼coded_sub_block_flag;sig_coeff_flag上下文建模使用簡化的模板,而sig_coeff_flag的上下文模型取決於頂部和左側的相鄰值;abs_level_gt1標誌的上下文模型還取決於左側和頂部sig_coeff_flag值; par_level_flag僅使用一種上下文模型;傳訊另外的大於3、5、7、9的標誌以指示係數位準,每個標誌一個上下文;使用修正的參數推導對余數值(remainder value)進行二值化;以及根據左側和上方的相鄰值確定正負號標誌的上下文模型,並在sig_coeff_flag之後解析符號標誌,以將所有上下文譯碼的位元子保持在一起。
在一些實施例中,視訊譯碼器可傳訊SPS語法元素sps_transform_skip_enabled_flag和PPS語法元素pps_bdpcm_enabled_flag和pps_alternative_residual_coding_flag以用於傳訊是否啟用TSM、BDPCM和替代性殘差譯碼工具。下面提供了SPS、PPS、轉換單元的相關語法表:
seq_parameter_set_rbsp( ) { | 描述符 |
sps_decoding_parameter_set_id | u(4) |
sps_video_parameter_set_id | u(4) |
sps_max_sub_layers_minus1 | u(3) |
sps_reserved_zero_5bits | u(5) |
profile_tier_level( sps_max_sub_layers_minus1 ) | |
gra_enabled_flag | u(1) |
sps_transform_skip_enabled_flag | u(1) |
sps_seq_parameter_set_id | ue(v) |
… | |
sps_extension_flag | u(1) |
if( sps_extension_flag ) | |
while( more_rbsp_data( ) ) | |
sps_extension_data_flag | u(1) |
rbsp_trailing_bits( ) | |
} |
pic_parameter_set_rbsp( ) { | 描述符 |
pps_pic_parameter_set_id | ue(v) |
pps_seq_parameter_set_id | ue(v) |
output_flag_present_flag | u(1) |
… | |
if (sps_transform_skip_enabled_flag ) { | |
transform_skip_enabled_flag | u(1) |
if( transform_skip_enabled_flag ) { | |
pps_bdpcm_enabled_flag | u(1) |
pps_alternative_residual_coding_flag | u(1) |
} | |
} | |
if(transform_skip_enabled_flag ) | |
log2_transform_skip_max_size_minus2 | ue(v) |
… | |
pps_extension_flag | u(1) |
if( pps_extension_flag ) | |
while( more_rbsp_data( ) ) | |
pps_extension_data_flag | u(1) |
rbsp_trailing_bits( ) | |
} |
transform_unit( x0, y0, tbWidth, tbHeight, treeType, subTuIndex ) { | 描述符 |
if( ( treeType = = SINGLE_TREE | | treeType = = DUAL_TREE_CHROMA ) && ChromaArrayType != 0 ) { | |
if( ( IntraSubPartitionsSplitType = = ISP_NO_SPLIT && !( cu_sbt_flag && ( ( subTuIndex = = 0 && cu_sbt_pos_flag ) | | ( subTuIndex = = 1 && !cu_sbt_pos_flag ) ) ) ) | | ( IntraSubPartitionsSplitType != ISP_NO_SPLIT && ( subTuIndex = = NumIntraSubPartitions − 1 ) ) ) { | |
tu_cbf_cb[ x0 ][ y0 ] | ae(v) |
tu_cbf_cr[ x0 ][ y0 ] | ae(v) |
} | |
} | |
… | |
if( tu_cbf_luma[ x0 ][ y0 ] ) { | |
if( !transform_skip_flag[ x0 ][ y0 ]) | |
residual_coding( x0, y0, Log2( tbWidth ), Log2( tbHeight ), 0 ) | |
else if ( pps_alternative_residual_coding_flag ) | |
residual_ts_coding( x0, y0, Log2( tbWidth ), Log2( tbHeight ), 0 ) | |
else | |
residual_coding( x0, y0, Log2( tbWidth ), Log2( tbHeight ), 0 ) | |
} | |
if( tu_cbf_cb[ x0 ][ y0 ] ) | |
residual_coding( xC, yC, Log2( wC ), Log2( hC ), 1 ) | |
if( tu_cbf_cr[ x0 ][ y0 ] ) { | |
if( tu_cbf_cb[ x0 ][ y0 ] ) | |
tu_joint_cbcr_residual[ x0 ][ y0 ] | ae(v) |
if( !tu_joint_cbcr_residual[ x0 ][ y0 ] ) | |
residual_coding( xC, yC, Log2( wC ), Log2( hC ), 2 ) | |
} | |
} |
在一些實施例中,視訊譯碼器可傳訊SPS語法元素sps_transform_skip_enabled_flag、sps_bdpcm_enabled_flag和sps_alternative_residual_coding_flag以用於傳訊是否啟用TSM、BDPCM和替代殘差譯碼工具。 SPS、PPS和轉換單元的相關語法表如下:
seq_parameter_set_rbsp( ) { | 描述符 |
sps_decoding_parameter_set_id | u(4) |
sps_video_parameter_set_id | u(4) |
sps_max_sub_layers_minus1 | u(3) |
sps_reserved_zero_5bits | u(5) |
profile_tier_level( sps_max_sub_layers_minus1 ) | |
gra_enabled_flag | u(1) |
sps_transform_skip_enabled_flag | u(1) |
if( sps_transform_skip_enabled_flag ) { | |
sps_bdpcm_enabled_flag | u(1) |
sps_alternative_residual_coding_flag | u(1) |
} | |
sps_seq_parameter_set_id | ue(v) |
… | |
sps_extension_flag | u(1) |
if( sps_extension_flag ) | |
while( more_rbsp_data( ) ) | |
sps_extension_data_flag | u(1) |
rbsp_trailing_bits( ) | |
} | |
pic_parameter_set_rbsp( ) { | 描述符 |
pps_pic_parameter_set_id | ue(v) |
pps_seq_parameter_set_id | ue(v) |
output_flag_present_flag | u(1) |
… | |
if(sps_transform_skip_enabled_flag ) | |
log2_transform_skip_max_size_minus2 | ue(v) |
… | |
pps_extension_flag | u(1) |
if( pps_extension_flag ) | |
while( more_rbsp_data( ) ) | |
pps_extension_data_flag | u(1) |
rbsp_trailing_bits( ) | |
} | |
transform_unit( x0, y0, tbWidth, tbHeight, treeType, subTuIndex ) { | 描述符 |
if( ( treeType = = SINGLE_TREE | | treeType = = DUAL_TREE_CHROMA ) && ChromaArrayType != 0 ) { | |
if( ( IntraSubPartitionsSplitType = = ISP_NO_SPLIT && !( cu_sbt_flag && ( ( subTuIndex = = 0 && cu_sbt_pos_flag ) | | ( subTuIndex = = 1 && !cu_sbt_pos_flag ) ) ) ) | | ( IntraSubPartitionsSplitType != ISP_NO_SPLIT && ( subTuIndex = = NumIntraSubPartitions − 1 ) ) ) { | |
tu_cbf_cb[ x0 ][ y0 ] | ae(v) |
tu_cbf_cr[ x0 ][ y0 ] | ae(v) |
} | |
} | |
… | |
if( tu_cbf_luma[ x0 ][ y0 ] && treeType != DUAL_TREE_CHROMA && ( tbWidth <= 32 ) && ( tbHeight <= 32 ) && ( IntraSubPartitionsSplit[ x0 ][ y0 ] = = ISP_NO_SPLIT ) && ( !cu_sbt_flag ) ) { | |
if( sps_transform_skip_enabled_flag && tbWidth <= MaxTsSize && tbHeight <= MaxTsSize ) | |
transform_skip_flag[ x0 ][ y0 ] | ae(v) |
if( (( CuPredMode[ x0 ][ y0 ] != MODE_INTRA && sps_explicit_mts_inter_enabled_flag ) | | ( CuPredMode[ x0 ][ y0 ] = = MODE_INTRA && sps_explicit_mts_intra_enabled_flag )) && ( !transform_skip_flag[ x0 ][ y0 ] ) ) | |
tu_mts_idx[ x0 ][ y0 ] | ae(v) |
} | |
if( tu_cbf_luma[ x0 ][ y0 ] ) { | |
if( !transform_skip_flag[ x0 ][ y0 ]) | |
residual_coding( x0, y0, Log2( tbWidth ), Log2( tbHeight ), 0 ) | |
else if( sps_alternative_residual_coding_flag ) | |
residual_ts_coding( x0, y0, Log2( tbWidth ), Log2( tbHeight ), 0 ) | |
else | |
residual_coding( x0, y0, Log2( tbWidth ), Log2( tbHeight ), 0 ) | |
} | |
if( tu_cbf_cb[ x0 ][ y0 ] ) | |
residual_coding( xC, yC, Log2( wC ), Log2( hC ), 1 ) | |
if( tu_cbf_cr[ x0 ][ y0 ] ) { | |
if( tu_cbf_cb[ x0 ][ y0 ] ) | |
tu_joint_cbcr_residual[ x0 ][ y0 ] | ae(v) |
if( !tu_joint_cbcr_residual[ x0 ][ y0 ] ) | |
residual_coding( xC, yC, Log2( wC ), Log2( hC ), 2 ) | |
} | |
} |
第1圖在概念上示出了在諸如SPS的高階語法集中的TSM相關信號的傳訊。該圖示出了三個SPS 110、120和130。SPS 110適用於視訊圖像序列115。SPS 120適用於視訊圖像序列125。SPS 130適用於視訊圖像序列135。
SPS 110包括被設置為“假(false)”的TSM啟用語法元素。因此,視訊序列115不允許TSM,並且序列115中的所有區塊在沒有TSM的情況下被譯碼。在一些實施例中,這意味著通過將空間域信號(例如,預測殘差)轉換成轉換域信號(例如,轉換係數)來對視訊序列125的每個區塊進行譯碼,然後對它們進行量化和熵譯碼。此外,由於SPS中的TSM啟用語法元素被設置為假,因此沒有其他與TSM相關的語法元素,例如BDPCM或其他殘差譯碼。
SPS 120包括被設置為真的TSM啟用語法元素。因此,對於視訊序列125允許TSM,並且通過使用TSM對序列125中的一些圖像中的一些區塊進行譯碼。對於TSM譯碼的區塊,空間域殘差信號直接進行量化和熵譯碼,而無需進行轉換。由於TSM使能語法元素被設置為真(true),因此SPS可以包括其他與TSM相關的語法元素,諸如BDPCM使能語法元素。在這種情況下,將BDPCM使能語法元素設置為假,並且不使用BDPCMD對序列125中的任何區塊進行譯碼。儘管未示出,但是可能存在語法元素(例如,alternate_residual_coding_flag),其為序列125中的某些區塊啟用或禁用替代殘差譯碼。
SPS 130包括被設置為真的TSM使能語法元素和被設置為真的BDPCM使能標誌。因此,通過使用TSM和BDPCM對序列135中的一些區塊進行譯碼。對於那些區塊,時域殘差信號在被量化之前通過使用BDPCM被譯碼,並且被熵譯碼而不被轉換。儘管未示出,但是可能存在語法元素(例如,alternate_residual_coding_flag),其為序列135中的一些區塊啟用或禁用替代殘差譯碼。
可以在編碼器和/或解碼器中實現任何前述提出的方法。例如,可以在編碼器的熵譯碼模組和/或解碼器的熵譯碼模組中實現任何所提出的方法。可替代地,任何提出的方法可以被實現為集成到編碼器的熵譯碼模組和/或解碼器的熵譯碼模組的電路。
III. 視訊譯碼器示例
第2圖說明能夠實施轉換省略模式的實例視訊編碼器200。如圖所示,視訊編碼器200從視訊源205接收輸入視訊信號,並將該信號編碼為位元流295。視訊編碼器200具有若干組件或模組,用於對來自視訊源205的信號進行編碼,至少包括選自以下的一些組件:轉換模組210、量化模組211、逆量化模組214、逆轉換模組215、畫面內估計模組220、幀內預測模組225、運動補償模組230、運動估計模組235、環路濾波器245、重建圖像緩衝器250、MV緩衝器265和MV預測模組275,以及熵編碼器290。運動補償模組230和運動估計模組235是幀間預測模組240的一部分。
在一些實施例中,模組210-290是由計算設備或電子裝置的一個或多個處理單元(例如,處理器)執行的軟體指令的模組。在一些實施例中,模組210-290是由電子裝置的一個或多個積體電路(IC)實現的硬體電路的模組。儘管將模組210 – 290圖示為單獨的模組,但是某些模組可以組合為單個模組。
視訊源205提供原始視訊信號,該原始視訊信號無需壓縮即可呈現每個視訊幀的像素資料。減法器208計算視訊源205的原始視訊像素資料與來自運動補償模組230或幀內預測模組225的預測像素資料213之間的差。轉換模組210將該差(或殘差像素資料或殘差信號209)轉換成轉換係數216(例如,通過執行離散餘弦轉換或DCT)。量化模組211將轉換係數216量化為量化資料(或量化係數)212,其由熵編碼器290編碼成位元流295。
逆量化模組214對量化資料(或量化係數)212進行去量化以獲得轉換係數,並且逆轉換模組215對轉換係數執行逆轉換以產生重建殘差219。將重建殘差219添加預測像素資料213與預測像素資料213一起產生重建像素資料217。在一些實施例中,重建像素資料217被臨時存儲在行緩衝器(line buffer)(未示出)中,以用於畫面內預測和空間MV預測。重建像素由環路濾波器245濾波並存儲在重建圖像緩衝器250中。在一些實施例中,重建圖像緩衝器250是視訊編碼器200外部的記憶體。在一些實施例中,重建圖像緩衝器250是視訊編碼器200內部的記憶體。
畫面內估計模組220基於重建的像素資料217執行幀內預測以產生幀內預測資料。幀內預測資料被提供給熵編碼器290以被編碼為位元流295。幀內預測資料還被幀內預測模組225使用以產生預測像素資料213。
運動估計模組235通過產生MV來執行幀間預測,以參考存儲在重建圖像緩衝器250中的先前解碼幀的參考像素資料。這些MV被提供給運動補償模組230以產生預測像素資料。
代替對位元流中的完整的實際MV進行編碼,視訊編碼器200使用MV預測來生成預測的MV,並且將用於運動補償的MV與預測的MV之間的差編碼為殘差運動資料並存儲在位元流295中。
MV預測模組275基於為了對先前的視訊幀進行編碼而生成的參考MV,即,用於執行運動補償的運動補償MV,來生成預測的MV。 MV預測模組275從MV緩衝器265中的先前視訊幀中檢索參考MV。視訊編碼器200將針對當前視訊幀生成的MV存儲在MV緩衝器265中,作為用於生成預測MV的參考MV。
MV預測模組275使用參考MV來創建預測的MV。可以通過空間MV預測或時間MV預測來計算預測的MV。熵編碼器290將當前幀的預測MV和運動補償MV(MC MV)之間的差(殘差運動資料)編碼到位元流295中。
熵編碼器290通過使用諸如上下文自適應二進位算術譯碼(CABAC)或霍夫曼編碼的熵譯碼技術將各種參數和資料編碼到位元流295中。熵編碼器290將各種報頭元素、標誌以及量化的轉換係數212和殘差運動資料作為語法元素編碼到位元流295中。位元流295又被存儲在存儲設備中或通過例如網路的通信介質被發送到解碼器。
環路濾波器245對重建的像素資料217執行濾波或平滑操作以減少譯碼的偽像,特別是在像素區塊的邊界處。在一些實施例中,執行的濾波操作包括採樣自適應偏移(SAO)。在一些實施例中,濾波操作包括自適應環路濾波(adaptive loop filter,簡寫為ALF)。
第3圖說明視訊編碼器200的實施轉換省略模式的部分。具體地,編碼器200基於是否為當前圖像或包括當前圖像的當前序列啟用了那些工具來確定對每個像素區塊是否使用跳過轉換操作以及是否使用諸如BDPCM和/或替代殘差譯碼之類的與轉換省略相關的操作。
如所說明,轉換模組210對殘差信號209執行轉換操作,且逆轉換模組215執行對應的逆轉換操作。如果針對正在譯碼的當前區塊激活了TSM,則編碼器200可以跳過轉換和逆轉換操作。當使用轉換省略模式時,殘差信號209不由轉換模組210處理,而是由量化模組211直接量化。而且,當使用TSM時,逆量化模組214的輸出被直接用作重建殘差,而非由逆轉換模組215處理。
當針對當前區塊啟用BDPCM時,BDPCM模組311在熵編碼之前對量化模組211的輸出執行BDPCM處理,並且逆BDPCM模組314在逆量化模組214的輸入處執行相應的BDPCM處理。熵編碼器290從譯碼控制模組300接收語法元素390,並且其可以基於是否使用替代殘差譯碼來執行常規殘差譯碼(regular residual coding,簡寫為RRC)處理313或轉換省略殘差譯碼(TSRC)處理312。
譯碼控制模組300可以控制在轉換模組210和逆轉換模組215處的轉換和逆轉換操作的跳過。譯碼控制模組300還可以在BDPCM模組311和逆BDPCM模組314處啟用或禁用相應地BDPCM操作。譯碼控制模組還可通過在熵編碼器290中選擇TSRC或RRC之一來啟用或禁用替代殘差譯碼。
取決於是否將TSM、BDPCM和/或替代殘差譯碼用於視訊圖像的當前序列、當前圖像或當前區塊,譯碼控制模組300可以將相應的語法元素,例如sps_transform_skip_enable_flag、sps_bdpcm_enable_flag和/或alternative_residual_coding_flag(用於PPS或SPS或切片標頭)編碼到位元流295中。
第4圖概念性地示出了用於在視訊編碼期間使用轉換省略模式的過程400。在一些實施例中,實現編碼器200的計算設備的一個或多個處理單元(例如,處理器)通過執行存儲在計算機可讀介質中的指令來執行過程400。在一些實施例中,實現編碼器200的電子裝置執行過程400。
編碼器接收(在框410處)要在位元流中編碼為一個或多個視訊圖像的資料。編碼器在位元流中傳訊(在框420處)當前視訊圖像序列的SPS中的TSM語法元素(例如,sps_transform_skip_enable_flag)。編碼器確定(在框425處)當前視訊圖像序列是否允許TSM。如果當前序列允許TSM,則過程進行到440。如果當前序列不允許TSM,則過程進行到430。
在框430處,編碼器在不使用TSM的情況下對當前序列的圖像進行編碼。在一些實施例中,當TSM語法元素指示針對視訊圖像的當前序列未啟用轉換省略模式時,通過使用量化的轉換係數來對視訊圖像的當前序列中的所有區塊進行編碼。
在框440處,編碼器在位元流中傳訊SPS中的BDPCM語法元素(例如,sps_bdpcm_enable_flag),以指示當前序列中的圖像是否允許使用BDPCM。編碼器還在位元流中傳訊(在框450處)替代的殘差譯碼語法元素(例如,用於PPS或SPS的替代_residual_coding_flag或切片報頭)。然後,過程進行到框460。
如果視訊圖片序列允許使用TSM,並且如果當前區塊啟用了TSM,則編碼器通過使用TSM編碼(在框460)視訊圖像的當前序列中的當前區塊。例如,如果位元流中的標誌指示TSM對於當前區塊是活動的,則編碼器通過使用未轉換並保留在空間域中的量化殘差信號對當前區塊進行編碼 。
當通過使用TSM對當前區塊進行譯碼時,如果當前區塊啟用了BDPCM和/或替代殘差譯碼,則當前區塊的編碼還可以使用BDPCM和/或替代殘差譯碼模式。具體地,當視訊圖像的當前序列允許BDPCM且當前區塊使能BDPCM時(例如,位元流中指示BDPCM對於當前區塊有效的標誌),則BDPCM用於對當前區塊進行編碼(通過使用殘差信號與相鄰位置的先前譯碼殘差信號之間的差來譯碼當前區塊中某個位置的殘差信號)。當為當前區塊啟用替代殘差譯碼時(例如,位元流中沒有禁用當前切片的替代殘差譯碼的標誌),使用替代殘差譯碼(例如TSRC)對當前區塊的殘差信號進行熵編碼,否則使用常規殘差譯碼(RRC)。
IV. 視訊解碼器示例
第5圖說明能夠實施轉換省略模式的示例視訊解碼器500。如圖所示,視訊解碼器500是圖像解碼或視訊解碼電路,其接收位元流595並將位元流的內容解碼為視訊幀的像素資料以供顯示。視訊解碼器500具有用於解碼位元流595的若干組件或模組,包括選自逆量化模組505、逆轉換模組510、幀內預測模組525、運動補償模組530、環路濾波器545、解碼圖像緩衝器550、MV緩衝器565、MV預測模組575和解析器590中的一些組件。運動補償模組530是幀間預測模組540的一部分。
在一些實施例中,模組510-590是由計算設備的一個或多個處理單元(例如,處理器)執行的軟體指令的模組。在一些實施例中,模組510-590是由電子裝置的一個或多個IC實現的硬體電路的模組。儘管模組510-590被示為單獨的模組,但是一些模組可以組合成單個模組。
解析器590(或熵解碼器)接收位元流595,並根據由視訊譯碼或圖像譯碼標准定義的語法執行初始解析。解析的語法元素包括各種報頭元素、標誌以及量化的資料(或量化的係數)512。解析器590通過使用諸如上下文自適應二進位算術譯碼(CABAC)或霍夫曼編碼的熵譯碼技術解析各種語法元素。
逆量化模組505對量化資料(或量化係數)512進行去量化以獲得轉換係數,並且逆轉換模組510對轉換係數516執行逆轉換以產生重建殘差信號519。重建殘差信號519與來自幀內預測模組525或運動補償模組530的預測像素資料513相加,以產生解碼像素資料517。解碼像素資料由環路濾波器545濾波並存儲在解碼圖像緩衝器550中。在一些實施例中,解碼圖像緩衝器550是視訊解碼器500外部的記憶體。在一些實施例中,解碼圖像緩衝器550是視訊解碼器500內部的記憶體。
幀內預測模組525從位元流595接收幀內預測資料,並據此從存儲在解碼圖像緩衝器550中的解碼像素資料517中生成預測像素資料513。在一些實施例中,解碼像素資料517也被存儲在用於圖像內預測和空間MV預測的行緩衝器(未示出)中。
在一些實施例中,解碼圖像緩衝器550的內容用於顯示。顯示設備555或者檢索解碼圖像緩衝器550的內容以直接顯示,或者將解碼圖像緩衝器的內容檢索到顯示緩衝器。在一些實施例中,顯示設備通過像素傳輸從解碼圖像緩衝器550接收像素值。
運動補償模組530根據運動補償MV(MC MV)從存儲在解碼圖像緩衝器550中的解碼像素資料517中生成預測像素資料513。通過將從位元流595接收到的殘差運動資料與從MV預測模組575接收到的預測MV相加來對這些運動補償MV進行解碼。
MV預測模組575基於為解碼先前的視訊幀而生成的參考MV(例如,用於執行運動補償的運動補償MV)來生成預測的MV。 MV預測模組575從MV緩衝器565中檢索先前視訊幀的參考MV。視訊解碼器500將為解碼當前視訊幀而生成的運動補償MV存儲在MV緩衝器565中,作為用於產生預測MV的參考MV。
環路濾波器545對解碼的像素資料517執行濾波或平滑操作,以減少譯碼的偽像,特別是在像素區塊的邊界處。在一些實施例中,執行的濾波操作包括採樣自適應偏移(SAO)。在一些實施例中,濾波操作包括自適應環路濾波(ALF)。
第6圖說明視訊解碼器500的實施轉換省略模式的部分。具體地,解碼器500基於是否為當前圖像或包含當前圖像的當前序列啟用了那些工具來確定是否跳過(逆)轉換操作,以及是否對每個像素區塊使用諸如BDPCM和/或替代殘差譯碼之類的與轉換省略相關的操作。
如圖所示,逆量化器514對由熵解碼器590解析的量化係數512執行逆量化操作。逆量化器514的輸出被提供給逆轉換模組516以被逆轉換為殘差信號。當使用TSM時,逆量化模組514的輸出直接用作重建殘差,而非由逆轉換模組515處理。
當針對當前區塊啟用BDPCM時,逆BDPCM模組614在逆量化模組514的輸入處執行BDPCM處理。熵解碼器590可以基於是否使用替代殘差譯碼執行常規殘差譯碼(RRC)處理611或轉換省略殘差譯碼(TSRC)處理612。
譯碼控制模組600可以控制逆轉換模組515處的逆轉換操作的跳過。譯碼控制模組600還可以在逆BDPCM模組614處啟用或禁用BDPCM操作。譯碼控制模組也可以通過在熵解碼器590中選擇TSRC或RRC之一來啟用或禁用替代殘差譯碼。譯碼控制模組600可以基於語法元素690生成對應這些TSM相關操作的控制,語法元素諸如由熵解碼器590字位元流595解析的sps_transform_skip_enable_flag、sps_bdpcm_enable_flag和/或alternate_residual_coding_flag(用於PPS或SPS或切片報頭)。
第7圖概念性地示出了用於在視訊編碼期間使用轉換省略模式的過程700。在一些實施例中,實現解碼器500的計算設備的一個或多個處理單元(例如,處理器)通過執行存儲在計算機可讀介質中的指令來執行過程700。在一些實施例中,實現解碼器500的電子裝置執行過程700。
解碼器從位元流接收(在框710處)要解碼為一個或多個視訊圖像的資料。解碼器解析(在框720處)位元流,得到當前視訊圖像序列的SPS中的TSM語法元素(例如,sps_transform_skip_enable_flag)。解碼器確定(在框725)當前視訊圖像序列是否允許TSM。如果當前序列允許TSM,則過程進行到740。如果當前序列不允許TSM,則過程進行到730。
在框730,解碼器在不使用TSM的情況下重建當前序列的圖像。在一些實施例中,當TSM語法元素指示對於視訊圖像的當前序列不允許轉換省略模式時,通過使用量化的轉換係數來對視訊圖像的當前序列中的所有區塊進行譯碼。
在框740,解碼器解析位元流,獲取SPS中的BDPCM語法元素(例如,sps_bdpcm_enable_flag),以指示當前序列中的圖像是否允許使用BDPCM。解碼器還解析(在框750處)位元流,得到替代殘差譯碼語法元素(例如,用於PPS或SPS或切片報頭的alternate_residual_coding_flag)。然後該過程進行到框760。
如果對於視訊圖像序列允許TSM,並且如果對於當前區塊使能TSM,則解碼器通過使用TSM重建(在塊760)視訊圖像的當前序列的當前圖像中的當前區塊。例如,如果位元流中的標誌指示TSM對於當前區塊是有效的(active),則解碼器將通過使用未轉換並保留在空間域中的量化殘差信號來重建當前區塊。
當通過使用TSM對當前區塊進行譯碼時,如果對當前區塊啟用了BDPCM和/或替代殘差譯碼,則當前區塊的解碼還可以使用BDPCM和/或替代殘差譯碼。具體而言,當視訊圖像的當前序列允許BDPCM且當前區塊啟用BDPCM時(例如,位元流中指示BDPCM對於當前區塊有效的標誌),則BDPCM用於解碼當前區塊(通過使用殘差信號與相鄰位置的先前譯碼殘差信號之間的差來譯碼當前區塊中某個位置的殘差信號。)當為當前區塊啟用替代殘差譯碼時(例如,位元流中沒有標誌禁用當前切片的替代殘差譯碼),使用替代殘差譯碼(例如TSRC)對當前區塊的殘差信號進行熵解碼,否則使用常規殘差譯碼(RRC)。
V. 示例的 電子系統
許多上述特徵和應用被實現為被指定為記錄在計算機可讀存儲介質(也稱為計算機可讀介質)上的一組指令的軟體過程。當這些指令由一個或多個計算或處理單元(例如,一個或多個處理器、處理器的核心或其他處理單元)執行時,它們使處理單元執行指令中指示的動作。計算機可讀介質的示例包括但不限於CD-ROM、閃存驅動器、隨機存取記憶體(RAM)晶片、硬碟驅動器、可擦可編程只讀記憶體(EPROM)、電可擦可編程只讀記憶體(EEPROM) )等。計算機可讀介質不包括無線或通過有線連接傳遞的載波和電子信號。
在本說明書中,術語“軟體”旨在包括駐留在只讀記憶體中的韌體或存儲在磁性記憶體中的應用,其可以被讀取到記憶體中以由處理器進行處理。同樣,在一些實施例中,可以將多個軟體發明實現為較大程式的子部分,同時保留不同的軟體發明。在一些實施例中,多種軟體發明也可以被實現為單獨的程式。最後,一起實現這裡描述的軟體發明的單獨程式的任何組合都在本公開的範圍內。在一些實施例中,軟體程式在安裝以在一個或多個電子系統上運行時,定義了一種或多種實現和執行軟體程式的操作的特定機器實現。
第8圖概念性地示出了實現本公開的一些實施例的電子系統800。電子系統800可以是計算機(例如,台式計算機、個人計算機、平板計算機等)、電話、PDA或任何其他種類的電子設備。這樣的電子系統包括各種類型的計算機可讀介質以及用於各種其他類型的計算機可讀介質的介面。電子系統800包括匯流排805、(一個或多個)處理單元810、圖形處理單元(GPU)815、系統記憶體820、網路825、只讀記憶體830、永久存儲設備835、輸入設備840以及輸出設備845。
匯流排805共同代表通信地連接電子系統800的眾多內部設備的所有系統匯流排、外圍設備匯流排和晶片組匯流排。例如,匯流排805將(一個或多個)處理單元810、只讀記憶體830、系統記憶體820和永久存儲設備835與GPU 815通信地連接。
處理單元810從這些各種存儲單元中檢索要執行的指令和要處理的資料,以便執行本公開的處理。在不同的實施例中,處理單元可以是單個處理器或多核處理器。一些指令被傳遞到GPU 815並由其執行。GPU 815可以卸載各種計算或補充由處理單元810提供的圖像處理。
只讀記憶體(ROM)830存儲由處理單元810和電子系統的其他模組使用的靜態資料和指令。另一方面,永久存儲設備835是讀寫存儲設備。該設備是即使在電子系統800關閉時也存儲指令和資料的非易失性存儲單元。本公開的一些實施例使用大容量存儲設備(諸如磁碟或光碟及其對應的磁碟驅動器)作為永久存儲設備835。
其他實施例使用可移動存儲設備(例如軟碟、閃存設備等,及其對應的磁碟驅動器)作為永久存儲設備。像永久存儲設備835一樣,系統記憶體820是讀寫存儲設備。然而,與存儲設備835不同,系統記憶體820是易失性讀寫記憶體,例如隨機存取記憶體。系統記憶體820存儲處理器在運行時使用的一些指令和資料。在一些實施例中,根據本公開的處理被存儲在系統記憶體820、永久存儲設備835和/或只讀記憶體830中。例如,各種存儲單元包括用於根據一些實施例處理多媒體剪輯的指令。處理單元810從這些各種存儲單元中檢索要執行的指令和要處理的資料,以便執行一些實施例的處理。
匯流排805還連接到輸入和輸出設備840和845。輸入設備840使用戶能夠向電子系統傳達資訊並選擇命令。輸入設備840包括字母數位鍵盤和指示設備(也稱為“滑鼠控制設備”)、照相機(例如,網路攝像頭)、麥克風或用於接收語音命令的類似設備等。輸出設備845顯示由電子系統生成的圖像或其他輸出資料。輸出設備845包括打印機和顯示設備,例如陰極射線管(CRT)或液晶顯示器(LCD),以及揚聲器或類似的音頻輸出設備。一些實施例包括既充當輸入設備又充當輸出設備的設備,例如觸摸屏。
最後,如第8圖所示,匯流排805還通過網路適配器(未示出)將電子系統800耦合到網路825。以這種方式,計算機可以是計算機網路的一部分(例如局域網(“ LAN”)、廣域網(“ WAN”)或內聯網,或網路網(例如因特網)。電子系統800的任何或所有組件可以與本公開結合使用。
一些實施例包括電子組件,例如微處理器,將計算機程式指令存儲在機器可讀或計算機可讀介質(或者稱為計算機可讀存儲介質,機器可讀介質或機器可讀存儲介質)中的存儲和記憶體。這種計算機可讀介質的一些示例包括RAM、ROM、只讀光碟(CD-ROM)、可記錄光碟(CD-R)、可重寫光碟(CD-RW)、只讀數位多功能光碟(例如, ,DVD-ROM、雙層DVD-ROM)、各種可記錄/可重寫DVD(例如DVD-RAM、DVD-RW、DVD + RW等)、閃存(例如SD卡、mini-SD卡、micro-SD卡等)、磁性和/或固態硬碟驅動器、只讀和可記錄的Blu-Ray®光碟、超密度光碟、任何其他光學或磁性介質以及軟碟。該計算機可讀介質可以存儲可由至少一個處理單元執行的計算機程式,並且該計算機程式包括用於執行各種操作的指令集。計算機程式或計算機代碼的示例包括諸如由編譯器產生的機器代碼,以及包括由計算機、電子部件或使用解釋器(interpreter)的微處理器執行的高級代碼的文檔。
儘管以上討論主要是指執行軟體的微處理器或多核處理器,但是許多上述特徵和應用是由一個或多個積體電路執行的,例如專用積體電路(ASIC)或現場可編程控制器門陣列(FPGA)。在一些實施例中,這樣的積體電路執行存儲在電路本身上的指令。另外,一些實施例執行存儲在可編程邏輯設備(PLD)、ROM或RAM設備中的軟體。
如在本說明書和本申請的任何申請專利範圍中所使用的,術語“計算機”、“服務器”、“處理器”和“記憶體”均指電子或其他技術設備。這些術語不包括一個人或一群人。為了說明的目的,術語“顯示”或“正在顯示”表示在電子裝置上顯示。如本說明書和本申請的任何申請專利範圍中所使用的,術語“計算機可讀介質”,“計算機可讀媒體”和“機器可讀介質”完全限於有形的物理對象,該有形的物理對像以可被計算機讀取的形式存儲資訊。這些術語不包括任何無線信號、有線下載信號和任何其他臨時信號。
儘管已經參考許多具體細節描述了本公開,但是所屬領域具有通常知識者將認識到,在不脫離本公開的精神的情況下,本公開可以以其他特定形式來體現。此外,許多附圖(包括第4圖和第7圖)在概念上說明了過程。這些過程的特定操作可能無法按照所示和所述的確切順序執行。可以不在一個連續的一系列操作中執行特定操作,並且可以在不同的實施例中執行不同的特定操作。此外,該過程可以使用幾個子過程來實現,或者作為更大的宏過程的一部分來實現。因此,所屬領域具有通常知識者將理解,本公開內容不受前述說明性細節的限制,而是由所附申請專利範圍限定。
附加 聲明
文中描述的主題有時示出了包含在其它不同部件內的或與其它不同部件連接的不同部件。應當理解:這樣描繪的架構僅僅是示例性的,並且,實際上可以實施實現相同功能的許多其它架構。在概念意義上,實現相同功能的部件的任何布置是有效地“相關聯的”,以使得實現期望的功能。因此,文中被組合以獲得特定功能的任意兩個部件可以被視爲彼此“相關聯的”,以實現期望的功能,而不管架構或中間部件如何。類似地,這樣相關聯的任意兩個部件還可以被視爲彼此“可操作地連接的”或“可操作地耦接的”,以實現期望的功能,並且,能夠這樣相關聯的任意兩個部件還可以被視爲彼此“操作上可耦接的”,以實現期望的功能。“操作上可耦接的”的具體示例包含但不限於:實體地可聯結和/或實體地相互、作用的部件、和/或無線地可相互作用和/或無線地相互作用的部件、和/或邏輯地相互作用的和/或邏輯地可相互作用的部件。
此外,關於文中基本上任何複數和/或單數術語的使用,只要對於上下文和/或應用是合適的,所屬技術領域具有通常知識者可以將複數轉換成單數,和/或將單數轉換成複數。為清楚起見,這裡可以明確地闡述各種單數/複數排列。
所屬技術領域具有通常知識者將會理解,通常,文中所使用的術語,特別是在所附申請專利範圍(例如,所附申請專利範圍中的主體)中所使用的術語通常意在作爲“開放性”術語(例如,術語“包含”應當被解釋爲“包含但不限幹”,術語“具有”應當被解釋爲“至少具有”,術語“包含”應當被解釋爲“包含但不限幹”等)。所屬技術領域具有通常知識者還將理解,如果意在所介紹的申請專利範圍陳述對象的具體數目,則這樣的意圖將會明確地陳述在申請專利範圍中,在缺乏這樣的陳述的情況下,不存在這樣的意圖。例如,爲了幫助理解,所附申請專利範圍可以包含使用介紹性短語“至少一個”和“一個或更多個”來介紹申請專利範圍陳述對象。然而,這樣的短語的使用不應當被解釋爲:用不定冠詞“一個(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”的可能性。
從前述內容可以理解,本文已經出於說明的目的描述了本公開的各種實施方式,並且在不脫離本公開的範圍和精神的情況下可以進行各種修改。因此,本文公開的各種實施方式不旨在是限制性的,真正的範圍和精神由所附申請專利範圍指示。
110、120、130:SPS
115、125、135:視訊序列
200:視訊編碼器
205:視訊源
208:減法器
209:殘差信號
210:轉換模組
211:量化模組
212、512:量化係數
213、513:預測像素資料
214、505:逆量化模組
215、510:逆轉換模組
216、516:轉換係數
217:重建的像素資料
220:畫面內估計模組
225、525:幀內預測模組
230、530:運動補償模組
235:運動估計模組
240:幀間預測模組
245、545:環路濾波器
250、550:重建圖像緩衝器
265、565:MV緩衝器
275、575:MV預測模組
290:熵編碼器
295、595:位元流
300、600:譯碼控制模組
311、614:BDPCM模組
312、612:TSRC
313、611:RRC
314:逆BDPCM模組
390、690:語法元素
400、700:過程
410~460、710~760:框
500:視訊解碼器
517:解碼像素資料
519:重建殘差信號
555:顯示設備
590:解析器
800:電子系統
805:匯流排
810:處理單元
815:圖形處理單元
820:系統記憶體
825:網路
830:只讀記憶體
835:永久存儲設備
840:輸入設備
845:輸出設備
包括附圖以提供對本公開的進一步理解,並且附圖被併入本公開並構成本公開的一部分。附圖示出了本公開的實施方式,並且與描述一起用於解釋本公開的原理。可以理解的是,附圖不一定按比例繪製,因為為了清楚地示出本公開的概念,某些組件可能被顯示為與實際實現中的尺寸不成比例。
第1圖概念性地示出了高階語法集中與TSM相關的信號的傳訊。
第2圖說明能夠實施轉換省略模式的實例視訊編碼器。
第3圖說明視訊編碼器的實施轉換省略模式的部分。
第4圖概念性地示出了在視訊編碼期間使用轉換省略模式的過程。
第5圖說明能夠實施轉換省略模式的實例視訊解碼器。
第6圖說明視訊解碼器的實施轉換省略模式的部分。
第7圖概念性地示出了在視訊解碼期間使用轉換省略模式的過程。
第8圖概念性地示出了用於實現本公開的一些實施例的電子系統。
700:過程
710~760:框
Claims (2)
- 一種視訊編解碼方法,包括: 接收待編碼或解碼為多個視頻圖像的資料; 傳訊或解析視頻圖像的當前序列的序列參數集(SPS)中的第一語法元素,該第一語法元素指示對於當前塊所屬的視頻圖像的該當前序列是否允許轉換省略模式; 響應於該第一語法元素指示視頻圖像的該當前序列允許該轉換省略模式,在該當前序列內的當前切片的切片頭部中傳訊或解析第二語法元素,該第二語法元素指示是否對該當前塊所屬的該當前切片啟用替代殘差譯碼處理; 當該第一語法元素指示視頻圖像的該當前序列允許該轉換省略模式,並且當該轉換省略模式用於該當前序列的當前圖像中的該當前塊時,當該第二語法元素指示對該當前切片啟用該替代殘差譯碼處理時,通過使用未根據該替代殘差譯碼處理變換的量化的殘餘信號對該當前塊進行編碼或解碼。
- 一種電子裝置,包括: 視訊解碼器電路,配置為執行以下操作,包括: 接收待解碼為多個視頻圖像的資料; 解析視頻圖像的當前序列的序列參數集(SPS)中的第一語法元素,該第一語法元素指示對於當前塊所屬的視頻圖像的該當前序列是否允許轉換省略模式; 響應於該第一語法元素指示視頻圖像的該當前序列允許該轉換省略模式,在該當前序列內的當前切片的切片頭部中解析第二語法元素,該第二語法元素指示是否對該當前塊所屬的該當前切片啟用替代殘差譯碼處理; 當該第一語法元素指示視頻圖像的該當前序列允許該轉換省略模式,並且當該轉換省略模式用於該當前序列的當前圖像中的該當前塊時,當該第二語法元素指示對該當前切片啟用該替代殘差譯碼處理時,通過使用未根據該替代殘差譯碼處理變換的量化的殘餘信號對該當前塊進行解碼。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962868830P | 2019-06-28 | 2019-06-28 | |
US62/868,830 | 2019-06-28 | ||
US16/908,436 | 2020-06-22 | ||
US16/908,436 US11350131B2 (en) | 2019-06-28 | 2020-06-22 | Signaling coding of transform-skipped blocks |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202329690A true TW202329690A (zh) | 2023-07-16 |
TWI830629B TWI830629B (zh) | 2024-01-21 |
Family
ID=74044883
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109121316A TWI799719B (zh) | 2019-06-28 | 2020-06-23 | 轉換省略區塊之傳訊編碼技術 |
TW112110480A TWI830629B (zh) | 2019-06-28 | 2020-06-23 | 轉換省略區塊之傳訊編碼技術 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109121316A TWI799719B (zh) | 2019-06-28 | 2020-06-23 | 轉換省略區塊之傳訊編碼技術 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11350131B2 (zh) |
KR (1) | KR20220024966A (zh) |
CN (1) | CN114009015A (zh) |
MX (1) | MX2021016150A (zh) |
TW (2) | TWI799719B (zh) |
WO (1) | WO2020259631A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7148739B2 (ja) * | 2019-03-04 | 2022-10-05 | エルジー エレクトロニクス インコーポレイティド | 映像コーディングシステムにおいて文脈コーディングされたサインフラグを使用する映像デコーディング方法及びその装置 |
WO2020256391A1 (ko) * | 2019-06-18 | 2020-12-24 | 엘지전자 주식회사 | 영상 디코딩 방법 및 그 장치 |
CN114375578A (zh) * | 2019-07-10 | 2022-04-19 | Lg电子株式会社 | 用于残差编码的图像解码方法及其设备 |
KR20220019258A (ko) | 2019-07-10 | 2022-02-16 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 코딩 방법 및 장치 |
US11375196B2 (en) * | 2019-09-19 | 2022-06-28 | Tencent America LLC | Method of context modeling for entropy coding of transform coefficient flags with transform skip, and coding method with the same |
WO2021060940A1 (ko) * | 2019-09-25 | 2021-04-01 | 엘지전자 주식회사 | Bdpcm이 적용되는 부호화 블록에 이용되는 레지듀얼 코딩 방법을 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6137922A (en) | 1994-03-02 | 2000-10-24 | Raytheon Company | Method and apparatus for compressing and expanding digital data |
WO2007139266A1 (en) * | 2006-06-01 | 2007-12-06 | Electronics And Telecommunications Research Institute | Method and apparatus for video coding on pixel-wise prediction |
CN104380734B (zh) | 2012-06-07 | 2017-09-15 | 寰发股份有限公司 | 编码以及解码视频数据的方法和装置 |
US9426466B2 (en) | 2012-06-22 | 2016-08-23 | Qualcomm Incorporated | Transform skip mode |
CN104380740A (zh) | 2012-06-29 | 2015-02-25 | 索尼公司 | 编码装置、编码方法、解码装置和解码方法 |
US20140146894A1 (en) | 2012-11-28 | 2014-05-29 | General Instrument Corporation | Devices and methods for modifications of syntax related to transform skip for high efficiency video coding (hevc) |
ES2810253T3 (es) | 2013-04-23 | 2021-03-08 | Qualcomm Inc | Reposicionamiento de bloques residuales de predicción en codificación de vídeo |
US10511859B2 (en) | 2016-02-04 | 2019-12-17 | Mediatek Inc. | Method and apparatus for image compression without residue signaling |
US10779007B2 (en) * | 2017-03-23 | 2020-09-15 | Mediatek Inc. | Transform coding of video data |
WO2020018502A1 (en) * | 2018-07-16 | 2020-01-23 | Envision Solutions LLC | Virtual forced fixation |
US11206417B2 (en) * | 2019-05-30 | 2021-12-21 | Tencent America LLC | Method and apparatus for video coding |
-
2020
- 2020-06-22 US US16/908,436 patent/US11350131B2/en active Active
- 2020-06-23 TW TW109121316A patent/TWI799719B/zh active
- 2020-06-23 TW TW112110480A patent/TWI830629B/zh active
- 2020-06-24 WO PCT/CN2020/098271 patent/WO2020259631A1/en active Application Filing
- 2020-06-24 KR KR1020227002595A patent/KR20220024966A/ko not_active Application Discontinuation
- 2020-06-24 CN CN202080045630.4A patent/CN114009015A/zh active Pending
- 2020-06-24 MX MX2021016150A patent/MX2021016150A/es unknown
-
2022
- 2022-04-11 US US17/717,966 patent/US11778235B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220239951A1 (en) | 2022-07-28 |
WO2020259631A1 (en) | 2020-12-30 |
TW202110186A (zh) | 2021-03-01 |
TWI830629B (zh) | 2024-01-21 |
TWI799719B (zh) | 2023-04-21 |
CN114009015A (zh) | 2022-02-01 |
US20200413100A1 (en) | 2020-12-31 |
US11350131B2 (en) | 2022-05-31 |
KR20220024966A (ko) | 2022-03-03 |
MX2021016150A (es) | 2022-05-24 |
US11778235B2 (en) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112640448B (zh) | 编码转换系数的熵编解码方法与装置 | |
TWI739386B (zh) | 具有適應性參數集之適應性迴路濾波器 | |
TWI753356B (zh) | 用於編碼或解碼轉換塊的方法與裝置 | |
TWI830629B (zh) | 轉換省略區塊之傳訊編碼技術 | |
TWI750624B (zh) | 編解碼變換係數的方法及裝置 | |
TWI723448B (zh) | 圖像以及視訊資料中編碼單元的熵編解碼 | |
TWI792149B (zh) | 量化相關參數之傳訊技術 | |
US11284077B2 (en) | Signaling of subpicture structures | |
TWI785502B (zh) | 在分塊中指明切片之切片組塊的視訊編解碼方法及電子裝置 | |
TWI751811B (zh) | 多重轉換選擇的發信 | |
TWI784348B (zh) | 視訊圖片資訊之指定技術 | |
TWI832602B (zh) | 轉換係數符號的熵編碼 | |
TWI734178B (zh) | 具有產出限制的編碼轉換係數 | |
TWI750802B (zh) | 視訊編解碼方法及裝置 | |
TWI848477B (zh) | 多模型跨分量線性模型預測 | |
WO2024222411A1 (en) | Entropy coding transform blocks | |
TW202349954A (zh) | 自適應編解碼的圖像以及視訊資料 | |
TW202349957A (zh) | 基於模板的幀內模式推導和預測 | |
TW202325025A (zh) | 具有編碼參數的局部照明補償 |