Encoding a block of a picture

By determining a reference cost for encoding blocks in the ECM, the method optimizes the evaluation of split modes, reducing computational complexity and maintaining compression efficiency, addressing the inefficiencies in current ECM encoding processes.

WO2025009999A1PCT designated stage expired Publication Date: 2025-01-09TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
PCT/SE2024/050495
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-03
Filing Date
2024-05-21
Publication Date
2025-01-09

AI Technical Summary

Technical Problem

Current Enhanced Coding Model (ECM) video encoding processes waste computational resources and time by evaluating unnecessary split modes for encoding coding units, increasing complexity and potentially reducing compression efficiency.

Method used

A method to determine a reference cost for encoding a block without splitting, allowing evaluation of split modes only when the reference cost exceeds a threshold, thereby skipping unnecessary evaluations and reducing computational complexity.

Benefits of technology

This approach reduces the computational complexity of the ECM encoder by approximately 4% with minimal impact on compression efficiency, specifically decreasing it by less than 0.04% in luma and chroma channels.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure SE2024050495_09012025_PF_FP_ABST
    Figure SE2024050495_09012025_PF_FP_ABST
Patent Text Reader

Abstract

There is provided a method for encoding a picture. The method comprises obtaining the picture. The method comprises determining a reference cost of encoding a block of the picture without splitting the block, wherein the block of the picture is associated with a certain region of the picture. The method comprises, based on the determined reference cost, determining whether to evaluate a group of split modes, wherein the evaluation of the group of split modes is for selecting a split mode to use for encoding the block of the picture. The method comprises encoding the picture based on the determination of whether to evaluate the group of split modes.
Need to check novelty before this filing date? Find Prior Art

Description

ENCODING A BLOCK OF A PICTURETECHNICAL FIELD

[0001] This disclosure relates to methods and apparatus for encoding a block of a picture.BACKGROUND

[0002] Versatile Video Coding (VVC) and Enhanced Coding Model (ECM)

[0003] VVC is a block-based video codec standardized by International Telecommunication Union Telecommunication Standardization Sector (ITU-T) and Moving Picture Experts Group (MPEG). ECM is an exploratory codec which is currently under development. The aim of ECM is to demonstrate and try providing evidence of video coding capabilities beyond VVC. The current ECM version is ECM-9.0.

[0004] In ECM, spatial prediction is achieved using intra (I) prediction from within a current picture while temporal prediction is achieved using uni-directional (P) or bi-directional inter (B) prediction on a block level from previously decoded reference pictures. In the encoder, the difference between the original sample data and the predicted sample data, referred to as the residual, is transformed into the frequency domain, quantized, and then entropy coded before being transmitted together with necessary prediction parameters such as prediction mode and motion vectors, which are also entropy coded. The decoder performs entropy decoding, inverse quantization, and inverse transformation to obtain the residual and then adds the residual to intra or inter predicted data to reconstruct a picture.

[0005] Video and Picture

[0006] A video (a.k.a., “video sequence”) comprises of a series of pictures. In VVC, each picture is identified with a picture order count (POC) value. The POC value also represents the display order of the picture. A picture with a smaller POC value is displayed before another picture with a larger POC value. Each picture may consist of one or more components.

[0007] Components

[0008] It is common that a picture consists of three components; one luma component Y where the sample values are luma values and two chroma components Cb and Cr, where the sample values are chroma values. Each component can be described as a two-dimensional rectangular array of sample values. It is also common that the dimensions of the chroma components are smaller than the luma components by a factor of two in each dimension. For example, the size of the luma component of an HD picture would be 1920x1080 and the chroma components would each have the dimension of 960x540. Components are sometimes referred to as color components.

[0009] Coding Unit and Coding Block

[0010] A block is a two-dimensional (2D) matrix of sample values (or “samples” for short). In video coding, each component of a picture is split into blocks and the coded video bitstream consists of a series of coded blocks. It is common in video coding that pictures are split into units that cover a specific area of the picture.

[0011] Each unit consists of all blocks from all components that make up that specific area of the picture and each block belongs fully to one unit. The Coding Unit (CU) in VVC is an example of a unit In VVC, the CUs may be split recursively to smaller CUs. The CU at the top level is referred to as the coding tree unit (CTU). A CU usually contains three coding blocks, i.e., one coding block for luma and two coding blocks for chroma. The size of the luma coding block is same as the size of the coding unit. In VVC, the CUs can have size of 4x4 up to 128x128. In current ECM, the CUs can have size of 4x4 up to 256x256. In this disclosure, a coding unit (CU) may refer to a CU itself or may refer to a block (e.g., a luma channel CU, a chroma channel CU, etc.) included in the CU.

[0012] Parameter sets, slice headers, and picture headers

[0013] VVC specifies three types of parameter sets: the picture parameter set (PPS), the sequence parameter set (SPS), and the video parameter set (VPS). The PPS contains data that is common for a whole picture, the SPS contains data that is common for a coded layer video sequence (CLVS), and the VPS contains data that is common for multiple CLVSs, e.g., data for multiple layers in the bitstream.

[0014] The concept of slices divides the picture into independently coded slices, wheredecoding of one slice in a picture is independent of other slices of the same picture. Each slice has a slice header comprising syntax elements. Decoded slice header values from these syntax elements are used when decoding the slice. In VVC, a coded picture contains a picture header. The picture header contains parameters that are common for all slices of the coded picture.

[0015] Intra prediction

[0016] In intra prediction, also known as spatial prediction, a current block is predicted using previous decoded blocks within the same picture. The samples from the previously decoded blocks within the same picture are used to predict the samples inside the current block. A picture consisting of only intra-predicted blocks is referred to as an intra picture.

[0017] Inter prediction and motion compensation

[0018] In inter prediction, also known as temporal prediction, a current block of the current picture is predicted using blocks from previously decoded pictures (these blocks are referred to as reference blocks). The samples from the reference blocks in the previously decoded pictures are used to predict the samples inside the current block. A picture that comprises one or more interpredicted blocks is referred to as an inter picture. The previous decoded pictures used for inter prediction are referred to as reference pictures.

[0019] Hierarchical B picture coding structure

[0020] In “random access configuration,” intra coded pictures are positioned with a fixed interval like every second. Pictures between the intra coded pictures are typically coded with a hierarchical B picture structure.

