Video encoding method, video decoding method and video decoding device

By using geometric segmentation mode in video encoding, and selecting a suitable intra prediction mode for each partition, the problems of intra prediction complexity and signaling overhead in the prior art are solved, and more efficient coding is achieved.

CN119728966APending Publication Date: 2025-03-28TENCENT AMERICA LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510102998.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-06
Filing Date
2022-09-07
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The existing video encoding technology has problems with great complexity and signaling overhead in intra prediction, especially when dealing with multi-directional prediction.

Method used

Geometric segmentation mode (GPM) is used to divide the encoding unit (CU) into multiple partitions with right angles, and different intra prediction modes are determined for each partition, including directional and non-directional modes.

Benefits of technology

Through the segmentation of GPM and the flexible selection of prediction modes, the complexity and signaling overhead of decoding are reduced, and the encoding efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728966A_ABST
    Figure CN119728966A_ABST
Patent Text Reader

Abstract

The invention provides a video encoding method, a video decoding method and a video decoding device. In the method, encoded information of a coding unit (CU) in a picture of a video is received from an encoded video bitstream. The CU is partitioned into a first partition and a second partition based on a geometric partitioning pattern (GPM). The first section and the second section are sections having right angles adjacent to each other and divided by a straight dividing line. A first intra prediction mode for a first partition of the CU and a second intra prediction mode for a second partition of the CU are determined. The first intra prediction mode is different from the second intra prediction mode. A first partition of the CU is reconstructed based on a first intra prediction mode and a second partition of the CU is reconstructed based on a second intra prediction mode.
Need to check novelty before this filing date? Find Prior Art

Description

This application is a divisional application. The application date of the original application is September 7, 2022, and the application number is 202280006648.2. CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of priority to U.S. Patent Application No. 17 / 903,719, filed on September 6, 2022, entitled "GEOMETRICPARTITION BASED INTRAPREDICTION," which claims the benefit of priority to U.S. Provisional Application No. 63 / 261,248, filed on September 15, 2021, entitled "Geometric Partition Based IntraPrediction." The entire disclosure of the prior application is incorporated herein by reference. Technical Field

[0002] The present disclosure generally describes video decoding, and more particularly, describes a video encoding method, a video decoding method, a video decoding apparatus, and a non-transitory computer-readable storage medium. Background Art

[0003] The background description provided herein is for the purpose of generally presenting the context of the present disclosure. To the extent the work is described in this background section, the work of the presently named inventors and aspects of the description that may not otherwise be qualified as prior art at the time of filing are neither explicitly nor implicitly admitted to be prior art against the present disclosure.

[0004] Video encoding and decoding can be performed using inter-picture prediction with motion compensation. Uncompressed digital video can include a series of pictures, each with spatial dimensions of, for example, 1920×1080 luminance samples and associated chrominance samples. The series of pictures can have a fixed or variable picture rate (also informally referred to as a frame rate), such as 60 pictures per second or 60Hz. Uncompressed video has specific bit rate requirements. For example, 1080p60 4:2:0 video at 8 bits per sample (1920×1080 luminance sample resolution at 60Hz frame rate) requires a bandwidth of nearly 1.5Gbit / s. One hour of such video requires more than 600 gigabytes of storage space.

[0005] One purpose of video encoding and decoding can be to reduce redundancy in the input video signal by compression. Compression can help reduce the bandwidth and / or storage space requirements mentioned above, in some cases by two orders of magnitude or more. Both lossless compression and lossy compression and their combinations can be used. Lossless compression refers to a technique that can reconstruct an exact copy of the original signal based on the compressed original signal. When lossy compression is used, the reconstructed signal may be different from the original signal, but the distortion between the original signal and the reconstructed signal is small enough to make the reconstructed signal useful for the intended application. In the case of video, lossy compression is widely used. The amount of distortion tolerated depends on the application; for example, users of certain consumer streaming applications may tolerate higher distortion than users of television distribution applications. The achievable compression ratio can reflect that a higher allowable / tolerable distortion can produce a higher compression ratio.

[0006] Video encoders and decoders may utilize techniques from several broad categories including, for example, motion compensation, transforms, quantization, and entropy coding.

[0007] Video codec techniques may include techniques known as intra-frame coding. In intra-frame coding, sample values ​​are represented without reference to samples or other data from previously reconstructed reference pictures. In some video codecs, pictures are spatially subdivided into sample blocks. When all sample blocks are encoded in intra-frame mode, the picture may be an intra-frame picture. Intra-frame pictures and their derivatives such as independent decoder refresh pictures can be used to reset the decoder state, and can therefore be used as the first picture in an encoded video bitstream and video session or as a still image. The samples of the intra-frame block can be subjected to transformation, and the transform coefficients can be quantized before entropy coding. Intra-frame prediction can be a technique for minimizing sample values ​​in the pre-transform domain. In some cases, the smaller the DC value after the transformation and the smaller the AC coefficient, the fewer bits are required to represent the block after entropy coding at a given quantization step size.

[0008] Conventional intra-frame coding, such as known from, for example, MPEG (Moving Picture Experts Group, MPEG)-2 generation coding techniques, does not use intra-frame prediction. However, some newer video compression techniques include techniques that attempt to use surrounding sample data and / or metadata obtained during encoding and / or decoding of data blocks that are spatially adjacent and preceding in decoding order. Such techniques are hereinafter referred to as "intra-frame prediction" techniques. Note that, in at least some cases, intra-frame prediction uses reference data only from the current picture being reconstructed, and does not use reference data from reference pictures.

[0009] There can be many different forms of intra-frame prediction. When more than one such technique can be used in a given video coding technique, the technique used can be encoded in the intra-frame prediction mode. In some cases, a mode can have sub-modes and / or parameters, and these sub-modes and / or parameters can be encoded separately or included in the mode codeword. Which codeword is used for a given mode, sub-mode and / or parameter combination may have an impact on the coding efficiency gain through intra-frame prediction, and therefore the entropy coding technique used to convert the codeword into a bitstream.

[0010] Some modes of intra prediction were introduced with H.264, refined in H.265, and further refined in newer coding techniques such as the Joint Exploration Model (JEM), Versatile Video Coding (VVC), and Benchmark set (BMS). Neighboring sample values ​​belonging to samples that are already available can be used to form a prediction block. Sample values ​​of neighboring samples are copied into the prediction block according to the direction. A reference to the direction in use can be encoded in the bitstream, or it can be predicted itself.

[0011] Reference Figure 1 , depicted at the bottom right is a subset of nine predictor directions known from the 33 possible predictor directions of H.265 (corresponding to the 33 angular modes of the 35 intra modes). The point (101) where the arrows converge represents the sample being predicted. The arrows represent the direction in which the sample is predicted. For example, arrow (102) indicates that sample (101) is predicted based on one or more samples at a 45 degree angle to the horizontal line at the top right. Similarly, arrow (103) indicates that sample (101) is predicted based on one or more samples at a 22.5 degree angle to the horizontal line at the bottom left of sample (101).

[0012] Still refer to Figure 1, depicted at the top left is a square block (104) of 4×4 samples (indicated by the bold dashed line). The square block (104) includes 16 samples, each of which is labeled with "S", its position in the Y dimension (e.g., row index), and its position in the X dimension (e.g., column index). For example, sample S21 is the second sample in the Y dimension (from the top) and the first sample in the X dimension (from the left). Similarly, sample S44 is the fourth sample in block (104) in both the Y and X dimensions. Since the size of the block is 4×4 samples, S44 is at the bottom right. Also shown are reference samples, which follow a similar numbering scheme. The reference samples are labeled with R, their Y position (e.g., row index), and X position (column index) relative to the block (104). In both H.264 and H.265, the prediction samples are adjacent to the block being reconstructed; therefore, there is no need to use negative values.

[0013] Intra-picture prediction can work by appropriately copying reference sample values ​​from neighboring samples according to the signaled prediction direction. For example, assume that the encoded video bitstream includes the following signaling, which indicates, for this block, a prediction direction consistent with arrow (102) - that is, the sample is predicted based on one or more prediction samples to the upper right at a 45 degree angle to the horizontal. In this case, samples S41, S32, S23, and S14 are predicted based on the same reference sample R05. Then, sample S44 is predicted based on reference sample R08.

[0014] In some cases, the values ​​of multiple reference samples may be combined, such as by interpolation, in order to compute a reference sample; particularly if the directions do not divide evenly by 45 degrees.

[0015] As video coding technology develops, the number of possible directions is also increasing. In H.264 (2003), nine different directions can be represented. In H.265 (2013), this increased to 33, and when disclosed, JEM / VVC / BMS can support up to 65 directions. Experiments have been conducted to identify the most likely directions, and certain techniques in entropy coding are used to represent these possible directions with a small number of bits, thereby accepting certain penalties for less likely directions. In addition, the direction itself can sometimes be predicted based on the neighboring directions used in adjacent decoded blocks.

[0016] Figure 2 A schematic diagram (201) depicting 65 intra prediction directions according to JEM is shown to illustrate the increase in the number of prediction directions over time.

[0017] The mapping of intra-prediction direction bits representing directions in the coded video bitstream may vary from one video coding technique to another; and the mapping may range, for example, from a simple direct mapping of prediction directions to intra-prediction modes, to codewords, to complex adaptive schemes involving most probable modes, and similar techniques. However, in all cases, there may be some directions that are statistically less likely to appear in the video content than some other directions. Since the goal of video compression is to reduce redundancy, in a video coding technique that works well, those less likely directions will be represented by a larger number of bits than more likely directions. Summary of the invention

[0018] Aspects of the present disclosure provide methods and apparatus for video encoding / decoding.In some examples, an apparatus for video decoding includes receiving circuitry and processing circuitry.

[0019] According to one aspect of the present disclosure, a video decoding method performed in a video decoder is provided. In the method, encoded information of a coding unit (CU) in a picture of a video can be received from an encoded video bitstream. The CU can be partitioned into a first partition and a second partition based on a geometric partitioning mode (GPM), wherein the first partition and the second partition can be partitions with right angles adjacent to each other and divided by a straight dividing line. A first intra-frame prediction mode for the first partition of the CU and a second intra-frame prediction mode for the second partition of the CU can be determined. The first intra-frame prediction mode may be different from the second intra-frame prediction mode. The first partition of the CU can be reconstructed based on the first intra-frame prediction mode and the second partition of the CU can be reconstructed based on the second intra-frame prediction mode.

