Slice Types in Video Coding

By adjusting the slice_type constraints in video encoding technology, clarifying the meaning of ph_alf_enabled_flag, optimizing the transmission of image-compatible window parameters and limiting the number of repetitions of NAL units, the problems of unclear constraints, redundant information transmission and repetition restrictions in the existing technology are solved, and more efficient and flexible video encoding is achieved.

JP7648809B2Active Publication Date: 2025-03-18BYTEDANCE INC

Patent Information

Application Number
JP2024000249
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-03-30
Filing Date
2024-01-04
Publication Date
2025-03-18
Estimated Expiration
2041-03-29

AI Technical Summary

Technical Problem

There are problems in existing video encoding technologies such as unclear slice_type constraints, blurred meaning of ph_alf_enabled_flag, redundant image-compatible window parameters, and restriction of SEI message duplication.

Method used

By adjusting the constraints of slice_type, clarify the meaning of ph_alf_enabled_flag, optimize the transmission of image-compatible window parameters, and limit the number of repetitions of VPS, SPS, PPS, APS and DCI NAL units.

Benefits of technology

It improves the flexibility and efficiency of video encoding, reduces the transmission of redundant information, and enhances the controllability and robustness of the encoding process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007648809000013
    Figure 0007648809000013
  • Figure 0007648809000014
    Figure 0007648809000014
  • Figure 0007648809000015
    Figure 0007648809000015
Patent Text Reader

Abstract

To provide a method and a device for image and video processing.SOLUTION: A video processing method including video encoding, video decoding or video coding conversion includes performing conversion between a video containing one or more slices and a coded representation of the video, and the coded representation conforms to formatting rules that specify that conditions of fields in this coded representation control slice type constraints or whether this slice type is included in this coded representation of video slices. The fields include a general constraint flag, a network abstraction layer unit type or whether this video slice is included in the first video picture of an access unit.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS Books This application claims priority to and the benefit of U.S. Provisional Patent Application No. 63 / 002064, filed March 30, 2020. This is a divisional application of Japanese Patent Application No. 2022-559413, filed on September 28, 2022, based on International Patent Application No. PCT / US2021 / 024663, filed on March 29, 2021. . As mentioned above The entire disclosure of the application is incorporated by reference as part of the disclosure of this specification.

[0002] This patent document relates to image and video processing. [Background technology]

[0003] Digital video is the largest form of communication on the Internet and other digital communications networks. It occupies bandwidth usage. It is the number of connected users that 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] The present application relates to a method for coding a video representation using control information useful for decoding the coded representation. It can be used by video encoders and decoders to process the encoded representation. Disclose the technology.

[0005] In one exemplary embodiment, a method for image processing is disclosed. The method includes: Converting between a video that contains one or more pictures with a slice and the bitstream of this video This bitstream complies with the format rules and The matte rule is that the slice type of one or more of these slices is equal to or greater than this bit. Whether or how it is shown in the live stream depends on the conditions. The conditions can be based on general constraint flags, network abstraction layer unit types, or this It specifies that the selection is based on whether the rice is in the first picture of the access unit. .

[0006] In another exemplary aspect, a method for image processing is disclosed, the method comprising: This includes converting between a video containing a picture containing This bitstream is the same as the flag in the picture header for all frames in this picture. A function that specifies the applicability of adaptive loop filtering for all slices. -Complies with mat rules.

[0007] In another exemplary embodiment, a method for image processing is disclosed. Between a video containing one or more pictures including the This includes converting the image based on the format rules, which are related to the image. Specifies the repetition time for the associated parameter set.

[0008] In another exemplary aspect, a method for processing video is disclosed. The bitstream of this video must conform to the format rules. This format rule includes converting the picture width to the the maximum allowable picture width of this picture and the height of this picture is the maximum allowable pixels within this video unit. The picture parameter set corresponding to this picture is equal to the picture height. This specifies that the compatibility window flags in

[0009] In another exemplary embodiment, a method for image processing is disclosed. Between a video containing one or more pictures including a video element and a coded representation of this video. This coded representation includes performing a transformation in The conditions on the fields in the Specifies whether the slice type is included in the coded representation of this video slice. This field conforms to the formatting rules specified in the Image layer unit type, or this image slice is the first image pixel of an access unit. Includes whether it is included in the cloud.

[0010] In another exemplary embodiment, another image processing method is disclosed. The method comprises: A video containing one or more pictures each containing a slice, and a coded representation of this video. and the coded representation includes converting between a picture of a video picture and a picture of a video image. Based on the value of the flag in the header, the adaptive rule for all slices in the video picture is Conform to formatting rules that stipulate that group filtering is disabled.

[0011] In another exemplary embodiment, another image processing method is disclosed. The method comprises: A video containing one or more pictures each containing a slice, and a coded representation of this video. This coded representation includes converting between the current picture height and If the maximum height and width of the image are equal to the maximum width and height of the image, the compatibility window flag is set to invalid mode. The IEEE 802.11n standard follows formatting rules that stipulate that the

[0012] In another exemplary embodiment, another image processing method is disclosed. The method comprises: A video containing one or more pictures each containing a slice, and a coded representation of this video. This coded representation includes converting between the iterations of the parameter set. Conforms to formatting rules that dictate return times.

[0013] In yet another exemplary aspect, a video encoder apparatus is disclosed. The reader comprises a processor configured to implement the above-mentioned methods.

[0014] In yet another exemplary aspect, a video decoder apparatus is disclosed. comprises a processor configured to implement the above-mentioned method.

[0015] In yet another exemplary aspect, a computer readable medium having code stored thereon is disclosed. The code may be in the form of processor-executable code for performing one of the methods described herein. implement.

[0016] These and other features are described throughout the specification. [Brief description of the drawings]

[0017] [Figure 1] FIG. 1 is a block diagram illustrating an example of a video processing system. [Diagram 2] FIG. 2 is a block diagram of the video processing device. [Diagram 3] FIG. 3 is a flowchart showing an example of a video processing method. [Figure 4] FIG. 4 is a block diagram illustrating a video coding system according to some embodiments of this disclosure. [Diagram 5] FIG. 5 is a block diagram illustrating an encoder according to some embodiments of the present invention. [Figure 6] FIG. 6 is a block diagram illustrating a decoder according to some embodiments of the present invention. [Figure 7] FIG. 7 shows examples of adaptive loop filter (ALF) shapes (chroma: 5×5 diamond, luminance: 7×7 diamond). [Figure 8] FIG. 8 shows examples of ALF and CC-ALF diagrams. [Figure 9] FIG. 9 is a flow chart illustrating an example of a video processing method. [Figure 10] FIG. 10 is a flow chart illustrating an example of a method for video processing. [Figure 11] FIG. 11 is a flow chart illustrating an example of a video processing method. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018] This specification uses section headings for ease of understanding, and the technology and The applicability of an embodiment described in a section is not limited to that section alone. The term .266 is used in some descriptions for ease of understanding only and is not intended to be used in disclosure. Thus, the present disclosure is not intended to limit the scope of the technology disclosed herein. The techniques disclosed are also applicable to other video codec protocols and designs.

