Adaptive decoder-side intra mode derivation

The adaptive decoder-side intra mode derivation method addresses suboptimal performance in existing methods by dynamically determining reconstructed samples and intra modes based on block characteristics, improving prediction accuracy and efficiency.

WO2026002439A1PCT designated stage Publication Date: 2026-01-02NOKIA TECHNOLOGIES OY
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/061800
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-24
Filing Date
2025-04-30
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Existing decoder-side intra mode derivation methods in data compression utilize fixed parameters, such as template size and number of blended predictors, which can lead to suboptimal intra prediction performance.

Method used

An adaptive approach is employed to determine the number of reconstructed samples and intra modes based on characteristics of the current block and neighboring blocks, using a histogram of gradients to derive adaptive intra modes and blending weights.

Benefits of technology

Improves intra prediction accuracy by dynamically adjusting to block characteristics, enhancing decoder-side intra mode derivation efficiency and quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025061800_02012026_PF_FP_ABST
    Figure EP2025061800_02012026_PF_FP_ABST
Patent Text Reader

Abstract

An apparatus configured to: determine a current block; and produce an intra- prediction for the current block using at least one decoder-side intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block, where the reconstructed samples used to determine the histogram are determined adaptively.
Need to check novelty before this filing date? Find Prior Art

Description

ADAPTIVE DECODER-SIDE INTRA MODE DERIVATIONTECHNICAL FIELD

[0001] The examples and non-limiting embodiments relate generally to adaptive decoder-side intra mode derivation.BACKGROUND

[0002] It is known to perform data compression and data decompression in a multimedia system.BRIEF DESCRIPTION OF THE DRAWINGS

[0003] The foregoing embodiments and other features are explained in the following description, taken in connection with the accompanying drawings, wherein:

[0004] FIG. 1 shows an encoder according to an embodiment.

[0005] FIG. 2 shows a decoder according to an embodiment.

[0006] FIG. 3 is a block diagram illustrating a system in accordance with an example.

[0007] FIG. 4 is an example apparatus configured to implement the examples described herein.

[0008] FIG. 5 shows a representation of an example of non-volatile memory media used to store instructions that implement the examples described herein.

[0009] FIG. 6 is an example method, based on the examples described herein.

[0010] FIG. 7 is an example method, based on the examples described herein.

[0011] FIG. 8 is an example method, based on the examples described herein.DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

[0012] Decoder side intra mode derivation (DIMD) is a method to determine the Intramode of the current block using directionality of the texture of the neighboring reconstructed samples located in a template region at top, top-left, and left sides of the current block. In DIMD, a number of intra modes and their corresponding weight factors are derived first. Then, predictors are generated for these intra modes. One additional predictor may also be considered, computed using a pre-determined mode (which can be the Planar mode, or can be a block-vector based prediction mode). Then the final prediction for the current block is generated by combining these predictors by means of sample-wise or uniform weighting, using the derived weights.

[0013] In DIMD, directionality of texture is derived for each neighboring sample in the template region, using 3x3 neighboring samples of that sample. This derivation is performed in several steps. First, the horizontal and vertical direction strengths (Dx and Dy) are calculated using 3x3 neighboring samples of the reconstructed sample in the template. The corresponding region on the Intra prediction mode (angle) is determined using the sign of Dx and Dy. Then the ratio of Dx / Dy is calculated, and the corresponding angle index is determined using the ratio value and a table that maps the ratio to proper angle index. Then the final intra mode for that reconstructed sample is determined using the region and derived angle. The amplitude (or importance) of this intra mode is derived as the sum of absolute values of Dx and Dy.

[0014] The intra mode (corresponding to a given directionality) and its corresponding amplitude are derived as above for each reconstructed sample in the template region. These are then collected into a histogram of gradients, namely a histogram collecting for each intra mode the cumulative amplitude of all neighboring samples with that directionality. Finally, a pre-determined number of intra modes are derived from the histogram of gradients, by finding the dominant intra modes, namely the modes with the highest amplitudes in the histogram. The weights of each extracted intra mode are determined based on these amplitudes, where higher amplitudes correspond to higher weights. A fixed weight is typically assigned to a pre-determined mode, which may be blended together with the determined intra modes to form the final DIMD prediction. Such pre-determined mode may be the Planar mode, or may be a block-vector based predictor.

[0015] DIMD is considered in ECM as an option signaled at the encoder side. In addition, the DIMD modes (prior to blending) are also included in the list of Most Probable Modes(MPM) for signaling as individual MPM candidates.

[0016] A similar approach referred to as Occurrence-Based Intra Coding (OBIC) is also considered in ECM. When using OBIC, a histogram of occurrences is computed based on the intra-prediction modes used to predict a set of neighboring blocks, and their sizes. Similarly to DIMD, the OBIC histogram is then used to compute predictors and weights, which are blended together to generate the final prediction for the current block.

[0017] In the existing DIMD method, fixed parameters are used such as the size of the template as well as the number of blended predictors to use.

[0018] A method operating according to the examples described herein produces an intraprediction for a given block using at least one decoder-side intra mode derivation process, where the intra-prediction process comprises deriving a histogram of gradients based on already reconstructed samples in the surrounding area of the given block, where the histogram of gradients is determined based on a number of already reconstructed samples, where the number of already reconstructed samples used to determine the histogram of gradients is determined based on the already reconstructed sample values, and / or where the determination of the histogram of gradients depends on the distance of reconstructed samples from the current block.