[0021] One example of hierarchy of 8 pictures is shown in FIG. 7. Picture 0 is coded first and then picture 8 is coded using picture 0 as its reference picture. Then picture 8 and picture 0 are used as reference pictures to code picture 4. Then similarly, picture 2 and picture 6 are coded. And finally, picture 1, 3, 5 and 7 pictures are coded. We refer to pictures 1,3,5 and 7 to be on the highest hierarchical level, pictures 2 and 6 to be on the next highest hierarchical level, and picture 4 to be on next lowest level and picture 8 to be on the lowest level. Typically picture 1, 3, 5 and 7 are not used for reference of any other pictures. They are called nonreference pictures. In video coding, a hierarchy of 16 or 32 pictures are also commonly used.SUMMARY

[0022] Certain challenges presently exist. In the current version of ECM, before encoding a coding unit (CU) of a picture (e.g., a luma channel CU, a chroma channel CU, etc.), different split modes are evaluated in order to select a split mode to use for splitting the CU. However, evaluating the split modes may not be desirable in some scenarios. For example, in some scenarios, it may be better to encode a CU of a picture without splitting the CU or with splitting the CU using a quad-tree (QT) structure. In such scenarios, evaluating the split modes such as vertical binary splitting or horizontal binary splitting is not needed, and such evaluation may waste computational resource and / or time of the encoder, and may increase computational complexity of the encoder. Therefore, there is a need for a method and / or an apparatus for determining whether to evaluate the split modes and evaluate the split modes only when a certain condition is satisfied.

[0023] According to a first aspect of the present disclosure, there is provided a method for encoding a picture. The method comprises obtaining the picture. The method further comprises determining a reference cost of encoding a block of the picture without splitting the block, wherein the block of the picture is associated with a certain region of the picture. The method comprises, based on the determined reference cost, determining whether to evaluate a group of split modes, wherein the evaluation of the group of split modes is for selecting a split mode to use for encoding the block of the picture. The method comprises encoding the picture based on the determination of whether to evaluate the group of split modes.

[0024] According to a second aspect of the present disclosure, there is provided a computer program comprising instructions which when executed by processing circuitry cause the processing circuitry to perform the method according to the first aspect.

[0025] According to a third aspect of the present disclosure, there is provided a carrier containing the computer program according to the second aspect, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium.

[0026] According to a fourth aspect of the present disclosure, there is provided an apparatus for encoding a picture, the apparatus being configured perform the method according to the first aspect.

[0027] According to a fifth aspect of the present disclosure, there is provided an apparatus comprising: a processing circuitry; and a memory, said memory containing instructions executable by said processing circuitry, whereby the apparatus is operative to perform the method according to the first aspect.

[0028] An advantage of the embodiments disclosed herein is that they can reduce computational complexity of the ECM encoder (e.g., by about 4% on average) at a cost of reduction in compression efficiency (e g., decreasing less than 0.04% and 0.05% in compression efficiency in luma and chroma channels respectively).BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.

[0030] FIG. 1A shows an example of a system according to some embodiments.

[0031] FIG. IB shows an example of a system according to some embodiments.

[0032] FIG. 1C shows an example of a system according to some embodiments.

[0033] FIGS. 2A-2F show different block partitioning modes.

[0034] FIG. 3 shows an example of quadtree with nested multi-type tree coding block structure.

[0035] FIGS. 4A-4E illustrate an example of partitioning according to some embodiments.

[0036] FIG. 5 is a flowchart illustrating a process according to some embodiments

[0037] FIG. 6 is a block diagram of an apparatus according to some embodiments.

[0038] FIG. 7 shows an example of hierarchical structure in random access profile.DETAILED DESCRIPTION

[0039] FIG. 1A shows a system 100 according to some embodiments. The system 100 comprises a first entity 102, a second entity 104, and a network 110. The first entity 102 is configured to transmit to the second entity 104 a bitstream (a.k.a., “a video bitstream” or “a video stream”) 106.

[0040] The first entity 102 may be any computing device (e.g., a network node such as a server) capable of encoding a source video sequence using an encoder 112 into a bitstream comprising an encoded video sequence, and transmitting the bitstream towards the second entity 104 via the network 110. The second entity 104 may be any computing device (e.g., a network node) capable of receiving the bitstream and decoding the bitstream using a decoder 114. Each of the first entity 102 and the second entity 104 may be a single physical entity or a combination of multiple physical entities. The multiple physical entities may be located at the same location or may be distributed in a cloud.

[0041] In some embodiments, as shown in FIG. IB, the first entity 102 is a video streaming server 132 and the second entity 104 is a user equipment (UE) 134. The UE 134 may be any of a desktop, a laptop, a tablet, a mobile phone, an extended reality headset, or any other computing device. The video streaming server 132 is capable of transmitting a bitstream 136 (e.g., YouTube™ video streaming) to the UE 134. Upon receiving the bitstream 136, the UE 134 may decode the received video bitstream 136, thereby generating and displaying a video for the video streaming.

[0042] In other embodiments, as shown in FIG. 1C, the first entity 102 and the second entity 104 are first and second UEs 152 and 154. For example, the first UE 152 may be an offeror of a video conferencing session or a caller of a video chat, and the second UE 154 may be an answerer of the video conference session or the answerer of the video chat. In the embodiments shown in FIG. 1C, the first UE 152 is capable of transmitting a bitstream 156 for a video conference (e g., Zoom™, Skype™, MS Teams™, etc.) or a video chat (e.g., Facetime™) to the second UE 154. Upon receiving the bitstream 156, the UE 154 may decode the received bitstream 156, thereby generating and displaying a video for the video conferencing session or the video chat.

[0043] In some embodiments, the first entity 102 is not in communication with the second entity 104, and, in such embodiments, rather than transmitting the bitstream 106 to the second entity 104, the bitstream may be stored in a data storage unit for later use.

[0044] As mentioned above, the encoder 112 is configured to encode the source video sequence into the bitstream 106. More specifically, the source video sequence may comprise a plurality of pictures, and the encoder 112 may be configured to encode each of the plurality ofpictures. In encoding the picture, the encoder 112 may use a block-based video codec such as ECM.

[0045] In a block-based video encoding (e g., VVC, ECM, etc.), the encoder 112 may first parti tion / split a picture into a plurality of coding tree units (CTUs), split each CTU into a plurality of CUs, and / or recursively split each CU into smaller CUs. Here, a CTU refers to the largest coding unit supported by the codec, and a CU refers to a unit (e g., a block) to which prediction, transformation, and / or entropy coding may be applied. The CTU may have the size of 128 x 128 in VVC and 256 X 256 in ECM. In VVC and ECM, a CTU is either treated as a CU (non-split) (i.e., prediction, transformation, and / or entropy coding may be applied to the CTU) or may split into multiple CUs using one of quad-tree (QT), binary tree (BT) or ternary tree (TT) structures. The BT and TT structures are also referred to as multi-type tree structure (MTT).