[0019] 1. Introduction This specification relates to video coding technology. In particular, slice types, ALF, and compatibility window signaling, as well as VPS, SPS, PPS, APS, and D Improved repetition of some non-VCL NAL units, including CI NAL units. This idea, individually or in various combinations, is For example, the currently developed VVC (Versatile Video Coding) g) applies to any video coding standard or non-standard video codec that supports This is also fine. 2. Abbreviations ALF Adaptive Loop Filter APS Adaptation Parameter Set to) AU Access Unit AUD Access Unit Delimiter -) AVC Advanced Video Coding CLVS Coded Layer Video Sequence Layered Video Sequence CPB Coded Picture Buffer buffer) CRA Clean Random Access CTU Coding Tree Unit CVS Coded Video Sequence Cans) DCI Decoding Capability Information ability information) DPB Decoded Picture Buffer FF DU Decoding Unit EOB End Of Bitstream EOS End Of Sequence GDR Gradual Decoding Refresh Shu) HEVC High Efficiency Video Coding coding) HRD Hypothetical Reference Decoder Decoder) IDR Instantaneous Decoding Refresh No. Refresh) JEM Joint Exploration Model LMCS Luma Mapping with Chroma Scaling (luminance mapping with degree scaling) MCTS Motion-Constrained Tile Sets Ilset) NAL Network Abstraction Layer layer) OLS Output Layer Set PH Picture Header PPS Picture Parameter Set ) PTL Profile, Tier and Level and level) PU Picture Unit RADL Random Access Decodable Leading(Pi cture)(Random Access Decodable Read)(Picture) RAP Random Access Point RASL Random Access Skipped Leading(Pict ure)(Random Access Skip Read)(Picture) RBSP Raw Byte Sequence Payload Space Payload) RPL Reference Picture List SAO Sample Adaptive Offset ) SEI Supplemental Enhancement Information on (supplementary reinforcement information) SPS Sequence Parameter Set ( STSA Step-wise Temporal Sublayer Access (Stepwise time sublayer access) SVC Scalable Video Coding ng) VCL Video Coding Layer VPS Video Parameter Set VTM VVC Test Model VUI Video Usability Information (security information) VVC Versatile Video Coding

[0020] 3. Initial consultations Video coding conventions are primarily driven by the development of well-known ITU-T and ISO / IEC standards. ITU-T created H.261 and H.263, and ISO / IEC created MP EG-1 and MPEG-4 Visual were created, and the two organizations are working on H.262 / MPEG-2 V ideo and H.264 / MPEG-4 AVC (Advanced Video Cod) ing) and co-created the H.265 / HEVC[1] standard. The coding standard is a hybrid video coding standard in which temporal prediction and transform coding are used. To explore future video coding technologies beyond HEVC, In 1995, VCEG and MPEG jointly established JVET (Joint Video Exploration and Technology Exploration). Since then, many new methods have been developed by JVET. This was adopted and called JEM (Joint Exploration Mode)[2]. The JVET meets quarterly to develop new codes. The standard aims to reduce the bit rate by 50% compared to HEVC. At the JVET meeting in May, a new video coding standard was announced as "VVC (Versatile Video Coding)". At that time, the first version of the VVC test model was officially named "VVC 1.0 Video Coding". Efforts to contribute to the standardization of VVC are ongoing, so At every JVET conference, new coding techniques are being adopted in the VVC standard. After each meeting, the VVC Working Draft and the Test Model VTM are updated. The project is currently aiming for technical completion (FDIS) at the July 2020 meeting.

[0021] 3.1. Parameter Set AVC, HEVC, and VVC specify parameter sets. Parameter set types are SPS, PPS, APS, VPS, etc. SPS and PPS are AVC, HEVC, Supported by all of VVC. VPS was introduced from HEVC, Included in both HEVC and VVC. APS is not included in AVC or HEVC. It has not been included in the text of the recent VVC draft.

[0022] SPS is designed to carry sequence-level header information, while PPS is designed to carry SPS and P With PS, there is no need to repeat information that changes frequently for each sequence or picture. Since there is no need to use SPS and PPS, redundant signaling of this information can be avoided. Using PS enables out-of-band transmission of important header information, thereby eliminating redundant Not only does it avoid the need for transmission, but it also improves error resilience.

[0023] The VPS is a sequence that is common to all layers of a multi-layer bitstream. This was introduced to carry service-level header information.

[0024] APS requires a significant number of bits to code and is shared by multiple pictures. Such picture-level or slice-level information may be carried in the And there can be many different variations in the sequence.

[0025] 3.2. Slice and Picture Headers in VVC Similar to HEVC, the slice header in VVC stores information about a particular slice. This conveys slice address, slice type, slice QP, picture order, Picture Order Count Least Significant Bit identificant bits (LSBs), RPS and RPL information, weighted prediction parameters meters, loop filtering parameters, tile and WPP entry offsets, etc. Includes:

[0026] In VVC, the Picture Header (PH) contains the header parameters for a particular picture. Each picture must have one PH or one and only one PH. Basically, each of these is the same as if PH had not been introduced, since all the segments of one picture would have been It has the same values ​​for the slice, but conveys the parameters that would have been in the slice header These are the IRAP / GDR picture indication, the inter / intra slice enable flag, POC LSB and optional POC MSB, RPL, Deblocking, S AO, ALF, QP delta, and weighted prediction, coding block partition information, virtual Contains information about boundaries, co-located picture information, etc. throughout the sequence of pictures Each picture often contains only one slice. In such cases, a small number of slices are In order to allow for a frame containing at least two NAL units, the PH syntax structure is It can be included in either the NAL unit or slice header.

[0027] In VVC, the information of the co-located picture used for temporal motion vector prediction is It is signaled either in the construct header or in the slice header.

[0028] 3.3 Changing picture resolution in a sequence In AVC and HEVC, the spatial resolution of a picture uses the new SPS. It cannot be changed unless the new sequence begins with an IRAP picture. C always encodes an intra-coded IRAP picture at a certain position without coding the IRAP picture. It allows changing the resolution of pictures within a sequence. This feature is Used for inter prediction if the pixel has a different resolution than the current picture being decoded. Since it is necessary to resample the reference picture to be used, This is called the RPR Ring.

[0029] The scaling ratio is 1 / 2 (downsampling from reference picture to current picture). The difference between the reference picture and the current Three different frequency cutoffs are used to accommodate various scaling ratios between pictures. The three sets of resampling filters are The ranges are 1 / 2 to 1 / 1.75, 1 / 1.75 to 1 / 1.25, and 1 / 1.25 to 8. Each set of resampling filters is applied to a range of scaling ratios. As in the filter case, it has 16 phases for luminance and 32 phases for chroma. In practice, the usual MC interpolation process uses scaling ratios ranging from 1 / 1.25 to 8. The horizontal and vertical scaling ratios are , the picture width and height, as well as the reference and current picture The left, right, top and bottom scaling offsets are derived based on the

[0030] Other aspects of the VVC design to support this feature that differ from HEVC are: i) S Signaling picture resolution and corresponding compatibility window in PPS instead of PS ii) signaling the maximum picture resolution in the SPS; For bitstreams, each picture store (having one picture store for storing one decoded picture) One slot in the DPB) stores the decoded picture with the maximum picture resolution. This includes allocating the buffer size necessary to

[0031] 3.4 Adaptive Loop Filter (ALF) Two diamond filter shapes (shown in FIG. 7) are used in the block-based ALF. A 7x7 diamond is applied to the luma component, and a 5x5 diamond is applied to the chroma component. Based on the local gradient direction and activity, up to 25 filters are applied to each 4x4 block. Each 4x4 block in the picture is assigned a direction and an activity Before filtering each 4x4 block, Simple geometric operations such as rotations or diagonal and vertical flips based on the gradient values ​​calculated using the It is possible to apply dynamic transformations to the filter coefficients. This is done by The idea is to apply ALF to samples in the different blocks. The idea is to make the locks more similar by aligning their directionality. The base classification does not apply to the chroma component.

[0032] The ALF filter parameters are signaled in the Adaptation Parameter Set (APS). Up to 25 pairs of luminance filter coefficients and clipping value indexes can be stored in one APS. up to eight pairs of chroma filter coefficients and clipping value indexes In order to reduce the bit overhead, the different classifications of the luminance components can be Filter coefficients can be merged. The most recent filter set is used to determine which luma filter set is used for a given picture or slice. The IDs of up to seven APSs can be notified. Filtering is performed at the CTB level. A single brightness CTB is controlled by 16 fixed filter sets and multiple APSs. One filter set can be selected from the filter sets signaled by the For the chroma component, the chroma filter set used for the current picture or slice. The APS ID is signaled in the picture or slice header to indicate the CTB level. In the case where there are two or more chroma filter sets in the APS, each chroma CT Signals the filter index to B. When ALF is enabled for CTB Then, for each sample in the CTB, a diamond filter with the signaled weights is implemented. It performs a clipping operation to correct the difference between the adjacent samples and the current sample. The clipping operation is performed when a neighboring sample value is too different from the current sample value. Introduce nonlinearity to make the ALF more efficient by reducing the effect of .

[0033] The cross-component adaptive loop filter (CC-ALF) is the upper part of the ALF mentioned above. Each chroma component can be further enhanced. The purpose of CC-ALF is to use the luma sample values. The method is to refine each saturation component using a diamond-shaped high-pass linear filter. This is achieved by using the output of this filtering operation for fine-tuning the saturation. ,Provide a system level diagram of CC-ALF processing relative to other loop filters. As shown in Figure 8, CC-ALF uses a 1-bit filter to avoid the additional step of full-loop filtering. For this purpose, it uses the same input as for luminance ALF.

[0034] 4. Technical problem solved by the disclosed solution The existing design in the recent VVC text (JVET-Q2001-vE / v15) is , has the following problems. 1) The values ​​of slice_type are constrained as follows:

[0035] [ka]

[0036] 2) The meaning of ph_alf_enabled_flag is defined as follows and is not ambiguous. be.

[0037] [ka]

[0038] 3) The conformance window parameter is always signaled in the PPS and is the width of the picture. and the largest picture whose height is signaled in the SPS referenced by the PPS On the other hand, in SPS, the maximum picture width and height The picture conformance window parameters with length and height are also signaled. Signals picture conformance window parameters, where the picture width and height are maximum It is redundant to do so. 4) Repetition of most SEI messages is limited to a maximum of four times within one PU or DU. Repetition of the PH, AUD, EOS, and EOB NAL units is not allowed. Repetition of filler data NAL units SHOULD be allowed as many times as necessary (e.g. For example, to achieve a constant bit rate). However, other non-VCL NAL units unit, i.e., VPS, SPS, PPS, APS, and DCI NAL unit repetitions. There is no limit to the return time.

[0039] 5. List of technical solutions In order to solve the above problems, the following method is disclosed. The present invention is not to be construed in a narrow sense. , may be applied individually or in any combination. 1) To solve problem 1, slice_type and / or slice_ty The signaling constraints for pe are general constraint flags / NAL unit type / current Depends on the condition associated with whether the picture is the first picture in the current AU. It may exist. In one example, the conditions may include: if i.intra_only_constraint_flag is equal to 1. ii. The NAL unit type is an IRAP NAL unit type and the current If the picture is the first picture in the current AU. iii. An indication (e.g., SPS flag) is present in the picture (or CLVS, including the current picture, or any other set of pictures including the current picture) If you want to inform that only raslices are allowed. Update the constraint on the b.slice_type value so that it satisfies either one of the first two conditions or If any one of the above conditions is true, the slice_type value is also 2. They may be required to be equal in value. c. Or, one of the first two conditions or one of the above conditions is true. If so, it skips signaling slice_type and infers that it is an I slice. (i.e. slice_type is 2). d. Furthermore, the NAL unit type is an IRAP NAL unit type and is currently If the layer is an independent layer, the slice_type signal is skipped. , I slice. 2) To solve issue 2, ph_alf_enabled_flag is equal to 0 If the ALF is disabled for all slices of the current picture, This can be done. 3) To solve problem 3, the picture width and height must be greater than the maximum picture width and height. If so, the value of pps_conformance_window_flag is equal to 0. It may be necessary to a. Also, if the picture width and height are the maximum picture width and height, P The values ​​of the PS Conformance Window syntax elements are the same as those signaled in the SPS. otherwise, it may be specified that it is inferred to be equal to 0. 4) To solve problem 4, we need to do something that doesn't affect functionality such as random access. What happens to the repetition times of VPS, SPS, PPS, APS, and DCI NAL units? To provide some restriction, one or more of the following constraints may be specified:

[0040] [ka]

[0041] a. V with a specific value of vps_video_parameter_set_id If a PS NAL unit is present in a CVS, the VPS NAL unit is the first Must be in AU 1 and must be within the range of IDR_W_RADL~GDR_NUT At least one VCL NAL unit with nal_unit_type in It may be present in any AU that has it and must not be present in any other AU. i. Or, change "IDR_W_RADL~GDR_NUT" to "IDR_ Change it to "W_RADL~RSV_IRAP_12". b. vps_video_parameter_set_id in one PU The number of VPS NAL units with a particular value must not be greater than one.

[0042] [ka]

[0043] c. The associated AU set of the CLVS is decoded by the first picture of the CLVS in decoding order. The set of AUs is from the AU containing the last picture of the CLVS in decoding order to the AU containing the last picture of the CLVS. . d. SPS with a specific value of sps_seq_parameter_set_id The NAL unit is associated with the CLVS's associated AU set (associated AU set) that references the SPS. If present in the associatedAuSet, the SPS NAL unit Must be in the first AU of the tedAuSet and must be IDR_W_RADL~G At least one VCL with nal_unit_type in the range of DR_NUT MAY be present in any AU in the associatedAuSet with the NAL unit. , and must not exist in any other AU. i. Or, a specific value of sps_seq_parameter_set_id If a SPS NAL unit with the same byte length is present in the CLVS, this unit is treated as a Must exist in the first PU and must be in the range from IDR_W_RADL to GDR_NUT At least one coded slice with nal_unit_type in It may be present in any PU that has NAL units, and must not be present in any other PU. stomach. In section ii.4.d. or 4.di, "IDR_W_RADL~GDR_ NUT" can be changed to "IDR_W_RADL~RSV_IRAP_12" . e. Identifying sps_seq_parameter_set_id in one PU The number of SPS NAL units with a value of MUST be less than or equal to 1.

[0044] [ka]

[0045] f. Identifying pps_pic_parameter_set_id for one PU The number of PPS NAL units with a value of MUST be less than or equal to 1.

[0046] [ka]

[0047] g. In one PU, adaptation_parameter_set_i APS with a specific value of d and a specific value of aps_params_type The number of NAL units must be less than or equal to 1. i. Or in one DU, adaptation_parameter It has a specific value of _set_id and a specific value of aps_params_type The number of APS NAL units MUST be less than or equal to 1.

[0048] [ka]

[0049] When a DCI NAL unit is present in the bitstream, this unit is must be present in the first CVS of the bitstream. If a DCI NAL unit is present in a CVS, it is placed in the first AU of the CVS. nal_ must exist and be in the range IDR_W_RADL~GDR_NUT Any A with at least one VCL NAL unit with unit_type It may be present in U and must not be present in any other AU. j. The number of DCI NAL units in one PU must be less than or equal to 1. .

[0050] [ka]

[0051] 6.1. First embodiment This embodiment is for item 1. The following constraints: nal_unit_type is within the range of IDR_W_RADL~CRA_NUT. and vps_independent_layer_flag[GeneralLa If yerIdx[nuh_layer_id]] is equal to 1, then slice_type Let e ​​be equal to 2. would be changed to:

[0052] [ka]

[0053] 6.2. Second embodiment This embodiment is for item 2.

[0054] [ka]

[0055] Third embodiment This embodiment is for item 3.

[0056] 7.4.3.4 Picture parameter set RBSP semantics ...

[0057] [ka]

[0058] [ka]

[0059] 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 The value of pic_width_in_ luma_samples, 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 rules for the two chroma arrays are The sample is specified in picture coordinates (x / SubWidthC, y / SubHeight C), where (x,y) are the picture coordinates of the specified luminance sample. be. NOTE 2 - The conformance cropping window offset parameter applies only on 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 ppsB are pic_width_in_luma_samples and ppsB are pps and pic_height_in_luma_samples have the same value, p ppsA and ppsB are pps_conf_win_left_offset , pps_conf_win_right_offset, pps_conf_win_ top_offset, and pps_conf_win_bottom_offset It is a bitstream conformance requirement that the .intg. pic_width_in_luma_samples is pic_width_max _in_luma_samples and pic_height_in_lu ma_samples is pic_height_max_in_luma_sample If equal to s, pps_conf_win_left_offset, pps_con f_win_right_offset, pps_conf_win_top_offs et, and pps_conf_win_bottom_offset are respectively ps_conf_win_left_offset, sps_conf_win_rig ht_offset, sps_conf_win_top_offset, and sps _conf_win_bottom_offset is equal to the bitstream conformance It is a gender requirement.

[0060] FIG. 1 illustrates an example video processing system 1 in which various techniques disclosed herein may be implemented. 900. Various implementations may include one or more of the modules of the system 1900. The system 1900 may include an input for receiving video content, or may include all of the input. The video content may include a raw or uncompressed format, e.g. For example, the signal may be received as 8 or 10 bit multi-component pixel values, or compressed. The input 1902 may be received in a compressed or encoded format. The term may represent a memory interface, a peripheral bus interface, or a storage interface. Examples of network interfaces include Ethernet (registered trademark), PON (registered trademark; Passive Optical Network (PAN) and other wired interfaces, Includes wireless interfaces such as Wi-Fi (registered trademark) or cellular interfaces nothing.

[0061] The system 1900 may implement various coding or encoding methods described herein. The coding component 1904 may be implemented as a coding component. Component 1904 is a coding component for determining the average bit rate of the video from input 1902. Component 1904 may output a coded representation of the video. Therefore, this coding technology is also called video compression or video transcoding technology. The output of the coding component 1904 is sometimes called component 1. As represented by 906, the information may be stored or transmitted via a connected communication. The bits of the stored or communicated video received at input 1902 may be The streamed (or coded) representation is sent to a display interface 1910. Component 1908 may then convert the pixel values ​​to displayable image data. It may be used to generate a user-viewable image from a bitstream representation. The process is sometimes called image unpacking. Furthermore, certain image processing operations are sometimes called "coding operations." " operations or tools, whereas coding tools or operations are performed by the encoder. The corresponding decoding tool or operation used to reverse the result of the coding is called the decoder. It will be understood that this is done by Da.

[0062] An example of a peripheral bus interface or display interface is USB (registered trademark; Universal Serial Bus) or HDMI (registered trademark; High De finition Multimedia Interface) or DisplayPort An example of a storage interface is SATA (Serial ATA). Advanced Technology Attachment), PCI, IDE The technology described in this specification is applicable to mobile phones, laptops, smartphones, etc. Smartphones or other devices capable of digital data processing and / or image display The present invention may be implemented in a variety of electronic devices, such as a computer, a mobile phone, or a computer keyboard.

[0063] 2 is a block diagram of a video processing device 3600. The device 3600 may be any of the devices described herein. The device 3600 may be used to implement one or more of the methods described above. , tablets, computers, Internet of Things (IoT) receivers, etc. The device 3600 may include one or more processors 3602, one or more memories 3604, and , video processing hardware 3606. 02 may be configured to implement one or more of the methods described herein. The library(s) 3604 are used to implement the methods and techniques described herein. The video processing hardware 360 ​​may be used to store data and code to be processed. 6 may be used to implement the techniques described herein in hardware circuitry. .

[0064] FIG. 4 is a block diagram illustrating an example video coding system 100 that may employ techniques of this disclosure. FIG.

[0065] 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 be referred to as a video coding device. The destination device 120 generates the encoded video data obtained by the source device 110. The video decoding device may decode the encoded video data generated by the video decoder. .

[0066] The source device 110 includes a video source 112, a video encoder 114, and an input / output (I / O ) interface 116.

[0067] The video source 112 may be a source such as a video capture device, a video content provider, or the like. An interface for receiving video data from a video recorder and / or a video recorder for generating video data. a computer graphics system to create 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 encoded in the coding of a picture. The associated data is the sequence parameter set, picture The I / O interface 116 may include a parameter set 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 sent directly to the destination device 120. For this purpose, the information may be stored in the recording medium / server 130b.

[0068] The destination device 120 includes an I / O interface 126, a video decoder 124, and a display The device may include a display device 122.

[0069] The I / O interface 126 may include a receiver and / or a modem. The O interface 126 receives the signal from the source device 110 or the storage medium / server 130b. The video decoder 124 may obtain the encoded video data. 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.

[0070] The video encoder 114 and the video decoder 124 use High Efficiency Video Coding (HEV C) the Standards, the Generic Video Coding (VVC) Standards, and other current and / or future It may operate in accordance with video compression standards such as regulations.

[0071] FIG. 5 is a block diagram of an example of a video encoder 200, which is similar to the system shown in FIG. It may be the video encoder 114 in the system 100.

[0072] The video encoder 200 may be configured to perform any or all of the techniques of this disclosure. In the embodiment of FIG. 5, the 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.

[0073] 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 206. The entropy generator 210, the inverse transformer 211, the reconstruction unit 212, the buffer 213, and the entropy It may include an encoding unit 214.

[0074] In other examples, the video encoder 200 may have more, less, or different functionality. In one example, the prediction unit 202 may include an intra block copy component. An IBC unit may contain at least one reference picture. The prediction is performed in IBC mode where the image processor is the picture in which the current image block is located. can be done.

[0075] In addition, some modules such as the motion estimation unit 204 and the motion compensation unit 205 are 5. For illustrative purposes, they are depicted separately in the example of FIG. 5.

[0076] The division unit 201 may divide one picture into one or more video blocks. The video encoder 200 and the video decoder 300 support a variety of video block sizes. You may do so.