[0019] The histogram of gradients is formed based on analyzing a number of reconstructed samples within a template region surrounding the current block. In some DIMD approaches, the number of reconstructed samples to use is based on the size of the current block. An adaptive approach can be used instead, where the reconstructed samples can be determined adaptively. As an example, the number of reconstructed samples used to determine the histogram can be determined adaptively. For a reconstructed sample in the template region, a given amplitude is determined as the sum of absolute values of Dx and Dy, where the horizontal and vertical direction strengths (Dx and Dy) are calculated using the 3x3 neighboring samples of the reconstructed sample. As an example, a 3x3 window of neighboring samples centered around the reconstructed sample is used. The total amplitude of the histogram can then be computed as the sum of the amplitudes of all the bars in the histogram. In an example, the histogram of gradients is calculated so that the total amplitude within the histogram is equal or greater than a given threshold. As an example, an adaptivenumber of reconstructed samples are used to form the histogram, where for each visited reconstructed sample, the histogram is updated with the amplitude computed for that reconstructed sample, and the total amplitude of the updated histogram is computed, and where more reconstructed samples are visited until the total amplitude of the histogram is equal or greater than a given threshold. As an example, a given reconstructed sample is determined to be used in the computation of a histogram based on characteristics of previously used reconstructed samples. As an example a given reconstructed sample is determined to be used in the computation of a histogram based on whether the total amplitude of the histogram is smaller than a given threshold. As an example, reconstructed samples are visited in order based on their distance from the top-left corner of the current block. As an example, the threshold is based on the size of the current block. As an example, the threshold is computed based on characteristics of neighboring blocks. As an example, separate histograms are computed for different template regions located in different positions with respect to the current block, and a total histogram is computed as the sum of the separate histograms. As an example, a histogram is computed for the template region located on the left of the current block. As an example, a histogram is computed for the template region located on the above-left of the current block. As an example, the threshold is based on characteristics of neighboring blocks. As an example, the threshold is based on whether a neighboring block is encoded with the DIMD mode. As an example, for the histogram computed for the template region located above the current block, the threshold is computed based on characteristics of a block located above the current block. A an example, a different threshold is computed for separate histograms computed for different template regions. As an example, the threshold for the histogram computed for the template region located above the current block is computed based on the width of the current block. As an example, the threshold for the histogram computed for the template region located on the left of the current block is computed based on the height of the current block. As an example, the threshold is computed scaling the height or width of the block by a predetermined number. As an example, a scaling factor equal to 1000 can be used. As an example, a scaling factor equal to 1300 can be used. As another example, a given reconstructed sample within the template region is only considered valid to compute the histogram of gradients if the corresponding amplitude is greater or equal than a given threshold. As an example, the histogram of gradients is computed using a pre-determinednumber of valid reconstructed samples. As an example, when a reconstructed sample is determined to be not valid, then another reconstructed sample is added to the template region, where such reconstructed samples may be from locations further away from the current block.

[0020] As an example, when analyzing a given reconstructed sample to form the histogram of gradients, the corresponding amplitude may be scaled based on the distance of the reconstructed sample from the current block. As an example, the distance of the reconstructed sample from the current block may be computed as a function of the location of the reconstructed sample with respect to the location of the current block. As an example, when considering the template region above the current block, for a reconstructed sample at a location (x_rec,y_rec), and considering that the sample at the top-left position of the current block is at location (x_0, y_0), then the distance can be approximated as (y_0 - y_rec).

[0021] A method operating according to the examples described herein produces an intraprediction for a given block using at least one decoder-side intra mode derivation process, where the intra-prediction process comprises deriving a histogram of gradients based on a set of already reconstructed samples in the surrounding area of the given block, where the determination of the set of already reconstructed samples is based on information extracted from neighboring blocks, such as the intra prediction mode used to predict the neighboring blocks. As an example, a reconstructed sample within the template region may be discarded from the computation of the histogram of gradients if it belongs to a block encoded with one of a set of pre-determined intra-prediction modes. As an example, such set of predetermined modes may include the Planar mode, or it may include the DC mode, or it may include the Enhanced Intra Prediction (EIP) mode, or it may include the Matrix-based intra prediction (MIP) mode. As an example, a reconstructed sample within the template region may be considered from the computation of the histogram of gradients only if it belongs to a block encoded with one of a set of pre-determined intra-prediction modes. As an example, such set of pre-determined modes may include the set of directional intra prediction modes. As an example, the histogram of gradients may be computed based on analyzing a predetermined number of reconstructed samples within a template region, where only samples belonging to blocks encoded with given characteristics may be considered. As an example,only samples included in blocks of a given size may be considered when computing the histogram of gradients.

[0022] As another example, when analyzing a given reconstructed sample to form the histogram of gradients, the corresponding amplitude may be scaled based on characteristics of the block that the reconstructed sample belongs to. As an example, a given weight may be determined to scale the amplitude, where such weight may be determined based on the intra-prediction mode used to predict the block. As an example, a given weight may be used to scale the amplitudes of reconstructed samples that belong to blocks predicted with one of a set of pre-determined intra-prediction modes. As an example, such set of pre-determined modes may include the Planar mode, or it may include the DC mode, or it may include the Enhanced Intra Prediction (EIP) mode, or it may include the Matrix-based intra prediction (MIP) mode.

[0023] A method operating according to the examples described herein produces an intraprediction for a given block using at least one decoder-side intra mode derivation process or occurrence based intra mode derivation process, where the decoder-side intra mode derivation process comprises deriving a histogram based on information extracted from the neighborhood of the current block, where the histogram is used to determine one or more intra-prediction modes and one or more blending weights to form the final prediction for the given block, where the number of determined intra-prediction modes and blending weights is determined adaptively based on characteristics of the current block and / or based on characteristics of at least one different block. As an example, the number of determined intra-prediction modes and blending weights is determined based on whether the area of the current block is greater than a given threshold.

[0024] Using DIMD or OBIC approaches, a number of intra modes are derived from the histogram, by finding the dominant intra modes, namely the modes with the highest amplitudes in the histogram. The weight of each extracted intra mode is computed based on these amplitudes, where higher amplitudes correspond to higher weights. A fixed weight is typically assigned to a pre-determined mode (which as an example can be the Planar mode, or can be a block-vector based prediction mode). The predictors are then blended together to form the final prediction.

[0025] An adaptive approach can be used where the number of intra modes derived from the histogram can be determined adaptively based on characteristic of the current block. As an example, the number of intra modes derived from the histogram may be determined based on the size of the current block. As an example, the number of intra modes derived from the histogram may be determined based on the area of the current block. As an example, for blocks whose area is smaller than a pre-determined threshold, a smaller number of intra modes may be used, than for blocks whose area is larger or equal than the threshold. As an example, if the block area is smaller than 128 samples, then 4 intra modes may be used. As an example, if the block area is larger or equal than 128 samples, then 8 intra modes may be used. As an example, if the block area is smaller than 64 samples, then 4 intra modes may be used. As an example, if the block area is larger or equal than 64 samples, then 8 intra modes may be used.

