Video encoding and decoding method and device

By introducing control switch flags and adaptive switch controls below the sequence level in the video encoding and decoding method, the time domain division prediction tool is enabled for the target prediction object at the target level, which solves the low encoding and decoding efficiency and adaptive capabilities in the prior art. The problem of insufficient achieves more efficient video encoding and codec performance.

CN119299714AActive Publication Date: 2025-01-10BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411426417.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-12
Publication Date
2025-01-10
Estimated Expiration
2044-10-12

AI Technical Summary

Technical Problem

When using the time domain division prediction tool, the existing video encoding and decoding technology is low in encoding and decoding efficiency and insufficient adaptability, so it cannot be effectively applied in all video frames.

Method used

In the video encoding and decoding method, control switch flags below the sequence level are introduced to more accurately control the activation of the time domain division prediction tool, adaptive switch control is performed for the target prediction object at the target level, and time domain division prediction tool and Syntax elements related to the division state determine how the CU or CTU is divided.

Benefits of technology

It improves the efficiency of video encoding and decoding, enhances the adaptability of time domain division prediction tools, is suitable for different video content, and improves the encoding and decoding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119299714A_ABST
    Figure CN119299714A_ABST
Patent Text Reader

Abstract

The invention provides a video encoding and decoding method and a device thereof. A video decoding method may include obtaining a first syntax element from a bitstream at a target level lower than a sequence level, where the first syntax element indicates whether a time domain division prediction tool is enabled for a target prediction object corresponding to the target level, the time domain division prediction tool is used for determining division information of the target prediction object based on the division information of the time domain reference object of the target prediction object; determining whether a time domain division prediction tool is enabled for the target prediction object based on the first syntax element; and on the basis of determining that the time domain division prediction tool is enabled for the target prediction object, performing prediction on the target prediction object by using the time domain division prediction tool.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to video coding and compression, and more particularly to a video coding method and apparatus thereof, an electronic device and a non-transitory computer-readable storage medium. Background Art

[0002] Various electronic devices (e.g., digital televisions, laptop or desktop computers, tablet computers, digital cameras, digital recording devices, digital media players, video game consoles, smart phones, video teleconferencing devices, video streaming devices, etc.) support digital video. Electronic devices send and receive or otherwise transmit digital video data through a communication network, and / or store digital video data on a storage device. Due to the limited bandwidth capacity of the communication network and the limited storage resources of the storage device, before the video data is transmitted or stored, the video data can be compressed using a video codec according to one or more video codec standards. For example, video codec standards include general video codec (VVC), joint exploration test model (JEM), high efficiency video codec (HEVC / H.265), advanced video codec (AVC / H.264), moving picture expert group (MPEG) codec, etc. Video codecs generally use prediction methods (e.g., inter-frame prediction, intra-frame prediction, etc.) that utilize the inherent redundancy in video data. Video codecs are intended to compress video data into a form that uses a lower bit rate while avoiding or minimizing the degradation of video quality. Summary of the invention

[0003] Examples of the present disclosure provide a video coding method and apparatus, an electronic device, and a non-transitory computer-readable storage medium for high-level syntax in video coding.

[0004] According to a first aspect of the present disclosure, a video decoding method is provided, comprising: obtaining a first syntax element at a target level lower than a sequence level from a bitstream, wherein the first syntax element indicates whether a time domain partition prediction tool is enabled for a target prediction object corresponding to the target level, the time domain partition prediction tool being used to determine partition information of the target prediction object based on partition information of a time domain reference object of the target prediction object; determining whether the time domain partition prediction tool is enabled for the target prediction object based on the first syntax element; and performing prediction on the target prediction object using the time domain partition prediction tool based on determining that the time domain partition prediction tool is enabled for the target prediction object.

[0005] Optionally, the target level includes one or more of the following levels: picture level, slice level, coding tree unit CTU level.

[0006] Optionally, the first syntax element is ph_partitioning_prediction_flag and is set in a picture header or a picture parameter set.

[0007] Optionally, obtaining the first syntax element at a target level lower than the sequence level from the bitstream includes: obtaining a second syntax element at the sequence level from the bitstream, wherein the second syntax element indicates whether the time domain partitioning prediction tool can be enabled for the sequence level; and obtaining the first syntax element at the target level based on determining that the time domain partitioning prediction tool can be enabled for the sequence level.

[0008] Optionally, the method further comprises: based on determining that the time domain partition prediction tool is not enabled for the sequence level, determining that the first syntax element does not exist and inferring that the first syntax element is zero.

[0009] According to a second aspect of the present disclosure, a video encoding method is provided, comprising: determining whether a time domain partition prediction tool is used for a target prediction object corresponding to a target level lower than a sequence level, wherein the time domain partition prediction tool is used to determine partition information of the target prediction object based on partition information of a time domain reference object of the target prediction object; determining a first syntax element for the target prediction object, wherein the first syntax element indicates whether the time domain partition prediction tool is used for the target prediction object; and sending the first syntax element at the target level in a bitstream using a signal.

[0010] Optionally, the target level includes one or more of the following levels: picture level, slice level, coding tree unit CTU level.

[0011] Optionally, the first syntax element is ph_partitioning_prediction_flag and is set in a picture header or a picture parameter set.

[0012] Optionally, the method also includes: determining whether the time domain partitioning prediction tool can be used for the sequence level; determining a second syntax element for the sequence level, wherein the second syntax element indicates whether the time domain partitioning prediction tool can be used for the sequence level; and signaling the second syntax element at the sequence level in the bitstream.

[0013] Optionally, the method further includes: based on determining not to use the time domain partitioning prediction tool for the sequence level, determining not to use the time domain partitioning prediction tool for the target level and not signaling the first syntax element at the target level.

[0014] Optionally, the determining whether to use the time domain division prediction tool for a target prediction object corresponding to a target level lower than the sequence level includes: determining whether to use the time domain division prediction tool for the target prediction object based on at least one of a multi-channel encoding analysis result and a pre-analysis result before encoding of the target prediction object.

[0015] According to a third aspect of the present disclosure, a device for video decoding is provided, comprising: one or more processors; and a memory, coupled to the one or more processors and configured to store instructions that can be executed by the one or more processors, wherein the one or more processors are configured to perform the video decoding method according to the present disclosure when executing the instructions.

[0016] According to a fourth aspect of the present disclosure, a device for video encoding is provided, comprising: one or more processors; and a memory, coupled to the one or more processors and configured to store instructions that can be executed by the one or more processors, wherein the one or more processors are configured to execute the video encoding method according to the present disclosure when executing the instructions.

