TW202131689A - 經過約束逐層視訊編解碼之方法和裝置 - Google Patents

經過約束逐層視訊編解碼之方法和裝置 Download PDF

Info

Publication number
TW202131689A
TW202131689A TW109144680A TW109144680A TW202131689A TW 202131689 A TW202131689 A TW 202131689A TW 109144680 A TW109144680 A TW 109144680A TW 109144680 A TW109144680 A TW 109144680A TW 202131689 A TW202131689 A TW 202131689A
Authority
TW
Taiwan
Prior art keywords
layer
current
current layer
chroma
bit
Prior art date
Application number
TW109144680A
Other languages
English (en)
Other versions
TWI776319B (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 TW202131689A publication Critical patent/TW202131689A/zh
Application granted granted Critical
Publication of TWI776319B publication Critical patent/TWI776319B/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/186Methods 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 colour or a chrominance component
    • 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/187Methods 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 scalable video layer
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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)
  • Radio Relay Systems (AREA)
  • Color Television Systems (AREA)

Abstract

揭示一種使用一多層預測模式的視訊編解碼的方法與裝置。依據一方法,一位元流在一編碼器側被產生或是在一解碼器側被接收,其中該位元流相對應於一當前層中當前視訊資料的編解碼資料。該位元流符合一位元流規約規定,相對應於用於該當前層以及參考層的位元深度數值二者為相同;以及用於該當前層以及該參考層的色度格式索引數值為相同。然後在該當前層中的該視訊資料是藉由使用在該參考層的參考視訊資料來加以編碼或是解碼。

Description