[0026] As another example, the number of intra modes derived from the histogram can be determined adaptively based on characteristic of a different block. As an example, the histogram may be computed using information extracted from at least one different block; as an example, in OBIC mode the histogram may be computed using the intra-prediction mode and the size extracted from at least one different block. Using OBIC approaches, a pre-determined number of intra modes are then derived from the histogram.

[0027] An adaptive approach can be used where the number of intra modes derived from the histogram can be determined adaptively based on characteristic of at least one different block. As an example, the number of intra modes derived from the histogram can be determined adaptively based on the amplitudes in the histogram. As an example, a predetermined threshold can be considered. Then, intra modes can be extracted from the histogram one by one, where the cumulative sum of amplitudes of all extracted modes is computed after extracting each mode, and where modes are extracted until such cumulative sum of amplitudes is greater than a given pre-determined threshold.

[0028] As an additional example, instead of deciding the number of reference samples or amplitude measurements that are derived from the reference samples based on the sum of amplitudes measured, different criteria can be used. For example, amplitude measurements can be stopped for the current block once the highest amplitude in the histogram of gradient amplitudes reaches a threshold value. As an alternative example, the decision to stopcollecting more amplitude measurements can be based on the N’th highest value in the histogram of gradient amplitudes. For example, the process of collecting more amplitudes can be stopped when the second, or third, or fifth largest amplitude reaches a threshold value. In all these and other examples the decision to stop collecting more amplitudes can be made at different granularity. For example, a check can be made after every individual amplitude, or a check can be made after collecting amplitude measurements for a full reference line.

[0029] To measure an amplitude for a gradient for a given reconstructed sample in a determined position in a reference area, two 3x3 window matrices, Wx and Wy, can be used. The coefficients given for those matrices can be convolved with the reference samples in the window area centered around the reconstructed sample, and as a result the corresponding horizontal and vertical direction strengths, Dx and Dy, can be derived. As an example, the Wx and Wy matrices can be determined as follows:

[0030] Or, as another example, those can be determined as:

[0031] To further increase diversity of the amplitude measurements, it can be beneficial to perform some of the measurements using 3x3 matrices and some using alternative matrices which might be of different size. For example, the 3x3 Wx and Wy matrices given above can be used for the H x 3 reference area immediately above the prediction block and 3 x W reference area immediately left of the prediction block with dimensions W x H; and for the rest of the measurements alternative matrices can be used. For example, the 2x2 matrices below can be used in addition to Wx and Wy:

[0032] Or, as another example, those can be determined as:

[0033] Different approaches to interleave the amplitude measurements can be used. For example, the measurements with 2x2 matrices can start also from the prediction block border or those can be started from a further away reference line.

[0034] As a further example, matrices of size MxM are used to determine a first set of amplitude values in the immediate block boundary area and matrices of size NxN are used to determine a second set of amplitude values which may include locations in both immediate block boundary area and areas further away from the block boundaries.

[0035] The examples described herein fit within the context of next generation video coding standardization, including efforts towards developing the H.267 video coding standard, and the ECM exploration reference software model.

[0036] FIG. 1 shows an encoder 100 according to an embodiment. FIG. 1 illustrates an image to be encoded (In), a predicted representation of an image block (P'n), a prediction error signal (Dn), a reconstructed prediction error signal (D'n), a preliminary reconstructed image (I"1), a final reconstructed image (R'n), a transform (T) and inverse transform (T4), a quantization (Q) and inverse quantization (Q ’), entropy encoding (E), a reference frame memory (RFM), inter prediction (p'nter)7intra prediction (Pmtra), mode selection (MS) and filtering (F). Adaptive intra mode derivation 130 within intra prediction (pintra) implements the examples described herein related to adaptive intra mode derivation.

[0037] FIG. 2 shows a decoder 200 according to an embodiment. FIG. 2 illustrates a predicted representation of an image block (P'n), a reconstructed prediction error signal (D'n), a preliminary reconstructed image (I'11), a final reconstructed image (R'n), an inverse transform (T ’), an inverse quantization (Q ), an entropy decoding (E1), a reference frame memory (RFM), a prediction (either inter or intra) (P), and filtering (F). Adaptive intra mode derivation 230 within prediction (P) implements the examples described herein related to adaptive intra mode derivation.

[0038] FIG. 3 is a block diagram illustrating a system 300 in accordance with severalexamples. In an example, the encoder 330 is used to encode an image or video from the scene 315, and the encoder 330 is implemented in a transmitting apparatus 380. The encoder 330 produces a bitstream 310 comprising signaling that is received by the receiving apparatus 382, which implements a decoder 340. The encoder 330 sends the bitstream 310 that comprises the herein described signaling. The decoder 340 forms the image or video for the scene 315-1, and the receiving apparatus 382 would present this to the user, e.g., via a smartphone, television, or projector among many other options.

[0039] In some examples, the transmitting apparatus 380 and the receiving apparatus 382 are at least partially within a common apparatus, and for example are located within a common housing 350. In other examples the transmitting apparatus 380 and the receiving apparatus 382 are at least partially not within a common apparatus and have at least partially different housings. Therefore in some examples, the encoder 330 and the decoder 340 are at least partially within a common apparatus, and for example are located within a common housing 350. For example the common apparatus comprising the encoder 330 and decoder 340 implements a codec. In other examples the encoder 330 and the decoder 340 are at least partially not within a common apparatus and have at least partially different housings, but when together still implement a codec.

[0040] In some examples, 3D media from the capture (e.g., volumetric capture) at a viewpoint 312 of the scene 315, which includes a person 313) is converted via projection to a series of 2D representations with occupancy, geometry, attributes and / or displacements. Additional atlas information is also included in the bitstream to enable inverse reconstruction. For decoding, the received bitstream 310 is separated into its components with atlas information; occupancy, geometry, displacement, and attribute 2D representations. A 3D reconstruction is performed to reconstruct the scene 315-1 created looking at the viewpoint 312-1 with a “reconstructed” person 313-1. The “-1” are used to indicate that these are reconstructions of the original. As indicated at 320, the decoder 340 performs an action or actions based on the received signaling.