[0020] In some embodiments, a first intra prediction mode for a first partition of the CU may be determined from a plurality of candidate intra modes based on syntax elements included in the encoded information. A second intra prediction mode for a second partition of the CU may be determined as a plane intra mode.

[0021] In some embodiments, a first intra prediction mode for a first partition of the CU may be derived based on neighboring samples of the first partition of the CU. A second intra prediction mode for a second partition of the CU may be determined as a plane intra mode.

[0022] In some embodiments, a first intra prediction mode for a first partition of the CU may be derived based on neighboring samples of the first partition of the CU. A second intra prediction mode for a second partition of the CU may be derived based on neighboring samples of the second partition of the CU.

[0023] In some embodiments, a first intra prediction mode for a first partition of a CU may be determined from a plurality of candidate intra modes based on a syntax element included in the encoded information. A second intra prediction mode for a second partition of the CU may be determined as an intra mode adjacent to the first intra prediction mode. The intra mode adjacent to the first intra prediction mode may be equal to the remainder of the adjusted first intra prediction mode divided by a positive integer. The adjusted first intra prediction mode may be equal to the sum of the first intra prediction mode and an offset. A positive integer may indicate the number of available intra prediction modes for a CU.

[0024] In this method, the number of luma samples of the CU may be equal to or greater than 64.

[0025] In the method, based on the first partition of the CU having a larger area than the second partition of the CU, the first intra prediction mode of the first partition of the CU may be stored.

[0026] In the method, based on that the first partition of the CU includes a larger portion of the top side of the CU, a first intra prediction mode of the first partition of the CU may be stored.

[0027] In the method, based on the fact that the first partition of the CU includes a larger portion on the left side of the CU, a first intra prediction mode of the first partition of the CU may be stored.

[0028] In the method, based on the first intra prediction mode being a directional intra prediction mode and the second intra prediction mode being a non-directional intra prediction mode, the first intra prediction mode of the first partition of the CU may be stored.

[0029] In the method, based on the first intra prediction mode and the second intra prediction mode being directional intra prediction modes, the first intra prediction mode of the first partition of the CU may be stored, wherein the first partition may be associated with a first partition index of the GPM.

[0030] In the method, based on the first intra prediction mode and the second intra prediction mode being directional intra prediction modes, the second intra prediction mode of the second partition of the CU can be stored. The first partition of the CU can be associated with a first partition index of the GPM, and the second partition of the CU can be associated with a second partition index of the GPM.

[0031] According to another aspect of the present disclosure, a device is provided. The device includes a processing circuit system. The processing circuit system can be configured to perform any of the methods for video decoding.

[0032] Aspects of the present disclosure also provide a non-transitory computer-readable medium storing instructions which, when executed by a computer for video decoding, cause the computer to perform any of the methods for video decoding.

[0033] According to the above method and device, the CU can be partitioned into a first partition and a second partition based on GPM, wherein the first partition and the second partition can be partitions adjacent to each other and divided by a straight dividing line with a right angle, and then a first intra-frame prediction mode for the first partition of the CU and a second intra-frame prediction mode for the second partition of the CU are determined. Finally, the first partition of the CU can be reconstructed based on the first intra-frame prediction mode and the second partition of the CU can be reconstructed based on the second intra-frame prediction mode. In this way, the decoding complexity and signaling overhead can be reduced. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Additional features, properties, and various advantages of the disclosed subject matter will become more apparent from the following detailed description and accompanying drawings, in which:

[0035] Figure 1 is a schematic illustration of an exemplary subset of intra prediction modes.

[0036] Figure 2 is a diagram of exemplary intra prediction directions.

[0037] Figure 3 is a schematic illustration of a simplified block diagram of a communication system according to an embodiment.

[0038] Figure 4 is a schematic illustration of a simplified block diagram of a communication system according to another embodiment.

[0039] Figure 5 is a schematic illustration of a simplified block diagram of a decoder according to an embodiment.

[0040] Figure 6 is a schematic illustration of a simplified block diagram of an encoder according to an embodiment.

[0041] Figure 7 A block diagram of an encoder according to another embodiment is shown.

[0042] Figure 8 A block diagram of a decoder according to another embodiment is shown.

[0043] Fig. 9 An exemplary angular distribution of a Geometric Partition Mode (GPM) according to an embodiment is shown.

[0044] Fig.10Exemplary segmentation lines for a GPM are shown, according to an embodiment.

[0045] Fig.11 An exemplary predefined geometric partitioning according to an embodiment is shown.

[0046] Fig.12 An exemplary combination of Quad-Tree plus Binary-Tree (QTBT) partitioning and geometric partitioning according to an embodiment is shown.

[0047] Fig.13A A first exemplary segmentation on a sample cell according to an embodiment is shown.

[0048] Fig. 13B A second exemplary segmentation on a sample cell according to an embodiment is shown.

[0049] Fig.14 A flowchart outlining an exemplary decoding process according to some implementations of the present disclosure is shown.

[0050] Fig.15 A flowchart outlining an exemplary encoding process according to some implementations of the present disclosure is shown.

[0051] Fig.16 is a schematic illustration of a computer system according to an embodiment. DETAILED DESCRIPTION

[0052] Figure 3 A simplified block diagram of a communication system (300) according to an embodiment of the present disclosure is shown. The communication system (300) includes a plurality of terminal devices that can communicate with each other via, for example, a network (350). For example, the communication system (300) includes a first pair of terminal devices (310) and (320) interconnected via the network (350). Figure 3 In the example, a first pair of terminal devices (310) and (320) perform unidirectional transmission of data. For example, the terminal device (310) can encode video data (e.g., a video picture stream captured by the terminal device (310)) for transmission to another terminal device (320) via a network (350). The encoded video data can be transmitted in the form of one or more encoded video bitstreams. The terminal device (320) can receive the encoded video data from the network (350), decode the encoded video data to recover the video picture, and display the video picture based on the recovered video data. Unidirectional data transmission may be common in media service applications, etc.

[0053] In another example, the communication system (300) includes a second pair of terminal devices (330) and (340) that perform bidirectional transmission of encoded video data, which bidirectional transmission may occur, for example, during a video conference. For the bidirectional transmission of data, in the example, each of the terminal devices (330) and (340) can encode video data (e.g., a video picture stream captured by the terminal device) for transmission to the other terminal device (330) and (340) via the network (350). Each of the terminal devices (330) and (340) can also receive the encoded video data transmitted by the other terminal device (330) and (340), and can decode the encoded video data to restore the video picture, and can display the video picture at an accessible display device based on the restored video data.

[0054] exist Figure 3 In the example, the terminal devices (310), (320), (330) and (340) may be shown as servers, personal computers and smart phones, but the principles of the present disclosure may not be so limited. The embodiments of the present disclosure are applicable to laptop computers, tablet computers, media players and / or dedicated video conferencing equipment. The network (350) represents the network between the terminal devices (310), (320), Any number of networks, including, for example, wired and / or wireless communication networks, may be used to transmit the encoded video data between (330) and (340). The communication network (350) may exchange data in circuit-switched channels and / or packet-switched channels. Representative networks include telecommunication networks, local area networks, wide area networks, and / or the Internet. For purposes of this discussion, the architecture and topology of the network (350) may be immaterial to the operation of the present disclosure unless otherwise noted below.

[0055] As examples of applications for the disclosed subject matter, Figure 4 The placement of a video encoder and a video decoder in a streaming environment is shown. The disclosed subject matter can be equally applicable to other video-enabled applications, including, for example, video conferencing, digital TV, storing compressed video on digital media including CD (Compact Disc, CD), DVD (Digital Versatile Disc, DVD), memory sticks, etc.

[0056] The streaming system may include a capture subsystem (413) that may include a video source (401), such as a digital camera, that creates, for example, an uncompressed video picture stream (402). In the example, the video picture stream (402) includes samples captured by the digital camera. The video picture stream (402) is depicted as a thick line to emphasize that when compared to the encoded video data (404), the video picture stream (402) is compressed. The video picture stream (402) may be processed by an electronic device (420) coupled to a video source (401) and including a video encoder (403). The video encoder (403) may include hardware, software, or a combination thereof to implement or embody aspects of the disclosed subject matter as described in more detail below. The encoded video data (404) may be processed by an electronic device (420) coupled to a video source (401) and including a video encoder (403). The video encoder (403) may include hardware, software, or a combination thereof to implement or embody aspects of the disclosed subject matter as described in more detail below. The encoded video data (or encoded video bitstream (404)) is depicted as a thin line to emphasize the lower data volume when compared to the video picture stream (402), which can be stored on the streaming server (405) for future use. One or more streaming client subsystems such as Figure 4 The client subsystems (406) and (408) in the streaming server (405) can access the streaming server (405) to retrieve copies (407) and (409) of the encoded video data (404). The client subsystem (406) can include, for example, a video decoder (410) in an electronic device (430). The video decoder (410) decodes the incoming copy (407) of the encoded video data and creates an output video picture stream (411) that can be presented on a display (412) (e.g., a display screen) or another presentation device (not depicted). In some streaming systems, the encoded video data (404), (407) and (409) (e.g., a video bitstream) can be encoded according to certain video encoding / compression standards. Examples of these standards include ITU-T (International Telecommunication Union-TelecommunicationStandardization Sector, ITU-T) H.265 Recommendation. In the example, the video coding standard under development is informally referred to as Versatile Video Coding (VVC). The disclosed subject matter can be used in the context of VVC.

[0057] Note that the electronic devices (420) and (430) may include other components (not shown). For example, the electronic device (420) may include a video decoder (not shown), and the electronic device (430) may also include a video encoder (not shown).

[0058] Figure 5A block diagram of a video decoder (510) according to an embodiment of the present disclosure is shown. The video decoder (510) may be included in an electronic device (530). The electronic device (530) may include a receiver (531) (e.g., receiving circuitry). The video decoder (510) may be used to replace Figure 4 A video decoder (410) is shown in an example.

[0059] A receiver (531) may receive one or more encoded video sequences to be decoded by a video decoder (510); in the same or another embodiment, one encoded video sequence is received at a time, wherein the decoding of each encoded video sequence is independent of the other encoded video sequences. The encoded video sequence may be received from a channel (501), which may be a hardware / software link to a storage device storing the encoded video data. The receiver (531) may receive the encoded video data as well as other data, such as encoded audio data and / or auxiliary data streams, which may be forwarded to their respective consuming entities (not depicted). The receiver (531) may separate the encoded video sequence from the other data. To prevent network jitter, a buffer memory (515) may be coupled between the receiver (531) and an entropy decoder / parser (520) (hereinafter referred to as "parser (520)"). In some applications, the buffer memory (515) is part of the video decoder (510). In other applications, the buffer memory (515) may be external to the video decoder (510) (not depicted). In still other applications, there may be a buffer memory (not depicted) external to the video decoder (510) to, for example, prevent network jitter, and there may be another buffer memory (515) internal to the video decoder (510) to, for example, handle playout timing. When the receiver (531) receives data from a store / forward device with sufficient bandwidth and controllability or from an isochronous network, the buffer memory (515) may not be needed, or the buffer memory (515) may be smaller. In order to use a packet network such as the Internet as much as possible, a buffer memory may be needed. (515), which buffer memory (515) may be relatively large and may advantageously be adaptively sized, and may be implemented at least in part in an operating system or similar element (not depicted) external to the video decoder (510).

[0060] The video decoder (510) may include a parser (520) to reconstruct symbols (521) from the encoded video sequence. The categories of these symbols include information for managing the operation of the video decoder (510) and potential information for controlling a presentation device such as a presentation device (512) (e.g., a display screen) that is not part of the electronic device (530) but can be coupled to the electronic device (530), such as Figure 5 As shown. The control information for the rendering device may be in the form of a supplementary enhancement information (SEI (Supplemental Enhancement Information, SEI) message) or a video usability information (VUI (Video Usability Information, VUI)) parameter set fragment (not depicted). The parser (520) may parse / entropy decode the received encoded video sequence. The encoding of the encoded video sequence may be performed according to a video coding technique or standard, and may follow various principles, including variable length coding, Huffman coding, arithmetic coding with or without context sensitivity, etc. The parser (520) may extract a subgroup parameter set for at least one of the subgroups of pixels in the video decoder from the encoded video sequence based on at least one parameter corresponding to the group. The subgroup may include a group of pictures (Group of Pictures, GOP), a picture, a tile, a slice, a macroblock, a coding unit (Coding Unit, CU), a block, a transform unit (Transform Unit, TU), a prediction unit (Prediction Unit, PU), etc. The parser (520) may also extract information such as transform coefficients, quantizer parameter values, motion vectors, etc. from the encoded video sequence.

[0061] The parser (520) may perform entropy decoding / parsing operations on the video sequence received from the buffer memory (515) to create symbols (521).

[0062] Depending on the type of coded video picture or part of coded video picture (e.g., inter-frame and intra-frame pictures, inter-frame blocks and intra-frame blocks) and other factors, the reconstruction of the symbol (521) may involve multiple different units. Which units are involved and how they are involved can be controlled by subgroup control information parsed by the parser (520) from the coded video sequence. For the sake of simplicity, such subgroup control information flow between the parser (520) and the following multiple units is not depicted.

[0063] In addition to the functional blocks already mentioned, the video decoder (510) can be conceptually subdivided into a number of functional units as described below. In a practical implementation operating under commercial constraints, many of these units interact closely with each other and may be at least partially integrated with each other. However, for the purpose of describing the disclosed subject matter, the conceptual subdivision into the following functional units is appropriate.

[0064] The first unit is a sealer / inverse transform unit (551). The sealer / inverse transform unit (551) receives quantized transform coefficients as symbols (521) from the parser (520) and control information including which transform to use, block size, quantization factor, quantization scaling matrix, etc. The sealer / inverse transform unit (551) can output a block including sample values, which can be input into an aggregator (555).

[0065] In some cases, the output samples of the scaler / inverse transform (551) may belong to an intra-coded block; that is, a block that does not use predictive information from a previously reconstructed picture, but may use predictive information from a previously reconstructed portion of the current picture. Such predictive information may be provided by an intra-picture prediction unit (552). In some cases, the intra-picture prediction unit (552) uses surrounding already reconstructed information obtained from a current picture buffer (558) to generate a block of the same size and shape as the block being reconstructed. For example, the current picture buffer (558) buffers a partially reconstructed current picture and / or a fully reconstructed current picture. In some cases, the aggregator (555) adds the prediction information already generated by the intra-prediction unit (552) to the output sample information as provided by the scaler / inverse transform unit (551) on a per-sample basis.

[0066] In other cases, the output samples of the scaler / inverse transform unit (551) may belong to an inter-frame coded block and potentially a motion compensated block. In this case, the motion compensated prediction unit (553) may access the reference picture memory (557) to obtain samples for prediction. After the obtained samples are motion compensated according to the symbols (521) belonging to the block, these samples may be added to the output of the scaler / inverse transform unit (551) (in this case called residual samples or residual signals) by the aggregator (555) to generate output sample information. The address in the reference picture memory (557) at which the motion compensated prediction unit (553) obtains the predicted samples may be controlled by a motion vector, which may be used for the motion compensated prediction unit (553) in the form of a symbol (521), which may have, for example, an X component, a Y component and a reference picture component. Motion compensation may also include interpolation of sample values ​​such as those obtained from the reference picture memory (557) when using sub-sample accurate motion vectors, motion vector prediction mechanisms, etc.

[0067] The output samples of the aggregator (555) may be subjected to various loop filtering techniques in a loop filter unit (556). The video compression techniques may include in-loop filter techniques controlled by parameters included in the coded video sequence (also referred to as a coded video bitstream) and available to the loop filter unit (556) as symbols (521) from the parser (520), but the video compression techniques may also be responsive to meta-information obtained during decoding of a previous (in decoding order) portion of a coded picture or coded video sequence, and to previously reconstructed and loop filtered sample values.

[0068] The output of the loop filter unit (556) may be a sample stream that may be output to a rendering device (512) and stored in a reference picture memory (557) for use in future inter-picture prediction.

[0069] Once fully reconstructed, certain coded pictures can be used as reference pictures for future prediction. For example, once the coded picture corresponding to the current picture is fully reconstructed and the coded picture has been identified as a reference picture (e.g., by the parser (520)), the current picture buffer (558) can become part of the reference picture memory (557) and a new current picture buffer can be reallocated before starting to reconstruct a subsequent coded picture.

[0070] The video decoder (510) may perform decoding operations according to a predetermined video compression technique in a standard such as ITU-T H.265 Recommendation. The encoded video sequence may conform to the syntax specified by the video compression technology or standard used in the sense that the encoded video sequence follows both the syntax of the video compression technology or standard and the profile recorded in the video compression technology or standard. Specifically, the profile may select certain tools from all the tools available in the video compression technology or standard as tools available only under the profile. For compliance, the complexity of the encoded video sequence is also required to be within a range as defined by the hierarchy of the video compression technology or standard. In some cases, the hierarchy limits the maximum picture size, the maximum frame rate, the maximum reconstruction sampling rate (measured in, for example, mega samples per second), the maximum reference picture size, etc. In some cases, the limits set by the hierarchy may be further defined by the Hypothetical Reference Decoder (HRD) specification and metadata for HRD buffer management signaled in the encoded video sequence.

[0071] In an embodiment, the receiver (531) may receive additional (redundant) data along with the encoded video. The additional data may be included as part of the encoded video sequence. The video decoder (510) may use the additional data to properly decode the data and / or more accurately reconstruct the original video data. The additional data may be in the form of, for example, temporal, spatial or signal-to-noise ratio (SNR) enhancement layers, redundant slices, redundant pictures, forward error correction codes, etc.

[0072] Figure 6 A block diagram of a video encoder (603) according to an embodiment of the present disclosure is shown. The video encoder (603) is included in an electronic device (620). The electronic device (620) includes a transmitter (640) (e.g., a transmission circuit system). The video encoder (603) can be used to replace Figure 4 The video encoder (403) in the example.