[0077] The mode selection unit 203 may select, for example, intra or inter control based on the error result. Select one of the available coding modes to determine 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 206. 12, and the coded blocks are reconstructed for use as reference pictures. In some examples, the mode selection unit 203 may select an inter prediction signal and an intra prediction signal. CIIP (Combination of Intra-detection) You may also select the (Inter Prediction and Inter Prediction) mode. In the case of inter prediction, the selection unit 203 selects the resolution of the motion vector of the block (for example, the sub-picture You may choose the resolution (pixel or integer pixel precision).

[0078] 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 the decoder 213; The motion compensation unit 205 may generate motion information for the current video block. The motion information and the picture information from the buffer 213 other than the picture associated with the image block and calculating a prediction video block for the current video block based on the decoded samples. It may be judged.

[0079] The motion estimation unit 204 and the motion compensation unit 205 determine whether the current video block is an I slice or a P slice. For example, different slices are used for the current video block based on whether it is a B slice or a C slice. The following operations may be performed.

[0080] In some examples, the motion estimation unit 204 may perform unidirectional prediction on the current video block. and the motion estimation unit 204 derives a list of reference video blocks for the current video block. The motion estimation unit 204 may search for reference pictures in list 0 or list 1. and a motion vector indicating the spatial displacement between the current video block and the reference video block. Generate a reference index that indicates a reference picture in list 0 or list 1, including The motion estimation unit 204 may calculate the reference index, the prediction direction indicator, and the motion The motion compensation unit 205 may output the motion vector as motion information for the current video block. The current block is determined based on the reference block indicated by the motion information of the current block. The prediction block may be generated.

[0081] In another example, the motion estimation unit 204 may perform bi-directional prediction on the current video block. Preferably, the motion estimation unit 204 selects the current video block from among the reference pictures in list 0. A reference video block for obtaining the reference picture in List 1 may be searched for. The image may then be retrieved from the image buffer to find another reference video block for the current video block. The motion estimation unit 204 estimates the reference pictures in list 0 and list 1 that contain the reference video blocks. A reference index indicating a spatial relationship between the reference video block and the current video block. The motion estimation unit 204 may generate a motion vector that indicates the displacement of the current video block. The reference index and motion vector of the current video block are output as the motion information of the current video block. The motion compensation unit 205 may use the reference video block indicated by the motion information of the current video block. The prediction block for the current video block may be generated based on:

[0082] In some examples, the motion estimation unit 204 may generate motion information for the decoder to process. The full set may be output.

[0083] In some examples, the motion estimator 204 may generate a full set of motion information for the current picture. Rather, the motion estimation unit 204 may refer to the motion information of another video block. For example, the motion estimator 204 may signal motion information for the current video block. is that 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

[0084] In one example, the motion estimator 204 may include a syntactic structure associated with the current video block. In this case, the current video block has the same motion information as other video blocks. The values ​​shown in the data column 300 may be indicated.

[0085] 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 image block. The motion vector difference may be determined by comparing the current video block with the current motion vector difference. The difference between the motion vector of the video block and the motion vector of the specified video block is shown. The coder 300 uses the motion vector and the motion vector differential of the indicated video block to The motion vector for the current video block may be determined using the motion vector filter.

[0086] As mentioned above, the 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.

[0087] The intra prediction unit 206 may perform intra prediction on the current video block. When the intra prediction unit 206 intra predicts the current video block, the intra prediction unit 2 06 is based on the decoded samples of other video blocks in the same picture. A prediction data for the current video block may be generated. The measured data may include predicted video blocks and various syntax elements.

[0088] The residual generation unit 207 generates a predicted image block of the current image block from the current image block. By subtracting the lock (e.g., indicated by a minus sign), the current Residual data for the current video block may be generated. The residual data for the current video block may be , residual image blocks corresponding to different sample components of the samples in the current image block; It may also include

[0089] In another example, e.g., 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 a subtraction operation.

[0090] The transform processor 208 may further include a transform processor 208 for each residual video block 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.

[0091] A transform processor 208 generates a transform coefficient video block associated with the current video block. Then, the quantizer 209 calculates one or more quantization coefficients associated with the current video block. Based on the Quantization Parameter (QP) value, The transform coefficient video block associated with the current video block may be quantized.

[0092] The inverse quantization unit 210 and the inverse transform unit 211 perform inverse quantization and inverse transform on the transform coefficient image block. Transforms may be applied respectively to reconstruct the residual video block from the transform coefficient video blocks. The reconstruction unit 212 reconstructs one or more predicted image blocks generated by the prediction unit 202. 213. Add the reconstructed residual image block to the corresponding sample from The reconstructed image block associated with the current block may be generated for storing the reconstructed image block. stomach.

[0093] After the reconstruction unit 212 reconstructs the video block, the video blocking in the video block is To reduce the distortion artifacts, a loop filtering operation may be performed.

[0094] The entropy coding unit 214 receives the entropy from other functional components of the video encoder 200. When the entropy coding unit 214 receives the data, the entropy coding unit 214 The entropy encoder 214 performs one or more entropy encoding operations to obtain the entropy generating encoded data and a bitstream including the entropy encoded data; may be output.

[0095] 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.

[0096] The 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 a number of functional modules. The techniques described in this disclosure are shared among various modules of the 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.

[0097] In the embodiment of FIG. 6, the video decoder 300 includes an entropy decoding unit 301, a motion compensation unit 302, and a motion compensation unit 303. A compensation unit 302, an intra prediction unit 303, an inverse quantization unit 304, an inverse transform unit 305, and a reconstruction unit 306. The video decoder 300 may, in some examples, include a video decoder 302, a video decoder 303, a video decoder 304, a video decoder 305, and a video A decoding pass is performed that is essentially the reverse of the encoding pass described with respect to image encoder 200 (FIG. 5). Good too.

[0098] The entropy decoding unit 301 extracts the encoded bitstream. The generated bitstream is entropy coded video data (e.g., The entropy decoding unit 301 may include an entropy block (encoded block of data). Decodes the entropy-coded image data and decodes the entropy-decoded image data. Then, the motion compensation unit 302 calculates the motion vector, the motion vector accuracy, and the reference picture list in the The motion compensation unit 302 may determine motion information including a pixel index, a pixel index, and other motion information. For example, such information may be determined by running AMVP and merge modes. stomach.

[0099] The motion compensation unit 302 may generate motion compensated blocks, and in some cases, Performs interpolation based on an intermediate filter. The interpolation filter used has sub-pixel accuracy. An identifier for this purpose may be included in the syntax element.

[0100] The motion compensation unit 302 is used by the video encoder 200 during the encoding of a video block. Calculate the interpolated values ​​for the sub-integer pixels of the reference block using an interpolation filter such as The motion compensation unit 302 may adjust the motion compensation rate of the video encoder 200 based on the received syntax information. may determine an interpolation filter to use and generate a prediction block using the interpolation filter. stomach.

[0101] The motion compensation unit 302 is configured to estimate frames and / or slices of an encoded video sequence. Syntax information for determining the size of the blocks used to encode the A division method that describes how each macroblock of a picture of a video sequence is divided Partition information, the mode that indicates how each partition is coded, and each inter-coded block One or more reference frames (and reference frame lists) for the block, and the encoding The decoder may also use some of the other information to decode the encoded video sequence.

[0102] The intra prediction unit 303 predicts, for example, an intra prediction model received in a bitstream. A dequantization code may be used to form a prediction block from spatially adjacent blocks. The bitstream is provided to the entropy decoder 303 and decoded by the entropy decoder 301. Inverse quantization (i.e., dequantization) of the quantized video block coefficients to be transformed. The unit 303 applies the inverse transformation.

[0103] The reconstruction unit 306 receives the residual block and the motion compensation unit 202 or the intra prediction unit 303. and the corresponding prediction block generated by If desired, a deblocking filter can be used to remove blocking artifacts. may be applied to filter the decoded blocks in order to The motion compensated image block is stored in a buffer 307, which is then used for subsequent motion compensation. / Provides reference blocks for intra prediction and is decoded for display on a display device Generate video.

[0104] Next, preferred solutions are listed in some embodiments.

[0105] The following solutions represent exemplary implementations of the techniques discussed in the previous section (eg, item 1).

[0106] 1. The image processing method of the present invention (for example, the method 3000 shown in FIG. 3) includes one or more Converting between a video containing rice and a coded representation of this video (30 02), and this coded representation includes the function in this coded representation. The field condition is a slice type constraint, or this slice type is a video slice. The format specifies whether the In accordance with standard conventions, this field contains the general constraint flags, network abstraction layer unit Bit type or if this video slice is included in the first video picture of the access unit Includes dolphins.

[0107] 2. The format rule has the intra-only constraint enabled for the video slice. The method of Solution 1, provided that

[0108] The following solutions represent exemplary implementations of the techniques discussed in the previous section (eg, item 2).

[0109] 3. A video containing one or more pictures, each containing one or more slices, and the coding of this video. The coded representation includes converting between a video picture representation and a coded representation. All slices in a video picture are filtered based on the value of a flag in the picture header of the conform to the format rules that stipulate disabling adaptive loop filtering on the A video processing method.

[0110] The following solutions represent exemplary implementations of the techniques discussed in the previous section (eg, item 3).

[0111] 4. A video containing one or more pictures, each containing one or more slices, and the coding of this video. The coded representation includes converting between the current picture and the coded representation. If the height and width of the image are equal to the maximum height and width of the image, the window frame is A video processing method that complies with format rules that stipulate that lag is set to a disabled mode .

[0112] The following solutions represent exemplary implementations of the techniques discussed in the previous section (eg, item 4).

[0113] 5. A video containing one or more pictures, each containing one or more slices, and the coding of this video. This involves converting between a coded representation and a A method of processing video that adheres to format rules that dictate the repetition time of a set of data.

[0114] 6. Parameter sets can be video parameter sets, sequence parameter sets, or The method according to Solution 5, wherein:

[0115] 7. The parameter set is the decoding capability information network abstraction layer unit (DC The method according to solution 5, wherein the I NAL).

[0116] 8. The parameter set is a video parameter set, and the format rule is If the image parameter set contains an identifier field with a particular value, then the image parameter set is The present invention provides a method for determining whether a first access unit of a coded video representation is included in the first access unit of the coded video representation. The method described in Measure 6.

[0117] 9. The format rule specifies that another access unit is a range between two predefined values. The identifier field is used only if the network abstraction layer type is The method according to claim 8, further comprising the steps of: Method of posting.

[0118] 10. The parameter set is a sequence parameter set and has the format The rules state that a coded representation is a coded layer of one or more video sequences. The format rules stipulate that the content is organized as a single access unit. The first access unit of the access unit set that references the sequence parameter set A network abstraction layer that includes a sequence parameter set having a particular identifier value is added to the The method of solution 6, further comprising:

[0119] 11. The format rule states that DCI NAL is included in the coded representation of the video. If the DCI NAL is included in the first coded video sequence of the video, The method according to solution 7, further comprising:

[0120] 12. Format rules for the number of DCI NAL units in one prediction unit 12. The method of solution 7 or 11, further providing for limiting

[0121] 13. Solution 1-1, where conversion involves encoding video into a coded representation 2. A method according to any one of claims 1 to 11.

[0122] 14. Transformation is the process of decoding a coded representation to produce pixel values ​​of an image. 13. The method according to any one of Solutions 1 to 12, comprising:

[0123] 15. A processor configured to implement the method according to one or more of solutions 1 to 14. A video decoding device comprising:

[0124] 16. A processor configured to implement the method according to one or more of solutions 1 to 14. A video encoding device comprising:

[0125] 17. A computer program product having computer code stored therein, said computer program product comprising: The code, when executed by a processor, causes the processor to implement any one of solutions 1 to 14. A computer program product implementing the method described above.

[0126] 18. Any method, apparatus or system described herein.

[0127] The following list describes a second set of preferred solutions implemented by some embodiments: provide.

[0128] The following solutions represent exemplary implementations of the techniques discussed in the previous section (eg, item 1).

[0129] 1. The image processing method of the present invention (e.g., method 3000 of FIG. 3) includes one or more slides. Converts between a video containing one or more pictures, including the image, and the bitstream of this video. (3002) performing the bitstream in compliance with the format rules; This format rule applies if one or more of these slices has a slice type of ,Whether or how it is shown in this bitstream is conditional. This condition depends on the general constraint flags, the Network Abstraction Layer unit type, or at least one of whether this slice is in the first picture of an access unit It stipulates that the standards are based on one.

[0130] 2. The condition includes that the general constraint flag indicates an intra-only constraint for the slice. Or a corresponding method as described in Solution 1.

[0131] 3. The condition is that the slice is in the first picture of the access unit and the network Abstraction layer unit types have specific types, and specific types are intra-random 2. The method of claim 1, comprising or corresponding to indicating an access point type.

[0132] 4. The condition is that the bitstream contains an intraframe in the set of pictures that contains the picture. Including or corresponding to indicating that only slicing is allowed, as described in Solution 1 How to.

[0133] 5. The method according to solution 4, wherein the set of pictures corresponds to a picture.

[0134] 6. A set of pictures is a coded layered video sequence containing pictures The method according to Solution 4, which corresponds to (CLVS).

[0135] 7. The formatting rules are: (a) General constraint flags or Network Abstraction Layer units (b) the slice is the first picture of the access unit; In response to the slice type value 2 being present in the bitstream, The method according to any one of Solutions 1 to 6, as defined in any one of Solutions 1 to 6.

[0136] 8. The format rule is that the slice type has a value of 2, and (a) the general constraint flag or (b) the network abstraction layer unit type satisfies the condition; or Slice type indication corresponding to the slice being in the first picture of the access unit The method according to Solution 1 above, specifying that is omitted from the bitstream.

[0137] 9. The format rule is that the slice type has a value of 2 and (a) the network extract The layer unit type is an intra-random access point type, and (b ) The layer to which the picture containing the slice belongs is an independently decodable layer. , specifying that slice type indications be omitted from the bitstream, The method described in Solution 1 above.

[0138] The following solutions are additional examples of exemplary embodiments of the techniques discussed in the previous section (e.g., item 2, 4) is shown.

[0139] 1. The image processing method of the present invention (e.g., method 900 shown in FIG. 9) Converting between a video containing a picture with a bitstream and the bitstream of this video ( 902), and this bitstream includes a flag in the picture header indicating that this picture This specifies that the adaptive loop filtering for all slices in the Follow the formatting rules specified in

[0140] 2. If the flag value is zero, the adaptive rule is applied to all slices in the picture. The method described in Solution 1 indicates that group filtering is disabled.

[0141] 3. One value of the flag specifies that the adaptive loop filter should be applied to all slices in the picture. The method described in Solution 1 shows that filtering is enabled.

[0142] 4. The image processing method of the present invention (e.g., method 1000 of FIG. 10) is a format Based on the rules, a video containing one or more pictures, each containing one or more slices, and (1002) converts between the bit stream of Specifies the repetition time of the parameter set associated with this video.

[0143] 5. The method according to solution 4, wherein the parameter set is a video parameter set (VPS). method.

[0144] 6. The format rule specifies that a coded video containing a VPS with a particular identifier value Corresponds to VPS Network Abstraction Layer (NAL) units of a video sequence (CVS) The VPS NAL unit is included in the first access unit (AU) of the CVS, and and selects different AUs of the CVS based on the values ​​of different VPS NAL units in different AUs. The method described in Solution 5, which specifies that the AUs are selectively included in the CVS and excluded from the remaining AUs in the CVS. Method of posting.

[0145] 7. The value of another VPS NAL unit in another AU is IDR_W_RADL~G The method described in Solution 6, within the range of DR_NUT.

[0146] 8. The value of another VPS NAL unit in another AU is IDR_W_RADL~R The method described in solution 6, within the scope of SV_IRAP_12.

[0147] 9. The format rule states that one or more VPS NAL units of a given identifier value are bit-wise The resolution further specifies that the image is not included in a picture unit (PU) in the image stream. The method according to any one of solutions 5 to 8.

[0148] 10. The parameter set is a sequence parameter set (SPS). The method described.

[0149] 11. Coded Layered Video Sequence in Bitstream (CLV S) is the first AU that contains the first picture of the CLVS in decoding order and the last picture of the CLVS in decoding order. The method of claim 10, further comprising a set of AUs including the last AU that includes the next picture.

[0150] 12. The format rule specifies the SPS network that contains the SPS with a particular identifier value. Corresponding to the Abstraction Layer (NAL) units, SPS NAL units are associated Another SPS NAL unit in another AU that is included in the first AU of the selected AU set Selectively included in another AU of the associated set based on the value of The method of solution 11, wherein the AU is excluded.

[0151] 13. Format rules are specified in the first picture unit (PU) of the CVLS. A coded layer video sequence (CVLS) including an SPS having an identifier value of ), the SPS NAL unit is assigned to a slice NAL unit in another PU. Selectively include in another PU of the CVLS and exclude from the remaining PUs of the CVLS based on the value. The method according to solution 11, further comprising removing

[0152] 14. The values ​​of other SPS NAL units in other AUs are IDR_W_RADL~ The method described in solution 12, within the range of GDR_NUT.

[0153] 15. The values ​​of slice NAL units in other PUs are IDR_W_RADL to GD The method according to solution 13, within the range of R_NUT.

[0154] 16. The values ​​of other SPS NAL units in other AUs are IDR_W_RADL~ The method according to solution 12, within the scope of RSV_IRAP_12.

[0155] 17. The values ​​of slice NAL units in other PUs are IDR_W_RADL to RS The method described in Solution 13, within the scope of V_IRAP_12.

[0156] 18. The format rule states that one or more SPS NAL units of a given identifier value 3. The present invention further provides that the above-mentioned frame format is not included in a picture unit (PU) in a frame stream. The method according to any one of Solutions 11 to 17.

[0157] 19. The parameter set is a picture parameter set (PPS) and A mating rule is a rule that specifies whether one or more PPS Network Abstraction Layers (NALs) for a given identifier value are ) unit is not contained in a picture unit (PU) in the bitstream. The method according to solution 4 as defined in claim 1.