[0041] Encoding 390 performs adaptive intra mode derivation, based on the examples described herein. Decoding 392 performs adaptive intra mode derivation, based on the examples described herein.

[0042] FIG. 4 is an example apparatus 400, which may be implemented in hardware, configured to implement the examples described herein. The apparatus 400 comprises at least one processor 402 (e.g., an FPGA and / or CPU and / or GPU), one or more memories 404 including computer program code 405, the computer program code 405 having instructions to carry out the methods described herein, wherein the at least one memory 404 and the computer program code 405 are configured to, with the at least one processor 402, cause the apparatus 400 to implement circuitry, a process, component, module, or function (implemented with control module 406) to implement the examples described herein.

[0043] Apparatus 400 may be a smartphone, personal digital device or assistant, smart television, laptop, pad, tablet, head-mounted display (HMD), or other user device or terminal device. The memory 404 may be a non-transitory memory, a transitory memory, a volatile memory (e.g. RAM), or a non-volatile memory (e.g., ROM).

[0044] Adaptive intra mode derivation 430 implements the examples described herein related to adaptive decoder-side intra mode derivation.

[0045] The apparatus 400 includes a display and / or VO interface 408, which includes user interface (UI) circuitry and elements, that may be used to display features or a status of the methods described herein (e.g., as one of the methods is being performed or at a subsequent time), or to receive input from a user such as with using a keypad, camera, touchscreen, touch area, microphone, biometric recognition, one or more sensors, etc. The apparatus 400 includes one or more communication e.g. network (N / W) interfaces (I / F(s)) 410. The communication I / F(s) 410 may be wired and / or wireless and communicate over the Internet / other network(s) via any communication technique including via one or more links 424. The communication I / F(s) 410 may comprise one or more transmitters or one or more receivers.

[0046] The transceiver 416 comprises one or more transmitters 418 and one or more receivers 420. The transceiver 416 and / or communication I / F(s) 410 may comprise standard well-known components such as an amplifier, filter, frequency-converter, (de)modulator, and encoder / decoder circuitries and one or more antennas, such as antennas 414 used for communication over wireless link 426.

[0047] The control module 406 of the apparatus 400 comprises one of or both parts 406- 1 and / or 406-2, which may be implemented in a number of ways. The control module 406 may be implemented in hardware as control module 406-1, such as being implemented as part of the one or more processors 402. The control module 406-1 may be implemented also as an integrated circuit or through other hardware such as a programmable gate array. In another example, the control module 406 may be implemented as control module 406-2, which is implemented as computer program code (having corresponding instructions) 405 and is executed by the one or more processors 402. For instance, the one or more memories 404 store instructions that, when executed by the one or more processors 402, cause the apparatus 400 to perform one or more of the operations as described herein. Furthermore, the one or more processors 402, one or more memories 404, and example algorithms (e.g., as flowcharts and / or signaling diagrams), encoded as instructions, programs, or code, are means for causing performance of the operations described herein.

[0048] The apparatus 400 to implement the functionality of control 406 may correspond to any of the apparatuses depicted herein. Alternatively, apparatus 400 and its elements may not correspond to any of the other apparatuses depicted herein, as apparatus 400 may be part of a self-organizing / optimizing network (SON) node or other node, such as a node in a cloud.

[0049] The apparatus 400 may also be distributed throughout the network including within and between apparatus 400 and any network element (such as a base station and / or terminal device and / or user equipment).

[0050] Interface 412 enables data communication and signaling between the various items of apparatus 400, as shown in FIG. 4. For example, the interface 412 may be one or more buses such as address, data, or control buses, and may include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optics or other optical communication equipment, and the like. Computer program code (e.g. instructions) 405, including control 406 may comprise object-oriented software configured to pass data or messages between objects within computer program code 405. Computer program code (e.g. instructions) 405, including control 406 may comprise procedural, functional, or scripting code. The apparatus 400 need not comprise each of the features mentioned, or may comprise other features as well. The various components of apparatus400 may at least partially reside in a common housing 428, or a subset of the various components of apparatus 400 may at least partially be located in different housings, which different housings may include housing 428.

[0051] FIG. 5 shows a schematic representation of non-volatile memory media 500a (e.g. computer / compact disc (CD) or digital versatile disc (DVD)) and 500b (e.g. universal serial bus (USB) memory stick) and 500c (e.g. cloud storage for downloading instructions and / or parameters 502 or receiving emailed instructions and / or parameters 502) storing instructions and / or parameters 502 which when executed by a processor allows the processor to perform one or more of the operations of the methods described herein. Instructions and / or parameters 502 may represent or correspond to a non-transitory computer readable medium.

[0052] FIG. 6 is an example method 600, based on the examples described herein. At 610, the method includes determining a current block. At 620, the method includes producing an intra-prediction for the current block using at least one decoder-side intra mode derivation process. At 630, the method includes where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block. At 640, the method includes where the reconstructed samples used to determine the histogram are determined adaptively. Method 600 may be performed with encoder 100 using adaptive intra mode derivation 130, decoder 200 using adaptive intra mode derivation 230, encoder 330 using encoding 390, decoder 340 using decoding 392, or apparatus 400 using adaptive intra mode derivation 430.

[0053] FIG. 7 is an example method 700, based on the examples described herein. At 710, the method includes determining a current block. At 720, the method includes producing an intra-prediction for the current block using at least one decoder-side intra mode derivation process. At 730, the method includes where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block. At 740, the method includes where the determination of the histogram is based on characteristics of neighboring blocks that neighbor the current block. Method 700 may be performed with encoder 100 using adaptive intra mode derivation 130, decoder 200 using adaptive intra mode derivation 230, encoder 330 using encoding 390, decoder 340 using decoding 392, or apparatus 400 using adaptive intra mode derivation 430.

