TW202116068A - Video encoding/decoding method and apparatus - Google Patents

Video encoding/decoding method and apparatus Download PDF

Info

Publication number
TW202116068A
TW202116068A TW109131117A TW109131117A TW202116068A TW 202116068 A TW202116068 A TW 202116068A TW 109131117 A TW109131117 A TW 109131117A TW 109131117 A TW109131117 A TW 109131117A TW 202116068 A TW202116068 A TW 202116068A
Authority
TW
Taiwan
Prior art keywords
sub
image
video
sequence
images
Prior art date
Application number
TW109131117A
Other languages
Chinese (zh)
Other versions
TWI750802B (en
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
Priority claimed from US17/016,257 external-priority patent/US11284077B2/en
Application filed by 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW202116068A publication Critical patent/TW202116068A/en
Application granted granted Critical
Publication of TWI750802B publication Critical patent/TWI750802B/en

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/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
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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
    • 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
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • H04N19/865Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness with detection of the former encoding block subdivision in decompressed video

Landscapes

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

Abstract

A method for signaling subpicture structures for coded video is provided. A video decoder receives data from a bitstream to be decoded as a sequence of video pictures. The video decoder receives from the bitstream subpicture specification for one or more subpictures in the sequence of video pictures. The subpicture specification identifies a position and a size for each subpicture by providing an index that identifies a coding tree unit (CTU) for the subpicture. The video decoder reconstructs each subpicture for the sequence of video pictures according to the subpicture specification.

Description

次圖像結構之傳訊技術Communication technology of sub-picture structure

本發明涉及視訊編解碼,更具體的是,本發明涉及的是發送子圖像結構的方法。The present invention relates to video coding and decoding, and more specifically, the present invention relates to a method of transmitting a sub-image structure.

除非此處另有説明,本部分所描述的方法相對於以下列出的申請專利範圍而言不是先前技術,并且透過本部分的引入不被承認是先前技術。Unless otherwise stated herein, the methods described in this section are not prior art with respect to the scope of patent applications listed below, and the introduction of this section is not recognized as prior art.

高效視訊編解碼(high-efficiency video coding,簡稱HEVC)是由視訊編解碼聯合協作團隊(Joint Collaborative Team on Video Coding,簡稱JCT-VC)開發的最新國際視訊編解碼標準。輸入視訊訊號從重構訊號中預測,該重構訊號是從編解碼圖像區域中導出的。預測殘差訊號藉由線性變換進行處理。變換係數被量化,並與位元流中的其他輔助資訊一起被熵編碼。在逆量化的變換係數被逆變換之後,重構訊號從預測訊號和重構殘差訊號生成。藉由環路濾波,重構訊號被進一步處理以去除編解碼偽像。解碼的圖像被存儲在幀緩衝器中以預測輸入視訊訊號中的未來圖像。High-efficiency video coding (HEVC) is the latest international video coding and decoding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC). The input video signal is predicted from the reconstructed signal, which is derived from the codec image area. The prediction residual signal is processed by linear transformation. The transform coefficients are quantized and entropy coded together with other auxiliary information in the bit stream. After the inversely quantized transform coefficients are inversely transformed, the reconstruction signal is generated from the prediction signal and the reconstruction residual signal. With loop filtering, the reconstructed signal is further processed to remove codec artifacts. The decoded image is stored in the frame buffer to predict the future image in the input video signal.

在HEVC中,編碼的圖像被劃分為由相關聯的編解碼樹單元(coding tree unit,簡稱CTU)表示的非重疊(non-overlapped)正方形塊區域。編碼的圖像由片段的集合來表示,每個片段包括整數個CTU。片段中的各個CTU按光柵掃描順序(raster scanning order)進行處理。雙向預測(bi-predictive,簡稱B)片段可使用最多兩個運動向量和參考索引來藉由幀內預測或幀間預測來解碼,以預測每個塊的採樣值。預測(predictive,簡稱P)片段可使用最多一個運動向量和參考索引來藉由幀內預測或幀間預測解碼,以預測每個塊的樣本值。幀內(intra,簡稱I)片段僅使用幀內預測來進行解碼。In HEVC, a coded image is divided into non-overlapped square block regions represented by an associated coding tree unit (CTU). The coded image is represented by a collection of segments, and each segment includes an integer number of CTUs. Each CTU in the fragment is processed in raster scanning order. A bi-predictive (B for short) segment can use up to two motion vectors and a reference index to be decoded by intra prediction or inter prediction to predict the sample value of each block. A predictive (predictive, P for short) segment can use at most one motion vector and reference index to decode through intra prediction or inter prediction to predict the sample value of each block. Intra (intra, I for short) segments are only decoded using intra prediction.

藉由遞迴四叉樹(quadtree,簡稱QT)結構,CTU可被劃分為多個不重疊的編碼單元(coding unit,簡稱CU),以適應各種局部運動和紋理特徵。藉由使用二進位和三進位劃分的具有嵌套多類型樹的四叉樹,CTU也可被劃分為一個或多個較小尺寸的CU。所得的CU劃分可以是正方形或矩形形狀。With the recursive quadtree (QT) structure, the CTU can be divided into multiple non-overlapping coding units (CU) to adapt to various local motion and texture features. The CTU can also be divided into one or more smaller-sized CUs by using a quadtree with nested multi-type trees using binary and ternary divisions. The resulting CU partition can be square or rectangular in shape.

一個或多個預測單元(prediction,簡稱PU)被指定用於每個CU。預測單元與相關聯的CU語法一起,作為用於發送預測子資訊的基本單元。指定的預測過程被用來預測PU內部相關聯的像素樣本的值。CU可使用殘差四叉樹(residual quadtree,簡稱RQT)結構來進一步劃分,以用於表示相關聯的預測殘差訊號。RQT的葉節點對應於變換單元(transform unit,簡稱TU)。變換單元包括大小為8x8、16x16或32x32的亮度樣本的變換塊(transform block,簡稱TB)或四個大小為4x4的亮度樣本的變換塊,以及4:2:0顏色格式的圖像的色度樣本的兩個相應的變換塊。整數變換被應用於變換塊,並且量化係數的段位(level))值與其他輔助資訊一起被熵編碼為位元流。One or more prediction units (prediction, PU for short) are designated for each CU. The prediction unit, together with the associated CU syntax, serves as the basic unit for transmitting predictor information. The specified prediction process is used to predict the value of the pixel sample associated within the PU. The CU may be further divided using a residual quadtree (RQT) structure to represent the associated prediction residual signal. The leaf nodes of the RQT correspond to the transform unit (TU for short). The transform unit includes a transform block (TB) of luminance samples with a size of 8x8, 16x16 or 32x32 or four transform blocks with a luminance sample of 4x4, and the chroma of the image in the 4:2:0 color format. Two corresponding transform blocks of the sample. Integer transform is applied to the transform block, and the level value of the quantized coefficient is entropy coded into a bit stream along with other auxiliary information.

術語編碼樹塊(coding tree block,簡稱CTB),編碼塊(coding block,簡稱CB),預測塊(prediction block,簡稱PB)和變換塊(transform block,簡稱TB)被定義為指定與CTU,CU,PU和TU相關聯的顏色分量的2-D樣本陣列。因此,CTU由一個亮度CTB,兩個色度CTB和相關的語法元素組成。類似的關係對於CU,PU和TU有效。樹分割通常同時應用於亮度和色度,但是當達到色度的特定最小尺寸時會是例外。The terms coding tree block (CTB for short), coding block (CB for short), prediction block (PB for short) and transform block (TB for short) are defined as the designation and CTU, CU , 2-D sample array of color components associated with PU and TU. Therefore, CTU is composed of one luminance CTB, two chrominance CTBs and related syntax elements. A similar relationship is valid for CU, PU and TU. Tree segmentation is usually applied to both luminance and chrominance, but it is an exception when a certain minimum size of chrominance is reached.

以下發明内容僅是説明性的,不打算以任何方式加以限制。也就是說,以下發明内容被提供以介紹此處所描述的新且非顯而易見的技術的概念、重點、好處和優勢。選擇而不是所有的實施方式在以下的詳細説明中進行進一步描述。因此,以下發明内容不用於決定所請求主題的本質特徵,也不用於決定所請求主題的範圍。The following summary of the invention is only illustrative and is not intended to be limited in any way. That is, the following summary is provided to introduce the concepts, highlights, benefits, and advantages of the new and non-obvious technology described herein. Alternative but not all implementations are further described in the detailed description below. Therefore, the following content of the invention is not used to determine the essential features of the requested subject matter, nor is it used to determine the scope of the requested subject matter.

一些實施例提供了一種用於發送編碼視訊的子圖像結構的方法。視訊解碼器從位元流中接收將被解碼為視訊圖像序列的資料。視訊解碼器從位元流中接收視訊圖像序列中一個或多個子圖像的子圖像規範。子圖像規範藉由對每個子圖像提供一索引來標識每個子圖像的位置和尺寸,其中該索引以光柵掃描的順序來標識圖像內的編解碼樹單元(CTU)。視訊解碼器根據子圖像規範重構視訊圖像序列的每個子圖像。Some embodiments provide a method for transmitting a sub-picture structure of an encoded video. The video decoder receives data from the bit stream that will be decoded into a sequence of video images. The video decoder receives the sub-image specifications of one or more sub-images in the video image sequence from the bit stream. The sub-image specification identifies the position and size of each sub-image by providing an index for each sub-image, where the index identifies the codec tree unit (CTU) in the image in the order of raster scan. The video decoder reconstructs each sub-image of the video image sequence according to the sub-image specification.

在一些實施例中,視訊圖像序列的序列參數集合(seuence parameter set,簡稱SPS)中的語法元素指示在視訊圖像序列中存在一個或多個子圖像。SPS還可包括一語法元素,該語法元素指定視訊圖像序列的子圖像的數量,以及每個子圖像的識別字。子圖像的識別字也可在視訊圖像序列中的視訊圖像的片段報頭和/或圖像參數集合(picture parameter sets,簡稱PPS)中發送。在一些實施例中,視訊圖像序列中的視訊圖像的PPS中的一語法元素指示視訊圖像的所有片段都是矩形的。In some embodiments, the syntax element in the sequence parameter set (SPS) of the video image sequence indicates that there are one or more sub-images in the video image sequence. The SPS may also include a syntax element that specifies the number of sub-images of the video image sequence and the identifier of each sub-image. The identifier of the sub-image may also be sent in the segment header and/or picture parameter sets (PPS) of the video image in the video image sequence. In some embodiments, a syntax element in the PPS of the video image in the video image sequence indicates that all segments of the video image are rectangular.

在一些實施例中,圖像內以光柵掃描所識別的CTU位於子圖像的角(例如,左上或右下)。在一些實施例中,索引被分配給圖像內以光柵掃描的子圖像網格,並且不同的子圖像網格被分配不同的索引。在一些實施例中,索引標識被定義為一個CTU或與一個CTU相對應的子圖像網格,使得子圖像網格的邊界沿著CTU的邊界定義。在一些實施例中,子圖像位置和尺寸的索引在視訊圖像序列的SPS中發送。In some embodiments, the CTU identified by the raster scan in the image is located at the corner of the sub-image (for example, the upper left or the lower right). In some embodiments, indexes are assigned to raster-scan sub-image grids within the image, and different sub-image grids are assigned different indexes. In some embodiments, the index identifier is defined as a CTU or a sub-image grid corresponding to a CTU, so that the boundary of the sub-image grid is defined along the boundary of the CTU. In some embodiments, the index of the position and size of the sub-image is sent in the SPS of the video image sequence.

在以下詳細描述中,許多具體細節藉由示例來闡述,以提供對相關教導的透徹理解。基於本文描述的教導的任何變化,衍生物和/或擴展都在本公開的保護範圍內。在一些實例中,與本文公開的一個或多個示例實現有關的公知方法,過程,組件和/或電路可以在沒有細節的情況下以相對較高的級別描述,以避免不必要地模糊本公開的教導的各方面。 I. 發送子圖像結構 In the following detailed description, many specific details are illustrated by examples to provide a thorough understanding of related teachings. Any changes, derivatives and/or extensions based on the teachings described herein are within the protection scope of the present disclosure. In some instances, well-known methods, processes, components, and/or circuits related to one or more example implementations disclosed herein may be described at a relatively high level without details to avoid unnecessarily obscuring the present disclosure Aspects of the teaching. I. Send sub-image structure

子圖像是圖像中一個或多個片段的矩形區域,並且片段由一個或多個圖塊(tile)/磚塊(brick)組成。每個圖塊/磚塊都是CTU對齊的。當子圖像存在於圖像中時,子圖像的數量可以大於或等於2。形成子圖像的片段可以是矩形的。在一些實施例中,藉由對每個子圖像在圖像內以光柵掃描的順序指示右下子圖像網格索引,以CTB為單位的網格被用來指定圖像內的子圖像結構。A sub-image is a rectangular area of one or more segments in the image, and the segment is composed of one or more tiles/bricks. Each tile/brick is CTU aligned. When sub-images exist in the image, the number of sub-images may be greater than or equal to two. The segments forming the sub-image may be rectangular. In some embodiments, by indicating the grid index of the lower right sub-image in the raster scan order for each sub-image in the image, a grid in units of CTB is used to specify the sub-image structure in the image .

在一些實施例中,視訊編碼器可發送子圖像規範(並且視訊解碼器可接收子圖像規範)。以下的表1A是用於發送子圖像資訊的序列參數集合(SPS)原始位元組序列有效載荷(raw byte sequence payload,簡稱RBSP)的示例語法表:表1A:SPS發送子圖像資訊 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 )   gdr_enabled_flag u(1) sps_seq_parameter_set_id ue(v) chroma_format_idc ue(v)    if( chroma_format_idc  = =  3 )   separate_colour_plane_flag u(1) pic_width_max_in_luma_samples ue(v) pic_height_max_in_luma_samples ue(v) subpics_present_flag u(1)    if( subpics_present_flag ) {        max_subpics_minus1 u(8)      subpic_grid_col_width_minus1 u(v)      subpic_grid_row_height_minus1 u(v)       for( i = 0; i < NumSubPicGridRows; i++ )            for( j = 0; j < NumSubPicGridCols; j++ )              subpic_grid_idx [ i ][ j ] u(v)       for( i = 0; i  <=  NumSubPics; i++ ) {           subpic_treated_as_pic_flag [ i ] u(1)         loop_filter_across_subpic_enabled_flag [ i ] u(1)       }      }   bit_depth_luma_minus8 ue(v) bit_depth_chroma_minus8 ue(v)     sps_extension_flag u(1)    if( sps_extension_flag )         while( more_rbsp_data( ) )           sps_extension_data_flag u(1)    rbsp_trailing_bits( )   }   In some embodiments, the video encoder may send sub-picture specifications (and the video decoder may receive sub-picture specifications). The following Table 1A is an example syntax table of the sequence parameter set (SPS) raw byte sequence payload (RBSP) used to send sub-image information: Table 1A: SPS sends sub-image information seq_parameter_set_rbsp() { Descriptor 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) gdr_enabled_flag u(1) sps_seq_parameter_set_id ue(v) chroma_format_idc ue(v) if( chroma_format_idc == 3) separate_colour_plane_flag u(1) pic_width_max_in_luma_samples ue(v) pic_height_max_in_luma_samples ue(v) subpics_present_flag u(1) if( subpics_present_flag) { max_subpics_minus1 u(8) subpic_grid_col_width_minus1 u(v) subpic_grid_row_height_minus1 u(v) for( i = 0; i < NumSubPicGridRows; i++) for( j = 0; j < NumSubPicGridCols; j++) subpic_grid_idx [i ][ j] u(v) for( i = 0; i <= NumSubPics; i++) { subpic_treated_as_pic_flag [i] u(1) loop_filter_across_subpic_enabled_flag [i] u(1) } } bit_depth_luma_minus8 ue(v) bit_depth_chroma_minus8 ue(v) sps_extension_flag u(1) if( sps_extension_flag) while( more_rbsp_data()) sps_extension_data_flag u(1) rbsp_trailing_bits() }

以下的表1B是序列參數集合(SPS)原始位元組序列有效載荷(RBSP)的另一示例語法表,該語法表提供子圖像的規範。 1B SPS 指定子圖像 seq_parameter_set_rbsp( ) { 描述符 sps_decoding_parameter_set_id u(4) sps_video_parameter_set_id u(4)   subpics_present_flag u(1)    if( subpics_present_flag ) {        max_subpics_minus2 u(8)      subpic_grid_col_width_minus1 u(v)      subpic_grid_row_height_minus1 u(v)       for( i = 0; i < NumSubPicGridRows; i++ )            for( j = 0; j < NumSubPicGridCols; j++ )              subpic_grid_idx [ i ][ j ] u(v)       for( i = 0; i  <=  NumSubPics; i++ ) {           subpic_treated_as_pic_flag [ i ] u(1)         loop_filter_across_subpic_enabled_flag [ i ] u(1)       }      }   bit_depth_luma_minus8 ue(v) bit_depth_chroma_minus8 ue(v)     sps_extension_flag u(1)    if( sps_extension_flag )         while( more_rbsp_data( ) )           sps_extension_data_flag u(1)    rbsp_trailing_bits( )   }   The following Table 1B is another example syntax table of the sequence parameter set (SPS) raw byte sequence payload (RBSP), which provides the specification of the sub-picture. Table 1B : SPS designated sub-images seq_parameter_set_rbsp() { Descriptor sps_decoding_parameter_set_id u(4) sps_video_parameter_set_id u(4) subpics_present_flag u(1) if( subpics_present_flag) { max_subpics_minus2 u(8) subpic_grid_col_width_minus1 u(v) subpic_grid_row_height_minus1 u(v) for( i = 0; i < NumSubPicGridRows; i++) for( j = 0; j < NumSubPicGridCols; j++) subpic_grid_idx [i ][ j] u(v) for( i = 0; i <= NumSubPics; i++) { subpic_treated_as_pic_flag [i] u(1) loop_filter_across_subpic_enabled_flag [i] u(1) } } bit_depth_luma_minus8 ue(v) bit_depth_chroma_minus8 ue(v) sps_extension_flag u(1) if( sps_extension_flag) while( more_rbsp_data()) sps_extension_data_flag u(1) rbsp_trailing_bits() }

以下的表1C是序列參數集合(SPS)原始位元組序列有效載荷(RBSP)的另一示例語法表,該語法表提供子圖像的規範: 1C SPS 指定子圖像 seq_parameter_set_rbsp( ) { 描述符 sps_decoding_parameter_set_id u(4) sps_video_parameter_set_id u(4)   subpics_present_flag u(1)    if( subpics_present_flag ) {        num_subpics_minus2 u(8)      subpic_grid_col_width_minus1 u(v)      subpic_grid_row_height_minus1 u(v)       for( i = 0; i < NumSubPicGridRows; i++ )            for( j = 0; j < NumSubPicGridCols; j++ )              subpic_grid_idx [ i ][ j ] u(v)       for( i = 0; i  <=  NumSubPics; i++ ) {           subpic_treated_as_pic_flag [ i ] u(1)         loop_filter_across_subpic_enabled_flag [ i ] u(1)       }      }   bit_depth_luma_minus8 ue(v) bit_depth_chroma_minus8 ue(v)     sps_extension_flag u(1)    if( sps_extension_flag )         while( more_rbsp_data( ) )           sps_extension_data_flag u(1)    rbsp_trailing_bits( )   }   The following table 1C is another example syntax table of the sequence parameter set (SPS) original byte sequence payload (RBSP), which provides the specification of the sub-image: Table 1C : SPS designated sub-image seq_parameter_set_rbsp() { Descriptor sps_decoding_parameter_set_id u(4) sps_video_parameter_set_id u(4) subpics_present_flag u(1) if( subpics_present_flag) { num_subpics_minus2 u(8) subpic_grid_col_width_minus1 u(v) subpic_grid_row_height_minus1 u(v) for( i = 0; i < NumSubPicGridRows; i++) for( j = 0; j < NumSubPicGridCols; j++) subpic_grid_idx [i ][ j] u(v) for( i = 0; i <= NumSubPics; i++) { subpic_treated_as_pic_flag [i] u(1) loop_filter_across_subpic_enabled_flag [i] u(1) } } bit_depth_luma_minus8 ue(v) bit_depth_chroma_minus8 ue(v) sps_extension_flag u(1) if( sps_extension_flag) while( more_rbsp_data()) sps_extension_data_flag u(1) rbsp_trailing_bits() }

以下的表1D是序列參數集合(SPS)原始位元組序列有效載荷(RBSP)的另一示例語法表,該語法表提供子圖像的規範: 1D SPS 指定子圖像 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 )   gdr_enabled_flag u(1) sps_seq_parameter_set_id ue(v) chroma_format_idc ue(v)    if( chroma_format_idc  = =  3 )   separate_colour_plane_flag u(1) pic_width_max_in_luma_samples ue(v) pic_height_max_in_luma_samples ue(v) log2_ctu_size_minus5 u(2) subpics_present_flag u(1)    if( subpics_present_flag ) {        num_subpics_minus1 u(8)    signalled_subpic_grid_flag u(1)     if( signalled_subpic_grid_flag ) {          subpic_grid_col_width_minus1 u(v)        subpic_grid_row_height_minus1 u(v)     }       else {           subpic_grid_col_width_minus1 = 0           subpic_grid_row_height_minus1 = 0       }   bottom_right_subpic_grid_idx_length_minus1 u(v)       for( i = 0; i < num_subpics_minus1; i++ ) {   bottom_right_subpic_grid_idx_delta [ i ] u(v)       if( i > 0 )   subpic_grid_idx_delta_sign_flag [ i ] u(1)       }         for( i = 0; i < num_subpics_minus1; i++ ) {           subpic_treated_as_pic_flag [ i ] u(1)         loop_filter_across_subpic_enabled_flag [ i ] u(1)       }      }   bit_depth_luma_minus8 ue(v) bit_depth_chroma_minus8 ue(v)     sps_extension_flag u(1)    if( sps_extension_flag )         while( more_rbsp_data( ) )           sps_extension_data_flag u(1)    rbsp_trailing_bits( )   }   The following table 1D is another example syntax table of the sequence parameter set (SPS) original byte sequence payload (RBSP), which provides the specification of the sub-image: Table 1D : SPS designated sub-image Seq_parameter_set_rbsp() { Descriptor 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) gdr_enabled_flag u(1) sps_seq_parameter_set_id ue(v) chroma_format_idc ue(v) if( chroma_format_idc == 3) separate_colour_plane_flag u(1) pic_width_max_in_luma_samples ue(v) pic_height_max_in_luma_samples ue(v) log2_ctu_size_minus5 u(2) subpics_present_flag u(1) if( subpics_present_flag) { num_subpics_minus1 u(8) signalled_subpic_grid_flag u(1) if( signalled_subpic_grid_flag) { subpic_grid_col_width_minus1 u(v) subpic_grid_row_height_minus1 u(v) } else { subpic_grid_col_width_minus1 = 0 subpic_grid_row_height_minus1 = 0 } bottom_right_subpic_grid_idx_length_minus1 u(v) for( i = 0; i < num_subpics_minus1; i++) { bottom_right_subpic_grid_idx_delta [i] u(v) if( i > 0) subpic_grid_idx_delta_sign_flag [i] u(1) } for( i = 0; i < num_subpics_minus1; i++) { subpic_treated_as_pic_flag [i] u(1) loop_filter_across_subpic_enabled_flag [i] u(1) } } bit_depth_luma_minus8 ue(v) bit_depth_chroma_minus8 ue(v) sps_extension_flag u(1) if( sps_extension_flag) while( more_rbsp_data()) sps_extension_data_flag u(1) rbsp_trailing_bits() }

語法元素subpics_present_flag為1表示子圖像參數當前存在於SPS RBSP語法中。在一些實施例中,當subpics_present_flag等於1時,rect_slice_flag的值被設置為1。語法元素subpics_present_flag為0指示在SPS RBSP語法中當前不存在子圖像參數。在一些實施例中,當位元流是子位元流提取處理的結果並且僅包含子位元流提取處理的輸入位元流的子圖像的子集合時,在SPS的RBSP中subpics_present_flag的值被設置為1。The syntax element subpics_present_flag being 1 indicates that the sub-picture parameter currently exists in the SPS RBSP syntax. In some embodiments, when subpics_present_flag is equal to 1, the value of rect_slice_flag is set to 1. The syntax element subpics_present_flag being 0 indicates that there are currently no sub-picture parameters in the SPS RBSP syntax. In some embodiments, the value of subpics_present_flag in the RBSP of the SPS when the bit stream is the result of the sub-bit stream extraction process and only contains a subset of the sub-images of the input bit stream of the sub-bit stream extraction process It is set to 1.

語法元素max_subpics_minus2加2指定編解碼視訊序列(coded video sequence,簡稱CVS)中可能存在子圖像的最大數量。在一些實施例中,max_subpics_minus2被限制在0到254的範圍內。值255被保留供將來使用。The syntax element max_subpics_minus2 plus 2 specifies the maximum number of sub-pictures that may exist in a coded video sequence (CVS). In some embodiments, max_subpics_minus2 is limited to the range of 0 to 254. The value 255 is reserved for future use.

語法元素num_subpics_minus1加1指定CVS中可能存在的子圖像的數量。在一些實施例中,num_subpics_minus1的值被限制在0至254的範圍內。值255被保留以供將來使用。如表1D所示,藉由語法元素num_subpics_minus1,CVS中存在的子圖像的數量在SPS中直接被發送。The syntax element num_subpics_minus1 plus 1 specifies the number of sub-pictures that may exist in the CVS. In some embodiments, the value of num_subpics_minus1 is limited to a range of 0 to 254. The value 255 is reserved for future use. As shown in Table 1D, with the syntax element num_subpics_minus1, the number of sub-pictures existing in the CVS is directly sent in the SPS.

語法元素num_subpics_minus2加2指定CVS中可能存在的子圖像的數量。在一些實施例中,num_subpics_minus2的值被限制在0至254的範圍內。值255被保留以供將來使用。The syntax element num_subpics_minus2 plus 2 specifies the number of sub-pictures that may exist in the CVS. In some embodiments, the value of num_subpics_minus2 is limited to a range of 0 to 254. The value 255 is reserved for future use.

語法元素subpic_grid_col_width_minus1加1指定子圖像識別字網格(不包括圖像的最右邊的網格列)的每個元素的寬度(以CtbSizeY為單位)。語法元素的長度為Ceil(Log2(pic_width_max_in_luma_samples/CtbSizeY))位元。如果不存在,則subpic_grid_row_width_minus1被推斷為0。The syntax element subpic_grid_col_width_minus1 plus 1 specifies the width (in CtbSizeY) of each element of the sub-image recognition word grid (excluding the rightmost grid column of the image). The length of the syntax element is Ceil (Log2 (pic_width_max_in_luma_samples/CtbSizeY)) bits. If it does not exist, subpic_grid_row_width_minus1 is inferred to be 0.

語法元素subpic_grid_row_height_minus1加1指定子圖像識別字網格(不包括圖像的底部網格行)中每個元素的高度(以CtbSizeY為單位)。語法元素的長度為Ceil(Log2(pic_height_max_in_luma_samples / CtbSizeY))位元。如果不存在,則subpic_grid_row_height_minus1被推斷為0。The syntax element subpic_grid_row_height_minus1 plus 1 specifies the height (in CtbSizeY) of each element in the sub-image recognition word grid (excluding the bottom grid row of the image). The length of the syntax element is Ceil (Log2 (pic_height_max_in_luma_samples / CtbSizeY)) bits. If it does not exist, subpic_grid_row_height_minus1 is inferred to be 0.

變數NumSubPicGridRows的導出如下: NumSubPicGridRows = (pic_height_max_in_luma_samples + subpic_grid_row_height_minus1 * CtbSizeY + CtbSizeY – 1)/ (subpic_grid_row_height_minus1 * CtbSizeY + CtbSizeY)The variable NumSubPicGridRows is exported as follows: NumSubPicGridRows = (Pic_height_max_in_luma_samples + subpic_grid_row_height_minus1 * CtbSizeY + CtbSizeY – 1)/ (Subpic_grid_row_height_minus1 * CtbSizeY + CtbSizeY)

語法元素bottom_right_subpic_grid_idx_length_minus1 加1指定用於表示語法元素bottom_right_subpic_grid_idx_delta [i]的位元數量。bottom_right_subpic_grid_idx_length_minus1的值應在0到Ceil(Log2(NumSubPicGridRows * NumSubPicGridCols))− 1的範圍,包括端點。The syntax element bottom_right_subpic_grid_idx_length_minus1 plus 1 specifies the number of bits used to represent the syntax element bottom_right_subpic_grid_idx_delta[i]. The value of bottom_right_subpic_grid_idx_length_minus1 shall be in the range of 0 to Ceil (Log2(NumSubPicGridRows * NumSubPicGridCols)) − 1, including the endpoints.

當i大於0時,變數bottom_right_subpic_grid_idx_delta [i]指定第i個子圖像的右下角的子圖像網格索引與第i-1個子圖像的右下角的子圖像網格索引之間的差值。變數bottom_right_subpic_grid_idx_delta [0]指定第0個子圖像的右下角的子圖像網格索引。When i is greater than 0, the variable bottom_right_subpic_grid_idx_delta [i] specifies the difference between the sub-image grid index in the lower right corner of the i-th sub-image and the sub-image grid index in the lower right corner of the i-1th sub-image . The variable bottom_right_subpic_grid_idx_delta[0] specifies the sub-image grid index of the lower right corner of the 0th sub-image.

語法元素subpic_grid_idx_delta_sign_flag [i] 等於1表示bottom_right_subpic_grid_idx_delta [i]的正號。 sign_bottom_right_subpic_grid_idx_delta [i]等於0表示bottom_right_subpic_grid_idx_delta [i]的負號。The syntax element subpic_grid_idx_delta_sign_flag [i] equal to 1 represents the positive sign of bottom_right_subpic_grid_idx_delta [i]. sign_bottom_right_subpic_grid_idx_delta [i] equal to 0 means the negative sign of bottom_right_subpic_grid_idx_delta [i].

第1a-e圖概念性地示出基於CTB或CTU的網格單元,其用於指定視訊序列的子圖像。第1a圖示出包括幾個視訊圖像的視訊序列(coded video sequence,簡稱CVS)100。序列100中的視訊圖像(例如圖像110)被分成CTU。第1b圖示出序列的圖像被劃分為用於指定子圖像的子圖像網格。每個子圖像網格120對應於整數個CTU,使得每個子圖像網格基於CTU或CTB的邊界來定義。第1c圖示出一個示例,其中每個子圖像網格120恰好對應於一個CTU或CTB。第1d圖示出其中每個子圖像網格120對應於2x1個CTU或CTB的示例。第1e圖示出一個示例,其中每個子圖像網格120對應於2×3個CTU或CTB。在一些實施例中,諸如Spic_grid_col_width_minus1和subpic_grid_row_height_minus1之類的SPS語法元素根據CTU或CTB來定義子圖像網格。另外,每個CTU或CTB的大小在SPS中以語法元素log2_ctu_size_minus5發送。Figures 1a-e conceptually show a grid unit based on CTB or CTU, which is used to specify sub-images of a video sequence. Figure 1a shows a coded video sequence (CVS) 100 including several video images. The video image (for example, image 110) in the sequence 100 is divided into CTUs. Figure 1b shows that the images of the sequence are divided into sub-image grids for specifying sub-images. Each sub-image grid 120 corresponds to an integer number of CTUs, so that each sub-image grid is defined based on the boundary of the CTU or CTB. Figure 1c shows an example in which each sub-image grid 120 corresponds to exactly one CTU or CTB. Figure 1d shows an example in which each sub-image grid 120 corresponds to 2×1 CTUs or CTBs. Figure 1e shows an example in which each sub-image grid 120 corresponds to 2×3 CTUs or CTBs. In some embodiments, SPS syntax elements such as Spic_grid_col_width_minus1 and subpic_grid_row_height_minus1 define the sub-image grid according to CTU or CTB. In addition, the size of each CTU or CTB is sent in the SPS with the syntax element log2_ctu_size_minus5.

第2圖示出基於CTU或CTB的子圖像網格,其被索引以用於指定子圖像。圖像110中的每個子圖像網格對應於當視訊編解器正在發送子圖像的尺寸(例如,寬度,高度)和/或位置時可以使用的索引。子圖像識別字網格的指定元素以光柵掃描的順序進行索引。在一些實施例中,子圖像也以光柵掃描的順序進行索引。Figure 2 shows a grid of sub-images based on CTU or CTB, which is indexed for specifying sub-images. Each sub-image grid in the image 110 corresponds to an index that can be used when the size (eg, width, height) and/or position of the sub-image is being sent by the video codec. The specified elements of the sub-image recognition word grid are indexed in raster scan order. In some embodiments, the sub-images are also indexed in raster scan order.

如圖所示,序列100的圖像(例如圖像110)被定義為具有四個子圖像210、220、230和240,這些子圖像使用基於CTU或CTB的子圖像網格來定義。與子圖像網格相關聯的索引用於指定子圖像210-240的尺寸和位置。As shown in the figure, the image of the sequence 100 (for example, the image 110) is defined as having four sub-images 210, 220, 230, and 240, and these sub-images are defined using a sub-image grid based on CTU or CTB. The index associated with the sub-image grid is used to specify the size and position of the sub-images 210-240.

在一些實施例中,基於與子圖像的角(例如,右下角或左上角)的子圖像網格相關聯的索引,每個子圖像的位置被指定。在該圖中,子圖像210的位置是索引27,子圖像220的位置是索引36,子圖像230的位置是索引79,子圖像240的位置是索引84。藉由參考另一子圖像的右下角位置,諸如bottom_right_subpic_grid_idx_delta [i]和subpic_grid_idx_delta_sign_flag [i]之類的SPS語法元素被用來指定子圖像的右下角位置。或者,在一些實施例中,每個基於CTU/CTB的子圖像網格可與X索引和Y索引相關聯,並且每個子圖像的位置可由子圖像的左上角的子圖像網格的X和Y索引指定。In some embodiments, the position of each sub-image is specified based on the index associated with the sub-image grid at the corner of the sub-image (eg, the lower right corner or the upper left corner). In this figure, the position of sub-image 210 is index 27, the position of sub-image 220 is index 36, the position of sub-image 230 is index 79, and the position of sub-image 240 is index 84. By referring to the lower right corner position of another sub-image, SPS syntax elements such as bottom_right_subpic_grid_idx_delta [i] and subpic_grid_idx_delta_sign_flag [i] are used to specify the lower right corner position of the sub-image. Or, in some embodiments, each CTU/CTB-based sub-image grid can be associated with an X index and a Y index, and the position of each sub-image can be determined by the sub-image grid in the upper left corner of the sub-image. The X and Y indexes are specified.

在一些實施例中,在視訊參數集合(Video Parameter Set,簡稱VPS)中子圖像(在CVS中)的最大數量被指定。以下的表3是VPS的示例語法表,該語法表指定CVS中子圖像的最大數量。表3:VPS指定CVS中子圖像的最大數量 Video_parameter_set_rbsp( ) { 描述符 vps_video_parameter_set_id u(4) vps_max_layers_minus1 u(6) vps_max_subpics_minus2 u(8)    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_dependency_flag [ i ][ j ] u(1)       }      }      if( vps_max_layers_minus1 > 0 ) {        vps_output_layers_mode u(2)       if( vps_output_layers_mode  = =  2 )            for( i = 0; i < vps_max_layers_minus1; i++ )              vps_output_layer_flag [ i ] u(1)    }     vps_constraint_info_present_flag u(1)   vps_reserved_zero_7bits u(7)    if( vps_constraint_info_present_flag )         general_constraint_info( )     vps_extension_flag u(1)    if( vps_extension_flag )         while( more_rbsp_data( ) )           vps_extension_data_flag u(1)    rbsp_trailing_bits( )   }   In some embodiments, the maximum number of sub-images (in CVS) in a Video Parameter Set (VPS) is specified. The following Table 3 is an example syntax table of VPS, which specifies the maximum number of sub-pictures in CVS. Table 3: VPS specifies the maximum number of sub-images in CVS Video_parameter_set_rbsp() { Descriptor vps_video_parameter_set_id u(4) vps_max_layers_minus1 u(6) vps_max_subpics_minus2 u(8) 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_dependency_flag [i ][ j] u(1) } } if( vps_max_layers_minus1 > 0) { vps_output_layers_mode u(2) if( vps_output_layers_mode = = 2) for( i = 0; i < vps_max_layers_minus1; i++) vps_output_layer_flag [i] u(1) } vps_constraint_info_present_flag u(1) vps_reserved_zero_7bits u(7) if( vps_constraint_info_present_flag) general_constraint_info() vps_extension_flag u(1) if( vps_extension_flag) while( more_rbsp_data()) vps_extension_data_flag u(1) rbsp_trailing_bits() }

語法元素vps_max_subpics_minus2 加2(或vps_max_subpics_minus1加1)指定每個CVS中參考VPS的子圖像的最大允許數量。在一些實施例中,語法元素vps_max_subpics_minus2被限制在0至254的範圍內。值255被保留以供將來使用。The syntax element vps_max_subpics_minus2 plus 2 (or vps_max_subpics_minus1 plus 1) specifies the maximum allowable number of sub-pictures that refer to the VPS in each CVS. In some embodiments, the syntax element vps_max_subpics_minus2 is limited to the range of 0 to 254. The value 255 is reserved for future use.

在一些實施例中,與子圖像相關的參數在圖像參數集合(Picture Paramter Set,簡稱PPS)中被發送。以下的 4 示出了包括子圖像資訊的PPS的示例語法表。 4:PPS 指定子圖像 ID pic_parameter_set_rbsp( ) { 描述符 pps_pic_parameter_set_id ue(v) pps_seq_parameter_set_id ue(v) pic_width_in_luma_samples ue(v) pic_height_in_luma_samples ue(v) conformance_window_flag u(1)    if( conformance_window_flag ) {   conf_win_left_offset ue(v) conf_win_right_offset ue(v) conf_win_top_offset ue(v) conf_win_bottom_offset ue(v)    }   output_flag_present_flag u(1) single_ tile_in_pic_flag u(1)    if( !single_tile_in_pic_flag ) {       uniform_tile_spacing_flag u(1)        loop_filter_across_bricks_enabled_flag u(1)       if( loop_filter_across_bricks_enabled_flag )           loop_filter_across_slices_enabled_flag u(1)    }      if( rect_slice_flag ) {   signalled_slice_id_flag u(1)       if( signalled_slice_id_flag ) {   signalled_slice_id_length_minus1 ue(v)         for( i = 0; i  <=  num_slices_in_pic_minus1; i++ )   slice_id [ i ] u(v)       }      }      if(subpics_present_flag ) {   signalled_subpic_id_flag u(1)       if( signalled_subpic_id_flag ) {   signalled_subpic_id_length_minus1 ue(v)         for( i = 0; i  <=  num_subpics_minus1; i++ )   subpic_id [ i ] u(v)       }      }   entropy_coding_sync_enabled_flag u(1)   slice_header_extension_present_flag u(1)   pps_extension_flag u(1)    if( pps_extension_flag )         while( more_rbsp_data( ) )           pps_extension_data_flag u(1)    rbsp_trailing_bits( )   }   In some embodiments, the parameters related to the sub-image are sent in a picture parameter set (Picture Paramter Set, PPS for short). The following Table 4 shows an example syntax table of PPS including sub-picture information. Table 4: PPS designated sub-image ID pic_parameter_set_rbsp() { Descriptor pps_pic_parameter_set_id ue(v) pps_seq_parameter_set_id ue(v) pic_width_in_luma_samples ue(v) pic_height_in_luma_samples ue(v) conformance_window_flag u(1) if( conformance_window_flag) { conf_win_left_offset ue(v) conf_win_right_offset ue(v) conf_win_top_offset ue(v) conf_win_bottom_offset ue(v) } output_flag_present_flag u(1) single_ tile_in_pic_flag u(1) if( !single_tile_in_pic_flag) { uniform_tile_spacing_flag u(1) loop_filter_across_bricks_enabled_flag u(1) if( loop_filter_across_bricks_enabled_flag) loop_filter_across_slices_enabled_flag u(1) } if( rect_slice_flag) { signalled_slice_id_flag u(1) if( signalled_slice_id_flag) { signalled_slice_id_length_minus1 ue(v) for( i = 0; i <= num_slices_in_pic_minus1; i++) slice_id [i] u(v) } } if(subpics_present_flag) { signalled_subpic_id_flag u(1) if( signalled_subpic_id_flag) { signalled_subpic_id_length_minus1 ue(v) for( i = 0; i <= num_subpics_minus1; i++) subpic_id [i] u(v) } } entropy_coding_sync_enabled_flag u(1) slice_header_extension_present_flag u(1) pps_extension_flag u(1) if( pps_extension_flag) while( more_rbsp_data()) pps_extension_data_flag u(1) rbsp_trailing_bits() }

在一些實施例中,PPS中的語法元素rect_slice_flag 為0指定每個片段內的磚塊為光柵掃描順序並且在PPS中未發送片段資訊。語法元素rect_slice_flag為1表示每個片段中的磚塊覆蓋圖像的矩形區域,並且在PPS中發送片段資訊。當subpics_present_flag等於1時,rect_slice_flag的值應等於1。在一些實施例中,當brick_splitting_present_flag等於1時,將rect_slice_flag的值被設置為1。如果不存在,則語法元素rect_slice_flag被推斷為等於1。In some embodiments, the syntax element rect_slice_flag of 0 in the PPS specifies that the tiles in each segment are in raster scan order and no segment information is sent in the PPS. The syntax element rect_slice_flag is 1 indicating that the tiles in each segment cover the rectangular area of the image, and the segment information is sent in the PPS. When subpics_present_flag is equal to 1, the value of rect_slice_flag should be equal to 1. In some embodiments, when brick_splitting_present_flag is equal to 1, the value of rect_slice_flag is set to 1. If it does not exist, the syntax element rect_slice_flag is inferred to be equal to 1.

語法元素signalled_subpic_id_flag 為1指定每個子圖像的子圖像ID被發送。語法元素signalled_subpic_id_flag 為0表示子圖像ID不被發送。如果不存在,則signalled_subpic_id_flag的值被推斷為等於0。The syntax element signalled_subpic_id_flag of 1 specifies that the sub-picture ID of each sub-picture is sent. The syntax element signalled_subpic_id_flag being 0 means that the sub-picture ID is not sent. If it does not exist, the value of signalled_subpic_id_flag is inferred to be equal to zero.

語法元素signalled_subpic_id_length_minus1 加1指定用於表示存在時語法元素subpic_id [i]的位元的數量,以及片段報頭中的語法元素subpicture_id。在一些實施例中,signalled_subpic_id_length_minus1的值被限制在0到7的範圍內(包括0和7)。如果不存在,則signalled_subpic_id_length_minus1的值被推斷為等於Ceil(Log2(Max(2,num_subpics_minus1 + 1)))− 1。The syntax element signalled_subpic_id_length_minus1 plus 1 specifies the number of bits used to represent the syntax element subpic_id [i] when it exists, and the syntax element subpicture_id in the fragment header. In some embodiments, the value of signalled_subpic_id_length_minus1 is limited to the range of 0 to 7 (including 0 and 7). If it does not exist, the value of signalled_subpic_id_length_minus1 is inferred to be equal to Ceil(Log2(Max(2, num_subpics_minus1 + 1))) − 1.

語法元素subpic_id [i]指定第i個子圖像的子圖像ID。subpuic_id [i]語法元素的長度為signalled_subpic_id_length_minus1 + 1位元。如果不存在,則對於在0到num_subpics_minus1(含0和num_subpics_minus1)的範圍內的每個i,subpic_id [i]的值均被推斷為等於i。具有相同子圖像ID的片段共同形成子圖像區域。The syntax element subpic_id [i] specifies the sub-picture ID of the i-th sub-picture. The length of the subpuic_id [i] syntax element is signalled_subpic_id_length_minus1 + 1 bit. If it does not exist, for each i in the range of 0 to num_subpics_minus1 (including 0 and num_subpics_minus1), the value of subpic_id[i] is inferred to be equal to i. Segments with the same sub-image ID collectively form a sub-image area.

語法元素subpicture_id 指定當前片段所屬的子圖像ID。subpic_id語法元素的長度為Ceil(Log2(num_subpics_minus1 + 1))位元。subpicture_id的值是對PPS中指定的subpic_id [i]的映射。第i個子圖像的發送的子圖像ID subpic_id [i]可被加至PPS中,映射至PPS中的subpic_id [i]的發送的子圖像ID subpicure_id可被加至片段報頭中。以下的 5 示出包括子圖像資訊的片段報頭的示例語法表。表5:片段報頭指定子圖像ID slice_header( ) { 描述符   slice_pic_parameter_set_id ue(v)   if( subpics_present_flag )   subpicture_id u(v)    if( rect_slice_flag  | |  NumBricksInPic > 1 )        slice_address u(v)    if( !rect_slice_flag  &&  !single_brick_per_slice_flag )        num_bricks_in_slice_minus1 ue(v)   non_reference_picture_flag u(1)   slice_type ue(v)        if( slice_header_extension_present_flag ) {        slice_header_extension_length ue(v)       for( i = 0; i < slice_header_extension_length; i++)           slice_header_extension_data_byte [ i ] u(8)    }      byte_alignment( )   }       The syntax element subpicture_id specifies the subpicture ID to which the current segment belongs. The length of the subpic_id syntax element is Ceil (Log2 (num_subpics_minus1 + 1)) bits. The value of subpicture_id is a mapping to subpic_id[i] specified in PPS. The transmitted sub-picture ID subpic_id [i] of the i-th sub-picture may be added to the PPS, and the transmitted sub-picture ID subpicure_id mapped to subpic_id [i] in the PPS may be added to the segment header. The following Table 5 shows an example syntax table of a segment header including sub-picture information. Table 5: The sub-image ID specified by the fragment header slice_header() { Descriptor slice_pic_parameter_set_id ue(v) if( subpics_present_flag) subpicture_id u(v) if( rect_slice_flag | | NumBricksInPic > 1) slice_address u(v) if( !rect_slice_flag && !single_brick_per_slice_flag) num_bricks_in_slice_minus1 ue(v) non_reference_picture_flag u(1) slice_type ue(v) if( slice_header_extension_present_flag) { slice_header_extension_length ue(v) for( i = 0; i < slice_header_extension_length; i++) slice_header_extension_data_byte [i] u(8) } byte_alignment() }

在一些實施例中,假設對於CVS子圖像ID不變,則子圖像ID可在CVS的片段標頭,PPS和/或SPS中發送。例如,根據以下的 6 ,第i個子圖像的發送的子圖像ID subpic_id [i]可以在SPS(而不是PPS)中發送: 6 SPS 指定子圖像 ID Seq_parameter_set_rbsp( ) {   ...         for( i = 0; i < num_subpics_minus1; i++ ) {   subpic_id [ i ] u(v)         subpic_treated_as_pic_flag [ i ] u(1)         loop_filter_across_subpic_enabled_flag [ i ] u(1)       }      }   ...   II. 示例視訊編碼器 In some embodiments, assuming that the sub-picture ID is unchanged for the CVS, the sub-picture ID may be sent in the segment header, PPS and/or SPS of the CVS. For example, according to Table 6 below , the transmitted sub-picture ID subpic_id [i] of the i-th sub-picture can be sent in SPS (rather than PPS): Table 6 : SPS specifies the sub-picture ID Seq_parameter_set_rbsp() { ... for( i = 0; i < num_subpics_minus1; i++) { subpic_id [i] u(v) subpic_treated_as_pic_flag [i] u(1) loop_filter_across_subpic_enabled_flag [i] u(1) } } ... II. Example video encoder

第3圖說明支援子圖像的實例視訊編碼器300。如圖所示,視訊編碼器300從視訊源305接收輸入視訊訊號,並將該訊號編碼為位元流395。視訊編碼器300具有若干元件或模組,其用於對來自視訊源305的訊號進行編碼,至少包括從以下元件中選擇的一些元件:變換模組310,量化模組311,逆量化模組314,逆變換模組315,幀内估計模組320,幀內預測模組325,運動補償模組330,運動估計模組335,環内濾波器345,重構圖像緩衝器350,MV緩衝器365和MV預測模組375,以及熵編碼器390。運動補償模組330和運動估計模組335是幀間預測模組340的一部分 。Figure 3 illustrates an example video encoder 300 supporting sub-images. As shown in the figure, the video encoder 300 receives an input video signal from a video source 305 and encodes the signal into a bit stream 395. The video encoder 300 has a number of components or modules, which are used to encode the signal from the video source 305, at least including some selected from the following components: a transformation module 310, a quantization module 311, and an inverse quantization module 314 , Inverse transform module 315, intra-frame estimation module 320, intra-frame prediction module 325, motion compensation module 330, motion estimation module 335, in-loop filter 345, reconstructed image buffer 350, MV buffer 365 and MV prediction module 375, and entropy encoder 390. The motion compensation module 330 and the motion estimation module 335 are part of the inter prediction module 340.

在一些實施例中,模組310-390是由計算設備或電子設備的一個或多個處理單元(例如,處理器)執行的軟體指令的模組。在一些實施例中,模組310-390是由電子設備的一個或多個積體電路(IC)實現的硬體電路的模組。儘管將模組310–390圖示為單獨的模組,但是其中一些模組可被組合為單個模組。In some embodiments, the modules 310-390 are modules of software instructions executed by one or more processing units (for example, processors) of a computing device or an electronic device. In some embodiments, the modules 310-390 are modules of hardware circuits implemented by one or more integrated circuits (ICs) of the electronic device. Although the modules 310-390 are illustrated as separate modules, some of the modules may be combined into a single module.

視訊源305提供原始視訊訊號(raw video signal),該原始視訊訊號無需壓縮即可呈現每個視訊幀的像素資料。減法器308計算視訊源305的原始視訊像素資料與來自運動補償模組330或幀內預測模組325的預測像素資料313之間的差值。變換模組310將該差值(或殘差像素資料或殘差訊號309)轉換成變換係數(例如,藉由執行離散余弦變換或DCT)。量化模組311將變換係數量化為量化資料(或量化係數)312,其由熵編碼器390編碼為位元流395。The video source 305 provides a raw video signal, which can present the pixel data of each video frame without compression. The subtractor 308 calculates the difference between the original video pixel data of the video source 305 and the predicted pixel data 313 from the motion compensation module 330 or the intra prediction module 325. The transform module 310 converts the difference (or residual pixel data or residual signal 309) into transform coefficients (for example, by performing discrete cosine transform or DCT). The quantization module 311 quantizes the transform coefficients into quantized data (or quantized coefficients) 312, which is encoded into a bit stream 395 by the entropy encoder 390.

逆量化模組314對量化資料(或量化係數)312進行逆量化以獲得變換係數,並且逆變換模組315對變換係數執行逆變換以產生重構殘差319。重構殘差319被加至預測像素資料313一起產生重構像素資料317。在一些實施例中,重構像素資料317被臨時存儲在行緩衝器(未示出)中,以用於幀內預測(intra-picture prediction)和空間MV預測。重構像素由環内濾波器345濾波並被存儲在重構圖像緩衝器350中。在一些實施例中,重構圖像緩衝器350是視訊編碼器300外部的記憶體。在一些實施例中,重構圖像緩衝器350是視訊編碼器300的内部記憶體。The inverse quantization module 314 inversely quantizes the quantized data (or quantized coefficients) 312 to obtain transform coefficients, and the inverse transform module 315 performs inverse transform on the transform coefficients to generate a reconstruction residual 319. The reconstruction residual 319 is added to the predicted pixel data 313 together to generate the reconstructed pixel data 317. In some embodiments, the reconstructed pixel data 317 is temporarily stored in a line buffer (not shown) for intra-picture prediction and spatial MV prediction. The reconstructed pixels are filtered by the in-loop filter 345 and stored in the reconstructed image buffer 350. In some embodiments, the reconstructed image buffer 350 is a memory external to the video encoder 300. In some embodiments, the reconstructed image buffer 350 is the internal memory of the video encoder 300.

幀内估計模組320基於重構像素資料317執行幀內預測以產生幀內預測資料。幀內預測資料被提供至熵編碼器390以被編碼為位元流395。幀內預測資料還由幀內預測模組325使用以產生預測像素資料313。The intra-frame estimation module 320 performs intra-frame prediction based on the reconstructed pixel data 317 to generate intra-frame prediction data. The intra prediction data is provided to the entropy encoder 390 to be encoded as a bit stream 395. The intra prediction data is also used by the intra prediction module 325 to generate predicted pixel data 313.

運動估計模組335藉由產生MV以對存儲在重構圖像緩衝器350中的先前解碼的幀的參考像素資料執行幀間預測。這些MV被提供至運動補償模組330以產生預測像素資料。The motion estimation module 335 generates the MV to perform inter-frame prediction on the reference pixel data of the previously decoded frame stored in the reconstructed image buffer 350. These MVs are provided to the motion compensation module 330 to generate predicted pixel data.

代替對位元流中的完整的實際MV進行編碼,視訊編碼器300使用MV預測生成預測的MV,並且用於運動補償的MV與預測的MV之間的差值被編碼為殘差運動資料並被存儲在位元流395。Instead of encoding the complete actual MV in the bitstream, the video encoder 300 uses MV prediction to generate a predicted MV, and the difference between the MV used for motion compensation and the predicted MV is encoded as residual motion data and It is stored in the bitstream 395.

MV預測模組375基於參考MV生成預測的MV,參考MV被生成以對先前的視訊幀進行編碼,即,用於執行運動補償的運動補償MV。MV預測模組375從MV緩衝器365中的先前視訊幀中取回參考MV。視訊編碼器300將對當前視訊幀生成的MV存儲在MV緩衝器365中,作為用於生成預測MV的參考MV。The MV prediction module 375 generates a predicted MV based on a reference MV, which is generated to encode a previous video frame, that is, a motion compensation MV for performing motion compensation. The MV prediction module 375 retrieves the reference MV from the previous video frame in the MV buffer 365. The video encoder 300 stores the MV generated for the current video frame in the MV buffer 365 as a reference MV for generating the predicted MV.