[0158] 20. The parameter set is an adaptive parameter set (APS), as described in Solution 4. method.

[0159] 21. A format rule has a given identifier value and a value of a particular parameter type. One or more APS Network Abstraction Layer (NAL) units are included in the bitstream. 20, which further specifies that the 1920-192 ... Method of posting.

[0160] 22. A format rule has a given identifier value and a value of a particular parameter type. One or more APS Network Abstraction Layer (NAL) units are included in the bitstream. Solution 20, which further specifies that the DU in How to.

[0161] 23. The parameter set is the decoding capability information network abstraction layer unit (D CI NAL).

[0162] 24. The format rule states that, if present, DCI NAL units are The first non-CVS bitstream coded video sequence in the frame. The method described in solution 23, which specifies that the inclusion of the .

[0163] 25. The format rule applies to coded video sequences that contain DCI NAL units. In response to a CVS sequence, the DCI NAL unit is the first access unit of the CVS. The NAL unit identifier value is in the same NAL unit as the AU, and the other AU has a specific NAL unit identifier value, and Video Coding Layer (VCL) NAL units to be excluded from the remaining AUs of the CVS According to Solution 23, the AU may be selectively included in another AU based on whether it contains How to.

[0164] 26. A specific identifier value is in the range IDR_W_RADL~GDR_NUT, The method according to solution 21.

