Prediction fine-tuning for affine merge and affine motion vector prediction modes
By employing affine merge and affine motion vector prediction modes with optical flow technology, the method optimizes deblocking filter application and motion vector prediction in video coding, addressing inefficiencies and reducing bitrate and complexity in video encoding and decoding.
Patent Information
- Application Number
- JP2024180906
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-03-23
- Filing Date
- 2024-10-16
- Publication Date
- 2026-02-25
- Estimated Expiration
- 2041-03-23
AI Technical Summary
Existing video coding technologies face challenges in efficiently managing deblocking filters and motion vector prediction modes, leading to suboptimal bitrate and computational complexity in video encoding and decoding processes.
Implementing a method for video processing that includes fine-tuning affine merge and affine motion vector prediction modes, utilizing optical flow technology to determine block sizes and applying deblocking filters based on syntax elements at various levels, such as picture and slice headers, to optimize video coding.
This approach reduces bitrate and computational complexity while improving video coding efficiency by enabling adaptive deblocking filter application and refined motion vector prediction, enhancing the overall performance of video encoding and decoding processes.
Smart Images

Figure 0007820469000071 
Figure 0007820469000072 
Figure 0007820469000073
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application is based on International Patent Application No. PCT / CN2021 / 082243, filed March 23, 2021, which claims priority to and the benefit of International Patent Application No. PCT / CN2020 / 080602, filed March 23, 2020. This is a divisional application of Japanese Patent Application No. 2022-557167. All of the foregoing patent applications are incorporated herein by reference in their entirety.
[0002] This patent specification relates to image and video coding and decoding. [Background technology]
[0003] Digital video is the largest form of communication on the Internet and other digital communication networks. It accounts for bandwidth usage. It is the number of connected users who can receive and display video. As the number of user devices increases, the bandwidth demands for digital video usage continue to grow. It is predicted that. Summary of the Invention
[0004] This application provides a method for controlling the coding of video using control information useful for decoding the coded representation. Techniques that can be used by video encoders and decoders to process encoded representations Reveal the technique.
[0005] In one exemplary embodiment, a video processing method is disclosed. The method includes: The conversion between a video including a picture with a raster image and a bitstream of this video is performed. This transformation involves deblocking into one or more slices that refer to a picture parameter set. Whether or not a filtering filter is applied is determined by the first syntax in the picture parameter set. The first syntax element is based on this picture. Indicates whether the deblocking filter is disabled for
[0006] In another exemplary embodiment, a method for image processing is disclosed. This includes converting between a video containing a picture with a device and a bitstream of this video. This transformation is deblocked into one or more slices that refer to a picture parameter set. Whether a deblocking filter is applied is determined by the picture parameter set. The rule stipulates that the filtering is based solely on the syntax element that indicates whether the filtering filter is disabled. Based on this.
[0007] In another exemplary embodiment, a method for image processing is disclosed. The conversion between a video containing one or more pictures with a device and a bitstream of this video is performed. This bitstream complies with the rules, which include the slice level The first value of the first syntax element at the level or the second value of the second syntax element at the picture level Override deblocking behavior for slices or pictures based on The rule provides for determining whether the first syntax element in the slice header is present. In response to the absence of a first syntax element, the first value of the first syntax element is Specifies that the value is determined independently of the element's secondary value.
[0008] In another exemplary embodiment, a method for image processing is disclosed. The conversion between a video containing one or more pictures with a device and a bitstream of this video is performed. This bitstream complies with the rules, which include the slice level The first value of the first syntax element at the level or the second value of the second syntax element at the picture level Whether to include deblocking parameters in the slice header or picture header based on The rule specifies whether the first syntax element is absent in the slice header. The first value of the first syntax element does not depend on the second value of the second syntax element at the picture level. The provisions provide that the decision shall be made without regard to the
[0009] In another exemplary embodiment, a method for image processing is disclosed. The conversion between a video containing one or more pictures with a device and a bitstream of this video is performed. the bitstream includes a first syntax element and a second syntax element, Whether it is included in the picture and slice headers or whether it is inferred is determined by the , a format that specifies that the value of the third syntax element of the picture parameter set is used The first syntax element is a deblocking filter at the picture level of the video. The second syntax element indicates whether the data is disabled at the slice level of the video. The third syntax element indicates whether the locking filter is disabled. The filtering filter is enabled for one or more pictures that reference a picture parameter set. Indicates whether
[0010] In another exemplary embodiment, a method for image processing is disclosed. The conversion between a video containing one or more pictures with a device and a bitstream of this video is performed. This transformation involves applying a deblocking filter to the slice, Slice header and / or picture header and / or picture that the slice references It complies with the rules that stipulate that the syntax elements contained in the The syntax element may be configured such that the deblocking filter is at a picture parameter set level and / or or whether it is enabled at the slice level and / or picture level.
[0011] In another exemplary embodiment, a method for image processing is disclosed. The conversion between a video containing one or more pictures with a device and a bitstream of this video is performed. This transformation involves applying a deblocking filter to the slice, This slice is based on the syntax elements contained in the sequence parameter set it references. The syntax element determines whether the deblocking filter is enabled. The first syntax element indicates whether the deblocking filter is enabled or disabled, and / or the first syntax element indicates whether the deblocking filter is enabled or disabled. It contains a set of syntax elements that indicate a set of
[0012] In another exemplary embodiment, a method for image processing is disclosed. The conversion between a video containing one or more pictures with a device and a bitstream of this video is performed. This transformation involves applying a deblocking filter to the slice, depending on whether It complies with rules that stipulate that it is based on non-binary syntax elements contained at the video unit level. This non-binary syntax element applies a deblocking filter to one or more slices. Whether and / or how to use the deblocking filter with one or more sliders Indicates whether the
[0013] In another exemplary embodiment, a method for image processing is disclosed. The conversion between a video containing one or more pictures with a This transformation complies with rules that specify: (1) deblocking functions; The filter must be enabled at the picture level of the video or at the slice level of the video ( 2) Zero-value deblocking parameter offsets for beta and tC are used as deblocking parameters. Use this parameter for the filter.
[0014] In another exemplary aspect, a video processing method is disclosed. The method comprises: For conversion between the block and the video bitstream, the following rules are used for this video block: determining the size of a corresponding prediction block and performing a transformation based on this determination; , and this rule is that the first size of the prediction block is determined by using optical flow technology. Depending on whether the prediction refinement is used to code the video block, determining a second image block having a second size and an affine merge mode; The motion vector prediction mode is coded using either affine or affine advanced motion vector prediction modes.
[0015] In another exemplary embodiment, a method for image processing is disclosed. The conversion between a video containing one or more pictures with a device and a bitstream of this video is performed. The rule includes: the first syntax element is higher than the picture level or the slice level; This specifies that the first syntax element is shown at the picture level or slide level. This specifies whether the table level includes a quantization parameter delta.
[0016] In another exemplary embodiment, a method for image processing is disclosed. The conversion between a video containing one or more pictures with a device and a bitstream of this video is performed. the first rule includes determining whether a first flag of a first video level is a chroma quantization flag of one or more chroma quantization flags; It is specified to indicate whether a parameter offset is included in the first video level, and this The first video level is higher than the slice level, and the second rule is the second video level. The flag specifies one or more chroma quantization parameter offsets in the picture header or slice. This second video level is higher than the picture level. High.
[0017] In another exemplary embodiment, a method for image processing is disclosed. The conversion between a video containing one or more pictures with a device and a bitstream of this video is performed. the bitstream including a first structure indicating a coding block subdivision value. It contains sentence elements, whose coding block subdivision values have regular ranges.
[0018] In another exemplary aspect, a video processing method is disclosed. The method comprises: performing a transformation of a video including one or more video pictures comprising slices, the transformation is a deblocking parameter set for one or more video slices that references a video picture parameter set. The decision regarding the applicability of a filtering filter is contained in the picture header of the corresponding video picture. The first rule specifies that deblocking is done based on the syntax field is doing.
[0019] In another exemplary aspect, another video processing method is disclosed. The method comprises: performing a transformation of a video including one or more video pictures comprising video slices, The transformation can be performed at the slice header level and / or picture header level of the video slices and Video slices based on fields included at the picture parameter set level The deblocking filter conforms to rules that specify constraints on the applicability of the deblocking filter to
[0020] In another exemplary embodiment, another image processing method is disclosed. The method comprises: Affine advanced motion vector predictor coding based on the second rule Prediction fine-tuning according to optical flow (PROF) coding, including merge mode determining the applicability of the image block of the image according to the determination; and converting the video to and from a coded representation of the video.
[0021] In another exemplary aspect, another video processing method is disclosed. The method comprises: A video including one or more pictures with slices and a coded representation of this video. The first syntax element and the second syntax element at the picture level or slice level are included in the conversion. and / or a second at another level indicating quantization parameter delta or offset signaling. The syntax elements are conditionally included in the coded expression according to the rules.
[0022] In another exemplary aspect, another video processing method is disclosed. The method comprises: A relationship between a video containing one or more pictures containing slices and a coded representation of this video. This coded representation includes the conversion of the code into a range of coding rules. Contains a syntax element that indicates the block block subdivision value (cbSubDiv).
[0023] In yet another exemplary aspect, a video encoder apparatus is disclosed. The reader comprises a processor configured to implement the above-described method.
[0024] In yet another exemplary aspect, a video decoder apparatus is disclosed. comprises a processor configured to implement the above-described method.
[0025] In yet another exemplary aspect, a computer-readable medium having code stored thereon is disclosed. This code may be in the form of processor-executable code for performing one of the methods described herein. implement.
[0026] These and other features are described throughout this document. [Brief explanation of the drawings]
[0027] [Figure 1] FIG. 1 is a block diagram illustrating an example of a video processing system. [Figure 2] FIG. 1 is a block diagram of a video processing device. [Figure 3] 1 is a flowchart illustrating an example of a video processing method. [Figure 4] 1 is a block diagram illustrating a video coding system according to some embodiments of the present disclosure. [Figure 5] 1 is a block diagram illustrating an encoder according to some embodiments of the present invention. [Figure 6] FIG. 2 is a block diagram illustrating a decoder according to some embodiments of the present invention. [Figure 7] 1 is a flowchart illustrating an example of a method for video processing. [Figure 8] 1 is a flowchart illustrating an example of a method for video processing. [Figure 9]1 is a flowchart illustrating an example of a method for video processing. [Figure 10] 1 is a flowchart illustrating an example of a method for video processing. [Figure 11] 1 is a flowchart illustrating an example of a method for video processing. [Figure 12] 1 is a flowchart illustrating an example of a method for video processing. [Figure 13] 1 is a flowchart illustrating an example of a method for video processing. [Figure 14] 1 is a flowchart illustrating an example of a method for video processing. [Figure 15] 1 is a flowchart illustrating an example of a method for video processing. [Figure 16] 1 is a flowchart illustrating an example of a method for video processing. [Figure 17] 1 is a flowchart illustrating an example of a method for video processing. [Figure 18] 1 is a flowchart illustrating an example of a method for video processing. [Figure 19] 1 is a flowchart illustrating an example of a method for video processing. DETAILED DESCRIPTION OF THE INVENTION
[0028] This specification uses section headings to facilitate understanding, and the technology and each The applicability of an embodiment described in a section is not limited to that section alone. The term .266 is used in some descriptions only for ease of understanding and disclosure. It is not intended to limit the scope of the technology described herein. The techniques disclosed are applicable to other video codec protocols and designs.
[0029] 1. Introduction This specification relates to video coding techniques, particularly deblocking signaling, QP delta / offset signaling, cbSubdiv values that define quantization groups, and and support for PROF processing in video coding. Various combinations of multi-layer video coding, such as VV, are currently being developed. Any video codec that supports C (Versatile Video Coding) It may be applied to any standard or non-standard video codec. 2. Abbreviation APS Adaptation Parameter Set ) AU Access Unit AUD Access Unit Delimiter ) AVC Advanced Video Coding CLVS Coded Layer Video Sequence Ear video sequence) CPB Coded Picture Buffer ) CRA Clean Random Access CTU Coding Tree Unit CVS Coded Video Sequence DPB Decoded Picture Buffer DPS Decoding Parameter Set EOB End Of Bitstream EOS End Of Sequence GDR Gradual Decoding Refresh yu) HEVC High Efficiency Video Coding coding) HRD Hypothetical Reference Decoder decoder) IDR Instantaneous Decoding Refresh Refresh) JEM Joint Exploration Model MCTS Motion-Constrained Tile Sets Ilset) NAL Network Abstraction Layer layer) OLS Output Layer Set PH Picture Header PPS Picture Parameter Set PROF Prediction Refinement with Optical Flow (predictive fine-tuning using optical flow) PTL Profile, Tier and Level and level) PU Picture Unit RBSP Raw Byte Sequence Payload Space Payload SEI Supplemental Enhancement Information n(Supplementary reinforcement information) SH Slice Header SPS Sequence Parameter Set to) SVC Scalable Video Coding Gu) VCL Video Coding Layer VPS Video Parameter Set VTM VVC Test Model VUI Video Usability Information (Tee Information) VVC Versatile Video Coding
[0030] 3. Initial consultations Video coding standards are primarily developed through the well-known ITU-T and ISO / IEC standards. ITU-T created H.261 and H.263, and ISO / IEC developed MP EG-1 and MPEG-4 Visual, and both organizations are H.262 / MPEG-2 V ideo and H.264 / MPEG-4 AVC (Advanced Video Cod ing) and co-created the H.265 / HEVC standard. The standard uses a hybrid video coding structure that utilizes temporal prediction and transform coding. In 2015, to explore future video coding technologies beyond HEVC, is a joint project of VCEG and MPEG called JVET (Joint Video Exploration Since then, many new methods have been adopted by JVET. The reference software is called JEM (Joint Exploration Model). JVET meets quarterly to develop new coding standards. aims to reduce the bitrate by 50% compared to HEVC. At the T conference, a new video coding standard was announced as "VVC (Versatile Video Coding)". At that time, the first version of the VVC Test Model (VTM) was officially named "VVC Test Model 1". ) has been released. Efforts to contribute to the standardization of VVC are ongoing, so all JV At each ET conference, new coding techniques are being adopted for the VVC standard. After the meeting, the VVC working draft and test model VTM will be updated. The project is currently aiming for technical completion (FDIS) at the July 2020 meeting.
[0031] 3.1. PPS Syntax and Semantics In the latest VVC draft text, the PPS syntax and semantics are as follows: [Table 1] [Table 2] [Table 3] [Table 4] [Table 5] [Table 6] The PPS RBSP must be available to the decoding process before it is referenced or it must be referenced. A few TemporalIds with TemporalIds less than or equal to the TemporalId of the PPS NAL unit Each AU shall be contained within at least one AU or provided through external means. A specific value in one PU is pps_pic_parameter_set_id All PPS NAL units shall have the same content. pps_pic_parameter_set_id is the PP that other syntax elements refer to. S. The value of pps_pic_parameter_set_id is in the range of 0 to 63. It is inside. PPS NAL units are pps_pic regardless of the nuh_layer_id value. They share the same value space for _parameter_set_id. ppsLayerId to the nuh_layer_id of a particular PPS NAL unit value and vclLayerId is the nuh_layer_ A specific VCL NAL unit has a ppsLayerId of vclLa Layer whose nuh_layer_id is less than or equal to ppsLayerId and whose nuh_layer_id is ppsLayerId contains a layer with nuh_layer_id that is a vclLayerId does not refer to a specific PPS NAL unit unless both are contained in one OLS. Let's say. pps_seq_parameter_set_id is the sps_seq_pa Specifies the value of parameter_set_id. The value of set_id is in the range of 0 to 15. The set_id value is the number of all coded pictures in a CLVS that refer to it. It shall be the same for all PPSs. mixed_nalu_types_nalu_pic_flag equal to 1 indicates that PP Each picture that references S has two or more VCL NAL units, and The units do not have the same value of nal_unit_type and the picture is an IRAP picture. Specifies that there is no mixed_nalu_types_in_pic_f equal to 0. lag, where each picture that references a PPS has one or more VCL NAL units, and Each picture's VCL NAL that references the PS must have the same value for nal__unit_type. It provides that the no_mixed_nalu_types_in_pic_constraint_f If lag is equal to 1, mixed_nalu_types_in_pic_fla The value of g is assumed to be equal to 0. nal_unit_type value nalUnitTypeA is IDR_W_RADL~C Each slice in the range of RA_NUT has a different value of nal_unit_type. picA also contains one or more slices that are alu_types_in_pic_flag value equal to 1), the following applies: will be done. - This slice is the corresponding subpic_treated_as_pic_fla The value of g[i] is equal to 1 and belongs to subpicA. - This slice has nal_unit_type equal to nalUnitTypeA. Any VCL NAL unit not included in picA shall not belong to a subpicture of picA. - If nalUnitTypeA is equal to CRA, then CL For all PUs following the current picture in VS, RefPicList[0] and RefPicList[0] of slices in ubpicA t[1] is any picture that precedes picA in decoding order in the active entry. This does not include - Otherwise (i.e., nalUnitTypeA is IDR_W_RADL or or IDR_N_LP), all the pictures in the CLVS that follow the current picture in decoding order For PUs, the RefPic of the slice in the subpicA in these PUs In both List[0] and RefPicList[1], the active entry It shall not include any pictures that precede picA in decoding order. NOTE 1 - mixed_nalu_types_in_pic_flag equal to 1 means The picture that references the PPS contains slices with different NAL unit types, e.g. For example, a coded picture resulting from a subpicture bitstream merge operation and the matching of the bitstream structure and the parameters of the original bitstream. This indicates that alignment must be ensured. An example is: If the value of sps_idr_rpl_flag is equal to 0 and mi If xed_nalu_types_in_pic_flag is equal to 1, PPS The reference picture has nal_unit_type IDR_W_RADL or IDR _N_LP cannot have a slice equal to . pic_width_in_luma_samples is decoded with reference to the PPS. pic_width_in_lum Specifies the width of each picture in units of luminance samples. a_samples must not be equal to 0 and must be Max(8,MinCbSizeY) pic_width_max_in_luma_sample It shall be less than or equal to s. If res_change_in_clvs_allowed_flag is equal to 0 , the value of pic_width_in_luma_samples is pic_width_m Equal to ax_in_luma_samples. pic_height_in_luma_samples is decoded with reference to the PPS. pic_height_in_ Specifies the height of each picture in luminance samples. luma_samples must not be equal to 0 and Max(8,MinCbSiz eY), and pic_height_max_in_luma_sa It shall be less than or equal to 100 s. If res_change_in_clvs_allowed_flag is equal to 0 , the value of pic_height_in_luma_samples is It shall be equal to t_max_in_luma_samples. Variables PicWidthInCtbsY, PicHeightInCtbsY, PicS izeInCtbsY,PicWidthInMinCbsY,PicHeightIn MinCbsY,PicSizeInMinCbsY,PicSizeInSample sY, PicWidthInSamplesC and PicHeightInSampl esC is derived as follows: PicWidthInCtbsY=Ceil(pic_width_in_luma_ samples÷CtbSizeY) (69) PicHeightInCtbsY=Ceil(pic_height_in_lum a_samples÷CtbSizeY) (70) PicSizeInCtbsY=PicWidthInCtbsY*PicHeigh tInCtbsY (71) PicWidthInMinCbsY=pic_width_in_luma_sam ples / MinCbSizeY (72) PicHeightInMinCbsY=pic_height_in_luma_s amples / MinCbSizeY (73) PicSizeInMinCbsY=PicWidthInMinCbsY*PicH eightInMinCbsY (74) PicSizeInSamplesY=pic_width_in_luma_sam ples*pic_height_in_luma_samples (75) PicWidthInSamplesC=pic_width_in_luma_sa mples / SubWidthC (76) PicHeightInSamplesC=pic_height_in_luma_ samples / SubHeightC (77) pps_conformance_window_flag equal to 1 specifies the The offset parameter of the next adaptive cropping window follows in PPS. pps_conformance_window_flag equal to 0 indicates conformance Indicates that the active cropping window offset parameter is not present in the PPS. pps_conf_win_left_offset, pps_conf_win_r ight_offset, pps_conf_win_top_offset, and p ps_conf_win_bottom_offset is set in picture coordinates for output The sample of the CLVS picture output from the decoding process is specified for the rectangular area specified. If pps_conformance_window_flag is equal to 0, s_conf_win_left_offset, pps_conf_win_righ t_offset, pps_conf_win_top_offset, pps_con The value of f_win_bottom_offset is inferred to be equal to 0. The adaptive cropping window is SubWidthC*pps_conf_win_ left_offset to pic_width_in_luma_samples-( SubWidthC*pps_conf_win_right_offset+1) Horizontal picture coordinate, and SubHeightC*pps_conf_win_top_ offset to pic_height_in_luma_samples-(SubH eightC*pps_conf_win_bottom_offset+1) Contains luma samples with picture coordinates. SubWidthC*(pps_conf_win_left_offset+pps _conf_win_right_offset) value is pic_width_in_ luma_samples, and SubHeightC*(pps_c onf_win_top_offset+pps_conf_win_bottom_o ffset) is less than pic_height_in_luma_samples It shall be deemed to be If ChromaArrayType is not equal to 0, the corresponding The specified sample is the picture coordinate (x / SubWidthC, y / SubHeight tC), and (x,y) are the picture coordinates of the specified luma sample. is. NOTE 2 - The offset parameter of the conformance cropping window applies only to the output side. All internal decoding processes are applied to the uncropped picture size. can be. Let ppsA and ppsB be any two PPSs that refer to the same SPS. A and ppsB are pic_width_in_luma_samples and and pic_height_in_luma_samples have the same value, sA and ppsB are pps_conf_win_left_offset, pps_conf_win_right_offset, pps_conf_win_t op_offset, and pps_conf_win_bottom_offset and It is a bitstream compatibility requirement that they have the same value. pic_width_in_luma_samples is pic_width_max _in_luma_samples, and pic_height_in_luma_s amps equals pic_height_max_in_luma_samples If not, pps_conf_win_left_offset, pps_conf_wi n_right_offset, pps_conf_win_top_offset, and and pps_conf_win_bottom_offset are the values of sps_c onf_win_left_offset, sps_conf_win_right_o ffset, sps_conf_win_top_offset, and sps_con f_win_bottom_offset is a bitstream conformance requirement is. scaling_window_explicit_signalling equal to 1 _flag indicates that a scaling window offset parameter is present in the PPS. Specify scaling_window_explicit_signal equal to 0. ling_flag indicates whether the scaling window offset parameter is present in the PPS. res_change_in_clvs_allowed_fla If g is equal to 0, scaling_window_explicit_signal The value of ling_flag shall be equal to 0. scaling_win_left_offset, scaling_win_rig ht_offset, scaling_win_top_offset, and scal ing_win_bottom_offset is the picture offset for the calculation of the scaling ratio. Specifies the offset applied to the scaling. If not present, scaling_win _left_offset, scaling_win_right_offset, sc aling_win_top_offset, scaling_win_bottom_ The offset values are pps_conf_win_left_offset and p ps_conf_win_right_offset, pps_conf_win_t op_offset and pps_conf_win_bottom_offset etc. It is inferred that this is correct. SubWidthC*(scaling_win_left_offset+scal ing_win_right_offset) value is ma_samples, and SubHeightC*(scaling_ win_top_offset+scaling_win_bottom_offset ) must be less than pic_height_in_luma_samples. do. The PicOutputWidthL and PicOutputHeightL variables are as follows: It is derived as follows: PicOutputWidthL=pic_width_in_luma_sampl es- (78) SubWidthC*(scaling_win_right_offset+s caling_win_left_offset) PicOutputHeightL=pic_height_in_luma_sam ples- (79) SubWidthC*(scaling_win_bott om_offset+scaling_win_top_offset) PicOutputWidth of the reference picture of the current picture that references this PPS L, refPicOutputHeightL, PicOutputWid thL, PicOutputHeightL. The bitstream conformance requirements are: All of the following conditions must be met: - PicOutputWidthL*2 is refPicWidthInLumaSam It shall be equal to or greater than ples. - PicOutputHeightL*2 is refPicHeightInLumaS It shall be at least 3 samples. - PicOutputWidthL is refPicWidthInLumaSampl It shall be less than or equal to es*8. - PicOutputHeightL is refPicHeightInLumaSam It shall be less than ples*8. - PicOutputWidthL*pic_width_max_in_luma_ samples is refPicOutputWidthL*(pic_width_in _luma_samples - Max(8,MinCbSizeY) or more do. - PicOutputHeightL*pic_height_max_in_lum a_samples is refPicOutputHeightL*(pic_heigh t_in_luma_samples-Max(8,MinCbSizeY)) or more This shall be the case. output_flag_present_flag equal to 1 indicates that the Indicates the presence of the pic_output_flag syntax element in the Rice header. Equal to 0. The new output_flag_present_flag is the slice that refers to the PPS. Indicates that the pic_output_flag syntax element is not present in the header. subpic_id_mapping_in_pps_flag equal to 1 specifies the PPS Specifies that subpicture ID mapping is signaled in ubpic_id_mapping_in_pps_flag specifies the subpic ID mapping in PPS. Specifies that the ID mapping of the picture is not signaled. pping_explicitly_signalled_flag is 0, or sub If pic_id_mapping_in_sps_flag is 1, then subpic_i The value of d_mapping_in_pps_flag is 0. Otherwise (sub pic_id_mapping_explicitly_signalled_flag is equal to 1 and subpic_id_mapping_in_sps_flag is equal to 0 (new), the value of subpic_id_mapping_in_pps_flag is equal to 1. It shall be deemed to be pps_num_subpics_minus1 is sps_num_subpics_ Equal to minus1. pps_subpic_id_len_minus1 is sps_subpic_id_ Equal to len_minus1. pps_subpic_id[i] specifies the subpicture ID of the ith subpicture. The length of the syntax element of pps_subpic_id[i] is _id_len_minus1+1 bits. The variable SubpicIdVal[i] is 0 to sps_num_subpics_min For each value of i in the range of us1, it is derived as follows: for(i=0;i<=sps_num_subpics_minus1;i++) if(subpic_id_mapping_explicitly_signall ed_flag) SubpicIdVal[i]=subpic_id_mapping_in_pp s_flag?pps_subpic_id[i]:sps_subpic_id[i] (80) else SubpicIdVal[i]=i A requirement for bitstream conformance is that both of the following constraints apply: i in the range -0 to sps_num_subpics_minus1 (inclusive) and For any two distinct values of j, SubpicIdVal[i] is SubpicIdV shall not be equal to al[j]. - If the current picture is not the first picture in the CLVS, it is set to 0 to sps_num_su For each value of i in the range of bpics_minus1 (inclusive), SubpicIdV The value of al[i] is the SubpicIdVal of the previous picture in decoding order in the same layer. If it is not equal to the value of [i], then the current picture with subpicture index i nal_un of all coded slice NAL units of the subpicture it_type is specified in the range from IDR_W_RADL to CRA_NUT (inclusive) must be equal to the value of no_pic_partition_flag equal to 1 specifies that each picture that references a PPS Specifies that no picture splitting is applied to the channel. no_pic_p equal to 0 artition_flag specifies that each picture that references a PPS should be split into two or more tiles or It specifies that the image can be divided into slices. For all PPSs referenced by coded pictures within one CLV The value of no_pic_partition_flag must be the same for all is a requirement for bitstream conformance. If the value of sps_num_subpics_minus1+1 is greater than 1, no The value of _pic_partition_flag must not be 1. This is a requirement for ream compatibility. pps_log2_ctu_size_minus5+5 is the brightness code of each CTU. Specifies the block size of the logging tree block. _minus5 shall be equal to sps_log2_ctu_size_minus5 do. num_exp_tile_columns_minus1+1 is provided explicitly Specifies the number of tile columns wide. The value of s1 must be in the range from 0 to PicWidthInCtbsY-1. If no_pic_partition_flag is equal to 1, then num_exp_t The value of ile_columns_minus1 is inferred to be equal to 0. num_exp_tile_rows_minus1+1 is the number of tiles explicitly provided The value of num_exp_tile_rows_minus1 specifies the number of rows in the , in the range 0 to PicHeightInCtbsY-1. If pic_partition_flag is equal to 1, then num_tile_row The value of s_minus1 is inferred to be equal to 0. tile_column_width_minus1[i]+1 is the ith tile column The width of the tile is in the range of 0 to num_exp_tile_columns_minus1-1. It is specified in CTB units for the i-th tile column. minus1[num_exp_tile_columns_minus1] is 6.5 num_exp_tile_columns_minus1 or greater as specified in section .1 Used to derive the width of the tile column at a given index above. The value of n_width_minus1[i] is 0 to PicWidthInCtbsY-1 If not present, the tile_column_width_m The value of inus1[0] is inferred to be equal to PicWidthInCtbsY-1. tile_row_height_minus1[i]+1 is the height of the ith tile row The length is the ith tile in the range 0 to num_exp_tile_rows_minus1-1. Specifies the height of the second tile row in CTB units. [num_exp_tile_rows_minus1] is the number of tile rows specified in Section 6.5.1. So, the index is num_exp_tile_rows_minus1 or more. Used to derive the tile row height. The value of 1[i] must be in the range of 0 to PicHeightInCtbsY-1. If not present, the value of tile_row_height_minus1[0] is PicH It is inferred to be equal to eightInCtbsY-1. rect_slice_flag equal to 0 means that tiles within each slice are raster scanned. This specifies that the images are arranged in slice order and that slice information is not signaled in the PPS. rect_slice_flag equal to 1 specifies that the tiles in each slice are rectangular in the picture. Specifies that the region is covered and slice information is signaled in the PPS. If so, rect_slice_flag is inferred to be equal to 1. The value of rect_slice_flag when o_present_flag is equal to 1 is assumed to be equal to 1. single_slice_per_subpic_flag equal to 1 specifies that each subpic Specifies that the image consists of one and only one rectangular slice. e_slice_per_subpic_flag specifies whether each subpicture is one or more rectangles. Specifies that it can be composed of slices. If ic_flag is equal to 1, then num_slices_in_pic_minus 1 is inferred to be equal to sps_num_subpics_minus1. Does not exist If the value of single_slice_per_subpic_flag is equal to 0, It is speculated. num_slices_in_pic_minus1+1 is the number of slices in each picture that refer to the PPS. num_slices_in_pic_minus Specifies the number of rectangular slices in a picture. The value of 1 is in the range 0 to MaxSlicesPerPicture-1 (inclusive). , MaxSlicesPerPicture shall be as specified in Annex A. If pic_partition_flag is 1, then num_slices_in_pi The value of c_minus1 is inferred to be equal to 0. idx_delta_present_flag equal to 0 means that tile_i is not present in the PPS. 6. All rectangular slices of a picture that do not have a dx_delta value and refer to a PPS. It specifies that the raster order is specified according to the processing in Section 5.1. idx_delta_present_flag is tile_idx_del in PPS The ta value exists and all rectangular slices of the picture that reference the PPS have tile_idx It is specified that they are specified in the order indicated by the _delta value. If not present, til The value of e_idx_delta_present_flag is inferred to be 0. slice_width_in_tiles_minus1[i]+1 is the width of the i-th rectangle slice_width_in_tile Specifies the width of the shape slice in tile columns. The value of s_minus1[i] is in the range from 0 to NumTileColumns-1. It shall be as stated in. If slice_width_in_tiles_minus1[i] does not exist, The below applies. - slice_width_in if NumTileColumns is equal to 1 The value of _tiles_minus1[i] is inferred to be equal to 0. - Otherwise, slice_width_in as specified in Section 6.5.1 Infer the value of _tiles_minus1[i]. slice_height_in_tiles_minus1[i]+1 is the ith Specifies the height of a rectangular slice in tile rows. slice_height_in_ti The value of les_minus1[i] must be in the range 0 to NumTileRows-1. It shall be as it is. If slice_height_in_tiles_minus1[i] does not exist , the following applies: - NumTileRows equals 1 or tile_idx_delta_pr esent_flag is equal to 0 and tileIdx%NumTileColumn If s is greater than 0, slice_height_in_tiles_minus1[ i] is equal to 0. - Otherwise (NumTileRows is not equal to 1 and tile_idx_d elta_present_flag is equal to 1 or tileIdx%NumT ileColumns equals 0), tile_idx_delta_present _flag is equal to 1 or tileIdx%NumTileColumns is 0 slice_height_in_tiles_minus1[i] if i is equal to the value is equal to slice_height_in_tiles_minus1[i-1] It is inferred. num_exp_slices_in_tile[i] specifies two or more rectangular slices Specifies the number of distinct slice heights in the current tile, including the num_ The value of exp_slices_in_tile[i] is 0 to RowHeight[til eY]-1, where tileY contains the i-th slice. The tile row index. If not present, num_exp_slices_in_ The value of tile[i] is inferred to be equal to 0. If tile[i] is equal to 0, the variable NumSlicesInTile[i] has the value 1. It is derived to be equal to exp_slice_height_in_ctus_minus1[j]+1 is the current Specifies the height of the jth rectangular slice in the current tile in CTU rows. The value of lice_height_in_CTUs_minus1[j] is 0 to RowHeight The range is ight[tileY]-1, where tileY is the current The tile row index of the tile. When num_exp_slices_in_tile[i] is greater than 0, the variable Nu mSliceSInTile[i] and 0 to NumSliceSinTile[i] SliceHeightInCtusMinus1[i+ -1 for k k] is derived as follows: remainingHeightInCtbsY=RowHeight[SliceTo pLeftTileIdx[i] / NumTileColumns] numExpSliceInTile=num_exp_slices_in_tile [i] for(j=0;j <numExpSliceInTile-1;j++) { SliceHeightInCtusMinus1[i++]=exp_slice_ height_in_ctu_minus1[j] remainingHeightInCtbsY-=SliceHeightInCt usMinus1[j] } uniformSliceHeightMinus1=SliceHeightInCt usMinus1[i-1] (81) while(remainingHeightInCtbsY>=(uniformSl iceHeightMinus1+1)){ SliceHeightInCtusMinus1[i++]=uniformSli ceHeightMinus1 remainingHeightInCtbsY-=(uniformSliceHe ightMinus1+1) j++ } if(remainingHeightInCtbsY>0){ SliceHeightInCtusMinus1[i++]=remainingH eightInCtbsY j++ } NumSlicesInTile[i]=j tile_idx_delta[i] The tile of the first tile in the i-th rectangular slice. tile index of the first tile in the (i+1)th rectangular slice The value of tile_idx_delta[i] is -NumT The range is from NumTilesInPic+1 to NumTilesInPic-1. If not present, the value of tile_idx_delta[i] is inferred to be equal to 0. If present, the value of tile_idx_delta[i] is inferred to be equal to 0. loop_filter_across_tiles_enabled_f equal to 1 The lag is the in-loop delay across tile boundaries in the picture that references the PPS. Specifies that a filtering operation can be performed. loop_filt equal to 0 er_across_tiles_enabled_flag refers to PPS In a picture, no in-loop filtering operations should be performed across tile boundaries. The in-loop filtering operations include a deblocking filter, sample adaptation, and Includes adaptive offset filter and adaptive loop filter operation. If not present, loop The value of p_filter_across_tiles_enabled_flag is equal to 1 It is assumed that loop_filter_across_slices_enabled_ equal to 1 The flag is used to indicate whether the PPS is interleaved across slice boundaries in the picture that references it. loop_fi equal to 0 specifies that loop filtering operation can be performed. lter_across_slice_enabled_flag refers to PPS In pictures where in-loop filtering is not performed across slice boundaries, In-loop filtering operations include deblocking filters, sampling Includes a pull adaptive offset filter and adaptive loop filter operation. If not present, loop_filter_across_slices_enabled_flag value is assumed to be equal to 0. cabac_init_present_flag equal to 1 indicates that the Specifies that cabac_init_flag is present in the Rice header and is equal to 0. cabac_init_present_flag is cabac_init_flag cabac_init_flag is not present in the slice header that references the PPS This stipulates: num_ref_idx_active_minus1[i] plus 1 equals 0 , if i is equal to 0, the variable NumRefIdxActive[0 ] inference value of num_ref_idx_active_override_flag=0 and num_ref_idx_active_override_fl equal to 0. ag is the variable NumRefIdxActive[1] of the B slice when i is equal to 1 The inference value of num_ref_idx_active_override_flag=0 num_ref_idx_default_active_minus1[i The value of ] must be in the range of 0 to 14. rpl1_idx_present_flag equal to 0 indicates a picture that refers to a PPS. ref_pic_list_sps_flag in the PH syntax structure or slice header of the [1] and ref_pic_list_idx[1] are not present. rpl1_idx_present_flag equal to the value of the picture that references the PPS. PH syntax structure or slice header contains ref_pic_list_sps_flag[1 ] and ref_pic_list_idx[1] may be present . SliceQ for each slice that references init_qp_minus26+26PPS p Y Specifies the initial value of SliceQp Y The first value of ph_qp_delta is At picture level when zero values are decoded or at slice_qp_delta level It is modified at the slice level when non-zero values are decoded. init_qp_min The value of us26 must be within the range of -(26+QpBdOffset) to +37. . cu_qp_delta_enabled_flag equal to 1 means ph_cu_qp _delta_subdiv_intra_slice and ph_cu_qp_del The ta_subdiv_inter_slice syntax element is present in the PH that references the PPS. , specifies that cu_qp_delta_abs may be present in the translation unit syntax cu_qp_delta_flag equal to 0 means that ph_cu_qp_subd iv_intra_slice and ph_cu_qp_subdiv_inter_s The lice syntax element does not exist in the PH that references the PPS, and cu_qp_delta_abs does not exist in the translation unit syntax. pps_chroma_tool_offsets_present_fl equal to 1 ag indicates that chroma tool offset related syntax elements exist in the PPS RBSP syntax structure. pps_chroma_tool_offsets_pre equal to 0 sent_flag is the chroma tool offset related syntax element in the PPS RBSP syntax structure. If ChromaArrayType is equal to 0, then ph_q The value of p_deltas_present_flag is equal to 0. pps_cb_qp_offset, pps_cr_qp_offset are Qp' C b , Qp' Cr The luminance quantization parameter Qp' used to derive Y offset to it pps_cb_qp_offset and pps_cr_qp_offs The value of et is in the range of -12 to +12. If correct, pps_cb_qp_offset and pps_cr_qp_offset are restored. It is not used in decoding and the decoder shall ignore its value. The values of ps_cb_qp_offset and pps_cr_qp_offset are equal to 0. It is inferred that this is correct. pps_joint_cbcr_qp_offset_present_f equal to 1 lag is the value of pps_joint_cbcr_qp_offset_value and jo int_cbcr_qp_offset_list[i] is a PPS RBSP syntax structure pps_joint_cbcr_qp_off equal to 0. set_present_flag pps_joint_cbcr_qp_offs et_value and joint_cbcr_qp_offset_list[i] It specifies that it is not included in the PPS RBSP syntax structure. type is 0 or sps_joint_cbcr_enabled_flag is 0 If not, pps_joint_cbcr_qp_offset_present_fla The value of g shall be equal to 0. If not present, pps_joint_cbcr_qp The value of _offset_present_flag is inferred to be equal to 0. pps_joint_cbcr_qp_offset_value is Qp' CbCr The luminance quantization parameter Qp' used to derive Y Indicates the offset to pp The value of s_joint_cbcr_qp_offset_value is in the range of -12 to 12. If ChromaArrayType is equal to 0 or sps_join If t_cbcr_enabled_flag is equal to 0, pps_joint_cb The cr_qp_offset_value is not used in the decoding process, and the decoding module The value shall be ignored. If sent_flag is equal to 0, pps_joint_cbcr_qp_offs The et_value is inferred to be absent and equal to 0. pps_slice_chroma_qp_offsets_present_fla If g is equal to 1, slice_cb_qp_offset and slice_cr Specifies that the _qp_offset syntax element is present in the associated slice header. pps_slice_slice_chroma_qp_offsets_pres If ent_flag is equal to 0, slice_cb_qp_offset and s The lice_cr_qp_offset syntax element is not present in the associated slice header. If it does not exist, pps_slice_chroma_qp_of The value of fsets_present_flag is inferred to be equal to 0. pps_cu_chroma_qp_offset_list_enabl equal to 1 ed_flag is ph_cu_chroma_qp_offs in PH that refers to PPS et_subdiv_intra_slice and ph_cu_chroma_qp_ The offset_subdiv_inter_slice syntax element is present and the cu_chr oma_qp_offset_flag is used for transformation unit syntax and palette coding The syntax specifies that pps_cu_chroma_q equal to 0 may be present. p_list_enabled_flag is ph_cu_chroma_qp_off set_subdiv_intra_slice and ph_cu_chroma_qp The _offset_subdiv_inter_slice syntax element refers to a PPS cu_chroma_qp_offset_flag does not exist in PH, and the cu_chroma_qp_offset_flag is used for It specifies that it is not present in the syntax and palette coding syntax. If it is not present, p ps_cu_chroma_qp_offset_list_enabled_flag The value of is inferred to be equal to 0. chroma_qp_offset_list_len_minus1+1 is PPS cb_qp_offset_list[i], cr_qp included in the RBSP syntax structure _offset_list[i] and joint_cbcr_qp_offset_l Specifies the number of syntax elements in ist[i]. The value of _len_minus1 must be in the range of 0 to 5. cb_qp_offset_list[i], cr_qp_offset_list[ i], and joint_cbcr_qp_offset_list[i] are the p_offset_list[i],cr_qp_offset_list[i],jo int_cbcr_qp_offset_list[i] is Qp' Cb、 Qp' Cr、 Qp' CbCr Specifies the offset used in the derivation of cb_qp_offse t_list[i], cr_qp_offset_list[i], joint_cbc The value of r_qp_offset_list[i] must be in the range of -12 to +12. pps_joint_cbcr_qp_offset_present_flag If is equal to 0, joint_cbcr_qp_offset_list[i] does not exist. is inferred to be equal to 0. pps_weighted_pred_flag equal to 0 refers to PPS Specifies that no weighted prediction is applied for P slices. sps equal to 1 _weighted_pred_flag is used for P slices that refer to the PPS. Specifies that weighted prediction is applied using sps_weighted_pred_ If flag is equal to 0, the value of pps_weighted_pred_flag is set to 0. shall be considered equal. pps_weighted_bipred_flag equal to 0 refers to the PPS It specifies that no explicit weighted prediction is applied to the B slices in the The equal sps_weighted_bipred_flag refers to the PPS. Specifies that explicit weighted prediction is applied to slices. sps_we If ighted_bipred_flag is equal to 0, pps_weighted_ The value of bipred_flag shall be equal to 0. deblocking_filter_control_present_ equal to 1 flag specifies the presence of deblocking filter control syntax elements in the PPS. deblocking_filter_control_present_fl ag specifies the absence of deblocking filter control syntax elements in the PPS. deblocking_filter_override_enabled equal to 1 _flag is the ph_deblocking_filter in PH that refers to the PPS. In the slice header that specifies the presence of r_override_flag and references the PPS slice_deblocking_filter_override_flag Specifies the presence of deblocking_filter_override_ equal to 0. enabled_flag is the ph_deblocking flag in PH that refers to the PPS. ssl_filter_override_flag is absent and references PPS. slice_deblocking_filter_overrid in the slice header Specifies the absence of e_flag. If not present, deblocking_filter The value of _override_enabled_flag is inferred to be equal to 0. pps_deblocking_filter_disabled_fla equal to 1 g is the deblocking filter operation, slice_deblocking_filt Applied to slices that refer to PPSs where er_disabled_flag does not exist pps_deblocking_filter_d equal to 0 isabled_flag is the deblocking filter operation, slice_debl ocking_filter_disabled_flag refers to a non-existent PPS If not present, pps_debloc The value of king_filter_disabled_flag is inferred to be equal to 0. pps_beta_offset_div2 and pps_tc_offset_di In v2, the default deblocking parameter offset is a slider that references the PPS. Deblocking parameter offsets present in the picture or slice header of the The β and β values applied to the luminance component of the slice that references the PPS, unless overridden by Specifies the default deblocking parameter offset (divided by 2) for tc and td. pps_beta_offset_div2 and pps_tc_offset_d The value of iv2 must be in the range of -12 to 12. If it does not exist, pp s_beta_offset_div2 and pps_tc_offset_div2 All values are inferred to be equal to 0. pps_cb_beta_offset_div2 and pps_cb_tc_off set_div2 sets the default deblocking parameter offset with reference to the PPS. The deblocking parameters present in the picture header or slice header of the slice being referenced. applies to the Cb component of the slice that references the PPS, unless overridden by a data offset. The default deblocking parameter offset (divided by 2) for β and tC used pps_cb_beta_offset_div2 and pps_cb The value of _tc_offset_div2 is in the range of -12 to +12. If not, pps_cb_offset_div2 and pps_cb_offset_d All values of iv2 are inferred to be equal to 0. pps_cr_beta_offset_div2 and pps_cr_tc_off set_div2 sets the default deblocking parameter offset with reference to the PPS. The deblocking parameters present in the picture header or slice header of the slice being referenced. Applies to the Cr component of the slice that references the PPS unless overridden by a data offset. The default deblocking parameter offset (divided by 2) for β and tC used pps_cr_beta_offset_div2 and pps_cr The value of _tc_offset_div2 is in the range of -12 to +12. If not, pps_cr_offset_div2 and pps_cr_offset_d All values of iv2 are inferred to be equal to 0. rpl_info_in_ph_flag equal to 1 indicates that the reference picture list information is in In a slice header that references a PPS that contains an H syntax structure and does not contain a PH syntax structure rpl_info_in_ph_flag equal to 0 specifies that the , the reference picture list information is not included in the PH syntax structure and does not contain the PH syntax structure. It is specified that a PPS may be present in a slice header that references the PPS. dbf_info_in_ph_flag equal to 1 indicates that deblocking is enabled for PH syntax structures. Slice headers that refer to PPSs that have filtering information and do not contain PH syntax structures Specifies that it is not present. dbf_info_in_ph_flag equal to 0 specifies that it is not present. A PPS that does not have deblocking filter information in the H syntax structure and does not contain a PH syntax structure is It is specified that it may exist in the slice header it references. If it does not exist, dbf The value of _info_in_ph_flag is inferred to be equal to 0. sao_info_in_ph_flag equal to 1 indicates that the PH syntax structure contains SAO information. The data information is present in the slice header that references the PPS and does not contain a PH syntax structure. sao_info_in_ph_flag equal to 0 specifies that the PH syntax Slices that refer to PPSs that have no SAO filter information in their structure and do not contain PH syntax structures It is specified that it may be present in the header. alf_info_in_ph_flag equal to 1 indicates that the PH syntax structure contains ALF information. that is present and not present in slice headers that reference a PPS that does not contain a PH syntax structure alf_info_in_ph_flag equal to 0 specifies that the PH syntax structure does not contain AL F information is not present and is present in a slice header referencing a PPS that does not contain a PH syntax structure It specifies that there are cases where wp_info_in_ph_flag equal to 1 indicates that the PH syntax structure contains weighted prediction information. Slice headers referencing PPSs that may contain PH syntax structures and may contain information wp_info_in_ph_flag equal to 0 specifies that There is no weighted prediction information in the PH syntactic structure, and the PPS does not contain the PH syntactic structure. It is specified that it may be present in the slice header. If it is not present, wp_info The value of _in_ph_flag is inferred to be equal to 0. qp_delta_info_in_ph_flag equal to 1 indicates that the PH syntax structure P-delta information is present and not present in slice headers that refer to PPSs that do not contain PH syntax constructs. qp_delta_info_in_ph_fla equal to 0. g refers to a PPS where the PH syntax structure does not contain any QP delta information and does not contain any PH syntax structure. This specifies that this may be present in the slice header. pps_ref_wraparound_enabled_flag equal to 1 indicates Specifies that horizontal wraparound motion compensation is applied in center prediction. The pps_ref_wraparound_enabled_flag specifies whether horizontal wraparound is enabled. Specifies that round motion compensation is applied. CtbSizeY / MinCbSizeY +1 is pic_width_in_luma_samples / MinCbSize If greater than Y-1, pps_ref_wraparound_enabled_fla The value of g shall be equal to 0. sps_ref_wraparound_enable If d_flag is equal to 0, pps_ref_wraparound_enable The value of d_flag shall be equal to 0. pps_ref_wraparound_offset+(CtbSizeY / Min CbSizeY)+2 is the offset used to calculate the horizontal wraparound position. Specifies the number of bits in units of MinCbSizeY luminance samples. The value of paround_offset is 0 to (pic_width_in_luma_s samples / MinCbSizeY)-(CtbSizeY / MinCbSizeY) It should be in the range of -2. The variable PpsRefWraparoundOffset is pps_ref_wrapa Equals round_offset+(CtbSizeY / MinCbSizeY)+2 It is set. picture_header_extension_present_f equal to 0 The lag specifies that there are no PH extension syntax elements in the PH that references the PPS. picture_header_extension_present_f equal to 1 The lag specifies the presence of a PH extension syntax element in the PH that references the PPS. picture_header_extension_present_flag is the Shall be equal to 0 in bitstreams conforming to this version of the specification. slice_header_extension_present_fla equal to 0 g is the slice header of the coded picture that references the PPS slice_header_ex equal to 1 specifies that no extension syntax elements are present tension_flag is the slice of the coded picture that refers to the PPS Specifies that the slice header extension syntax element is present in the header. slice_head er_extension_present_flag is Shall be equal to 0 in conforming bitstreams. pps_extension_flag equal to 0 indicates that the PPS RBSP syntax structure does not contain Specifies that the ps_extension_data_flag syntax element is not included. pps_extension_flag equal to 1 indicates that the PPS RBSP syntax structure Specifies that the pps_extension_data_flag syntax element is present. The pps_extension_data_flag can have any value. Its presence and value determine the decoder's conformance to the features specified in this specification version. Decoders conforming to this specification version will not affect all pps_ext The tension_data_flag syntax element MUST be ignored.
[0032] 3.2. PH Syntax and Semantics In the recent VVC draft text, the PH syntax and semantics are as follows: [Table 7]
[0033] PH RBSP is a PH syntax structure, i.e., picture_header_structure Contains ture(). [Table 8] [Table 9] [Table 10] [Table 11] [Table 12] [Table 13] [Table 14] A PH syntax structure is a representation of all coded pictures associated with the PH syntax structure. Contains information common to slices of gdr_or_irap_pic_flag equal to 1 indicates that the current picture is GDR or Specifies that the gdr_or_irap_pi is an IRAP picture. c_flag indicates whether the current picture is a GDR or IRAP picture. It stipulates that gdr_pic_flag equal to 1 indicates that the picture associated with the PH is a GDR picture. A gdr_pic_flag equal to 0 specifies that the PH is associated with Specifies that the picture specified is not a GDR picture. If not present, gdr_pic The value of _flag is inferred to be equal to 0. If gdr_enabled_flag is equal to 0, If so, the value of gdr_pic_flag shall be equal to 0. ph_inter_slice_allowed_flag equal to 0 means that the Specify that all coded slices have slice_type 2. ph_inter_slice_allowed_flag equal to 1 means that the slice A picture with _type equal to 0 or 1 has one or more coded slices. It specifies that it is not necessary to have a ph_intra_slice_allowed_flag equal to 0 means that the picture All coded slices have slice_type equal to 0 or 1 ph_intra_slice_allowed_flag equal to 1 specifies One or more coded slices with slice_type equal to 2 in the picture If it does not exist, ph_intra_sli A value of ce_allowed_flag equal to 1 is inferred. NOTE 1 - PH bitstream based on subpictures without modifying NAL units For bitstreams intended to perform frame merging, the encoder _inter_slice_allowed_flag and ph_intra_sli It is expected that both values of ce_allowed_flag are set equal to 1. non_reference_picture_flag equal to 1 means that the picture is not associated with PH. Specifies that the framed picture cannot be used as a reference picture. The new non_reference_picture_flag is associated with PH Specifies that a picture may or may not be used as a reference picture. ph_pic_parameter_set_id is the pps_pi of the PPS in use Specifies the value of c_parameter_set_id. The value of er_set_id is in the range of 0 to 63. The value of TemporalId in PH is pps_pic_parameter_set_ Tempora of PPS with id ph_pic_parameter_set_id It is a bitstream conformance requirement that it be equal to or greater than the value of lId. ph_pic_order_cnt_lsb is the picture order counter for the current picture. Specifies the value modulo MaxPicOrderCntLsb. The length of the rder_cnt_lsb syntax element is log2_max_pic_order_ cnt_lsb_minus4+4 bits. The lsb value must be in the range of 0 to MaxPicOrderCntLsb-1. . As specified in Annex C, no_output_of_prior_pics_f lag is the delay after decoding a CLVSS picture that is not the first picture in the bitstream. It affects the output of the previously decoded picture in PB. recovery_poc_cnt specifies the recovery point in the output order of the decoded picture. If the current picture is a GDR picture associated with the PH, and the current GDR picture Add the value of recovery_poc_cnt to the PicOrderCntVal of the In CLVS with PicOrderCntVal, which is the value of the current If there is a picture following the GDR picture, this picture picA is used as the recovery point. Otherwise, the current picture's PicOrderCntVa PicOrder greater than l plus the value of recovery_poc_cnt The first picture in output order that has CntVal is called the recovery point picture. The recovery point picture shall not precede the current GDR picture in decoding order. The value of recovery_poc_cnt is 0 to MaxPicOrderCntLsb-1 It shall be within the range of If the current picture is a GDR picture, the variable RpPicOrderCntVal is derived as follows: RpPicOrderCntVal=PicOrderCntVal+recover y_poc_cnt (82) NOTE 2 - If gdr_enabled_flag is equal to 1 and the current picture's PicOr RpPicOrderCntVa of the GDR picture with which derCntVal is associated l or greater, the current and subsequent decoded pictures in output order are Start the decoding process from the previous IRAP picture (if any) preceding the GDR picture. The resulting picture matches exactly the corresponding picture generated by ph_extra_bit[i] may be equal to 1 or 0. A compliant decoder must ignore the value of ph_extra_bit[i]. Its value affects the conformance of the decoder to the features specified in this version of this specification. Not given. ph_poc_msb_present_flag equal to 1 specifies the syntax element poc_m Specifies that sb_val is present in PH. ph_poc_msb_pr equal to 0 esent_flag specifies that the syntax element ph_msb_val is not present in PH. vps_independent_layer_flag[GeneralLay erIdx[nuh_layer_id]] is equal to 0 and the current layer's reference layer If the current AU has a picture, ph_poc_msb_present_flag is set to The value shall be equal to 0. poc_msb_val specifies the POC MSB value of the current picture. The length of poc_msb_val is poc_msb_len_minus1+1 bits. be. ph_alf_enabled_flag equal to 1 enables all PH-associated Enables the adaptive loop filter for a slice of Y, Cb, or Specifies that ph_alf_enabled equal to 0 may be applied to the Cr color component. _flag specifies whether the adaptive rule is applied to one or more or all slices associated with the PH. If not present, ph_alf_ enabled_flag is inferred to be equal to 0. ph_num_alf_aps_ids_luma is the number of slices associated with the PH Specifies the number of ALF APS that is referenced by ph_alf_aps_id_luma[i] is the luminance of the slice associated with the PH. The adaptation_parameter of the i-th ALF APS that the degree component refers to Specify _set_id. aps_params_type equals ALF_APS and adaptation_ parameter_set_id equals ph_alf_aps_id_luma[i] alf_luma_filter_signal_fla of new APS NAL unit The value of g is assumed to be equal to 1. aps_params_type equals ALF_APS and adaptation_ parameter_set_id is ph_alf_aps_id_luma[i] The TemporalId of the APS NAL unit is the TemporalId of the picture associated with the PH. It shall be less than or equal to TemporalId. ph_alf_chroma_idc equal to 0 means that the adaptive loop filter is ph__alf_chroma_idc=1 indicates that it does not apply to the Cr color component. Indicates that the adaptive loop filter is applied to the Cb color component. _idc=2 indicates that the adaptive loop filter is applied to the Cr color component. f_chroma_idc=3 means that the adaptive loop filter is applied to the Cb and chrominance components. If ph_alf_chroma_idc is not present, it is assumed to be equal to 0. It is discussed. ph_alf_aps_id_chroma is the chroma of the slice associated with the PH. The ALF APS adaptation_parameter_set referenced by the component Specify the _id. aps_params_type equals ALF_APS and adaptation_ parameter_set_id is ph_alf_aps_id_chroma[i] alf_chroma_filter_signal in APS NAL unit equal to The value of _flag shall be equal to 1. aps_params_type equals ALF_APS and adaptation_ parameter_set_id is ph_alf_aps_id_chroma[i] The TemporalId of the APS NAL unit is the picture associated with the PH. The TemporalId of the current device shall be less than or equal to the current device's TemporalId. ph_cc_alf_cb_enabled_flag equal to 1 enables the Cb color component. The cross-component filter for this purpose is enabled for all slices associated with the PH. Specifies that the RGB color filter may be applied to the Cb color component in the slice. h_cc_alf_cb_enabled_flag is the cross-conversion flag for the Cb color component. Component filters are disabled for one or more or all slices associated with the PH. If not present, ph_cc_alf_cb_ena bled_flag is inferred to be equal to 0. ph_cc_alf_cb_aps_id is the Cb color of the slice associated with the PH The ALF APS adaptation_parameter_set_ that the component references Specify the id. aps_params_type equals ALF_APS and adaptation_ parameter_set_id equals ph_cc_alf_cb_aps_id alf_cc_cb_filter_signal_flag in APS NAL units The value of is assumed to be equal to 1. aps_params_type equals ALF_APS and adaptation_ A where parameter_set_id is ph_cc_alf_cb_aps_id The TemporalId of a PS NAL unit is the TemporalId of the picture associated with the PH. It shall be less than or equal to the mporalId. ph_cc_alf_cr_enabled_flag equal to 1 is used for the Cb color component The cross-component filter for this purpose is enabled for all slices associated with the PH. Specifies that the Cr color component in the slice may be applied. h_cc_alf_cr_enabled_flag is the cross-conversion flag for the Cr color component. Component filters are disabled for one or more or all slices associated with the PH. If not present, ph_cc_alf_cr_ena bled_flag is inferred to be equal to 0. ph_cc_alf_cr_aps_id is the Cr color of the slice associated with the PH The ALF APS adaptation_parameter_set_ that the component references Specify the id. aps_params_type equals ALF_APS and adaptation_ parameter_set_id equals ph_cc_alf_cr_aps_id alf_cc_cr_filter_signal_flag in APS NAL unit The value of is assumed to be equal to 1. aps_params_type equals ALF_APS and adaptation_ A where parameter_set_id is ph_cc_alf_cr_aps_id The TemporalId of a PS NAL unit is the TemporalId of the picture associated with the PH. It shall be less than or equal to the mporalId. ph_lmcs_enabled_flag equal to 1 enables all PH-associated Specifies that luma mapping with chroma scaling is enabled for all slices. ph_lmcs_enabled_flag equal to 0 specifies that the LMCS is associated with PH. Luminance mapping with chroma scaling for one or more or all slices If not present, ph_lmcs_enabled_fl The value of ag is inferred to be equal to 0. ph_lmcs_aps_id is the LMCS that the slice associated with the PH refers to. Specifies the adaptation_parameter_set_id of APS. s_params_type equals LMCS_APS and adaptation_pa APS NAL unit with parameter_set_id ph_lmcs_aps_id The TemporalId of the unit is the TemporalId of the picture associated with the PH. It shall be less than or equal to d. ph_chroma_residual_scale_flag equal to 1 specifies that PH This indicates that chroma residual scaling is enabled for all associated slices. ph_chroma_residual_scale_flag equal to 0 specifies , chroma residual scaling for one or more or all slices associated with PH. Specifies that residual scaling is disabled. If e_flag is not present, it is inferred to be equal to 0. ph_scaling_list_present_flag equal to 1 indicates that the reference scale Based on the scaling list data contained in the APS, the This specifies that scaling list data used for the specified slice is derived. Equal to ph_scaling_list_present_flag, the flag is associated with PH The scaling list used for the specified slice is set to 16. If it does not exist, ph_scaling_list_present_f The value of lag is assumed to be 0. ph_scaling_list_aps_id is the ad of the scaling list APS Specifies the adaptation_parameter_set_id. s_type equals SCALING_APS and adaptation_parame APS whose ter_set_id is ph_scaling_list_aps_id The TemporalId of a NAL unit is the TemporalId of the picture associated with the PH. It shall be less than or equal to ralId. ph_virtual_boundaries_present_flag equal to 1 specifies that virtual boundary information is signaled in PH. ph_virtu equal to 0 al_boundaries_present_flag indicates whether virtual boundary information is present in PH. If there is more than one virtual boundary signaled in the PH, In a picture, in-loop filtering operations across a virtual boundary are disabled. The loop filtering operations include a deblocking filter, a sample adaptive offset filter, and If not present, ph_virtual_ The value of boundaries_present_flag is assumed to be 0. If subpic_info_present_flag is equal to 1, then ph_vi The value of real_boundaries_present_flag is equal to 0. It is a requirement for bitstream conformance that The variable VirtualBoundariesPresentFlag is derived as follows: It is served. VirtualBoundariesPresentFlag=0 if(sps_virtual_boundaries_enabled_flag) VirtualBoundariesPresentFlag=sps_virtua l_boundaries_present_flag|| ph_virtual_boundaries_present_flag (8 3) ph_num_ver_virtual_boundaries is the number of ph _virtual_boundaries_pos_x[i] Specifies the number of syntax elements. If ph_num_ver_virtual_boundaries does not exist, it is set to 0. are assumed to be equal. The variable NumVerVirtualBoundaries is derived as follows: NumVerVirtualBoundaries=0 if(sps_virtual_boundaries_enabled_flag) NumVerVirtualBoundaries=sps_virtual_bou ndaries_present_flag? sps_num_ver_virtual_boundaries:ph_num _ver_virtual_boundaries (84) ph_virtual_boundaries_pos_x[i] the i-th vertical virtual boundary Specifies the position of the field in units of 8 luminance samples. The value of ndaries_pos_x[i] ranges from 1 to Ceil(pic_width_in The range is _luma_samples÷8)-1. List Vir, where i ranges from 0 to NumVerVirtualBoundaries-1 Let tualBoundariesPosX[i] be the position of the vertical virtual boundary in luminance samples. By defining the position, it is derived as follows: for(i=0;i <NumVerVirtualBoundaries;i++) VirtualBoundariesPosX[i]=(sps_virtual_b oundaries_present_flag? sps_virtual_boundaries_pos_x[i]:ph_vi rtual_boundaries_pos_x[i])*8 (85) The distance between any two vertical virtual boundaries is at least CtbSizeY luminance samples. Let's say. ph_num_hor_virtual_boundaries is the number of virtual boundaries that exist in PH. h_virtual_boundaries_pos_y[i] specifies the number of syntax elements If ph_num_hor_virtual_boundaries does not exist, 0 is assumed to be equal to The parameter NumHorVirtualBoundaries is derived as follows: can be. NumHorVirtualBoundaries=0 if(sps_virtual_boundaries_enabled_flag) NumHorVirtualBoundaries=sps_virtual_bou ndaries_present_flag? sps_num_hor_virtual_boundaries:ph_num _hor_virtual_boundaries (86) sps_virtual_boundaries_enabled_flag equals 1 ph_virtual_boundaries_present_flag is set to 1 If they are equal, ph_num_ver_virtual_boundaries and ph_ The sum of num_hor_virtual_boundaries must be greater than 0. do. ph_virtual_boundaries_pos_y[i] is the i-th horizontal Specifies the position of the virtual boundary in the direction, in units of 8 luminance samples. The value of l_boundaries_pos_y[i] ranges from 1 to Ceil(pic_hei The range is 1 / 8 (light_in_luma_samples÷8)-1. List Vir, where i ranges from 0 to NumHorVirtualBoundaries-1 Let tualBoundariesPosY[i] be the value of the horizontal virtual boundary in luminance samples. By defining the position, it is derived as follows: for(i=0;i <NumHorVirtualBoundaries;i++) VirtualBoundariesPosY[i]=(sps_virtual_b oundaries_present_flag? sps_virtual_boundaries_pos_y[i]:ph_vi rtual_boundaries_pos_y[i])*8 (87) The distance between any two horizontal virtual boundaries is at least CtbSizeY luminance samples. Let's say. pic_output_flag specifies the decoded picture output flag as specified in Annex C. pic_output_flag does not exist. If , it is inferred to be equal to 1. partition_constraints_override_fla equal to 1 g specifies that the partition constraint parameter is present in PH. pa equal to 0 rtition_constraints_override_flag is This specifies that the partition constraint parameter is not present in the PH. Assume the value of ion_constraints_override_flag is equal to 0 will be done. ph_log2_diff_min_qt_min_cb_intra_slice_ luma is the minimum size of luma samples in a luma leaf block resulting from the quadtree decomposition of a CTU. The base 2 logarithm of the size and the slice_type associated with PH is 2(I). the base 2 logarithm of the minimum coding block size of the luma samples of the luma CU in the Define the difference. ph_log2_diff_min_qt_min_cb_intra_ The value of slice_luma is 0 to CtbLog2SizeY-MinCbLog2Si If not present, ph_log2_diff_min The value of _qt_min_cb_luma is sps_log2_diff_min_qt_m Inferred to be equal to in_cb_luma. ph_max_mtt_hierarchy_depth_intra_slice_ Luma is measured in slices with slice_type 2(I) associated with PH. The maximum hierarchical depth of a coding unit resulting from multi-type tree division of a quadtree in Specify. ph_max_mtt_hierarchy_depth_intra_sl The value of ice_luma is 0 to 2*(CtbLog2SizeY-MinCbLog2S If not present, ph_max_mtt_hie The value of rarchy_depth_intra_slice_luma is sps_max _mtt_hierarchy_depth__intra_slice_luma etc. It is inferred that this will become more difficult. ph_log2_diff_max_bt_min_qt_intra_slice_ luma is the luma samples of the luma coding block that can be split using binary splitting The base 2 logarithm of the maximum size (width or height) of sl, which is 2(I) associated with PH. Luminance leaf blocks resulting from quadtree decomposition of CTUs of slices with ice_type Specifies the difference between the minimum size (width or height) of the luminance sample of and ph_log2_d. The value of iff_max_bt_min_qt_intra_slice_luma is 0 to Within the range of CtbLog2SizeY-MinQtLog2SizeIntraY If not present, ph_log2_diff_max_bt_min_qt_ The value of intra_slice_luma is sps_log2_diff_max_bt Inferred to be equal to _min_qt_intra_slice_luma. ph_log2_diff_max_tt_min_qt_intra_slice_ Luma is the luminance sample of a luma coding block that can be divided using ternary division. is the base 2 logarithm of the maximum size (width or height) of the pool and 2(I) is the logarithm associated with the pH. Luminance leaf blocks resulting from quadtree decomposition of CTUs of slices with slice_type Specifies the minimum size (width or height) of a luminance sample in a block and the difference between ph_log2 and ph_log2. The value of _diff_max_tt_min_qt_intra_slice_luma is Within the range of 0 to CtbLog2SizeY-MinQtLog2SizeIntraY If not present, ph_log2_diff_max_tt_min_q The value of t_intra_slice_luma is sps_log2_diff_max_ Inferred to be equal to tt_min_qt_intra_slice_luma. ph_log2_diff_min_qt_min_cb_intra_slice_ chroma is a class with treeType equal to DUAL_TREE_CHROMA Minimum size of luminance samples in chroma leaf blocks by quadtree division of Roma CTU and the base 2 logarithm of the slice associated with PH with slice_type 2(I). Luminance of chroma CUs with treeType equal to DUAL_TREE_CHROMA Specifies the difference between the base 2 logarithm of the minimum coding block size in samples and g2_diff_min_qt_min_cb_intra_slice_chroma The value is in the range of 0 to CtbLog2SizeY-MinCbLog2SizeY. If not present, ph_log2_diff_min_qt_min_cb The value of _intra_slice_chroma is sps_log2_diff_min_ Inferred to be equal to qt_min_cb_chroma. ph_max_mtt_hierarchy_depth_intra_slice_ chroma is a treeTy with slice_type 2(I) associated with PH Chroma quadtree with treeType where pe=DUAL_TREE_CHROMA Specifies the maximum hierarchical depth of the chroma coding unit resulting from the multi-type tree division of ph_max_mtt_hierarchy_depth_intra_slic The value of e_chroma is 0 to 2*(CtbLog2SizeY-MinCbLog2S If not present, ph_max_mtt_hie The value of rarchy_depth_intra_slice_chroma is sps_m ax_mtt_hierarchy_depth_intra_slice_chrom is inferred to be equal to a. ph_log2_diff_max_bt_min_qt_intra_slice_ chroma is the luminance size of the chroma coding block that can be split using binary splitting The base 2 logarithm of the maximum size (width or height) of a sample and the slice_ Equivalent to DUAL_TREE_CHROMA on slices of type 2(I). Chroma leaf blocks resulting from quadtree decomposition of chroma CTUs with treeType Specifies the difference from the minimum size (width or height) of the luminance sample. The value of f_max_bt_min_qt_intra_slice_chroma is 0 to The value is within the range of CtbLog2SizeY-MinQtLog2SizeIntraC. If not present, ph_log2_diff_max_bt_min_qt_ The value of intra_slice_chroma is sps_log2_diff_max_ Inferred to be equal to bt_min_qt_intra_slice_chroma . ph_log2_diff_max_tt_min_qt_intra_slice_ chroma is the luminance of the chroma coding block that can be divided using ternary division The base 2 logarithm of the maximum sample size (width or height) and the slice associated with PH Equivalent to DUAL_TREE_CHROMA on slices with _type 2(I). Chroma leaf blocks resulting from quadtree decomposition of chroma CTUs with different treeTypes Specifies the difference between the minimum size (width or height) of the luminance sample of The value of ff_max_tt_min_qt_intra_slice_chroma is 0 Within the range of ~CtbLog2SizeY-MinQtLog2SizeIntraC If not present, ph_log2_diff_max_tt_min_qt The value of _intra_slice_chroma is sps_log2_diff_max It is inferred to be equal to _tt_min_qt_intra_slice_chroma. do. ph_cu_qp_delta_subdiv_intra_slice is cu_q Propagates p_delta_abs and cu_qp_delta_sign_flag Specifies the maximum cbSubdiv value for coding units within an intra slice. The value of h_cu_qp_delta_subdiv_intra_slice is 0 to 2* (CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max _mtt_hierarchy_depth_intra_slice_luma) It shall be within the range. If not present, ph_cu_qp_delta_subdiv_intra_sli The value of ce is inferred to be equal to 0. ph_cu_chroma_qp_offset_subdiv_intra_sli ce is an intraline that carries cu_chroma_qp_offset_flag. Specifies the maximum cbSubdiv value of a coding unit in the The value of offset_subdiv_intra_slice is 0 to 2*(CtbLog 2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hi erarchy_depth_intra_slice_luma) Let's say. If not present, ph_cu_chroma_qp_offset_subdiv_i The value of ntra_slice is inferred to be equal to 0. ph_log2_diff_min_qt_min_cb_inter_slice is , the minimum size of luma samples of luma leaf blocks resulting from the quadtree partitioning of the CTU is base 2 Logarithm and slice_type associated with PH equals 0 (B) or 1 (P) Minimum luma coding block size of luma samples for a luma CU in a slice Specifies the difference between the base 2 logarithm of and . The value of b_inter_slice is 0 to CtbLog2SizeY-MinCbLog 2SizeY. If not present, ph_log2_diff_ The value of min_qt_min_cb_luma is sps_log2_diff_min_ Inferred to be equal to qt_min_cb_inter_slice. ph_max_mtt_hierarchy_depth_inter_slice , in slices with slice_type 0 (B) or 1 (P) associated with PH The maximum hierarchical depth of the coding unit by multitype tree division of quadtree leaves is ph_max_mtt_hierarchy_depth_inter_ The slice value is 0 to 2*(CtbLog2SizeY-MinCbLog2Size Y). If not present, ph_max_mtt_hierar The value of chy_depth_inter_slice is sps_max_mtt_hie It is inferred to be equal to rarchy_depth_inter_slice. ph_log2_diff_max_bt_min_qt_inter_slice , the luma samples of the luma coding block can be split using binary splitting The base 2 logarithm of the maximum size (width or height) of the P) is the luminance subtree of the luminance leaf block resulting from the quadtree division of the CTU in the slice. Specifies the minimum size (width or height) of a sample and the difference between the The value of max_bt_min_qt_inter_slice is 0 to CtbLog2Si It must be in the range zeY-MinQtLog2SizeInterY. If not, ph_log2_diff_max_bt_min_qt_inter_sli The value of ce is sps_log2_diff_max_bt_min_qt_inter_s It is inferred to be equal to lice. ph_log2_diff_max_tt_min_qt_inter_slice is , the luminance samples of the luminance coding block can be divided using ternary division. The base 2 logarithm of the maximum size (width or height) of a rule and the 0 (B) or 1 (B) associated with PH. (P) is the luminance of the luminance leaf block resulting from the quadtree partitioning of the CTU in the slice. Specifies the minimum size (width or height) of a sample and the difference between them. The value of _max_tt_min_qt_inter_slice is 0 to CtbLog2S It must be in the range of sizeY-MinQtLog2SizeInterY. If not, ph_log2_diff_max_tt_min_qt_inter_sl The value of ice is sps_log2_diff_max_tt_min_qt_inter_ It is inferred to be equal to slice. ph_cu_qp_delta_subdiv_inter_slice is cu_q Propagates p_delta_abs and cu_qp_delta_sign_flag Specifies the maximum cbSubdiv value for coding units within an inter-slice. The value of h_cu_qp_delta_subdiv_inter_slice is 0 to 2* (CtbLog2SizeY-MinQtLog2SizeInterY+ph_max _mtt_hierarchy_depth_inter_slice) It shall be. If not present, ph_cu_qp_delta_subdiv_inter_sli The value of ce is inferred to be equal to 0. ph_cu_chroma_qp_offset_subdiv_inter_sli ce is an interslice signal that carries cu_chroma_qp_offset_flag. Specifies the maximum cbSubdiv value of a coding unit in the stream. The value of oma_qp_offset_subdiv_inter_slice is 0 to 2* (CtbLog2SizeY-MinQtLog2SizeInterY+ph_max _mtt_hierarchy_depth_inter_slice) It shall be. If not present, ph_cu_chroma_qp_offset_subdiv_i The value of nter_slice is inferred to be equal to 0. ph_temporal_mvp_enabled_flag is associated with PH Specifies whether a temporal motion vector predictor can be used for inter prediction of the selected slice. If ph_temporal_mvp_enabled_flag is equal to 0, PH The syntax element of a slice associated with a temporal motion vector predictor is used to decode the slice. It shall be constrained not to be used otherwise (ph_temporal_ mvp_enabled_flag equals 1), the slice associated with the PH If not present, ph_temp The value of oral_mvp_enabled_flag is assumed to be equal to 0. If the reference picture in does not have the same spatial resolution as the current picture, The value of oral_mvp_enabled_flag shall be equal to 0. Maximum number of subblock-based merging MVP candidates, MaxNumSubblockMe rgeCand is derived as follows: if(sps_affine_enabled_flag) MaxNumSubblockMergeCand=5-five_minus_ma x_num_subblock_merge_cand (88) else MaxNumSubblockMergeCand=sps_sbtmvp_enab led_flag&&ph_temporal_mvp_enable_flag The value of MaxNumSubblockMergeCand is in the range of 0 to 5. ph_collocated_from_l0_flag equal to 1 indicates that the temporal motion vector Co-located pictures used for vector prediction are derived from reference picture list 0. ph_collocated_from_l0_fl equal to 0 ag is the co-located picture used for temporal motion vector prediction as a reference picture. It is stipulated that it is derived from Charist 1. ph_collocated_ref_idx is used for temporal motion vector prediction. This specifies the reference index of the co-located picture. If ph_collocated_from_l0_flag is equal to 1, then ph_c ollocated_ref_idx refers to an entry in reference picture list 0, and ph _collocated_ref_idx is a value between 0 and num_ref_entries It shall be in the range [0][RplsIdx[0]]-1. If ph_collocated_from_l0_flag is equal to 0, then ph_c ollocated_ref_idx refers to an entry in reference picture list 1, and ph _collocated_ref_idx is a value between 0 and num_ref_entries It shall be in the range [1][RplsIdx[1]]-1. If not present, the value of ph_collocated_ref_idx is assumed to be equal to 0. It is measured. mvd_l1_zero_flag equal to 1 means mvd_coding(x0,y0 1) The syntax structure is not parsed, and MvdL1[x0][y0][compIdx] and and MvdCpL1[x0][y0][cpIdx][compIdx] is compIdx =0..1 and cpIdx=0..2 indicates it is set to 0. Equals 0 mvd_l1_zero_flag is used in conjunction with the mvd_coding(x0,y0,1) syntax. Indicates that the structure has been parsed. ph_fpel_mmvd_enabled_flag equal to 1 enables motion vector difference Merge modes with use the integer sample precision of the slice associated with PH. ph_fpel_mmvd_enabled_flag equal to 0 specifies that Merge mode with motion vector difference uses fractional samples of the slice associated with PH. Specifies the precision to use. If not present, ph_fpel_mmvd_enab The value of led_flag is assumed to be 0. ph_disable_bdof_flag equal to 1 disables the slur associated with PH. In this device, inter-bidirectional prediction based on bidirectional optical flow inter-prediction is not available. ph_disable_bdof_flag equal to 0 specifies that In the slices associated with the PH, bidirectional optical flow inter-prediction is used. Specifies that inter bidirectional prediction may or may not be enabled. If ph_disable_bdof_flag is not present, the following applies: - If sps_bdof_enabled_flag is equal to 1, then ph_disa The value of ble_bdof_flag is inferred to be equal to 0. - Otherwise (sps_bdof_enabled_flag is equal to 0) , the value of ph_disable_bdof_flag is inferred to be equal to 1. ph_disable_dmvr_flag equal to 1 disables the slur associated with PH. In this device, inter bi-prediction based on decoder motion vector refinement is disabled. ph_disable_dmvr_flag equal to 0 specifies that the In the slices marked with a slash, bidirectional prediction based on decoder motion vector refinement is performed. It specifies that it may or may not be enabled. If ph_disable_dmvr_flag is not present, the following applies: - If sps_dmvr_enabled_flag is equal to 1, then ph_disa The value of ble_dmvr_flag is inferred to be equal to 0. - Otherwise (sps_dmvr_enable_flag is equal to 0), The value of ph_disable_dmvr_flag is inferred to be equal to 1. ph_disable_prof_flag equal to 1 disables the slur associated with PH. This specifies that optical flow prediction fine-tuning is disabled in the device. ph_disable_prof_flag is equal to the slice associated with PH In this case, optical flow prediction refinement may or may not be enabled. This stipulates: If ph_disable_prof_flag is not present, the following applies: - If sps_affine_prof_enabled_flag is equal to 1, The value of ph_disable_prof_flag is inferred to be equal to 0. - Otherwise (sps_affine_prof_enabled_flag is 0) , the value of ph_disable_prof_flag is inferred to be equal to 1. can be. ph_qp_delta is the CuQpDelta at the coding unit layer Used for coding blocks in the picture until modified by the value of Val. RuQp Y Specifies the initial value of If qp_delta_info_in_ph_flag is equal to 1, the picture's Qp for all slices Y quantization parameter SliceQp Y The first value of , which is derived as follows: SliceQp Y =26+init_qp_minus26+ph_qp_delta (89) SliceQp Y The value is in the range of -QpBdOffset to 63. ph_joint_cbcr_sign_flag is tu_joint_cbcr_ In the translation unit where residual_flag[x0][y0] is equal to 1, both The co-located residual samples of the chroma components are reversed in sign. tu_joint_cbcr_residual_fl for one transformation unit. ph_joint_cbcr_si is equal to 0 when ag[x0][y0] is equal to 1 gn_flag is used to determine whether the sign of each residual sample of the Cr (or Cb) component is located at the same position. p is equal to 1, and h_joint_cbcr_sign_flag is the residual signal for each Cr (or Cb) component. The sign of a sample is the opposite of the co-located Cb (or Cr) residual sample. This specifies that the ph_sao_luma_enabled_flag equal to 1 indicates that the PH is associated with Specifies that SAO is enabled for the luma component in all slices selected, and is set to 0. Equal ph_sao_luma_enabled_flag indicates that SAO for the luminance component is enabled in PH may be invalidated for one or more or all slices associated with If ph_sao_luma_enabled_flag does not exist, 0 is assumed to be equal to ph_sao_chroma_enabled_flag equal to 1 indicates that the PH is associated with Specifies that SAO is enabled for chroma components in all slices included in the , ph_sao_chroma_enabled_flag equal to 0 means S If AO is disabled for one or more or all slices associated with a PH ph_sao_chroma_enabled_flag is present. If not, it is assumed to be equal to 0. ph_dep_quant_enabled_flag equal to 0 means that the current picture Specifies that dependency quantization is disabled for ph_dep_quan equal to 1. t_enabled_flag indicates that dependent quantization is enabled for the current picture. If ph_dep_quant_enabled_flag is not present, , is inferred to be equal to 0. pic_sign_data_hiding_enabled_flag equal to 0 , specifies that sign bit hiding is disabled for the current picture. pic_sign_data_hiding_enabled_flag is the current pic pic_sign_ Specifies that sign bit hiding is enabled for the structure. If data_hiding_enabled_flag is not present, it is assumed to be equal to 0. It is measured. ph_deblocking_filter_override_flag equal to 1 specifies that the deblocking parameter is present in PH. ph_de equal to 0 blocking_filter_override_flag is the deblocking parameter. Specifies that the meter is not present in the PH. If not present, ph_deblockin The value of g_filter_override_flag is inferred to be equal to 0. ph_deblocking_filter_disabled_flag equal to 1 does not apply the deblocking filter operation to the slice associated with PH. ph_deblocking_filter_disable equal to 0 ed_flag specifies whether the deblocking filter is applied to the slice associated with the PH. ph_deblocking_filter_disab If led_flag does not exist, pps_deblocking_filter_d isabled_flag. ph_beta_offset_div2 and ph_tc_offset_div2 is the deblocking of β and tC applied to the luminance component of the slice associated with PH. Specifies the offset (divided by 2) of the logging parameter. The values of _div2 and ph_tc_offset_div2 are both between -12 and 12. If not present, ph_beta_offset_div2 and The values of pps_beta_offs and ph_tc_offset_div2 are et_div2 and pps_tc_offset_div2. ph_cb_beta_offset_div2 and ph_cb_tc_offse t_div2 is the div of β and tC applied to the Cb component of the slice associated with PH. Specifies the offset (divided by 2) of the deblocking parameters. The values of ta_offset_div2 and ph_cb_tc_offset_div2 are , both of which must be in the range of -12 to 12. If they do not exist, ph_cb_be The values of ta_offset_div2 and ph_cb_tc_offset_div2 are , pps_cb_beta_offset_div2 and pps_cb_tc, respectively Inferred to be equal to _offset_div2. ph_cr_beta_offset_div2 and ph_cr_tc_offse t_div2 is the div of β and tC applied to the Cr component of the slice associated with PH. Specifies the offset (divided by 2) of the deblocking parameters. The values of ta_offset_div2 and ph_cr_tc_offset_div2 are , both of which must be in the range of -12 to 12. If not present, ph_cr_be The values of ta_offset_div2 and ph_cr_tc_offset_div2 are , pps_cr_beta_offset_div2 and pps_cr_tc, respectively Inferred to be equal to _offset_div2. ph_extension_length specifies the length of the PH extension data in bytes. , not including bits used for signaling the ph_extension_length itself. The value of ph_extension_length is in the range of 0 to 256. If not, the value of ph_extension_length is inferred to be equal to 0. ph_extension_data_byte can have any value. Decoders conforming to the specification version are ph_extension_data_by The value of te must be ignored. Its value is based on the characteristics specified in the version of this specification. This does not affect the decoder's compatibility with
[0034] 3.3 SH Syntax and Semantics In the recent VVC draft text, the SH syntax and semantics are as follows: [Table 15] [Table 16] [Table 17] [Table 18] [Table 19] Luma quantization parameter for coding units, including cu_qp_delta_abs The variable CuQpDeltaVal, which defines the difference between cu_ and its prediction, is set to 0. Quantization parameters for coding units, including chroma_qp_offset_flag Meter Qp' Cb ,Qp' Cr and Qp' CbCr Used to determine each value of CuQpOffset variable that specifies the value Cb ,CuQpOffset Cr and CuQ pOffset CbCr are all set equal to 0. picture_header_in_slice_header_fla equal to 1 g has a PH syntax structure in the slice header. If _slice_header_flag is 0, the slice header contains a PH syntax structure. Does not exist. For all coded slices in CLVS, picture_hea The values of der_in_slice_header_flag and , a requirement for bitstream conformance. picture_header_in_s for one coded slice If lice_header_flag is equal to 1, then nal_u is PH_NUT. VCL NAL units with nit_type shall not exist in CLVS. These are the requirements for bitstream conformance. picture_header_in_slice_header_flag is equal to 0 If necessary, all coded slices in the current picture are re_header_in_slice_header_flag is equal to 0. , the current PU shall have a PH NAL unit. slice_subpic_id is the subpicture ID of the subpicture that contains the slice If slice_subpic_id exists, the variable CurrSubpi The value of cIdx is the slice of SubpicIdVal[CurrSubpicIdx]. _subpic_id is derived to be equal to (slice_s subpic_id does not exist), CurrSubpicIdx is equal to 0 The length of slice_subpic_id is derived from sps_subpic_id_ len_minus1+1 bits. slice_address specifies the slice address of the slice. In this case, the value of slice_address is inferred to be equal to 0. e_flag equals 1 and NumSlicesInSubpic[CurrSubpi If [cIdx] is equal to 1, the value of slice_address is inferred to be equal to 0. can be. If rect_slice_flag is equal to 0, the following applies: - The slice address is the raster scan tile index. - The length of slice_address is Ceil(Log2(NumTilesIn Pic)) bit. - slice_address is a value between 0 and NumTilesInPic-1 It should be within range. Otherwise (rect_slice_flag is equal to 1), the following applies: can be. - The slice address is the sub-picture level slice index of the slice. - The length of slice_address is Ceil(Log2(NumSlicesI nSubpic[CurrSubpicIdx])) bits. - The value of slice_address is 0 to NumSlicesInSubpic[C urrSubpicIdx]-1. The requirements for bitstream conformance are that the following constraints apply: - rect_slice_flag is equal to 0 or subpic_info_p If resent_flag is equal to 0, the value of slice_address is Any other coded slice NAL unit in the loaded picture It must not be equal to the slice_address value of the - Otherwise, slice_subpic_id and slice_address The set of s values is the same as any other coded s in the same coded picture. slice_subpic_id and slice_addre of Rice NAL unit The ss value pair must not be equal. - The shape of a slice of a picture is such that each CTU, when decoded, has its entire left boundary and The entire top boundary contains the boundary of one picture or the boundary of a previously decoded CTU. It must be something. sh_extra_bit[i] may be equal to 1 or 0. Decoders conforming to this specification must ignore the value of sh_extra_bit[i]. Its value does not affect the conformance of the decoder to the features specified in this version of this specification. It doesn't make a sound. num_tiles_in_slice_minus1+1 (if present) is the number of tiles in the slice num_tiles_in_slice_minu Specifies the number of tiles in a slice. The value of s1 should be in the range 0 to NumTilesInPic-1. The variable NumCtusInCurrSli that specifies the number of CTUs in the current slice. ce and the picture raster scan address of the ith CTB in the slice, where i is 0. A list of CtbAddr values ranging from NumCTUsInCurrSlice-1 to NumCTUsInCurrSlice-1. InCurrSlice[i] is derived as follows: if(rect_slice_flag){ picLevelSliceIdx=slice_address for(j=0;j <CurrSubpicIdx;j++) picLevelSliceIdx+=NumSlicesInSubpic[j] NumCtusInCurrSlice=NumCtusInSlice[picLe velSliceIdx] for(i=0;i <NumCtusInCurrSlice;i++) CtbAddrInCurrSlice[i]=CtbAddrInSlice[p icLevelSliceIdx][i] (117) }else{ NumCtusInCurrSlice=0 for(tileIdx=slice_address;tileIdx<=slic e_address+num_tiles_in_slice_minus1;tile Idx++){ tileX=tileIdx%NumTileColumns tileY=tileIdx / NumTileColumns for(ctbY=tileRowBd[tileY];ctbY <tileRow Bd[tileY+1];ctbY++){ for(ctbX=tileColBd[tileX];ctbX <tileCo lBd[tileX+1];ctbX++){ CtbAddrInCurrSlice[NumCtusInCurrSlic e]=ctbY*PicWidthInCtb+ctbX NumCtusInCurrSlice++ } } } } Variables SubpicLeftBoundaryPos, SubpicTopBounda ryPos, SubpicRightBoundaryPos, and SubpicBo tBoundaryPos is derived as follows: if(subpic_treated_as_pic_flag[CurrSubpic Idx]){ SubpicLeftBoundaryPos=subpic_ctu_top_le ft_x[CurrSubpicIdx]*CtbSizeY SubpicRightBoundaryPos=Min(pic_width_ma x_in_luma_samples-1, (subpic_ctu_top_left_x[CurrSubpicIdx] + subpic_width_minus1[CurrSubpicIdx]+1) *CtbSizeY-1) SubpicTopBoundaryPos=subpic_ctu_top_lef t_y[CurrSubpicIdx]*CtbSizeY (118) SubpicBotBoundaryPos=Min(pic_height_max _in_luma_samples-1, (subpic_ctu_top_left_y[CurrSubpicIdx] + subpic_height_minus1[CurrSubpicIdx]+1 )*CtbSizeY-1) } slice_type specifies the coding type of the slice according to Table 9 . Associating a name with a slice_type [Table 20] If not present, the value of slice_type is inferred to be equal to 2. If ph_intra_slice_allowed_flag is equal to 0, the sli The value of ce_type shall be equal to 0 or 1. Within the range of DR_W_RADL~CRA_NUT and vps_independent nt_layer_flag[GeneralLayerIdx[nuh_layer_ If id]] is equal to 1, then slice_type shall be equal to 2. Variables MinQtLog2SizeY, MinQtLog2SizeC, MinQtSi zeY, MinQtSizeC, MaxBtSizeY, MaxBtSizeC, Min BtSizeY, MaxTtSizeY, MaxTtSizeC, MinTtSizeY , MaxMttDepthY and MaxMttDepthC are derived as follows: . - If slice_type is equal to 2(I), the following applies: MinQtLog2SizeY=MinCbLog2SizeY+ph_log2_di ff_min_qt_min_cb_intra_slice_luma (119) MinQtLog2SizeC=MinCbLog2SizeY+ph_log2_di ff_min_qt_min_cb_intra_slice_chroma (120 ) MaxBtSizeY=1<<(MinQtLog2SizeY+ph_log2_di ff_max_bt_min_qt_intra_slice_luma) (121) MaxBtSizeC=1<<(MinQtLog2SizeC+ph_log2_di ff_max_bt_min_qt_intra_slice_chroma) (12 2) MaxTtSizeY=1<<(MinQtLog2SizeY+ph_log2_di ff_max_tt_min_qt_intra_slice_luma) (123) MaxTtSizeC=1<<(MinQtLog2SizeC+ph_log2_di ff_max_tt_min_qt_intra_slice_chroma) (12 4) MaxMttDepthY=ph_max_mtt_hierarchy_depth_ intra_slice_luma (125) MaxMttDepthC=ph_max_mtt_hierarchy_depth_ intra_slice_chroma (126) CuQpDeltaSubdiv=ph_cu_qp_delta_subdiv_in tra_slice (127) CuChromaQpOffsetSubdiv=ph_cu_chroma_qp_o ffset_subdiv_intra_slice (128) - Otherwise(slice_type equal to 0 (B) or 1(P)),the following applies: MinQtLog2SizeY=MinCbLog2SizeY+ph_log2_di ff_min_qt_min_cb_inter_slice (129) MinQtLog2SizeC=MinCbLog2SizeY+ph_log2_di ff_min_qt_min_cb_inter_slice (130) MaxBtSizeY=1<<(MinQtLog2SizeY+ph_log2_di ff_max_bt_min_qt_inter_slice) (131) MaxBtSizeC=1<<(MinQtLog2SizeC+ph_log2_di ff_max_bt_min_qt_inter_slice) (132) MaxTtSizeY=1<<(MinQtLog2SizeY+ph_log2_di ff_max_tt_min_qt_inter_slice) (133) MaxTtSizeC=1<<(MinQtLog2SizeC+ph_log2_di ff_max_tt_min_qt_inter_slice) (134) MaxMttDepthY=ph_max_mtt_hierarchy_depth_ inter_slice (135) MaxMttDepthC=ph_max_mtt_hierarchy_depth_ inter_slice (136) CuQpDeltaSubdiv=ph_cu_qp_delta_subdiv_in ter_slice (137) CuChromaQpOffsetSubdiv=ph_cu_chroma_qp_o ffset_subdiv_inter_slice (138) - The following applies: MinQtSizeY=1< <MinQtLog2SizeY (139) MinQtSizeC=1< <MinQtLog2SizeC (140) MinBtSizeY=1< <MinCbLog2SizeY (141) MinTtSizeY=1< <MinCbLog2SizeY (142) slice_alf_enabled_flag equal to 1 indicates that the adaptive loop filter is Can be enabled and applied to the Y, Cb, or Cr color components in a slice. slice_alf_enabled_flag equal to 0 specifies that the slice Specifies that all color components in slice_al are disabled. The value of f_enabled_flag is assumed to be ph_alf_enabled_flag. can be. slice_num_alf_aps_ids_luma is the number of ALs that the slice refers to Specifies the number of F APS. If slice_num_alf_aps_ids_luma does not exist, The value of slice_num_alf_aps_ids_luma is ph_num_alf It is inferred to be equal to the value of _aps_ids_luma. slice_alf_aps_id_luma[i] is the luminance component of the slice referenced adaptation_parameter_set_id of the i-th ALF APS aps_params_type is equal to ALF_APS and adapta tion_parameter_set_id is slice_alf_aps_id_l The TemporalId of the APS NAL unit uma[i] is coded as The TemporalId of the slice NAL unit specified in the _alf_enabled_flag is equal to 1 and slice_alf_aps If _id_luma[i] does not exist, slice_alf_aps_id_lum The value of a[i] is inferred to be equal to the value of ph_alf_aps_id_luma[i]. do. aps_params_type equals ALF_APS and adaptation_ parameter_set_id is slice_alf_aps_id_luma[i ] equal to the alf_luma_filter_signal_ of the APS NAL unit The value of flag shall be equal to 1. slice_alf_chroma_idc equal to 0 means that the adaptive loop filter is slice_alf_chroma_id indicates that the chroma_id does not apply to the chroma_id and Cr color components. c=1 indicates that the adaptive loop filter is applied to the Cb color component. f_chroma_idc=2 indicates that an adaptive loop filter is applied to the Cr color component. slice_alf_chroma_idc=3 indicates that the adaptive loop filter is slice_alf_chroma_idc indicates that the slice_alf_chroma_idc applies to the chroma and Cr color components. If is not present, it is inferred to be equal to ph_alf_chroma_idc. slice_alf_aps_id_chroma refers to the chroma component of the slice. Specifies the adaptation_parameter_set_id of the ALF APS aps_params_type is equal to ALF_APS and adaptation _parameter_set_id is slice_alf_aps_id_chrom The TemporalId of an APS NAL unit that is a coded slice The TemporalId of the slice NAL unit shall be less than or equal to the slice_alf_ enabled_flag is equal to 1 and slice_alf_aps_id_c If chroma is not present, the value of slice_alf_aps_id_chroma is , is inferred to be equal to the value of ph_alf_aps_id_chroma. aps_params_type equals ALF_APS and adaptation_ parameter_set_id is slice_alf_aps_id_chroma alf_chroma_filter_sig of APS NAL unit equal to [i] The value of nal_flag shall be equal to 1. slice_cc_alf_cb_enabled_flag equal to 0 means that the cross-connect Specifies that no component filter is applied to the Cb color component. sl equal to 1 ice_cc_alf_cb_enabled_flag is the cross-component filter This specifies that the filter is valid and may or may not be applied to the Cb color component. If ce_cc_alf_cb_enabled_flag does not exist, ph_cc_ It is inferred to be equal to alf_cb_enabled_flag. slice_cc_alf_cb_aps_id refers to the Cb color component of the slice Specify the adaptation_parameter_set_id. aps_params_type equals ALF_APS and adaptation_ parameter_set_id is slice_cc_alf_cb_aps_id The TemporalId of an APS NAL unit is the TemporalId of coded slice N. It must be less than or equal to the TemporalId of the AL unit. slice_cc_alf _cb_enabled_flag is equal to 1 and slice_cc_alf_c If b_aps_id does not exist, slice_cc_alf_cb_aps_id The value is inferred to be equal to the value of ph_cc_alf_cb_aps_id. aps_params_type equals ALF_APS and adaptation_ parameter_set_id to slice_cc_alf_cb_aps_id alf_cc_cb_filter_signal_f for equal APS NAL units The value of lag is assumed to be equal to 1. slice_cc_alf_cr_enabled_flag equal to 0 means that the cross- Specifies that no component filter is applied to the Cr color component. sl equal to 1 ice_cc_alf_cb_enabled_flag is cross-component adaptation Specifies that the loop filter is enabled and may or may not be applied to the Cr color component. If slice_cc_alf_cr_enabled_flag does not exist, p It is inferred to be equal to h_cc_alf_cr_enabled_flag. slice_cc_alf_cr_aps_id refers to the Cr color component of the slice Specifies the adaptation_parameter_set_id. ams_type is equal to ALF_APS and adaptation_parameter is APS NA where r_set_id is slice_cc_alf_cr_aps_id The TemporalId of an L unit is the TemporalId of the coded slice NAL unit. It must be less than or equal to emporalId. slice_cc_alf_cr_enab led_flag is equal to 1 and slice_cc_alf_cr_aps_id If slice_cc_alf_cr_aps_id does not exist, the value of slice_cc_alf_cr_aps_id is It is inferred to be equal to the value of _alf_cr_aps_id. aps_params_type equals ALF_APS and adaptation_ parameter_set_id to slice_cc_alf_cr_aps_id alf_cc_cr_filter_signal_f for equal APS NAL units The value of lag is assumed to be equal to 1. color_plane_id is separate_colour_plane_ If flag is equal to 1, it identifies the color plane associated with the current slice. The value of color_plane_id must be in the range 0 to 2, and color_p lane_id values 0, 1, and 2 correspond to the Y, Cb, and Cr planes, respectively. The r_plane_id value 3 is reserved for future use by ITU-T|ISO / IEC. It is agreed upon. NOTE 1 – There are no dependencies between the decoding processes of different color planes of a picture. num_idx_active_override_flag equal to 1 is used in conjunction with the syntax element num_ref_idx_active_minus1[0] is the number of P slices and B slices exists in the device and the syntax element num_ref_idx_active_minus1[1] Specifies that the num_ref_idx_activ parameter is present in the B slice. e_override_flag is the syntax element num_ref_idx_active_ minus1[0] and num_ref_idx_active_minus1[1] If it does not exist, num_ref_idx_active The value of _override_flag is inferred to be equal to 1. num_ref_idx_active_minus1[i] is defined in Equation 143 is used to derive the variable NumRefIdxActive[i]. The value of f_idx_active_minus1[i] is in the range of 0 to 14. It should be. If i is equal to 0 or 1, and the current slice is a B slice, num_re f_idx_active_override_flag is equal to 1 and num_ref If _idx_active_minus1[i] does not exist, then num_ref_id Infer that x_active_minus1[i] is not 0. When the current slice is a P slice, num_ref_idx_active_o verride_flag is equal to 1 and num_ref_idx_active_mi If nus1[0] does not exist, num_ref_idx_active_minus Infer that 1[0] is not 0. The variable NumRefIdxActive[i] is derived as follows: for(i=0;i<2;i++){ if(slice_type ==B|| (slice_type ==P && i==0)){ if(num_ref_idx_active_override_flag) NumRefIdxActive[i]=num_ref_idx_active _minus1[i]+1 (143) else { if(num_ref_entries[i][RplsIdx[i]]>=nu m_ref_idx_default_active_minus1[i]+1) NumRefIdxActive[i]=num_ref_idx_defau lt_active_minus1[i]+1 else NumRefIdxActive[i]=num_ref_entries[i ][RplsIdx[i]] } }else / *slice_type==I||(slice_type==P&&i ==1)* / NumRefIdxActive[i]=0 } The value of NumRefIdxActive[i]-1 is used to decode the slice. Specifies the maximum reference index of the reference picture list i that can be used. If the value of active[i] is equal to 0, the reference index of reference picture list i is used. The slice can be decoded without using When the current slice is a P slice, the value of NumRefIdxActive[0] is greater than 0. If the current slice is a B slice, NumRefIdxActive[0] and Both NumRefIdxActive[1] and NumRefIdxActive[1] shall be greater than 0. cabac_init_flag is the initial value used in the initialization process of the context variables. Specifies how the initialization table is determined. If cabac_init_flag is not present, If slice_collocated_from_l0_flag equal to 1 means that the The co-located picture used for motion vector prediction is from reference picture list 0 slice_collocated_from equal to 0. _l0_flag specifies the co-located picture used for temporal motion vector prediction. This specifies that the image is derived from reference picture list 1. slice_type is B or P, and ph_temporal_mvp_ena bled_flag equals 1 and slice_collocated_from_l0 If _flag is not present, the following applies: - If rpl_info_in_ph_flag is equal to 1, slice_col located_from_l0_flag is ph_collocated_from_ It is inferred to be equal to l0_flag. - Otherwise (rpl_info_in_ph_flag is equal to 0 and slic e_type is equal to P), slice_collocated_from_l0 The value of _flag is inferred to be equal to 1. slice_collocated_ref_idx is used for temporal motion vector prediction. Specifies the co-located picture reference index to be used. slice_type is P or slice_type is equal to B, sl ice_ If collocated_from_l0_flag is equal to 1, sli ce_collocated_ref_idx refers to an entry in reference picture list 0. The slice_collocated_ref_idx value ranges from 0 to NumRe It must be within the range of fIdxActive[0]-1. slice_type equals B and slice_collocated_from_ slice_collocated_ref_idx if l0_flag is equal to 0 The value of slice_collocated refers to an entry in reference picture list 1. _ref_idx is in the range 0 to NumRefIdxActive[1]-1 It shall be. If slice_collocated_ref_idx does not exist, the following applies: can be. - If rpl_info_in_ph_flag is equal to 1, slice_col The value of located_ref_idx is set to ph_collocated_ref_idx are inferred to be equal. - Otherwise (rpl_info_in_ph_flag is equal to 0), sli The value of ce_collocated_ref_idx is inferred to be equal to 0. The picture referenced by slice_collocated_ref_idx is It is assumed that the bitstream It is a conformance requirement. pi of the reference picture referenced by slice_collocated_ref_idx c_width_in_luma_samples and pic_height_in_lu The value of ma_samples is the pic_width_in_l of the current picture. Same as uma_samples and pic_height_in_luma_samples RprConstraintsActive[slice_coll ocated_from_l0_flag?0:1][slice_collocate It is a bitstream conformance requirement that [d_ref_idx] be equal to 0. be. slice_qp_delta is used for coding blocks in slices RuQp Y The first value of CuQpDeltaVal in the coding unit layer This value will be specified until it is corrected. If qp_delta_info_in_ph_flag is equal to 0, the Q of the slice p Y Quantization parameter SliceQp Y The initial value of is derived as follows: SliceQp Y =26+init_qp_minus26+slice_qp_del ta (144) SliceQp Y The value is in the range of -QpBdOffset to 63. When any of the following conditions is true: - wp_info_in_ph_flag value is equal to 1, and pps_weighte d_pred_flag is equal to 1 and slice_type is P. - wp_info_in_ph_flag value is equal to 1, and pps_weighte d_bipred_flag is equal to 1 and slice_type is B. The following applies: - The value of NumRefIdxActive[0] is less than or equal to the value of NumWeightsL0 It is assumed that: - each reference picture for i in the range 0 to NumRefIdxActive[0]-1 For index RefPicList[0][i], the reference picture index is The applied luma weight, Cb weight, and Cr weight are LumaWeightL, respectively. 0[i], ChromaWeightL0[0][i], and ChromaWeigh Applies to tL0[1][i]. wp_info_in_ph_flag equals 1 and pps_weighted_b If ipred_flag is equal to 1 and slice_type is equal to B, then the following applies: It is used. - The value of NumRefIdxActive[1] is less than or equal to the value of NumWeightsL1 It is assumed that: - each reference picture for i in the range 0 to NumRefIdxActive[1]-1 For index RefPicList[1][i], the reference picture index The applied luma weight, Cb weight, and Cr weight are LumaWeightL, respectively. 1[i], ChromaWeightL1[0][i], and ChromaWeigh Applies to tL1[1][i]. slice_cb_qp_offset is Qp' cb Determine the value of the quantization parameter Specifies the difference to be added to the value of pps_cb_qp_offset when The value of _cb_qp_offset must be between -12 and +12. If qp_offset is not present, it is inferred to be equal to 0. The value of qp_offset+slice_cb_qp_offset is -12 to +12. It will be within range. slice_cr_qp_offset is Qp' cr Determine the value of the quantization parameter Specifies the difference to be added to the value of pps_cr_qp_offset when The value of _cr_qp_offset must be between -12 and +12. If qp_offset is not present, it is inferred to be equal to 0. The value of qp_offset+slice_cr_qp_offset is -12 to +12. It will be within range. slice_joint_cbcr_qp_offset is Qp' CbCr Determine the value of When specifying the offset, specify the difference to be added to the value of pps_joint_cbcr_qp_offset. The value of slice_joint_cbcr_qp_offset must be -12 or greater. +12 or less. If slice_joint_cbcr_qp_offset does not exist, If not, this is inferred to be equal to 0. The value of set_value+slice_joint_cbcr_qp_offset is The value must be between -12 and +12. cu_chroma_qp_offset_enabled_flag equal to 1 cu_chroma_qp_offset_flag specifies the conversion unit and palette code. cu_chroma_qp_of equal to 0. fset_enabled_flag is cu_chroma_qp_offset_f Specifies that lag is not present in the transform unit or palette coding syntax. If not present, the cu_chroma_qp_offset_enabled_flag The value is inferred to be equal to 0. slice_sao_luma_flag equal to 1 specifies the luminance in the current slice. Specifies that SAO is enabled for the component. slice_sao_l equal to 0 uma_flag indicates that SAO is disabled for the luma component in the current slice. If slice_sao_luma_flag does not exist, ph_sa Inferred to be equal to o_luma_enabled_flag. slice_sao_chroma_flag equal to 1 indicates that the current slice Specifies that SAO is enabled for the chroma components. slice_sa equal to 0 o_chroma_flag indicates whether SAO is disabled for the chroma components in the current slice. slice_sao_chroma_flag does not exist. If ph_sao_chroma_enabled_flag is set, it is inferred to be equal to ph_sao_chroma_enabled_flag. slice_deblocking_filter_override_f equal to 1 lag specifies the presence of deblocking parameters in the slice header. Equals slice_deblocking_filter_override_flag specifies that no deblocking parameters are present in the slice header. If not, slice_deblocking_filter_override_fla The value of g is equal to ph_deblocking_filter_override_flag It is inferred that this is correct. slice_deblocking_filter_disabled_f equal to 1 lag indicates that the deblocking filter operation is not applied to the current slice. slice_deblocking_filter_disable equal to 0 ed_flag specifies whether the deblocking filter operation is applied to the current slice. slice_deblocking_filter_disabled If _flag does not exist, ph_deblocking_filter_disab It is inferred to be equal to led_flag. slice_beta_offset_div2 and slice_tc_offse t_div2 is the deblocking of β and tC applied to the luma component of the current slice. Specifies the parameter offset (divided by 2). slice_cr_beta_of The values of fset_div2 and slice_tc_offset_div2 are It must be in the range of -12 to 12. If not present, slice_beta_of The values of fset_div2 and slice_tc_offset_div2 are ph_beta_offset_div2 and ph_tc_offset_div2 are inferred to be equal. slice_cb_beta_offset_div2 and slice_cb_tc _offset_div2 is the deviation of β and tC applied to the Cb component of the current slice. Specifies the blocking parameter offset (divided by 2). slice_cb_b eta_offset_div2 and slice_cb_tc_offset_div The value of 2 must be in the range of -12 to 12. If it does not exist, slic e_cb_beta_offset_div2 and slice_cb_tc_offs The values of et_div2 are ph_cb_beta_offset_div2 and Inferred to be equal to ph_cb_tc_offset_div2. slice_cb_beta_offset_div2 and slice_cb_tc _offset_div2 is the division of β and tC applied to the Cr component of the current slice. Specifies the blocking parameter offset (divided by 2). slice_cr_b eta_offset_div2 and slice_cr_tc_offset_div The value of 2 must be in the range of -12 to 12. If it does not exist, slic e_cr_beta_offset_div2 and slice_cr_tc_offs The values of et_div2 are ph_cr_beta_offset_div2 and Inferred to be equal to ph_cr_tc_offset_div2. slice_ts_residual_coding_disabled_ equal to 1 flag is used to set the current slice using the residual_coding() syntax construct. Specifies that the residual samples of the transform skip block for slice_ts_residual_coding_disabled_flag , use the residual_ts_coding() syntax construct to slice_ If ts_residual_coding_disabled_flagg does not exist, If , it is inferred to be equal to 0. slice_lmcs_enabled_flag equal to 1 indicates that the slice is enabled for the current slice. Specifies that the luma map pin with chroma scaling is enabled. slice_lmcs_enabled_flag is set to 0 for the current slice. Specifies that luminance mapping with lmscaling is not valid. If s_enabled_flag is not present, it is inferred to be equal to 0. slice_scaling_list_present_flag equal to 1 means that S aps_params_type and ph_scaling equal to CALING_APS adaptation_parameter_set equal to _list_aps_id Based on the scaling list data contained in the reference scaling list APS with _id This specifies that the scaling list data used for the current slice is derived based on the slice_scaling_list_present_flag equal to 0 means The scaling list data used for the current picture is specified in 7.4.3.21. This specifies that the default scaling list data is derived from the specified value. If not present, the value of slice_scaling_list_present_flag is assumed to be 0. The variable NumEntryPoints that specifies the number of entry points in the current slice. is derived as follows: NumEntryPoints=0 for(i=1;i <NumCtusInCurrSlice;i++){ ctbAddrX=CtbAddrInCurrSlice[i]%PicWidth InCtbsY ctbAddrY=CtbAddrInCurrSlice[i] / PicWidth InCtbsY (145) prevCtbAddrX=CtbAddrInCurr Slice[i-1]%PicWidthInCtbsY prevCtbAddrY=CtbAddrInCurrSlice[i-1] / Pi cWidthInCtbsY if(CtbToTileRowBd[ctbAddrY]!=CtbToTileR owBd[prevCtbAddrY]|| CtbToTileColBd[ctbAddrX]!=CtbToTileCo lBd[prevCtbAddrX]|| (ctbAddrY!=prevCtbAddrY&&sps_wpp_entr y_point_offsets_present_flag)) NumEntryPoints++ } offset_len_minus1+1 is entry_point_offset _minus1[i] Specifies the length of the syntax element in bits. offset_len_ The value of minus1 must be in the range of 0 to 31. entry_point_offset_minus1[i]+1 is the offset of the i-th entry Specifies the repoint offset in bytes, offset_len_minus1 plus The slice header is represented by 1 bit. The slice data following the slice header is It consists of Points+1 subsets, with subset index values ranging from 0 to Num The first byte of the slice data is byte 0. If present, the slice data part of the coded slice NAL unit The emulation prevention byte that appears in the Subset 0 counts as part of the coded slice data. entry_point_offset_minus1[0] (inclusive) The subset k ranges from 1 to NumEntryPoints-1 (both ends) (includes)) is the firstByte[k] to lastByte[k] of the coded slice data. It consists of bytes up to tByte[k] (inclusive), and and lastByte[k] are defined below.
number
[0035] 3.4 Inter-block decoding process - fractional sample interpolation process In the recent VVC draft text, the decoding process for fractional sample interpolation is as follows: is. The inputs to this process are: - the top-left sample of the current coding sub-block relative to the top-left luma sample of the current picture the luminance position (xSb, ySb) that defines the sample, - the variable sbWidth, which defines the width of the current coding sub-block, - variable sbHeight, which specifies the height of the current coding sub-block; - Motion vector offset mvOffset - Fine-tune motion vector refMvLX - The selected reference picture sample array refPicLX. - 1 / 2 sample interpolation filter index hpelIfIdx, - Decoder-side motion vector fine-tuning flag dmvrFlag. - Bidirectional optical flow flag bdofFlag. - variable refPi indicating whether the selected reference picture requires scaling cIsScaled. - A variable cIdx that specifies the color component index of the current block. - A list of two scaling ratios, horizontal and vertical, scalingRatio. The output of this process is: - (sbWidth+brdExtSize)x(sbHeight) of the predicted sample value +brdExtSize) array predSamplesLX. The boundary extension size brdExtSize of the prediction block is derived as follows: brdExtSize=(bdofFlag||(inter_affine_flag [xSb][ySb]&&!ph_disable_prof_flag))?2:0 (934) The variable refWraparoundEnabledFlag is (pps_ref_wra paround_enabled_flag&&!refPicIsScaled) etc. It is set up properly. The variable fRefLeftOffset is ((SubWidthC*scaling_wi n_left_offset)<<10), and scaling_win_ left_offset is the scaling_win_left_o relative to the reference picture It is ffset. The variable fRefTopOffset is ((SubWidthC*scaling_win _top_offset)<<10) and scaling_win_to p_offset is the scaling_win_top_offset relative to the reference picture It becomes t. The predicted sample value is (sbWidth+brdExtSize)x(sbHeight+ The array predSamplesLX (brdExtSize) is derived as follows: - The motion vector mvLX is set equal to (refMvLX-mvOffset). do. - If cIdx is equal to 0, the following applies: - (xInt L ,yInt L ) be the luminance position given in full sample units, (xFrac L ,yFrac L ) is the offset calculated in 1 / 16 sample units These variables are used only in this section to represent the fractional sample positions in the reference sample array refPicLX. Used to specify the location. - Bounding block for reference sample padding (xSbInt L ,ySbIn t L )'s top left coordinate is (xSb+(mvLX[0]>4), ySb+(mvLX[1]> >4). - Each luminance sample position (x L =0..sbWidth-1+brdExtSize,y L =0..sbHeight -1+brdExtSize), the corresponding predicted luminance sample value predSamp lesLX[x L ][y L ] is derived as follows: - (refxSb L ,refySb L ) and (refx L ,refy L ) to 1 / 16 sample units of motion vectors (refMvLX[0], refMvLX [1]) is the luminance position indicated by the variable refxSb L , refx L , refySb L ,oh Call and refy L is derived as follows: refxSb L=(((xSb-(SubWidthC*scaling_win_le ft_offset))<<4)+ refMvLX[0])*scalingRatio[0] (935) refx L =((Sign(refxSb L )*((Abs(refxSb L )+128 )>>8)+ x L *((scalingRatio[0]+8)>>4))+fRefLeftO ffset+32)>>6 (936) refySb L =(((ySb-(SubWidthC*scaling_win_to p_offset))<<4)+ refMvLX[1])*scalingRatio[1] (937) refy L =((Sign(refySb L )*((Abs(refySb L )+128 )>>8)+yL* ((scalingRatio[1]+8)>>4))+fRefTopOffse t+32)>>6 (938) - variable xInt L , yInt L , xFrac L and yFrac L is as follows: It is derived. xInt L =refx L >>4 (939) yInt L =refy L >>4 (940) xFrac L =refx L &15 (941) yFrac L =refy L &15 (942) - Predicted luminance sample values predSamplesLX[x L ][y L ] is as follows is derived as follows. [ka] -x L is equal to 0 -x L is equal to sbWidth+1 -y L is equal to 0 -y L is equal to sbHeight+1 - or (xIntL-(brdExtSize>0?1:0), yIntL- (brdExtSize>0?1:0)), (xFracL,yFracL), (xSb Int L ,ySbInt L ), refPicLX, hpelIfIdx, sbWidth , sbHeight, dmvrFlag, refWraparoundEnabledF lag, scalingRatio[0], scalingRatio[1], and ( xSb, ySb) as input, and the luminance sample 8 taps specified in Section 8.5.6.3.2 The predicted luminance sample value predSam is obtained by calling the pre-interpolation filtering process. Derive plesLX[xL][yL]. - Otherwise (cIdx is not equal to 0), the following applies: - Let (xIntC,yIntC) be the chroma position given in full sample units, Let (xFracC, yFracC) be the offset calculated in 1 / 32 sample units. These variables are used in this section only to represent the common fractional subscripts in the reference sample array refPicLX. Used to define sample positions. - Bounding block for reference sample padding (xSbIntC, ySbIn The top left coordinate of tC is ((xSb / SubWidthC)+(mvLX[0]>>5), It is set equal to (ySb / SubHeightC)+(mvLX[1]>>5)). - For each chroma sample position (x C=0..sbWidth-1, yC=0..sbHeight-1) The predicted luminance sample values predSamplesLX[xC][yC] are derived as follows: will be done. - (refxSb C , refySb C ) and (refx C ,refy C ) to 1 / 32 sample unit calculated motion vector (refMvLX[0], refMvLX[1 ]) is the saturation position pointed to by the variable refxSb C , refySb C , refx C and r efy C is derived as follows: addX=sps_chroma_horizontal_collocated_fl ag?0:8*(scalingRatio[0]-(1<<14)) (943) addY=sps_chroma_vertical_collocated_flag ?0:8*(scalingRatio[1]-(1<<14)) (944) refxSb C =(((xSb-(SubWidthC*scaling_win_le ft_offset)) / SubWidthC<<5)+ refMvLX[0])*scalingRatio[0]+addX (945) refx C=((Sign(refxSb C )*((Abs(refxSb C )+256 )>>9) +xC*((scalingRatio[0]+8)>>4))+fRefLeft Offset / SubWidthC+16)>>5 (946) refySb C =(((ySb-(SubWidthC*scaling_win_to p_offset)) / SubHeightC<<5)+ refMvLX[1])*scalingRatio[1]+addY (947) refy C =((Sign(refySb C )*((Abs(refySb C )+256 )>>9) +yC*((scalingRatio[1]+8)>>4))+fRefTopO ffset / SubHeightC+16)>>5 (948) - variable xInt C , yInt C , xFrac C , and yFrac C is as follows: It is derived as follows. xInt C =refx C >>5 (949) yInt C =refy C >>5 (950) xFrac C =refx C &31 (951) yFrac C =refy C &31 (952) - The predicted sample values predSamplesLX[xC][yC] are (xIntC ,yIntC), (xFracC,yFracC), (xSbIntC,ySbIntC ), sbWidth, sbHeight, refPicLX, dmvrFlag, ref WraparoundEnabledFlag, scalingRatio[0], an d) Processing specified in Section 8.5.6.3.4 using scalingRatio[1] as input is derived by calling NOTE - Unlike the process specified in Section 8.4.5.2.13, this process hroma_vertical_collocated_flag and sps_chr Use both oma_horizontal_collocated_flag and oma_horizontal_collocated_flag.
[0036] 4. Technical Problems Solved by the Technical Solutions and Examples Existing designs for deblocking, scaling, and PROF have the following problems: Has. 1) Currently, the design logic of deblocking (DB) control in PPS, PH, and SH syntax elements is There are several problems with the a. First, whether to apply a deblocking filter to slices that refer to a PPS. The PPS syntax element pps_deblocking_filter is used to specify whether The SH syntax element slice_d, according to the current semantics of r_disabled_flag Check the eblocking_filter_disabled_flag. and slice_deblocking_filter_disabled_flag Additionally, the PH syntax element ph_deblocking_filter_disabled_f lag also pps_deblocking_filter_disabled_flag Both should be checked. The current semantics of r_disabled_flag is incorrect. b. Second, according to the current draft text, the SH syntax element slice_debloc If king_filter_override_flag is not present, it is Inferred to be equal to deblocking_filter_override_flag However, in addition to implicit or explicit signaling in the PPS, there are also deblocking phase The parameter is either PH or SH according to dbf_info_in_ph_flag. Only one or the other can be signaled, but not both. If bf_info_in_ph_flag is true, the override data in PH is It is intended to allow signaling of blocking filter parameters. If the PH override flag is true and the SH override flag is signaled, If the PH override flag is not set, but is assumed to be equal to the PH override flag, then the SH Blocking filter parameters are still signaled, but this is not inconsistent with the intent. do. c. Third, according to the current draft text, the PPS syntax element deblocking_ filter_override_enabled_flag is equal to 1, while pp If s_deblocking_filter_disabled_flag is equal to 1, For example, ph_deblocking_filter_disabled_flag or s lice_deblocking_filter_disabled_flag is However, in such cases, the PPS may explicitly signal This means that deblocking will be disabled and overridden in However, the override process does not change anything (e.g., deblocking in PH / SH). signaling remains disabled), wasting bits for signaling. d. Fourth, the current design logic for deblocking is Even if deblocking is disabled, you can still enable deblocking in PH / SH. Such design logic allows for the possibility of ALF, SAO, LMCS, and TMVP. It's completely different from the design logic of most other coding tools like .NET, WP, etc. e.PPS DB disable flag (i.e., pps_deblocking_fil ter_disabled_flag) is deblocking_filter_co Signaled only when ntrol_present_flag is equal to 1, and the flag is not present. If not present, it is inferred to be equal to 0. That is, the intention is to use DB by default. Two syntax elements, namely, the PPS DB disable flag and the eblocking_filter_control_present_flag) is There is some redundancy, and a better design is needed. 2) According to the recent VVC draft text, the size of the predicted block generated for PROF is The size is whether it is in affine AMVP mode or affine MERGE mode. The width and height of the sub-blocks of an affine coded block are sbWidthand sbHeight, the current text will be nter_affine_flag[xSb][ySb]&&!ph_disable_ When applying PROF to affine AMVP blocks according to "prof_flag", PROF includes extended samples such as (sbWidth+2)x(sbHeight+2) If we use a prediction block containing the affine MERGE block, but apply PROF to the affine MERGE block, The predicted block of sbWidthx sbHeight is used for PROF. The design is a comparison of PROF with affine AMVP and PROF with affine MERGE. This causes different processing mechanisms between them. a. Also, an 8-tap interpolator is used to generate intra-prediction samples within the PROF sub-blocks. An inter-filter is used to generate extended prediction samples outside the sub-blocks of PROF. Use integer samples other than 8 tap filters. However, according to the current text, Since there are no extended samples for PROF with fin MERGE, the affine A This leads to a mismatch between PROF with MVP and PROF with affine MERGE. Rub. 3) Currently, the picture-level or slice-level luminance qp delta is always PH or S H, but not both. On the other hand, the saturation of the slice level The qp offset is selectably signaled in SH and corresponds to the picture-level saturation qp offset. There is no PH signaling for the event. Such a design may be inconsistent, inefficient, or inflexible. There is. 4) In the recent VVC draft text, the PH syntax element related to delta QP signaling Define the range of allowed values (e.g., ph_cu_qp_delta_subdiv_i ntra_slice, ph_cu_qp_delta_subdiv_inter_s lice, ph_cu_chroma_qp_offset_subdiv_intra _slice, and ph_cu_chroma_qp_offset_subdiv_ inter_slice) is not accurate.
[0037] 5. List of Solutions and Embodiments In order to solve the above-mentioned problems and other problems, the following method is disclosed. These items are examples to explain general concepts and should not be interpreted in a narrow sense. Furthermore, these items may be applied individually or in any way. They may also be combined.
[0038] In the following description, the DBF parameters refer to the DBF on / off control parameters and the D BF filter parameters (e.g., pps_beta_offset_div2, etc.) The TC offset may also include an indication of the Tc offset.
[0039] In the following description, SH may be associated with one PH, i.e., SH is one This slice is associated with one slice in the picture associated with this PH. An SH may be associated with one PPS, i.e., an SH relates to one slice. The PPS is associated with the slice, and this slice is in the picture associated with this PPS. The PH may be associated with a PPS, i.e., the PH relates to a picture associated with a PPS. Can be linked.
[0040] In the following description, the SPS may be related to the PPS, i.e., the PPS is It may also refer to PS. 1. Deblocking schemes in PPS, PH and SH to solve the first problem Regarding the design of the control, for example, as in the first set of embodiments, the following approach is disclosed: do. a. In one example, a deblocking filter is applied to the slices that refer to the PPS. Whether the operation of a blocking filter is applied depends on the associated PH Deblocking on / off flag (e.g., ph_deblocking_filter r_disabled_flag). i. For example, applying a deblocking filter operation to slices that reference the PPS Whether deblocking is disabled in the PPS (e.g., pps_de blocking_filter_disabled_flag is equal to 1) , and deblocking is disabled at the picture level (e.g., ph_debl ocking_filter_disabled_flag is equal to 1) and and whether deblocking is disabled at the slice level (e.g., slice e_deblocking_filter_disabled_flag equals 1 It may depend on whether ii. Alternatively, apply the operation of the deblocking filter to the slices that refer to the PPS. Whether or not deblocking is enabled depends on whether deblocking is disabled in the PPS (e.g., pps_ deblocking_filter_disabled_flag is equal to 1) and whether deblocking override is disabled at picture level and slice level. whether it is enabled (for example, slice_deblocking_filter _disabled_flag is equal to 0). iii. Alternatively, apply a deblocking filter operation to the slices that reference the PPS. Whether to use it depends on whether deblocking is disabled in the PPS (e.g., pps _deblocking_filter_disabled_flag equals 1) It may depend solely on whether b. Additionally, slice_deblocking_filter_override_ If flag does not exist, slice_deblocking_filter_ove The value of rride_flag is ph_deblocking_filter_overr It does not have to depend on ide_flag (it can be assumed to be a constant value such as 0). c. Additionally or alternatively, the PH syntax element ph_deblocking_filter_d isabled_flag and / or the SH syntax element slice_deblockin g_filter_disabled_flag is explicitly signaled or implicitly It is assumed that pps_deblocking_filter_disabled It may depend on the value of a PPS deblocking on / off flag such as _flag. d. If DBF is disabled at the first level (e.g., PPS), it must be disabled at a lower level (e.g., For example, it is required that DBF activation is not permitted in PH / SH. i. For example, DBF on / off control at picture / slice level in PH / SH The presence of the parameter is signaled in the PH / SH by the DBF override flag. In addition to the value, the value of the DBF on / off flag signaled in the PPS (e.g., pps _deblocking_filter_disabled_flag) directly depends on Good too. 1) For example, the PPS DBF on / off control parameter refers to the PPS. Defined to disable deblocking for slices (pps_deblock ing_filter_disabled_flag is equal to 1), PH / SH The DBF on / off control parameter may not be signaled. ii. Furthermore, the existence of DBF on / off control parameters in PPS / PH / SH indicates the DBF on / off control parameters and DBF functions in PPS, PH, and SH. The DBF global control flag (e.g., PPS deblocking_filter_control_present_fl in ag) may be adjusted directly. 1) For example, the DBF global control flag also controls the DBF on / off build parameters. If you specify that the DBF filter parameters are not signaled either (deblocking g_filter_control_present_flag is equal to 0), PPS The / PH / SH DBF on / off control parameters may not be signaled. iii. Additionally, if the PPS deblocking on / off flag is not present, it is It can be assumed to be equal to a certain value such as 0 or 1. iv. Additionally, if the PH deblocking on / off flag is not present, the PPS deblocking It can be assumed to be equal to the value of the locking on / off flag. v. Additionally, if the PH deblocking on / off flag is not present, the PPS / PH It can be assumed to be equal to the value of the deblocking on / off flag. e. If DBF is enabled at the first level (e.g., PH), DBF is enabled at the lower levels. It is required that the attack can be neutralized by a bell (e.g., SH). For example, for multiple slices in one picture, some slices are Blocking filter is used, and some slices use deblocking filter It is permitted not to do so. ii. For example, the signaling of the DBF on / off control flag in SH is It may depend on when the F on / off control flag is. 1) For example, when DBF is enabled for the current picture, the current slice slice-level filter to determine whether a deblocking filter is being used. A DBF on / off control flag may also be signaled. f.DBF on / off control parameter and / or DBF filter parameter are PH or SH specifies whether the PPS syntax element "dbf_info_in_p h_flag" signal notification is deblocking_filter_override It does not have to depend on other syntax elements such as _enabled_flag. i. Additionally, alternatively, picture / slice level DBF on PH / SH / Off flag signaling is dbf_i except PH / SH DBF override flag nfo_in_ph_flag and / or pps_deblocking_filt It may be conditioned directly on the er_enabled_flag. g.DBF override flag in PPS / PH / SH controls DBF on / off. Used only to override DBF filter parameters other than the control parameters It is required to do so. i. For example, signal the DBF on / off control flag first, then signal the same level DBF conditionally based on on / off control flag (e.g. PPS / PH / SH) F Signals the override flag. 1) For example, you can set the picture / slice level DBF on / off control parameter to P Whether H / SH DBF override flag is equal to true or not, PH / SH The signal may be sent at 2) For example, you can set the picture / slice level DBF on / off control parameter to P Signals on PH / SH regardless of whether PS DBF override flag is equal to true or not. You may also notify. 3) For example, the DBF override flag provides the same level of DBF on / off control. Conditionally signaled based on flags (e.g., PPS / PH / SH). a. For example, the PPS deblocking override permission flag (e.g., deb locking_filter_override_enabled_flag) signal The notification will be sent to the PPS to let them know whether deblocking is enabled in the PPS (e.g. pps_deblocking_filter_disabled_flag is 0 may depend on i. For example, if deblocking is disabled in the PPS, Syntax Element deblocking_filter_override_enabled_f No lag is signaled. b. For example, the PH deblocking override flag (e.g., ph_deb The signal notification of (locking_filter_override_flag) is Deblocking is enabled (e.g., ph_deblocking_filter _disabled_flag is equal to 0). i. For example, if deblocking is disabled in PH, the PH syntax The element ph_deblocking_filter_override_flag is Not known. c. For example, the SH deblocking override flag (e.g., slice_ deblocking_filter_override_flag) signaling is Deblocking is enabled in H (e.g., slice_deblocking_ filter_disabled_flag is equal to 0). i. For example, if deblocking is disabled in SH, the SH syntax The element slice_deblocking_filter_override_flag No signal is notified. d. Additionally, the PPS / PH / SH deblocking override flags are present. If not present, it can be assumed to be equal to a constant value (e.g., 0). 4) For example, signaling of DBF filter parameters is done by DBF on / off control flags. DBF override flags other than the flag may be used as conditions directly. a. For example, DBF filter parameters in PH (e.g., ph_beta _offset_div2, ph_tc_offset_div2, ph_cb_bet a_offset_div2, ph_cb_tc_offset_div2, ph_cr _beta_offset_div2, ph_cr_tc_offset_div2) Presence is determined by the DBF on / off flag in PH (e.g., ph_deblocking_fi DBF override flags in PH other than lter_disabled_flag flag (e.g., ph_deblocking_filter_override_flag ) may be directly conditioned on b. For example, DBF filter parameters in SH (e.g., slice_b eta_offset_div2, slice_tc_offset_div2, sli ce_cb_beta_offset_div2, slice_cb_tc_offse t_div2, slice_cr_beta_offset_div2, slice_c r_tc_offset_div2) is used to set the DBF on / off flag in SH (e.g. slice_deblocking_filter_disabled_flag) DBF override flags in SH other than slice_deblock ing_filter_override_flag) stomach. h.DBF on / off control in PPS / PH / SH is performed by the "disable" flag of DBF. It is required that it is OK to rely on the "enabled" flag of DBFs other than the tag. i. For example, the DBF enable flag (e.g., pps_deblocking_fil ter_enabled_flag) for the slice that references the PPS. Signaling in PPS to specify whether deblocking is enabled Good too. ii. For example, set the PPS DBF enable flag to the DBF global control flag (e.g. For example, deblocking_filter_control_preset in PPS It may be signaled independently of other syntax elements such as nt_flag. iii. For example, DBF is abolished at higher levels (e.g., PPS or PH) If this flag is set, the DBF enable flags at lower levels (e.g., PH and / or SH) are ignored. No signaling, just higher level (e.g. PPS / PH) on / off control flags is assumed to be equal to the value of iv. For example, DBF global control flags (e.g., debloc in PPS) king_filter_control_present_flag) is PPS / P DBF override flag in H / SH and DBF in PPS / PH / SH It can only be used to control the presence of filter parameters. 1) For example, DBF global control flags (e.g., debloc in PPS) king_filter_control_present_flag) is PPS / P It is used to control the presence of DBF on / off control parameters in H / SH. Not at all. 2) For example, DBF is enabled in PPS (e.g., pps_deb locking_filter_enabled_flag is equal to 1) The DBF global control flag is signaled. a. For example, DBF is disabled in the PPS (e.g., pps_de blocking_filter_enabled_flag is equal to 0), DB The F global control flag is not signaled. b. Additionally, if deblocking is disabled in the PPS, debl ocking_filter_control_present_flag equals 0 It is speculated that... 3) For example, signaling the DBF override enable / disable flag in the PPS Knowledge (e.g., deblocking_filter_override_ enabled_falg) is the DBF group other than the DBF on / off flag in PPS. It may also be adjusted directly based on the global control flag. 4) Signaling of PPS DBF parameters, e.g., beta and tc values, Directly based on DBF global control flags other than DBF on / off flag in PPS A tangency condition may be imposed. i. Either the DBF On / Off control parameter or the DBF filter parameter is on. The requirement is that the system must either allow the vehicle to be overridden or not allow both. i. In one example, the override mechanism is enabled in the PPS / PH / SH. This may be done. ii. In one example, DBF on / off at different levels (e.g., PPS / PH / SH) If only the OFF control parameter can be overridden, the following may also apply: 1) DBF filter parameters are set to signal only at the first level (e.g., PPS). If DBF is enabled by a smaller image unit, all smaller A typical video unit (e.g., a picture / slice) has parameters associated with the first level. It is subordinate to the meter. iii. In one example, DBF filters at different levels (e.g., PPS / PH / SH) If only filter parameters can be overridden, the following also applies: good. 1) DBF on / off control parameters only at the first level (e.g., PPS) If DBF is enabled by a smaller video unit, all Small video units (e.g., pictures / slices) are associated with the first level. It is dependent on the parameter. If j.DBF is disabled at a higher level (e.g., PPS), a smaller DBF on / off control parameters in the video unit (e.g., PH / SH) It is required to disable bar riding. i. Additionally, alternatively, at a smaller picture unit level (e.g., PH / SH) The signaling of DBF on / off control parameters is performed by a higher level (e.g., PPS) D It may be under a condition check that the BF on / off control parameter is on. 1) Additionally, alternatively, if not present at the smaller video unit level, DBF is disabled, enabled, or on at the higher video unit level. / It is assumed to be equivalent to the off state. In k.PPS, "deblocking_filter_control_pres Remove "ent_flag" and "deblocking_filter_control The first one indicates the enable / disable of DBF instead of the control by "_present_flag" can be directly signaled using the syntax elements i. Alternatively, according to a first syntax element corresponding to enabling the DBF, A second syntax element is added to indicate whether filter parameters are allowed to be overridden. Signaling may be performed. 1) Additionally, alternatively, according to the second syntax element that indicates that overriding is allowed: Thus, the DBF filter parameters may be signaled. l.PPS says "deblocking_filter_control_pres Remove "ent_flag" and "deblocking_filter_control Instead of being controlled by "_present_flag", the DBF parameter overrides The first syntax element may directly signal whether the id is allowed. i. Alternatively, a second syntax element indicating whether to enable / disable DBF may be added: Further signaling that the override is allowed according to the corresponding first syntax element Good too. 1) Additionally, alternatively, according to a second syntax element indicating that DBF is enabled, DBF filter parameters may be signaled. Instead of m.PPS, DBF on / off control flag and / or DBF parameter A syntax element (e.g., dbf_info) that indicates whether the _in_ph_flag) may be signaled in PH. n. In one example, DBF on / off control flags and / or DBF parameters, Signaling may occur in both PH and SH. i. For example, a DBF on / off control flag signaled in SH and / or DBF parameters may override parameters signaled in PH. good. o.In SPS, DBF on / off control flag and / or DBF parameter It is required that signaling is allowed. i. The DBF on / off control flag signaled in SPS can be set to PPS, PH or DBF on / off control flag signaled in low level video units such as RGB or SH May be overridden by ii. DBF parameters signaled in SPS are not The overlay is performed by DBF parameters signaled in low-level video units such as You may also use it. p. In the first set of embodiments, such as the embodiments in Section 6.1.4 of this document So, constructs with non-binary values (e.g. indicators other than flags) are handled by the deblocking model. Signaling at the video unit level (e.g. PPS / SPS) to specify the code In one example, an N-bit mode indicator is signaled in the PPS, and deblocking is performed. A filtering mode may be specified. i. For example, N=2. ii. For example, a 2-bit mode indicator (e.g., deblocking_filter r_mode_idc) has been added to the PPS, and its semantics are as follows: do. If deblocking_filter_mode_idc is equal to 0, the PPS Specifies that the deblocking filter is not applied to all slices that reference d. If eblocking_filter_mode_idc is equal to 1, refer to PPS. , and specifies that a deblocking filter is applied to all slices that reference β. Uses zero-valued deblocking parameters offset and tC. If _filter_mode_idc is equal to 2, all slides that refer to the PPS It specifies that a deblocking filter is applied to the device, and the deblocking parameters for β are The meter offset and tC are explicitly signaled to the PPS. If _filter_mode_idc is equal to 3, the deblocking filter is used as PP. Whether S applies to a referenced slice depends on the slice header of the slice or PH. This specifies that the parameter is controlled by the iii. Furthermore, signaling of DBF filter parameters in PPS is mode-directed. Depends on the value of the indicator. a. For example, if the mode index is greater than a certain value X, , X=1), the DBF filter parameters are signaled in the PPS. Otherwise, the PPS DBF filter parameters are inferred to be 0. iv. Additionally, DBF on / off control parameters and / or DBF filter parameters The PPS syntax element "dbf_inf" specifies whether the meter is located in PH or SH. The signaling of "o_in_ph_flag" may depend on the value of the mode indicator. a. For example, if the mode index satisfies a certain condition (e.g., equal to a certain value Y, e.g., For example, if Y=3, the PPS syntax element "dbf_info_in_ph_flag" is not valid. The number will be notified. i. In addition, the PPS syntax element "dbf_info_in_ph_flag" is If no signal is signaled, it is inferred to be equal to some value (e.g., 0 or 1). v. Furthermore, DBF on / off control parameters in PH or SH and / or The signaling of DBF filter parameters may depend on the value of the mode index. a. For example, if the mode index is equal to a certain condition (e.g., Y =3), the picture level DBF on / off control flag is set to the signal You may also notify. b. For example, if the mode index satisfies a certain condition (e.g., equal to a certain value Y, e.g., For example, when Y=3, the slice level DBF on / off control flag is set to the signal You may also notify. q.DBF is enabled at the pico / slice level and a 0 value for the DBF parameter A beta / tc offset of i. In one example, one or more syntax elements (e.g., explicit_default t_deblocking_params_flag) is used to decode the signal in the PPS. The default DBF parameters have a beta / tc offset of 0. Specifies whether to have a beta / tc offset explicitly signaled and only in the latter case do we explicitly signal the beta / tc offset. The DBF parameters determined by the PPS and the default DBF parameters are It may or may not be disabled at the structure or slice level. ii. In one example, one or more syntax elements (e.g., explicit_defau lt_deblocking_params_flag) is a video unit level Signaling in the bell (e.g., SPS / PPS / PH / SH), 0 value of beta / t Whether to use c offsets or explicitly signaled beta / tc offsets may be specified, and only in the latter case, the beta / tc offset may be explicitly signaled. Good too. 2. PROF with Affine AMVP and Affine M to Solve the Second Problem Regarding the processing mechanism of PROF with ERGE, for example, as in the second embodiment, One or more of the following approaches are disclosed: a. For affine MERGE coded blocks, PROF is still applied. can be used to generate a predicted block corresponding to M*N sub-blocks (or blocks). The size can be greater than M*N, i.e., (M+M0)*(N+N0). where M0 and N0 are not both equal to 0. i. In one example, M0 and N0 are set to 2. b.PROF uses extended samples to generate predicted blocks (sub-blocks) Whether and / or how many extensions for PROF prediction blocks (subblocks) For example, whether to generate a sample depends on whether cbProfFlagLX and X are 0 or 1. This may depend on the prediction fine-tuning utility flag. i. Even if the PROF subblock has an affine AMVP, the affine MERG Even for PROF sub-blocks with E, a constant value of the prediction block boundary extension size ( For example, using the expansion width and / or expansion height and / or number of expansion samples good. a) For example, in the case of M × N sub-blocks to which PROF is applied, the width of the sub-block is Let M be the number of extension samples, and let N be the height of the sub-block. and a height of Y (e.g., Y=2) extended samples. Even if the block is a PROF subblock with affine AMVP or affine ME Even if a PROF sub-block has RGE, the (M+X)x of the PROF sub-block (N+Y) predicted samples may be constructed. ii. Even if the PROF subblock has an affine AMVP, the affine MER Even for PROF subblocks with GE, PROF prediction is performed using integer samples. may generate extended samples for 3. PH and SH qp delta / offset signaling to solve the third problem With respect to this, one or more of the following approaches are disclosed. In one example, the first syntax element is compared to PH / SH (e.g., SPS / PPS). signaled at a higher level to determine whether luma / chroma delta QP signaling is enabled. It may also be indicated whether i. In one example, the presence of luminance qp delta in PH and / or SH, e.g. For example, as in the third embodiment, the SPS / PPS luminance qp delta present flag (e.g., pps _pic_slice_luma_qp_delta_present_flag) may exist. a) For example, if the SPS / PPS luminance qp delta present flag is If specifying that neither the luminance qp delta nor the SH luminance qp delta is signaled, is required to be unsignaled in PH and unsignaled in SH. a. Alternatively, the SPS / PPS luminance qp delta present flag is If you specify that qp delta does not exist, the luminance qp delta is the signal It is necessary that the number not be notified. b. Additionally, if the PH brightness qp delta is not present, it is a value (e.g., 0). It can be inferred that this is the case. c. Additionally, if the SH brightness qp delta is not present, a value (e.g., 0 or It can be assumed that the PH brightness qp is equal to delta. b) Furthermore, whether the luminance qp delta is signaled in PH or SH Specifies the PPS switch flag (e.g., qp_delta_info_in_ph_f The presence of the SPS / PPS luminance qp delta flag above determines whether it exists. You may do so. a. For example, the SPS / PPS luminance qp delta presence flag is set to PH luminance qp delta If you specify that neither the SH luminance qp delta nor the SH luminance qp delta are signaled, The lag must be unsignaled in PH and unsignaled in SH. . i. Additionally, if the PPS switch flag is not present, it is set to a constant value (e.g., 0). can be assumed to be equal. b. In one example, chroma (e.g., Cb, Cr, joint CbCr) qp offset may be signaled at a higher level compared to SH (e.g., in PH, e.g., For example, as in the third embodiment). i. For example, whether to signal a chroma qp offset in PH or SH , PPS switch flags (e.g., qp_offset_info_in_ph_fla It may depend on g). a) For example, the PPS switch flag indicates that the chroma qp offset is signaled in PH. If it is specified that the chroma qp offset is not signaled in SH. a. Alternatively, the PPS switch flag signals the chroma qp offset in PH. If it is specified that the saturation qp offset is not signaled in SH, good. b. Additionally, if the PH saturation qp offset is not present, a value (e.g., 0) It can be inferred that this is the case. c. Additionally, if the SH saturation qp offset does not exist, it is set to a value (e.g. , 0 or equal to the PH saturation qp offset). b) In one example, this flag is set when the luminance delta qp is signaled in PH or SH. This is the same as the flag that controls whether ii. Additionally, alternatively, the presence of saturation qp offsets in PH and / or SH. Present SPS / PPS chroma qp offset present flag (e.g., pps_pic_sli ce_chroma_qp_offset_present_flag) stomach. a) For example, the SPS / PPS saturation qp offset present flag is set to 0 if the PH or SH saturation If you specify that you do not signal any of the chroma qp offsets, then the chroma qp offsets are , PH and SH. b) Additionally, the saturation qp offset is signaled in PH or signaled in SH PPS switch flag (e.g., qp_offset_info_in_p h_flag) is present depending on the SPS / PPS saturation qp offset presence flag above. It may depend on the a.SPS / PPS saturation qp offset existence flag is PH or SH saturation qp If you specify that none of the offsets are to be signaled, the PPS switch flag is set to signal. It is necessary that the number not be notified. i. Additionally, if the PPS switch flag is not present, it is set to a constant value (e.g., 0). can be assumed to be equal. iii.qp_delta and chroma qp offset signaling always use the same header may be included in a) For example, if qp_delta is signaled in PH, chroma qp off The set should not be signaled in SH. b) For example, if qp_delta is signaled in SH, chroma qp off Set should not be signaled in PH. 4. PH syntax element ph_cu_qp_delta_subd to solve the second problem iv_intra_slice, ph_cu_qp_delta_subdiv_int er_slice, ph_cu_chroma_qp_offset_subdiv_i ntra_slice, ph_cu_chroma_qp_offset_subdiv Regarding the range of _inter_slice, for example, one or more discloses the following approach: a.cu_qp_delta_abs and cu_qp_delta_sign_fl Maximum cbSubdiv value of the coding unit in the intra slice that conveys ag range (e.g., ph_cu_qp_delta_subdiv_intra_slic e) is ph_max_mtt_hierarchy_depth_intra_sli It does not have to depend on ce_luma, for example, 0 to 2*(CtbLog2SizeY -MinQtLog2SizeIntraY)+2*(CtbLog2SizeY-Mi nCbLog2SizeY). i. Alternatively, 0 to 2*(CtbLog2SizeY-MinQtLog2Size IntraY)+2*min(ph_max_mtt_hierarchy_depth _intra_slice_luma, CtbLog2SizeY-MinCbLog2 SizeY) can be within the range. b.cu_chroma_qp_offset_flag to signal intra-slice The range of maximum cbSubdiv values for coding units in hroma_qp_offset_subdiv_intra_slice) is ph_ max_mtt_hierarchy_depth_intra_slice_luma It does not have to depend on, for example, 0 to 2*(CtbLog2SizeY-MinQtL og2SizeIntraY)+2*(CtbLog2SizeY-MinCbLog2 SizeY) i. Alternatively, 0 to 2*(CtbLog2SizeY-MinQtLog2Size IntraY)+2*min(ph_max_mtt_hierarchy_depth _intra_slice_luma, CtbLog2SizeY-MinCbLog2 SizeY) can be within the range. c.cu_qp_delta_abs and cu_qp_delta_sign_fl Maximum cbSubdiv value of the coding unit in the inter-slice that conveys ag range (e.g., ph_cu_qp_delta_subdiv_inter_slic e) is ph_max_mtt_hierarchy_depth_inter_sli It does not have to depend on ce, for example, it can be between 0 and 2*(CtbLog2SizeY-MinQ tLog2SizeInterY)+2*(CtbLog2SizeY-MinCbLo g2SizeY). i. Alternatively, 0 to 2*(CtbLog2SizeY-MinQtLog2Size IntraY)+2*min(ph_max_mtt_hierarchy_depth _inter_slice,CtbLog2SizeY-MinCbLog2SizeY ) range. d.cu_chroma_qp_offset_flag to convey inter-slice The range of maximum cbSubdiv values for coding units in hroma_qp_offset_subdiv_inter_slice) is ph_ Independent of max_mtt_hierarchy_depth_inter_slice For example, it can be set between 0 and 2*(CtbLog2SizeY-MinQtLog2Size zeInterY)+2*(CtbLog2SizeY-MinCbLog2SizeY ) range. i. Alternatively, 0 to 2*(CtbLog2SizeY-MinQtLog2Size IntraY)+2*min(ph_max_mtt_hierarchy_depth _inter_slice,CtbLog2SizeY-MinCbLog2SizeY ) range. 6. Implementation form Below are some exemplary implementations for some of the inventive aspects summarized in Section 5 above. This is an embodiment and is applicable to the VVC specification. The modified text is Based on the latest VVC text from vD. The most relevant additions or corrections are in bold. The deleted parts are highlighted in italics and the parts that have been removed are highlighted in opening and closing double brackets (e.g. [[]]). , indicating the deleted text between the double brackets. 6.1. First Example This is a collection of embodiments of item 1 (1.a to 1.o) summarized in Chapter 5 above. 6.1.1. Example of Item 1.a In one example, pps_deblocking_filter_disabled_f The semantics of lag is modified as follows: [ka] 6.1.2. Example of Item 1.b In one example, slice_deblocking_filter_override_ The semantics of flags are changed as follows: slice_deblocking_filter_override_fl equal to 1 ag specifies the presence of deblocking parameters in the slice header. Equal to 0 The new slice_deblocking_filter_override_flag is , specifies that no deblocking parameters are present in the slice header. if slice_deblocking_filter_override_flag The value of [[ph_deblocking_filter_override_flag] ] is inferred to be equal to 0. 6.1.3. Example of Item 1.c In one example, the syntax structure picture_header_structure() is: It will be changed as follows: [Table 21] ph_deblocking_filter_disabled_flag equal to 1 does not apply the deblocking filter operation to the slice associated with PH. ph_deblocking_filter_disable equal to 0 ed_flag is PH [ka] Then the syntax structure slice_header() is changed as follows: [Table 22] slice_deblocking_filter_override_f equal to 1 lag specifies the presence of deblocking parameters in the slice header. Equals slice_deblocking_filter_override_flag specifies that no deblocking parameters are present in the slice header. If not, slice_deblocking_filter_override_fla The value of g is [[ph_deblocking_filter_override_flag ]] is inferred to be equal to 0. slice_deblocking_filter_disabled_f equal to 1 lag indicates that the deblocking filter operation is not applied to the current slice. slice_deblocking_filter_disable equal to 0 ed_flag is currently [ka] 6.1.4. Example of item 1.p In one example, the syntax structure pic_parameter_set_rbsp() is: It will be changed as follows. [Table 23] ... [ka] [[deblocking_filter_control_presen equal to 1 t_flag specifies the presence of deblocking filter control syntax elements in the PPS deblocking_filter_control_present_ equal to 0 flag specifies the absence of deblocking filter control syntax elements in the PPS.] ] [[deblocking_filter_override_enabl equal to 1 ed_flag is the ph_deblocking_fil in PH that refers to the PPS. Slice header specifying the presence of ter_override_flag and referencing PPS slice_deblocking_filter_override_fla Specifies the presence of deblocking_filter_overrid equal to 0. e_enabled_flag is the ph_deblock flag in PH that refers to the PPS. Specify the absence of ing_filter_override_flag and refer to PPS slice_deblocking_filter_overr in slice header Specifies the absence of ide_flag. If not present, deblocking_filt The value of er_override_enabled_flag is inferred to be equal to 0.] ] [[pps_deblocking_filter_disabled_f equal to 1 The lag is the deblocking filter operation, slice_deblocking_fi For slices that refer to a PPS where the lter_disabled_flag does not exist Specifies that it is not applied. pps_deblocking_filter equal to 0 _disabled_flag indicates that the deblocking filter operation is disabled by slice_de Refer to the PPS where blocking_filter_disabled_flag does not exist. If not present, pps_debl The value of ocking_filter_disabled_flag is assumed to be equal to 0. ]] dbf_info_in_ph_flag equal to 1 indicates that deblocking is enabled for PH syntax structures. Slice headers that refer to PPSs that have filtering information and do not contain PH syntax structures Specifies that it is not present. dbf_info_in_ph_flag equal to 0 specifies that it is not present. A PPS that does not have deblocking filter information in the H syntax structure and does not contain a PH syntax structure is It is specified that it may be present in the slice header it references. [[If not present, d The value of bf_info_in_ph_flag is inferred to be equal to 0. ... And the syntax structure picture_header_structure() is as follows: It will be changed as follows. [Table 24] ... [ka] [[ph_deblocking_filter_disabled_fl equal to 1 ag applies the deblocking filter operation to the slice associated with PH. ph_deblocking_filter_disa equal to 0. bled_flag specifies whether a deblocking filter is applied to the slice associated with PH. It specifies that the operation of ph_deblocking_filter_dis If abled_flag is not present, pps_deblocking_filter Inferred to be equal to _disabled_flag. ... Then the syntax structure slice_header() is changed as follows: [Table 25] ... [ka] slice_deblocking_filter_disabled equal to 1 _flag indicates that the deblocking filter operation is not applied to the current slice. slice_deblocking_filter_disa equal to 0 bled_flag specifies whether the deblocking filter operation is applied to the current slice. slice_deblocking_filter_disable If ed_flag is not present, ph_deblocking_filter_dis Inferred to be equal to abled_flag. ... Then, the decoding process of the deblocking filter process is changed as follows. 8.8.3 Deblocking Filtering 8.8.3.1 General Deblocking filtering removes all code in a picture except for the following types of edges: It is applied to the edges of the shading sub-blocks and the edges of the transformation block. - edges on the border of the picture, - Subpicture index subpicIdx and loop_filter_ac ross_subpic_enabled_flag[subpicIdx] Edges that coincide with the picture boundary are equal to 0. - If VirtualBoundariesPresentFlag is 1, Edges that meet the virtual boundaries of the - loop_filter_across_tiles_enabled_flag If 0, edges that match tile boundaries - loop_filter_across_slices_enabled_flag If is 0, the edges that match the slice boundaries - slice_deblocking_filter_used[[disabled If ]]_flag is [[1]]0, edges that match the top or left border of the slice are J - slice_deblocking_filter_used[[disabled Edges in slices where ]]_flag is [[1]]0 - Edges that do not correspond to the 4x4 sample grid boundaries of the luminance component - Edges that do not correspond to the 8x8 sample grid boundaries of the chroma component - Edges in the luminance component, both sides of the edge are intra_bdpcm_luma_fla If g is equal to 1, - Edges within the chroma component, both sides of the edge are intra_bdpcm_chroma_f If lag is equal to 1, - The edges of a chroma block that are not edges of the associated transform unit The type of edge is either vertical or horizontal and is specified in the variable edgeT as specified in Table 42. It is expressed by type. -name of association with edgeType [Table 26] [ka] - The variable treeType is set equal to DUAL_TREE_LUMA. - The variable treeType, before deblocking, as specified in Section 8.8.3.2 The reconstructed picture, i.e., the array recPictur set equal to EDGE_VER. e Land the variable edgeType as inputs to perform one-way deblocking filtering. and the corrected reconstructed picture after deblocking, i.e., the array recPictu re L The output is used to filter vertical edges. - The variable treeType, after deblocking, as specified in Section 8.8.3.2 The corrected reconstructed picture, i.e., the array recP set equal to EDGE_HOR. Pictures L and a variable edgeType as input, and and the corrected reconstructed picture after deblocking, i.e., the array recP Pictures L The horizontal edges are filtered using the output. - If ChromaArrayType is not equal to 0, the following applies: - Set the variable treeType equal to DUAL_TREE_CHROMA. - variable treeType, before deblocking, as specified in Section 8.8.3.2 The reconstructed picture, i.e., the array recPicture cb ,recPicture cr , and the variable edgeType set equal to EDGE_VER as input, while Invokes a deblocking filter to filter vertical edges and de-block The corrected reconstructed picture after blocking, i.e., the array recPicture cb , recPicture cr is reconstructed as the output. - variable treeType, before deblocking, as specified in Section 8.8.3.2 the corrected reconstructed picture, i.e., the array recPicture cb ,recPict urecr and the variable edgeType set equal to EDGE_HOR as input. Horizontal edges are filtered by invoking a one-way deblocking filter. and the modified reconstructed picture after deblocking, i.e., the array recPictur e cb ,recPicture cr is reconstructed as the output. 6.1.5. Examples of Items 1.d, 1.g, 1.j, and 1.f In one example, the syntax structure pic_parameter_set_rbsp() is: will be changed as follows. [Table 27] deblocking_filter_override_enabled equal to 1 _flag is the ph_deblocking_filter in PH that refers to the PPS. Specifies the presence of r_override_flag or the slice header that references the PPS. slice_deblocking_filter_override_fl in da Specifies the presence of ag. deblocking_filter_overri equal to 0 de_enabled_flag is the ph_debloc in PH that refers to the PPS. stipulates the absence of king_filter_override_flag, [[or, ] ] and slice_deblocking_ in the slice header referencing the PPS Specifies the absence of filter_override_flag. If it does not exist, the deb The value of locking_filter_override_enabled_flag is 0 is assumed to be equal to pps_deblocking_filter_disabled_fla equal to 1 g is the deblocking filter operation, For slices that refer to PPSs where the lter_disabled_flag does not exist pps_deblocking_filt equal to 0 specifies that it is not applied. er_disabled_flag indicates that the deblocking filter operation is disabled. e_deblocking_filter_disabled_flag does not exist] ]PPS. If not present, pp The value of s_deblocking_filter_disabled_flag is equal to 0. It is estimated that And the syntax structure picture_header_structure() is as follows: It will be changed as follows. [Table 28] Then the syntax structure slice_header() is changed as follows: [Table 29] [ka] 6.1.6. Alternative embodiments of items 1.d, 1.g, 1.j, 1.e, and 1.n In one example, the syntax structure pic_parameter_set_rbsp() is: will be changed as follows. [Table 30] deblocking_filter_override_enabled equal to 1 _flag is the ph_deblocking_filter in PH that refers to the PPS. Specifies the presence of r_override_flag or the slice header that references the PPS. slice_deblocking_filter_override_fl in da Specifies the presence of ag. deblocking_filter_overri equal to 0 de_enabled_flag is the ph_debloc in PH that refers to the PPS. stipulates the absence of king_filter_override_flag, [[or, ] ] and slice_deblocking_ in the slice header referencing the PPS Specifies the absence of filter_override_flag. If it does not exist, the deb The value of locking_filter_override_enabled_flag is 0 is assumed to be equal to pps_deblocking_filter_disabled_fla equal to 1 g is the deblocking filter operation, For slices that refer to PPSs where the lter_disabled_flag does not exist pps_deblocking_filt equal to 0 specifies that it is not applied. er_disabled_flag indicates that the deblocking filter operation is disabled. e_deblocking_filter_disabled_flag does not exist] ]PPS. If not present, pp The value of s_deblocking_filter_disabled_flag is equal to 0. It is estimated that And the syntax structure picture_header_structure() is as follows: It will be changed as follows. [Table 31] Then the syntax structure slice_header() is changed as follows: [Table 32] [ka] 6.1.7. Alternative embodiments of items 1.d, 1.g, 1.j, 1.f, 1.h, and 1.k In one example, the syntax structure pic_parameter_set_rbsp() is: will be changed as follows. [Table 33] [ka] [[pps_deblocking_filter_disabled_f equal to 1 The lag is the deblocking filter operation, slice_deblocking_fi For slices that refer to a PPS where the lter_disabled_flag does not exist Specifies that it is not applied. pps_deblocking_filter equal to 0 _disabled_flag indicates that the deblocking filter operation is disabled by slice_de Refer to the PPS where blocking_filter_disabled_flag does not exist. If not present, pps_debl The value of ocking_filter_disabled_flag is assumed to be equal to 0. ]] And the syntax structure picture_header_structure() is as follows: It will be changed as follows. [Table 34] [ka] Then the syntax structure slice_header() is changed as follows: [Table 35] [ka] [ka] [ka] 6.2. Second Example This is an example of items 2, 2.a, and 2.b summarized in section 5 above. 8.5.6.3 Fractional Sample Interpolation 8.5.6.3.1 General The inputs to this process are: - the top-left sample of the current coding sub-block relative to the top-left luma sample of the current picture the luminance position (xSb, ySb) that defines the sample, - the variable sbWidth, which defines the width of the current coding sub-block, - variable sbHeight, which specifies the height of the current coding sub-block; - motion vector offset mvOffset, - fine-tune motion vector refMvLX, - the selected reference picture sample array refPicLX, - 1 / 2 sample interpolation filter index hpelIfIdx, [ka] - decoder-side motion vector fine-tuning flag dmvrFlag, - bidirectional optical flow flag bdofFlag, - variable refPi indicating whether the selected reference picture requires scaling cIsScaled, - a variable cIdx that specifies the color component index of the current block, - A list of two scaling ratios, horizontal and vertical, scalingRatio. The output of this process is: - (sbWidth+brdExtSize)x(sbHeight) of the predicted sample value +brdExtSize) array predSamplesLX. The boundary extension size brdExtSize of the prediction block is derived as follows: [ka] The variable refWraparoundEnabledFlag is (pps_ref_wrap around_enabled_flag&&!refPicIsScaled) It is set as follows. The variable fRefLeftOffset is ((SubWidthC*scaling_wi n_left_offset)<<10), and scaling_win_ left_offset is the scaling_win_left_o relative to the reference picture It is ffset. The variable fRefTopOffset is ((SubWidthC*scaling_win _top_offset)<<10) and scaling_win_to p_offset is the scaling_win_top_offset relative to the reference picture It becomes t. The predicted sample value is (sbWidth+brdExtSize)x(sbHeight+ The array predSamplesLX (brdExtSize) is derived as follows: - The motion vector mvLX is set equal to (refMvLX-mvOffset). do. - If cIdx is equal to 0, the following applies: - (xInt L ,yInt L ) be the luminance position given in full sample units, (xFrac L ,yFrac L ) is the offset calculated in 1 / 16 sample units These variables are used only in this section to represent the fractional sample positions in the reference sample array refPicLX. Used to specify the location. - Bounding block for reference sample padding (xSbInt L ,ySbIn t L )'s top left coordinate is (xSb+(mvLX[0]>4), ySb+(mvLX[1]> >4). - Each luminance sample position (x L=0..sbWidth-1+brdExtSize,y L =0..sbHeight -1+brdExtSize), the corresponding predicted luminance sample value predSamp lesLX[x L ][y L ] is derived as follows: - (refxSb L ,refySb L ) and (refx L ,refy L ) to 1 / 16 sample units of motion vectors (refMvLX[0], refMvLX [1]) is the luminance position indicated by the variable refxSb L , refx L , refySb L ,oh Call and refy L is derived as follows: refxSb L =(((xSb-(SubWidthC*scaling_win_le ft_offset))<<4)+ refMvLX[0])*scalingRatio[0] (935) refx L =((Sign(refxSb L )*((Abs(refxSb L )+128 )>>8)+ x L *((scalingRatio[0]+8)>>4))+fRefLeftO ffset+32)>>6 (936) refySb L =(((ySb-(SubWidthC*scaling_win_to p_offset))<<4)+ refMvLX[1])*scalingRatio[1] (937) refy L =((Sign(refySb L)*((Abs(refySb L )+128 )>>8)+yL* ((scalingRatio[1]+8)>>4))+fRefTopOffse t+32)>>6 (938) - The variables xIntL, yIntL, xFracL and yFracL are as follows: It is derived. xInt L =refx L >>4 (939) yInt L =refy L >>4 (940) xFrac L =refx L &15 (941) yFrac L =refy L &15 (942) - Predicted luminance sample values predSamplesLX[x L ][y L ] is as follows is derived as follows. [ka] -x L is equal to 0 -x L is equal to sbWidth+1 -y L is equal to 0 -y L is equal to sbHeight+1 - or (xIntL-(brdExtSize>0?1:0), yIntL -(brdExtSize>0?1:0)), (xFracL,yFracL), (xS bInt L ,ySbInt L ), refPicLX, hpelIfIdx, sbWidt h, sbHeight, dmvrFlag, refWraparoundEnabled Flag, scalingRatio[0], scalingRatio[1], and (xSb, ySb) is used as input, and the luminance sample 8 times specified in Section 8.5.6.3.2 is used. The predicted luminance sample value predSa is obtained by calling the step interpolation filtering process. Derive mplesLX[xL][yL]. - Otherwise (cIdx is not equal to 0), the following applies: … 6.3. Third Example This is an example of items 3, 3.a, 3.b, and 3.c. summarized in Section 5 above. be. 6.3.1. Example of Item 3.a In one example, the syntax structure pic_parameter_set_rbsp() is: will be changed as follows. [Table 36] [ka] And the syntax structure picture_header_structure() is as follows: It will be changed as follows. [Table 37] Then the syntax structure slice_header() is changed as follows: [Table 38] 6.3.2. Example of Item 3.b In one example, the syntax structure pic_parameter_set_rbsp() is: will be changed as follows. [Table 39] [ka] And the syntax structure picture_header_structure() is as follows: It will be changed as follows. [Table 40] [ka] Then the syntax structure slice_header() is changed as follows: [Table 41] [ka] 6.3.3. Example of Item 3.c The changes listed in bold italic text are based on JVET-Q2001-vE. It is. [Table 42] [Table 43] [ka] [ka] 6.4. Fourth Example This is in accordance with the implementation of items 4, 4.a, 4.b, 4.c and 4.d summarized in Section 5 above. Here is an example. ph_cu_qp_delta_subdiv_intra_slice is cu_qp _delta_abs and cu_qp_delta_sign_flag Specifies the maximum cbSubdiv value of a coding unit within an intraslice. [ka] [ka] If not present, ph_cu_chroma_qp_offset_subdiv_i The value of nter_slice is inferred to be equal to 0.
[0041] FIG. 1 illustrates an exemplary video processing system 1 in which various techniques disclosed herein may be implemented. 900. Various implementations may be implemented using one of the modules of the system 1900. The system 1900 may include an input for receiving video content. The video content may include a unit 1902. The video content may be in a raw or uncompressed format. , for example, may be received as 8- or 10-bit multi-component pixel values, and The input unit 1902 may receive the network represents a network interface, a peripheral bus interface, or a storage interface. Examples of the network interface include Ethernet (registered trademark), PON ( Registered trademark; Passive Optical Network) and other wired interfaces and wireless interfaces such as Wi-Fi or cellular interfaces Includes the interface.
[0042] The system 1900 may implement the various coding or encoding methods described herein. The coding component 1904 may include a coding component 1904 that may be implemented as a coding component. Component 1904 encodes the average bit rate of the video from input 1902. Component 1904 may be reduced to output to generate a coded representation of the video. Therefore, this coding technology is called video compression or video transcoding technology. The output of the coding component 1904 is sometimes called component 1. As represented by 906, it may be stored or transmitted via a connected communication The bits of the stored or communicated video received at input 1902 may be The stream (or coded) representation is used by the component 1908. 19. The image processing unit 1900 generates pixel values or displayable images that are sent to the display interface 1910. The process of generating a user-viewable video from a bitstream representation is , which are sometimes called image unwrapping. Furthermore, certain image processing operations are called "coding" operations. or tools, whereas the coding tools or operations are the encoders and their corresponding A decoding tool or operation that reverses the results of the coding is performed by the decoder. It will be understood that
[0043] An example of a peripheral bus interface or display interface is USB (registered trademark). Universal Serial Bus) or HDMI (registered trademark; High Delay finition Multimedia Interface) or DisplayPort An example of a storage interface is SATA (Serial ATA) Advanced Technology Attachment), PCI, IDE The technology described herein is applicable to mobile phones, laptops, smartphones, and other devices. Smartphones or other devices capable of digital data processing and / or video display The present invention may be implemented in various electronic devices such as a computer.
[0044] 2 is a block diagram of a video processing device 3600. The device 3600 is The device 3600 may be used to implement one or more of the methods described above. It may be implemented on tablets, computers, Internet of Things (IoT) receivers, etc. The device 3600 includes one or more processors 3602, one or more memories 3604, and and video processing hardware 3606. 2 may be configured to implement one or more of the methods described herein. 3604 are used to implement the methods and techniques described herein. It may also be used to store data and code. may be used to implement the techniques described herein in hardware circuitry.
[0045] FIG. 4 is a block diagram illustrating an example video coding system 100 that may utilize techniques of this disclosure. FIG.
[0046] As shown in FIG. 4, the video coding system 100 includes a source device 110 and a destination device 112. The source device 110 may also include a video encoding device. The destination device 120 generates encoded video data that may be referred to as a The device may decode the encoded video data generated by the decoder and may also be called a video decoding device.
[0047] The source device 110 includes a video source 112, a video encoder 114, and an input / output (I / O ) interface 116.
[0048] The video source 112 may be a source such as a video capture device, a video content provider, or the like. Interface for receiving video data from a video recorder and / or for generating video data a computer graphics system for creating a The video data may include one or more pictures. The decoder 114 encodes the video data from the video source 112 and generates a bitstream. A bitstream is a sequence of bits that form a coded representation of video data. The bitstream may contain coded pictures and associated A coded picture may contain data that is coded for the picture. Associated data includes sequence parameter sets, picture The I / O interface 116 may include parameter sets and other syntactic structures. may include a modulator-demodulator (modem) and / or a transmitter. is transmitted to the destination device via the network 130a and the I / O interface 116. The encoded video data may be transmitted directly to destination device 120. The information may be stored on the recording medium / server 130b for easy access.
[0049] The destination device 120 includes an I / O interface 126, a video decoder 124, and a display. The display device 122 may also include:
[0050] The I / O interface 126 may include a receiver and / or a modem. The interface 126 receives data from the source device 110 or storage medium / server 130b. The video decoder 124 may obtain the encoded video data from the The display device 122 may then display the decoded video data to the user. The display device 122 may be integrated with the destination device 120 or may be an external display device. The destination device 120 may be external to the destination device 120 and configured to interface with the destination device.
[0051] Video encoder 114 and video decoder 124 are implemented using High Efficiency Video Coding (HEV C) Standards, the Universal Video Coding (VVC) Standards, and other current and / or future It may operate in accordance with video compression standards such as regulations.
[0052] FIG. 5 is a block diagram showing an example of a video encoder 200. 00 may be the video encoder 114 in the system 100 shown in FIG.
[0053] Video encoder 200 may be configured to perform any or all of the techniques of this disclosure. In the embodiment of FIG. 5, video encoder 200 includes several functional modules. The techniques described in this disclosure include shared memory between various modules of video encoder 200. In some examples, the processor may implement any of the techniques described in this disclosure. Alternatively, the device may be configured to perform all of the above.
[0054] The functional components of the video encoder 200 include a division unit 201 and a prediction unit 202. The prediction unit 202 may include a mode selection unit 203, a motion estimation unit 204, a motion compensation unit 205, and an intra prediction unit 206, a residual generation unit 207, a transform unit 208, a quantization unit 209, and an inverse quantization unit 209. a decoder 210, an inverse converter 211, a reconstructor 212, a buffer 213, and an entropy It may also include an encoding unit 214.
[0055] In other examples, video encoder 200 may have more, fewer, or different features. In one example, the prediction unit 202 may include an intrablock The IBC unit may contain at least one reference picture copy (IBC) unit. The prediction is performed in IBC mode where the frame is the picture in which the current video block is located. This can be done.
[0056] In addition, some modules such as a motion estimation unit 204 and a motion compensation unit 205 The modules may be highly integrated, but for purposes of illustration, are represented separately in the example of FIG. It is being done.
[0057] The division unit 201 may divide one picture into one or more video blocks. The video encoder 200 and video decoder 300 support a variety of video block sizes. You may do so.
[0058] The mode selector 203 may select, for example, intra or inter control based on the error result. Select one of the coding modes and select the resulting intra or inter coding. The residual block is supplied to the residual generator 207, which generates residual block data and outputs it to the reconstruction unit 208. 12 and reconstruct the coded blocks for use as reference pictures. In some examples, the mode selection unit 203 may select the inter-prediction signal and the inter-prediction signal. Combination of Integral Prediction (CIIP) You may also select the Interpretation and Interprediction modes. In the case of inter prediction, the mode selection unit 203 selects the resolution of the motion vector of the block (for example, You may choose either sub-pixel or integer pixel precision.
[0059] To perform inter prediction on the current video block, the motion estimation unit 204 comparing the current video block with one or more reference frames from 213; The motion compensation unit 205 may generate motion information for the current video block. motion information and the picture from the buffer 213 other than the picture associated with the image block. and determining a prediction video block for the current video block based on the decoded samples. It may be determined.
[0060] The motion estimation unit 204 and the motion compensation unit 205 detect whether the current video block is an I-slice. For example, the current video block is The user may take different actions on the blocks.
[0061] In some examples, the motion estimator 204 may perform a unidirectional prediction for the current video block. The motion estimation unit 204 estimates the current video block by using a link for the reference video block. The motion estimation unit 204 may search for a reference picture in list 0 or list 1. a reference video block and a moving image indicating the spatial displacement between the current video block and the reference video block; A reference index indicating a reference picture in list 0 or list 1, including a reference vector. The motion estimation unit 204 may generate a reference index, a prediction direction index, and The pixel value and the motion vector may be output as motion information for the current video block. The motion compensation unit 205 performs the motion compensation based on the reference video block indicated by the motion information of the current video block. , may generate a prediction video block for the current block.
[0062] In another example, the motion estimation unit 204 may bidirectionally predict the current video block, The motion estimation unit 204 determines the current video block from among the reference pictures in list 0. The reference picture in List 1 may be searched for a reference video block for the The motion estimation may also look up another reference video block from which to find the current video block. The determination unit 204 determines the reference pictures in list 0 and list 1 that contain the reference video blocks. a reference index indicating the current video block and a spatial relationship between the reference video block and the current video block. The motion estimation unit 204 may generate a motion vector indicating the displacement of the current video block. The reference index and motion vector of the current video block are used as the motion information of the current video block. The motion compensation unit 205 may output the reference video block indicated by the motion information of the current video block. A prediction video block for the current video block may be generated based on the block.
[0063] In some examples, the motion estimation unit 204 may generate motion information for the decoder's decoding process. You may also output the full set of
[0064] In some examples, the motion estimator 204 may generate a full set of motion information for the current picture. Rather, motion estimation unit 204 may output motion information for another video block. For example, the motion estimation unit may signal the motion information of the current video block by referring to 204 determines whether the motion information of the current video block is sufficiently similar to the motion information of the neighboring video blocks. It may be determined that
[0065] In one example, the motion estimator 204 may generate a syntactic structure associated with the current video block. In this case, the video decoder determines whether the current video block has the same motion information as another video block. The value shown in the data reader 300 may be indicated.
[0066] In another example, the motion estimator 204 may generate a syntax structure associated with the current video block. In this case, the motion vector difference (MVD) is calculated from the motion vector of another video block. The motion vector difference may be identified as the difference between the current video block and the The difference between the motion vector of the video block and the motion vector of the video block indicated. The image reader 300 uses the motion vectors and motion vector differentials of the indicated video blocks to , a motion vector for the current video block may be determined.
[0067] As mentioned above, video encoder 200 may predictively signal motion vectors. Two examples of predictive signaling techniques that may be implemented by video encoder 200 are AMV P (Advanced Motion Vector Prediction) and Includes message mode signaling.
[0068] The intra predictor 206 may perform intra prediction on the current video block. If intra prediction unit 206 intra predicts the current video block, then intra prediction Measurement unit 206 calculates the image based on the decoded samples of other video blocks in the same picture. Based on the prediction data for the current video block, the prediction data for the current video block may be generated. The prediction data for may include predicted video blocks and various syntax elements.
[0069] The residual generation unit 207 generates a predicted video block of the current video block from the current video block. By subtracting the lock (e.g., indicated by a minus sign), the current Residual data for the video block may be generated. The residual data for the current video block may be , residual video blocks corresponding to different sample components of the samples in the current video block; It may also include
[0070] In another example, for example in skip mode, the residual for the current video block There may be no data, and the residual generator 207 may not need to perform the subtraction operation.
[0071] The transform processor 208 adds one or more residual video blocks associated with the current video block. calculates one or more transformations for the current video block by applying multiple transformations A coefficient image block may be generated.
[0072] A transform processor 208 generates a transform coefficient video block associated with the current video block. Then, the quantizer 209 generates one or more quantization Based on the parameter (QP: Quantization Parameter) value, The transform coefficient video block associated with the current video block may be quantized.
[0073] The inverse quantization unit 210 and the inverse transform unit 211 perform inverse quantization and inverse transform on the transform coefficient video block. The transforms may be applied respectively to reconstruct residual video blocks from the transform coefficient video blocks. The reconstruction unit 212 reconstructs a video signal from one or more predicted video blocks generated by the prediction unit 202. Add the reconstructed residual video block to the corresponding sample of The image processing unit 214 may generate a reconstructed image block and store it in buffer 213 .
[0074] After the reconstruction unit 212 reconstructs the video block, the video blocking To reduce the noise artifacts, a loop filtering operation may be performed.
[0075] The entropy coding unit 214 receives the data from other functional components of the video encoder 200. When the entropy coding unit 214 receives the data, it The P encoder 214 performs one or more entropy coding operations to generate entropy codes. generating entropy-encoded data and generating a bitstream containing the entropy-encoded data. You may output it.
[0076] Some embodiments of the disclosed technology may include enabling video processing tools or modes. In one example, determining or judging whether a video processing tool or mode is enabled. When a video block is encoded, the encoder uses a tool or mode to process a single video block. Use or implement, but based on the use of tools or modes, resulting The bitstream does not necessarily need to be modified, i.e., the video is The conversion to a bitstream (or bitstream representation) is based on a decision or judgment. If a video processing tool or mode is enabled by the In another example, when a video processing tool or mode is enabled, the decoder ,knowing that the bitstream has been modified based on the video processing tool or mode, Process the bitstream, i.e., video processing enabled based on the decision or determination. Use a processing tool or mode to convert the video bitstream into video blocks. Do the following.
[0077] FIG. 6 is a block diagram showing an example of a video decoder 300. may be the video decoder 114 in the system 100 shown in FIG.
[0078] Video decoder 300 may be configured to perform any or all of the techniques of this disclosure. In the embodiment of FIG. 6, the video decoder 300 includes multiple functional modules. The techniques described in this disclosure are shared among various modules of video decoder 300. In some examples, the processor may implement any or all of the techniques described in this disclosure. It may be configured to perform all of the above.
[0079] In the embodiment of FIG. 6, the video decoder 300 includes an entropy decoding unit 301, a motion a compensation unit 302, an intra prediction unit 303, an inverse quantization unit 304, an inverse transform The video decoder 301 includes a video decoder unit 305, a video decoder unit 306, and a video decoder buffer 307. The encoder 300 may, in some examples, be implemented using the same coding scheme as described with respect to the video encoder 200 (FIG. 5). A decoding pass may be performed that is roughly the reverse of the encoding pass.
[0080] The entropy decoding unit 301 extracts the coded bitstream. The resulting bitstream is entropy coded video data (e.g., video data The entropy decoding unit 301 may include an encoded block of data. Decode the entropy coded video data and decode the entropy coded video data. Then, the motion compensation unit 302 receives the motion vector, the motion vector precision, and the reference picture list. The motion compensation unit 302 may determine motion information including the motion index and other motion information. determines such information by running AMVP and merge mode, for example. Good too.
[0081] The motion compensation unit 302 may generate motion compensated blocks, and in some cases, Performs interpolation based on an interpolation filter. The interpolation filter used has sub-pixel accuracy. An identifier for the URI may be included in the syntax element.
[0082] Motion compensation unit 302 is used by video encoder 200 during the encoding of a video block. Interpolated values for sub-integer pixels of the reference block using an interpolation filter such as The motion compensation unit 302 may calculate the motion vectors based on the received syntax information. 200 determines the interpolation filter to use and generates the predicted block using the interpolation filter. That's fine.
[0083] The motion compensation unit 302 compensates for the frames and / or segments of the encoded video sequence. Syntax information to determine the size of the blocks used to encode the Rice, describes how each macroblock of a picture in a coded video sequence is divided The partition information that indicates how each partition is coded, the mode that indicates how each inter-coded one or more reference frames (and reference frame lists) for the selected block, and Some other information may also be used to decode the encoded video sequence.
[0084] The intra prediction unit 303 may, for example, predict an intra prediction model received in a bitstream. A code may be used to form a prediction block from spatially adjacent blocks. The entropy decoding unit 303 provides the bitstream to the entropy decoding unit 301. Inverse quantization (i.e., dequantization) of the decoded quantized video block coefficients The inverse transform unit 303 applies the inverse transform.
[0085] The reconstruction unit 306 receives the residual block and the motion compensation unit 202 or the intra prediction unit 303. and the corresponding predicted block generated by the If desired, the decoded blocks can be filtered to remove block artifacts. A deblocking filter may be applied to filter the decoded video blocks. The blocks are stored in a buffer 307, which is used for subsequent motion compensation / intra prediction. and generating a decoded image for display on a display device. do.
[0086] In the following sections, we will introduce an example PROF technique, an example affine merging technique, and an example Affine AMVP technology is described.
[0087] PROF: Predictive Fine-tuned Optical Flow (PROF) is a sub-block based algorithm. It is used to fine-tune the sub-block based affine motion compensation prediction. After the compensation, the difference derived from the optical flow equation is added to the brightness prediction sub-system. Thus, for example, the PROF technique fine-tunes the sub-blocks of a video block. This involves fine-tuning the affine motion compensation prediction based on the optical flow. The luminance prediction samples for the video block are fine-tuned by adding the difference derived from the equation. do.
[0088] Affine Merge: In this mode, the current C is merged based on the motion information of the spatially neighboring CUs. Generate CPMV (Control Point Motion Vector) of U. Based on the motion information of spatially neighboring CUs, We construct several CPMVP (control point motion vector predictor) candidates. The current CU is signaled to indicate which one should be used. In merge mode, the spatial neighbors of the current coding unit are merged. Unit motion information and the sub-block merging that should be used for the current coding unit An indicator that indicates that an affine merge candidate from the candidate list is included in the bitstream. The control point motion vector of the current coding unit of the video block is calculated based on the Generate a rule.
[0089] Affine AMVP: C to indicate whether affine AMVP mode is used. The U-level affine flag is signaled in the bitstream, and then the four parameters Another flag is added to indicate whether the affine is a 6-parameter affine or a 1-parameter affine. In this mode, the CPMV of the current CU and its predictor CPMVP are The difference between the two is signaled in the bitstream. P mode involves including the following in the bitstream: (1) Affine altitude motion vectors A coding unit level prediction mode for a video block that indicates whether a (2) the affine flag of the rule, whether 4-parameter affine or 6-parameter affine is used (3) a second flag indicating whether the coding unit level control point motion vectors are included. (4) the current coding unit constraint for the video block; the difference between the control point motion vector and the predictor control point motion vector corresponding to the control point motion vector
[0090] Next, preferred solutions are listed in some embodiments.
[0091] The following solutions are exemplary implementations of the techniques discussed in the previous chapter (e.g., items 1.1-1.c.). Show the form.
[0092] 1. Transforming a video that includes one or more video pictures with one or more video slices. 3002, the transformation including one or more video picture parameter sets that reference a video picture parameter set. The decision regarding the applicability of the deblocking filter to the above video slice is made by the corresponding video slice. The deblocking is performed based on the deblocking syntax field contained in the picture header of the image picture. a video processing method (e.g., method 3 shown in FIG. 4) that complies with the first rule that specifies 000).
[0093] 2. This decision is applicable in the video picture parameter set and picture header. This is based on whether the deblocking filter is disabled or not. The method according to Solution 1, which is further based on the slice level instruction of
[0094] 3. Transformations are signaled at a higher level of the coded representation or Higher level refinements of the coded representation are based on flags derived at a finer level. The first allows overriding the signaled applicability of the deblocking filter. 3. The method according to any of Solutions 1-2, further complying with Rule 2.
[0095] 4. Whether a flag is signaled or derived depends on the coding The method described in Solution 1, which relies on another field included in the expression.
[0096] The following solutions are exemplary implementations of the techniques discussed in the previous chapter (e.g., items 1.d through 1.q.). Show the form.
[0097] 5. Transforming a video that includes one or more video pictures with one or more video slices the conversion may be at the slice header level of the video slices and / or at the picture level. Based on fields contained at header level and / or picture parameter set level Rules specifying constraints on the applicability of deblocking filters to video slices based on A video processing method that complies with
[0098] 6. The rules are set according to the picture parameter set level signal to deblocking filter If you disable it, the slice header level signal or the picture header level signal Solution: 5. The method described in 5.
[0099] 7. The rules are set according to the picture parameter set level signal to deblocking filter When enabled, the slice header level or picture header level signal Specifying constraints that allow disabling the deblocking filter for a video slice Solution 5:
[0100] 8. The rule is the picture parameter set level that controls the activation of the deblocking filter. The value of the first field in the bell indicates that the deblocking filter is overridden. Solution 5 states that the value of the second field indicating whether the How to do it.
[0101] 9. The rules control the deblocking filter on / off control parameters and / or the deblocking Locking filter parameters are stored in one picture header or one sequence header. The signal strength of the syntax element "dbf_info_in_ph_flag" that determines whether The picture parameter set is deblocking_filter_over This does not depend on other syntax elements, including ride_enabled_flag. Define the method described in Solution 5.
[0102] 10. The rules can be applied at the Picture Parameter Set level or at the picture level or slice level. The override flag at the level controls the deblocking on / off control parameter. The method of Solution 5, providing that the vehicle does not control the override.
[0103] 11. The rules can be applied at the picture parameter set level or at the picture level or slice level. The override flag at the level controls the on / off parameter of the deblocking filter. It is intended to override either the meter or the filter parameters, but not both. The method described in Solution 5, specifying that the vehicle is not intended for riding.
[0104] 12. The rule is that if a deblocking filter is disabled at the picture parameter set level, Even if deblocking is enabled, it is not possible to deblock at the picture or slice level. The method described in Solution 5, which provides that enabling a king filter is allowed.
[0105] 13. The rule has a field to control whether the deblocking filter is on or off, and The fields indicating the filtering filter parameters are provided at the picture and slice levels. The method described in Solution 5, specifying that both the
[0106] 14. The rule has a field that controls whether the deblocking filter is on or off and a field that controls whether the deblocking filter is on or off. Include a field indicating the parameters of the king filter in the sequence parameter set. The method according to Solution 5, providing that
[0107] 15. The applicability of the deblocking filter to video slices is determined by the video unit level. This syntax field is signaled in a binary flag The video unit level is not a picture parameter set or a sequence parameter set. The method described in Solution 5, including the tasset.
[0108] 16. The syntax field contains N bits, where N is an integer greater than 1. Solution 15 The method described below.
[0109] 17. N=2 and the syntax field is: (a) Picture Parameter Set (PPS) (b) do not apply the deblocking filter to all slices that reference the PPS; All slides that reference the PPS will use the first offset parameter signaled. (c) applying a deblocking filter to the second offset signaled to the PPS; Apply the deblocking filter to all slices that reference the PPS using the or (d) deblocking by parameters signaled outside the PPS. Apply a filtering filter to the slice that references the PPS. Solution 16.
[0110] 18. The rule is to demultiplex a video slice using zero values for the deblocking filter parameters. The method according to Solution 5, further comprising enabling a deblocking filter for
[0111] The following solutions illustrate exemplary implementations of the techniques discussed in the previous section (eg, item 2).
[0112] 19. In affine advanced motion vector predictor coding based on a first rule, or The second rule-based affine merge mode is used for optical flow (PROF) coding. determining whether the prediction fine-tuning is applicable according to the prediction; and and converting between the video blocks of the video and a coded representation of the video. Image processing method.
[0113] 20. The second rule is that if the predicted block corresponding to the M*N portion is larger than M*N and M and applying PROF coding to the video blocks, such that N is a positive integer. The method according to Solution 1,
[0114] 21. Extensions generated by predicted blocks generated by PROF coding A flag in the coded representation is included to indicate the number of samples. 21. A method according to any one of 19 to 20.
[0115] 22. The number of extended samples is the same for the first and second rules, as described in Solution 21. How to post.
[0116] The following solutions represent exemplary implementations of the techniques discussed in the previous section (eg, item 3).
[0117] 23. Video containing one or more pictures with one or more slices and the coding of this video This includes converting between the image and the image-based representation, either at the picture level or at the slice level. The first syntax element indicates quantization parameter delta or offset signaling. The second syntactic element at another level, conditionally applies to the coded expression according to rules. Included are video processing methods.
[0118] 24. The rule is that another level is a sequence parameter set level or a picture parameter set level. The second syntax element specifies that the chroma or luma delta QP signal is The method described in Solution 23 that indicates whether issue notification is enabled.
[0119] 25. The rule is that another level is a sequence parameter set level or a picture parameter set level. The second syntax element specifies that the chroma QP offset is signaled. The method described in Solution 23 that indicates whether is enabled or not.
[0120] The following solutions represent exemplary implementations of the techniques discussed in the previous section (eg, item 4).
[0121] 26. Video containing one or more pictures with one or more slices and the coding of this video This involves converting between coded and uncoded representations, which are then converted into rules-based representations. Contains a syntax element indicating the coding block subdivision value (cbSubDiv) of the range. Processing method.
[0122] 27. The rule is that the range is coded in the expression containing the syntax field ph_max Depends on _mtt_hierarchy_depth_intra_slice_luma The method of solution 26, specifying that
[0123] 28. The rule is that the range is 0 to 2*(CtbLog2SizeY-MinQtLog2 SizeIntraY)+2*(CtbLog2SizeY-MinCbLog2Siz 28. The method according to any one of Solutions 26 to 27, wherein eY).
[0124] 29. The rule is that the range is ph_max_mtt_hierarchy_depth_in Solution 26 specifies that the tra_slice_luma field is not relied upon. How to post.
[0125] 30. The rule is that the range is ph_max_mtt_hierarchy_depth_in The method described in Solution 26, which specifies that there is no dependency on the ter_slice field.
[0126] 31. Transformation involves encoding video into a coded representation. Solutions 1-3 10. A method according to any one of claims 1 to 9.
[0127] 32. Transformation is decoding a coded representation to produce pixel values of an image. 31. The method according to any one of Solutions 1 to 30, comprising:
[0128] 33. A processor configured to implement the method described in one or more of solutions 1 to 32. A video decoding device comprising:
[0129] 34. A processor configured to implement the method described in one or more of solutions 1 to 32. A video encoding device comprising:
[0130] 35. A computer program product having computer code stored therein, When executed by a processor, the processor performs the processing described in any one of Solutions 1 to 32. A computer program product implementing the method.
[0131] 36. A method, apparatus or system as described herein.
[0132] 7 is a flow chart of an example method 700 for video processing. Operation 702 includes: Converting between a video containing a picture with slices and a bitstream of this video This transformation involves demultiplexing the image into one or more slices that refer to a picture parameter set. Whether or not a filtering filter is applied is determined by the first configuration parameter included in the picture parameter set. The first syntactic element is based on this picture. Indicates whether the deblocking filter is disabled for the
[0133] In some embodiments of the method 700, the rule is to define a picture parameter set as Whether to apply a deblocking filter to one or more slices is determined by the following: (1) The second structure of the picture header Whether the sentence element disables the deblocking filter for the picture (2 ) The deblocking filter is disabled by the third syntax element at the slice level. or (3) whether the fourth syntax element of the picture parameter set is Deblocking filter applicability override at picture level and slice whether it is disabled at the In some embodiments of the method 700, the rule specifies that the picture Apply a deblocking filter to one or more slices, referencing a parameter set. Specifies that whether the picture is included depends on: (1) the second syntax element of the picture header (2) whether the deblocking filter is disabled for the picture; If the deblocking filter is disabled by the third syntax element at the slice level: The method further includes determining whether the first and second values are based on the first and second values. In this state, the first syntax element, the second syntax element, and the third syntax element have a value of 1. indicates that the deblocking filter is disabled.
[0134] In some embodiments of the method 700, the rule is to define a picture parameter set as Whether to apply a deblocking filter to one or more slices depends on the pixel The fourth syntax element of the parameter set controls the applicability of the deblocking filter. Indicates whether barriding is disabled at the picture and slice level The method further includes at least one of the following: In some embodiments, a first value of the first syntax element equal to 1 indicates that the picture parameter Ensure that the deblocking filter is disabled for pictures that reference the meter set. The second value of the fourth syntax element equal to 0 indicates the application of the deblocking filter. Ensure that availability overrides are disabled at the picture and slice levels. In some embodiments of the method 700, the value of the first syntax element is 1, and A value of 0 for the fourth syntax element means that the deblocking filter is disabled. Shows.
[0135] 8 is a flow chart of an example method 800 for video processing. Operation 802 includes: Converting between a video containing a picture with slices and a bitstream of this video This transformation involves demultiplexing the image into one or more slices that refer to a picture parameter set. Whether or not to apply a filtering filter is determined by the Deblotting parameter in the picture parameter set. This specifies that the filtering is based solely on the syntax element that indicates whether the filtering is disabled. Comply with applicable regulations.
[0136] In some embodiments of the method 800, a value of 1 in the syntax element indicates that the picture Indicates that the deblocking filter is disabled for
[0137] 9 is a flow chart of an example method 900 for video processing. Operation 902 includes: Conversion of a video containing one or more pictures with slices to a bitstream of this video The bitstream complies with the rules, and the rules are The first value of the first syntax element at the device level or the first value of the second syntax element at the picture level. Overrides the deblocking behavior for a slice or picture based on the value of 2. This rule determines whether to perform the first slice in a slice header. In response to the absence of the first syntax element, the first value of the first syntax element is the picture level. This specifies that the second value of the second syntax element in the rule is determined independently.
[0138] In some embodiments of the method 900, the first value of the first syntax element is is determined to be 0, indicating that the filtering behavior has not been overridden at the slice level. In some embodiments of the method 800, the second value of the second syntax element is is determined to be 0, indicating that the picture behavior has not been overridden at the picture level. can be.
[0139] FIG. 10 is a flow chart of an example method 1000 for video processing. Operation 1002 includes: A video including one or more pictures having the above slices and a bitstream of this video the bitstream conforms to a rule, the rule being: The first value of the first syntax element at the slice level or the second syntax element at the picture level The deblocking parameters are applied to the slice header or picture header based on the second value of The rule specifies whether the first syntax element in the slice header is not present. Correspondingly, the first value of the first syntax element is the second value of the second syntax element at the picture level. It specifies that the value is determined independently of the
[0140] In some embodiments of the method 1000, the first value of the first syntax element is The king parameter is determined to be 0, indicating that it is not included in the slice level. In some embodiments of the method 1000, the second value of the second syntax element is The value is determined to be 0, indicating that the encoding parameters are not included at the picture level.
[0141] FIG. 11 is a flow chart of an example method 1100 for video processing. Operation 1102 includes: A video including one or more pictures having the above slices and a bitstream of this video the bitstream includes a first syntax element and a second syntax element. Whether the element is included in the picture header and slice header respectively, or whether it is inferred The format specifies whether the picture is The first syntax element is for deblocking at the picture level of the video. The second syntax element indicates whether the filtering filter is disabled at the video slice level. The third syntax element indicates whether the deblocking filter is disabled in the The blocking filter is applied to one or more pictures that refer to the picture parameter set. Indicates whether the metric is enabled for the
[0142] FIG. 12 is a flow chart of an example method 1200 for video processing. Operation 1202 includes: A video including one or more pictures having the above slices and a bitstream of this video This transformation involves applying a deblocking filter to the slice. Whether the slice header and / or picture header and / or slice reference The picture parameter set is based on the syntax elements contained in the picture parameter set. The syntax element specifies whether the deblocking filter is applied at the picture parameter set level and / or or whether it is enabled at the slice level and / or picture level.
[0143] In some embodiments of the method 1200, the rule is a picture parameter set If the deblocking filter is disabled according to the first syntax element in by the second syntax element in the device header or the third syntax element in the picture header. stipulates that enabling a deblocking filter is not permitted. In some embodiments of .0, this rule is the second syntax element in the slice header and / or the presence of a third syntax element in the picture header is inconsistent with the first syntax element of the first overrides the applicability of the deblocking filter based on the value of It does not depend on the second value of the flag, which indicates whether it is enabled at the level or slice level. In some embodiments of the method 1200, the rule further provides that: The syntax element in this section applies deblocking filtering to slices that refer to a picture parameter set. The second and / or third syntax elements may be used in response to indicating that the filter is to be disabled. Specifying that elements are excluded from the slice header and / or picture header, respectively In some embodiments of the method 1200, the rule is This specifies that the flags in the frame indicate: (1) the first syntax element is a picture parameter; whether the second syntax element is indicated in the slice header , and / or whether a third syntax element is shown in the picture, and (2) The parameters for the locking filter are the picture parameter set, the picture header, and whether it is indicated in the slice header. In this case, this flag indicates: (1) whether the first syntax element is from a picture parameter set; the second syntax element from the slice header, and / or the third syntax element (2) the parameters of the deblocking filter are Exclude from parameter sets, picture headers, and slice headers.
[0144] In some embodiments of the method 1200, the rule is a picture parameter set If the deblocking filter is disabled according to the first syntax element that is not present in the by the second syntax element in the frame header or the third syntax element in the picture header Enabling the deblocking filter is not allowed, and the first syntax element is equal to a constant value. In some embodiments of the method 1200, this criterion The rule is to perform deblocking filtering according to the first syntax element in the picture parameter set. When disabling a data item, the second syntax element in the slice header or the Enabling the deblocking filter by a non-existent third syntax element is not permitted. , specifies that the third syntax element is inferred to have the same value as the first syntax element. In some embodiments of the method 1200, the rule is If the deblocking filter is disabled according to the first syntax element in A second syntax element not present in the data or a third syntax element in the picture header Enabling a blocking filter is not allowed, and the second syntax element is or a third syntax element is inferred to have the same value. In some embodiments, this rule is set at the first video unit level of the video. When the deblocking filter is enabled, it is deblocked at the second video unit level. Allows disabling of blocking filters and the second video unit level is higher than the first video It specifies that the image level is lower than the image unit level.
[0145] In some embodiments of the method 1200, the first video unit level is The first video unit level includes a video header, and the second video unit level includes a slice header. In some embodiments, the one or more pictures include a first set of one or more slices and and a second set of one or more slices, and the rule is specifying enabling a deblocking filter for a first set of slices; The rule is to disable the deblocking filter for a second set of one or more slices. In some embodiments of the method 1200, the slice header may include The first syntax element enables the deblocking filter for the second video unit level. The second syntax element in the picture header indicates whether the first video unit is encoded. Indicates whether the deblocking filter is enabled for the unit level, and the rule specifies that the first syntax element is based on the second syntax element. In this embodiment, the rule is that the first syntax element is a deblocking element for the current picture. If the second syntax element indicates that a filtering filter is enabled, the Indicates whether the deblocking filter is enabled for the current slice. In some embodiments of the method 1200, the rule defines the picture parameters. The dataset slices the syntax elements and / or parameters of the deblocking filter. The first indicates that whether it is included in the header or picture header does not depend on other syntax elements. This section further specifies whether the flag is included or not, independent of other syntax elements. In some embodiments of 1200, one or more other syntax elements may be picture-level and Overriding the applicability of the deblocking filter at the slice and slice levels is enabled. Contains a second flag that indicates whether the
[0146] In some embodiments of the method 1200, the rule is that the second syntax element is a slice. The picture header is included in the picture header, or the third syntax element is included in the picture header. based on a first flag and / or a first syntax element in the parameter set; The first syntax element, independent of the second flag, is a slash that refers to a picture parameter set. The second syntax element indicates whether deblocking filters are enabled for the device. The third syntax element indicates whether the filter is enabled for the slice level. Indicates whether blocking filters are enabled for the picture level. In some embodiments of the method 1200, in a picture parameter set the first flag in the slice header, or the second flag in the picture header The third flag in the at the parameter set level, picture level, or slice level, respectively. Whether or not it is enabled, the rules specify: (1) the deblocking filter; Picture parameter set that indicates whether the filter is enabled at the picture parameter set level. the first syntax element in the data set, or (2) the deblocking filter is slice-level. (3) A second syntax element in the slice header that indicates whether the slice is enabled in the slice. Picture header indicating whether the deblocking filter is enabled at the picture level Except for the third syntax element in However, it is configured to override the deblocking filter parameters. In some embodiments of the method 1200, the first syntax element is Therefore, the first flag is optionally included in the picture parameter set, according to the rules. It is selectively included in the slice header before the second flag, or according to the rules, The third syntax element is optionally included in the picture header before the third flag, and the rule is If the first flag, the second flag, or the third flag is in the picture parameter set, slice header, The first syntax element, the second syntax element, and the picture header are included in the It specifies that the syntax element is based on the first or third syntax element, respectively.
[0147] In some embodiments of the method 1200, the syntax elements include a first syntax element, The rule is that a picture parameter set must be a single The first syntax indicates whether to enable the deblocking filter for the slice. In some embodiments of the method 1200, this definition further defines that the element The rule is that a picture parameter set must have one or more The first syntax element indicates whether to enable the deblocking filter for the slice. The inclusion or exclusion of a picture parameter set is independent of other syntax elements in this picture parameter set. In some embodiments of the method 1200, the rule further defines: If the deblocking filter is disabled at the first video unit level, One or more syntax elements at the second video unit level of the image are absent, and this deblocking The filtering filter is disabled and the first video unit level is higher than the second video unit level. The value of the first syntax element at the first video unit level indicates a higher level than the In some embodiments of the method 1200, The rule is a pin that indicates whether there is a global control for the deblocking filter. This section further defines a syntax element in the architecture parameter set, which is (1) Picture parameter set level or picture level or slide level Deblocking filter applicability override enabled at the A picture parameter set or a picture header or a slice header (1) one or more flags in the picture header, and (2) a picture parameter set, picture header, Control the presence of deblocking filter parameters in the slice header or slice header .
[0148] In some embodiments of the method 1200, the rule is that the flag Either the applicability of the filter or the first set of parameters of the deblocking filter It further provides for indicating whether an override is enabled for either of the In some embodiments of the method 1200, the flag is a picture parameter set or is included in the picture header or slice header. In this rule, the flag is overridden for the applicability of the deblocking filter. (1) Deblocking filter parameters, indicating whether the filter is enabled. (2) a first set of deblocking data is included only at the first video unit level of the video; In response to enabling the filtering filter at the second video unit level, From a first set of parameters of a video unit-level deblocking filter, Estimate a second set of deblocking filter parameters at the video unit level and further specifying that the first video unit level is higher than the second video unit level. In some embodiments of the method 1200, the rule is that the flag The first set of parameters for this deblocking filter at the first video unit level of the image. To indicate whether this override is enabled for a set of 1s, use Further, (1) the applicability of the deblocking filter is determined by the first video unit level. (2) Deblocking filter at the second video unit level a first video unit level deblocking filter in response to enabling the first video unit level deblocking filter From the first set of parameters, a deblocking function is selected for the second video unit level. a second set of filter parameters, the first video unit level being Higher than knit level.
[0149] In some embodiments of the method 1200, the first video unit level is a picture unit level. The second video unit level includes a picture header or slice header. In some embodiments of the method 1200, the syntax element includes a first image of the image. a first syntax element at the unit level and a second syntax element at the second video unit level of the video The first syntax element and the second syntax element are used to deblock the first video. Indicates whether the video is enabled at the video unit level and at the second video unit level, respectively. , the first video unit level is higher than the second video unit level, and this rule A first structure indicating disabling the deblocking filter at the video unit level. It further specifies that no overriding of a second syntax element is permitted in response to a statement element. In some embodiments of the method 1200, the first video unit level is a picture level. The second video unit level contains the parameter set and is the picture header or slice header. In some embodiments of the method 1200, the rule defines the second syntax as Whether the first syntax element is included in the second video unit level depends on whether the first syntax element is included in the first video unit level. Based on whether the bell indicates that control of the deblocking filter is allowed. This stipulates:
[0150] In some embodiments of the method 1200, the syntax element is a first syntax element at a video unit level and a second syntax element at a video second video unit level; The first syntax element and the second syntax element are used to deblock the first video unit. The rules indicate whether the video unit is enabled at the first video unit level and the second video unit level, respectively. and a deblocking filter for detecting whether a second syntax element is present at the second video unit level. In response to this, it is assumed that the second image unit level has a specific state. In some embodiments of the method 1200, this particular state is Disables or enables the deblocking filter state indicated by the syntax element 1. In some embodiments of the method 1200, the rule includes: A picture parameter set exists where there is global control for the deblocking filter. This rule specifies that the syntax element indicating whether this picture parameter is The first syntax indicates whether this deblocking filter is enabled. element and specifies that this first syntax element is independent of this syntax element. In some embodiments of
[00] , the second syntax element Possibility to override the rules for this picture parameter The inclusion of this second syntax element in the set depends on whether the deblocking filter is enabled. The method 1200 is based on the first syntax element indicating that the In an embodiment, the rules are: Inclusion in the meter set overrides the applicability of the deblocking filter. This specifies that the override of the RFC 2222 protocol is based on a second syntax element that indicates that the RFC 2222 protocol is allowed to override the RFC 2222 protocol.
[0151] In some embodiments of the method 1200, the rule is a picture parameter set is a syntax element that indicates whether there is a global control for the deblocking filter. This rule specifies that this picture parameter set excludes The first configuration indicates whether overriding the applicability of the king filter is allowed. It contains a sentence element and specifies that this first syntax element does not depend on this syntax element. In some embodiments of 200, the second syntax element indicates that a deblocking filter is enabled. The rule is to specify whether this second picture parameter set is enabled. The inclusion of the syntax element overrides the applicability of the deblocking filter. The method 1200 specifies that the first syntax element that indicates that the request is allowed is used. In some embodiments, the rules may be used to determine the parameters for the deblocking filter. Whether the deblocking filter is enabled or not depends on whether it is included in the parameter set. In some embodiments of the method 1200, the second syntax element indicates In this case, this rule applies to the picture header. Whether a blocking filter is enabled and / or this deblocking filter It includes a syntax element that indicates whether it includes one or more syntax elements that indicate the filter parameters. This stipulates:
[0152] In some embodiments of the method 1200, the rule is to associate the syntax element with a picture parameter. In some embodiments of method 1200, This rule states that each picture header and slice header is 1 indicating whether the deblocking filter is enabled and / or its parameters It specifies that it contains one or more syntax elements.
[0153] FIG. 13 is a flow chart of an example method 1300 for video processing. Operation 1302 includes: A video including one or more pictures having the above slices and a bitstream of this video This transformation involves applying a deblocking filter to the slice. whether a slice is a sequence or not is based on the syntax elements contained in the sequence parameter set that the slice references. The syntax element conforms to the rules that specify that the deblocking filter is enabled. The first syntax element indicating whether the It contains a set of syntax elements that indicate a set of
[0154] In some embodiments of the method 1300, the rule is: The first syntax element in the sequence parameter set of the level is the second video unit of the video. The deblocking filter is enabled at the bit level and the first video unit level is The second syntax element indicates whether the video unit level is higher than the second video unit level. It further specifies that the
[0155] In some embodiments of the method 1300, the rule is: The parameters of the deblocking filter are shown in the sequence parameter set of the level The first set of deblocking filters is shown at the second video unit level of the video. The second set of parameters overrides the first video unit level. 2. In an embodiment, the second video unit level includes a picture parameter set, a picture header, and a The header contains the header or slice header.
[0156] FIG. 14 is a flow chart of an example method 1400 for video processing. Operation 1402 includes: A video including one or more pictures having the above slices and a bitstream of this video the transformation may include applying a deblocking filter to the slice. The rule stipulates that whether a video is a video or not is based on non-binary syntax elements contained at the video unit level. It follows the rules, and non-binary syntax elements apply a deblocking filter to one or more slides. Whether and / or how one or more deblocking filters are applied to the Indicates whether to apply to the slice above.
[0157] In some embodiments of the method 1400, the video unit level is Some implementations of method 1400 include a data set or a sequence parameter set. In this state, this rule specifies that non-binary syntax elements indicate deblocking mode. However, this non-binary syntax element contains N bits. In some embodiments of the method 1400, In some embodiments of the method 1400, this rule is The first value of the INTEGER syntax element indicates that the deblocking filter refers to a picture parameter set. This rule does not apply to all slices that use this non-binary syntax element. The second value is the deblocking parameter offset with a value of 0 for beta and tC. Deblocking all slices that reference this picture parameter set using The rule specifies that a filter is applied if the third value of this non-binary syntax element is , deblocking for beta and tC that are explicitly included in the picture parameter set. All sequences that reference this picture parameter set using a picture parameter offset This rule specifies that a deblocking filter is applied to the The first value of the statement element specifies that the deblocking filter refers to a picture parameter set. Whether it applies to a slice depends on whether it is present in the slice's picture header or slice header. Some embodiments of the method 1400 may be implemented by a parameter that determines whether the parameter is a In this case, the rule is that the parameters of the deblocking filter are This specifies that the inclusion of a String in a List is based on the value of a non-binary syntax element.
[0158] In some embodiments of the method 1400, the rule is that the value must meet a particular condition. Correspondingly, the parameters of the deblocking filter are included in the picture parameter set. In response to the value not satisfying this particular condition, the deblocking filter parameters In some embodiments of the method 1400, This particular condition includes whether the value is greater than an integer. In this embodiment, the rule is that the value of a non-binary syntax element is This syntax element specifies whether a picture is included in the meter set. Whether the header or slice header enables the deblocking filter and / or specifies whether to include syntax elements that indicate the parameters of the deblocking filter. In some embodiments of 1400, the rule is that the value of a non-binary syntax element is In response to satisfying the conditions, this syntax element is included in this picture parameter set. In some embodiments of the method 1400, this particular condition defines In some embodiments of the method 1400, this rule corresponds to excluding a syntax element from a picture parameter set, In some embodiments of the method 1400, This rule states that the value of a non-binary syntax element must be such that the syntax element is not part of a picture header or slice header. This syntax element controls whether the deblocking filter is enabled. It specifies whether the metric is a metric and / or indicates the parameters of the deblocking filter.
[0159] In some embodiments of the method 1400, the rule is that the value of the non-binary syntax element is Applying a deblocking filter at the picture level to the video in response to meeting certain conditions It is stipulated that a syntax element indicating whether or not to enable the picture header is indicated. In some embodiments of 0, this rule determines whether the value of a non-binary syntax element satisfies a particular condition. Whether to enable deblocking filters at the video slice level in response to It is specified that a syntax element indicating whether or not the slice header is a In this embodiment, the specific condition includes whether the value is equal to an integer.
[0160] FIG. 15 is a flow chart of an example method 1500 for video processing. Operation 1502 includes: A video containing one or more pictures containing the above slices, and the bitstream of this video The transformation includes performing the following transformations: (1) a deblocking filter; (1) The video is enabled at the picture level or slice level of the video; and (2) the The zero-value deblocking parameter offset of tC is used as the deblocking filter Used for parameters.
[0161] In some embodiments of the method 1500, the rule is a picture parameter set However, the default parameters of the deblocking filter are 0 values of beta and tC. Either the locking parameter offset or the user-defined beta and tC offsets The method 1500 includes one or more syntax elements that indicate whether the method 1500 is associated with a In some embodiments of the present invention, a picture parameter set is a set of one or more syntax elements. The default parameters for the blocking filter are user-defined beta and tC options. In response to one or more syntax elements indicating that the offset is associated with a user-defined offset, In some embodiments of the method 1500, the deviation Locking filter parameters and deblocking filter default parameters can be selectively overridden at the video picture level or video slice level. In some embodiments of the method 1500, the rules are applied at the video unit level of the video. However, zero-value deblocking parameter offsets for beta and tC are used. , or one or more syntaxes indicating whether user-defined beta and tC offsets are to be used. In some embodiments of the method 1500, a video unit The level is where one or more syntax elements use user-defined beta and tC offsets. , including user-defined beta and tC offsets. In some embodiments of .00, the video unit level is A picture parameter set, a picture header, or a slice header.
[0162] 16 is a flow chart of an example method 1600 for video processing. Operation 1602 processes video. For the conversion between this video block and the video bitstream, Operation 1604 includes determining the size of the predicted block corresponding to the block. The method includes: performing a transformation based on a rule; and the rule is that the first size of the prediction block is Prediction refinement using physical flow techniques is used to code video blocks. determining whether the image block has a second size and Coding using affine merge mode or affine advanced motion vector prediction mode will be done.
[0163] In some embodiments of the method 1600, the first width of the first size of the prediction block and the first height is denoted by (M+M0) and (N+N0), respectively, and the image block The second width and second height of the second size of the lock are indicated by M and N, respectively. In some embodiments of method 1600, M0 is greater than or equal to 0 and N0 is greater than or equal to 0. In some embodiments of the method 1600, M0 and N0 are not both equal to 0. In some embodiments of the method 1600, M0 and N0 are equal to 2. A flag indicating whether prediction refinement using optical flow techniques is utilized is Whether the first size of the block includes extension samples and / or the size of the predicted block Controls how many extension samples are included in the first size. In this embodiment, the first size of the prediction block is based on the number of extension samples, and The number of samples is the number of samples that the first video block is coded using affine merge mode. or coded from an affine advanced motion vector prediction mode In some embodiments of the method 1600, the predicted block The first width and the first height of the first size are (M+X) and (N+Y), respectively. The second width and second height of the second size of the image block are denoted by M and N, respectively. where X is the number of expansion samples for a given width, and Y is the number of expansion samples for a given height. In some embodiments of method 1600, X and Y are equal to 0. In some embodiments of the method 1600, X and Y are equal to 2.
[0164] In some embodiments of the method 1600, the value of the flag is set to the optical flow technique In response to showing that we utilize forecast refinement using In some embodiments of the method 1600, the value of the flag is equal to 1. In some embodiments of the present invention, the first size of the prediction block is determined based on the optical flow Boundary extension size based on the value of a flag indicating whether prediction refinement using techniques is utilized. The boundary extension size is based on the size of the image block, and the boundary extension size is calculated by increasing the second size of the image block. The number of extension samples to obtain the first size of the measurement block is shown. In some embodiments, the number of extension samples is 0. In some embodiments, the number of extension samples is 2. The prediction refinement using optical flow techniques is based on sub-blocks of the video block. This involves fine-tuning the affine motion compensation prediction, followed by the optical flow equation. The luminance prediction samples of the video block are fine-tuned by adding the difference thus derived. In some embodiments of the method 1600, the affine merge mode The motion information of the coding units in the spatial neighborhood of the current coding unit is used. affine merge candidates from the sub-block merge candidate list to be used for the merging unit and including in the bitstream an index indicating the current Some of the methods 1600 include generating control point motion vectors for the coding unit. In some embodiments, the affine advanced motion vector prediction mode is (1) whether an affine advanced motion vector prediction mode is used; (2) a coding unit-level affine flag for a video block, indicating whether the A second flag indicating whether a 6-parameter affine or a 6-parameter affine is used, (3) coding unit level control point motion vector predictor index, and ( 4) The control point motion vector of the current coding unit of the video block and the control point motion vector The difference between the predictor control point motion vector corresponding to the vector.
[0165] FIG. 17 is a flow chart of an example method 1700 for video processing. Operation 1702 includes: A video including one or more pictures having the above slices and a bitstream of this video The rule includes performing a conversion of the first syntax element at the picture level or the slice level. the first syntax element specifies that the picture level is to be displayed at a video level higher than the picture level, It is specified to indicate whether the level or the slice level includes a quantization parameter delta. Determine.
[0166] In some embodiments of the method 1700, the video level is The first syntax element is the picture parameter set level or the picture parameter set level. Level or slice level is the luma quantization parameter delta or chroma quantization parameter In some embodiments of method 1700, the inclusion of deltas is enabled. This rule applies when the luma quantization parameter delta is included in the picture header and / or slide. The presence of this luma quantization parameter delta depends on whether it is included in the data header. In some embodiments of the method 1700, the first syntax element indicates whether the first syntax element is a In this case, the rule is that the first syntax element specifies that the luma quantization parameter delta is at the picture level. or slice level, the luminance quantization parameter data This specifies that filters are not allowed to be included in picture headers and slice headers. In some embodiments of the method 1700, the rule is that the first syntax element is a luminance quantizer. In response to indicating that the encoding parameter delta is not at the picture level or slice level, and including the luma quantization parameter delta in the picture header or slice header. In some embodiments of the method 1700, this rule If the luma quantization parameter delta is not present in the picture header, It is assumed that the delta has a constant value. In an embodiment, this rule is that if the luma quantization parameter delta is not present in the slice header, In response to this, it is specified that the luminance quantization parameter delta is assumed to be a constant value. In some embodiments of the method 1700, the rule is that the first syntax element is The quantization parameter delta is included in the picture header or in the slice header. It specifies that the picture parameter set should include a flag that specifies whether the In some embodiments of the method 1700, the rule is that the first syntax element is The luma quantization parameter delta is not present at the picture level or slice level. In response to this indication, it is specified that this flag be excluded from the picture parameter set. In some embodiments of the method 1700, this rule is that the flag is Infer that this flag has a constant value in response to its absence in the dataset. This stipulates:
[0167] FIG. 18 is a flow chart of an example method 1800 for video processing. Operation 1802 includes: A video containing one or more pictures containing the above slices and the bitstream of this video a first rule for performing a conversion, the first rule being that a first flag of a first video level corresponds to one or more chromaticities; It is specified to indicate whether a first video level includes a quantization parameter offset. , the first video level is higher than the slice level, and the second rule is The second flag specifies one or more chroma quantization parameter offsets in the picture header or stream. The second video level is specified as the picture level. Higher than the standard.
[0168] In some embodiments of the method 1800, the second rule is A second flag in the frame indicates that one or more chroma quantization parameter offsets are included in the picture header. This specifies that the data is included in the slice header or the data in the slice header. In some embodiments of 1800, the second rule is that the second flag is In response to indicating that the quantization parameter offset is included in the picture header, This specifies that one or more chroma quantization parameter offsets may be excluded from the slice header. In some embodiments of the method 1800, the second rule is that the second flag: Indicates that one or more chroma quantization parameter offsets are to be excluded from the picture header Correspondingly, one or more chroma quantization parameter offsets may be selectively added to the slice header. In some embodiments of the method 1800, the picture header One or more chroma quantization parameter offsets for the da are In response to excluding the data offset from the picture header, In some embodiments of the method 1800, one or more Chroma quantization parameter offsets are used to slide one or more chroma quantization parameter offsets. It is assumed to be a constant value corresponding to the exclusion from the device header. In some embodiments, the second rule is that the second flag indicates the amount of brightness in the picture header. Further information on whether the child parameter delta is included or included in the slice header is available. It is stipulated that:
[0169] In some embodiments of the method 1800, the second rule is If the second flag in the bit and / or picture parameter set specifies one or more saturation The quantization parameter offset is included in the picture header and / or slice In some embodiments of the method 1800, the header indicates whether the The second rule is that the second flag indicates that one or more chroma quantization parameter offsets are In response to indicating absence at the architecture level and slice level, one or more It is recommended to include the chroma quantization parameter offset in the picture header and slice header. In some embodiments of the method 1800, the second rule specifies that The second flag controls whether the picture parameter set includes another flag. and another flag specifies one or more chroma quantization parameter offsets for the picture. In some embodiments of the method 1800, the method 1800 may include a slice level or a slice level. In the above, the second rule is that the second flag specifies one or more chroma quantization parameter offsets. In response to indicating exclusion from the picture header or slice header, The parameter set specifies the exclusion of another flag. In an embodiment, the second rule is that no other flags are present in the picture parameter set. In response to the flag, another flag is assumed to have a certain value. In some embodiments, the second rule is a ratio of the quantization parameter delta and the chroma quantization parameter The parameter offset is included in the same header. In this embodiment, the second rule is to include the quantization parameter delta in the picture header. Correspondingly, one or more chroma quantization parameter offsets may be included in the slice header. In some embodiments of the method 1800, the second rule specifies that The rule is to include one or more chroma quantization parameters in the slice header in response to including a quantization parameter delta. Specifies that quantization parameter offsets are not allowed to be included in picture headers .
[0170] 19 is a flow chart of an example method 1900A for video processing. Operation 1902A includes: A video containing one or more pictures with one or more slices and a bitstream of this video The bitstream includes converting between the coding block subdivision values and the The coding block subdivision value has a regular range. .
[0171] In some embodiments of method 1900A, this rule is cu_qp_delta Intraline signaling _abs and cu_qp_delta_sign_flag The range of coding block subdivision values of the coding units in the The maximum number of coding units resulting from multitype tree partitioning of a file into slices is It specifies that it is not dependent on the second syntax element in the bitstream that specifies the layer depth. In some embodiments of method 1900A, the rule is that the range is 0 to 2*( CtbLog2SizeY-MinQtLog2SizeIntraY)+2*(Ctb Log2SizeY - MinCbLog2SizeY). Method 19 In some embodiments of 00A, this rule specifies that the range is 0 to 2*(CtbLog 2SizeY-MinQtLog2SizeIntraY)+2*min(ph_max _mtt_hierarchy_depth_intra_slice_luma,Ct bLog2SizeY-MinCbLog2SizeY), and ph_max_mtt _hierarchy_depth_intra_slice_luma is the second syntax Specifies that it is an element.
[0172] In some embodiments of method 1900A, the rule is cu_chroma_q Coding units in intra slices that convey p_offset_flag The range of coding block subdivision values is multi-type tree with quadtree leaves as slices. - A bitstream that specifies the maximum hierarchical depth of the coding unit resulting from the division It specifies that the second syntax element in the frame is not dependent on the second syntax element in the frame. In an embodiment, this rule specifies that this range is 0 to 2*(CtbLog2SizeY-Mi nQtLog2SizeIntraY)+2*(CtbLog2SizeY-MinCb Log2SizeY). In some embodiments of method 1900A, This rule applies to the range 0 to 2*(CtbLog2SizeY-MinQtLog2S izeIntraY)+2*min(ph_max_mtt_hierarchy_de pth_intra_slice_luma,CtbLog2SizeY-MinCbL og2SizeY) and ph_max_mtt_hierarchy_depth_ The intra_slice_luma is specified as the second syntax element. In some embodiments of 00A, this rule applies to cu_qp_delta_abs and and cu_qp_delta_sign_flag are transmitted in intra-slice. The range of coding block subdivision values for a coding unit is determined by the quadtree leaf. The maximum hierarchical depth of a coding unit resulting from multitype tree division into It specifies that the second syntax element in the specified bitstream is not dependent on it. In some embodiments of 900A, the rule is that this range is 0 to 2*(CtbLo g2SizeY-MinQtLog2SizeInterY)+2*(CtbLog2S SizeY - MinCbLog2SizeY). In some embodiments, this rule is set to a value in the range 0 to 2*(CtbLog2Size Y-MinQtLog2SizeIntraY)+2*min(ph_max_mtt_ hierarchy_depth_inter_slice,CtbLog2SizeY -MinCbLog2SizeY) and ph_max_mtt_hierarchy Specifies that _depth_inter_slice is the second syntax element.
[0173] In some embodiments of method 1900A, the rule is cu_chroma_q Coding units that transmit p_offset_flag in inter-slice The range of coding block subdivision values is determined by dividing the quadtree leaves into slices and multi-trees. - A bitstream that specifies the maximum hierarchical depth of the coding unit resulting from the division It specifies that the second syntax element in the frame is not dependent on the second syntax element in the frame. In an embodiment, this rule specifies that this range is 0 to 2*(CtbLog2SizeY-Mi nQtLog2SizeInterY)+2*(CtbLog2SizeY-MinCb Log2SizeY). In some embodiments of method 1900A, This rule specifies that the range is 0 to 2*(CtbLog2SizeY-MinQtLog 2SizeIntraY)+2*min(ph_max_mtt_hierarchy_ depth_inter_slice,CtbLog2SizeY-MinCbLog2 SizeY), ph_max_mtt_hierarchy_depth_int Specifies that er_slice is the second syntax element.
[0174] In some embodiments of the methods 700-1900A, performing the conversion involves converting the image Some implementations of methods 700-1900A include encoding the In some embodiments, performing the conversion includes generating a bitstream from the video. The method further includes storing the bitstream on a non-transitory computer-readable recording medium. In some embodiments of methods 700-1900A, performing the conversion In some embodiments, decoding the video includes decoding the video from the bitstream. The image decoding device includes a processing unit configured to implement the operations of methods 700-1900A. In some embodiments, a video encoding device performs the operations of methods 700-1900A. In some embodiments, the computer includes a processor configured to implement the The computer program product having instructions stored thereon may be executed by a processing device to , causing a processing device to implement the operations of methods 700-1900A. , non-temporary storage of bitstreams generated according to the operations of methods 700-1900A; In some embodiments, the method 700- A non-transitory computer-readable storage medium storing instructions that cause the operations of 1900A to be implemented. In some embodiments, the image bits are generated according to the operations of method(s) 700-1900A. generating a bitstream and storing the bitstream on a computer-readable program medium; In some embodiments, the present invention provides a method for generating a bitstream, the method comprising the steps of: The method, apparatus, generated bitstream according to the method or system disclosed in the document to provide.
[0175] As used herein, the term "video processing" refers to video encoding, video decoding, video compression, or For example, a video compression algorithm may convert a pixel representation of a video into a corresponding It may be applied during conversion to a bitstream representation or vice versa. The bitstream representation of a block may be, for example, a bitstream representation of a block, as specified by the syntax. These may correspond to bits that are spread at the same or different locations in the stream. For example, a macroblock is a block of data in terms of transformed and coded error residual values, and using bits in the header and other fields in the bitstream Furthermore, during the conversion, the decoder may with the knowledge that some fields may or may not be present based on the configuration. Similarly, an encoder may parse the bitstream using a particular syntax field. Determines whether the syntax field should be included or not. to be included in or excluded from coded representations may generate a coded representation accordingly.
[0176] The disclosed and other solutions, examples, embodiments, modules, The implementation of the rules and functional operations is within the scope of the structures disclosed herein and their structural equivalents. any digital electronic circuit, including computer software, firmware, or may be implemented in hardware, or in a combination of one or more thereof. The disclosed and other embodiments may include one or more computer programs. a product, i.e., a data processing apparatus to be implemented by, or the operation of, a data processing apparatus computer program instructions encoded on a computer-readable medium for controlling The computer-readable medium may be implemented as one or more modules of , machine-readable storage devices, machine-readable storage substrates, memory devices, machine-readable propagating signals The data may be a composition of matter, or a combination of one or more of these. The term "processing device" refers to, for example, a programmable processor, a computer, or a any device for processing data, including a number of processors or computers, This includes hardware, devices, and machines. The code that creates the execution environment for the program, e.g., processor firmware, protocol stack network, database management system, operating system, or one or more of these A propagated signal may contain a code consisting of a combination of numbers. A signal, for example, a machine-generated electrical, optical, or electromagnetic signal, transmitted to a suitable receiving device. It is generated to encode information for
[0177] Computer programs (programs, software, software applications) , script, or code) is a language that is written in a compiled or interpreted It can be written in any form of programming language, including standard Modules suitable for use as standalone programs or in any computing environment Developed in any form, including as a module, component, subroutine, or other unit. A computer program does not necessarily have to be a file in a file system. It does not necessarily correspond to a file. A program may contain other programs or data. Part of a file (e.g., one or more scripts stored in a markup language document) ) or in a single file dedicated to that program. or multiple coordination files (e.g., one or more modules, subprograms, or The computer program may be stored in a file (or a file containing part of the code). The system can be managed by a single computer located at one site or distributed across multiple sites. Deploy it to run on multiple computers interconnected by a network It is also possible.
[0178] The processes and logic flows described herein operate on input data and produce output. Execute one or more computer programs to perform functions by creating The processing and logging can be performed by one or more programmable processors. Gicflow also develops application-specific logic circuits, such as FPGAs (Field Programmable Gate Arrays). grammable gate array) or ASIC (Application Specific Integrated Circuit This can be done by a Specific Integrated Circuit ,An apparatus may also be implemented as special purpose logic circuitry.
[0179] Processors suitable for executing computer programs include, for example, general purpose and special purpose microprocessors. both the processor and any one or more Typically, a processor is a programmable logic device that accesses read-only memory or random access memory. It receives instructions and data from internal memory or both. The element comprises a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer uses one or more memory devices to store data. or multiple mass storage devices, e.g., magnetic, magneto-optical, or optical disks may include or receive data from these mass storage devices However, the computer may be operatively coupled to transfer data to the It is not necessary for a computer to have such a device. Suitable computer readable media for storing the present invention include any type of non-volatile memory, media, and memory devices, such as EPROM, EEPROM, flash storage , magnetic disks, such as internal hard disks or removable disks, magneto-optical disks This includes semiconductor storage devices such as DVD-ROM and CD-ROM disks. The processor and memory may be supplemented by special purpose logic circuitry, or may be It may be incorporated into the logic circuitry of the application.
[0180] This patent specification contains many details, which may not be sufficient to encompass the scope of any subject matter or the scope of any claim. The present invention should not be construed as limiting the scope of the present invention, but rather as being specific to particular embodiments of particular technologies. The description of the features that may be present in the present patent document should be interpreted as a description of the features that may be present in the present patent document. Certain features described in the context may be implemented in combination in a single example. Conversely, various features that are described in the context of one example may be used in multiple embodiments. Further, the features may be implemented separately or in any suitable subcombination. The compounds described above as acting in specific combinations and originally claimed as such However, one or more features from a claimed combination may, in some cases, be combined. The claimed combination may be extracted from the combination, and the claimed combination may be a subcombination or may be directed to subcombination variations.
[0181] Similarly, although operations may be shown in a particular order in the figures, this is not to be construed as a guarantee that a desired result will be achieved. that such actions be performed in the particular order or sequence shown, in order to It should not be understood as requiring that all actions be performed. Also, the separation of the various system components in the examples described in this patent specification It should not be understood that all embodiments require such separation.
[0182] Only some implementations and examples are described and illustrated in this patent document. Other embodiments, extensions, and variations are possible based on the content provided.
Claims
1. 1. A method for processing video data, comprising: converting between a video comprising a picture having one or more slices and a bitstream of said video; The transformation complies with a first rule specifying that whether a deblocking filter is applied to a current slice that references a picture parameter set (PPS) is based at least on a first syntax element included in a picture header (PH) associated with the current slice; the first syntax element indicates whether the deblocking filter is disabled for the picture. method.
2. The first rule determines whether the deblocking filter is applied to the one or more slices that reference the picture parameter set based on at least: a second syntax element in the PPS indicating whether the deblocking filter is disabled; or a third syntax element at the slice level indicating whether the deblocking filter is disabled; and further providing that the method is based on at least one of: The method of claim 1.
3. The first rule determines whether the deblocking filter is applied to the one or more slices that reference the picture parameter set based on at least: a fourth syntax element in a slice header (SH) indicating that the deblocking filter information override is enabled at the slice level; or a fifth syntax element in the PH indicating whether the override of the deblocking filter information is enabled at a picture level; and further providing that the method is based on at least one of: The method of claim 1.
4. The first syntax element, the second syntax element, and the third syntax element each having a value equal to 1 indicate that the deblocking filter is disabled at the picture level, the PPS level, and the slice level, respectively. The method of claim 2.
5. If the values of the second syntax element and the third syntax element are equal to 1, the deblocking filter is disabled for the current slice. The method of claim 4.
6. The first rule further specifies that the presence of a third syntax element in a slice header (SH) and / or the first syntax element in the PH is based on a value of a second syntax element in the PPS. The method of claim 1.
7. the first rule further specifies that if the second syntax element indicates that the deblocking filter is enabled for the picture, then the deblocking filter is disabled for the current slice. The method of claim 6.
8. the first rule further specifies that the deblocking filter is enabled for some slices and disabled for other slices among a plurality of slices in the picture. The method of claim 7.
9. determining a size of a prediction block corresponding to a current video block of the video according to a second rule for the transformation; performing the conversion based on the determination; an affine merge mode is enabled for the current video block; The second rule is that the first size of the prediction block is determining in response to whether prediction refinement using optical flow techniques is enabled for the current video block; and the current video block having a second size. The method of claim 1.
10. a first width and a first height of the first size of the prediction block are denoted by (M+M0) and (N+N0), respectively; a second width and a second height of the second size of the current video block denoted by M and N, respectively; M, M0, N, and N0 are integers equal to or greater than 0; 10. The method of claim 9.
11. If the prediction refinement using optical flow techniques is enabled for the current video block, at least one of M0 and N0 is not equal to 0. The method of claim 10.
12. M0 and N0 are both equal to 2, The method of claim 11.
13. A prediction refinement usefulness flag is used to indicate whether or not to utilize the prediction refinement using optical flow techniques, and the prediction refinement usefulness flag controls the values of M0 and N0. The method of claim 10.
14. The values of M0 and N0 are determined independently of the affine flag. The method of claim 13.
15. The affine flag is an inter_affine_flag used to indicate whether to apply an affine motion vector prediction mode.
15. The method of claim 14.
16. For a video block to which the affine motion vector prediction mode is applied, a size of a prediction block of the video block is equal to the first size.
16. The method of claim 15.
17. The prediction samples of the prediction block are present as predSamplesLX[xL][yL], xL ranges from 0 to M+1, yL ranges from 0 to N+1, the predicted samples predSamplesLX[xL][yL] are derived by invoking a luma integer sample fetching process when one or more of the following conditions are true: xL is equal to 0, xL is equal to M+1, yL is equal to 0, and yL is equal to N+1; and the predicted samples predSamplesLX[xL][yL] are derived by invoking a luma sample 8-tap interpolation filtering process when all conditions are false. The method of claim 12.
18. the affine merge mode includes generating a control point motion vector by using a merge index to select an affine merge candidate from a sub-block merge candidate list constructed based on motion information of spatially neighboring coding units; 10. The method of claim 9.
19. performing the conversion includes encoding the video into the bitstream; 19. The method of any one of claims 1 to 18.
20. performing the conversion includes decoding the video from the bitstream; 19. The method of any one of claims 1 to 18.
21. 1. An apparatus for processing video data, comprising a processor and a non-transitory memory comprising instructions, The instructions, when executed by the processor, cause the processor to: converting between a video comprising a picture having one or more slices and a bitstream of said video; The transformation complies with a first rule specifying that whether a deblocking filter is applied to a current slice that references a picture parameter set (PPS) is based at least on a first syntax element included in a picture header (PH) associated with the current slice; the first syntax element indicates whether the deblocking filter is disabled for the picture. Device.
22. A non-transitory computer-readable storage medium storing instructions, comprising: The instructions may cause a processor to: converting between a video comprising a picture having one or more slices and a bitstream of said video; The transformation complies with a first rule specifying that whether a deblocking filter is applied to a current slice that references a picture parameter set (PPS) is based at least on a first syntax element included in a picture header (PH) associated with the current slice; the first syntax element indicates whether the deblocking filter is disabled for the picture. A non-transitory computer-readable storage medium.
23. 1. A method for storing a video bitstream, comprising: converting between a video comprising a picture having one or more slices and a bitstream of said video; storing the bitstream on a non-transitory computer-readable storage medium; The transformation complies with a first rule specifying that whether a deblocking filter is applied to a current slice that references a picture parameter set (PPS) is based at least on a first syntax element included in a picture header (PH) associated with the current slice; the first syntax element indicates whether the deblocking filter is disabled for the picture. method.
Citation Information
Patent Citations
JPP7575475B