MV預測模組375使用參考MV來創建預測的MV。預測MV可藉由空間MV預測或時間MV預測來計算。當前幀的預測MV和運動補償MV(motion compensation motion vector,簡稱MC MV)之間的差值(殘差運動資料)可由熵編碼器390編碼到位元流395中。The MV prediction module 375 uses the reference MV to create the predicted MV. The predicted MV can be calculated by spatial MV prediction or temporal MV prediction. The difference (residual motion data) between the prediction MV of the current frame and the motion compensation MV (motion compensation motion vector, MC MV for short) may be encoded into the bit stream 395 by the entropy encoder 390.

熵編碼器390使用諸如上下文自我調整二進位算術編碼(context-adaptive binary arithmetic coding,簡稱CABAC)或霍夫曼編碼的熵編碼技術將各種參數和資料編碼到位元流395中。熵編碼器390將各種報頭元素,標誌以及量化的變換係數312和殘差運動資料作為語法元素編碼到位元流395中。位元流395又被存儲在存放裝置中或經由通訊媒介(例如網路)傳輸到解碼器。The entropy encoder 390 uses an entropy coding technique such as context-adaptive binary arithmetic coding (CABAC) or Huffman coding to encode various parameters and data into the bit stream 395. The entropy encoder 390 encodes various header elements, flags, and quantized transform coefficients 312 and residual motion data into the bit stream 395 as syntax elements. The bit stream 395 is stored in a storage device or transmitted to the decoder via a communication medium (such as a network).

環内濾波器345對重構的像素資料317執行濾波或平滑操作以減少編碼的偽像,特別是在區塊的邊界處。在一些實施例中,執行的濾波操作包括樣本適應性偏移(sample adaptive offset,簡稱SAO)。在一些實施例中,濾波操作包括適應性環路濾波器(adaptive loop filter,簡稱ALF)。The in-loop filter 345 performs a filtering or smoothing operation on the reconstructed pixel data 317 to reduce coding artifacts, especially at the boundary of the block. In some embodiments, the filtering operation performed includes sample adaptive offset (SAO for short). In some embodiments, the filtering operation includes an adaptive loop filter (ALF for short).

第4圖概念性地示出視訊編碼器300的實施子圖像的發送的部分。如圖所示,熵編碼器390從視訊源305接收信令,該信令指定子圖像的參數410,該子圖像將存在於視訊圖像的當前編碼序列420中。這些參數410可指示當前編碼序列中存在的子圖像的數量。參數410還可指示每個子圖像的位置和幾何形狀(高度,寬度和尺寸)。 不同子圖像的量化係數312被提供至編碼器300的資料路徑。FIG. 4 conceptually shows a part of the video encoder 300 that performs sub-image transmission. As shown in the figure, the entropy encoder 390 receives signaling from the video source 305, which specifies the parameters 410 of the sub-image, which will exist in the current encoding sequence 420 of the video image. These parameters 410 may indicate the number of sub-pictures existing in the current coding sequence. The parameter 410 may also indicate the position and geometry (height, width, and size) of each sub-image. The quantized coefficients 312 of different sub-images are provided to the data path of the encoder 300.

基於子圖像的參數,熵編碼器390生成被用作位元流395中的子圖像規範的語法元素。這些語法元素可包括子圖像的識別字,子圖像的數量以及子圖像的位置和幾何形狀,並且子圖像的位置和幾何形狀根據基於CTB/CTU的子圖像網格來指定。這些語法元素可被存儲在當前編碼視訊序列420的SPS,視訊序列中的單個圖像的PPS,序列的圖像中的單個片段的片段報頭,和/或整個視訊的VPS中。這些語法元素的示例藉由參考以上的 1A-1D3-6 進行描述。Based on the parameters of the sub-image, the entropy encoder 390 generates syntax elements that are used as the sub-image specification in the bit stream 395. These syntax elements may include the recognition word of the sub-image, the number of sub-images, and the position and geometric shape of the sub-image, and the position and geometric shape of the sub-image are specified according to the CTB/CTU-based sub-image grid. These syntax elements can be stored in the SPS of the currently encoded video sequence 420, the PPS of a single image in the video sequence, the segment header of a single segment in the sequence of images, and/or the VPS of the entire video. Examples of these syntax elements are described by referring to Tables 1A-1D and 3-6 above.

第5圖概念性地示出用於在視訊編碼器處提供子圖像規範的進程500。在一些實施例中,計算設備的一個或多個處理單元(例如,處理器)藉由執行存儲在電腦可讀介質中的指令來實現編碼器300執行進程500。在一些實施例中,實現解碼器300的電子設備執行進程500。Figure 5 conceptually illustrates a process 500 for providing sub-picture specifications at a video encoder. In some embodiments, one or more processing units (eg, processors) of the computing device implement the encoder 300 to execute the process 500 by executing instructions stored in a computer-readable medium. In some embodiments, the electronic device implementing the decoder 300 performs the process 500.

編碼器接收(在塊510處)位元流中將被編碼為視訊圖像序列的資料。編碼器在位元流中發送(在塊520)視訊圖像中的視訊圖像序列中一個或多個子圖像的子圖像規範。在一些實施例中,視訊圖像序列的SPS中的語法元素指示在視訊圖像序列中存在一個或多個子圖像。SPS還可包括語法元素,該語法元素指定視訊圖像序列的子圖像的數量,以及每個子圖像的識別字。子圖像的識別字也可在視訊圖像序列中在視訊圖像的片段報頭和/或PPS中發送。在一些實施例中,視訊圖像序列中的視訊圖像的PPS中的語法元素指示視訊圖像的所有片段都是矩形的。The encoder receives (at block 510) the data in the bit stream to be encoded as a sequence of video images. The encoder sends (at block 520) the sub-image specifications of one or more sub-images in the video image sequence in the video image in the bitstream. In some embodiments, the syntax element in the SPS of the video image sequence indicates that there are one or more sub-images in the video image sequence. The SPS may also include a syntax element that specifies the number of sub-images of the video image sequence and the identification word of each sub-image. The identifier of the sub-image can also be sent in the segment header and/or PPS of the video image in the video image sequence. In some embodiments, the syntax element in the PPS of the video image in the video image sequence indicates that all segments of the video image are rectangular.

藉由提供用於標識子圖像830的CTU的索引,編碼器標識(在塊530處)每個子圖像的位置和尺寸。By providing an index for identifying the CTU of the sub-image 830, the encoder identifies (at block 530) the location and size of each sub-image.

在一些實施例中,所標識的CTU位於子圖像的一角(例如,左上或右下)。在一些實施例中,索引被分配至子圖像網格,並且不同的子圖像網格被分配不同的索引。在一些實施例中,索引標識子圖像網格,該子圖像網格被定義為一個CTU或與一個CTU相對應,使得子圖像網格的邊界沿著CTU的邊界來定義。在一些實施例中,在視訊圖像序列的SPS中,子圖像位置的索引被發送。In some embodiments, the identified CTU is located at a corner of the sub-image (eg, upper left or lower right). In some embodiments, indexes are assigned to sub-image grids, and different sub-image grids are assigned different indexes. In some embodiments, the index identifies a sub-image grid, which is defined as a CTU or corresponds to a CTU, so that the boundary of the sub-image grid is defined along the boundary of the CTU. In some embodiments, in the SPS of the video image sequence, the index of the sub-image position is sent.

根據子圖像規範,編碼器對視訊圖像序列的每個子圖像進行編碼(在塊540處)。 III. 示例視訊解碼器 According to the sub-picture specification, the encoder encodes each sub-picture of the video image sequence (at block 540). III. Example video decoder

第6圖示出支援子圖像的示例視訊解碼器600。如圖所示,視訊解碼器600是圖像解碼或視訊解碼電路,其接收位元流695並將位元流的內容解碼為視訊幀的像素資料以供顯示。視訊解碼器600具有用於解碼位元流695的若干元件或模組,包括從以下元件中選擇的一些元件:逆量化模組611,逆變換模組610,幀內預測模組625,運動補償模組630,環内濾波器645,解碼圖像緩衝器650,MV緩衝器665,MV預測模組675和解析器690。運動補償模組630是幀間預測模組640的一部分。Figure 6 shows an example video decoder 600 that supports sub-images. As shown in the figure, the video decoder 600 is an image decoding or video decoding circuit that receives a bit stream 695 and decodes the content of the bit stream into pixel data of a video frame for display. The video decoder 600 has several elements or modules for decoding the bit stream 695, including some selected from the following elements: inverse quantization module 611, inverse transformation module 610, intra prediction module 625, motion compensation Module 630, in-loop filter 645, decoded image buffer 650, MV buffer 665, MV prediction module 675 and parser 690. The motion compensation module 630 is a part of the inter prediction module 640.

在一些實施例中,模組610-690是由計算設備的一個或多個處理單元(例如,處理器)執行的軟體指令的模組。在一些實施例中,模組610-690是由電子設備的一個或多個IC實現的硬體電路的模組。儘管模組610-690被圖示為單獨的模組,但是一些模組可被組合成單個模組。In some embodiments, the modules 610-690 are modules of software instructions executed by one or more processing units (eg, processors) of the computing device. In some embodiments, the modules 610-690 are hardware circuit modules implemented by one or more ICs of the electronic device. Although the modules 610-690 are shown as separate modules, some modules may be combined into a single module.

解析器690(或熵解碼器)接收位元流695,並根據由視訊編解碼或圖像編解碼標準定義的語法執行初始解析。解析的語法元素包括各種報頭元素,標誌以及量化資料(或量化係數)612。解析器690使用諸如上下文自我調整二進位算術編解碼(contex-adaptive binary arithmetic coding,簡稱CABAC)或霍夫曼編碼的熵編解碼技術解析各種語法元素。The parser 690 (or entropy decoder) receives the bit stream 695, and performs initial analysis according to the syntax defined by the video codec or image codec standard. The parsed syntax elements include various header elements, flags, and quantized data (or quantized coefficients) 612. The parser 690 uses entropy coding and decoding techniques such as context-adaptive binary arithmetic coding (CABAC) or Huffman coding to parse various syntax elements.

逆量化模組611對量化資料(或量化係數)612進行逆量化以獲得變換係數,並且逆變換模組610對變換係數616執行逆變換以產生重構殘差訊號619。重構殘差訊號619被加至來自幀內預測模組625或運動補償模組630的預測像素資料613,以生成解碼像素資料617。解碼像素資料由環内濾波器645濾波並被存儲在解碼圖像緩衝器650中。在一些實施例中,解碼圖像緩衝器650是視訊解碼器600外部的記憶體。在一些實施例中,解碼圖像緩衝器650是視訊解碼器600內部的記憶體。The inverse quantization module 611 performs inverse quantization on the quantized data (or quantized coefficients) 612 to obtain transform coefficients, and the inverse transform module 610 performs inverse transform on the transform coefficients 616 to generate a reconstructed residual signal 619. The reconstructed residual signal 619 is added to the predicted pixel data 613 from the intra-frame prediction module 625 or the motion compensation module 630 to generate decoded pixel data 617. The decoded pixel data is filtered by the in-loop filter 645 and stored in the decoded image buffer 650. In some embodiments, the decoded image buffer 650 is a memory external to the video decoder 600. In some embodiments, the decoded image buffer 650 is the internal memory of the video decoder 600.

幀內預測模組625從位元流695接收幀內預測資料,並據此從存儲在解碼圖像緩衝器650中的解碼像素資料617中生成預測像素資料613。在一些實施例中,解碼像素資料 617也被存儲在用於幀内預測(intra-picture prediction)和空間MV預測的行緩衝器(未示出)中。The intra prediction module 625 receives intra prediction data from the bit stream 695 and generates predicted pixel data 613 from the decoded pixel data 617 stored in the decoded image buffer 650 accordingly. In some embodiments, the decoded pixel data 617 is also stored in a line buffer (not shown) used for intra-picture prediction and spatial MV prediction.

在一些實施例中,解碼圖像緩衝器650的內容用於顯示。顯示裝置655或者取回解碼圖像緩衝器650的內容以直接顯示,或者將解碼圖像緩衝器的內容取回到顯示緩衝器。在一些實施例中,顯示裝置藉由像素傳輸從解碼圖像緩衝器650接收像素值。In some embodiments, the content of the decoded image buffer 650 is used for display. The display device 655 either retrieves the content of the decoded image buffer 650 for direct display, or retrieves the content of the decoded image buffer back to the display buffer. In some embodiments, the display device receives pixel values from the decoded image buffer 650 through pixel transmission.

運動補償模組630根據運動補償MV(MC MV)從存儲在解碼圖像緩衝器650中的解碼像素資料617中生成預測像素資料613。藉由將從位元流695接收到的殘差運動資料與從MV預測模組675接收到的預測MV相加,這些運動補償MV被解碼。The motion compensation module 630 generates predicted pixel data 613 from the decoded pixel data 617 stored in the decoded image buffer 650 according to the motion compensation MV (MC MV). By adding the residual motion data received from the bitstream 695 and the predicted MVs received from the MV prediction module 675, these motion-compensated MVs are decoded.

MV預測模組675基於參考MV生成預測的MV,參考MV被生成以解碼先前的視訊幀,例如,用於執行運動補償的運動補償MV。MV預測模組675從MV緩衝器665中取回先前視訊幀的參考MV。視訊解碼器600將用於解碼當前視訊幀而生成的運動補償MV存儲在MV緩衝器665中,作為用於產生預測MV的參考MV。The MV prediction module 675 generates a predicted MV based on a reference MV, which is generated to decode a previous video frame, for example, a motion compensation MV for performing motion compensation. The MV prediction module 675 retrieves the reference MV of the previous video frame from the MV buffer 665. The video decoder 600 stores the motion compensation MV generated for decoding the current video frame in the MV buffer 665 as a reference MV for generating the predicted MV.