[0165] 27. The format rule is that a picture unit (PU) is a maximum of one DCI NAL The method according to any one of Solutions 23 to 26, further comprising the step of:

[0166] The following solutions provide additional examples of preferred embodiments of the techniques discussed in the previous chapter (e.g., item 3). .

[0167] 1. A video processing method of the present invention (e.g., method 1100 of FIG. 11) includes: The bitstream of this video does not conform to the format rules. This format rule specifies that the picture width is The height of this picture is equal to the maximum allowed picture width within this video unit, and the height of this picture is equal to the maximum allowed picture width within this video unit. The picture parameter set corresponding to this picture is equal to the picture height. This specification specifies that the conformance window flags in the

[0168] 2. The maximum allowable picture width and the maximum allowable picture height are the same as those of the sequence referenced by the video unit. The method of claim 1, wherein the sequence parameter set is represented by a sequence parameter set.

[0169] 3. The format rule states that the width of one picture is the maximum allowed picture size in a video unit. The picture width is equal to the maximum allowed picture height in a video unit. In response to being equal to and are assumed to have the same values ​​as those shown in this sequence parameter set. The method of Solution 2, which specifies that the

[0170] 4. The format rule specifies that the width of a picture is the maximum allowable picture in a video unit. The width or height of this picture is not equal to the maximum allowed picture in a video unit. Note that if the height is not equal to the conformance window syntax element is inferred to have a zero value. The method according to Solution 2 is as defined above.

[0171] In the above solutions, this conversion involves encoding the video into a bitstream.

[0172] In the above solution, the conversion involves generating a video from a bitstream.

[0173] In some embodiments, the video decoding device comprises a video decoder as described in one or more of the above solutions. The method may include a processor configured to perform the method.

[0174] In some embodiments, a video encoding device comprising a processor is provided, The present invention may be configured to perform one or more of the methods described herein.

[0175] In some embodiments, a computer readable medium has code stored thereon. When executed by a processor, the code may implement any one of the above solutions. The method includes causing a processor to execute any one of the methods described above.

[0176] In an embodiment of the present invention, the image processing method is as described in any one or more of the above solutions. and generating a bitstream based on the method of This includes storing it on a removable medium.

[0177] In an embodiment of the present invention, the computer readable medium includes a video program stored thereon. The bitstream has one or more of the above solutions. It was generated from the video based on the method described above.

[0178] 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 an image into a corresponding It may be applied during conversion of the current video to a suitable bitstream representation or vice versa. The bitstream representation of an image block may be, for example, They may correspond to bits spread at the same or different locations in the stream. For example, a macroblock consists of transformed and coded error residual values, and bit It is encoded using bits in the header and other fields in the Furthermore, during the conversion, the decoder may perform the following based on the decision as described in the above solution: Based on this, you can enter the business with the knowledge that some fields may or may not be present. Similarly, the encoder may parse the bit stream if a particular syntax field is Determine whether or not a syntactic field should be included in the coded expression Depending on whether or not the input is a scalable object, a coded representation may be generated accordingly.

[0179] The disclosed and other solutions, examples, embodiments, modules, The implementation of the functions and operations may be implemented in any manner including 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 program implemented by or for 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, a compound, a compounding agent, a fluorine-containing compound, 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 any number of processors or computers; This includes the hardware, the device, and the machine. The code that creates the execution environment for the program, e.g., processor firmware, protocol stack network, database management system, operating system, or any one or more of these A propagated signal may contain a code consisting of a combination of numbers. A signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is transmitted to a suitable receiving device. It is generated to encode information for