[0046] FIG. 2A shows a CU without any partitioning, and FIGS. 2B-2F show different block partitioning modes (a.k.a., “block split modes” or simply “split modes”) in VVC and ECM. As shown in FIGS. 2A-2F, the partitioning scheme in VVC and ECM provides support for rectangular CUs as well as square CUs, which allows a better fit to local picture content characteristics.

[0047] As shown in FIG. 2B, in QT split mode, a CU is partitioned into four equally sized square blocks. FIGS. 2C-2F show four split modes in the MTT structure: horizontal binary splitting (BTH) shown in FIG. 2C, vertical binary splitting (BTV) shown in FIG. 2D, horizontal ternary splitting (TTH) shown in FIG. 2E, and vertical ternary splitting (TTV) shown in FIG. 2F.

[0048] As shown in FIGS. 2C and 2D, in the BTH or BTV split modes, a CU is partitioned horizontally or vertically into two equally sized blocks. On the contrary, as shown in FIGS. 2E and 2F, in the TTH or TTV split modes, a CU is partitioned horizontally or vertically into three sub blocks with 1 :2: 1 ratio. As shown in the figures, in the TTH or TTV split modes, the central sub block covers twice the area of the parent CU (e.g., the original CU shown in FIG. 2A) as compared to the two side blocks. Each side block covers one quarter of the whole area of the parent CU.

[0049] As mentioned above, the CU at the top level is referred to as a CTU, and, in some embodiments, each CTU may be first partitioned into quaternary tree leaf nodes (subsequent CUs)using the QT split mode, and each quaternary tree leaf nodes may not split or may further split using one of a BT, TT or QT split mode. Also, in some embodiments, once a CU is partitioned into a plurality of subsequent CUs by either the BT or TT split mode, only the BT or TT split mode can be used to further split each of the plurality of subsequent CUs. In other words, each of the plurality of subsequent CUs cannot be partitioned using the QT split mode.

[0050] An example of a CTU partitioned using QT and MTT split modes is shown in FIG. 3. More specifically, FIG. 3 shows an example of quadtree with nested multi-type tree coding block structure.

[0051] In performing the block partitioning in ECM, the following parameters may be used to control the block partitioning.

[0052] The above parameters are defined in Sequence Parameter Set (SPS) syntax elements and can be further updated in picture header syntax elements. CUs (e.g., the QT or MTT leaf nodes) are used in prediction and transform processing provided that the CU size remains within the maximum transform size.

[0053] Whether to encode a particular picture area using inter-picture (temporal) or intrapicture (spatial) prediction can be made at each CU level. For example, whether to encode a picture (e g., a luma channel CU, a chroma channel CU, etc.) using an inter prediction or an intra prediction can be determined at the level of CU 402 shown in FIG. 4A. In another example, the CU 402 may be partitioned into multiple CUs 412, 414, 416, and 418, as shown in FIG. 4B using the QT split mode, and whether to encode the picture using an inter prediction or an intra prediction can be determined at the level of CU 412, 414, 416, and 418. In further example, the CU 412 may be partitioned into multiple CUs 422, 424, and 426, as shown in FIG. 4C, and whether to encode the picture using an inter prediction or an intra prediction can be determined at the level of CUs422, 424, and 426.

[0054] In determining which split mode (e.g., the QT split mode, the BT split mode, or the TT split mode) to use for encoding a CU, the split modes may be evaluated. Based on the evaluation, the split mode that provides the best rate-distortion cost can be selected by the encoder which improves the coding gain at the expense of increasing coding complexity.

[0055] But as explained above, there may be some scenarios where evaluating the split modes may not be needed, and thus performing such evaluation may waste computational resource and / or time of the encoder, and may increase computational complexity of the encoder.

[0056] Accordingly, in some embodiments of this disclosure, the evaluation of the different split modes may be skipped in case a condition is satisfied. The embodiments are applicable to ECM based encoding in the context of reference picture resampling as well as scalable coding. The embodiments below may only be applicable to square CUs.

[0057] Upper Threshold Value

[0058] One example of the condition is that a no-split cost (a.k.a., reference cost) of a current CU is greater than a threshold value. In this disclosure, the no-split cost of the current CU is a cost of encoding the current CU without partitioning the current CU.