[0054] FIG. 8 is an example method 800, based on the examples described herein. At 810, the method includes determining a current block. At 820, the method includes producing an intra-prediction for the current block using at least one decoder-side intra mode derivation process or occurrence based intra mode derivation process. At 830, the method includes where the at least one decoder-side intra mode derivation process comprises deriving a histogram based on information extracted from a neighborhood of the current block. At 840, the method includes where the histogram is used to determine one or more intra-prediction modes and one or more blending weights to form the intraprediction for the current block. At 850, the method includes where the number of the determined one or more intra-prediction modes and one or more blending weights is determined adaptively based on characteristics of the current block. Method 800 may be performed with encoder 100 using adaptive intra mode derivation 130, decoder 200 using adaptive intra mode derivation 230, encoder 330 using encoding 390, decoder 340 using decoding 392, or apparatus 400 using adaptive intra mode derivation 430.

[0055] The following examples are provided and described herein.

[0056] Example 1. An apparatus including: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to: determine a current block; and produce an intra-prediction for the current block using at least one decoder-side intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block, where the reconstructed samples used to determine the histogram are determined adaptively.

[0057] Example 2. The apparatus of example 1, where the histogram is a histogram of gradients.

[0058] Example 3. The apparatus of any of examples 1 or 2, where the number of reconstructed samples used to determine the histogram is determined adaptively.

[0059] Example 4. The apparatus of any of examples 1 to 3, where the number of reconstructed samples used to determine the histogram is determined based on characteristics of at least one of the reconstructed samples.

[0060] Example 5. The apparatus of example 4, where the characteristics of the at least one of the reconstructed samples include a value of the reconstructed sample.

[0061] Example 6. The apparatus of any of examples 4 to 5, where the characteristics of the at least one of the reconstructed samples include the position of the reconstructed sample with respect to the position of the current block.

[0062] Example 7. The apparatus of any of examples 4 to 6, where the characteristics of the at least one of the reconstructed samples include a distance from the at least one of the reconstructed samples to the current block.

[0063] Example 8. The apparatus of any of examples 1 to 7, wherein the histogram is determined based on analyzing the reconstructed samples in the template region surrounding the current block.

[0064] Example 9. The apparatus of any of examples 1 to 8, wherein a given reconstructed sample is determined to be used in the computation of a histogram based on analyzing the reconstructed samples in the template region surrounding the current block.

[0065] Example 10. The apparatus of any of examples 1 to 9, wherein the determination of the histogram includes: calculating a horizontal direction strength of a reconstructed sample in the template region surrounding the current block using samples that neighbor the reconstructed sample; calculating a vertical direction strength of the reconstructed sample in the template region surrounding the current block using the samples that neighbor the reconstructed sample; and determining an amplitude of a direction of a texture of the reconstructed sample based on the horizontal direction strength and the vertical direction strength.

[0066] Example 11. The apparatus of example 10, where the amplitude of the direction of the texture of the reconstructed sample is scaled based on a distance from the reconstructed sample to the current block.

[0067] Example 12. The apparatus of any of examples 10 to 11, wherein the samples that neighbor the reconstructed sample comprise 9 neighboring samples within a 3 by 3 block of the reconstructed sample.

[0068] Example 13. The apparatus of any of examples 10 to 12, wherein the determination of the histogram includes: calculating a cumulative amplitude of directions of textures of the reconstructed samples in the template region surrounding the current block as a sum of amplitudes of the directions of textures computed on the reconstructed samples; and determining whether the cumulative amplitude is equal or greater than a threshold.

[0069] Example 14. The apparatus of example 13, wherein a given reconstructed sample is determined to be used in the computation of a histogram based on whether the cumulative amplitude is smaller than a threshold.

[0070] Example 15. The apparatus of examples 13 to 14, wherein the determination of the histogram includes: determining whether one or more additional reconstructed samples in the template region should be used to determine the histogram based on whether the cumulative amplitude is equal to or greater than the threshold.

[0071] Example 16. The apparatus of any of examples 13 to 15, wherein the threshold is based on the size of the current block.

[0072] Example 17. The apparatus of any of examples 10 to 16, wherein the reconstructed sample in the template region surrounding the current block is considered valid to use to determine the histogram when the amplitude of the direction of the texture of the reconstructed sample is greater than or equal to a threshold.

[0073] Example 18. The apparatus of example 17, wherein the apparatus is further caused to: compute the histogram using pre-determined valid reconstructed samples in the template region surrounding the current block; and determine whether a first reconstructed sample in the template region is invalid; add a second reconstructed sample to the template region, in response to determining that the first reconstructed sample in the template region is invalid.

[0074] Example 19. The apparatus of any of examples 1 to 18, wherein the apparatus is further caused to: scale an amplitude of a direction of a texture of a reconstructed sample in the template region based on a distance from the current block to the reconstructed sample; and determine the histogram using the scaled amplitude.

[0075] Example 20. An apparatus including: at least one processor; and at least onememory storing instructions that, when executed by the at least one processor, cause the apparatus at least to: determine a current block; and produce an intra-prediction for the current block using at least one decoder-side intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block, where the determination of the histogram is based on characteristics of neighboring blocks that neighbor the current block.

[0076] Example 21. The apparatus of example 20, wherein the characteristics of the neighboring blocks comprise an intra prediction mode used to predict the neighboring blocks.

[0077] Example 22. The apparatus of any of examples 20 to 21, wherein the apparatus is further caused to: determine whether a reconstructed sample in the template region belongs to a block encoded with a pre-determined intra-prediction mode of a set of pre-determined intra-prediction modes; and determine to not use the reconstructed sample to determine the histogram, in response to the reconstructed sample in the template region belonging to the block encoded with the pre-determined intra-prediction mode of the set of pre-determined intra-prediction modes.

[0078] Example 23. The apparatus of example 22, wherein the set of pre-determined modes includes one or more of: a planar mode, or a direct current mode, or an enhanced intra prediction mode, or a matrix-based intra prediction mode.

[0079] Example 24. The apparatus of any of examples 20 to 23, wherein the apparatus is further caused to: determine whether a reconstructed sample in the template region belongs to a block encoded with a pre-determined intra-prediction mode of a set of pre-determined intra-prediction modes; and determine to use the reconstructed sample to determine the histogram, in response to the reconstructed sample in the template region belonging to the block encoded with the pre-determined intra-prediction mode of the set of pre-determined intra-prediction modes.

[0080] Example 25. The apparatus of example 24, wherein the set of pre-determined intraprediction modes comprises a set of directional intra prediction modes.