環内濾波器645對解碼的像素資料617執行濾波或平滑操作以減少解碼的偽像,特別是在區塊的邊界處。在一些實施例中,執行的濾波操作包括樣本自我調整偏移(sample adaptive offset,簡稱SAO)。在一些實施例中,濾波操作包括適應性環路濾波器(adaptive loop filter,簡稱ALF)。The in-loop filter 645 performs filtering or smoothing operations on the decoded pixel data 617 to reduce decoding artifacts, especially at block boundaries. In some embodiments, the performed filtering operation includes sample adaptive offset (SAO for short). In some embodiments, the filtering operation includes an adaptive loop filter (ALF for short).

第7圖概念性地示出視訊解碼器600的實施子圖像的發送的部分。如圖所示,熵解碼器690向視訊解碼器600的資料路徑提供量化係數612,視訊解碼器600又對不同的子圖像生成將在顯示裝置655處顯示的像素資料。顯示裝置可根據子圖像參數710顯示接收到的像素資料,其中子圖像參數710用於將在圖像的當前編碼序列720中出現的子圖像。參數710還可指示將在當前編碼的序列中出現的子圖像的數量。這些參數還可指示每個子圖像的位置和幾何形狀(大小,高度,寬度)。熵解碼器690基於從位元流695解碼的語法元素來提供子圖像參數。FIG. 7 conceptually shows a part of the video decoder 600 that performs sub-picture transmission. As shown in the figure, the entropy decoder 690 provides quantization coefficients 612 to the data path of the video decoder 600, and the video decoder 600 generates pixel data to be displayed on the display device 655 for different sub-images. The display device may display the received pixel data according to the sub-picture parameter 710, where the sub-picture parameter 710 is used for the sub-picture that will appear in the current encoding sequence 720 of the picture. The parameter 710 may also indicate the number of sub-pictures that will appear in the currently encoded sequence. These parameters can also indicate the position and geometry (size, height, width) of each sub-image. The entropy decoder 690 provides sub-picture parameters based on the syntax elements decoded from the bitstream 695.

如圖所示,熵解碼器(解析器)690從位元流695接收用作子圖像規範的語法元素。這些語法元素可包括子圖像的識別字,子圖像的數量以及子圖像的位置和幾何形狀,並且子圖像的位置和幾何形狀根據基於CTB / CTU的子圖像網格進行指定。這些語法元素可被存儲在當前編碼視訊序列720的SPS,視訊序列中的單個圖像的PPS,序列的圖像中的單個片段的片段報頭,和/或整個視訊的VPS中。這些語法元素的示例藉由參考以上的表1A-1D和3-6進行描述。As shown in the figure, the entropy decoder (parser) 690 receives from the bitstream 695 syntax elements used as sub-picture specifications. These syntax elements may include the recognition words of the sub-image, the number of sub-images, and the location and geometric shape of the sub-image, and the location and geometric shape of the sub-image are specified according to the CTB/CTU-based sub-image grid. These syntax elements can be stored in the SPS of the currently encoded video sequence 720, the PPS of a single image in the video sequence, the segment header of a single segment in the sequence of images, and/or the VPS of the entire video. Examples of these syntax elements are described by referring to Tables 1A-1D and 3-6 above.

第8圖概念性地示出用於在視訊解碼器處處理子圖像規範的進程800。在一些實施例中,計算設備的一個或多個處理單元(例如,處理器)藉由執行存儲在電腦可讀介質中的指令來實現解碼器600執行進程800。在一些實施例中,實現解碼器600的電子設備執行進程800。Figure 8 conceptually illustrates a process 800 for processing sub-picture specifications at the video decoder. In some embodiments, one or more processing units (eg, processors) of the computing device implement the decoder 600 to execute the process 800 by executing instructions stored in a computer-readable medium. In some embodiments, the electronic device implementing the decoder 600 performs the process 800.

解碼器從位元流接收(在塊810處)將被解碼為視訊圖像序列的資料。解碼器從位元流接收(在塊820)視訊圖像序列中的一個或多個子圖像的子圖像規範。在一些實施例中,視訊圖像序列的SPS中的語法元素指示在視訊圖像序列中存在一個或多個子圖像。SPS還可包括語法元素,該語法元素指定視訊圖像序列的子圖像的數量,以及每個子圖像的識別字。子圖像的識別字也可在視訊圖像序列中視訊圖像的片段報頭和/或PPS中發送。在一些實施例中,視訊圖像序列中的視訊圖像的PPS中的語法元素指示視訊圖像的所有片段都是矩形的。The decoder receives (at block 810) from the bitstream the data to be decoded into a sequence of video images. The decoder receives (at block 820) the sub-image specifications of one or more sub-images in the video image sequence from the bitstream. In some embodiments, the syntax element in the SPS of the video image sequence indicates that there are one or more sub-images in the video image sequence. The SPS may also include a syntax element that specifies the number of sub-images of the video image sequence and the identification word of each sub-image. The identifier of the sub-image can also be sent in the segment header and/or PPS of the video image in the video image sequence. In some embodiments, the syntax element in the PPS of the video image in the video image sequence indicates that all segments of the video image are rectangular.

解碼器藉由提供標識該子圖像的CTU的索引來標識(在塊830處)每個子圖像的位置和尺寸。在一些實施例中,所標識的CTU位於子圖像的一角(例如,左上或右下)。在一些實施例中,索引被分配至子圖像網格,並且不同的子圖像網格被分配不同的索引。在一些實施例中,索引標識子圖像網格,該子圖像網格被定義為一個CTU或與一個CTU相對應,使得子圖像網格的邊界沿著CTU的邊界定義。在一些實施例中,子圖像位置的索引在視訊圖像序列的SPS中發送。The decoder identifies (at block 830) the location and size of each sub-image by providing an index that identifies the CTU of the sub-image. In some embodiments, the identified CTU is located at a corner of the sub-image (eg, upper left or lower right). In some embodiments, indexes are assigned to sub-image grids, and different sub-image grids are assigned different indexes. In some embodiments, the index identifies a sub-image grid, which is defined as a CTU or corresponds to a CTU, so that the boundary of the sub-image grid is defined along the boundary of the CTU. In some embodiments, the index of the sub-image position is sent in the SPS of the video image sequence.

根據子圖像規範,解碼器重構(在塊840處)視訊圖像序列的每個子圖像。 IV. 示例電子系統 According to the sub-image specification, the decoder reconstructs (at block 840) each sub-image of the sequence of video images. IV. Example electronic system

許多上述特徵和應用被實現為軟體過程,其被指定為記錄在電腦可讀記憶體介質(computer readable storage medium)(也稱為電腦可讀介質)上的指令集。當這些指令由一個或多個計算或處理單元(例如,一個或多個處理器,處理器核或其他處理單元)執行時,它們使處理單元執行指令中指示的動作。電腦可讀介質的示例包括但不限於唯讀光碟記憶體(compact disk read only memory, 簡稱CD-ROM),隨身碟(flash drive),隨機存取記憶體(random-access memory, RAM)晶片,硬碟機,可抹除可程式唯讀記憶體(erasable programmable read only memory, 簡稱EPROM),電子式可抹除可程式設計唯讀記憶體(electrically erasable programmable read only memory, 簡稱EEPROM)。該電腦可讀介質不包括藉由無線或有線連接傳遞的載波和電訊號。Many of the above features and applications are implemented as software processes, which are designated as a set of instructions recorded on a computer readable storage medium (also known as a computer readable medium). When these instructions are executed by one or more computing or processing units (for example, one or more processors, processor cores, or other processing units), they cause the processing units to perform the actions indicated in the instructions. Examples of computer-readable media include, but are not limited to, compact disk read only memory (CD-ROM), flash drives, random-access memory (RAM) chips, Hard disk drives, erasable programmable read only memory (erasable programmable read only memory, referred to as EPROM), electronically erasable programmable read only memory (electrically erasable programmable read only memory, referred to as EEPROM). The computer-readable medium does not include carrier waves and telecommunications signals transmitted through wireless or wired connections.

在本説明書中,術語“軟體”意味著包括唯讀記憶體中的韌體或者存儲在磁存儲裝置中的應用程式,該應用程式可以被讀入到記憶體中以用於處理器進行處理。同時,在一些實施例中,多個軟體發明可以作為更大程式的子部分來實現,而保留不同的軟體發明。在一些實施例中,多個軟體發明可以作為獨立的程式來實現。最後,一起實現此處所描述的軟體發明的獨立的程式的任何結合是在本發明的範圍内。在一些實施例中,當軟體程式被安裝以在一個或者多個電子系統上進行操作時,軟體程式定義了一個或者多個特定的機器實現方式,該機器實現方式執行和實施該軟體程式的操作。In this manual, the term "software" means to include firmware in read-only memory or an application program stored in a magnetic storage device, which can be read into memory for processing by the processor . At the same time, in some embodiments, multiple software inventions can be implemented as sub-parts of a larger program, while retaining different software inventions. In some embodiments, multiple software inventions can be implemented as independent programs. Finally, any combination of independent programs that together implement the software invention described herein is within the scope of the present invention. In some embodiments, when a software program is installed to operate on one or more electronic systems, the software program defines one or more specific machine implementations that execute and implement the operations of the software program .

第9圖概念性地示出實現本公開的一些實施例的電子系統900。電子系統1100可以是電腦(例如,臺式電腦,個人電腦,平板電腦等),電話,個人數位助理(personal digital assistant, 簡稱PDA)或任何其他種類的電子設備。這種電子系統包括各種類型的電腦可讀介質和用於各種其他類型的電腦可讀介質的介面。電子系統900包括匯流排905,處理單元910,圖形處理單元(graphics-processing unit, 簡稱GPU)915,系統記憶體920,網路925,唯讀記憶體930,永久存放裝置935,輸入裝置940和輸出裝置945。Figure 9 conceptually illustrates an electronic system 900 implementing some embodiments of the present disclosure. The electronic system 1100 may be a computer (for example, a desktop computer, a personal computer, a tablet computer, etc.), a telephone, a personal digital assistant (PDA for short), or any other kind of electronic device. Such electronic systems include various types of computer-readable media and interfaces for various other types of computer-readable media. The electronic system 900 includes a bus 905, a processing unit 910, a graphics-processing unit (GPU) 915, a system memory 920, a network 925, a read-only memory 930, a permanent storage device 935, an input device 940 and Output device 945.

匯流排905集體表示與電子系統900通訊地連接的眾多內部裝置的所有系統匯流排,外圍裝置匯流排和晶片組匯流排。例如,匯流排905藉由GPU915,唯讀記憶體930,系統記憶體920和永久存儲裝置935與處理單元910通訊地連接。The bus 905 collectively represents all system buses, peripheral device buses, and chipset buses of the numerous internal devices that are communicatively connected with the electronic system 900. For example, the bus 905 is communicatively connected with the processing unit 910 through the GPU 915, the read-only memory 930, the system memory 920 and the permanent storage device 935.

從這些各種記憶體單元,處理單元910取回要執行的指令和要處理的資料,以便執行本公開的處理。在不同實施​​例中,處理單元910可以是單個處理器或多核處理器。一些指令被傳遞到GPU915並由GPU 915執行。GPU915可以卸載各種計算或補充由處理單元910提供的圖像處理。From these various memory units, the processing unit 910 retrieves the instructions to be executed and the data to be processed in order to perform the processing of the present disclosure. In different embodiments, the processing unit 910 may be a single processor or a multi-core processor. Some instructions are passed to the GPU 915 and executed by the GPU 915. The GPU 915 can offload various calculations or supplement the image processing provided by the processing unit 910.

唯讀記憶體930存儲處理單元910和電子系統的其他模組所需的靜態資料和指令。另一方面,永久存放裝置935是讀寫記憶裝置。該裝置是非揮發性記憶體單元,即使在電子系統900關閉時也存儲指令和資料。本公開的一些實施例使用大容量存放裝置(諸如磁片或光碟及其相應的磁碟機)作為永久存放裝置935。The read-only memory 930 stores static data and instructions required by the processing unit 910 and other modules of the electronic system. On the other hand, the permanent storage device 935 is a read-write memory device. The device is a non-volatile memory unit that stores instructions and data even when the electronic system 900 is turned off. Some embodiments of the present disclosure use a large-capacity storage device (such as a floppy disk or optical disc and its corresponding drive) as the permanent storage device 935.

其他實施例使用卸除式存放裝置(例如軟碟,快閃記憶體裝置等,及其相應的磁碟機)作為永久存放裝置。與永久存放裝置935類似,系統記憶體920是讀寫記憶體裝置。然而,與永久存放裝置935不同,系統記憶體920是揮發性(volatile)讀寫記憶體,例如隨機存取記憶體。系統記憶體920存儲處理器在運行時需要的一些指令和資料。在一些實施例中,根據本公開的過程存儲在系統記憶體920,永久存放裝置935和/或唯讀記憶體930中。例如,各種記憶體單元包括用於根據處理多媒體剪輯的指令。在一些實施例中。從這些各種記憶體單元,處理單元910取回要執行的指令和要處理的資料,用以執行一些實施例的過程。Other embodiments use removable storage devices (such as floppy disks, flash memory devices, etc., and their corresponding disk drives) as permanent storage devices. Similar to the permanent storage device 935, the system memory 920 is a read-write memory device. However, unlike the permanent storage device 935, the system memory 920 is a volatile read-write memory, such as a random access memory. The system memory 920 stores some instructions and data required by the processor during operation. In some embodiments, the process according to the present disclosure is stored in the system memory 920, the permanent storage device 935, and/or the read-only memory 930. For example, various memory units include instructions for processing multimedia clips according to them. In some embodiments. From these various memory units, the processing unit 910 retrieves the instructions to be executed and the data to be processed to execute the processes of some embodiments.