[0017] According to a fifth aspect of the present disclosure, a non-transitory computer-readable storage medium for storing computer-executable instructions is provided, wherein the computer-executable instructions, when executed by one or more computer processors, cause the one or more computer processors to receive a bit stream and perform a video decoding method according to the present disclosure based on the bit stream.

[0018] According to a sixth aspect of the present disclosure, a non-transitory computer-readable storage medium for storing computer-executable instructions is provided, wherein the computer-executable instructions, when executed by one or more computer processors, cause the one or more computer processors to perform a video encoding method according to the present disclosure to encode a target prediction object into a bit stream and send the bit stream.

[0019] According to a seventh aspect of the present disclosure, a computer program product is provided, having instructions for storing a bit stream, wherein the bit stream includes: video data to be decoded by the video decoding method according to the present disclosure; and / or video data generated by the video encoding method according to the present disclosure.

[0020] According to an eighth aspect of the present disclosure, a method for storing a bitstream is provided, comprising: storing the bitstream on a computer-readable storage medium, wherein the bitstream includes video data decoded according to the video decoding method of the present disclosure, and / or video data generated by the video encoding method of the present disclosure.

[0021] It is to be understood that both the foregoing general description and the following detailed description are examples only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate examples according to the disclosure and, together with the description, serve to explain the principles of the disclosure.

[0023] Figure 1 is a block diagram illustrating an exemplary system for encoding and decoding video blocks according to some embodiments of the present disclosure.

[0024] Figure 2 is a block diagram illustrating an exemplary video encoder according to some embodiments of the present disclosure.

[0025] Figure 3 is a block diagram illustrating an exemplary video decoder according to some embodiments of the present disclosure.

[0026] FIG. 4A to FIG. 4E is a block diagram illustrating how a frame may be recursively divided into multiple video blocks of different sizes and shapes according to some embodiments of the present disclosure.

[0027] Figure 5 is a flowchart of a video decoding method according to some embodiments of the present disclosure.

[0028] Figure 6 is a flowchart of a video encoding method according to some embodiments of the present disclosure.

[0029] Figure 7 is a diagram illustrating a computing environment coupled with a user interface according to some embodiments of the present disclosure. DETAILED DESCRIPTION

[0030] Reference will now be made in detail to specific embodiments, examples of which are shown in the accompanying drawings. In the following detailed description, a number of non-limiting specific details are set forth to aid in understanding the subject matter presented herein. However, various alternatives may be used without departing from the scope of the claims, and the subject matter may be practiced without these specific details. For example, the subject matter presented herein may be implemented on many types of electronic devices having digital video capabilities.

[0031] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the drawings are used to distinguish objects, but not to describe any specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those shown in the drawings or described in the present disclosure.

[0032] Figure 1 is a block diagram illustrating an exemplary system 10 for encoding and decoding video blocks in parallel according to some embodiments of the present disclosure. Figure 1 As shown in , system 10 includes a source device 12 that generates and encodes video data to be later decoded by a target device 14. Source device 12 and target device 14 may include any of a wide variety of electronic devices, including cloud servers, server computers, desktop or laptop computers, tablet computers, smart phones, set-top boxes, digital televisions, cameras, display devices, digital media players, video game consoles, video streaming devices, etc. In some implementations, source device 12 and target device 14 are equipped with wireless communication capabilities.

[0033] In some implementations, the target device 14 may receive the encoded video data to be decoded via the link 16. The link 16 may include any type of communication medium or device capable of moving the encoded video data from the source device 12 to the target device 14. In other implementations, the encoded video data may be sent from the output interface 22 to the storage device 32. The encoded video data in the storage device 32 may then be accessed by the target device 14 via the input interface 28.

[0034] like Figure 1 , source device 12 includes a video source 18, a video encoder 20, and an output interface 22. Video source 18 may include sources such as, or a combination of such sources: a video capture device (e.g., a camera), a video archive containing previously captured video, a video feed interface for receiving video from a video content provider, and / or a computer graphics system for generating computer graphics data as source video.

[0035] The captured, pre-captured, or computer-generated video may be encoded by video encoder 20. The encoded video data may be sent directly to target device 14 via output interface 22 of source device 12. The encoded video data may also (or alternatively) be stored on storage device 32 for later access by target device 14 or other devices for decoding and / or playback.

[0036] Target device 14 includes input interface 28, video decoder 30, and display device 34. Input interface 28 may include a receiver and / or a modem and receives encoded video data via link 16. The encoded video data transmitted via link 16 or provided on storage device 32 may include various syntax elements generated by video encoder 20 for use by video decoder 30 in decoding the video data. Such syntax elements may be included within the encoded video data sent over a communication medium, stored on a storage medium, or stored on a file server.

[0037] The video encoder 20 and the video decoder 30 can operate according to a proprietary standard or an industry standard (e.g., VVC, HEVC, Part 10 of MPEG-4, AVC) or an extension of such a standard. It should be understood that the present application is not limited to a specific video encoding / decoding standard and can be applied to other video encoding / decoding standards. It is generally believed that the video encoder 20 of the source device 12 can be configured to encode the video data according to any of these current standards or future standards. Similarly, it is also generally believed that the video decoder 30 of the target device 14 can be configured to decode the video data according to any of these current standards or future standards.

[0038] The video encoder 20 and the video decoder 30 may be implemented as any of a variety of suitable encoder and / or decoder circuits, such as one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), discrete logic devices, software, hardware, firmware, or any combination thereof. When partially implemented in software, the electronic device may store instructions for the software in a suitable non-transitory computer-readable medium, and use one or more processors to execute the instructions in the hardware to perform the video encoding / decoding operations disclosed in the present disclosure. Each of the video encoder 20 and the video decoder 30 may be included in one or more encoders or decoders, and either of the encoders or decoders may be integrated as part of a combined encoder / decoder (CODEC) in the corresponding device.

[0039] Figure 2 is a block diagram illustrating an exemplary video encoder 20 according to some embodiments described in the present application. The video encoder 20 can perform intra-frame prediction coding and inter-frame prediction coding on video blocks within a video frame. Intra-frame prediction coding relies on spatial prediction to reduce or remove spatial redundancy in video data within a given video frame or picture. Inter-frame prediction coding relies on temporal prediction to reduce or remove temporal redundancy in video data within adjacent video frames or pictures of a video sequence. It should be noted that in the field of video coding and decoding, the term "frame" can be used as a synonym for the term "image" or "picture".

[0040] like Figure 2As shown in , the video encoder 20 includes a video data memory 40, a prediction processing unit 41, a decoded picture buffer (DPB) 64, an adder 50, a transform processing unit 52, a quantization unit 54, and an entropy coding unit 56. The prediction processing unit 41 further includes a motion estimation unit 42, a motion compensation unit 44, a partition unit 45, an intra-frame prediction processing unit 46, and an intra-frame block copy (BC) unit 48. In some embodiments, the video encoder 20 also includes an inverse quantization unit 58, an inverse transform processing unit 60, and an adder 62 for video block reconstruction. A loop filter 63 such as a deblocking filter can be located between the adder 62 and the DPB 64 to filter the block boundary to remove the block effect from the reconstructed video. In addition to the deblocking filter, another loop filter (e.g., a sample adaptive offset (SAO) filter, a cross-component sample adaptive offset (CCSAO) filter, and / or an adaptive loop filter (ALF)) can also be used to filter the output of the adder 62. In some examples, the loop filter may be omitted, and the decoded video blocks may be provided directly by adder 62 to DPB 64. Video encoder 20 may take the form of a fixed or programmable hardware unit, or may be distributed among one or more of the illustrated fixed or programmable hardware units.

[0041] Video data memory 40 may store video data to be encoded by components of video encoder 20. Figure 1 Video source 18 is shown obtaining video data in video data memory 40. DPB 64 is a buffer that stores reference video data (eg, reference frames or pictures) for use by video encoder 20 in encoding the video data (eg, in intra or inter prediction coding modes).

[0042] like Figure 2 As shown in , after receiving the video data, the partitioning unit 45 within the prediction processing unit 41 partitions the video data into video blocks. This partitioning may also include partitioning the video frame into strips, tiles (e.g., a set of video blocks), or other larger coding units (CUs) according to a predefined splitting structure associated with the video data, such as a quadtree (QT) structure. It should be noted that the terms "block" or "video block" used herein may be a portion of a frame or picture, in particular a rectangular (square or non-square) portion. With reference to, for example, HEVC and VVC, a block or video block may be or correspond to a coding tree unit (CTU), a CU, a prediction unit (PU), or a transform unit (TU) and / or may be or correspond to a corresponding block (e.g., a coding tree block (CTB), a coding block (CB), a prediction block (PB), or a transform block (TB)) and / or a sub-block.

[0043] The prediction processing unit 41 may select one of a plurality of feasible prediction coding modes for the current video block based on the error results (e.g., coding rate and distortion level), such as one of one or more inter-frame prediction coding modes in a plurality of intra-frame prediction coding modes. The prediction processing unit 41 may provide the resulting intra-frame prediction coding block or inter-frame prediction coding block to the adder 50 to generate a residual block, and to the adder 62 to reconstruct the coding block for subsequent use as part of a reference frame. The prediction processing unit 41 also provides syntax elements (e.g., motion vectors, intra-frame mode indicators, partition information, and other such syntax information) to the entropy coding unit 56.

[0044] To select an appropriate intra-prediction coding mode for the current video block, intra-prediction processing unit 46 within prediction processing unit 41 may perform intra-prediction coding of the current video block in relation to one or more neighboring blocks in the same frame as the current block to be encoded to provide spatial prediction. Motion estimation unit 42 and motion compensation unit 44 within prediction processing unit 41 may perform inter-prediction coding of the current video block in relation to one or more prediction blocks in one or more reference frames to provide temporal prediction. Video encoder 20 may perform multiple encoding passes, for example, to select an appropriate coding mode for each block of video data.

[0045] In some embodiments, motion estimation unit 42 determines an inter-prediction mode for a current video frame by generating a motion vector according to a predetermined pattern within a sequence of video frames, the motion vector indicating the displacement of a video block within the current video frame relative to a prediction block within a reference video frame. Motion estimation performed by motion estimation unit 42 is the process of generating a motion vector that estimates the motion of a video block. For example, a motion vector may indicate the displacement of a video block within a current video frame or picture relative to a prediction block within a reference frame associated with a current block being encoded within the current frame. The predetermined pattern may designate a video frame in a sequence as a P frame or a B frame. Intra BC unit 48 may determine a vector (e.g., a block vector) for intra BC coding in a manner similar to the motion vector determined by motion estimation unit 42 for inter prediction, or may utilize motion estimation unit 42 to determine a block vector.

[0046] Regardless of whether the prediction block is from the same frame according to intra-frame prediction or from a different frame according to inter-frame prediction, the video encoder 20 can form a residual video block by subtracting the pixel values ​​of the prediction block from the pixel values ​​of the current video block being encoded. The pixel difference values ​​forming the residual video block may include both luma component differences and chroma component differences.

[0047] Intra-prediction processing unit 46 may encode the current block using various intra-prediction modes, for example, during separate encoding passes, and intra-prediction processing unit 46 (or, in some examples, mode selection unit) may select an appropriate intra-prediction mode to use from the tested intra-prediction modes. Intra-prediction processing unit 46 may provide information indicating the intra-prediction mode selected for the block to entropy encoding unit 56. Entropy encoding unit 56 may encode the information indicating the selected intra-prediction mode into the bitstream.

[0048] After prediction processing unit 41 determines a prediction block for the current video block via inter-prediction or intra-prediction, adder 50 forms a residual video block by subtracting the prediction block from the current video block. The residual video data in the residual block may be included in one or more TUs and provided to transform processing unit 52. Transform processing unit 52 transforms the residual video data into residual transform coefficients using a transform (e.g., a discrete cosine transform (DCT) or a conceptually similar transform).

[0049] The transform processing unit 52 may send the resulting transform coefficients to a quantization unit 54. The quantization unit 54 quantizes the transform coefficients to further reduce the bit rate. The quantization process may also reduce the bit depth associated with some or all of the coefficients. The degree of quantization may be modified by adjusting a quantization parameter. In some examples, the quantization unit 54 may then perform a scan on the matrix including the quantized transform coefficients. Alternatively, the entropy coding unit 56 may perform the scan.

[0050] After quantization, entropy coding unit 56 entropy encodes the quantized transform coefficients into a video bitstream using, for example, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), syntax-based context adaptive binary arithmetic coding (SBAC), probability interval partitioning entropy (PIPE) coding, or another entropy coding method or technique. The encoded bitstream may then be sent to a video bitstream such as a Figure 1 The video decoder 30 shown, or archived as Figure 1 The video frame may be stored in storage device 32 as shown for later transmission to or retrieval by video decoder 30. Entropy encoding unit 56 may also entropy encode motion vectors and other syntax elements for the current video frame being encoded.

[0051] Inverse quantization unit 58 and inverse transform processing unit 60 apply inverse quantization and inverse transform, respectively, to reconstruct the residual video block in the pixel domain for use in generating reference blocks for predicting other video blocks. As noted above, motion compensation unit 44 may generate a motion compensated prediction block from one or more reference blocks of a frame stored in DPB 64. Motion compensation unit 44 may also apply one or more interpolation filters to the prediction block to calculate sub-integer pixel values ​​for use in motion estimation.

[0052] Adder 62 adds the reconstructed residual block to the motion compensated prediction block generated by motion compensation unit 44 to generate a reference block for storage in DPB 64. The reference block may then be used as a prediction block by intra BC unit 48, motion estimation unit 42, and motion compensation unit 44 to inter-predict another video block in a subsequent video frame.

[0053] Figure 3 1 is a block diagram showing an exemplary video decoder 30 according to some embodiments of the present application. The video decoder 30 includes a video data memory 79, an entropy decoding unit 80, a prediction processing unit 81, an inverse quantization unit 86, an inverse transform processing unit 88, an adder 90, and a DPB 92. The prediction processing unit 81 further includes a motion compensation unit 82, an intra-frame prediction unit 84, and an intra-frame BC unit 85. The video decoder 30 may perform the above-mentioned Figure 2 The encoding process is substantially the inverse of the decoding process described with respect to video encoder 20. For example, motion compensation unit 82 may generate prediction data based on motion vectors received from entropy decoding unit 80, and intra-prediction unit 84 may generate prediction data based on intra-prediction mode indicators received from entropy decoding unit 80.

[0054] In some examples, embodiments of the present disclosure may be dispersed in one or more of the units of the video decoder 30. For example, the intra BC unit 85 may perform embodiments of the present application alone or in combination with other units of the video decoder 30, such as the motion compensation unit 82, the intra prediction unit 84, and the entropy decoding unit 80. In some examples, the video decoder 30 may not include the intra BC unit 85, and the functions of the intra BC unit 85 may be performed by other components of the prediction processing unit 81, such as the motion compensation unit 82.

[0055] Video data memory 79 may store video data, such as an encoded video bitstream, to be decoded by other components of video decoder 30. Video data stored in video data memory 79 may be obtained, for example, from storage device 32, from a local video source (e.g., a camera), via wired or wireless network communication of video data, or by accessing a physical data storage medium (e.g., a flash drive or hard disk).

[0056] During the decoding process, the video decoder 30 receives an encoded video bitstream representing video blocks of an encoded video frame and associated syntax elements. The entropy decoding unit 80 of the video decoder 30 entropy decodes the bitstream to generate quantization coefficients, motion vectors or intra-frame prediction mode indicators, and other syntax elements. The entropy decoding unit 80 then forwards the motion vectors or intra-frame prediction mode indicators, and other syntax elements to the prediction processing unit 81.

[0057] When a video frame is encoded as an intra-prediction coded (I) frame or for intra-coded prediction blocks in other types of frames, the intra-prediction unit 84 of the prediction processing unit 81 can generate prediction data for a video block of the current video frame based on the intra-prediction mode transmitted by the signal and reference data from a previously decoded block of the current frame.

[0058] When the video frame is encoded as an inter-frame prediction coding (i.e., B or P) frame, the motion compensation unit 82 of the prediction processing unit 81 generates one or more prediction blocks for the video block of the current video frame based on the motion vector and other syntax elements received from the entropy decoding unit 80. Each of the prediction blocks can be generated from a reference frame in one of the reference frame lists. The video decoder 30 can construct the reference frame lists, i.e., List 0 and List 1, based on the reference frames stored in the DPB 92 using a default construction technique.

[0059] In some examples, when a video block is encoded according to the intra BC mode described herein, intra BC unit 85 of prediction processing unit 81 generates a prediction block for the current video block based on the block vector and other syntax elements received from entropy decoding unit 80. The prediction block may be within a reconstructed region of the same picture as the current video block as defined by video encoder 20.

[0060] Motion compensation unit 82 and / or intra BC unit 85 determine prediction information for a video block of the current video frame by parsing motion vectors and other syntax elements, and then use the prediction information to generate a prediction block for the current video block being decoded.

[0061] Motion compensation unit 82 may also perform interpolation using interpolation filters as used by video encoder 20 during encoding of the video blocks to calculate interpolated values ​​for sub-integer pixels of reference blocks. In this case, motion compensation unit 82 may determine the interpolation filters used by video encoder 20 based on the received syntax elements and use these interpolation filters to produce the prediction blocks.

[0062] Inverse quantization unit 86 inverse quantizes the quantized transform coefficients provided in the bitstream and entropy decoded by entropy decoding unit 80, using the same quantization parameters calculated by video encoder 20 for each video block in the video frame to determine the degree of quantization. Inverse transform processing unit 88 applies an inverse transform (e.g., an inverse DCT, an inverse integer transform, or a conceptually similar inverse transform process) to the transform coefficients to reconstruct the residual block in the pixel domain.

[0063] After the motion compensation unit 82 or the intra BC unit 85 generates a prediction block for the current video block based on the vector and other syntax elements, the adder 90 reconstructs the decoded video block for the current video block by adding the residual block from the inverse transform processing unit 88 to the corresponding prediction block generated by the motion compensation unit 82 and the intra BC unit 85. A loop filter 91 (e.g., a deblocking filter, an SAO filter, a CCSAO filter, and / or an ALF) may be located between the adder 90 and the DPB 92 to further process the decoded video block. In some examples, the loop filter 91 may be omitted, and the decoded video block may be provided directly to the DPB 92 by the adder 90. The decoded video blocks in a given frame are then stored in the DPB 92, which stores reference frames for subsequent motion compensation of the next video block. The DPB 92 or a memory device separate from the DPB 92 may also store the decoded video for later presentation on a display device (e.g., Figure 1 on a display device 34).

[0064] like Figure 4A As shown in , the video encoder 20 (or more specifically, the partitioning unit 45) generates an encoded representation of a frame by first partitioning the frame into a set of CTUs. A video frame may include an integer number of CTUs ordered consecutively from left to right and from top to bottom in a raster scan order. Each CTU is the largest logical coding unit, and the width and height of the CTU are signaled by the video encoder 20 in a sequence parameter set so that all CTUs in a video sequence have the same size, one of 128×128, 64×64, 32×32, and 16×16. It should be noted, however, that the present application is not necessarily limited to a particular size. As Figure 4B As shown in , each CTU may include one CTB for luma samples, two corresponding coding tree blocks for chroma samples, and syntax elements for encoding samples of the coding tree blocks. The syntax elements describe the properties of different types of units of the coding pixel blocks and how the video sequence can be reconstructed at the video decoder 30, including inter-frame prediction or intra-frame prediction, intra-frame prediction mode, motion vectors, and other parameters. In a monochrome picture or a picture with three separate color planes, a CTU may include a single coding tree block and syntax elements for encoding samples of the coding tree block. The coding tree block may be an N×N block of samples.

[0065] To achieve better performance, the video encoder 20 may recursively perform tree partitioning, such as binary tree partitioning, ternary tree partitioning, quadtree partitioning, or a combination thereof, on the coding tree block of the CTU and divide the CTU into smaller CUs. Figure 4C As depicted in , a 64×64 CTU 400 is first divided into four smaller CUs, each CU having a block size of 32×32. Among the four smaller CUs, CU 410 and CU 420 are respectively divided into four CUs with a block size of 16×16. Two 16×16 CUs 430 and CU 440 are further divided into four CUs with a block size of 8×8. Figure 4D Depicted is a diagram showing Figure 4C The quadtree data structure of the final result of the partitioning process of the CTU 400 depicted in FIG. 4 corresponds to a CU of a corresponding size ranging from 32×32 to 8×8. Figure 4B In the CTU depicted in FIG, each CU may include a CB of luma samples and two corresponding coding blocks of chroma samples of the same size frame, and syntax elements for encoding the samples of the coding blocks. In a monochrome picture or a picture with three separate color planes, a CU may include a single coding block and syntax structures for encoding the samples of the coding block. It should be noted that Figure 4C and Figure 4D The quadtree partitioning depicted in FIG is for illustrative purposes only, and one CTU can be split into multiple CUs based on quadtree partitioning / ternary tree partitioning / binary tree partitioning to adapt to changing local characteristics. In the multi-type tree structure, one CTU is divided according to the quadtree structure, and each quadtree leaf CU can be further divided according to the binary and ternary tree structures. Figure 4E As shown, there are five possible partition types for a coding block with width W and height H, namely, quadruple partition, horizontal binary partition, vertical binary partition, horizontal ternary partition and vertical ternary partition.

[0066] In the H.266 / VVC standard, CTU is used as the basic unit of encoding, and a frame of image is divided into multiple CTUs for encoding. Different from the H.265 / HEVC standard, in the H.266 / VVC standard, CU can be square or rectangular, and a CTU may contain only one CU (without division) or may be divided into multiple CUs. CTU can be divided according to the multi-type tree (MTT) structure such as BT, TT, QT, etc., and the leaf nodes after division can be further divided using the MTT structure.

[0067] The division status of each node is identified by flags such as split_cu_flag, split_qt_flag, mtt_split_cu_vertical_flag, and mtt_split_cu_binary_flag. For example, split_cu_flag identifies whether the node is further divided; when split_cu_flag = 1, split_qt_flag identifies whether the node uses QT division; when split_qt_flag = 0, it is necessary to further identify whether the node uses BT division or TT division, mtt_split_cu_vertical_flag indicates the division direction (1 indicates vertical division; 0 indicates horizontal division), and mtt_split_cu_binary_flag indicates the division type (1 indicates BT division; 0 indicates TT division). It should be noted that the setting order of these syntax elements is related to the priority of CU or CTU for division selection. For example, for each QT node, if the division continues, QT division or horizontal BT (HBT), vertical BT (VBT), horizontal TT (HTT), and vertical TT (VTT) division can be used. Once BT or TT partitioning is performed, if the node continues to be partitioned, only HBT, VBT, HTT, VTT partitioning can be continued, and QT partitioning cannot be performed. Therefore, the priority of split_qt_flag is before mtt_split_cu_vertical_flag and mtt_split_cu_binary_flag.

[0068] In addition, in order to further remove the redundancy of the above MTT partitioning scheme, a time domain partitioning prediction scheme (also called a time domain partitioning prediction tool) is proposed, which mainly involves the following operations:

[0069] Parameter collection and use: After the reference frame is encoded, the time domain partition prediction parameters used later can be collected, such as the minimum QT depth (also called the minimum QT partition depth), the average QT depth (also called the average QT partition depth), the maximum MTT depth (also called the maximum MTT partition depth) and the average maximum MTT depth (also called the average maximum MTT partition depth) in the time domain reference area. The time domain partition prediction parameters can be obtained and stored after encoding each frame of the image. For example, for the reference frame, the QT depth and MTT depth can be counted at a 16×16 granularity. When the current CU or CTU is used, the corresponding time domain partition prediction parameters can be collected based on the co-located block of the reference frame (the size of the co-located block is the CTU size), that is, according to the collected 16×16 granularity information of the reference frame, 4 parameters for the co-located block are calculated, namely, the minimum QT depth, the average QT depth, the maximum MTT depth and the average maximum MTT depth. These four parameters can be used for the partition prediction of the current CU or CTU.

[0070] Prediction of partition mode: QT partition is allowed first according to the minimum and average QT depth of the reference image. The current partition mode is constrained based on the calculated minimum QT depth and average QT depth. For example, if the current QT depth is less than the minimum QT depth of the temporal reference -1, only non-partition and QT partition are allowed, or if the current QT depth is less than the average QT depth -1, QT partition, TT partition and non-partition are allowed, and BT partition is allowed when the parent node is TT partition.

[0071] Adaptive adjustment of MTT depth: Based on several coding information features (such as the frame type of the reference image, picture order count difference (POC difference), quantization parameter (QP), temporal layer (TemporalLayer), temporal ID, and collected temporal division parameters (such as the maximum and average values ​​of the QT depth, the average and maximum values ​​of the maximum MTT depth)), the maximum MTT depth is adaptively adjusted to allow local areas to be divided deeper or shallower, that is, the maximum MTT depth is adaptively increased or decreased according to the temporal information.

[0072] Adjustment of the order of syntax elements for QT partitioning: If the current QT depth is less than the average QT depth of the time domain reference, it indicates that QT has a higher priority at this time, and split_qt_flag should be placed before split_cu_flag.

[0073] The partitioning method of a CU or CTU is determined by using a time domain partition prediction tool in combination with syntax elements related to the partitioning state.

[0074] In the current partition prediction scheme, only a flag about the time domain partition prediction tool is added at the sequence level. For example, there is only a control switch at the sequence level for enabling the time domain partition prediction tool, such as a control switch flag defined in a sequence parameter set (SPS).

[0075] However, this time-domain partition prediction tool is closely related to the video content and the coding control parameters (such as QP). It has an inherent time-domain dependency (i.e., the relevance of the current frame to the reference frame) and is sensitive to QP and video content. In other words, the effectiveness of the time-domain partition prediction tool varies greatly on different sequence contents, and not all video frames can be well applied to this time-domain partition prediction tool. If only the sequence-level control switch flag is used, the encoding and decoding efficiency will be low. Therefore, it is necessary to further improve the adaptability of the time-domain partition prediction tool.

[0076] In view of the above problems, according to the present disclosure, a control switch flag below the sequence level is provided, so that the activation of the time domain division prediction tool can be more accurately controlled, thereby improving the encoding and decoding efficiency. The embodiments of the present disclosure will be described in detail below.

[0077] Figure 5 is a flowchart of a video decoding method according to some embodiments of the present disclosure. Figure 5 The precautions shown can be Figure 3 The decoder shown is implemented.

[0078] Reference Figure 5 In step 501, a first syntax element is obtained from a bitstream at a target level lower than a sequence level, wherein the first syntax element indicates whether a time-domain partition prediction tool is enabled for a target prediction object corresponding to the target level, and the time-domain partition prediction tool is used to determine partition information of the target prediction object based on partition information of a time-domain reference object of the target prediction object.

[0079] According to an embodiment of the present disclosure, the target level may include one or more levels of a picture level, a slice level, and a coding tree unit CTU level.

[0080] When the target level is a picture level, the target prediction object may be the current picture. When the target level is a slice level, the target prediction object may be the current slice. When the target level is a CTU level, the target prediction object may be the current CTU.

[0081] According to the time domain partitioning prediction tool of the present disclosure, it can be configured to use the reference image of the current image for prediction for the current image, use the co-located strip in the reference image of the current image or a block larger than the strip size for prediction for the current strip, and use the co-located CTU in the reference image of the current image or a block larger than the CTU size for prediction for the current CTU.

[0082] In the case where the first syntax element is for the image level, adaptive switch control of the time domain partition prediction tool at the image level can be implemented. At this time, the first syntax element can be used to control the partitioning decision of all coding blocks in the current image and / or the encoding and decoding method regarding the partitioning. For example, the first syntax element at the image level can be used to control whether to turn on the switch for enabling the time domain partition prediction tool in the current frame. When the switch is turned on, the time domain partition prediction tool can be used to predict all coding blocks (such as CU) in the current image. The image-level time domain partition prediction tool can be used to determine the partition information of the current image based on the partition information of the reference image of the current image. Here, the partition information may include but is not limited to information such as the minimum QT depth, the average QT depth, the maximum MTT depth, and the average maximum MTT depth.

[0083] In the case where the first syntax element is for the slice level, adaptive switch control of the temporal partition prediction tool at the slice level can be implemented. At this time, the first syntax element can be used to control the partition decision of all coding blocks in the current slice and / or the encoding and decoding method of the partition. The temporal partition prediction tool at the slice level can be used to determine the partition information of the current slice based on the partition information of the reference slice in the reference image of the current slice.

[0084] For example, the first syntax element may be ph_partitioning_prediction_flag, and may be set in a picture header or a picture parameter set.

[0085] The following shows the improvements of the picture header syntax elements in the VVC standard in the present disclosure, as described in the following Tables 1 and 2. The newly added first syntax element in Tables 1 and 2 is shown in bold italic font.

[0086] Table 1

[0087] … Descriptors ph_partitioning_prediction_flag ue(v) … if(ph_inter_slice_allowed_flag){ if(ph_partition_constraints_override_flag){ ph_log2_diff_min_qt_min_cb_inter_slice ue(v) ph_max_mtt_hierarchy_depth_inter_slice ue(v) if(ph_max_mtt_hierarchy_depth_inter_slice!=0){ ph_log2_diff_max_bt_min_qt_inter_slice ue(v) ph_log2_diff_max_tt_min_qt_inter_slice ue(v) } } …

[0088] Table 2

[0089]

[0090]

[0091] The position of the first syntax element described above is merely exemplary, and the present disclosure is not limited thereto.

[0092] In step 502, it is determined whether a time domain partition prediction tool is enabled for a target prediction object based on a first syntax element.

[0093] After obtaining the first syntax element, it may be determined whether to enable the time domain partition prediction tool based on the value of the first syntax element. For example, when the value of the first syntax element is 1, it may be determined that the time domain partition prediction tool is enabled. When the value of the first syntax element is 0, it may be determined that the time domain partition prediction tool is not enabled.

[0094] In step 503, based on the determination that the time domain partition prediction tool is enabled for the target prediction object, prediction is performed on the target prediction object using the time domain partition prediction tool.

[0095] When the time domain partition prediction tool is enabled, the partitioning method of the target prediction object may be determined by combining the time domain partition prediction tool described above with the syntax elements related to the partitioning state.

[0096] According to an embodiment of the present disclosure, before obtaining a first syntax element from a bitstream, a second syntax element may be obtained from the bitstream at a sequence level, wherein the second syntax element indicates whether a time domain partition prediction tool can be enabled for the sequence level, and then based on determining that the time domain partition prediction tool can be enabled for the sequence level, the first syntax element is obtained at the target level. The second syntax element may be a control switch for the time domain partition prediction tool at the sequence level.

[0097] For example, when the target level is the picture level, the second syntax element for the sequence level may be first obtained from the bitstream. The second syntax element may indicate whether the time domain division prediction tool can be enabled for the picture sequence. When it is determined that the time domain division prediction tool can be enabled for the picture sequence, it indicates that the time domain division prediction tool can be used for each picture in the picture sequence. At this time, it may be further determined by the first syntax element whether the time domain division prediction tool is used for each picture in the picture sequence. When it is determined that the time domain division prediction tool is not enabled for the sequence level, it indicates that the time domain division prediction tool is not used for each picture in the picture sequence. At this time, it may be determined that the first syntax element does not exist and the first syntax element may be inferred to be zero.

[0098] For another example, when the target level is the slice level, the second syntax element for the sequence level is first obtained from the bitstream. The second syntax element may indicate whether the time domain division prediction tool can be enabled for the image sequence. When it is determined that the time domain division prediction tool can be enabled for the image sequence, it indicates that the time domain division prediction tool can be used for each image in the image sequence. At this time, it can be further determined by the first syntax element whether the time domain division prediction tool is used for the current slice. When it is determined that the time domain division prediction tool is not enabled for the image sequence, it indicates that the time domain division prediction tool is not used for each image in the image sequence. At this time, it can be determined that the first syntax element does not exist and the first syntax element can be inferred to be zero.

[0099] According to an embodiment of the present disclosure, when the time-domain partition prediction tool is enabled for an image sequence, a first syntax element may be obtained at a target level lower than the sequence level to further determine whether the time-domain partition prediction tool is enabled for a target prediction object corresponding to the target level. When the time-domain partition prediction tool is not enabled for an image sequence, the first syntax element may not be obtained and may be directly inferred to be zero.

[0100] According to another embodiment of the present disclosure, corresponding syntax elements for controlling the activation of the time-domain partition prediction tool may be set at each level of the sequence level and levels below the sequence level (such as the picture level, the slice level, and the CTU level). For example, when the time-domain partition prediction tool can be enabled for the image sequence, it may be determined whether the time-domain partition prediction tool can be enabled for each image in the image sequence; when it is determined that the time-domain partition prediction tool can be enabled for the current image, it may be further determined whether the time-domain partition prediction tool can be enabled for each slice in the current image, and so on.

[0101] According to the present disclosure, by adding a control switch for the time domain division prediction tool at a target level below the sequence level, the time domain dependency of the video can be better controlled (such as because the time domain division prediction will introduce additional frame-level reference dependency, the control dependency of the video frame can be controlled), thereby better meeting the requirements of the video encoding and decoding functions and improving the compression performance.

[0102] Figure 6 is a flowchart of a video encoding method according to some embodiments of the present disclosure. Figure 6 The video encoding method shown can be Figure 2 The encoder shown is implemented.

[0103] Reference Figure 6 In step 601, it is determined whether a time domain partition prediction tool is used for a target prediction object corresponding to a target level lower than a sequence level, wherein the time domain partition prediction tool is used to determine partition information of the target prediction object based on partition information of a time domain reference object of the target prediction object.

[0104] According to an embodiment, the target level may include one or more of the following levels: picture level, slice level, coding tree unit CTU level.

[0105] Whether to use the time-domain partition prediction tool for the target prediction object may be determined based on at least one of a multi-pass encoding analysis result and a pre-analysis result before encoding the target prediction object.

[0106] For example, when the target prediction object is the current image, it may be determined based on the content or image features of the current image whether to use the time domain division prediction tool. For another example, the texture distribution of the entire frame image may be pre-analyzed to determine whether to use the time domain division prediction tool. For another example, it may be determined based on the actual MTT depth selection result whether to use the time domain division prediction tool. The above examples are merely exemplary, and the present disclosure is not limited thereto.

[0107] In step 602, a first syntax element for a target prediction object is determined, wherein the first syntax element indicates whether a time domain partition prediction tool is used for the target prediction object.

[0108] For example, when it is determined that the time domain partition prediction tool is used for the target prediction object, the value of the first syntax element may be determined to be 1. When it is determined that the time domain partition prediction tool is not used for the target prediction object, the value of the first syntax element may be determined to be 0 or not exist.

[0109] The first syntax element may be ph_partitioning_prediction_flag and is set in a picture header or a picture parameter set, such as the first syntax element added in the picture header as shown in Table 1 or Table 2 above.

[0110] At step 603, a first syntax element is signaled at a target level in a bitstream.

[0111] For example, in a case where it is determined that the value of the first syntax element is 1, the first syntax element may be signaled.

[0112] According to an embodiment of the present disclosure, it is possible to determine whether a time domain partitioning prediction tool can be used for a sequence level; determine a second syntax element for the sequence level, wherein the second syntax element indicates whether the time domain partitioning prediction tool can be used for the sequence level; and signal the second syntax element at the sequence level in a bitstream.

[0113] In case it is determined that the time domain partitioning prediction tool is not used for the sequence level, it may be determined that the time domain partitioning prediction tool is not used for the target level and the first syntax element is not signaled at the target level.

[0114] When it is determined to use the time domain partition prediction tool for the sequence level, it may be further determined whether to use the time domain partition prediction tool for a target prediction object corresponding to a target level lower than the sequence level to determine a first syntax element for the target level.

[0115] The above method can be implemented using an apparatus including one or more circuits, including an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a controller, a microcontroller, a microprocessor or other electronic components. The apparatus can use the circuit in combination with other hardware or software components to perform the above method. Each module, submodule, unit or subunit disclosed above can be implemented at least in part using one or more circuits.

[0116] Figure 7 A computing environment 1610 is shown coupled to a user interface 1650. The computing environment 1610 may be part of a data processing server. The computing environment 1610 includes a processor 1620, a memory 1630, and an input / output (I / O) interface 1640.

[0117] The processor 1620 generally controls the overall operation of the computing environment 1610, such as operations associated with display, data acquisition, data communication, and image processing. The processor 1620 may include one or more processors for executing instructions to perform all or some of the steps in the above method. In addition, the processor 1620 may include one or more modules that facilitate the interaction between the processor 1620 and other components. The processor may be a central processing unit (CPU), a microprocessor, a single-chip microcomputer, a graphics processing unit (GPU), etc.

[0118] The memory 1630 is configured to store various types of data to support the operation of the computing environment 1610. The memory 1630 may include predetermined software 1632. Examples of such data include instructions for any application or method operating on the computing environment 1610, video data sets, image data, etc. The memory 1630 may be implemented by using any type of volatile or non-volatile memory device or a combination thereof, such as a static random access memory (SRAM), an electrically erasable programmable read-only memory (EEPROM), an erasable programmable read-only memory (EPROM), a programmable read-only memory (PROM), a read-only memory (ROM), a magnetic memory, a flash memory, a magnetic disk, or an optical disk.

[0119] I / O interface 1640 provides an interface between processor 1620 and peripheral interface modules (e.g., keyboard, click wheel, buttons, etc.). Buttons may include, but are not limited to, a home button, a start scan button, and a stop scan button. I / O interface 1640 may be coupled to an encoder and a decoder.

[0120] In an embodiment, a non-transitory computer-readable storage medium including, for example, a plurality of programs in a memory 1630 and / or storing a bit stream generated by the above encoding method or a bit stream to be decoded by the above decoding method is also provided, wherein the plurality of programs can be executed by a processor 1620 in a computing environment 1610 to perform the above method. In one example, the plurality of programs can be executed by a processor 1620 in a computing environment 1610 to (for example, from Figure 2The video encoder 20 in the computing environment 1610 receives a bit stream or data stream including encoded video information (e.g., video blocks representing encoded video frames, and / or one or more associated syntax elements, etc.), and can also be executed by the processor 1620 in the computing environment 1610 to perform the above-mentioned decoding method according to the received bit stream or data stream. In another example, the multiple programs can be executed by the processor 1620 in the computing environment 1610 to perform the above-mentioned encoding method to encode the video information (e.g., video blocks representing video frames, and / or one or more associated syntax elements, etc.) into a bit stream or data stream, and can also be executed by the processor 1620 in the computing environment 1610 to (e.g., to Figure 3 Alternatively, a non-transitory computer-readable storage medium may store the bit stream or data stream generated by the encoder (e.g., Figure 2 The video encoder 20 in FIG. 1 generates a video signal for a decoder (eg, Figure 3 A bitstream or data stream including encoded video information (e.g., video blocks representing encoded video frames, and / or associated one or more syntax elements, etc.) used by the video decoder 30 in the video decoder 30 when decoding video data. The non-transitory computer-readable storage medium can be, for example, a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0121] In an embodiment, a bit stream generated by the above encoding method or a bit stream to be decoded by the above decoding method is provided. In an embodiment, a bit stream including encoded video information generated by the above encoding method or encoded video information to be decoded by the above decoding method is provided.

[0122] In an embodiment, a computing device is also provided, which includes: one or more processors (e.g., processor 1620); and a non-transitory computer-readable storage medium or memory 1630 in which multiple programs that can be executed by the one or more processors are stored, wherein the one or more processors are configured to perform the above-mentioned method when executing the multiple programs.

[0123] In an embodiment, a computer program product having instructions for storing or transmitting a bitstream is also provided, wherein the bitstream includes the encoded video information generated by the above encoding method or the encoded video information to be decoded by the above decoding method. In an embodiment, a computer program product including, for example, a plurality of programs in a memory 1630 is also provided, wherein the plurality of programs can be executed by a processor 1620 in a computing environment 1610 for performing the above method. For example, the computer program product may include a non-transitory computer-readable storage medium.

[0124] In an embodiment, the computing environment 1610 may be implemented by one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs), FPGAs, GPUs, controllers, microcontrollers, microprocessors, or other electronic components for performing the above methods.

[0125] In an embodiment, a method for storing a bit stream is also provided, comprising: storing the bit stream on a digital storage medium, wherein the bit stream comprises encoded video information generated by the above encoding method or encoded video information to be decoded by the above decoding method.

[0126] In an embodiment, a method for transmitting a bit stream generated by the above encoder is also provided. In an embodiment, a method for receiving a bit stream to be decoded by the above decoder is also provided.

[0127] The description of the present disclosure has been presented for purposes of illustration and is not intended to be exhaustive or limited to the present disclosure. Many modifications, variations, and alternative embodiments will be apparent to one of ordinary skill in the art having the benefit of the teachings presented in the foregoing description and the associated drawings.

[0128] Unless otherwise specifically stated, the order of steps of the method according to the present disclosure is intended to be illustrative only, and the steps of the method according to the present disclosure are not limited to the order specifically described above, but can be changed according to actual conditions. In addition, at least one of the steps of the method according to the present disclosure can be adjusted, combined or deleted according to actual needs.

[0129] The examples are chosen and described in order to explain the principles of the present disclosure and to enable other persons skilled in the art to understand the various embodiments of the present disclosure and to best utilize the basic principles and various embodiments with various modifications suitable for the specific use contemplated. Therefore, it will be understood that the scope of the present disclosure is not limited to the specific examples of the disclosed embodiments, and modifications and other embodiments are intended to be included within the scope of the present disclosure.

Claims

1. A video decoding method, comprising: Obtaining a first syntax element at a target level lower than a sequence level from a bitstream, wherein the first syntax element indicates whether a time-domain partition prediction tool is enabled for a target prediction object corresponding to the target level, the time-domain partition prediction tool being used to determine partition information of the target prediction object based on partition information of a time-domain reference object of the target prediction object; Determining whether to enable the time domain partition prediction tool for the target prediction object based on the first syntax element; and Based on determining to enable the time domain partition prediction tool for the target prediction object, the time domain partition prediction tool is used to perform prediction on the target prediction object.

2. The method according to claim 1, wherein: The target level includes one or more of the following levels: picture level, slice level, coding tree unit CTU level.

3. The method according to claim 1, wherein: The first syntax element is ph_partitioning_prediction_flag and is set in a picture header or a picture parameter set.

4. The method according to claim 1, wherein: The obtaining a first syntax element from a bitstream at a target level lower than a sequence level comprises: Obtaining a second syntax element at the sequence level from the bitstream, wherein the second syntax element indicates whether the time domain partitioning prediction tool can be enabled for the sequence level; Based on determining that the time-domain partitioning prediction tool can be enabled for the sequence level, the first syntax element is obtained at the target level.

5. The method according to claim 4, further comprising: Based on determining that the time domain partitioning prediction tool is not enabled for the sequence level, determining that the first syntax element is not present and inferring that the first syntax element is zero.

6. A video encoding method, comprising: determining whether to use a time domain partition prediction tool for a target prediction object corresponding to a target level lower than a sequence level, wherein the time domain partition prediction tool is used to determine partition information of the target prediction object based on partition information of a time domain reference object of the target prediction object; Determine a first syntax element for the target prediction object, wherein the first syntax element indicates whether to use the time domain partition prediction tool for the target prediction object; The first syntax element is signaled at the target level in a bitstream.

7. The method according to claim 6, wherein: The target level includes one or more of the following levels: picture level, slice level, coding tree unit CTU level.

8. The method according to claim 6, wherein: The first syntax element is ph_partitioning_prediction_flag and is set in a picture header or a picture parameter set.

9. The method according to claim 6, further comprising: determining whether the time-domain partitioning prediction tool can be used for the sequence level; determining a second syntax element for the sequence level, wherein the second syntax element indicates whether the time domain partitioning prediction tool can be used for the sequence level; The second syntax element is signaled at the sequence level in the bitstream.

10. The method according to claim 9, further comprising: Based on determining not to use the time domain partitioning prediction tool for the sequence level, determining not to use the time domain partitioning prediction tool for the target level and not signaling the first syntax element at the target level.

11. The method according to claim 6, wherein: The determining whether to use a time domain partition prediction tool for a target prediction object corresponding to a target level lower than a sequence level comprises: Based on at least one of a multi-channel encoding analysis result and a pre-analysis result before encoding of the target prediction object, it is determined whether to use the time domain division prediction tool for the target prediction object.

12. A device for video encoding and decoding, comprising: one or more processors; as well as a memory coupled to the one or more processors and configured to store instructions executable by the one or more processors, Wherein, when executing the instructions, the one or more processors are configured to perform the method according to any one of claims 1-11.

13. A non-transitory computer-readable storage medium for storing computer-executable instructions, which when executed by one or more computer processors cause the one or more computer processors to perform the method according to any one of claims 1-11.

14. A computer program product having instructions for storing a bitstream, wherein: The bitstream includes: Video data to be decoded by the method of any one of claims 1 to 5; and / or Video data generated by the method according to any one of claims 6 to 11.

15. A method for storing a bit stream, comprising: storing the bitstream on a computer readable storage medium, The bit stream includes video data decoded according to the method according to any one of claims 1-5, and / or video data generated by the method according to any one of claims 6-11.

Citation Information

Patent Citations

  • Tile based addressing in video coding

    CN112690004A

  • Reference picture list and co-located picture signaling in video coding

    CN115191117A

  • Low layer (dci or mac ce) DL pellation indicator for positioning reference signal (PRS)

    CN118696520A