[0081] Example 26. The apparatus of any of examples 20 to 25, wherein the apparatus is further caused to: determine whether a reconstructed sample in the template region belongs to a block having a characteristic; and determine to use the reconstructed sample to determine the histogram, in response to the reconstructed sample in the template region belonging to the block having the characteristic.

[0082] Example 27. The apparatus of example 26, wherein the characteristic of the block to which the reconstructed sample in the template region belongs is based on the size of the block.

[0083] Example 28. The apparatus of any of examples 20 to 27, wherein the apparatus is further caused to: determine an amplitude of a direction of a texture of at least one reconstructed sample in the template region; and scale the amplitude of the direction of the texture of the at least one reconstructed sample, based on at least one characteristic of a block to which the at least one reconstructed sample belongs; wherein the histogram is determined based on the scaled amplitude.

[0084] Example 29. The apparatus of example 28, wherein the apparatus is further caused to: determine a weight used to scale the amplitude of the direction of the texture of the at least one reconstructed sample; wherein the weight used to scale the amplitude is based on an intra-prediction mode used to predict the block to which the reconstructed sample belongs.

[0085] Example 30. The apparatus of example 29, wherein the weight used to scale the amplitude of the direction of the texture of the at least one reconstructed sample is set to one of a number of options, where one option is used when the intra-prediction mode used to predict the block to which the reconstructed sample belongs is one intra-prediction mode of a set of pre-determined intra-prediction modes.

[0086] Example 31. The apparatus of example 30, wherein the set of pre-determined intraprediction modes comprises one or more of: a planar mode, a direct current mode, or an enhanced intra prediction mode, or a matrix-based intra prediction mode.

[0087] Example 32. An apparatus including: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause theapparatus at least to: determine a current block; and produce an intra-prediction for the current block using at least one decoder-side intra mode derivation process or occurrence based intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises deriving a histogram based on information extracted from a neighborhood of the current block, where the histogram is used to determine one or more intra-prediction modes and one or more blending weights to form the intra-prediction for the current block, where the number of the determined one or more intra-prediction modes and one or more blending weights is determined adaptively based on characteristics of the current block.

[0088] Example 33. The apparatus of example 32, wherein the apparatus is further caused to: determine the number of the determined one or more intra-prediction modes and one or more blending weights based on a size of the current block.

[0089] Example 34. The apparatus of example 33, wherein the apparatus is further caused to: determine the number of the determined one or more intra-prediction modes and one or more blending weights in response to the size of the current block being smaller than, or greater than or equal to a pre-determined threshold.

[0090] Example 35. The apparatus of any of examples 32 to 34, wherein the apparatus is further caused to: determine whether a block area of the current block is smaller than, or greater than or equal to 128 samples; determine a maximum of 4 intra-prediction modes and 4 blending weights from the histogram, in response to the block area of the current block being smaller than 128 samples; and determine a maximum of 8 intra-prediction modes and 8 blending weights from the histogram, in response to the block area of the current block being greater than or equal to 128 samples.

[0091] Example 36. The apparatus of any of examples 32 to 35, wherein the apparatus is further caused to: compute the histogram using information extracted from at least one different block that is different from the current block.

[0092] Example 37. The apparatus of any of examples 32 to 36, wherein the apparatus is further caused to: compute the histogram in occurrence-based intra coding mode using an intra-prediction mode and a size of at least one different block that is different from thecurrent block.

[0093] Example 38. The apparatus of any of examples 32 to 37, wherein the apparatus is further caused to: determine the number of determined one or more intra-prediction modes and one or more blending weights adaptively based on a characteristic of at least one different block that is different from the current block.

[0094] Example 39. A method including: determining a current block; and producing an intra-prediction for the current block using at least one decoder-side intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block, where the reconstructed samples used to determine the histogram are determined adaptively.

[0095] Example 40. A method including: determining a current block; and producing an intra-prediction for the current block using at least one decoder-side intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block, where the determination of the histogram is based on characteristics of neighboring blocks that neighbor the current block.

[0096] Example 41. A method including: determining a current block; and producing an intra-prediction for the current block using at least one decoder-side intra mode derivation process or occurrence based intra mode derivation process, where the at least one decoderside intra mode derivation process comprises deriving a histogram based on information extracted from a neighborhood of the current block, where the histogram is used to determine one or more intra-prediction modes and one or more blending weights to form the intra-prediction for the current block, where the number of the determined one or more intra-prediction modes and one or more blending weights is determined adaptively based on characteristics of the current block.

[0097] Example 42. An apparatus including: means for determining a current block; and means for producing an intra-prediction for the current block using at least one decoder-side intra mode derivation process, where the at least one decoder-side intra mode derivationprocess comprises determining a histogram based on reconstructed samples in a template region surrounding the current block, where the reconstructed samples used to determine the histogram are determined adaptively.

[0098] Example 43. An apparatus including: means for determining a current block; and means for producing an intra-prediction for the current block using at least one decoder-side intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block, where the determination of the histogram is based on characteristics of neighboring blocks that neighbor the current block.

[0099] Example 44. An apparatus including: means for determining a current block; and means for producing an intra-prediction for the current block using at least one decoder-side intra mode derivation process or occurrence based intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises deriving a histogram based on information extracted from a neighborhood of the current block, where the histogram is used to determine one or more intra-prediction modes and one or more blending weights to form the intra-prediction for the current block, where the number of the determined one or more intra-prediction modes and one or more blending weights is determined adaptively based on characteristics of the current block.

[0100] Example 45. A computer readable medium including instructions stored thereon for performing at least the following: determining a current block; and producing an intraprediction for the current block using at least one decoder-side intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block, where the reconstructed samples used to determine the histogram are determined adaptively.

[0101] Example 46. A computer readable medium including instructions stored thereon for performing at least the following: determining a current block; and producing an intraprediction for the current block using at least one decoder-side intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surroundingthe current block, where the determination of the histogram is based on characteristics of neighboring blocks that neighbor the current block.