匯流排905還連接到輸入裝置940和輸出裝置945。輸入裝置940使使用者能夠向電子系統傳送資訊和選擇命令。輸入裝置940包括字母數位鍵盤和指示裝置(也稱為“游標控制裝置”),相機(例如,網路攝像頭),麥克風或用於接收語音命令等的類似裝置。輸出裝置945顯示由電子系統生成的圖像或否則輸出資料。輸出裝置945包括印表機和顯示裝置,例如陰極射線管(CRT)或液晶顯示器(LCD),以及揚聲器或類似的音訊輸出裝置。一些實施例包括諸如同時用作輸入裝置和輸出裝置的觸控式螢幕等裝置。The bus bar 905 is also connected to the input device 940 and the output device 945. The input device 940 enables the user to send information and selection commands to the electronic system. The input device 940 includes an alphanumeric keyboard and pointing device (also referred to as a “cursor control device”), a camera (for example, a webcam), a microphone or similar devices for receiving voice commands and the like. The output device 945 displays images generated by the electronic system or otherwise outputs data. The output device 945 includes a printer and a display device, such as a cathode ray tube (CRT) or a liquid crystal display (LCD), and a speaker or similar audio output device. Some embodiments include devices such as touch screens that are used as input devices and output devices at the same time.

最後,如第9圖所示,匯流排905還通過網路介面卡(未示出)將電子系統900耦合到網路925。以這種方式,電腦可以是電腦網路的一部分(例如局域網(local area network, 簡稱LAN),廣域網路(wide area network, 簡稱WAN)或內聯網),或多個網路中的一個網路,比如說網際網路。電子系統900的任何或所有組件可以與本公開結合使用。Finally, as shown in Figure 9, the bus 905 also couples the electronic system 900 to the network 925 through a network interface card (not shown). In this way, the computer can be part of a computer network (such as a local area network (LAN), a wide area network (WAN) or an intranet), or one of multiple networks , Such as the Internet. Any or all components of the electronic system 900 can be used in conjunction with the present disclosure.

一些實施例包括電子組件,例如,微處理器、存儲裝置和記憶體,其將電腦程式指令存儲到機器可讀介質或者電腦可讀介質(可選地被稱為電腦可讀存儲介質、機器可讀介質或者機器可讀存儲介質)。電腦可讀介質的一些實例包括RAM、ROM、唯讀光碟(read-only compact disc,CD-ROM),可燒錄光碟(recordable compact disc,CD-R)、可讀寫光碟(rewritable compact disc, CD-RW)、唯讀數位通用光碟(read-only digital versatile disc)(例如,DVD-ROM,雙層DVD-ROM)、各種可記錄/可讀寫DVD(例如DVD RAM、DVD-RW、DVD+RW等)、快閃記憶體(如SD卡,迷你SD卡,微SD卡等)、磁性和/或固態硬碟、唯讀和可燒錄藍光®(Blu-Ray®)盤、超高密度光碟和其他任何光學介質或磁介質,以及軟碟。電腦可讀介質可以存儲由至少一個處理單元執行的電腦程式,並且包括用於執行各種操作的指令集。電腦程式或電腦代碼的示例包括機器代碼,例如編譯器產生的機器代碼,以及包含由電腦、電子組件或微處理器使用注釋器(interpreter)而執行的高級代碼的文檔。Some embodiments include electronic components, such as a microprocessor, storage device, and memory, which store computer program instructions in a machine-readable medium or a computer-readable medium (optionally referred to as a computer-readable storage medium, a machine-readable medium). Read media or machine-readable storage media). Some examples of computer-readable media include RAM, ROM, read-only compact disc (CD-ROM), recordable compact disc (CD-R), and rewritable compact disc (CD-R). CD-RW), read-only digital versatile disc (for example, DVD-ROM, double-layer DVD-ROM), various recordable/readable DVDs (for example, DVD RAM, DVD-RW, DVD +RW, etc.), flash memory (such as SD card, mini SD card, micro SD card, etc.), magnetic and/or solid state drives, read-only and recordable Blu-Ray® (Blu-Ray®) discs, ultra-high Density CDs and any other optical or magnetic media, as well as floppy disks. The computer-readable medium can store a computer program executed by at least one processing unit, and includes an instruction set for performing various operations. Examples of computer programs or computer codes include machine code, such as machine code generated by a compiler, and documents containing high-level codes executed by computers, electronic components, or microprocessors using an interpreter.

當以上討論主要是指執行軟體的微處理器或多核處理器時,很多上述的功能和應用程式由一個或複數個積體電路執行,如特定應用的積體電路(application specific integrated circuit,ASIC)或現場可程式設計閘陣列(field programmable gate array,FPGA)。在一些實施例中,這種積體電路執行存儲在該電路本身上的指令。此外,一些實施例執行存儲在可程式設計邏輯器件(programmable logic device, PLD),ROM或RAM裝置中的軟體。When the above discussion mainly refers to a microprocessor or multi-core processor that executes software, many of the above functions and applications are executed by one or more integrated circuits, such as application specific integrated circuits (ASIC) Or field programmable gate array (FPGA). In some embodiments, such integrated circuits execute instructions stored on the circuit itself. In addition, some embodiments execute software stored in a programmable logic device (PLD), ROM or RAM device.

如本發明的説明書和任一申請專利範圍所使用,術語“電腦”、“伺服器”、“處理器”和“記憶體”均指電子裝置或其他技術裝置。這些術語不包括人或群體。出於説明的目的,術語顯示或顯示裝置指在電子裝置上進行顯示。如本發明的説明書和任一申請專利範圍中所使用,術語“電腦可讀介質”、“電腦可讀媒質”和“機器可讀介質”完全局限於有形的、實體的物體,其以電腦可讀的形式存儲資訊。這些術語不包括任何無線訊號、有線下載訊號和其他任何短暫訊號。As used in the specification of the present invention and the scope of any patent application, the terms "computer", "server", "processor" and "memory" all refer to electronic devices or other technical devices. These terms do not include people or groups. For the purpose of description, the term display or display device refers to displaying on an electronic device. As used in the specification of the present invention and any patent application, the terms “computer-readable medium”, “computer-readable medium” and “machine-readable medium” are completely limited to tangible and tangible objects. Store information in a readable form. These terms do not include any wireless signals, wired download signals, and any other short-lived signals.

在結合許多具體細節的情況下描述了本發明時,本領域通常知識者將認識到,本發明可以以其他具體形式而被實施,而不脫離本發明的精神。此外,大量的圖(包括第5圖和第8圖)概念性示出了處理過程。這些過程的具體操作可以不以所示及所描述的確切順序來被執行。這些具體操作可以不在一個連續的操作系列中被執行,並且不同的具體操作可以在不同的實施例中被執行。另外,該處理可使用幾個子處理而被實現,或者作為更大的巨集處理的一部分。因此,本領域通常知識者將能理解的是,本發明不受前述説明性細節的限制,而是由申請專利範圍加以界定。 附加的説明 When the present invention has been described in combination with many specific details, those skilled in the art will recognize that the present invention can be implemented in other specific forms without departing from the spirit of the present invention. In addition, a large number of diagrams (including Figures 5 and 8) conceptually show the process. The specific operations of these processes may not be executed in the exact order shown and described. These specific operations may not be executed in a continuous series of operations, and different specific operations may be executed in different embodiments. In addition, this process can be implemented using several sub-processes, or as part of a larger macro process. Therefore, those skilled in the art will understand that the present invention is not limited by the foregoing illustrative details, but is defined by the scope of the patent application. Additional description

本文所描述的主題有時表示不同的組件,其包含在或者連接到其他不同的組件。可以理解的是,所描述的結構僅是示例,實際上可以由許多其他結構來實施,以實現相同的功能,從概念上講,任何實現相同功能的組件的排列實際上是“相關聯的”,以便實現所需功能。因此,不論結構或中間部件,為實現特定的功能而組合的任何兩個組件被視為“相互關聯”,以實現所需的功能。同樣,任何兩個相關聯的組件被看作是相互“可操作連接”或“可操作耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視為相互“可操作地耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視為相互“可操作地耦合”以實現特定功能。可操作連接的具體例子包括但不限於實體上可配對和/或實體上相互作用的組件,和/或無線可交互和/或無線上相互作用的組件,和/或邏輯上相互作用和/或邏輯上可交互的組件。The subject matter described herein sometimes represents different components, which are contained in or connected to other different components. It can be understood that the described structure is only an example, and can be implemented by many other structures to achieve the same function. Conceptually, any arrangement of components that achieve the same function is actually "associated." , In order to achieve the desired function. Therefore, regardless of the structure or the intermediate components, any two components combined to achieve a specific function are regarded as "interrelated" to achieve the required function. Likewise, any two associated components are regarded as being "operably connected" or "operably coupled" to each other to achieve specific functions. Any two components that can be associated with each other are also considered to be "operably coupled" to each other to achieve specific functions. Any two components that can be associated with each other are also considered to be "operably coupled" to each other to achieve specific functions. Specific examples of operable connections include, but are not limited to, physically pairable and/or physically interacting components, and/or wirelessly interactable and/or wirelessly interacting components, and/or logically interacting and/or Logically interactable components.

此外,關於此處使用的基本上任一複數和/或單數術語,本領域的技術人員可以根據上下文和/或應用從複數轉換為單數和/或從單數到複數。為清楚起見,本發明明確闡述了不同的單數/複數排列。In addition, with regard to substantially any plural and/or singular term used herein, those skilled in the art can convert from the plural to the singular and/or from the singular to the plural according to the context and/or application. For the sake of clarity, the present invention clearly sets forth different singular/plural arrangements.

此外,通常,本領的通常知識者可以理解本發明所使用的術語特別是申請專利範圍中的,如申請專利範圍的主題,通常用作“開放”術語,例如,“包括”應解釋為“包括但不限於”,“有”應理解為“至少有”“包括”應解釋為“包括但不限於”等。本領域的通常知識者可以進一步理解,若計畫介紹特定數量的申請專利範圍内容,將在申請專利範圍内明確表示,並且,在沒有這類内容時將不顯示。例如,為幫助理解,下面申請專利範圍可能包含短語“至少一個”和“一個或複數個”,以介紹申請專利範圍的内容。然而,這些短語的使用不應理解為暗示使用不定冠詞“一”或“一個”介紹申請專利範圍内容,而限制了任何特定申請專利範圍。甚至當相同的申請專利範圍包括介紹性短語“一個或複數個”或“至少有一個”,不定冠詞,例如“一”或“一個”,則應被解釋為表示至少一個或者更多,對於用於介紹申請專利範圍的明確描述的使用而言,同樣成立。此外,即使明確引用特定數量的介紹性内容,本領域通常知識者可以認識到,這樣的内容應被解釋為表示所引用的數量,例如,沒有其他修改的“兩個引用”,意味著至少兩個引用,或兩個或兩個以上的引用。此外,在使用類似於“A、B和C中的至少一個”的表述的情況下,通常如此表述是為了本領域通常知識者可以理解該表述,例如,“系統包括A、B和C中的至少一個”將包括但不限於單獨具有A的系統,單獨具有B的系統,單獨具有C的系統,具有A和B的系統,具有A和C的系統,具有B和C的系統,和/或具有A、B和C的系統,等。本領域通常知識者進一步可理解,無論在説明書中,申請專利範圍中或者附圖中,由兩個或兩個以上的替代術語所表現的任何分隔的單詞和/或短語應理解為,包括這些術語中的一個,其中一個,或者這兩個術語的可能性。例如,“A或B”應理解為,“A”,或者“B”,或者“A和B”的可能性。In addition, generally, those skilled in the art can understand that the terms used in the present invention, especially those in the scope of the patent application, such as the subject matter of the scope of the patent application, are usually used as "open" terms. For example, "including" should be interpreted as "including But not limited to", "have" should be interpreted as "at least" and "including" should be interpreted as "including but not limited to" and so on. Those skilled in the art can further understand that if a specific number of the content of the patent application is planned to be introduced, it will be clearly indicated in the scope of the patent application, and will not be displayed when there is no such content. For example, to help understanding, the following patent application scope may include the phrases "at least one" and "one or more" to introduce the content of the patent application scope. However, the use of these phrases should not be construed as implying the use of the indefinite article "一" or "一" to introduce the content of the patent application, while limiting the scope of any particular application. Even when the same patent application includes the introductory phrases "one or plural" or "at least one", indefinite articles, such as "one" or "one", should be interpreted as meaning at least one or more. The same holds true for the use of a clear description of the scope of patent application. In addition, even if a certain amount of introductory content is explicitly quoted, those skilled in the art can recognize that such content should be interpreted as indicating the number of references. For example, "two references" without other modifications means at least two One citation, or two or more citations. In addition, when an expression similar to "at least one of A, B and C" is used, the expression is usually so that those skilled in the art can understand the expression, for example, "The system includes A, B, and C. "At least one" shall include, but is not limited to, a system with A alone, a system with B alone, a system with C alone, a system with A and B, a system with A and C, a system with B and C, and/or Systems with A, B, and C, etc. Those skilled in the art can further understand that, whether in the specification, the scope of the patent application or in the drawings, any separated words and/or phrases represented by two or more alternative terms should be understood as, Include one of these terms, one of them, or the possibility of both terms. For example, "A or B" should be understood as the possibility of "A", or "B", or "A and B".

從前述可知,出於説明目的,本發明已描述了各種實施方式,並且在不偏離本發明的範圍和精神的情況下,可以進行各種變形。因此,此處所公開的各種實施方式不用於限制,真實的範圍和申請由申請專利範圍表示。From the foregoing, it is understood that the present invention has described various embodiments for illustrative purposes, and various modifications can be made without departing from the scope and spirit of the present invention. Therefore, the various embodiments disclosed herein are not intended to limit, and the true scope and application are represented by the scope of patent applications.