[0073] The video encoder (603) can be obtained from a video source (601) (not Figure 6 In another example, the video source (601) is a part of the electronic device (620).

[0074] The video source (601) may provide a source video sequence to be encoded by the video encoder (603) in the form of a stream of digital video samples, which may have any suitable bit depth. (e.g., 8-bit, 10-bit, 12-bit, ...), any color space (e.g., BT.601 Y CrCB, RGB, ...), and any suitable sampling structure (e.g., Y CrCb 4:2:0, Y CrCb 4:4:4). In a media service system, a video source (601) may be a storage device that stores previously prepared videos. In a video conferencing system, a video source (601) may be a camera that captures local image information as a video sequence. The video data may be provided as a plurality of separate pictures that are given motion when viewed sequentially. The pictures themselves may be organized as a spatial pixel array, where each pixel may include one or more samples, depending on the sampling structure, color space, etc. used. The relationship between pixels and samples may be easily understood by those skilled in the art. The following description focuses on samples.

[0075] According to an embodiment, the video encoder (603) can encode and compress the pictures of the source video sequence into a coded video sequence in real time or under any other time constraints required by the application. (643). Implementing an appropriate encoding speed is a function of the controller (650). In some embodiments, the controller (650) controls other functional units as described below and is functionally coupled to the other functional units. For the sake of brevity, the coupling is not depicted. The parameters set by the controller (650) may include rate control related parameters (picture skipping, quantizer, lambda value of rate distortion optimization techniques, ...), picture size, picture group (GOP) layout, maximum motion vector search range, etc. The controller (650) can be configured to have other suitable functions belonging to the video encoder (603) optimized for a specific system design.

[0076] In some embodiments, the video encoder (603) is configured to operate in a coding loop. As a simplified description, in an example, the coding loop may include a source encoder (630) (e.g., responsible for creating symbols such as a symbol stream based on the input picture to be encoded and the reference picture) and a (local) decoder (633) embedded in the video encoder (603). The decoder (633) is used in conjunction with The (remote) decoder creates sample data in a similar way to reconstructing the symbols to create sample data (Because in the video compression techniques contemplated by the disclosed subject matter, any compression between the symbols and the encoded video bitstream is lossless.) The reconstructed sample stream (sample data) is input to a reference picture memory (634). Since the decoding of the symbol stream produces bit-accurate results that are independent of the decoder location (local or remote), the contents of the reference picture memory (634) are also bit-accurate between the local encoder and the remote encoder. In other words, the reference picture samples "seen" by the prediction portion of the encoder are exactly the same sample values ​​that the decoder will "see" when using prediction during decoding. The basic principles of reference picture synchronization (and the drift that results when synchronization cannot be maintained, for example due to channel errors) are also used in some related techniques.

[0077] The operation of the "local" decoder (633) can be combined with the "remote" decoder such as has been described above. Figure 5 The operation of the video decoder (510) described in detail is the same. However, reference is also briefly made to Figure 5 , since the symbols are available and the encoding of the symbols into a coded video sequence by the entropy encoder (645) and the decoding of the symbols by the parser (520) can be lossless, the entropy decoding portion of the video decoder (510) including the buffer memory (515) and the parser (520) may not be fully implemented in the local decoder (633).

[0078] At this point, it can be observed that any decoder technology other than the parsing / entropy decoding present in the decoder must also be present in the corresponding encoder in substantially the same functional form. For this reason, the disclosed subject matter focuses on the decoder operation. The description of encoder technology can be simplified because encoder technology is contrary to the decoder technology described comprehensively. Only in some parts is a more detailed description required and provided below.

[0079] In some examples, during operation, the source encoder (630) may perform motion compensated predictive coding that predictively encodes an input picture with reference to one or more previously encoded pictures from a video sequence designated as "reference pictures." In this manner, the encoding engine (632) encodes the differences between pixel blocks of the input picture and pixel blocks of a reference picture that may be selected as a prediction reference for the input picture.

[0080] The local video decoder (633) can decode the encoded video data of the picture that can be designated as the reference picture based on the symbols created by the source encoder (630). The operation of the encoding engine (632) can advantageously be a lossy process. When the encoded video data can be decoded at the video decoder ( Figure 6 The local video decoder (633) replicates the decoding process that may be performed by the video decoder on the reference picture and may cause the reconstructed reference picture to be stored in the reference picture cache. In this way, the video encoder (603) can store locally a copy of the reconstructed reference picture that has common content (without transmission errors) with the reconstructed reference picture to be obtained by the remote video decoder.

[0081] The predictor (635) may perform a prediction search for the encoding engine (632). That is, for a new picture to be encoded, the predictor (635) may search the reference picture memory (634) for sample data (as candidate reference pixel blocks) or specific metadata such as reference picture motion vectors, block shapes, etc. that may be used as appropriate prediction references for the new picture. The predictor (635) may operate on a pixel block by pixel block basis to find an appropriate prediction reference. In some cases, as determined by the search results obtained by the predictor (635), the input picture may have prediction references taken from multiple reference pictures stored in the reference picture memory (634).

[0082] The controller (650) can manage encoding operations of the source encoder (630), including, for example, setting parameters and subgroup parameters for encoding video data.

[0083] The outputs of all the above mentioned functional units may be subjected to entropy coding in an entropy encoder (645). The entropy encoder (645) converts the symbols generated by the various functional units into a coded video sequence by losslessly compressing the symbols according to techniques such as Huffman coding, variable length coding, arithmetic coding, etc.

[0084] The transmitter (640) can buffer the encoded video sequence created by the entropy encoder (645) in preparation for transmission via a communication channel (660), which can be a hardware / software link to a storage device where the encoded video data will be stored. The transmitter (640) can combine the encoded video data from the video encoder (603) with other data to be transmitted, such as encoded audio data and / or auxiliary data streams (source not shown).

[0085] The controller (650) may manage the operation of the video encoder (603). During encoding, the controller (650) may assign a certain encoding picture type to each encoded picture, which may affect the encoding techniques that may be applied to the corresponding picture. For example, a picture may generally be assigned one of the following picture types:

[0086] An intra picture (I picture) may be a picture that can be encoded and decoded without using any other picture in the sequence as a prediction source. Some video codecs allow different types of intra pictures, including, for example, Independent Decoder Refresh ("IDR") pictures. Those skilled in the art are aware of those variations of I pictures and their corresponding applications and features.

[0087] A predictive picture (P picture) may be a picture that can be encoded and decoded using inter prediction or intra prediction to predict sample values ​​of each block using at most one motion vector and a reference index.

[0088] Bi-directional predictive pictures (B pictures), which can be pictures that can be encoded and decoded using inter-prediction or intra-prediction that uses up to two motion vectors and reference indices to predict sample values ​​for each block. Similarly, multi-predictive pictures can use more than two reference pictures and associated metadata for reconstruction of a single block.

[0089] The source picture may typically be spatially subdivided into a number of blocks of samples (e.g., blocks of 4×4, 8×8, 4×8, or 16×16 samples, respectively), and encoded block by block. The blocks may be predictively encoded with reference to other (already encoded) blocks, which are determined by the coding allocation applied to the corresponding picture of the block. For example, blocks of an I picture may be non-predictively encoded, or may be predictively encoded (spatial prediction or intra-frame prediction) with reference to already encoded blocks of the same picture. Pixel blocks of a P picture may be predictively encoded via spatial prediction or via temporal prediction with reference to one previously encoded reference picture. Blocks of a B picture may be predictively encoded via spatial prediction or via temporal prediction with reference to one or two previously encoded reference pictures.

[0090] The video encoder (603) may perform encoding operations according to a predetermined video encoding technique or standard, such as ITU-T H.265 Recommendation. In the operation of the video encoder (603), the video encoder (603) may perform various compression operations, including predictive encoding operations that exploit temporal and spatial redundancy in the input video sequence. Thus, the encoded video data may conform to the syntax specified by the video encoding technique or standard used.

[0091] In an embodiment, the transmitter (640) may transmit additional data along with the encoded video. The source encoder (630) may include such data as part of the encoded video sequence. The additional data may include temporal / spatial / SNR enhancement layers, other forms of redundant data such as redundant pictures and slices, SEI messages, VUI parameter set fragments, etc.

[0092] Video can be captured as multiple source pictures (video pictures) in a temporal sequence. Intra-picture prediction (often referred to simply as intra-picture prediction) exploits spatial correlation in a given picture, while inter-picture prediction exploits (temporal or other) correlations between pictures. In an example, a particular picture in encoding / decoding, which is referred to as the current picture, is divided into blocks. In the case where a block in the current picture is similar to a reference block in a reference picture that has been previously encoded in the video and is still buffered, the block in the current picture can be encoded by a vector called a motion vector. The motion vector points to a reference block in a reference picture, and in the case of using multiple reference pictures, the motion vector may have a third dimension that identifies the reference picture.

[0093] In some embodiments, a bidirectional prediction technique may be used in inter-picture prediction. According to the bidirectional prediction technique, two reference pictures are used, for example, a first reference picture and a second reference picture that are both before the current picture in the video in decoding order (but may be in the past and future in display order, respectively). A block in the current picture may be encoded by a first motion vector pointing to a first reference block in the first reference picture and a second motion vector pointing to a second reference block in the second reference picture. A block may be predicted by a combination of the first reference block and the second reference block.

[0094] In addition, merge mode techniques can be used in inter-picture prediction to improve coding efficiency.

[0095] According to some embodiments of the present disclosure, predictions such as inter-picture prediction and intra-picture prediction are performed in units of blocks. For example, according to the HEVC (High Efficiency Video Coding, HEVC) standard, a picture in a video picture sequence is divided into coding tree units (Coding Tree Unit, CTU) for compression, and the CTUs in the picture have the same size, such as 64×64 pixels, 32×32 pixels, or 16×16 pixels. Typically, a CTU includes three coding tree blocks (Coding Tree Block, CTB), each of which is a luminance CTB and two chrominance CTBs. Each CTU can be recursively divided into one or more coding units (Coding Unit, CU) in a quadtree. For example, a 64×64 pixel CTU can be divided into a 64×64 pixel CU, or 4 32×32 pixel CUs, or 16 16×16 pixel CUs. In the example, each CU is analyzed to determine the prediction type for the CU, such as an inter-frame prediction type or an intra-frame prediction type. According to temporal and / or spatial predictability, the CU is divided into one or more prediction units (PUs). Typically, each PU includes a luma prediction block (PB) and two chroma PBs. In an embodiment, the prediction operation in decoding (encoding / decoding) is performed in units of prediction blocks. Using a luma prediction block as an example of a prediction block, the prediction block includes the values ​​of pixels. A matrix of (e.g., brightness values), such as 8×8 pixels, 16×16 pixels, 8×16 pixels, 16×8 pixels, etc.

[0096] Figure 7A diagram of a video encoder (703) according to another embodiment of the present disclosure is shown. The video encoder (703) is configured to receive a processed block (e.g., a predicted block) of sample values ​​within a current video picture in a sequence of video pictures, and encode the processed block into an encoded picture that is part of an encoded video sequence. In an example, the video encoder (703) is used instead of Figure 4 The video encoder (403) in the example.

[0097] In the HEVC example, the video encoder (703) receives a matrix of sample values ​​for a processing block, such as a prediction block of 8×8 samples. The video encoder (703) uses, for example, rate-distortion optimization to determine whether to use intra mode, inter mode, or bidirectional prediction mode to best encode the processing block. In the case where the processing block is to be encoded in intra mode, the video encoder (703) can use intra prediction techniques to encode the processing block into an encoded picture; and in the case where the processing block is to be encoded in inter mode or bidirectional prediction mode, the video encoder (703) can use inter prediction or bidirectional prediction techniques to encode the processing block into an encoded picture, respectively. In some video coding techniques, the merge mode can be an inter-picture prediction submode, in which motion vectors are derived from one or more motion vector predictors without the aid of encoded motion vector components external to the predictor. In some other video coding techniques, there may be motion vector components applicable to the subject block. In the example, the video encoder (703) includes other components, such as a mode decision module (not shown) for determining the mode of the processing block.

[0098] exist Figure 7 In this example, the video encoder (703) includes Figure 7 An inter-frame encoder (730), an intra-frame encoder (722), a residual calculator (723), a switch (726), a residual encoder (724), a general controller (721), and an entropy encoder (725) are shown coupled together.

[0099] The inter-frame encoder (730) is configured to: receive samples of a current block (e.g., a processing block); compare the block with one or more reference blocks in a reference picture (e.g., blocks in a previous picture and a subsequent picture); generate inter-frame prediction information (e.g., description of redundant information, motion vectors, merge mode information according to an inter-frame coding technique); and calculate an inter-frame prediction result (e.g., a prediction block) based on the inter-frame prediction information using any suitable technique. In some examples, the reference picture is a decoded reference picture that is decoded based on the encoded video information.

[0100] The intra encoder (722) is configured to: receive samples of a current block (e.g., a processing block); compare the block with an already encoded block in the same picture in some cases; generate quantization coefficients after transformation; and in some cases also generate intra prediction information (e.g., intra prediction direction information according to one or more intra coding techniques). In an example, the intra encoder (722) also calculates an intra prediction result (e.g., a predicted block) based on the intra prediction information and a reference block in the same picture.

[0101] The general controller (721) is configured to determine general control data and control other components of the video encoder (703) based on the general control data. In an example, the general controller (721) determines the mode of the block and provides a control signal to the switch (726) based on the mode. For example, when the mode is intra mode, the general controller (721) controls the switch (726) to select the intra mode result for use by the residual calculator (723), and controls the entropy encoder (725) to select intra prediction information and include the intra prediction information in the bitstream; and when the mode is inter mode, the general controller (721) controls the switch (726) to select the inter prediction result for use by the residual calculator (723), and controls the entropy encoder (725) to select the inter prediction information and include the inter prediction information in the bitstream.

[0102] The residual calculator (723) is configured to calculate the difference (residual data) between the received block and the prediction result selected from the intra-frame encoder (722) or the inter-frame encoder (730). The residual encoder (724) is configured to operate based on the residual data to encode the residual data to generate transform coefficients. In an example, the residual encoder (724) is configured to convert the residual data from the spatial domain to the frequency domain and generate transform coefficients. The transform coefficients are then subjected to quantization to obtain quantized transform coefficients. In various embodiments, the video encoder (703) also includes a residual decoder (728). The residual decoder (728) is configured to perform an inverse transform and generate decoded residual data. The decoded residual data can be used appropriately by the intra-frame encoder (722) and the inter-frame encoder (730). For example, the inter encoder (730) can generate a decoded block based on the decoded residual data and the inter prediction information, and the intra encoder (722) can generate a decoded block based on the decoded residual data and the intra prediction information. The decoded blocks are appropriately processed to generate a decoded picture, and in some examples, the decoded picture can be buffered in a memory circuit (not shown) and used as a reference picture.

[0103] The entropy encoder (725) is configured to format the bitstream to include the encoded blocks. The entropy encoder (725) is configured to include various information according to a suitable standard, such as the HEVC standard. In an example, the entropy encoder (725) is configured to include general control data, selected prediction information (e.g., intra-frame prediction information or inter-frame prediction information), residual information, and other suitable information in the bitstream. Note that according to the disclosed subject matter, when the block is encoded in inter-frame mode or the merge sub-mode of the bidirectional prediction mode, there is no residual information.

[0104] Figure 8 A diagram of a video decoder (810) according to another embodiment of the present disclosure is shown. The video decoder (810) is configured to receive an encoded picture as part of an encoded video sequence and decode the encoded picture to generate a reconstructed picture. In an example, the video decoder (810) is used to replace Figure 4 A video decoder (410) is shown in an example.

[0105] exist Figure 8 In this example, the video decoder (810) includes Figure 8 An entropy decoder (871), an inter-frame decoder (880), a residual decoder (873), a reconstruction module (874) and an intra-frame decoder (872) are shown coupled together.

[0106] The entropy decoder (871) can be configured to reconstruct certain symbols from the encoded picture, which represent syntax elements constituting the encoded picture. Such symbols may include, for example, a mode for encoding a block (such as, for example, an intra-frame mode, an inter-frame mode, a bidirectional prediction mode, a merged sub-mode of the inter-frame mode and the bidirectional prediction mode, or another sub-mode), prediction information (such as, for example, intra-frame prediction information or inter-frame prediction information) that can identify certain samples or metadata used by the intra-frame decoder (872) or the inter-frame decoder (880) for prediction, residual information in the form of, for example, quantized transform coefficients, etc. In an example, when the prediction mode is an inter-frame mode or a bidirectional prediction mode, the inter-frame prediction information is provided to the inter-frame decoder (880); and when the prediction type is an intra-frame prediction type, the intra-frame prediction information is provided to the intra-frame decoder (872). The residual information can be subjected to inverse quantization and provided to the residual decoder (873).

[0107] The inter-frame decoder (880) is configured to receive the inter-frame prediction information and generate an inter-frame prediction result based on the inter-frame prediction information.

[0108] The intra decoder (872) is configured to receive intra prediction information and generate a prediction result based on the intra prediction information.

[0109] The residual decoder (873) is configured to perform inverse quantization to extract dequantized transform coefficients, and process the dequantized transform coefficients to convert the residual from the frequency domain to the spatial domain. The residual decoder (873) may also require certain control information (to include quantizer parameters (Quantizer Parameter, QP)), and the information may be provided by the entropy decoder (871) (since this may only be a small amount of control information, the data path is not depicted).

[0110] The reconstruction module (874) is configured to combine the residual output by the residual decoder (873) with the prediction result (in this case, it can be output by the inter-frame prediction module or the intra-frame prediction module) in the spatial domain to form a reconstructed block, which can be part of a reconstructed picture, which in turn can be part of a reconstructed video. Note that other suitable operations such as deblocking operations can be performed to improve visual quality.

[0111] Note that the video encoders (403), (603) and (703) and the video decoders (410), (510) and (810) may be implemented using any suitable technology. In an embodiment, the video encoders (403), (603) and (703) and the video decoders (410), (510) and (810) may be implemented using one or more integrated circuits. In another embodiment, the video encoders (403), (603) and (703) and the video decoders (410), (510) and (810) may be implemented using one or more processors that execute software instructions.

[0112] The present disclosure includes implementations related to intra prediction based on geometric partitioning.

[0113] ITU-T VCEG (Video code Expert Group, VCEG) (Q6 / 16) and ISO (International Organization for Standardization, ISO) / IEC (International Electrotechnical Commission, IEC) MPEG (Motion Picture ExpertGroup, MPEG) (JTC 1 / SC 29 / WG 11) in 2013 (version 1), 2014 (version 2), 2015 The H.265 / HEVC (High Efficiency Video Coding) standard was announced in 2016 (version 3) and 2016 (version 4). In 2015, the two standards organizations jointly formed JVET (Joint Video Exploration Team, JVET) to explore the potential of developing the next video coding standard beyond HEVC. In April 2018, JVET formally launched the standardization process for the next generation of video coding beyond HEVC. The new standard was named Versatile Video Coding (VVC), and JVET was renamed the Joint Video Experts Group. In July 2020, H.266 / VVC version 1 was completed. In January 2021, an Ad Hoc group was established to study enhanced compression beyond the capabilities of VVC.

[0114] Geometric partition mode (GPM) can be applied to inter prediction. GPM can be applied only to CUs with a size of 8×8 or larger. GPM can be signaled, for example, using a CU level flag and acts as a merge mode. Other merge modes may include a regular merge mode, an MMVD (Merge Mode with Motion Vector Difference, MMVD) mode, a CIIP (Combined Intra / Inter Prediction, CIIP) mode, and / or a sub-block merge mode.

[0115] When using GPM, the CU can be split into two geometric partitions using one of a plurality of partitioning methods. In an embodiment, 64 different partitioning methods can be applied in GPM. The 64 different partitioning methods can be distinguished by 24 angles, which are non-uniformly quantized between 0° and 360° and up to 4 sides relative to the center of the CU. Fig. 9 An exemplary 24 angles applied in the GPM are shown. Fig.10 Shown with CU Example four possible partition edges associated with angles in the case of index 3 in (1002), wherein each of the partition edges can be associated with a corresponding distance index. The distance index can indicate a distance relative to the center of the CU (1002). In GPM, each geometric partition in the CU can be inter-predicted using a corresponding motion vector. In addition, only a single prediction can be allowed for each partition. For example, each partition can have one motion vector and one reference index. The constraint of allowing only a single prediction motion for each partition can ensure that only two motion compensated predictions are required for each CU, which also applies to, for example, conventional dual prediction.

[0116] If GPM is used for the current CU, a signal indicating a geometric partitioning index and two merge indexes (one merge index for each partition) may be further signaled. The maximum GPM candidate size may be explicitly signaled, for example, at the slice level. The maximum GPM candidate size may specify a syntactic binarization for the GPM merge index. After predicting each of the two geometric partitions, a hybrid process with adaptive weights may be used to adjust sample values ​​along the geometric partition edges. A prediction signal for the entire CU may be generated accordingly after the hybrid process. Transform and quantization processes may be further applied to the entire CU in other prediction modes. Finally, the motion field of the CU predicted using GPM may be stored.

[0117] GPM can be applied to support inter prediction and intra prediction, for example to enhance coding performance beyond VVC. For example, in addition to the motion vectors from the merge candidate list for each geometric partition in the CU to which GPM is applied, a predefined intra prediction mode for (or about) a geometric partition line can also be selected. The intra prediction mode or inter prediction mode can be determined for each geometric partition based on a flag. When inter prediction is selected, a single prediction signal can be generated by the MV from the merge candidate list. Otherwise, if the intra prediction mode is selected, a single prediction signal can be generated based on the following neighboring samples, which are predicted according to the intra prediction mode of the specified index. The variation of possible intra prediction modes can be limited by geometric shapes. Finally, the two single prediction signals can be mixed in the same way as ordinary GPM.

[0118] In order to reduce complexity and signaling overhead, changes in possible intra-frame prediction modes can be studied (or limited). For example, for two exemplary configurations, the impact of changes in possible intra-frame prediction modes on GPM in inter-frame prediction and intra-frame prediction is studied. The first configuration only tries parallel and vertical intra-frame directional modes for (or about) geometric partitions. In addition to parallel and vertical intra-frame angle modes for (or about) geometric partitions, plane modes are also tested in the second configuration. Two or three possible intra-frame prediction modes are tested for geometric partitions under GPM in inter-frame prediction and intra-frame prediction.

[0119] In intra prediction with geometric partitioning (GEO), block partitioning can be used to geometrically partition each CU using a predefined template. Fig.11 An exemplary geometric partitioning is shown in FIG. Fig.11As shown, sixteen exemplary predetermined geometric partitions can be applied to 16 CUs (1102) to (1117), respectively. Each of CUs (1102) to (1117) can be partitioned according to a corresponding predefined template. For example, in CU (1102), a straight partition line (1118) can partition CU (1102) into partition A and partition B, where partition A can include the upper left corner of CU (1102).

[0120] For each partition region in a CU, intra prediction or inter prediction can be used. Fig.12 An exemplary combination of quadtree plus binary tree (QTBT) partitioning and geometric partitioning is shown. Fig.12 As shown, in a GEO block (or a block partitioned using GEO), each partitioned region of the GEO block may be intra-coded or inter-coded. For example, in a GEO block (1202), the first partition A may be intra-coded and the second partition B may be inter-coded. In another GEO block (1204), both the first partition A and the second partition B may be inter-coded. Still referring to Fig.12 The non-GEO block (1206) may be partitioned into partition A and partition B through QTBT partitioning. Both the partition A and the partition B of the non-GEO block (1206) may be inter-coded or intra-coded.

[0121] For rectangular blocks using intra prediction and intra prediction, modified planar intra prediction can be applied to each sub-partition of the rectangular block. Subsequently, a shape adaptive transform can be applied to the residual sample values, which are equal to the original sample values ​​of the rectangular block minus the predicted sample values ​​of the rectangular block.

[0122] In a related example, the coding efficiency of intra prediction using geometric partitioning may not meet certain expectations. Therefore, improved geometric partitioning is needed.

[0123] In the present disclosure, instead of geometrically partitioning a rectangular block, intra prediction based on geometric partitioning (or intra prediction based on geometric partitioning) can be performed on the rectangular block. For the rectangular block, when intra prediction based on geometric partitioning is applied, a straight partition line can divide the rectangular block into two sub-regions, and each sub-region can perform intra prediction using a different intra prediction method or mode.

[0124] When applying intra prediction based on geometric partitioning, one sub-region may apply an intra mode based on information indicated in the bitstream, such as an intra mode signaled by the bitstream, while another sub-region may apply a predetermined intra mode, such as a plane intra mode. The intra mode signaled by the bitstream may include any intra mode signaled by any form of syntax element, such as the MPM method in VVC.

[0125] When applying intra prediction based on geometric partitioning, one sub-region may apply an intra-mode derived from the decoder side, while another sub-region may apply a predetermined intra-mode such as a planar intra-mode. The intra-mode derived from the decoder side may be obtained by any intra-mode derivation method performed on the decoder side. For example, the intra-mode derived from the decoder side may include decoder-side Intra Mode Derivation (DIMD) or template-based Intra Mode Derivation (TIMD). In DIMD, multiple candidate intra-modes may be determined based on a histogram of gradients (HOG) associated with neighboring samples of a block. In TIMD, multiple candidate intra-modes may be determined based on the cost values ​​of neighboring samples of a block (e.g., Sum of Absolute Difference (SAD) or Sum of Absolute Transformed Difference (SATD)).

[0126] When applying intra prediction based on geometric partitioning, two sub-regions can be determined in a similar manner. For example, both sub-regions can use the intra-frame mode derived on the decoder side. The intra-frame mode derived on the decoder side can be any intra-frame mode derived on the decoder side, such as DIMD or TIMD.

[0127] When intra prediction based on geometric partitioning is applied, the intra mode of one sub-region can be used to determine the intra mode of another sub-region. For example, the intra mode of other sub-regions can be adjacent to the intra mode of one sub-region. For example, the intra mode of a sub-region can be notified by a signal. In an embodiment, one sub-region can use an intra mode (e.g., signaled_intra_mode) signaled by the bitstream, while another sub-region can use an intra mode adjacent to the intra mode signaled by the bitstream. The intra mode signaled by the bitstream may include any intra mode signaled by any form of syntax element, such as the MPM method in VVC.

[0128] The adjacent intra mode (eg, adjacent_intra_mode) may be derived using a predefined offset 0. For example, the adjacent intra mode may be determined based on the following equation (1): adjacent_intra_mode=(signaled_intra_mode+O)%N Equation (1) Wherein, N may indicate the total number of available intra modes for each block (or each CU). In an example, N may be 66. A predefined offset O may also be provided in the bitstream, for example, in the SPS (Sequence Parameter Set, SPS), PPS (Picture Parameter Set, PPS), picture header or slice header. Therefore, according to equation (1), the intra-frame mode adjacent to the intra-frame mode signaled by the bitstream can be determined as the remainder of the sum of the signaled intra-frame mode and the predefined offset O divided by N.

[0129] In the present disclosure, intra prediction based on geometric partitioning may be applied only when the number of luma samples of the rectangular block is greater than or equal to a threshold, such as 64.

[0130] In the present disclosure, for intra prediction based on geometric partitioning, intra modes associated with intra prediction based on geometric partitioning may be stored in predefined units of pixel samples. For example, intra modes may be stored in units of 4×4 luma samples. When in various situations, such as in the construction of an MPM list or in a derived mode (DM) for chroma When referring to the intra mode of the position (x, y) (or the intra mode associated with the position (x, y)) under (e.g., the chroma block corresponding to the intra mode of the luma block), the intra mode stored in the unit of the 4×4 luma sample containing the position (x, y) may be referred to. For example, the intra mode stored in the unit of the 4×4 luma sample containing the position (x, y) may be determined as the inter mode for the MPM list, or may be determined as the intra mode of the corresponding luma block. The chroma block may further apply the intra mode of the corresponding luma block for intra prediction.

[0131] When a unit of samples is divided into two sub-regions and the two sub-regions are associated with different intra-modes, the intra-mode stored in the unit may be determined based on the size of the sub-region. In an embodiment, the intra-mode of the sub-region with the larger area may be stored in the unit (or in the unit of samples). For example, Fig.13A As shown, the block (1302) may be a unit such as a unit of 4×4 luma samples, and is divided into a partition B and a partition A by a straight dividing line (1304). The area of ​​the partition B may be larger than that of the partition A. Therefore, the intra mode for the partition B may be stored.

[0132] When a unit of samples is equally divided into two sub-regions and different intra-modes are associated with or used in the two sub-regions, the intra-mode stored in the unit may be determined based on a portion of one side of the unit included in the sub-region. The one side may be, for example, a top side or a left side.

[0133] In an embodiment, a sub-region covering more of the top line (or a larger portion of the top side) may be stored in the cell (or in the cell of the sample). Fig. 13B As shown, the block (1306) can be divided into partition C and partition D by a straight dividing line (1308). Partition C covers more of the top line (or a larger portion of the top side) of the block (1306). Therefore, the intra-mode for partition C can be stored.

[0134] In an embodiment, when a unit of samples is equally divided into two sub-regions and different intra modes are associated with or used in the two sub-regions, a sub-region covering a larger portion of the left line may be stored in the unit. Fig. 13B As shown, partition D covers more of the left line (or a larger portion of the left side) of the block (1306). Therefore, the intra mode for partition D can be stored.

[0135] When a unit of samples is divided into two sub-regions, different intra modes are associated with or used in the two sub-regions, and only one partition is encoded in a directional intra prediction mode, the intra mode to be stored may be determined based on which partition is encoded in a directional intra prediction mode. In an embodiment, the sub-region encoded in a directional intra prediction mode may be stored in the unit. For example, Fig. 13B As shown, when the intra-mode for partition D is a directional intra-prediction mode and the intra-mode for partition C is a non-directional intra-prediction mode, the intra-mode for partition D may be stored.

[0136] When the unit of samples is divided into two sub-regions, different intra-frame modes are associated with or used in the two sub-regions, and both intra-frame prediction modes of the two sub-regions are directional intra-frame modes, an index such as a geometric partitioning index may be used to determine which intra-frame mode is stored. In an embodiment, only the intra-frame prediction mode at the geometric partitioning index 0 (or the first partitioning index) may be stored. For example, Fig. 13B As shown, when both the intra-mode for partition C and the intra-mode for partition D are directional intra-modes and partition C is associated with partition index 0 (or the first partition index) of the GPM, the intra-mode of partition C may be stored.

[0137] In an embodiment, when the unit of samples is divided and contains different intra modes, and both intra prediction modes are directional intra modes, only the intra prediction mode at the geometric partition index 1 may be stored. Fig. 13B As shown, when the intra-frame mode for partition C and the intra-frame mode for partition D are both directional intra-frame modes and partition D is associated with the partition index 1 (or the second partition index) of the GPM, the intra-frame mode of partition D can be stored.

[0138] Fig.14 A flow chart outlining an exemplary decoding process (1400) according to some implementations of the present disclosure is shown. Fig.15 A flow chart outlining an exemplary encoding process (1500) according to some embodiments of the present disclosure is shown. The proposed process can be used alone or in combination in any order. In addition, each of the process (or embodiment), encoder, and decoder can be implemented by a processing circuit system (e.g., one or more processors or one or more integrated circuits). In one example, one or more processors execute a program stored in a non-transitory computer-readable medium.

[0139] In an embodiment, any operations of the processes (e.g., (1400) and (1500)) may be combined or arranged in any number or order as desired. In an embodiment, two or more operations of the processes (e.g., (1400) and (1500)) may be performed in parallel.

[0140] Processing (e.g., (1400) and (1500)) can be used for reconstruction and / or encoding of a block to generate a prediction block for the block being reconstructed. In various embodiments, processing (e.g., (1400) and (1500)) is performed by the following processing circuit system, which is, for example, a processing circuit system in terminal devices (310), (320), (330) and (340), a processing circuit system that performs the functions of a video encoder (403), a processing circuit system that performs the functions of a video decoder (410), a processing circuit system that performs the functions of a video decoder (510), a processing circuit system that performs the functions of a video encoder (603), etc. In some embodiments, processing (e.g., (1400) and (1500)) is implemented in software instructions, so when the processing circuit system executes the software instructions, the processing circuit system performs processing (e.g., (1400) and (1500)).

[0141] like Fig.14 As shown, the process (1400) may start from (S1401) and proceed to (S1410). At (S1410), encoded information of a CU in a picture of a video may be received from an encoded video bitstream.

[0142] At (S1420), the CU may be partitioned into a first partition and a second partition based on the GPM. The first partition and the second partition may be partitions adjacent to each other and divided by a straight dividing line with a right angle.

[0143] At (S1430), a first intra prediction mode for a first partition of the CU and a second intra prediction mode for a second partition of the CU may be determined. The first intra prediction mode may be different from the second intra prediction mode.

[0144] At (S1440), a first partition of the CU may be reconstructed based on the first intra prediction mode, and a second partition of the CU may be reconstructed based on the second intra prediction mode.

[0145] In some embodiments, a first intra prediction mode for a first partition of the CU may be determined from a plurality of candidate intra modes based on syntax elements included in the encoded information. A second intra prediction mode for a second partition of the CU may be determined as a plane intra mode.

[0146] In some embodiments, a first intra prediction mode for a first partition of the CU may be derived based on neighboring samples of the first partition of the CU. A second intra prediction mode for a second partition of the CU may be determined as a plane intra mode.

[0147] In some embodiments, a first intra prediction mode for a first partition of the CU may be derived based on neighboring samples of the first partition of the CU. A second intra prediction mode for a second partition of the CU may be derived based on neighboring samples of the second partition of the CU.

[0148] In some embodiments, a first intra prediction mode for a first partition of a CU may be determined from a plurality of candidate intra modes based on a syntax element included in the encoded information. A second intra prediction mode for a second partition of the CU may be determined as an intra mode adjacent to the first intra prediction mode. The intra mode adjacent to the first intra prediction mode may be equal to the remainder of the adjusted first intra prediction mode divided by a positive integer. The adjusted first intra prediction mode may be equal to the sum of the first intra prediction mode and an offset. A positive integer may indicate the number of available intra prediction modes for a CU.

[0149] In the process ( 1400 ), the number of luma samples of the CU may be equal to or greater than 64.

[0150] In the process (1400), based on the first partition of the CU having a larger area than the second partition of the CU, a first intra prediction mode of the first partition of the CU may be stored.

[0151] In the process (1400), based on the first partition of the CU including a larger portion of the top side of the CU, a first intra prediction mode of the first partition of the CU may be stored.

[0152] In the process (1400), based on the first partition of the CU including a larger portion of the left side of the CU, a first intra prediction mode of the first partition of the CU may be stored.

[0153] In the process (1400), based on the first intra prediction mode being a directional intra prediction mode and the second intra prediction mode being a non-directional intra prediction mode, a first intra prediction mode of a first partition of the CU may be stored.

[0154] In the process (1400), based on the first intra prediction mode and the second intra prediction mode being directional intra prediction modes, a first intra prediction mode of a first partition of the CU may be stored.The first partition may be associated with a first partition index of the GPM.

[0155] In the process (1400), based on the first intra prediction mode and the second intra prediction mode being directional intra prediction modes, the second intra prediction mode of the second partition of the CU can be stored. The first partition of the CU can be associated with a first partition index of the GPM, and the second partition of the CU can be associated with a second partition index of the GPM.

[0156] like Fig.15 As shown, the process (1500) may start from (S1501) and proceed to (S1510). At (S1510), a CU in a picture of a video may be partitioned into a first partition and a second partition based on a GPM, under which the CU is partitioned into a first partition and a second partition, wherein the first partition and the second partition may be partitions adjacent to each other and divided by a straight partition line with a right angle.

[0157] At (S1520), a first intra prediction mode for a first partition of the CU and a second intra prediction mode for a second partition of the CU may be determined. The first intra prediction mode may be different from the second intra prediction mode.

[0158] At (S1530), a first intra prediction may be performed on a first partition of the CU based on the first intra prediction mode, and a second intra prediction may be performed on a second partition of the CU based on the second intra prediction mode.

[0159] At (S1540), encoded information of the CU may be generated in association with the GPM based on the first intra prediction and the second intra prediction.

[0160] The techniques described above may be implemented as computer software using computer-readable instructions and physically stored in one or more computer-readable media. Fig.16 A computer system (1600) suitable for implementing certain embodiments of the disclosed subject matter is shown.

[0161] Computer software may be encoded using any suitable machine code or computer language, which may be subjected to mechanisms such as assembly, compilation, and linking to create code comprising instructions that may be executed directly by one or more computer central processing units (CPU), graphics processing units (GPU), etc., or by interpretation, microcode execution, etc.

[0162] The instructions may be executed on various types of computers or components thereof, including, for example, personal computers, tablet computers, servers, smart phones, gaming devices, Internet of Things devices, etc.

[0163] Fig.16 The components for the computer system (1600) shown in the example are exemplary in nature and are not intended to suggest any limitation on the scope of use or functionality of computer software implementing embodiments of the present disclosure. Nor should the configuration of components be interpreted as having any dependency or requirement relating to any one or combination of components shown in the exemplary embodiment of the computer system (1600).

[0164] The computer system (1600) may include certain human-machine interface input devices. Such human-machine interface input devices may respond to input by one or more human users through, for example, tactile input (e.g., keystrokes, swipes, data glove movements), audio input (e.g., voice, tapping), visual input (e.g., gestures), olfactory input (not depicted). Human-machine interface devices may also be used to capture certain media that are not necessarily directly related to human conscious input, such as audio (e.g., voice, music, ambient sounds), images (e.g., scanned images, photographic images obtained from a still image camera), and video (e.g., two-dimensional video, three-dimensional video including stereoscopic video).

[0165] Input human-machine interface devices may include one or more of the following (only one of each is depicted): keyboard (1601), mouse (1602), touchpad (1603), touch screen (1610), data gloves (not shown), joystick (1605), microphone (1606), scanner (1607), camera (1608).

[0166] The computer system (1600) may also include certain human interface output devices. Such human interface output devices may stimulate one or more senses of a human user through, for example, tactile output, sound, light, and smell / taste. Such human-machine interface output devices may include: tactile output devices (e.g., tactile feedback via a touch screen (1610), a data glove (not shown), or a joystick (1605), but there may also be tactile feedback devices that do not function as input devices); audio output devices (e.g., speakers (1609), headphones (not depicted)); visual output devices (e.g., screens (1610), including CRT (Cathode Ray Tube, CRT) screens, LCD (Liquid Crystal Display, LCD) screens, plasma screens, OLED (Organic Light Emitting Diode, OLED) screens, each with or without touch screen input capabilities, each with or without tactile feedback capabilities - some of which may be able to output two-dimensional visual output or more than three-dimensional output by means such as stereoscopic image output; virtual reality glasses (not depicted); holographic displays and cigarette cans (not depicted)); and printers (not depicted).

[0167] The computer system (1600) may also include storage devices and associated media accessible to humans, such as a CD / DVD ROM (Read Only Memory (ROM) / RW (1620), thumb drives (1622), removable hard disk drives or solid-state drives (1623), legacy magnetic media such as tapes and floppy disks (not depicted), dedicated ROM / ASIC (Application Specific Integrated Circuit) based Circuit, ASIC) / PLD (Programmable Logic Device, PLD) devices such as security dongles (not shown) and the like.

[0168] Those skilled in the art should also understand that the term "computer-readable media" used in connection with the presently disclosed subject matter does not include transmission media, carrier waves, or other transient signals.

[0169] The computer system (1600) may also include a network interface (1654) to one or more communication networks (1655). The network may be, for example, wireless, wired, optical. The network may also be local area, wide area, metropolitan area, vehicle-mounted and industrial, real-time, delay-tolerant, etc. Examples of networks include: local area networks such as Ethernet; wireless LANs (Local Area Network, LAN); including GSM (Global System for Mobile Communications, GSM), 3G Cellular networks such as the Third Generation (3G), 4G (the Fourth Generation, 4G), 5G (the Fifth Generation, 5G), LTE (Long Term Evolution, LTE), etc.; TV wired or wireless wide area digital networks including cable TV, satellite TV and terrestrial broadcast TV; vehicle and industrial networks including CANBus, etc. Some networks usually require an external network interface adapter attached to some general data port or peripheral bus (1649) (such as, for example, the USB port of the computer system (1600)); other networks are usually integrated into the core of the computer system (1600) by attaching to the system bus described below (for example, to the Ethernet interface in a PC computer system or to the cellular network interface in a smart phone computer system). Using any of these networks, the computer system (1600) can communicate with other entities. Such communication can be one-way reception only (for example, broadcast TV), one-way transmission only (for example, CANBus to certain CANBus devices), or two-way, for example, to other computer systems using a local area digital network or a wide area digital network. Certain protocols and protocol stacks may be used on each of these networks and network interfaces as described above.

[0170] The above-mentioned human interface devices, human-accessible storage devices, and network interfaces may be attached to the core ( 1640 ) of the computer system ( 1600 ).

[0171] The core (1640) may include one or more central processing units (CPUs) (1641), graphics processing units (GPUs) (1642), dedicated programmable processing units in the form of field programmable gate areas (FPGAs) (1643), hardware accelerators for certain tasks (1644), graphics adapters (1650), etc. These devices, together with read-only memory (ROM), may be used to store and process data. (1645), random access memory (1646), internal mass storage devices (1647) such as internal non-user accessible hard disk drives, SSDs (Solid State Drives, SSDs), etc. can be connected via a system bus (1648). In some computer systems, the system bus (1648) can be accessed in the form of one or more physical plugs to enable expansion by additional CPUs, GPUs, etc. Peripheral devices can be attached to the core's system bus (1648) directly or via a peripheral bus (1649). In an example, a screen (1610) can be connected to a graphics adapter (1650). The architecture of the peripheral bus includes PCI (Peripheral Component Interconnect / Interface, PCI), USB (Universal SerialBus, USB), etc.

[0172] The CPU (1641), GPU (1642), FPGA (1643) and accelerator (1644) can execute certain instructions, which can be combined to form the above-mentioned computer code. The computer code can be stored in ROM (1645) or RAM (Random Access Memory, RAM) (1646). Transient data can also be stored in RAM (1646), while permanent data can be stored in, for example, an internal large-capacity storage device (1647). Fast storage and retrieval of any storage device in the storage device can be achieved by using a cache memory, which can be closely associated with one or more CPUs (1641), GPUs (1642), large-capacity storage devices (1647), ROMs (1645), RAMs (1646), etc.

[0173] The computer readable medium may have computer code thereon for performing various computer-implemented operations. The medium and computer code may be those specially designed and constructed for the purposes of the present disclosure, or the medium and computer code may be of a type well known and available to those skilled in the art of computer software.

[0174] As an example and not limitation, a computer system (1600) having an architecture and in particular a core (1640) can provide functionality due to a processor (including a CPU, GPU, FPGA, accelerator, etc.) executing software contained in one or more tangible computer-readable media. Such a computer-readable medium can be a medium associated with a user-accessible mass storage device as described above, as well as certain storage devices of the core (1640) having non-transitory properties, for example, a core internal mass storage device (1647) or a ROM (1645). Software implementing various embodiments of the present disclosure can be stored in such a device and executed by the core (1640). Depending on specific needs, the computer-readable medium may include one or more memory devices or chips. The software can enable the core (1640) and in particular the processor therein (including a CPU, GPU, FPGA, etc.) to perform a specific process or a specific part of a specific process described herein, including defining a data structure stored in the RAM (1646) and modifying such a data structure according to a process defined by the software. Additionally or alternatively, the computer system may provide functionality as a result of hard-wired logic or otherwise embodied in circuitry (e.g., accelerator (1644)) that may replace or operate in conjunction with software to perform a particular process or a particular portion of a particular process described herein. Where appropriate, references to software may include logic, and references to logic may also include software. Where appropriate, references to computer-readable media may include circuitry (e.g., an integrated circuit (IC)) storing software for execution, circuitry implementing logic for execution, or both. The present disclosure includes any suitable combination of hardware and software. Appendix A: Acronyms JEM: Joint Exploration Model VVC: Versatile Video Coding BMS: Benchmark Set MV: Motion Vector HEVC: High Efficiency Video Coding SEI: Supplemental Enhancement Information VUI: Video Availability Information GOP: Group of Pictures TU: Transform Unit PU: prediction unit CTU: Coding Tree Unit CTB: Coding Tree Block PB: prediction block HRD: Hypothesized Reference Decoder SNR: Signal to Noise Ratio CPU: Central Processing Unit GPU: Graphics Processing Unit CRT: cathode ray tube LCD: Liquid Crystal Display OLED: Organic Light Emitting Diode CD: Compact Disc DVD: Digital Video Disc ROM: Read Only Memory RAM: Random Access Memory ASIC: Application-Specific Integrated Circuit PLD: Programmable Logic Device LAN: Local Area Network GSM: Global System for Mobile Communications LTE: Long Term Evolution CANBus: Controller Area Network Bus USB: Universal Serial Bus PCI: Peripheral Component Interconnect FPGA: Field Programmable Gate Array SSD: Solid State Drive IC: Integrated Circuit CU: Coding Unit

[0175] Although the present disclosure has described several exemplary embodiments, there are changes, permutations, and various alternative equivalents that fall within the scope of the present disclosure. It will therefore be appreciated that those skilled in the art will be able to conceive of many systems and methods that, although not explicitly shown or described herein, embody the principles of the present disclosure and are therefore within the spirit and scope of the present disclosure.

Claims

1. A video decoding method, characterized in that: The method comprises: Receiving coded information of a coding unit (CU) in a picture of a video from a coded video bitstream; Splitting the CU into a first partition and a second partition based on a geometric partition mode (GPM), wherein the first partition and the second partition are partitions adjacent to each other and having a right angle divided by a partition line; Determining a first intra prediction mode for a first partition of the CU; determining, based on one of a first restriction and a second restriction, a second intra prediction mode for a second partition of the CU, the first intra prediction mode being different from the second intra prediction mode, the first restriction being that the second intra prediction mode is a planar intra mode, and the second restriction being that the second intra prediction mode is adjacent to the first intra prediction mode; and The CU is reconstructed based on at least one of the first intra prediction mode or the second intra prediction mode.

2. The method according to claim 1, characterized in that The determining the first intra prediction mode comprises: Determining the first intra prediction mode for a first partition of the CU from a plurality of candidate intra modes based on syntax elements included in the encoded information; and The determining the second intra prediction mode comprises: The second intra prediction mode for a second partition of the CU is determined to be the planar intra mode.

3. The method according to claim 1, characterized in that The determining the first intra prediction mode comprises: deriving the first intra prediction mode for a first partition of the CU based on neighboring samples of the first partition of the CU; and The determining the second intra prediction mode comprises: The second intra prediction mode for a second partition of the CU is determined to be the planar intra mode.

4. The method according to claim 1, characterized in that: The determining the first intra prediction mode comprises: Determining the first intra prediction mode for a first partition of the CU from a plurality of candidate intra modes based on syntax elements included in the encoded information; and The determining the second intra prediction mode comprises: Determine that the second intra-frame prediction mode for the second partition of the CU is an intra-frame mode adjacent to the first intra-frame prediction mode, and the intra-frame mode adjacent to the first intra-frame prediction mode is equal to the remainder of the adjusted first intra-frame prediction mode divided by a positive integer, and the adjusted first intra-frame prediction mode is equal to the sum of the first intra-frame prediction mode and an offset, and the positive integer indicates the number of available intra-frame prediction modes for the CU.

5. The method according to claim 1, characterized in that The number of luma samples of the CU is equal to or greater than 64.

6. The method according to any one of claims 1 to 5, characterized in that Also includes: Based on the first partition of the CU having a larger area than the second partition of the CU, the first intra prediction mode is stored as the intra mode of the CU.

7. The method according to any one of claims 1 to 5, characterized in that Also includes: Based on that the first intra prediction mode is a directional intra prediction mode and the second intra prediction mode is a non-directional intra prediction mode, the first intra prediction mode is stored as an intra mode of the CU.

8. The method according to any one of claims 1 to 5, characterized in that Also includes: Based on the first intra prediction mode and the second intra prediction mode being directional intra prediction modes, the first intra prediction mode is stored as an intra mode of the CU, and the intra mode of the CU is associated with a first partition index of the GPM.

9. The method according to any one of claims 1 to 5, characterized in that Also includes: Based on that the first intra-frame prediction mode and the second intra-frame prediction mode are directional intra-frame prediction modes, the second intra-frame prediction mode is stored as the intra-frame mode of the CU, the first partition of the CU is associated with the first partition index of the GPM, and the second partition of the CU is associated with the second partition index of the GPM.

10. A video encoding method, characterized in that: The method comprises: Splitting a coding unit CU in a picture of a video into a first partition and a second partition based on a geometric partition mode (GPM), wherein the first partition and the second partition are partitions adjacent to each other and having a right angle divided by a partition line; Determining a first intra prediction mode for a first partition of the CU; determining, based on one of a first restriction and a second restriction, a second intra prediction mode for a second partition of the CU, the first intra prediction mode being different from the second intra prediction mode, the first restriction being that the second intra prediction mode is a planar intra mode, and the second restriction being that the second intra prediction mode is adjacent to the first intra prediction mode; and The CU is encoded in a bitstream based on at least one of the first intra prediction mode or the second intra prediction mode.

11. A method for processing visual media data, characterized in that: The method comprises: processing a bit stream comprising said visual media data according to format rules, Wherein, the bitstream includes encoded information of a coding unit (CU) in a picture of the video; Based on a geometric partition mode (GPM), the CU is partitioned into a first partition and a second partition, wherein the first partition and the second partition are partitions adjacent to each other and having a right angle divided by a partition line; and The formatting rules state that: Determining a first intra prediction mode for a first partition of the CU; determining, based on one of a first restriction and a second restriction, a second intra prediction mode for a second partition of the CU, the first intra prediction mode being different from the second intra prediction mode, the first restriction being that the second intra prediction mode is a planar intra mode, and the second restriction being that the second intra prediction mode is adjacent to the first intra prediction mode; and The CU is processed based on at least one of the first intra prediction mode or the second intra prediction mode.

12. A method for storing a video bitstream, characterized in that: The video bit stream is generated according to the video encoding method according to claim 10.

13. A video decoding device, characterized in that: The device comprises: A receiving module, configured to receive encoded information of a coding unit (CU) in a picture of a video from an encoded video bitstream; a partitioning module, configured to partition the CU into a first partition and a second partition based on a geometric partitioning mode (GPM), wherein the first partition and the second partition are partitions adjacent to each other and having a right angle divided by a partitioning line; A first determination module, configured to determine a first intra prediction mode for a first partition of the CU; a second determining module, configured to determine a second intra prediction mode for a second partition of the CU based on one of a first constraint and a second constraint, the first intra prediction mode being different from the second intra prediction mode, the first constraint being that the second intra prediction mode is a planar intra mode, and the second constraint being that the second intra prediction mode is adjacent to the first intra prediction mode; and A reconstruction module is used to reconstruct the CU based on at least one of the first intra-frame prediction mode or the second intra-frame prediction mode.

14. A video encoding device, characterized in that: The device comprises: A partitioning module, configured to partition a coding unit CU in a picture of a video into a first partition and a second partition based on a geometric partitioning mode (GPM), wherein the first partition and the second partition are partitions adjacent to each other and having a right angle divided by a partitioning line; A first determination module, configured to determine a first intra prediction mode for a first partition of the CU; a second determining module, configured to determine a second intra prediction mode for a second partition of the CU based on one of a first constraint and a second constraint, the first intra prediction mode being different from the second intra prediction mode, the first constraint being that the second intra prediction mode is a planar intra mode, and the second constraint being that the second intra prediction mode is adjacent to the first intra prediction mode; and An encoding module is used to encode the CU in a bitstream based on at least one of the first intra-frame prediction mode or the second intra-frame prediction mode.

15. A computer device, characterized in that: The computer comprises: Processing circuitry configured to perform a method as claimed in any one of claims 1 to 12.

16. A non-transitory computer-readable storage medium storing instructions, which, when executed by a processor, cause the processor to perform the method of any one of claims 1-12.