[0102] Example 47. A computer readable medium including instructions stored thereon for performing at least the following: determining a current block; and producing an intraprediction for the current block using at least one decoder-side intra mode derivation process or occurrence based intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises deriving a histogram based on information extracted from a neighborhood of the current block, where the histogram is used to determine one or more intra-prediction modes and one or more blending weights to form the intra-prediction for the current block, where the number of the determined one or more intra-prediction modes and one or more blending weights is determined adaptively based on characteristics of the current block.

[0103] References to a ‘computer’, ‘processor’, etc. should be understood to encompass not only computers having different architectures such as single / multi-processor architectures and sequential / parallel architectures but also specialized circuits such as field- programmable gate arrays (FPGAs), application specific circuits (ASICs), signal processing devices and other processing circuitry. References to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the programmable content of a hardware device such as instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device, etc.

[0104] The term “non-transitory,” as used herein, is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to a limitation on data storage persistency (e.g., RAM vs. ROM).

[0105] As used herein, the term ‘circuitry’, ‘circuit’ and variants may refer to any of the following: (a) hardware circuit implementations, such as implementations in analog and / or digital circuitry, and (b) combinations of circuits and software (and / or firmware), such as (as applicable): (i) a combination of processor(s) or (ii) portions of processor(s) / software including digital signal processor(s), software, and one or more memories that work together to cause an apparatus to perform various functions, and (c) circuits, such as amicroprocessor s) or a portion of a microprocessor s), that require software or firmware for operation, even when the software or firmware is not physically present. As a further example, as used herein, the term ‘circuitry’ would also cover an implementation of merely a processor (or multiple processors) or a portion of a processor and its (or their) accompanying software and / or firmware. The term ‘circuitry’ would also cover, for example and when applicable to the particular element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or another network device. Circuitry or circuit may also be used to mean a function or a process used to execute a method.

[0106] It should be understood that the foregoing description is only illustrative. Various alternatives and modifications may be devised by those skilled in the art. For example, features recited in the various dependent claims could be combined with each other in any suitable combination(s). In addition, features from different embodiments described above could be selectively combined into a new embodiment. Accordingly, the description is intended to embrace all such alternatives, modifications and variances which fall within the scope of the appended claims.

[0107] The following acronyms and abbreviations that may be found in the specification and / or the drawing figures are defined as follows (the abbreviations may be appended with each other or with other characters using e.g. a hyphen, dash (-), or number (or abbreviations having a character may be the same with a character removed), and may be case insensitive):2D two-dimensional3D three-dimensionalASIC application specific integrated circuitCPU central processing unitDC direct currentDIMD decoder side intra mode derivationECM enhanced compression modelEIP enhanced intra predictionFPGA field programmable gate arrayGPU graphics processing unitH.2xx family of video coding standards (e.g. H.267)HMD head-mounted displayI / F interfaceI / O input / outputMIP matrix-based intra prediction MPM most probable modeN / W networkOBIC occurrence-based intra codingRAM random access memoryRFM reference frame memory ROM read only memorySON self-organizing / optimizing networkUI user interface USB universal serial bus

Claims

CLAIMSWhat is claimed is:

1. An apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to: determine a current block; and produce an intra-prediction for the current block using at least one decoder-side intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block, where the reconstructed samples used to determine the histogram are determined adaptively.

2. The apparatus of claim 1, where the histogram is a histogram of gradients.

3. The apparatus of any of claims 1 or 2, where the number of reconstructed samples used to determine the histogram is determined adaptively.

4. The apparatus of any of claims 1 to 3, where the number of reconstructed samplesused to determine the histogram is determined based on characteristics of at least one of the reconstructed samples.

5. The apparatus of claim 4, where the characteristics of the at least one of the reconstructed samples include a value of the reconstructed sample.

6. The apparatus of any of claims 4 to 5, where the characteristics of the at least one of the reconstructed samples include the position of the reconstructed sample with respect to the position of the current block.

7. The apparatus of any of claims 4 to 6, where the characteristics of the at least one of the reconstructed samples include a distance from the at least one of the reconstructed samples to the current block.

8. The apparatus of any of claims 1 to 7, wherein the histogram is determined based on analyzing the reconstructed samples in the template region surrounding the current block.

9. The apparatus of any of claims 1 to 8, wherein a given reconstructed sample is determined to be used in the computation of a histogram based on analyzing the reconstructed samples in the template region surrounding the current block.

10. The apparatus of any of claims 1 to 9, wherein the determination of the histogram includes:calculating a horizontal direction strength of a reconstructed sample in the template region surrounding the current block using samples that neighbor the reconstructed sample; calculating a vertical direction strength of the reconstructed sample in the template region surrounding the current block using the samples that neighbor the reconstructed sample; and determining an amplitude of a direction of a texture of the reconstructed sample based on the horizontal direction strength and the vertical direction strength.

11. The apparatus of claim 10, where the amplitude of the direction of the texture of the reconstructed sample is scaled based on a distance from the reconstructed sample to the current block.

12. The apparatus of any of claims 10 to 11, wherein the samples that neighbor the reconstructed sample comprise 9 neighboring samples within a 3 by 3 block of the reconstructed sample.

13. The apparatus of any of claims 10 to 12, wherein the determination of the histogram includes: calculating a cumulative amplitude of directions of textures of the reconstructed samples in the template region surrounding the current block as a sum of amplitudes of the directions of textures computed on the reconstructed samples; and determining whether the cumulative amplitude is equal or greater than a threshold.

14. The apparatus of claim 13, wherein a given reconstructed sample is determined to be used in the computation of a histogram based on whether the cumulative amplitude is smaller than a threshold.

15. The apparatus of claims 13 to 14, wherein the determination of the histogram includes: determining whether one or more additional reconstructed samples in the template region should be used to determine the histogram based on whether the cumulative amplitude is equal to or greater than the threshold.

16. The apparatus of any of claims 13 to 15, wherein the threshold is based on the size of the current block.

17. The apparatus of any of claims 10 to 16, wherein the reconstructed sample in the template region surrounding the current block is considered valid to use to determine the histogram when the amplitude of the direction of the texture of the reconstructed sample is greater than or equal to a threshold.

18. The apparatus of claim 17, wherein the apparatus is further caused to: compute the histogram using pre-determined valid reconstructed samples in the template region surrounding the current block; and determine whether a first reconstructed sample in the template region is invalid; add a second reconstructed sample to the template region, in response to determining that the first reconstructed sample in the template region is invalid.