100:序列 110:圖像 120:CTU 210:子圖像 220:子圖像 230:子圖像 240:子圖像 300:RF電路 305:基帶電路 308:空閒通道檢測電路 310:DFS通道檢查電路 311:量化模組 312:量化係數 313:預測像素資料 314:逆量化模組 315:逆變換模組 316:變換係數 317:重構像素資料 319:重構殘差 320:幀内估計模組 325:幀內預測模組 330:運動補償模組 335:運動估計模組 340:幀間預測模組 345:環内濾波器 350:重構圖像緩衝器 365:MV緩衝器 375:MV預測模組 395:位元流 410:參數 420:當前編碼視訊序列 500:進程 510、520、530、540:步驟 600:解碼器 610:逆變換模組 611:逆量化模組 612:量化係數 613:預測像素資料 616:變換係數 617:像素資料 619:重構殘差訊號 625:幀內預測模組 630:運動補償模組 640:幀間預測模組 645:環内濾波器 650:解碼圖像緩衝器 655:顯示裝置 665:MV緩衝器 675:MV預測模組 690:熵解碼器 695:位元流 710:參數 720:當前編碼的視訊序列 800:進程 810、820、830、840:步驟 900:電子系統 905:匯流排 910:處理單元 915:GPU 920:系統記憶體 925:網路 930:唯讀記憶體 935:永久存放裝置 940:輸入裝置 945:輸出裝置100: sequence 110: Image 120: CTU 210: sub-image 220: sub-image 230: sub-image 240: sub-image 300: RF circuit 305: Baseband circuit 308: Idle channel detection circuit 310: DFS channel check circuit 311: Quantization Module 312: quantization coefficient 313: Predict pixel data 314: Inverse Quantization Module 315: Inverse Transformation Module 316: transform coefficient 317: Reconstruct pixel data 319: reconstruction residual 320: Intra-frame estimation module 325: Intra Prediction Module 330: Motion compensation module 335: Motion Estimation Module 340: Inter prediction module 345: In-loop filter 350: reconstruction image buffer 365: MV buffer 375: MV prediction module 395: bit stream 410: Parameters 420: Current encoded video sequence 500: Process 510, 520, 530, 540: steps 600: decoder 610: Inverse Transformation Module 611: Inverse Quantization Module 612: quantization coefficient 613: Predicted pixel data 616: transform coefficient 617: pixel data 619: reconstruction residual signal 625: Intra Prediction Module 630: Motion compensation module 640: Inter-frame prediction module 645: In-loop filter 650: decoded image buffer 655: display device 665: MV buffer 675: MV prediction module 690: Entropy Decoder 695: Bit Stream 710: Parameters 720: The currently encoded video sequence 800: process 810, 820, 830, 840: steps 900: Electronic system 905: Bus 910: Processing Unit 915: GPU 920: System memory 925: Internet 930: Read-only memory 935: Permanent Storage Device 940: input device 945: output device

下列圖示用以提供本發明的進一步理解,並被納入且構成本發明的一部分。這些圖示説明了本發明的實施方式,並與説明書一起用以解釋本發明的原理。為了清楚地説明本發明的概念,與實際實施方式中的尺寸相比一些元素可以不按照比例被示出,這些圖示無需按照比例繪製。 第1a-e圖概念性地示出用於指定視訊序列子圖像的基於CTB或CTU的網格單元。 第2圖示出基於CTU或CTB的子圖像網格,其在圖像內以光柵掃描的順序被索引以指定子圖像。 第3圖示出支援子圖像的示例視訊編碼器。 第4圖概念性地示出實施子圖像發送的视频编码器的部分。 第5圖概念性地示出在視訊編碼器處提供子圖像規範的進程。 第6圖示出支援子圖像的示例視訊解碼器。 第7圖概念性地示出實施子圖像發送的視訊解碼器的部分。 第8圖概念性地示出在視訊解碼器處處理子圖像規範的進程。 第9圖概念性地示出用於實現本公開的一些實施例的電子系統。The following figures are used to provide a further understanding of the present invention, and are incorporated into and constitute a part of the present invention. These drawings illustrate the embodiments of the present invention, and together with the description are used to explain the principles of the present invention. In order to clearly illustrate the concept of the present invention, some elements may not be shown to scale compared with the dimensions in the actual implementation, and these illustrations do not need to be drawn to scale. Figures 1a-e conceptually show CTB or CTU-based grid units used to specify sub-images of a video sequence. Figure 2 shows a grid of sub-images based on CTU or CTB, which are indexed in the order of raster scan within the image to specify the sub-images. Figure 3 shows an example video encoder that supports sub-images. Figure 4 conceptually shows a part of a video encoder that implements sub-picture transmission. Figure 5 conceptually shows the process of providing sub-picture specifications at the video encoder. Figure 6 shows an example video decoder that supports sub-images. Fig. 7 conceptually shows the part of the video decoder that implements the sub-picture transmission. Figure 8 conceptually shows the process of processing sub-picture specifications at the video decoder. Figure 9 conceptually illustrates an electronic system for implementing some embodiments of the present disclosure.

800:進程 800: process

810、820、830、840:步驟 810, 820, 830, 840: steps

Claims (12)

一種視訊解碼方法,包括: 從一位元流接收將被解碼為一視訊圖像序列的資料; 從該位元流接收在該視訊圖像序列中的一個或多個子圖像的子圖像規範,藉由對一相應的子圖像提供用於標識一編碼樹單元的一索引,該子圖像規範對該一個或多個子圖像的每個子圖像標識一位置和一尺寸;以及 根據該子圖像規範,重構該視訊圖像序列的該一個或多個子圖像的每個子圖像。A video decoding method, including: Receive data from a bit stream that will be decoded into a sequence of video images; Receive the sub-image specification of one or more sub-images in the video image sequence from the bit stream, and by providing an index for identifying a coding tree unit for a corresponding sub-image, the sub-image The image specification identifies a position and a size for each of the one or more sub-images; and According to the sub-image specification, each sub-image of the one or more sub-images of the video image sequence is reconstructed. 如請求項1所述之視訊解碼方法,其中,不同的編碼樹單元對應於被分配多個不同的索引的多個不同的子圖像網格。The video decoding method according to claim 1, wherein different coding tree units correspond to multiple different sub-image grids assigned multiple different indexes. 如請求項2所述之視訊解碼方法,其中,該多個子圖像網格的多個邊界使用編碼樹單元的多個邊界來定義。The video decoding method according to claim 2, wherein the multiple boundaries of the multiple sub-image grids are defined using multiple boundaries of the coding tree unit. 如請求項1所述之視訊解碼方法,其中,由提供的該索引標識的該編碼樹單元位於該子圖像的一角。The video decoding method according to claim 1, wherein the coding tree unit identified by the provided index is located at a corner of the sub-image. 如請求項1所述之視訊解碼方法,其中,該索引由該視訊圖像序列的一序列參數集合提供。The video decoding method according to claim 1, wherein the index is provided by a sequence parameter set of the video image sequence. 如請求項5所述之視訊解碼方法,其中,該序列參數集合進一步包括一語法元素,該語法元素指定該視訊圖像序列的一子圖像數量。The video decoding method according to claim 5, wherein the sequence parameter set further includes a syntax element, and the syntax element specifies a number of sub-images of the video image sequence. 如請求項5所述之視訊解碼方法,其中,該子圖像的一辨識字在該序列參數集合中發送。The video decoding method according to claim 5, wherein an identifier of the sub-image is sent in the sequence parameter set. 如請求項1所述之視訊解碼方法,其中,該子圖像的一辨識字在一片段的一片段報頭中發送。The video decoding method according to claim 1, wherein an identifier of the sub-image is sent in a segment header of a segment. 如請求項1所述之視訊解碼方法,其中,該子圖像的一辨識字在該視訊圖像序列的一視訊圖像的一圖像參數集合中發送。The video decoding method according to claim 1, wherein an identifier of the sub-image is sent in an image parameter set of a video image of the video image sequence. 如請求項1所述之視訊解碼方法,其中,該視訊圖像序列的一序列參數集合的一語法元素指示一個或多個子圖像存在於該圖像序列,以及該視訊圖像序列的一視訊圖像的一圖像參數集合的一語法元素指示該視訊圖像的所有片段都是矩形的。The video decoding method according to claim 1, wherein a syntax element of a sequence parameter set of the video image sequence indicates that one or more sub-images exist in the image sequence, and a video of the video image sequence A syntax element of an image parameter set of an image indicates that all segments of the video image are rectangular. 一種視訊編碼方法,包括: 接收將被編碼為一視訊圖像序列的一位元流的資料; 在該位元流中發送該視訊圖像序列的一個或多個子圖像的子圖像規範,藉由對一相應的子圖像提供用於標識一編碼樹單元的一索引,該子圖像規範對該一個或多個子圖像的每個子圖像標識一位置和一尺寸;以及 根據該子圖像規範,對該視訊圖像序列的該一個或多個子圖像的每個子圖像進行編碼。A video coding method, including: Receive data that will be encoded as a bit stream of a video image sequence; Send the sub-image specification of one or more sub-images of the video image sequence in the bit stream. By providing an index for identifying a coding tree unit for a corresponding sub-image, the sub-image The specification identifies a position and a size for each of the one or more sub-images; and According to the sub-image specification, each sub-image of the one or more sub-images of the video image sequence is encoded. 一種電子裝置,包括: 一視訊解碼器電路,被設置為執行以下操作包括: 從一位元流接收將被解碼為一視訊圖像序列的資料; 從該位元流接收在該視訊圖像序列中的一個或多個子圖像的子圖像規範,藉由對一相應的子圖像提供用於標識一編碼樹單元的一索引,該子圖像規範對該一個或多個子圖像的每個子圖像標識一位置和一尺寸;以及 根據該子圖像規範,重構該視訊圖像序列的該一個或多個子圖像的每個子圖像。An electronic device, including: A video decoder circuit is set to perform the following operations including: Receive data from a bit stream that will be decoded into a sequence of video images; Receive the sub-image specification of one or more sub-images in the video image sequence from the bit stream, and by providing an index for identifying a coding tree unit for a corresponding sub-image, the sub-image The image specification identifies a position and a size for each of the one or more sub-images; and According to the sub-image specification, each sub-image of the one or more sub-images of the video image sequence is reconstructed.
TW109131117A 2019-09-10 2020-09-10 Video encoding/decoding method and apparatus TWI750802B (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201962898127P 2019-09-10 2019-09-10
US62/898,127 2019-09-10
US201962898620P 2019-09-11 2019-09-11
US62/898,620 2019-09-11
US17/016,257 2020-09-09
US17/016,257 US11284077B2 (en) 2019-09-10 2020-09-09 Signaling of subpicture structures

Publications (2)

Publication Number Publication Date
TW202116068A true TW202116068A (en) 2021-04-16
TWI750802B TWI750802B (en) 2021-12-21

Family

ID=74866107

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109131117A TWI750802B (en) 2019-09-10 2020-09-10 Video encoding/decoding method and apparatus

Country Status (6)

Country Link
EP (1) EP4005205A4 (en)
KR (1) KR20220045231A (en)
CN (1) CN114375579A (en)
MX (1) MX2022002854A (en)
TW (1) TWI750802B (en)
WO (1) WO2021047590A1 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10244246B2 (en) * 2012-02-02 2019-03-26 Texas Instruments Incorporated Sub-pictures for pixel rate balancing on multi-core platforms
US20180160118A1 (en) * 2015-06-18 2018-06-07 Sharp Kabushiki Kaisha Arithmetic decoding device and arithmetic coding device
WO2018221368A1 (en) * 2017-05-31 2018-12-06 シャープ株式会社 Moving image decoding device, and moving image encoding device
EP3422724B1 (en) * 2017-06-26 2024-05-01 Nokia Technologies Oy An apparatus, a method and a computer program for omnidirectional video
CN109587478B (en) * 2017-09-29 2023-03-31 华为技术有限公司 Media information processing method and device
US11363307B2 (en) * 2019-08-08 2022-06-14 Hfi Innovation Inc. Video coding with subpictures

Also Published As

Publication number Publication date
TWI750802B (en) 2021-12-21
CN114375579A (en) 2022-04-19
EP4005205A4 (en) 2023-08-30
WO2021047590A1 (en) 2021-03-18
EP4005205A1 (en) 2022-06-01
KR20220045231A (en) 2022-04-12
MX2022002854A (en) 2023-04-14

Similar Documents

Publication Publication Date Title
TW202123704A (en) Signaling high-level information in video and image coding
US11284077B2 (en) Signaling of subpicture structures
TWI750624B (en) Method and apparatus for coding transform coefficients
TWI770681B (en) Video processing methods and apparatuses in video encoding or decoding system
TWI830629B (en) Signaling coding of transform-skipped blocks
TWI785502B (en) Video coding method and electronic apparatus for specifying slice chunks of a slice within a tile
TW202139697A (en) Signaling quantization related parameters
TWI784362B (en) Method and apparatus of video coding
TWI784348B (en) Specifying video picture information
TWI793629B (en) Methods and apparatuses for video processing
JP2020526145A (en) Improving compulsory segmentation of boundaries
US20240048750A1 (en) Encoder and bitstream for efficient coding of global motion vectors
TW202131678A (en) Signaling multiple transform selection
TW202203647A (en) Constraints for inter-layer referencing
TWI750802B (en) Video encoding/decoding method and apparatus
TWI839968B (en) Local illumination compensation with coded parameters
TW202349957A (en) Template-based intra mode derivation and prediction
TW202349954A (en) Adaptive coding image and video data
TW202341736A (en) Method and apparatus for video coding
TW202349951A (en) Block partitioning image and video data
TW202325025A (en) Local illumination compensation with coded parameters
TW202415075A (en) Region-based implicit intra mode derivation and prediction
TW202349953A (en) Video coding method and apparatus thereof
TW202404354A (en) Prediction refinement with convolution model
TW202412526A (en) Out-of-boundary check in video coding