[0059] In some embodiments, the no-split cost of the current CU may refer to the minimum no-split cost among a plurality of no-split costs of encoding the current CU using a plurality of prediction modes without partitioning the current CU. Table 1 provided below shows an exemplary list of different no-split costs of encoding a CU using different prediction modes (e g., Inter prediction mode #1, Inter prediction mode #2, ... ) without partitioning the CU.Table 1

[0060] Note that the number of the prediction modes shown in Table 1 is provided for simple explanation purpose only and does not limit the embodiments of this disclosure in any way.

[0061] In the example provided above, let’s assume that the no split cost inter prediction mode #3 is the smallest among the five no split costs shown in Table 1. In such case, the no split cost inter prediction mode #3 corresponds to the reference cost.

[0062] In other embodiments, the no-split cost of the current CU may refer to a cost of encoding the current CU using a particular prediction mode without partitioning the current CU. For example, if the particular prediction mode is Intra prediction mode #1 (e.g., intra-directi onal mode), the no split cost inter prediction mode #1 may be selected and compared to the threshold value (regardless of whether the no split cost inter prediction mode #1 is the smallest) to determine whether to skip the evaluation of the different split modes.

[0063] In case the reference cost is greater than the threshold value, the evaluation of the different split modes may be skipped.

[0064] In one example, the split modes that are subject to the evaluation are the MTT split modes (BTH, BTV, TTH, TTV), and the current CU is a luma channel CU belonging to an intra slice having m X m size. In this example, the binary and ternary split modes (both horizontal and vertical) are not evaluated for a luma channel CU belonging to an intra slice having size m x m if the reference cost of the current CU is greater than the specified threshold value.

[0065] In another example, the split modes that are subject to the evaluation are the MTT split modes (BTH, BTV, TTH, TTV), and the current CU is a chroma channel CU belonging to an intra slice having m X m size. In this example, the binary and ternary split modes (both horizontal and vertical) are not evaluated for a chroma channel CU belonging to an intra slice having size m x m if the reference cost of the current CU is greater than the specified threshold value.

[0066] In other example, the split modes that are subject to the evaluation are the MTT split modes (BTH, BTV, TTH, TTV), and the current CU is a luma channel CU belonging to an inter slice (e.g., B or P slice) having m X m size. In this example, the binary and ternary split modes (both horizontal and vertical) are not evaluated for a luma channel CU belonging to an inter slice having size m x m if the reference cost of the current CU is greater than the specified threshold value.

[0067] In other example, the split modes that are subject to the evaluation are the MTT splitmodes (BTH, BTV, TTH, TTV), and the current CU is a chroma channel CU belonging to an inter slice (e.g., B or P slice) having m x m size. In this example, the binary and ternary split modes (both horizontal and vertical) are not evaluated for a chroma channel CU belonging to an inter slice having size m x m if the reference cost of the current CU is greater than the specified threshold value.

[0068] In one embodiment, binary and ternary split modes are not evaluated for a CU having size 64x64, if the reference cost (e.g., the best-selected no-split cost) of the CU is higher than 120 xlO5”

[0069] The above embodiments are applicable to CU sizes 128 x 128, 64 x 64, 32 x32, 16x16, and 8x8, and one example of a possible threshold value is 120 X 106for 64 X 64 CU size.

[0070] There are different ways of calculating the no split cost of a CU (or a block). In some embodiments, the no split cost of a CU may be calculated based on one or more of: (1) (either estimated or determined) the number of bits for representing the CU in compressed format; (2) (either estimated or determined) distortion between reconstructed or decoded CU compared to the same CU in the source image or video; and / or (3) A value calculated by a (e.g., linear) combination of the number of bits for a CU and the distortion for the CU.

[0071] In other words, the no split cost of a CU may be calculated based on one or more of: a number of bits corresponding to the encoded CU, a difference between the CU of the original picture and the encoded CU of the picture, and / or an encoder constant. In some embodiments, the cost of encoding the CU of the picture is calculated based on b x A + d, where b is the number of bits corresponding to the encoded CU of the picture, A is the encoder constant (e.g., selected by the encoder to control the trade-off between the quality of encoding and the required bitrate for the encoding, and d is the difference between the CU of the picture and the encoded CU of the picture.

[0072] First Restriction on Skipping the Evaluation

[0073] In some embodiments, there may be a restriction on skipping the evaluation of the different split modes. Such restriction may apply when the current CU is obtained as a result of applying any one of the MTT split modes to a parent CU. In other words, such restriction may not apply when the current CU is obtained as a result of applying the QT split mode or not applyingany split node.

[0074] For example, if the current CU is the CU 412 shown in FIG. 4B, the restriction does not apply because the current CU 412 is obtained as a result of partitioning the parent CU 402 shown in FIG. 4A using the QT split mode.

[0075] In another example, let’s assume that the CU 402 shown in FIG. 4A is split into CUs 432 and 434 shown in FIG. 4D using the BTV split mode, and the CU 432 is split into CUs 442 and 444 using the BTH split mode, and the CU 434 is split into CUs 446 and 448 using the BTH split mode. In this example, in case the current CU is 442, the current CU is obtained as a result of applying an MTT split mode (i.e., the BTH split mode) to the parent CU (i.e., the CU 432). Thus, in this case, the restriction applies, and thus, in finding a split mode to use for encoding the current CU 442, the evaluation of the different split modes is not skipped.

[0076] The rationale on having this restriction is as follows. As briefly mentioned above, if any one of the MTT split modes is used to split a parent CU into a plurality of child CUs, each child CU may not be split into grandchild CUs using the QT split mode. Each child CU may only be split into grandchild CUs using any one of the MTT split modes or may not be split. In such case, if the condition of skipping the evaluation of different split modes for the child CU is satisfied (e.g., the reference cost of the child CU is greater than a threshold value), since the QT split mode cannot be used for splitting the child CU, the only option left for the child CU is no splitting. The restriction above is to prevent this early termination of the application of MTT split modes.

[0077] An example of code snippet implemented in ECM9.0 for luma channel 64 x 64 CU is provided below._ _

[0078] Second Restriction on Skipping the Evaluation

[0079] Instead of or in addition to the first restriction explained above, in some embodiments, there may be another restriction on performing the determination of whether to skip the evaluation of the different split modes (e.g., the MTT split modes). The restriction may be related to the timing of performing the determination of whether to skip the evaluation of the MTT split modes.

[0080] To determine whether to split a CU and / or how to split a CU, various split / no split modes are evaluated. In ECM9, there are two orders — first and second orders — of evaluating split / no-split modes. The first order is evaluating the no-split mode first, then the QT split mode, and then the MTT split modes. The second order is evaluating the no-split mode first, then the MTT split modes, and then the QT split mode.

[0081] In some embodiments, determining whether to skip the evaluation of the MTT split modes is performed only after the QT split mode is evaluated (e.g., in case the first order is selected). In other words, determining whether to skip the evaluation of the MTT split modes is not performed before the QT split mode is evaluated (e.g., in case the second order is selected).

[0082] For example, in case the first order is selected, in determining whether to split a CU and / or how to split the CU, the no-split mode is evaluated first. After evaluating the no-split mode, the QT split mode is evaluated. After evaluating the QT split mode, a determination of whether to skip the evaluation of the MTT split modes can be made. In case the evaluation of the MTT split modes is determined to be skipped, the CU may be encoded without further splitting the CU or byfurther splitting the CU using the QT split mode. Alternatively, in case the evaluation of the MTT split mode is determined to be proceeded (i.e., without skipping), the performance of the no-split mode, the QT split mode, and the MTT split modes may be considered, and one of the no-split mode, the QT split mode, and the MTT split modes may be selected and used for encoding the CU.

[0083] In another example, in case the second order is selected, in determining whether to split a CU and / or how to split the CU, the no-split mode is evaluated first. After evaluating the no-split mode, the MTT split modes may be evaluated. Note that, here, determining whether to skip the evaluation of the MTT split modes is not performed because the evaluation of the QT split mode has not been performed yet. After evaluating the MTT split modes, the QT split mode may be evaluated, and then one of the no-split mode, the QT split mode, and the MTT split modes may be selected and used for encoding the CU. Alternatively, after evaluating the no-split mode, the MTT split modes may be skipped, and the QT split mode may be evaluated, and then one of the no-split mode and the QT split mode may be selected and used for encoding the CU.

[0084] Different Threshold Values for Intra and Inter Frames

[0085] In some embodiments, the threshold value to which the reference cost is compared in order to determine whether to skip the evaluation of the different split modes may vary depending on a type of a picture (a.k.a., “frame”) in which the current CU is included. More specifically, in some embodiments, different threshold values are used for intra and inter frames.

[0086] For example, for a CU having the size 64 X64, the threshold value for Intra slices may be determined by adding an offset (e.g., an offset of 106) to the threshold value specified for B slices.TISLICE=BSLICE + IntraOffset

[0087] Here, TBSLICErepresents the threshold value specified for B slices which can have a value of 120 x 106and IntraOffset represents the offset used to derive the threshold value for I slices represented by TISLICE.

[0088] An example of code snippet implemented in ECM9.0 for a luma channel 64 X 64 CU is provided below._ _

[0089] Different Threshold Values for Different Values of a Quantization Parameter

[0090] In some embodiments, the threshold value to which the reference cost is compared in order to determine whether to skip the evaluation of the different split modes may vary depending on a value of a quantization parameter (QP) for encoding the current CU.

[0091] For example, the threshold value for a value of the QP may be determined as:106

[0092] Here, QP represents a value of a base QP and TQPrepresents the threshold value for the corresponding QP.

[0093] An example of code snippet implemented in ECM9.0 for a luma channel 64 x 64 CU is provided below._ _

[0094] Low Threshold Value

[0095] As disclosed above, in some embodiments, the evaluation of the different split modes may be skipped in case a condition is satisfied. One example of the condition is that the reference cost of the current CU is lower than a threshold value. In case the reference cost is lower than the threshold value, the evaluation of the different split modes used for selecting a split mode to use for encoding the current CU may be skipped.

[0096] In some embodiments, the no-split cost of the current CU may refer to the minimum no-split cost among a plurality of no-split costs of encoding the current CU using a plurality of prediction modes without partitioning the current CU. In other embodiments, the no-split cost of the current CU may refer to a cost of encoding the current CU using a particular prediction mode without partitioning the current CU. For example, if the particular prediction mode is Intra prediction mode #1 (e g., intra-directional mode), the no split cost interpredictionmode #i may be selected and compared to the threshold value (regardless of whether the no split cost inter prediction mode #i is the minimum) to determine whether to skip the evaluation of the different split modes.

[0097] In one example, the split modes that are subject to the evaluation are the MTT splitmodes (BTH, BTV, TTH, TTV), and the current CU is a luma channel CU belonging to an intra slice having m x m size. In this example, the binary and ternary split modes (both horizontal and vertical) are not evaluated for a luma channel CU belonging to an intra slice having size m x m if the reference cost of the current CU is less than the specified threshold value.

[0098] In another example, the split modes that are subject to the evaluation are the MTT split modes (BTH, BTV, TTH, TTV), and the current CU is a chroma channel CU belonging to an intra slice having m x m size. In this example, the binary and ternary split modes (both horizontal and vertical) are not evaluated for a chroma channel CU belonging to an intra slice having size m x m if the reference cost of the current CU is less than the specified threshold value.

[0099] In other example, the split modes that are subject to the evaluation are the MTT split modes (BTH, BTV, TTH, TTV), and the current CU is a luma channel CU belonging to an inter slice (e.g., P and B slices) having m x m size. In this example, the binary and ternary split modes (both horizontal and vertical) are not evaluated for a luma channel CU belonging to an inter slice having size m x m if the reference cost of the current CU is less than the specified threshold value.

[0100] In another example, the split modes that are subject to the evaluation are the MTT split modes (BTH, BTV, TTH, TTV), and the current CU is a chroma channel CU belonging to an inter slice (e.g., P and B slices) having m x m size. In this example, the binary and ternary split modes (both horizontal and vertical) are not evaluated for a chroma channel CU belonging to an intra slice having size m x m if the reference cost of the current CU is less than the specified threshold value.

[0101] One exemplary value of the reference cost for a CU having the size of 64 x 64 is 5 x 106. More specifically, in some embodiments, if the reference cost (e.g., the best-selected no-split cost) of a current CU having size 64x64 is less than 5xl06then binary and ternary split modes are not evaluated for the current CU.”

[0102] The above embodiments are applicable to CU sizes 128 X 128, 64 X 64, 32 X32, 16x16, and 8x8, and one example of a possible threshold value is 5 x 106for 64 x 64 CU size.

[0103] Different Threshold Values for Intra and Inter Frames

[0104] In some embodiments, the threshold value to which the reference cost is compared in order to determine whether to skip the evaluation of the different split modes may vary depending on a type of a picture (a.k.a., “frame”) in which the current CU is included. More specifically, in some embodiments, different threshold values are used for intra and inter frames.

[0105] In one example, the threshold value is 5 X 106for inter slices / inter picture, and an offset value of 106may be added to the inter slice threshold value to obtain the threshold value for intra slices / inter picture. Thus, the threshold value for intra slices / inter picture is 6 x 106. In this example, for an inter slice I inter picture, if the reference cost of a CU having the size 64 X 64 is less than 5 X 106, then the evaluation of the binary and ternary split modes may be skipped for the CU. Similarly, for an intra slice / inter picture, if the reference cost of a CU having size 64x64 is less than 6 X 106, then the evaluation of the binary and ternary split modes may be skipped for the CU.

[0106] Different Threshold Values for Different Values of a Quantization Parameter

[0107] In some embodiments, the threshold value to which the reference cost is compared in order to determine whether to skip the evaluation of the different split modes may vary depending on a value of a quantization parameter (QP) for encoding the current CU.

[0108] In one example, for a CU having the size 64 x 64, the threshold values are 5 x 106, 4 x 106, 3 x 106, and 2 x 106for the values of the QP — 22, 27, 32, and 37 - respectively.

[0109] FIG. 5 is a flowchart illustrating process 500 for encoding a picture, according to some embodiments. The process 500 may begin with step s502. Step s502 comprises obtaining the picture. Step s504 comprises determining a reference cost of encoding a block of the picture without splitting the block, wherein the block of the picture is associated with a certain region of the picture. Step s506 comprises, based on the determined reference cost, determining whether to evaluate a group of split modes, wherein the evaluation of the group of split modes is for selecting a split mode to use for encoding the block of the picture. Step s508 comprises encoding the picture based on the determination of whether to evaluate the group of split modes.

[0110] In some embodiments, in each split mode included in the group of split modes, a block splitting is performed based on a multi-type tree, MTT, structure.[OHl] In some embodiments, the block splitting based on the MTT structure is any one of: a vertical binary splitting, BTV, a horizontal binary splitting, BTH, a vertical ternary splitting, TTV, and a horizontal ternary splitting, TTH.

[0112] In some embodiments, determining the reference cost of encoding the block of the picture without splitting the block comprises: calculating a cost of encoding the block of the picture without splitting the block when each of a plurality of prediction modes is used for encoding; and selecting one of the calculated costs as the reference cost.

[0113] In some embodiments, the selected cost is the minimum cost among the calculated costs.

[0114] In some embodiments, determining the reference cost of encoding the block of the picture without splitting the block comprises: calculating a cost of encoding the block of the picture without splitting the block when an intra prediction mode is used for encoding; and selecting the calculated cost as the reference cost.

[0115] In some embodiments, calculating the cost of encoding the block of the picture without splitting the block comprises: (i) encoding the block of the picture without splitting the block, thereby obtaining encoded block of the picture; and (ii) calculating the cost based on one or more of: a number of bits corresponding to the encoded block of the picture, a difference between the block of the picture and the encoded block of the picture, and / or an encoder constant.

[0116] In some embodiments, the cost of encoding the block of the picture is calculated based on b x A + d, where b is the number of bits corresponding to the encoded block of the picture, A is the encoder constant, and d is the difference between the block of the picture and the encoded block of the picture.

[0117] In some embodiments, determining whether to evaluate the group of split modes comprises comparing the reference cost to a threshold value; and determining whether to evaluate the group of split modes based on a result of the comparison.

[0118] In some embodiments, the threshold value is determined based on one or more of: a type of the picture, and / or a value of a quantization parameter used for determining the reference cost of encoding the block of the picture without splitting the block.

[0119] In some embodiments, TQP= (120 — (QP — 22) * 4) x 106where TQPis the threshold value, and QP is the value of the quantization parameter.

[0120] In some embodiments, process 500 comprises determining that the reference cost is less than the threshold value; based on determining that the reference cost is less than the threshold value, evaluating the group of split modes; and based on the evaluation, selecting from the group of split modes a split mode to use for encoding the picture data, wherein the picture data is encoded using the selected split mode.

[0121] In some embodiments, process 500 comprises determining that the reference cost is greater than the threshold value; and based on determining that the reference cost is greater than the threshold value, encoding the block of the picture (i) without splitting the block or (ii) by splitting the block using a quad-tree, QT, structure, wherein the picture data is encoded using the encoded block.

[0122] In some embodiments, process 500 comprises determining whether the reference cost is less than the threshold value; based on determining that the reference cost is less than the threshold value, encoding the block of the picture (i) without splitting the block or (ii) by splitting the block using a quad-tree, QT, structure, wherein the picture is encoded using the encoded block.

[0123] In some embodiments, process 500 comprises determining whether the reference cost is less than the threshold value; and based on determining that the reference cost is greater than the threshold value, evaluating the group of split modes; and based on the evaluation, selecting from the group of split modes a split mode to use for encoding the picture data, wherein the picture is encoded using the encoded block.

[0124] In some embodiments, determining whether to evaluate the group of split modes is for encoding the block of the picture when the block of the picture corresponds to a luma channel coding unit, CT, belonging to an intra slice having a certain size or an inter slice having a certain size.

[0125] In some embodiments, determining whether to evaluate the group of split modes is for encoding the block of the picture when the block of the picture corresponds to a chroma channel coding unit, CT, belonging to an intra slice having a certain size or an inter slice having a certain size.

[0126] In some embodiments, process 500 comprises determining whether the block of the picture is obtained as a result of splitting a parent block using a split mode included in the group of split modes, wherein determining whether to evaluate the group of split modes is performedonly when the block of the picture is not obtained as a result of splitting the parent block using a split mode included in the group of split modes.

[0127] In some embodiments, determining whether to evaluate the group of split modes is performed only when the block of the picture is obtained as a result of (i) splitting the parent block using a split mode based on a quad tree, QT, structure.

[0128] In some embodiments, process 500 comprises determining whether a split mode that is not included in the group of split modes is evaluated as a candidate split mode for encoding the block of the picture, wherein determining whether to evaluate the group of split modes is performed only after the split mode that is not included in the group of split modes is evaluated as a candidate split mode for encoding the block of the picture.

[0129] In some embodiments, the split mode that is not included in the group of split modes is a split mode based on a QT structure.

[0130] In some embodiments, process 500 comprises (i) evaluating performance of encoding the block of the picture without splitting the block; (ii) after performing the evaluation (i), evaluating performance of encoding the block of the picture using a split mode based on the QT structure, wherein determining whether to evaluate the group of split modes is performed after the evaluation (ii).

[0131] FIG. 6 is a block diagram of an apparatus 600 for implementing encoder 702 and / or decoder 704, according to some embodiments. When apparatus 600 implements encoder 702, apparatus 600 may be referred to as an encoder apparatus, and when apparatus 600 implements decoder 704, apparatus 600 may be referred to as a decoder apparatus. As shown in FIG. 6, apparatus 600 may comprise: processing circuitry (PC) 602, which may include one or more processors (P) 655 (e.g., one or more general purpose microprocessors and / or one or more other processors, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), and the like), which processors may be co-located in a single housing or in a single data center or may be geographically distributed (i.e., encoder apparatus 600 may be a distributed computing apparatus); at least one network interface 648 (e.g., a physical interface or air interface) comprising a transmitter (Tx) 645 and a receiver (Rx) 647 for enabling apparatus 600 to transmit data to and receive data from other nodes connected to a network 110 (e.g., an InternetProtocol (IP) network) to which network interface 648 is connected (physically or wirelessly) (e.g., network interface 648 may be coupled to an antenna arrangement comprising one or more antennas for enabling encoder apparatus 600 to wirelessly transmit / receive data); and a storage unit (a.k.a., “data storage system”) 608, which may include one or more non-volatile storage devices and / or one or more volatile storage devices. In embodiments where PC 602 includes a programmable processor, a computer readable storage medium (CRSM) 642 may be provided. CRSM 642 may store a computer program (CP) 643 comprising computer readable instructions (CRI) 644. CRSM 642 may be a non-transitory computer readable medium, such as, magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like. In some embodiments, the CRI 644 of computer program 643 is configured such that when executed by PC 602, the CRI causes encoder apparatus 600 to perform steps described herein (e g., steps described herein with reference to the flow charts). In other embodiments, encoder apparatus 600 may be configured to perform steps described herein without the need for code. That is, for example, PC 602 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and / or software.

[0132] Summary of Various EmbodimentsAl . A method (500) for encoding a picture, the method comprising: obtaining (s502) the picture; determining (s504) a reference cost of encoding a block of the picture without splitting the block, wherein the block of the picture is associated with a certain region of the picture; based on the determined reference cost, determining (s506) whether to evaluate a group of split modes, wherein the evaluation of the group of split modes is for selecting a split mode to use for encoding the block of the picture; and encoding (s508) the picture based on the determination of whether to evaluate the group of split modes.A2. The method of embodiment Al, wherein, in each split mode included in the group of split modes, a block splitting is performed based on a multi-type tree, MTT, structure.A3. The method of embodiment A2, wherein the block splitting based on the MTT structure is any one of: a vertical binary splitting, BTV, a horizontal binary splitting, BTH, a vertical ternary splitting, TTV, and a horizontal ternary splitting, TTH.A4. The method of any one of embodiments A1-A3, wherein determining the reference cost of encoding the block of the picture without splitting the block comprises: calculating a cost of encoding the block of the picture without splitting the block when each of a plurality of prediction modes is used for encoding; and selecting one of the calculated costs as the reference cost.A5. The method of embodiment A4, wherein the selected cost is the minimum cost among the calculated costs.A6. The method of any one of embodiments A1-A3, wherein determining the reference cost of encoding the block of the picture without splitting the block comprises: calculating a cost of encoding the block of the picture without splitting the block when an intra prediction mode is used for encoding; and selecting the calculated cost as the reference cost.A7. The method of any one of embodiments A4-A6, wherein calculating the cost of encoding the block of the picture without splitting the block comprises:(i) encoding the block of the picture without splitting the block, thereby obtaining encoded block of the picture; and(ii) calculating the cost based on one or more of: a number of bits corresponding to the encoded block of the picture, a difference between the block of the picture and the encoded block of the picture, and / or an encoder constant.A8. The method of embodiment A7, wherein the cost of encoding the block of the picture is calculated based on b x A + d, where b is the number of bits corresponding to the encoded block of the picture, A is the encoder constant, and d is the difference between the block of the picture and the encoded block of the picture.A9. The method of any one of embodiments A1-A8, wherein determining whether to evaluate the group of split modes comprises: comparing the reference cost to a threshold value; and determining whether to evaluate the group of split modes based on a result of the comparison.A10. The method of embodiment A9, wherein the threshold value is determined based on one or more of: a type of the picture, and / or a value of a quantization parameter used for determining the reference cost of encoding the block of the picture without splitting the block.Al l. The method of embodiment A10, wherein TQP= (120 — (QP — 22) * 4) X 106where TQPis the threshold value, and QP is the value of the quantization parameter.A12. The method of any one of embodiments A9-A11, the method comprising: determining that the reference cost is less than the threshold value; based on determining that the reference cost is less than the threshold value, evaluating the group of split modes; and based on the evaluation, selecting from the group of split modes a split mode to use for encoding the picture data, wherein the picture data is encoded using the selected split mode.A13. The method of any one of embodiments A9-A11, the method comprising: determining that the reference cost is greater than the threshold value; andbased on determining that the reference cost is greater than the threshold value, encoding the block of the picture (i) without splitting the block or (ii) by splitting the block using a quadtree, QT, structure, wherein the picture data is encoded using the encoded block.A14. The method of any one of embodiments A9-A11, the method comprising: determining whether the reference cost is less than the threshold value; based on determining that the reference cost is less than the threshold value, encoding the block of the picture (i) without splitting the block or (ii) by splitting the block using a quad-tree, QT, structure, wherein the picture is encoded using the encoded block.Al 5. The method of any one of embodiments A9-A11, the method comprising: determining whether the reference cost is less than the threshold value; and based on determining that the reference cost is greater than the threshold value, evaluating the group of split modes; and based on the evaluation, selecting from the group of split modes a split mode to use for encoding the picture data, wherein the picture is encoded using the encoded block.Al 6. The method of any one of embodiments Al -Al 5, wherein determining whether to evaluate the group of split modes is for encoding the block of the picture when the block of the picture corresponds to a luma channel coding unit, CT, belonging to an intra slice having a certain size or an inter slice having a certain size.Al 7. The method of any one of embodiments Al -Al 5, wherein determining whether to evaluate the group of split modes is for encoding the block of the picture when the block of the picture corresponds to a chroma channel coding unit, CT, belonging to an intra slice having a certain size or an inter slice having a certain size.Al 8. The method of any one of embodiments Al -Al 7, the method comprising: determining whether the block of the picture is obtained as a result of splitting a parent block using a split mode included in the group of split modes, wherein determining whether to evaluate the group of split modes is performed only when the block of the picture is not obtained as a result of splitting the parent block using a split mode included in the group of split modes.Al 9. The method of embodiment Al 8, wherein determining whether to evaluate the group of split modes is performed only when the bock of the picture is obtained as a result of (i) splitting the parent block using a split mode based on a quad tree, QT, structure.A20. The method of any one of embodiments Al -Al 9, the method comprising: determining whether a split mode that is not included in the group of split modes is evaluated as a candidate split mode for encoding the block of the picture, wherein determining whether to evaluate the group of split modes is performed only after the split mode that is not included in the group of split modes is evaluated as a candidate split mode for encoding the block of the picture.A21. The method of embodiment A20, wherein the split mode that is not included in the group of split modes is a split mode based on a QT structure.A22. The method of any one of embodiments A20 and A21, the method comprising:(i) evaluating performance of encoding the block of the picture without splitting the block;(ii) after performing the evaluation (i), evaluating performance of encoding the block of the picture using a split mode based on the QT structure, wherein determining whether to evaluate the group of split modes is performed after the evaluation (ii).B 1. A computer program (600) comprising instructions (644) which when executed by processing circuitry (602) cause the processing circuitry to perform the method of any one of embodiments A1-A22.B2. A carrier containing the computer program of embodiment Bl, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium.Cl. An apparatus (600) for encoding a picture, the apparatus being configured to: obtain (s502) the picture; determine (s504) a reference cost of encoding a block of the picture without splitting the block, wherein the block of the picture is associated with a certain region of the picture; based on the determined reference cost, determine (s506) whether to evaluate a group of split modes, wherein the evaluation of the group of split modes is for selecting a split mode to use for encoding the block of the picture; and encode (s508) the picture based on the determination of whether to evaluate the group of split modes.C2. The apparatus of embodiment Cl, wherein the apparatus is configured to perform the method of any one of embodiments A2-A22.DI. An apparatus (600) comprising: a processing circuitry (602); and a memory (641), said memory containing instructions executable by said processing circuitry, whereby the apparatus is operative to perform the method of any one of embodiments A1-A22.

[0133] Conclusion

[0134] While various embodiments are described herein, it should be understood that theyhave been presented by way of example only, and not limitation. Thus, the breadth and scope of this disclosure should not be limited by any of the above described exemplary embodiments. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.

[0135] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.

[0136] Appendix

[0137] Appendix begins here.

[0138] Appendix ends here.

Claims

CLAIMS1. A method (500) for encoding a picture, the method comprising: obtaining (s502) the picture; determining (s504) a reference cost of encoding a block of the picture without splitting the block, wherein the block of the picture is associated with a certain region of the picture; based on the determined reference cost, determining (s506) whether to evaluate a group of split modes, wherein the evaluation of the group of split modes is for selecting a split mode to use for encoding the block of the picture; and encoding (s508) the picture based on the determination of whether to evaluate the group of split modes.

2. The method of claim 1, wherein, in each split mode included in the group of split modes, a block splitting is performed based on a multi-type tree, MTT, structure.

3. The method of claim 2, wherein the block splitting based on the MTT structure is any one of: a vertical binary splitting, BTV, a horizontal binary splitting, BTH, a vertical ternary splitting, TTV, and a horizontal ternary splitting, TTH.

4. The method of any one of claims 1-3, wherein determining the reference cost of encoding the block of the picture without splitting the block comprises: calculating a cost of encoding the block of the picture without splitting the block when each of a plurality of prediction modes is used for encoding; and selecting one of the calculated costs as the reference cost.

5. The method of claim 4, wherein the selected cost is the minimum cost among the calculated costs.

6. The method of any one of claims 1-3, wherein determining the reference cost of encoding the block of the picture without splitting the block comprises:calculating a cost of encoding the block of the picture without splitting the block when an intra prediction mode is used for encoding; and selecting the calculated cost as the reference cost.

7. The method of any one of claims 4-6, wherein calculating the cost of encoding the block of the picture without splitting the block comprises:(i) encoding the block of the picture without splitting the block, thereby obtaining encoded block of the picture; and(ii) calculating the cost based on one or more of: a number of bits corresponding to the encoded block of the picture, a difference between the block of the picture and the encoded block of the picture, and / or an encoder constant.

8. The method of claim 7, wherein the cost of encoding the block of the picture is calculated based on b X A + d, where b is the number of bits corresponding to the encoded block of the picture, A is the encoder constant, and d is the difference between the block of the picture and the encoded block of the picture.

9. The method of any one of claims 1-8, wherein determining whether to evaluate the group of split modes comprises: comparing the reference cost to a threshold value; and determining whether to evaluate the group of split modes based on a result of the comparison.

10. The method of claim 9, wherein the threshold value is determined based on one or more of: a type of the picture, and / or a value of a quantization parameter used for determining the reference cost of encoding the block of the picture without splitting the block.

11. The method of claim 10, wherein TQP— (120 — (QP — 22) * 4) X 106where TQPis the threshold value, and QP is the value of the quantization parameter.

12. The method of any one of claims 9-11, the method comprising: determining that the reference cost is less than the threshold value; based on determining that the reference cost is less than the threshold value, evaluating the group of split modes; and based on the evaluation, selecting from the group of split modes a split mode to use for encoding the picture data, wherein the picture data is encoded using the selected split mode.

13. The method of any one of claims 9-11, the method comprising: determining that the reference cost is greater than the threshold value; and based on determining that the reference cost is greater than the threshold value, encoding the block of the picture (i) without splitting the block or (ii) by splitting the block using a quadtree, QT, structure, wherein the picture data is encoded using the encoded block.

14. The method of any one of claims 9-11, the method comprising: determining whether the reference cost is less than the threshold value; based on determining that the reference cost is less than the threshold value, encoding the block of the picture (i) without splitting the block or (ii) by splitting the block using a quad-tree, QT, structure, wherein the picture is encoded using the encoded block.

15. The method of any one of claims 9-11, the method comprising: determining whether the reference cost is less than the threshold value; and based on determining that the reference cost is greater than the threshold value, evaluating the group of split modes; andbased on the evaluation, selecting from the group of split modes a split mode to use for encoding the picture data, wherein the picture is encoded using the encoded block.

16. The method of any one of claims 1-15, wherein determining whether to evaluate the group of split modes is for encoding the block of the picture when the block of the picture corresponds to a luma channel coding unit, CT, belonging to an intra slice having a certain size or an inter slice having a certain size.

17. The method of any one of claims 1-15, wherein determining whether to evaluate the group of split modes is for encoding the block of the picture when the block of the picture corresponds to a chroma channel coding unit, CT, belonging to an intra slice having a certain size or an inter slice having a certain size.

18. The method of any one of claims 1-17, the method comprising: determining whether the block of the picture is obtained as a result of splitting a parent block using a split mode included in the group of split modes, wherein determining whether to evaluate the group of split modes is performed only when the block of the picture is not obtained as a result of splitting the parent block using a split mode included in the group of split modes.

19. The method of claim 18, wherein determining whether to evaluate the group of split modes is performed only when the bock of the picture is obtained as a result of (i) splitting the parent block using a split mode based on a quad tree, QT, structure.

20. The method of any one of claims 1-19, the method comprising: determining whether a split mode that is not included in the group of split modes is evaluated as a candidate split mode for encoding the block of the picture, whereindetermining whether to evaluate the group of split modes is performed only after the split mode that is not included in the group of split modes is evaluated as a candidate split mode for encoding the block of the picture.

21. The method of claim 20, wherein the split mode that is not included in the group of split modes is a split mode based on a QT structure.

22. The method of any one of claims 20 and 21, the method comprising:(i) evaluating performance of encoding the block of the picture without splitting the block;(ii) after performing the evaluation (i), evaluating performance of encoding the block of the picture using a split mode based on the QT structure, wherein determining whether to evaluate the group of split modes is performed after the evaluation (ii).

23. A computer program (600) comprising instructions (644) which when executed by processing circuitry (602) cause the processing circuitry to perform the method of any one of claims 1-22.

24. A carrier containing the computer program of claim 23, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium.

25. An apparatus (600) for encoding a picture, the apparatus being configured to perform the method of any one of claims 1-22.

26. An apparatus (600) comprising: a processing circuitry (602); and a memory (641), said memory containing instructions executable by said processing circuitry, whereby the apparatus is operative to perform the method of any one of claims 1-22.

Citation Information

Patent Citations

  • Rapid decision-making method for coding unit division

    CN114827606A

  • Adaptive mode checking order for video encoding

    US20160261861A1

  • Optimization for encoding video data using non-square partitions

    US20160261886A1

  • Systems and methods for partitioning video blocks for video coding

    US20200344475A1