[0180] Computer programs (programs, software, software applications) The language (also called program, script, or code) is a compiled or interpreted It can be written in any form of programming language, including languages ​​that support A model suitable for use as a stand-alone program or in a computing environment. in any form, including as a module, component, subroutine, or other unit A computer program does not necessarily have to be in a file system. Programs do not necessarily correspond to files. Programs may hold other programs or data. part of a file that contains the The program may be stored in a single file dedicated to that program. Alternatively, multiple coordination files (e.g., one or more modules, subprograms, The program may be stored in a computer program (or a file that stores part of the program code). The program 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 communication network. It is also possible.

[0181] The processes and logic flows described herein operate on input data and produce outputs. Executing one or more computer programs to perform functions by generating The processing may be performed by one or more programmable processors. Logic flow also refers to logic circuits for specific applications, such as FPGAs (Field Programmable Gate Arrays). programmable gate array) or ASIC (Application Specific Integrated Circuit) This can be done by using a Specific Integrated Circuit ( Alternatively, an apparatus may be implemented as special purpose logic circuitry.

[0182] Processors suitable for the execution of a computer program include, for example, general purpose and special purpose microprocessors. Both the microprocessor and any one or more of any kind of digital computer Typically, the processor uses read-only memory or random access memory. It receives instructions and data from the internal memory or both. An element may include a processor for executing instructions and one or more memory devices for storing instructions and data. A computer has multiple memory devices. Generally, a computer has a number of memory devices for storing data. One or more mass storage devices, such as 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 A computer need not have such a device. Suitable computer readable media for storing data include any form of non-volatile memory, media and memory devices, such as EPROM, EEPROM, flash memory devices, storage, magnetic disks, such as internal hard disks or removable disks, optical magnetic disks This includes semiconductor memory 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 a logic circuit for a specific purpose.

[0183] This patent specification contains many details, but these may not be sufficient to satisfy the scope or claims of any subject matter. It should not be construed as limiting the scope, but rather as being directed to specific embodiments of a particular technology. The description of the features that may be unique to the present invention should be interpreted as a separate embodiment in this patent document. Certain features described in the context of Conversely, various features that are described in the context of one example may also be used in multiple embodiments. The features may be implemented separately or in any suitable subcombination. , which are described above as acting in a particular combination and which are first claimed as such. Although one or more features from a claimed combination may be present in the claimed The claimed combination may be extracted from any combination of any of the subcombinations. or subcombination variations thereof.

[0184] Similarly, although operations may be shown in a particular order in the figures, this is not intended to be limiting as to how the operations may be performed to achieve desired results. It is not required that such actions be performed in the particular order or sequential order shown in order to accomplish this. It should not be construed as requiring that all acts shown be performed. Also, the separation of the various system components in the examples described in this patent specification However, it should not be understood that all embodiments require such separation.

[0185] Only certain 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 of image processing, comprising: performing a conversion between a video including one or more pictures including one or more slices and a bitstream of said video; the bitstream conforms to format rules; wherein the format rule specifies any of the following: (a) a compatibility window flag has a value of zero; and (b) in response to the picture width being equal to the maximum allowed picture width in a video unit and the picture height being equal to the maximum allowed picture height in the video unit, a compatibility window syntax element indicating a compatibility cropping window offset parameter is excluded from the picture parameter set and is inferred to have the same value as indicated in a sequence parameter set referenced by the video unit; or (c) the compatibility window flag has the zero value; and (d) in response to the width of the picture not being equal to the maximum allowed picture width in the video unit or the height of the picture not being equal to the maximum allowed picture height in the video unit, a compatibility window syntax element indicating the compatibility cropping window offset parameter is inferred to have a value of zero. method.

2. The format rules further specify that a flag in a picture header controls whether adaptive loop filtering is applied to all slices in the picture. The method of claim 1.

3. the format rules further specify that a constraint on a syntax element included in the bitstream indicating a slice type of the one or more slices is conditional; the condition is based on at least one of a general constraint flag, a network abstraction layer unit type, or whether the slice is within a first picture of an access unit. The method of claim 2.

4. the condition is that the value of the general constraint flag is equal to 1, indicating an intra-only constraint for the slice; The constraint on the syntax element is that the value of the syntax element is equal to 2. The method according to claim 3.

5. the condition indicates that (e) the slice is within the first picture of the access unit; and (f) the network abstraction layer unit type has a particular type, the particular type being an intra-random access point type; the constraint on the syntax element includes that the value of the syntax element is equal to 2; The method according to claim 3.

6. The condition is: (e) the network abstraction layer unit type is an intra random access point type; and (f) a layer to which the picture including the slice belongs is an independently decodable layer. The constraint on the syntax element is that the value of the syntax element is equal to 2. The method according to claim 3.

7. A zero value of the flag indicates that the adaptive loop filtering is disabled for all slices in the picture. The method of claim 2.

8. If the value of the flag is 1, it indicates that the adaptive loop filtering is enabled for all slices in the picture. The method of claim 2.

9. the converting includes decoding the video from the bitstream. The method of claim 1.

10. the converting includes encoding the video into the bitstream. The method of claim 1.

11. 1. An apparatus for processing video data comprising a processor and a non-transitory memory having instructions recorded thereon, the instructions, when executed by the processor, causing the processor to: performing a conversion between a video including one or more pictures including one or more slices and a bitstream of said video; the bitstream conforms to format rules; wherein the format rule specifies any of the following: (a) a compatibility window flag has a value of zero; and (b) in response to the picture width being equal to the maximum allowed picture width in a video unit and the picture height being equal to the maximum allowed picture height in the video unit, a compatibility window syntax element indicating a compatibility cropping window offset parameter is excluded from the picture parameter set and is inferred to have the same value as indicated in a sequence parameter set referenced by the video unit; or (c) the compatibility window flag has the zero value; and (d) in response to the width of the picture not being equal to the maximum allowed picture width in the video unit or the height of the picture not being equal to the maximum allowed picture height in the video unit, a compatibility window syntax element indicating the compatibility cropping window offset parameter is inferred to have a value of zero. Device.

12. A non-transitory computer-readable storage medium having instructions stored thereon for execution by a processor, comprising: performing a conversion between a video including one or more pictures including one or more slices and a bitstream of said video; the bitstream conforms to format rules; wherein the format rule specifies any of the following: (a) a compatibility window flag has a value of zero; and (b) in response to the picture width being equal to the maximum allowed picture width in a video unit and the picture height being equal to the maximum allowed picture height in the video unit, a compatibility window syntax element indicating a compatibility cropping window offset parameter is excluded from the picture parameter set and is inferred to have the same value as indicated in a sequence parameter set referenced by the video unit; or (c) the compatibility window flag has the zero value; and (d) in response to the width of the picture not being equal to the maximum allowed picture width in the video unit or the height of the picture not being equal to the maximum allowed picture height in the video unit, a compatibility window syntax element indicating the compatibility cropping window offset parameter is inferred to have a value of zero. A non-transitory computer-readable storage medium.

13. 1. A method for storing a video bitstream, comprising the steps of: generating the bitstream for the video including one or more pictures including one or more slices; storing the bitstream on a non-transitory computer readable recording medium; the bitstream conforms to format rules; wherein the format rule specifies any of the following: (a) a compatibility window flag has a value of zero; and (b) in response to the picture width being equal to the maximum allowed picture width in a video unit and the picture height being equal to the maximum allowed picture height in the video unit, a compatibility window syntax element indicating a compatibility cropping window offset parameter is excluded from the picture parameter set and is inferred to have the same value as indicated in a sequence parameter set referenced by the video unit; or (c) the compatibility window flag has the zero value; and (d) in response to the width of the picture not being equal to the maximum allowed picture width in the video unit or the height of the picture not being equal to the maximum allowed picture height in the video unit, a compatibility window syntax element indicating the compatibility cropping window offset parameter is inferred to have a value of zero. method.

Citation Information

Patent Citations

  • High level syntax for video coding and decoding

    WO2021123326A1

Cited By

  • Slice type in video coding

    US12501064B2