19. The apparatus of any of claims 1 to 18, wherein the apparatus is further caused to: scale an amplitude of a direction of a texture of a reconstructed sample in the template region based on a distance from the current block to the reconstructed sample; and determine the histogram using the scaled amplitude.

20. An apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to: determine a current block; and produce an intra-prediction for the current block using at least one decoder-side intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block, where the determination of the histogram is based on characteristics of neighboring blocks that neighbor the current block.

21. The apparatus of claim 20, wherein the characteristics of the neighboring blocks comprise an intra prediction mode used to predict the neighboring blocks.

22. The apparatus of any of claims 20 to 21, wherein the apparatus is further caused to: determine whether a reconstructed sample in the template region belongs to a block encoded with a pre-determined intra-prediction mode of a set of pre-determined intra-prediction modes; and determine to not use the reconstructed sample to determine the histogram, in response to the reconstructed sample in the template region belonging to the block encoded with the pre-determined intra-prediction mode of the set of pre-determined intra-prediction modes.

23. The apparatus of claim 22, wherein the set of pre-determined modes includes one or more of: a planar mode, or a direct current mode, or an enhanced intra prediction mode, or a matrix-based intra prediction mode.

24. The apparatus of any of claims 20 to 23, wherein the apparatus is further caused to: determine whether a reconstructed sample in the template region belongs to a block encoded with a pre-determined intra-prediction mode of a set of pre-determined intra-prediction modes; and determine to use the reconstructed sample to determine the histogram, in response to the reconstructed sample in the template region belonging to the block encoded with the pre-determined intra-prediction mode of the set of pre-determined intra-prediction modes.

25. The apparatus of claim 24, wherein the set of pre-determined intra-prediction modes comprises a set of directional intra prediction modes.

26. The apparatus of any of claims 20 to 25, wherein the apparatus is further caused to: determine whether a reconstructed sample in the template region belongs to a block having a characteristic; and determine to use the reconstructed sample to determine the histogram, in response to the reconstructed sample in the template region belonging to the block having the characteristic.

27. The apparatus of claim 26, wherein the characteristic of the block to which the reconstructed sample in the template region belongs is based on the size of the block.

28. The apparatus of any of claims 20 to 27, wherein the apparatus is further caused to: determine an amplitude of a direction of a texture of at least one reconstructed sample in the template region; and scale the amplitude of the direction of the texture of the at least one reconstructed sample, based on at least one characteristic of a block to which the at least one reconstructed sample belongs; wherein the histogram is determined based on the scaled amplitude.

29. The apparatus of claim 28, wherein the apparatus is further caused to:determine a weight used to scale the amplitude of the direction of the texture of the at least one reconstructed sample; wherein the weight used to scale the amplitude is based on an intra-prediction mode used to predict the block to which the reconstructed sample belongs.

30. The apparatus of claim 29, wherein the weight used to scale the amplitude of the direction of the texture of the at least one reconstructed sample is set to one of a number of options, where one option is used when the intra-prediction mode used to predict the block to which the reconstructed sample belongs is one intra-prediction mode of a set of pre-determined intra-prediction modes.

31. The apparatus of claim 30, wherein the set of pre-determined intra-prediction modes comprises one or more of: a planar mode, a direct current mode, or an enhanced intra prediction mode, or a matrix-based intra prediction mode.

32. An apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to: determine a current block; andproduce an intra-prediction for the current block using at least one decoder-side intra mode derivation process or occurrence based intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises deriving a histogram based on information extracted from a neighborhood of the current block, where the histogram is used to determine one or more intra-prediction modes and one or more blending weights to form the intra-prediction for the current block, where the number of the determined one or more intra-prediction modes and one or more blending weights is determined adaptively based on characteristics of the current block.

33. The apparatus of claim 32, wherein the apparatus is further caused to: determine the number of the determined one or more intra-prediction modes and one or more blending weights based on a size of the current block.

34. The apparatus of claim 33, wherein the apparatus is further caused to: determine the number of the determined one or more intra-prediction modes and one or more blending weights in response to the size of the current block being smaller than, or greater than or equal to a pre-determined threshold.

35. The apparatus of any of claims 32 to 34, wherein the apparatus is further caused to: determine whether a block area of the current block is smaller than, or greater than or equal to 128 samples; determine a maximum of 4 intra-prediction modes and 4 blending weights fromthe histogram, in response to the block area of the current block being smaller than 128 samples; and determine a maximum of 8 intra-prediction modes and 8 blending weights from the histogram, in response to the block area of the current block being greater than or equal to 128 samples.

36. The apparatus of any of claims 32 to 35, wherein the apparatus is further caused to: compute the histogram using information extracted from at least one different block that is different from the current block.

37. The apparatus of any of claims 32 to 36, wherein the apparatus is further caused to: compute the histogram in occurrence-based intra coding mode using an intraprediction mode and a size of at least one different block that is different from the current block.

38. The apparatus of any of claims 32 to 37, wherein the apparatus is further caused to: determine the number of determined one or more intra-prediction modes and one or more blending weights adaptively based on a characteristic of at least one different block that is different from the current block.

39. A method comprising: determining a current block; and producing an intra-prediction for the current block using at least one decoder-side intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block, where the reconstructed samples used to determine the histogram are determined adaptively.

40. A method comprising: determining a current block; and producing an intra-prediction for the current block using at least one decoderside intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises determining a histogram based on reconstructed samples in a template region surrounding the current block, where the determination of the histogram is based on characteristics of neighboring blocks that neighbor the current block.

41. A method comprising: determining a current block; and producing an intra-prediction for the current block using at least one decoderside intra mode derivation process or occurrence based intra mode derivation process, where the at least one decoder-side intra mode derivation process comprises deriving a histogram based on information extracted from a neighborhood of the current block,where the histogram is used to determine one or more intra-prediction modes and one or more blending weights to form the intra-prediction for the current block, where the number of the determined one or more intra-prediction modes and one or more blending weights is determined adaptively based on characteristics of the current block.

Citation Information

Patent Citations

  • Method and apparatus of improvement for decoder-derived intra prediction in video coding system

    WO2023198112A1