限制式逐層視訊編碼之方法和裝置
本發明關於分層的(Layer-Wise)視訊編解碼。尤其,本發明關於用於分層視訊編解碼的約束參數,以確保用於彩色視訊的適當運動補償程序。
在VVC 草稿7(由B. Bross等人所提的“Versatile Video Coding (Draft 7)”,於國際電信通訊聯盟 -電信標準化部門,研究小組16,工作集會3 (ITU-T SG16 WP3) 以及國際標準化組織/國際電工協會之第一技術委員會第29子委員會第11號工作群組(ISO/IEC JTC1/SC29/WG11) 下轄的聯合視訊專家組(JVET)中,第16次會議:在瑞士的日內瓦 (Geneva, CH),2019年10月1–11日,文件JVET-P2001),分層編解碼被支援。層結構如表格1所示被定義於視訊參數組(video parameter set,VPS)中。
vps_max_layers_minus1指明在此VPS結構中視訊層的數目。語法元素 vps_all_independent_layers_flag、vps_independent_layer_flag[i]、與vps_direct_ref_layer_flag[ i ][ j ]指明層間資料參考依存度(inter-layer data reference dependency)。表格 1. VVC 中支援層結構的視訊參數組( VPS
video_parameter_set_rbsp( ) { 描述符(Descriptor)
vps_video_parameter_set_id u(4)
    vps_max_layers_minus1 u(6)
vps_max_sublayers_minus1 u(3)
     if( vps_max_layers_minus1 > 0  &&  vps_max_sublayers_minus1 > 0 )  
vps_all_layers_same_num_sublayers_flag u(1)
     if( vps_max_layers_minus1 > 0 )  
vps_all_independent_layers_flag u(1)
     for( i = 0; i  <=  vps_max_layers_minus1; i++ ) {  
        vps_layer_id [ i ] u(6)
         if( i > 0  &&  !vps_all_independent_layers_flag ) {  
             vps_independent_layer_flag [ i ] u(1)
              if( !vps_independent_layer_flag[ i ] )  
                  for( j = 0; j < i; j++ )  
vps_direct_ref_layer_flag [ i ][ j ] u(1)
         }  
     }  
     if( vps_max_layers_minus1 > 0 ) {  
         if( vps_all_independent_layers_flag )  
             each_layer_is_an_ols_flag u(1)
         if( !each_layer_is_an_ols_flag ) {  
              if( !vps_all_independent_layers_flag )  
                 ols_mode_idc u(2)
              if( ols_mode_idc  = =  2 ) {  
                 num_output_layer_sets_minus1 u(8)
                  for( i = 1; i  <=  num_output_layer_sets_minus1; i ++)  
                       for( j = 0; j  <=  vps_max_layers_minus1; j++ )  
                          ols_output_layer_flag [ i ][ j ] u(1)
              }  
         }  
     }  
vps_num_ptls u(8)  
     for( i = 0; i < vps_num_ptls; i++ ) {  
         if( i > 0 )  
             pt_present_flag [ i ] u(1)
         if( vps_max_sublayers_minus1 > 0  &&  !vps_all_layers_same_num_sublayers_flag )  
             ptl_max_temporal_id [ i ] u(3)
     }  
     while( !byte_aligned( ) )  
        vps_ptl_byte_alignment_zero_bit   /* equal to 0 */ u(1)
     for( i = 0; i < vps_num_ptls; i++ )  
         profile_tier_level( pt_present_flag[ i ], ptl_max_temporal_id[ i ] )    
     for( i = 0; i < TotalNumOlss; i++ )  
         if( NumLayersInOls[ i ] > 1  &&  vps_num_ptls > 1 )  
             ols_ptl_idx [ i ] u(8)
     if( !vps_all_independent_layers_flag )  
vps_num_dpb_params ue(v)  
     if( vps_num_dpb_params > 0 ) {  
same_dpb_size_output_or_nonoutput_flag u(1)
          if( vps_max_sublayers_minus1 > 0 )  
vps_sublayer_dpb_params_present_flag u(1)
     }  
     for( i = 0; i < vps_num_dpb_params; i++ ) {  
        dpb_size_only_flag [ i ] u(1)
         if( vps_max_sublayers_minus1 > 0  &&  !vps_all_layers_same_num_sublayers_flag )  
             dpb_max_temporal_id [ i ] u(3)
         dpb_parameters( dpb_size_only_flag[ i ], dpb_max_temporal_id[ i ],                            vps_sublayer_dpb_params_present_flag )    
     }    
     for( i = 0; i < vps_max_layers_minus1  &&  vps_num_dpb_params > 1; i++ ) {  
         if( !vps_independent_layer_flag[ i ] )  
             layer_output_dpb_params_idx [ i ] ue(v)
         if( LayerUsedAsRefLayerFlag[ i ]  &&  !same_dpb_size_output_or_nonoutput_flag )  
             layer_nonoutput_dpb_params_idx [ i ] ue(v)
     }    
vps_general_hrd_params_present_flag u(1)
     if( vps_general_hrd_params_present_flag ) {  
         general_hrd_parameters( )  
         if( vps_max_sublayers_minus1 > 0 )  
             vps_sublayer_cpb_params_present_flag u(1)
         if( TotalNumOlss > 1 )  
          num_ols_hrd_params_minus1 ue(v)
       for( i = 0; i  <=  num_ols_hrd_params_minus1; i++ ) {  
              if( vps_max_sublayers_minus1 > 0  &&  !vps_all_layers_same_num_sublayers_flag )  
hrd_max_tid [ i ] u(3)
              firstSubLayer = vps_sublayer_cpb_params_present_flag ? 0 : hrd_max_tid[ i ]  
              ols_hrd_parameters( firstSubLayer, hrd_max_temporal_id[ i ] )  
         }  
         if( num_ols_hrd_params_minus1 > 0 )  
              for( i = 1; i < TotalNumOlss; i++ )  
ols_hrd_idx [ i ] ue(v)
     }  
    vps_extension_flag u(1)
     if( vps_extension_flag )  
         while( more_rbsp_data( ) )  
             vps_extension_data_flag u(1)
     rbsp_trailing_bits( )  
}  
在每一層中,一或多個序列參數集(sequence parameter sets,SPS)被發信。SPS包含大量視訊信息,例如最大畫面寬度/高度、色度格式、CTU尺寸大小等。層間(inter-layer)預測可以於VVC中被支援。在兩個不同的層之間,較低層的重構後畫面可以被用作較高層的參考畫面。如果畫面尺寸大小不同,參考畫面再取樣被用於產生預測塊。因此,具有不同畫面尺寸大小的兩層對在VVC中的分層參考不是問題。然而,如果兩層的色度格式不同,對層間預測可能會有問題。例如,如果較低層是單色度編解碼層,而較高層是420色度格式,色度分量預測子不能藉由使用層間預測來加以產生。
揭示一種使用一多層預測模式的視訊編解碼的方法與裝置。依據一方法,一位元流在一編碼器側被產生或是在一解碼器側被接收,其中該位元流相對應於一當前層中當前視訊資料的編解碼資料。該位元流符合一位元流規約規定,相對應於用於該當前層以及參考層的位元深度數值二者為相同;以及用於該當前層以及該參考層的色度格式索引數值為相同。然後在該當前層中的該視訊資料是藉由使用在該參考層的參考視訊資料來加以編碼或是解碼。
在一實施例中,用於該當前層以及該參考層的該些位元深度數值是推導自該位元流中的語法元素bit_depth_minus8,而且其中該些語法元素bit_depth_minus8分別相對應用於該當前層以及該參考層的該些位元深度數值減去8。
在一實施例中,用於該當前層以及該參考層的色度格式索引數值是依據在該位元流中的語法元素chroma_format_idc加以決定,而且其中該些語法元素chroma_format_idc分別指明用於該當前層以及該參考層相對於亮度取樣的色度取樣。
依據另一方法,一位元流在一編碼器側被產生或是在一解碼器側被接收,其中位元流相對應於一當前層中當前視訊資料的編解碼資料。該位元流符合一位元流規約規定,包括一第一條件、一第二條件、或該第一條件與該第二條件二者。該第一條件相對應用於該當前層的第一位元深度大於或等於用於一參考層的第二位元深度。該第二條件相對應用於該當前層的第一色度格式索引大於或等於用於該參考層的第二色度格式索引,而且該第一色度格式索引與該第二色度格式索引分別指明用於該當前層以及該參考層相對於亮度取樣的色度取樣。一較大的色度格式索引數值指示出一較高的次取樣密度。然後藉由使用在該參考層的參考視訊資料,一併和該第一位元深度與該第二位元深度、該第一色度格式索引與該第二色度格式索引、或該第一位元深度與該第二位元深度以及該第一色度格式索引與該第二色度格式索引二者,來對在該當前層中的該當前視訊資料加以編碼或是解碼。
依據又另一方法,輸入資料被接收,其中該輸入資料相對應於在一視訊編碼器側的一當前層中的視訊資料,或是該輸入資料相對應於在一視訊解碼器側的該當前層中的編解碼視訊資料。藉由利用在一參考層中的參考視訊資料,運動補償被應用在該編碼器側的該當前層中的視訊資料或是在該視訊解碼器側的該當前層的該編解碼視訊資料。該運動補償使用的信息包括:用於該當前層以及該參考層二者的色度格式或關於色度格式的一或多個變數、用於該當前層以及該參考層二者的位元深度數值、或是用於該當前層以及該參考層二者的色度格式或關於色度格式的所述一或多個變數以及用於該當前層以及該參考層二者的位元深度數值二者。
在一實施例中,該些色度格式或所述一或多個變數包括相對應於水平色度次取樣因子的一第一變數,相對應於垂直色度次取樣因子的一第二變數,或是該第一變數與該第二變數二者。
在另一實施例中,該些位元深度數值是推導自在一位元流中所發信或從該位元流中所剖析的語法元素,而且其中該些語法元素分別相對應用於該當前層以及該參考層的該些位元深度數值減去8。
在另一實施例中,該參考層的一參考樣本位置是藉由使用該水平色度次取樣因子、該垂直色度次取樣因子、或二者,於一運動補償程序中來加以計算。
在另一實施例中,該參考層的參考樣本位置是藉由使用該當前層的水平色度次取樣因子與該參考層的水平色度次取樣因子的比例、該當前層的垂直色度次取樣因子與該參考層的垂直色度次取樣因子的比例、或二者,而於運動補償程序中來加以計算。
在接下來的說明是實施本發明所最佳能思及的方式,在此說明的目的是為了闡釋本發明的一般性原則,不應從限制性的角度視之。本發明的範圍最佳方式是由參照所附的申請專利範圍來決定。
將容易理解的是,本發明的組件,如本文圖中一般描述和示出的,可以以各種各樣的不同配置進行配置和設計。因此,如附圖所示的本發明的系統和方法的實施例的以下更詳細的描述並不旨在限制如所要求保護的本發明的範圍,而是僅代表本發明的選定實施例。
本說明書中對“實施例”,“一些實施例”或類似語言的引用意味著結合實施例描述的具體特徵、結構或特性可以包括在本發明的至少一實施例中。因此,貫穿本說明書在各個地方出現的短語“在實施例中”或“在一些實施例中”不一定都指代相同的實施例,這些實施例可單獨地實現或者與一個或多個其他實施例結合實現。
此外,所描述的特徵,結構或特性可在一個或多個實施例中以任何合適的方式組合。然而,相關領域的習知技藝者將認識到,可在沒有一個或多個具體細節的情況下或者利用其他方法,組件等來實踐本發明。在其他情況下,未示出或詳細描述公知的結構或操作,以避免模糊本發明的各方面。
本發明所示的實施例藉由參考附圖將最好地被理解,其中相同的部分通篇用相同的數字表示。以下描述僅旨在作為例子,並且簡單地示出了與在此所要求保護的本發明相一致的裝置和方法的某些選擇的實施例。
在此描述中,出現在圖示與描述中的相似符號說明指定相對應或在不同視角之間的相似元素。
方法 -1: 色度格式的約束
在本發明中,不同層的色度格式應該加以約束。在一實施例中,具有相依性(dependency)的兩或更多層的色度格式(例如,一層被另一層加以參考)應該是相同的。較高層的色度格式應該與較低參考層的色度格式相同。例如,位元流規約(bitstream conformance)要求當前層的chroma_format_idc的數值應該與參考層的chroma_format_idc的數值相同。如VVC草案標準中所知的,色度格式索引指明相對於亮度取樣的色度取樣。具有數值為0、1、2與3的chroma_format_idc分別相對應於單色度4:2:0、4:2:2與4:4:4的色度格式。4:2:0(也稱為420)格式相對應於水平與垂直2:1次取樣。 4:2:2(也稱為422)格式相對應於水平2:1次取樣。4:4:4(也稱為444)格式相對應於在水平或垂直方向上沒有次取樣。因此,一較大的色度格式索引數值指示出一較高的次取樣密度。在另一實施例中,位元流規約要求當前畫面的chroma_format_idc的數值應該與參考畫面的chroma_format_idc的數值相同。在另一實施例中,當前層的關於位元深度的語法元素(例如,bit_depth_minus8、bit_depth_luma_minus8、與/或 bit_depth_chroma_minus8)的數值也被加以約束。例如,位元流規約要求當前層的關於位元深度的語法元素(例如,bit_depth_minus8、bit_depth_luma_minus8、與/或 bit_depth_chroma_minus8)的數值應該與參考層的數值相同。
在另一實施例中,當前層的單獨的(separate)色彩平面旗標(例如separate_color_plane_flag)的數值也被加以約束。例如,位元流規約要求當前層的單獨的色彩平面旗標(例如,separate_color_plane_flag)的數值應該與參考層的數值相同。在另一實施例中,當前層的色度相位旗標(例如,sps_chroma_horizontal_collocated_flag 與 sps_chroma_vertical_collocated_flag)的數值也被加以約束。例如,位元流規約要求當前層的色度相位旗標(例如,sps_chroma_horizontal_collocated_flag 與 sps_chroma_vertical_collocated_flag)的數值應該與參考層的數值相同。
在另一實施例中,較高層的色度格式索引(例如,chroma_format_idc)的值數應該大於或等於較低層(例如參考層)。例如,位元流規約要求當前層的chroma_format_idc的數值應該大於或等於參考層的chroma_format_idc的數值。在另一例子中,位元流規約要求當前畫面的chroma_format_idc的數值應該大於或等於參考畫面的chroma_format_idc的數值。由於當前層/畫面的chroma_format_idc數值大於參考層/畫面的chroma_format_idc數值,參考層/畫面的色度樣本數目少於當前層/畫面的色度樣本數目,色度運動補償將需要在次取樣的域(subsamlped domain)中進行內插。例如,如果當前層/畫面的色度格式為4:4:4而且參考層/畫面的色度格式為4:2:0,參考層/畫面的色度畫面尺寸大小被視為當前畫面的寬度與高度的一半尺寸大小。
在一實施例中,亮度樣本和色度樣本的縮放比例是分別被推導出的。亮度樣本和色度樣本的縮放窗口偏移量(例如,scaling_win_left_offset與scaling_win_top_offset)也是分別被推導出的。如果參考層具有較少的顏色分量(例如,單色度),一預先定義的、所推導出的、或所發信的數值被指定給缺少顏色分量的預測子。例如,(1 <<(bit_depth – 1))的數值可以被用作缺少顏色分量的預測子。
在另一實施例中,較高層的色度格式索引(例如,chroma_format_idc)的數值應該小於或等於較低層(例如參考層)。例如,位元流規約要求當前層的chroma_format_idc的數值應該小於或等於參考層的chroma_format_idc的數值。在另一例子中,位元流規約要求當前畫面的chroma_format_idc的數值應該小於或等於參考畫面的chroma_format_idc的數值。由於當前層/畫面的chroma_format_idc數值小於參考層/畫面的chroma_format_idc數值,參考層/畫面的色度樣本數目少於當前層/畫面的色度樣本數目。因此,色度運動補償將需要在未取樣的域(upsamlped domain)中進行內插。例如,如果當前層/畫面的色度格式為4:2:0而且參考層/畫面的色度格式為4:4:4,參考層/畫面的色度畫面尺寸大小被視為當前畫面的寬度與高度的二倍尺寸大小。
在一實施例中,亮度樣本和色度樣本的比例縮放比例是分別被推導出的。亮度樣本和色度樣本的縮放窗口偏移量(例如,scaling_win_left_offset與scaling_win_top_offset)也是分別被推導出的。在另一實施例中,當參考層/畫面具有比當前層/畫面更大的chroma_format_idc的數值時,一色度樣本次取樣程序被預先或即時地(on-the-fly)應用於參考層/畫面以與當前層/畫面的色度格式相匹配。
方法 -2: 用於較高層的 chroma_format_idc 推論值
在本發明中,一或多個層間(inter-layer)參考/預測語法元素於SPS或PPS中被發信,例如inter_layer_ref_pics_present_flag。如果語法元素指示出層間參考/預測被使用,一或多個語法元素會被跳過而且語法元素的數值被加以推論。例如,chroma_format_idc的數值被推論為與參考層的chroma_format_idc的數值相同。在另一例子中,如果層間參考/預測被使用,當前層的關於位元深度的語法元素(例如,bit_depth_minus8、bit_depth_luma_minus8、與/或bit_depth_chroma_minus8)的數值也被推論為與參考層那些語法元素的數值相同。在另一例子中,如果層間參考/預測被使用,當前層的單獨的色彩平面旗標(例如,separate_color_plane_flag)的數值也被推論為與參考層的數值相同。在另一例子中,如果層間參考/預測被使用,當前層的色度相位旗標(例如,sps_chroma_horizontal_collocated_flag 與 sps_chroma_vertical_collocated_flag)的數值也被推斷為與參考層的數值相同。
語法元素chroma_format_idc、bit_depth_minus8、bit_depth_luma_minus8、bit_depth_chroma_minus8、separate_colour_plane_flag、sps_chroma_horizontal_collocated_flag、與sps_chroma_vertical_collocated_flag會相應地移動到SPS或PPS(看哪裡是相關)中的層間參考/預測語法元素之後的位置。
方法 -3: 在運動補償中考慮色度格式
在本發明中,當前層/畫面與參考層/畫面的色度格式在運動補償程序中被納入考慮。在進行運動補償時,考慮當前層與參考層的色度格式或與色度格式相關的變數(例如SubWidthC與RefSubWidthC)。從chroma_format_idc與sepeparate_colour_plane_flag所推導出的SubWidthC與SubHeightC數值如表格2所示。例如,當進行運動補償時,藉由利用SubWidthC、SubHeightC、或兩者,於運動補償程序中計算參考層的一參考樣本位置。在另一例子中,當進行運動補償時,藉由利用當前層的SubWidthC與參考層的SubWidthC的比例、當前層的SubHeightC與參考層的SubHeightC的比例、或兩者,於運動補償程序中計算參考層的一參考樣本位置。表格 2 chroma_format_idc separate_colour_plane_flag 所推導的 SubWidthC SubHeightC 數值
chroma_format_idc separate_colour_plane_flag 色度格式 SubWidthC SubHeightC
0 0 單色度(Monochrome) 1 1
1 0 4:2:0 2 2
2 0 4:2:2 2 1
3 0 4:4:4 1 1
3 1 4:4:4 1 1
以下,我們說明在VVC中色度運動補償的解碼過程的一部分。 scalingRatio [0] 與 scalingRatio[1]是從亮度縮放窗口所推導出的水平與垂直縮放比例。 SubWidthC與SubHeightC是如表格2所示在水平和垂直方向的色度次取樣率(與亮度樣本有關)。refMvCLX是色度MV。 addX = sps_chroma_horizontal_collocated_flag ? 0 : 8 * ( scalingRatio[ 0 ] − ( 1  <<  14 ) ) addY = sps_chroma_vertical_collocated_flag ? 0 : 8 * ( scalingRatio[ 1 ] − ( 1  <<  14 ) ) refxSbC = ( ( ( xSb − scaling_win_left_offset ) / SubWidthC  <<  5 ) + refMvCLX[ 0 ] ) * scalingRatio[ 0 ] + addX refxC = ( ( Sign( refxSbC ) * ( ( Abs( refxSbC ) + 256 )  >>  9 ) + xC * ( ( scalingRatio[ 0 ] + 8 )  >>  4 ) )   + fRefLeftOffset / SubWidthC + 16 )  >>  5 refySbC =  ( ( ( ySb − scaling_win_top_offset ) / SubHeightC  <<  5 ) + refMvCLX[ 1 ] ) *scalingRatio[ 1 ] + addY refyC = ( ( Sign( refySbC ) * ( ( Abs( refySbC ) + 256 )  >>  9 )   + yC* ( ( scalingRatio[ 1 ] + 8 ) >>  4 ) ) + fRefTopOffset / SubHeightC + 16 )  >>  5
在以上等式中,(refxSbC, refySbC)與 ( refxC, refyC )是藉由以1/32個樣本為單位所給出的一運動向量(refMvLX[ 0 ], refMvLX[ 1 ])所指向的色度位置。為了支援具有不同色度格式的運動補償,RefSubWidthC與RefSubHeightC分別被推導等於參考層/畫面的SubWidthC和SubHeightC。運動補償過序作如下修改: addX = sps_chroma_horizontal_collocated_flag ? 0 : 8 * ( scalingRatio[ 0 ] − ( 1  <<  14 ) ) addY = sps_chroma_vertical_collocated_flag ? 0 : 8 * ( scalingRatio[ 1 ] − ( 1  <<  14 ) ) refxSbC = ( ( ( xSb − scaling_win_left_offset ) / SubWidthC  <<  5 ) + refMvCLX[ 0 ] ) * scalingRatio[ 0 ] + addX    (947) refxC = ( ( Sign( refxSbC ) * ( ( Abs( refxSbC ) + 256 )  >>  9 )+ xC * ( ( scalingRatio[ 0 ] + 8 ) >>  4 ) ) *  (SubWidthC/RefSubWidthC)  + fRefLeftOffset / RefSubWidthC + 16 )  >>  5 refySbC =  ( ( ( ySb − scaling_win_top_offset ) / SubHeightC  <<  5 ) + refMvCLX[ 1 ] ) * scalingRatio[ 1 ] + addY refyC = ( ( Sign( refySbC ) * ( ( Abs( refySbC ) + 256 )  >>  9 )+ yC* ( ( scalingRatio[ 1 ] + 8 ) >>  4 ) ) *  (SubHeightC/RefSubHeightC)   + fRefTopOffset / RefSubHeightC + 16 )  >>  5
在另一實施例中,參考層/畫面的色度相位也被考慮。令RefChromaHorCollocatedFlag與 RefChromaVerCollocatedFlag 為參考層/畫面的 sps_chroma_horizontal_collocated_flag 與 sps_chroma_vertical_collocated_flag。 addXcur = (sps_chroma_horizontal_collocated_flag ? 0 : 16) * scalingRatio[ 0 ] / SubWidthC addXref = (RefChromaHorCollocatedFlag ? 0 : 16) * ( 1  <<  14 ) / RefSubWidthC addX = addXcur – addXref addYcur = (sps_chroma_vertical_collocated_flag ? 0 : 16) * scalingRatio[ 1 ] / SubHeightC addYref = (RefChromaVerCollocatedFlag ? 0 : 16) * ( 1  <<  14 ) / RefSubHeightC addY = addYcur – addYref refxSbC = ( ( ( xSb − scaling_win_left_offset ) / SubWidthC  <<  5 ) + refMvCLX[ 0 ] ) * scalingRatio[ 0 ] + addX refxC = ( ( Sign( refxSbC ) * ( ( Abs( refxSbC ) + 256 )  >>  9 )+ xC * ( ( scalingRatio[ 0 ] + 8 ) >>  4 ) ) *  (SubWidthC/RefSubWidthC)  + fRefLeftOffset / RefSubWidthC + 16 )  >>  5 refySbC =  ( ( ( ySb − scaling_win_top_offset ) / SubHeightC  <<  5 ) + refMvCLX[ 1 ] ) * scalingRatio[ 1 ] + addY refyC = ( ( Sign( refySbC ) * ( ( Abs( refySbC ) + 256 )  >>  9 )+ yC* ( ( scalingRatio[ 1 ] + 8 ) >>  4 ) ) *  (SubHeightC/RefSubHeightC)   + fRefTopOffset / RefSubHeightC + 16 )  >>  5
在另一實施例中,亮度MV,refMvLX []被使用。(refxSbC , refySbC )和(refxC ,refyC )是藉由使用相對應的亮度樣本位置然後將其轉換為參考層/畫面中的色度樣本位置來加以推導出。
在此發明中,如果參考層具有較少的顏色分量(例如,單色度),一預先定義的、所推導出的、或所發信的數值被指定給缺少顏色分量的預測子。例如,(1<< (bit_depth – 1))的數值可以被用作缺少顏色分量的預測子。
在另一實施例中,如果兩層的位元深度不同,位元深度截斷(truncation)或位元深度擴展(extension)程序被應用。如果較低層有較低的位元深度,位元深度擴展被應用。將零位元插入在LSB之後,直到兩層的位元深度相同為止。如果較低層具有較高的位元深度,位元深度截斷被應用。LSB被刪除,直到兩層的位元深度相同為止。
方法 -4: 用於多層結構的位元深度約束
在此方法中,為了支援用於多層結構的位元深度可縮放性(scalability),建議增加一個位元流約束:較高層的位元深度應該大於或等於較低層的位元深度。例如,此為位元流規約要求:當前層的bit_depth_minus8的數值應該大於或等於當前層的參考層的bit_depth_minus8的數值。
在此方法中,提出了當進行運動補償時要考慮當前層的位元深度以及參考層的位元深度。
由於參考畫面可以具有比當前畫面小的位元深度,幀間預測的解碼程序需要被修改。在一實施例中,內插濾波程序中的左偏移(shift)和右偏移參數需要考慮參考畫面與當前畫面的位元深度。例如,當在不進行內插下直接提取(fetch)整數像素時,左偏移(shift3)需要考慮當前畫面與參考畫面之間的位元深度差值。shift3可以從Max(2, 14 − BitDepth)被修改為 Max( 2 + BitDepth – RefBitDepth, 14 − RefBitDepth)。同樣,對於使用光流(optical flow,PROF)進行預測優化的梯度計算,參考樣本可以直接被使用。如果當前畫面與參考畫面的位元深度不相同時,偏移數值應加以修改。例如,可以將其從Max(2, 14 − BitDepth) 修改為Max(2 + BitDepth – RefBitDepth, 14 − RefBitDepth)。當進行內插時,輸入參考樣本可以左偏移一個量,例如shift4。shift4可以是當前畫面與參考畫面之間的位元深度差值。縮放窗口尺寸大小被提議如下,並以斜體強調。在以下,章節號碼(例如8.5.6.3.2)是VVC草稿7中的章節號碼。
8.5.6.3.2 亮度樣本內插濾波程序 … 此程序的輸出是一預測後的亮度樣本數值predSampleLXL 。變數shift1、shift2、與 shift3以如下加以推導: – RefBitDepth 為參考畫面的 BitDepth 。將變數shift1 設定等於 Min( 4, BitDepth  − 8 )、將變數shift2 設定等於 6、將變數shift3 設定等於 Max( 2+ BitDepth – RefBitDepth, 14 − RefBitDepth )、以及將變數 shift4 設定等於 (BitDepth – RefBitDepth) 。 –       將變數picW設定等於pic_width_in_luma_samples,而且將變數picH設定等於pic_height_in_luma_samples。 …
預測後的亮度樣本數值predSampleLXL 以如下加以推導: –      如果xFracL 與yFracL 兩者都等於0,而且scalingRatio[ 0 ] 與 scalingRatio[ 1 ] 兩者都小於20481,predSampleLXL 的數值以如下加以推導: predSampleLXL = refPicLXL [ xInt3 ][ yInt3 ] << shift3 –      否則,如果yFracL 等於0而且scalingRatio[ 1 ] 小於20481, predSampleLXL 的數值以如下加以推導: predSampleLXL =
Figure 02_image001
>> shift1 –      否則,如果xFracL 等於0而且scalingRatio[ 0 ] 小於20481, predSampleLXL 的數值以如下加以推導: predSampleLXL =
Figure 02_image003
>>  shift1 –      否則,predSampleLXL 的數值以如下加以推導: –      樣本陣列 temp[ n ] 其中n = 0..7以如下加以推導: temp[ n ] =
Figure 02_image005
>>  shift1 –      預測後的亮度樣本數值predSampleLXL 以如下加以推導: predSampleLXL =
Figure 02_image007
>>  shift2
8.5.6.3.3 亮度樣本內插濾波程序
此程序的輸入是: –      以全樣本為單位的一亮度位置(xIntL , yIntL ), –      亮度參考樣本陣列refPicLXL
此程序的輸出是一預測後的亮度樣本數值predSampleLXL 。 – RefBitDepth 為參考畫面的 BitDepth 。將變數shift設定等於Max( 2+ BitDepth – RefBitDepth, 14 − RefBitDepth ) –      將變數picW設定等於pic_width_in_luma_samples,而且將變數picH設定等於pic_height_in_luma_samples。
8.5.6.3.4 色度樣本內插程序
此程序的輸出是一預測後的亮度樣本數值predSampleLXC 。變數shift1、shift2、與 shift3以如下加以推導: – RefBitDepth 為參考畫面的 BitDepth 。將變數shift1設定等於 Min( 4, BitDepth  − 8 )、將變數shift2設定等於 6、將變數 shift3設定等於 Max( 2+ BitDepth – RefBitDepth, 14 − RefBitDepth )、以及將變數 shift4 設定等於 (BitDepth – RefBitDepth) 。 –      將變數picWC 設定等於pic_width_in_luma_samples / SubWidthC,而且將變數picHC 設定等於pic_height_in_luma_samples / SubHeightC。 …
預測後的色度樣本數值predSampleLXC 以如下加以推導: –  如果 xFracC 與yFracC 兩者都等於0,而且scalingRatio[ 0 ]與scalingRatio[ 1 ] 兩者都小於20481,predSampleLXC 的數值以如下加以推導: predSampleLXC = refPicLXC [ xInt1 ][ yInt1 ] << shift3 –  否則,如果yFracC 等於0而且scalingRatio[ 1 ] 小於20481, predSampleLXC 的數值以如下加以推導: predSampleLXC =
Figure 02_image009
>> shift1 –  否則,如果xFracC 等於0而且scalingRatio[ 0 ] 小於20481, predSampleLXC 的數值以如下加以推導: predSampleLXC =
Figure 02_image011
>> shift1 –  否則,predSampleLXC 的數值以如下加以推導: –    樣本陣列temp[ n ] 其中n = 0..3以如下加以推導: temp[ n ] =
Figure 02_image013
>> shift1 –    預測後的色度樣本數值predSampleLXC 以如下加以推導: predSampleLXC =( fCV [
Figure 02_image015
][ 0 ] * temp[ 0 ] + fCV [
Figure 02_image017
][ 1 ] * temp[ 1 ] +  fCV [
Figure 02_image017
][ 2 ] * temp[ 2 ] + fCV [
Figure 02_image017
][ 3 ] * temp[ 3 ] ) >> shift2
在一實施例中,內插濾波程序中的左偏移(shift)和右偏移參數需要考慮參考畫面與當前畫面的位元深度。例如,當在不進行內插下直接提取(fetch)整數像素時,左偏移(shift3)需要考慮當前畫面與參考畫面之間的位元深度差值。shift3可以從Max(2, 14 − BitDepth)被修改為 Max( 2 + BitDepth – RefBitDepth, 14 − RefBitDepth)。同樣,對於使用光流(optical flow,PROF)進行預測優化的梯度計算,參考樣本直接被使用。如果當前畫面與參考畫面的位元深度不相同時,偏移數值應加以修改。例如,可以將其從Max(2, 14 − BitDepth) 修改為Max(2 + BitDepth – RefBitDepth, 14 − RefBitDepth)。當進行內插時,輸入參考樣本可以左偏移一個量,例如shift4。shift4可以是當前畫面與參考畫面之間的位元深度差值。對第一階段內插濾波器中的右偏移(例如shift1),它可以考慮在當前畫面與參考畫面之間的位元深度差值。shift1和shift4可以相互補償。它們之中只有一個可以是非零的正整數。如果它們之中一個為正整數,則另一個為零。或者,shift1與shift4二者都可以為零。可以將shift1從Min(4,BitDepth-8)修改為Max(2 + BitDepth-RefBitDepth,14-RefBitDepth)。可以將shift4修改為Max(0,Max(BitDepth – RefBitDepth – 4, 8 – RefBitDepth))。基於VVC草稿7用於縮放窗口尺寸大小所被提議的文字的一例子如下,並以斜體強調。
8.5.6.3.2 亮度樣本內插濾波程序
此程序的輸出是一預測後的亮度樣本數值predSampleLXL 。變數shift1、shift2、與shift3以如下加以推導: – RefBitDepth 為參考畫面的 BitDepth 。將變數 shift1設定等於Max(0,Min(RefBitDepth + 4 – BitDepth , RefBitDepth – 8)) 、將變數shift2設定等於6、將變數 shift3設定等於Max( 2+ BitDepth – RefBitDepth, 14 − RefBitDepth )、以及將變數 shift4 設定等於 Max(0,Max(BitDepth – RefBitDepth – 4, 8 – RefBitDepth)) 。 –      將變數picW設定等於pic_width_in_luma_samples,而且將變數picH設定等於pic_height_in_luma_samples。
預測後的亮度樣本數值predSampleLXL 以如下加以推導: –      如果xFracL 與yFracL 兩者都等於0,而且scalingRatio[ 0 ] 與 scalingRatio[ 1 ] 兩者都小於20481,predSampleLXL 的數值以如下加以推導: predSampleLXL = refPicLXL [ xInt3 ][ yInt3 ] << shift3 –      否則,如果 yFracL 等於0而且scalingRatio[ 1 ] 小於20481, predSampleLXL 的數值以如下加以推導: predSampleLXL =
Figure 02_image019
>>  shift1 –      否則,如果 xFracL 等於0而且scalingRatio[ 0 ] 小於20481, predSampleLXL 的數值以如下加以推導: predSampleLXL =
Figure 02_image021
>>  shift1 –      否則,predSampleLXL 的數值以如下加以推導: –        樣本陣列temp[ n ] 其中n = 0..7以如下加以推導: temp[ n ] =
Figure 02_image023
>> shift1 –        預測後的亮度樣本數值predSampleLXL 以如下加以推導: predSampleLXL =
Figure 02_image025
>>  shift2
8.5.6.3.3 亮度樣本內插濾波程序
此程序的輸入是: –      以全樣本為單位的一亮度位置(xIntL , yIntL ), –      亮度參考樣本陣列refPicLXL
此程序的輸出是一預測後的亮度樣本數值predSampleLXL 。 – RefBitDepth 為參考畫面的 BitDepth 。將變數shift設定等於Max( 2+ BitDepth – RefBitDepth, 14 − RefBitDepth ) –      將變數picW設定等於pic_width_in_luma_samples,而且將變數picH設定等於pic_height_in_luma_samples。
8.5.6.3.4 色度樣本內插程序
此程序的輸出是一預測後的色度樣本數值predSampleLXC 。變數shift1、shift2、與 shift3以如下加以推導: – RefBitDepth 為參考畫面的 BitDepth 。將變數 shift1設定等於Max(0,Min(RefBitDepth + 4 – BitDepth , RefBitDepth – 8)) 、將變數 shift2 設定等於6、將變數 shift3 設定等於Max( 2+ BitDepth – RefBitDepth, 14 − RefBitDepth )、以及將變數 shift4 設定等於 Max(0,Max(BitDepth – RefBitDepth – 4, 8 – RefBitDepth)) 。 –      將變數picWC 設定等於pic_width_in_luma_samples / SubWidthC,而且將變數picHC 設定等於pic_height_in_luma_samples / SubHeightC。
預測後的色度樣本數值predSampleLXC 以如下加以推導: –       如果xFracC 與 yFracC 兩者都等於0,而且scalingRatio[ 0 ] 與scalingRatio[ 1 ] 兩者都小於20481,predSampleLXC 的數值以如下加以推導: predSampleLXC = refPicLXC [ xInt1 ][ yInt1 ] << shift3 –       否則,如果yFracC 等於0而且 scalingRatio[ 1 ] 小於20481, predSampleLXC 的數值以如下加以推導: predSampleLXC =
Figure 02_image027
>>  shift1 –       否則,如果xFracC 等於0而且scalingRatio[ 0 ] 小於20481, predSampleLXC 的數值以如下加以推導: predSampleLXC =
Figure 02_image029
>>  shift1 –       否則, predSampleLXC 的數值以如下加以推導: –        樣本陣列 temp[ n ] 其中n = 0..3以如下加以推導: temp[ n ] =
Figure 02_image031
>>  shift1 –        預測後的色度樣本數值 predSampleLXC 以如下加以推導: predSampleLXC =( fCV [
Figure 02_image015
][ 0 ] * temp[ 0 ] + fCV [
Figure 02_image017
][ 1 ] * temp[ 1 ] + fCV [
Figure 02_image017
][ 2 ] * temp[ 2 ]  fCV [
Figure 02_image017
][ 3 ] * temp[ 3 ] ) >> shift2
須注意的是,如果當前畫面的位元深度(BitDepth)小於或等於12位元,shift4總是等於0。對支援位元深度小於或等於12位元的配置檔(profile,例如HEVC中的主(Main) 10、主(Main)12、單色度12、主(Main)4:4:4/4:2:2、10/12配置檔),關於shift4的修改可以被移除。
在另一實施例中,內插濾波程序中的左偏移(shift)和右偏移參數需要考慮當前畫面的位元深度。例如,當在不進行內插下直接提取(fetch)整數像素時,左偏移(shift3)可以從Max( 2, 14 − BitDepth)修改為Max( 2, 14 − RefBitDepth) 。同樣,對於使用光流(optical flow,PROF)進行預測優化的梯度計算,參考樣本可以直接被使用。如果當前畫面與參考畫面的位元深度不相同時,偏移數值應加以修改。例如,可以將其從Max( 2, 14 − BitDepth)修改為 Max( 2, 14 − RefBitDepth)。當進行內插時,對第一階段內插濾波器中的右偏移,例如shift1,它可以考慮參考畫面的位元深度。可以將shift1從Min( 4, BitDepth − 8 )修改為 Min( 4, RefBitDepth − 8 )。用於縮放窗口尺寸大小所被提議的文字如下,並以斜體強調。
8.5.6.3.2 亮度樣本內插濾波程序
此程序的輸出是一預測後的亮度樣本數值predSampleLXL 。變數shift1、shift2、與 shift3以如下加以推導: – RefBitDepth 為參考畫面的 BitDepth 。 –      將變數shift1設定等於Min(4,RefBitDepth -8),將變數shift2設定等於6,而且將變數shift3設定等於Max(2, 14-RefBitDepth )。 –      將變數picW設定等於pic_width_in_luma_samples,而且將變數picH設定等於pic_height_in_luma_samples。
8.5.6.3.3 亮度整數樣本提取( fetching )程序
此程序的輸入是: –      以全樣本為單位的一亮度位置(xIntL , yIntL ), –      亮度參考樣本陣列refPicLXL
此程序的輸出是一預測後的亮度樣本數值predSampleLXL 。 令RefBitDepth為參考畫面的BitDepth。 變數shift被設定等於Max(2, 14-RefBitDepth)。
8.5.6.3.4 色度樣本內插程序
此程序的輸出是一預測後的亮度樣本數值predSampleLXC 。變數shift1、shift2、與 shift3以如下加以推導: – RefBitDepth 為參考畫面的 BitDepth 。 將變數shift1設定等於Min(4,RefBitDepth -8),將變數shift2設定等於6,而且將變數shift3設定等於Max(2, 14-RefBitDepth )。 –      將變數picWC 設定等於pic_width_in_luma_samples / SubWidthC,而且將變數picHC 設定等於pic_height_in_luma_samples / SubHeightC。
在上述方法中,在加權樣本預測程序中的位元深度或位元移位(bit shift)使用當前畫面(而非參考畫面)的位元深度。
在另一實施例中,所有輸入參考樣本將進行位元深度擴展(extension)或位元深度縮減(reduction)以匹配當前畫面的位元深度。當進行位元深度縮減時,可以使用截斷(truncation)或四捨五入(rounding)。當進行位元深度擴展時,可以在LSB之後加上n位元的零(例如2位元的‘00’)。在另一例子中,當進行位元深度擴展時,可以在LSB之後加上n位元的一(例如2位元的‘11’)。在另一例子中,當進行位元深度擴展時,可以在LSB之後加上1位元的1與n-1位元的0(例如2位元的‘11’,4位元的‘1000’)。在另一例子中,當進行位元深度擴展時,可以在LSB之後加上所發信或預先定義或推導位元的n個位元。
上述方法可以全部或部分被組合與應用。
以上提出的任何方法可以在編碼器與/或解碼器中加以施行實作。例如,所提出的任何方法可以在一編碼器的一縮放或運動補償模組或參數決定模組,與/或在一解碼器的一縮放或運動補償模組或參數決定模組中加以施行實作。所提出的任何方法也可以備選式地施行實作為一電路而耦合至編碼器的縮放或運動補償模組或參數決定模組,與/或解碼器的縮放或運動補償模組或參數決定模組中,以便提供縮放或運動補償模組或參數決定模組所需的信息。
視訊編碼器應該遵循上述語法設計,以便產生符合的位元流,並且只有在剖析程序符合上述語法設計的情況下,視訊解碼器才能夠正確解碼位元流。當語法元素在位元流中被跳過時,編碼器與解碼器應該將被跳過的語法元素的數值設定置為推論的數值,以確保編碼與解碼結果之間不會發生不匹配。
第1圖依據本發明的一實施例繪示出體現經過約束的分層視訊編解碼的一系統的一示例性方塊圖,其中用於該當前層以及參考層的位元深度數值與色度格式索引二者都相同。本流程圖中所示的步驟(以及本揭示中其他接下來的流程圖)可以實作成程式碼而可在編碼器側與/或解碼器側中的一或多個處理器(例如一或多個中央處理器)中執行。本流程圖中所示的步驟也可以基於硬體來實作,硬體可以例如安排來進行本流程圖中各步驟的一或多個電子裝置或處理器。依據本方法,在步驟110中,一位元流在一編碼器側被產生或是在一解碼器側被接收,其中該位元流相對應於一當前層中當前視訊資料的編解碼資料。該位元流符合一位元流規約規定,相對應於用於該當前層以及一參考層的位元深度數值二者相同;以及用於該當前層以及該參考層的色度格式索引數值相同。在步驟120中,藉由使用在該參考層的參考視訊資料,然後對在該當前層中的當前視訊資料加以編碼或是解碼。
第2圖依據本發明的一實施例繪示出體現經過約束的分層視訊編解碼的一系統的一示例性方塊圖,其中用於該當前層的位元深度大於或等於用於一參考層的位元深度,或是用於該當前層的色度格式索引大於或等於用於該參考層的色度格式索引。依據本方法,在步驟210中,一位元流在一編碼器側被產生或是在一解碼器側被接收,其中該位元流相對應於一當前層中當前視訊資料的編解碼資料。該位元流符合一位元流規約規定,包括一第一條件、一第二條件、或該第一條件與該第二條件二者。該第一條件相對應用於該當前層的第一位元深度大於或等於用於一參考層的第二位元深度。該第二條件相對應用於該當前層的第一色度格式索引大於或等於用於該參考層的第二色度格式索引,而且該第一色度格式索引與該第二色度格式索引分別指明用於該當前層以及該參考層相對於亮度取樣的色度取樣。一較大的色度格式索引數值指示出一較高的次取樣密度。在步驟220中,藉由使用在該參考層的參考視訊資料,一併和該第一位元深度與該第二位元深度、該第一色度格式索引與該第二色度格式索引、或該第一位元深度與該第二位元深度以及該第一色度格式索引與該第二色度格式索引二者,然後對該當前層中的當前視訊資料加以編碼或是解碼。
第3圖依據本發明的一實施例繪示出體現經過約束的分層視訊編解碼的一系統的一示例性方塊圖,其中該運動補償使用信息包括:用於該當前層以及該參考層二者的色度格式或關於色度格式的一或多個變數、或是用於該當前層以及該參考層二者的位元深度數值。依據本方法,在步驟310中, 輸入資料被接收,其中該輸入資料相對應於在一視訊編碼器側的一當前層中的視訊資料,或是該輸入資料相對應於在一視訊解碼器側的該當前層中的編解碼視訊資料。在步驟320中,藉由利用在一參考層中的參考視訊資料,將運動補償應用在編碼器側的當前層中的視訊資料或是在視訊解碼器側的當前層的編解碼視訊資料。該運動補償使用信息包括:用於該當前層以及該參考層二者的色度格式或關於色度格式的一或多個變數、用於該當前層以及該參考層二者的位元深度數值、或是用於該當前層以及該參考層二者的色度格式或關於色度格式的所述一或多個變數以及用於該當前層以及該參考層二者的位元深度數值二者。
以上所示的流程圖旨在用於例子以示出本發明的實施例。在不脫離本發明的精神的情況下,所屬領域中具有習知技術者可以藉由修改個別步驟、分割或組合步驟來實施本發明。
上述說明,使得所屬領域中具有習知技術者能夠在特定應用程式的內容及其需求中實施本發明。對所屬領域中具有習知技術者來說,所描述的實施例的各種變形將是顯而易見的,並且本文定義的一般原則可以應用於其他實施例中。因此,本發明不限於所示和描述的特定實施例,而是將被賦予與本文所公開的原理和新穎特徵相一致的最大範圍。在上述詳細說明中,說明了各種具體細節,以便透徹理解本發明。儘管如此,將被本領域的具有習知技術者理解的是,本發明能夠被實踐。
如上所述的本發明的實施例可以在各種硬體、軟體代碼或兩者的結合中實現。例如,本發明的實施例可以是集成在視訊壓縮晶片內的電路,或者是集成到視訊壓縮軟體中的程式碼,以執行本文所述的處理。本發明的一個實施例也可以是在數位訊號處理器(Digital Signal Processor,DSP)上執行的程式碼,以執行本文所描述的處理。本發明還可以包括由電腦處理器、數位訊號處理器、微處理器或現場可程式設計閘陣列(field programmable gate array,FPGA)所執行的若干函數。根據本發明,透過執行定義了本發明所實施的特定方法的機器可讀軟體代碼或者固件代碼,這些處理器可以被配置為執行特定任務。軟體代碼或固件代碼可以由不同的程式設計語言和不同的格式或樣式開發。軟體代碼也可以編譯為不同的目標平臺。然而,執行本發明的任務的不同的代碼格式、軟體代碼的樣式和語言以及其他形式的配置代碼,不會背離本發明的精神和範圍。
本發明可以以不脫離其精神或本質特徵的其他具體形式來實施。所描述的例子在所有方面僅是說明性的,而非限制性的。因此,本發明的範圍由附加的權利要求來表示,而不是前述的描述來表示。權利要求的含義以及相同範圍內的所有變化都應納入其範圍內。
110:步驟 120:步驟 210:步驟 220:步驟 310:步驟 320:步驟
第1圖依據本發明的一實施例繪示出體現經過約束的分層視訊編解碼的一系統的一示例性方塊圖,其中用於該當前層以及參考層的位元深度數值與色度格式索引二者都相同。 第2圖依據本發明的一實施例繪示出體現經過約束的分層視訊編解碼的一系統的一示例性方塊圖,其中用於該當前層的位元深度大於或等於用於一參考層的位元深度,或是用於該當前層的色度格式索引大於或等於用於該參考層的色度格式索引。 第3圖依據本發明的一實施例繪示出體現經過約束的分層視訊編解碼的一系統的一示例性方塊圖,其中該運動補償使用信息包括:用於該當前層以及該參考層二者的色度格式或關於色度格式的一或多個變數、或是用於該當前層以及該參考層二者的位元深度數值。
110~120:步驟

Claims (9)

  1. 一種視訊編解碼方法,其中一多層預測模式被支援,該方法包括: 在一編碼器側產生或是在一解碼器側接收相對應於一當前層中當前視訊資料的編解碼資料的一位元流,其中該位元流符合一位元流規約規定,相對應於用於該當前層以及一參考層的位元深度數值二者為相同,以及用於該當前層以及該參考層的色度格式索引數值為相同;以及 藉由使用在該參考層的參考視訊資料,在該編碼器側編碼或是在該解碼器側解碼在該當前層中的該當前視訊資料。
  2. 如請求項1所述的視訊編解碼方法,其中用於該當前層以及該參考層的該些位元深度數值是推導自該位元流中的語法元素bit_depth_minus8,而且其中該些語法元素bit_depth_minus8分別相對應用於該當前層以及該參考層的該些位元深度數值減去8。
  3. 如請求項1所述的視訊編解碼方法,其中用於該當前層以及該參考層的色度格式索引數值是依據在該位元流中的語法元素chroma_format_idc加以決定,而且其中該些語法元素chroma_format_idc分別指明用於該當前層以及該參考層相對於亮度取樣的色度取樣。
  4. 一種視訊編解碼方法,其中一多層預測模式被支援,該方法包括: 在一編碼器側產生或是在一解碼器側接收相對應於一當前層中當前視訊資料的編解碼資料的一位元流,其中該位元流符合一位元流規約規定,包括一第一條件、一第二條件、或該第一條件與該第二條件二者,其中該第一條件相對應用於該當前層的第一位元深度大於或等於用於一參考層的第二位元深度,其中該第二條件相對應用於該當前層的第一色度格式索引大於或等於用於該參考層的第二色度格式索引,其中該第一色度格式索引與該第二色度格式索引分別指明用於該當前層以及該參考層相對於亮度取樣的色度取樣,以及一較大的色度格式索引數值指示出一較高的次取樣密度;以及 藉由使用在該參考層的參考視訊資料,一併和該第一位元深度與該第二位元深度、該第一色度格式索引與該第二色度格式索引、或該第一位元深度與該第二位元深度以及該第一色度格式索引與該第二色度格式索引二者,在該編碼器側編碼或是在該解碼器側解碼在該當前層中的該當前視訊資料。
  5. 一種編解碼一視訊序列的方法,其中一多層預測模式被支援,該方法包括: 接收輸入資料,其中該輸入資料相對應於在一視訊編碼器側的一當前層中的視訊資料,或是該輸入資料相對應於在一視訊解碼器側的該當前層中的編解碼視訊資料;以及 藉由利用在一參考層中的參考視訊資料,將運動補償應用在該編碼器側的該當前層中的視訊資料或是在該視訊解碼器側的該當前層的該編解碼視訊資料,其中該運動補償使用信息包括:用於該當前層以及該參考層二者的色度格式或關於色度格式的一或多個變數、用於該當前層以及該參考層二者的位元深度數值、或是用於該當前層以及該參考層二者的色度格式或關於色度格式的所述一或多個變數以及用於該當前層以及該參考層二者的位元深度數值二者。
  6. 如請求項5所述的視訊編解碼方法,其中該些位元深度數值是推導自在一位元流中所發信或從該位元流中所剖析的語法元素,而且其中該些語法元素分別相對應用於該當前層以及該參考層的該些位元深度數值減去8。
  7. 如請求項5所述的視訊編解碼方法,其中該些色度格式或所述一或多個變數包括相對應於水平色度次取樣因子的一第一變數,相對應於垂直色度次取樣因子的一第二變數,或是該第一變數與該第二變數二者。
  8. 如請求項7所述的視訊編解碼方法,其中該參考層的一參考樣本位置是藉由使用該水平色度次取樣因子、該垂直色度次取樣因子、或二者,於一運動補償程序中來加以計算。
  9. 如請求項7所述的視訊編解碼方法,其中該參考層的一參考樣本位置是藉由使用該當前層的一第一水平色度次取樣因子與該參考層的一第二水平色度次取樣因子的一第一比例、該當前層的一第一垂直色度次取樣因子與該參考層的一第二垂直色度次取樣因子的一第二比例、或二者,而於一運動補償程序中來加以計算。
TW109144680A 2019-12-17 2020-12-17 經過約束逐層視訊編解碼之方法和裝置 TWI776319B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201962948971P 2019-12-17 2019-12-17
US62/948,971 2019-12-17
US201962954019P 2019-12-27 2019-12-27
US62/954,019 2019-12-27
US17/121,927 2020-12-15
US17/121,927 US11375182B2 (en) 2019-12-17 2020-12-15 Method and apparatus of constrained layer-wise video coding

Publications (2)

Publication Number Publication Date
TW202131689A true TW202131689A (zh) 2021-08-16
TWI776319B TWI776319B (zh) 2022-09-01

Family

ID=76317204

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109144680A TWI776319B (zh) 2019-12-17 2020-12-17 經過約束逐層視訊編解碼之方法和裝置

Country Status (7)

Country Link
US (2) US11375182B2 (zh)
EP (1) EP4062632A4 (zh)
KR (1) KR20220100076A (zh)
CN (1) CN114731420A (zh)
MX (1) MX2022007280A (zh)
TW (1) TWI776319B (zh)
WO (1) WO2021121313A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4062640A4 (en) * 2019-12-26 2023-01-11 ByteDance Inc. PROFILE, ROW AND LAYER INDICATION IN VIDEO CODING
WO2021134020A1 (en) 2019-12-26 2021-07-01 Bytedance Inc. Constraints on signaling of hypothetical reference decoder parameters in video bitstreams
CN114902566A (zh) 2019-12-27 2022-08-12 字节跳动有限公司 参数集中的子图片信令
US11418804B2 (en) * 2019-12-31 2022-08-16 Tencent America LLC Method for wrap around motion compensation with reference picture resampling
CN117395441A (zh) 2020-01-09 2024-01-12 字节跳动有限公司 视频流中的填充数据单元的处理

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10237565B2 (en) 2011-08-01 2019-03-19 Qualcomm Incorporated Coding parameter sets for various dimensions in video coding
US9161039B2 (en) 2012-09-24 2015-10-13 Qualcomm Incorporated Bitstream properties in video coding
US20140218473A1 (en) * 2013-01-07 2014-08-07 Nokia Corporation Method and apparatus for video coding and decoding
EP2983367A4 (en) * 2013-04-05 2016-11-16 Samsung Electronics Co Ltd METHOD AND DEVICE FOR CODING AND DECODING VIDEO CONTENT IN RELATION TO THE POSITION OF ALL-NUMBER PIXELS
WO2015060699A1 (ko) * 2013-10-26 2015-04-30 삼성전자 주식회사 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치
US9860540B2 (en) * 2014-01-03 2018-01-02 Qualcomm Incorporated Inference of nooutputofpriorpicsflag in video coding
WO2015182342A1 (ja) * 2014-05-26 2015-12-03 シャープ株式会社 画像復号装置、および、画像符号化装置
EP3371976A1 (en) 2015-11-02 2018-09-12 Dolby Laboratories Licensing Corp. Layered representation containing crc codes and delivery of high dynamic range video
FI20165547A (fi) * 2016-06-30 2017-12-31 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
KR20240000610A (ko) * 2019-01-15 2024-01-02 로즈데일 다이나믹스 엘엘씨 변환 스킵 플래그를 이용한 영상 코딩 방법 및 장치

Also Published As

Publication number Publication date
WO2021121313A1 (en) 2021-06-24
EP4062632A4 (en) 2023-09-13
KR20220100076A (ko) 2022-07-14
TWI776319B (zh) 2022-09-01
EP4062632A1 (en) 2022-09-28
MX2022007280A (es) 2023-03-07
US20220286671A1 (en) 2022-09-08
US11375182B2 (en) 2022-06-28
CN114731420A (zh) 2022-07-08
US20210185306A1 (en) 2021-06-17

Similar Documents

Publication Publication Date Title
TWI776319B (zh) 經過約束逐層視訊編解碼之方法和裝置
US8385412B2 (en) Method and apparatus for inter-layer residue prediction for scalable video
TWI606718B (zh) 規定視覺動態範圍編碼操作及參數
CN107431826B (zh) 视频数据编解码方法及其装置
AU2019202043B2 (en) Method and apparatus for palette coding of monochrome contents in video and image compression
JP2023513343A (ja) 映像ビットストリームにおける同一位置に配置されたピクチャの指示
US20050259729A1 (en) Video coding with quality scalability
JP2018530953A (ja) 改善された色再マッピング情報補足エンハンスメント情報メッセージ処理
JP2014143741A (ja) 低減ビット深度更新モードおよび低減色度サンプリング更新モードを用いるビデオコーディングおよびデコーディングのための方法および装置
JP7457151B2 (ja) スケーラブル映像コーディングにおけるランダムアクセスポイントアクセスユニット
KR20220037388A (ko) 코딩된 비디오에서의 프로필, 티어, 레벨 및 일반 제약 표시
JP2024003125A (ja) ビデオコーディングにおける一般制約情報
JP7425224B2 (ja) 高レベル構文におけるインター予測のための信号通知
CN115225910A (zh) 封装和自适应视频流的约束
TWI784368B (zh) 用於編解碼視訊序列之方法和裝置
TWI779417B (zh) 用於編解碼視訊序列之方法和裝置
CN115699773A (zh) 在编解码视频中信令通知图片定时信息
WO2022068839A1 (en) Signalling of auxiliary information
CN115918084A (zh) 通用级别索引的信令
CN115699749A (zh) 视频比特流的每个层表示的值的推导
JP7506175B2 (ja) 映像コーディングにおけるデブロッキング信号通知
Sansli et al. Improved weighted prediction based color gamut scalability in SHVC

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent