Apparatus, method, computer program, bitstream, data stream and encoded representation for obtaining prediction values using an additive offset value

The use of an additive offset value in block matching prediction methods compensates for signal drifts, enhancing prediction accuracy and efficiency by leveraging temporal offsets and weightings in signal portions.

WO2026093482A1PCT designated stage Publication Date: 2026-05-07FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
Filing Date
2025-10-30
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Existing block matching prediction methods struggle with signal variations, leading to poor prediction quality and systematic deviations in reconstructed signals due to deteriorated similarity measures.

Method used

An apparatus and method that determine prediction values using an additive offset value based on previously decoded or encoded signal portions and predicted values, incorporating temporal offsets and weightings to compensate for signal drifts and improve prediction accuracy.

Benefits of technology

This approach enhances prediction quality by effectively mitigating signal drifts and outliers, improving computational efficiency and coding efficiency while maintaining robustness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025081454_07052026_PF_FP_ABST
    Figure EP2025081454_07052026_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments comprise an apparatus for obtaining a decoded signal on the basis of an encoded representation, wherein the apparatus is configured to obtain a plurality of prediction values for a current portion of a current channel signal in dependence on a plurality of previously decoded values of one or more channels using an additive offset value, wherein the apparatus is configured to determine the additive offset value in dependence on a previously decoded portion of the current channel signal and in dependence on predicted values for a template portion. Furthermore, respective apparatus for obtaining an encoded representation, methods, computer programs, bitstreams, data streams and encoded representations are disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Apparatus, Method, Computer Program, Bitstream, Data Stream and Encoded Representation for obtaining Prediction Values using an additive Offset Value

[0002] Description

[0003] Technical Field

[0004] Embodiments comprise apparatuses, methods, computer programs, bitstreams, data streams and encoded representation for obtaining prediction values using an additive offset value.

[0005] Embodiments comprise apparatuses, methods, computer programs and bitstreams for performing a block matching with adaptive offsets.

[0006] Background of the Invention

[0007] In the context of block matching prediction, when the signal to be encoded changes significantly over time, e.g. with respect to a baseline, e.g. with respect to an offset, difficulties arise for obtaining accurate prediction signals. For example, similarity measures may deteriorate, hence indicating poor correspondences for the prediction. As a result, the prediction quality may degrade, which may lead to systematic deviations or artifacts in the reconstructed signal.

[0008] Hence, there is a need for a prediction concept, which achieves an improved compromise between a computational effort, a robustness (e.g. with regard to signal variations), a quality of the reconstructed signal and a coding efficiency.

[0009] This is achieved by the subject matter of the independent claims of the present application.

[0010] Further embodiments according to the invention are defined by the subject matter of the dependent claims.

[0011] Summary of the Invention

[0012] An embodiment according to the invention comprises an apparatus (e.g. a decoder) for obtaining a decoded signal (e.g. a decoded biomedical signal; e.g. a decoded audio signal; e.g. a decoded video signal; e.g. a multi-channel signal; e.g. a multi-channel biomedical signal, or a multi-channel audio signal, or a multi-channel video signal) on the basis of an encoded

[0013] FV - ACr - FH251015PCT-2025347516. DOCX representation, wherein the apparatus is configured to obtain a plurality of prediction values (e.g. a block of prediction values or a sequence of prediction values) for a current (e.g. currently considered) (e.g. having time indices iStart<=i<iStart+bsCurr) portion of a current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. pred[c][iStart+j] for 0<=j<bsCurr) in dependence on a plurality of previously decoded values (e.g. of a block of prediction values or a sequence of prediction values) (e.g. Y[c][iStart-bswCurr-offsetValFirst+j] and Y[c][iStart-bsCurr-offsetValSecond+j]for 0<=j<bsCurr) of one or more channels (e.g. of the current channel having channel index c or of another channel having channel index cprev, or of two other channels having channel indices cprevO and cprevl) using an additive offset value (e.g. b), wherein the apparatus is configured to determine the additive offset value (e.g. b) in dependence on a previously decoded portion of the current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. in dependence on a portion leftBndry[c][iStart- templateSize+j]=Y[c][iStart-templateSize + j] for 0<=j<templateSize) (e.g. in dependence on a previously decoded template portion of the current channel signal) and in dependence on predicted values (e.g. predLeftBndry [c][iStart-templateSize+j] for 0<=j<templateSize) for a template portion (e.g. for the template portion)(e.g. obtained using a prediction function in which a weighting of previously decoded sample values of the current channel or of one or more other channels (e.g. alpha, beta) are predetermined, and in which a temporal offset (e.g. offsetVal First, offsetValSecond) of previously decoded sample values of the current channel or of one or more other channels is predetermined).

[0014] It was recognized that determining such an additive offset value in dependence on a previously decoded portion of the current channel signal and in dependence on predicted values for a template portion enables taking into account signal drifts, such as changes of a baseline of the signal (e.g. such as a change of an offset or respectively DC-portion of the signal) in the prediction.

[0015] For example, based on a comparison of reconstructed values of the previously decoded portion of the current channel signal with corresponding predicted values, an information about a prediction error, e.g. because of such a signal drift, may be obtained, and compensated for the current prediction by the additive offset.

[0016] “Corresponding” predicted value may, for example, be understood as the predicted value, based on which a respective reconstructed value of the previously decoded portion of the current channel signal was obtained.

[0017] FV - ACr - FH251015PCT-2025347516. DOCX Furthermore, it was recognized that in order to obtain an accurate offset value, for such a comparison, a plurality of values (e.g. respective pairs of reconstructed and corresponding predicted values) within the template portion may be considered. This may allow obtaining a robust estimate for a baseline error, that may be compensated by the additive offset value. Furthermore, this may allow mitigating an influence of outlier values on the estimation of the offset value.

[0018] According to an embodiment of the invention, the apparatus is configured to determine the additive offset value (e.g. b) using a computation of a mean difference value (e.g. b) between a previously decoded portion of the current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. in dependence on a portion leftBndry[c][iStart- template+j]=Y[c][iStart-templateSize + j] for 0<=j<templateSize-1) and prediction values (e.g. predLeftBndry [c][iStart-template+j] for 0<=j<templateSize) for the template portion (e.g. obtained using a prediction function in which a weighting of previously decoded sample values of the current channel or of one or more other channels (e.g. alpha, beta) are predetermined, and in which a temporal offset (e.g. offsetValFirst, offsetValSecond) of previously decoded sample values of the current channel or of one or more other channels predetermined).

[0019] It was recognized that this approach may allow obtaining the offset value with good computational efficiency. Furthermore, the averaging may allow mitigating an influence of outlier values on the estimation of the offset value.

[0020] According to an embodiment of the invention, the apparatus is configured to obtain the plurality of prediction values (e.g. a block of prediction values or a sequence of prediction values) for the current (e.g. currently considered) (e.g. having time indices iStart<=i<iStart+bsCurr) portion of a current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. pred[c][iStart+j] for 0<=j<bsCurr) in dependence on a plurality of previously decoded values (e.g. a of a block of prediction values or a sequence of prediction values) (e.g. Y[c][iStart- bsCVurr-offsetValFirst+j] and Y[c][iStart-bsCVurr-offsetValSecond+j]for 0<=j<bsCurr) of the current channel (e.g. having channel index c).

[0021] This may, for example, be considered a multi-hypothesis prediction approach, wherein the prediction of a current value or block may be performed based on a superposition of multiple previously decoded values or blocks.

[0022] FV - ACr - FH251015PCT-2025347516. DOCX For example, a signal may comprise two sub-signal portions having different periodicities. Hence, two previously reconstructed values or blocks representing the one and the other subsignal portion may be used to efficiently predict the current value or block.

[0023] According to an embodiment of the invention, the apparatus is configured to obtain prediction values for the current portion of the current channel signal (e.g. Y[c][iStart-bsCurr- offsetVal First +j]) using a time shifting of a previously decoded portion of the current (e.g. currently considered) channel signal.

[0024] It was recognized that a time-shifted (with respect to the current portion of the current channel signal) previously decoded portion of the current channel signal provides for a good basis for the prediction of the for the current portion of the current channel signal.

[0025] It was recognized that temporal signal correlations may be particularly efficiently exploited.

[0026] As an example, the prediction values may hence, be a, optionally scaled, version of the previously decoded portion, e.g. further corrected by the additive offset value, e.g. to incorporate signal drifts, e.g. baseline shifts of the signal.

[0027] According to an embodiment of the invention, the apparatus is configured to obtain prediction values for the current portion of the current channel signal using a combination (e.g. a weighted combination; e.g. a superposition) of a plurality of time shifted versions (e.g. Y[c][iStart-bsCurr- offsetValFirst+j], Y[c][iStart-bsCurr-offsetValSecond+j]) of previously decoded portions of the current (e.g. currently considered) channel signal.

[0028] It was recognized that a multi-hypothesis approach is particularly efficient in a time direction.

[0029] According to an embodiment of the invention, the apparatus is configured to obtain prediction values for the template portion of the current channel signal (e.g. predLeftBndry; e.g. Y[c][iStart-bsCurr-offsetValFirst-templateSize+j]) using a time shifting of a previously decoded portion of the current (e.g. currently considered) channel signal.

[0030] For example, as the currently considered block or value to be predicted, may be predicted based on a time shifted, already reconstructed block or value, the baseline or drift error to be expected for this prediction may be correlated to a baseline or drift error between a reconstructed block or value of the template portion and the corresponding predicted block or value of the template portion (for example between the reconstructed block or value of the

[0031] FV - ACr - FH251015PCT-2025347516. DOCX template portion and a time shifted previously reconstructed block or value for the template portion).

[0032] Simply speaking, it was recognized that a prediction error of the template portion may be correlated with a prediction error to be expected (and hence compensated by the offset value) for a current prediction.

[0033] According to an embodiment of the invention, the apparatus is configured to obtain prediction values for the template portion of the current channel signal (e.g. predLeftBndry[c][iStart- templateSize+j] for 0<=j<templateSize) using a combination (e.g. a weighted combination) of a plurality of time shifted versions (e.g. Y[c][iStart-bsCurr-offsetValFirst-templateSize +j], Y[c][iStart-bsCurr-offsetValSecond-templateSize +j]) of previously decoded portions of the current (e.g. currently considered) channel signal.

[0034] This may allow adapting the determination of the offset value with respect to a multi-hypothesis prediction. For, example, if, for the current prediction, a multi-hypothesis prediction is performed, the respective baseline offset may be determined accordingly for the template portion.

[0035] According to an embodiment of the invention, the apparatus is configured to use one or more same time offset values (e.g. -bsCurr-offsetValFirst or -bsCurr-offsetValFirst and -bsCurr- offsetValSecond) describing one or more time offsets to be applied to one or more previously decoded portions of the current channel signal both for obtaining the prediction values for the current portion of the current channel signal and for obtaining prediction values for the template portion of the current channel signal.

[0036] This may allow obtaining particularly accurate offset values for drift compensation.

[0037] According to an embodiment of the invention, the apparatus is configured to use one or more same weighting parameters (e.g. a scaling value of 1 , or scaling values alpha and beta) describing one or more scalings to be applied to one or more previously decoded portions of the current channel signal both for obtaining the prediction values for the current portion of the current channel signal and for obtaining prediction values for the template portion of the current channel signal.

[0038] This may allow obtaining particularly accurate offset values for drift compensation.

[0039] FV - ACr - FH251015PCT-2025347516. DOCX According to an embodiment of the invention, the apparatus is configured to obtain prediction values predLeftBndry [c] for the template portion of the current channel signal according to predLeftBndry[c] [iStart — templateSize + j]

[0040] = Y[c][iStart - bSCurr — offsetValFirst — templateSize + j ],

[0041] 0 < j < templateSize wherein c is a channel index of the current channel signal; wherein iStart is a time index of a first sample value of the current portion of the current channel signal; wherein templateSize represents a size of the template portion; wherein j is a running variable, running from 0 to templateSize-1 ; wherein Y[c] is a vector of previously decoded values of the current channel signal; wherein bsCurr represents a size of the current portion of the current channel signal; wherein offsetValFirst is a time offset value; wherein the apparatus is configured to obtain the additive offset value offsetPr according to or according to wherein lef tBndry[c][iStart — templateSize + j] = K[c] [iStart - templateSize + j ],

[0042] 0 < j < templateSize wherein the apparatus is configured to obtain the prediction values for the current portion of the current channel signal according to

[0043] FV - ACr - FH251015PCT-2025347516. DOCX pred[c][iStart + j] = Y[c] [iStart - bSCurr — offsetValFirst + j ] + offsPr, 0 < j < bSCurr wherein j is a running variable running between 0 and bsCurr-1.

[0044] It was recognized that the above determination of the prediction values is particularly efficient.

[0045] According to an embodiment of the invention, the apparatus is configured to obtain prediction values predLeftBndry [c] for the template portion of the current channel signal according to predLeftBndry [c] [ [Start — templateSize + j]

[0046] = a ■ Y[c][iStart - bSCurr — offsetValFirst — templateSize + j ] +

[0047] / 3 ■ Y[c][iStart - bSCurr — offsetValSecond — templateSize + j ],

[0048] 0 < j < templateSize , wherein c is a channel index of the current channel signal; wherein iStart is a time index of a first sample value of the current portion of the current channel signal; wherein templateSize represents a size of the template portion; wherein j is a running variable, running from 0 to templateSize-1 ; wherein a is a weighting value of a first contribution in the prediction; wherein is a weighting value of a second contribution in the prediction; wherein Y[c] is a vector of previously decoded values of the current channel signal; wherein bsCurr represents a size of the current portion of the current channel signal; wherein offsetValFirst is a time offset value of the first contribution in the prediction; wherein offsetValSecond is a time offset value of the second contribution in the prediction; wherein the apparatus is configured to obtain the additive offset value offsetPr according to

[0049] — predLef tBndry[c][iStart — templateSize + / ]) or according to

[0050] FV - ACr - FH251015PCT-2025347516. DOCX wherein lef tBndry[c][iStart — templateSlze + j] = Y[c] [iStart - templateSlze + j ], 0 < j < templateSlze wherein the apparatus is configured to obtain the prediction values for the current portion of the current channel signal according to pred[c][iStart + j] = a • Y[c] [iStart - bSCurr — offsetValFirst + j ] + f> • Y [c] [IStart - bSCurr — offsetValSecond + j ] + offsPr, 0 < j < bSCurr wherein j is a running variable running between 0 and bsCurr-1.

[0051] It was recognized that the above determination of the prediction values is particularly efficient.

[0052] According to an embodiment of the invention, the apparatus is configured to obtain the additive offset value offsetAdd according to offsetAd = ( diffTpl + ( 1 « ( log2TSize - 1 ) )) » log2TSize, wherein the apparatus is configured to determine diffTpl according to diffTpl = |loze-1(ref[blockPos — tSize + i] — pFirstLeftExt[i]) (e.g. in the case of a single contribution to the predicted values for the template portion) or according to diffTpl1(ref[blockPos — tSize + i] — ((pFirstLeftExt[i] + pScndLeftExt[i] + 1) » 1) (e.g. in the case of two contributions to the predicted values for the template portion) wherein log2Tsize determines a number of sample values to be used for the determination of the additive offset value in a logarithmic representation; wherein tSize=1 «log2TSize;

[0053] FV - ACr - FH251015PCT-2025347516. DOCX wherein ref designates an array of reference sample values (e.g. of previously decoded values of the current signal channel); wherein blockPos designates a time index of a first sample value of the current portion of the current channel signal; wherein I is a running variable; wherein pFirstLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetFirst + i ]; wherein pScndLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetScnd + i ]; wherein blockOffsetFirst is a time offset value of the first contribution in the prediction; wherein blockOffsetScnd is a time offset value of the second contribution in the prediction;

[0054] It was recognized that the above determination of the offset value is particularly efficient.

[0055] According to an embodiment of the invention, the apparatus is configured to obtain the prediction values pred [i] (e.g. a block of prediction values or a sequence of prediction values) for the current (e.g. currently considered) (e.g. having time indices iStart<=i<iStart+bsCurr) portion of the current (e.g. currently considered) channel signal (e.g. having channel index c) according to pred[ i ] = Clip3( minPredVal, maxPredVal, pFirstf i ] + offsetAd ) (e.g. in the case of a single contribution to the predicted values for the current portion) or according to pred[ i ] = Clip3( minPredVal, maxPredVal, ((pFirstf i ] + pSecondf i ] + 1 ) » 1 ) + offsetAd) (e.g. in the case of two contributions to the predicted values for the current portion), wherein Clip3 is a clipping function restricting the prediction values to a range defined by a minimum boundary value minPredVal and a maximum boundary value maxPredVal; wherein the apparatus is configured to obtain pFirstfi] according to pFirstf i ] = ref[ blockPos - blockOffsetFirst + i ] or according to pFirstf i ] =

[0056] ((ZkS=o reffblockPos - blockOffsetFirst — fPdL + i + k] • BMFiltCoeffs[0][k] ) + 32) » 6 and wherein the apparatus is configured to obtain pScndfi] according to

[0057] FV - ACr - FH251015PCT-2025347516. DOCX pScnd[ i ] = ref[ blockPos- blockOffsetScnd + i ] or according to pScnd[ i ]

[0058] = ((2kS=oref[ blockPos - blockOffsetScnd — fPdL + i + k] • BMFiltCoeffs[l][k] ) + 32) » 6 wherein fPdL is a left-sided extension of a filter; wherein fSz is an extension of the filter; wherein BMFiltCoeffs[][] is an array of filter coefficients.

[0059] It was recognized that the above determination of the prediction values is particularly efficient.

[0060] According to an embodiment of the invention, the apparatus is configured to obtain residual sample values (e.g. for the template portion) according to resiLeft[ i ] = ref[blockPos - tSize + i] - Clip3( minPredVal, maxPredVal, pFirstLeftExt [ i ] + offsetAd), or according to resi Left[ i ] = ref[blockPos - tSize + i] - Clip3(minPredVal, maxPredVal, ((pFirstLeftExt [ i ] + pSecondLeftExt [ i ] + 1 ) » 1 ) + offsetAd wherein Clip3 is a clipping function restricting result values of the clipping function to a range defined by a minimum boundary value minPredVal and a maximum boundary value maxPredVal wherein the apparatus is configured to obtain pFirstLeftExt[i] according to pFirstLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetFirst + i ] or according to pFirstLeftExt[ i ] = ((ZkS=oref[ blockPos - tSize — blockOffsetFirst — fPdL + i + k] •

[0061] BMFiltCoeffs[0] [k] ) + 32) »6 and wherein the apparatus is configured to obtain pScndLeftExt[i] according to pScndLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetScnd + i ] or according to pScndLeftExt[ i ] = ((ZkS=oref[ blockPos - tSize — blockOffsetScnd — fPdL + i + k] •

[0062] BMFiltCoeffs[l] [k] ) + 32) »6 wherein fPdL is a left-sided extension of a filter; wherein fSz is an extension of the filter; wherein BMFiltCoeffs[][] is an array of filter coefficients.

[0063] FV - ACr - FH251015PCT-2025347516. DOCX It was recognized that the above determination of the prediction residual sample values is particularly efficient.

[0064] According to an embodiment of the invention, the apparatus is configured to determine one or more temporal offset values (e.g. offsetValFirst>=0, offsetValSecond>=0), defining which previously decoded values (e.g. of the current channel or of one or more other channels) (e.g. Y[c][iStart - bsCurr-offsetValFirst +j] for 0<=j<bsCurr or Y[c][iStart - bsCurr-offsetValSecond +j] for 0<=j<bsCurr) are used for determining the prediction values for a given temporal portion of the current signal (e.g. pred[c][iStart + j] for 0<=j<bsCurr), using a temporal offset value information (e.g. a first temporal offset information or a first and second temporal offset information) included in the encoded representation.

[0065] Hence, the prediction efficiency may be increased by selectively adapting the one or more temporal offsets.

[0066] According to an embodiment of the invention, the apparatus is configured to evaluate a signaling information included in the encoded representation to decide whether to obtain a plurality of prediction values (e.g. a block of prediction values or a sequence of prediction values) for a current (e.g. currently considered) (e.g. having time indices iStart<=i<iStart+bsCurr) portion of a current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. pred[c][iStart+j] for 0<=j<bsCurr) using a single time shifted contribution based on a plurality of previously decoded values (e.g. a of a block of prediction values or a sequence of prediction values) (e.g. Y[c][iStart-bsCVurr-offsetVal First +j]) or using a plurality of time shifted contributions based on a plurality of previously decoded values (e.g. a of a block of prediction values or a sequence of prediction values) (e.g. Y[c][iStart-bsCVurr- offsetVal First +j] and Y[c][iStart-bsCVurr-offsetValSecond+j]for 0<=j<bsCurr).

[0067] Hence, based on a switching to a best-suited prediction basis, the prediction efficiency may be increased.

[0068] According to an embodiment of the invention, the apparatus is configured to evaluate a signaling information (e.g. bm_pred_add_offset_flag) included in the encoded representation, to decide whether to determine the additive offset value (e.g. b) in dependence on a previously decoded portion of the current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. in dependence on a portion leftBndry[c][iStart-template+j]=Y[c][iStart- templateSize + j] for 0<=j<templateSize-1) and in dependence on predicted values (e.g. predLeftBndry [c][iStart-template+j] for 0<=j<templateSize) for the template portion (e.g.

[0069] FV - ACr - FH251015PCT-2025347516. DOCX obtained using a prediction function in which a weighting of previously decoded sample values of the current channel or of one or more other channels (e.g. alpha, beta) are predetermined, and in which a temporal offset (e.g. offsetValFirst, offsetValSecond) of previously decoded sample values of the current channel or of one or more other channels predetermined) or to use a constant value (e.g. a predetermined default value) as the additive offset value.

[0070] It was recognized that in some cases, the additive offset may, for example, not be beneficial. Hence, the functionality may be selectively activated or deactivated. For example, a trade-off between signal reconstruction accuracy and computational effort may be adapted according to the switching on and off of the determination of the offset.

[0071] According to an embodiment of the invention, the constant value is 0.

[0072] This may provide for a particularly efficient implementation of the signaling.

[0073] In the following, inventive embodiments will be explained in the context of an apparatus for obtaining an encoded representation, e.g. an encoder. It is to be noted that features, functionalities and details that were previously explained in the context of a decoder (e.g. the apparatus for obtaining a decoded signal) may be implemented analogously in or added to or used with a corresponding encoder, e.g. in a corresponding or accordingly adapted manner, both individually or taken in combination. Vice versa, features, functionalities and details as disclosed for inventive encoders may be incorporated in corresponding decoders.

[0074] Accordingly, it is to be noted that decoders and corresponding encoders (or vice versa) may be based on similar and / or equivalent inventive concepts and may hence comprise corresponding advantages.

[0075] An embodiment according to the invention comprises an apparatus (e.g. an encoder) for obtaining an encoded representation on the basis of a signal (e.g. an encoded biomedical signal; e.g. an encoded audio signal; e.g. an encoded video signal; e.g. a multi-channel signal; e.g. a multi-channel biomedical signal, or a multi-channel audio signal, or a multi-channel video signal), wherein the apparatus is configured to obtain a plurality of prediction values (e.g. a block of prediction values or a sequence of prediction values) for a current (e.g. currently considered) (e.g. having time indices iStart<=i<iStart+bsCurr) portion of a current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. pred[c][iStart+j] for 0<=j<bsCurr) in dependence on a plurality of previously encoded values (e.g. of a block of prediction values or a sequence of prediction values) (e.g. Y[c][iStart-bsCurr-offsetValFirst+j]

[0076] FV - ACr - FH251015PCT-2025347516. DOCX and Y[c][iStart-bsCurr-offsetValSecond+j] for 0<=j<bsCurr) of one or more channels (e.g. of the current channel having channel index c or of another channel having channel index cprev, or of two other channels having channel indices cprevO and cprevl) using an additive offset value (e.g. b), wherein the apparatus is configured to determine the additive offset value (e.g. b) in dependence on a previously encoded portion of the current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. in dependence on a portion leftBndry[c][iStart-templateSize+j]=Y[c][iStart-templateSize + j] for 0<=j<templateSize) (e.g. in dependence on a previously encoded template portion of the current channel signal) and in dependence on predicted values (e.g. predLeftBndry [c][iStart-templateSize+j] for 0<=j<templateSize) for a template portion (e.g. for the template portion)(e.g. obtained using a prediction function in which a weighting of previously encoded sample values of the current channel or of one or more other channels (e.g. alpha, beta) are predetermined, and in which a temporal offset (e.g. offsetVal First, offsetValSecond) of previously encoded sample values of the current channel or of one or more other channels is predetermined).

[0077] According to an embodiment of the invention, the apparatus is configured to determine the additive offset value (e.g. b) using a computation of a mean difference value (e.g. b) between a previously encoded portion of the current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. in dependence on a portion leftBndry[c][iStart- template+j]=Y[c][iStart-templateSize + j] for 0<=j<templateSize-1) and prediction values (e.g. predLeftBndry [c][iStart-template+j] for 0<=j<templateSize) for the template portion (e.g. obtained using a prediction function in which a weighting of previously encoded sample values of the current channel or of one or more other channels (e.g. alpha, beta) are predetermined, and in which a temporal offset (e.g. offsetValFirst, offsetValSecond) of previously encoded sample values of the current channel or of one or more other channels predetermined).

[0078] According to an embodiment of the invention, the apparatus is configured to obtain the plurality of prediction values (e.g. a block of prediction values or a sequence of prediction values) for the current (e.g. currently considered) (e.g. having time indices iStart<=i<iStart+bsCurr) portion of a current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. pred[c][iStart+j] for 0<=j<bsCurr) in dependence on a plurality of previously encoded values (e.g. of a block of prediction values or a sequence of prediction values) (e.g. Y[c][iStart- bsCVurr-offsetValFirst+j] and Y[c][iStart-bsCVurr-offsetValSecond+j] for 0<=j<bsCurr) of the current channel (e.g. having channel index c).

[0079] According to an embodiment of the invention, the apparatus is configured to obtain prediction values for the current portion of the current channel signal (e.g. Y[c][iStart-bsCurr-

[0080] FV - ACr - FH251015PCT-2025347516. DOCX offsetVal First +j]) using a time shifting of a previously encoded portion of the current (e.g. currently considered) channel signal.

[0081] According to an embodiment of the invention, the apparatus is configured to obtain prediction values for the current portion of the current channel signal using a combination (e.g. a weighted combination; e.g. a superposition) of a plurality of time shifted versions (e.g. Y[c][iStart-bsCurr- offsetValFirst+j], Y[c][iStart-bsCurr-offsetValSecond+j]) of previously encoded portions of the current (e.g. currently considered) channel signal.

[0082] According to an embodiment of the invention, the apparatus is configured to obtain prediction values for the template portion of the current channel signal (e.g. predLeftBndry; e.g. Y[c][iStart-bsCurr-offsetValFirst-templateSize+j]) using a time shifting of a previously encoded portion of the current (e.g. currently considered) channel signal.

[0083] According to an embodiment of the invention, the apparatus is configured to obtain prediction values for the template portion of the current channel signal (e.g. predLeftBndry[c][iStart- templateSize+j] for 0<=j<templateSize) using a combination (e.g. a weighted combination) of a plurality of time shifted versions (e.g. Y[c][iStart-bsCurr-offsetValFirst-templateSize+j], Y[c][iStart-bsCurr-offsetValSecond-templateSize+j])) of previously encoded portions of the current (e.g. currently considered) channel signal.

[0084] According to an embodiment of the invention, the apparatus is configured to use one or more same time offset values (e.g. -bsCurr-offsetValFirst or -bsCurr-offsetValFirst and -bsCurr- offsetValSecond) describing one or more time offsets to be applied to one or more previously encoded portions of the current channel signal both for obtaining the prediction values for the current portion of the current channel signal and for obtaining prediction values for the template portion of the current channel signal.

[0085] According to an embodiment of the invention, the apparatus is configured to use one or more same weighting parameters (e.g. a scaling value of 1 , or scaling values alpha and beta) describing one or more scalings to be applied to one or more previously encoded portions of the current channel signal both for obtaining the prediction values for the current portion of the current channel signal and for obtaining prediction values for the template portion of the current channel signal.

[0086] According to an embodiment of the invention, the apparatus is configured to obtain prediction values predLeftBndry [c] for the template portion of the current channel signal according to

[0087] FV - ACr - FH251015PCT-2025347516. DOCX predLeftBndry[c] [iStart — templateSize + j]

[0088] = Y[c][iStart - bSCurr — offsetValFirst — templateSize + j ],

[0089] 0 < j < templateSize wherein c is a channel index of the current channel signal; wherein iStart is a time index of a first sample value of the current portion of the current channel signal; wherein templateSize represents a size of the template portion; wherein j is a running variable, running from 0 to templateSize-1 ; wherein Y[c] is a vector of previously encoded values of the current channel signal; wherein bsCurr represents a size of the current portion of the current channel signal; wherein offsetValFirst is a time offset value; wherein the apparatus is configured to obtain the additive offset value offsetPr according to or according to wherein lef tBndry[c][iStart — templateSize + j] = Y[c] [iStart - templateSize + j ],

[0090] 0 < j < templateSize wherein the apparatus is configured to obtain the prediction values for the current portion of the current channel signal according to

[0091] FV - ACr - FH251015PCT-2025347516. DOCX pred[c][iStart + j] = Y[c] [iStart - bSCurr — offsetValFirst + j ] + offsPr, 0 < j < bSCurr wherein j is a running variable running between 0 and bsCurr-1.

[0092] According to an embodiment of the invention, the apparatus is configured to obtain prediction values predLeftBndry [c] for the template portion of the current channel signal according to predLeftBndry [c] [ [Start — templateSize + j]

[0093] = a ■ Y[c][iStart - bSCurr — offsetValFirst — templateSize + j ] +

[0094] / 3 ■ Y[c][iStart - bSCurr — offsetValSecond — templateSize + j ],

[0095] 0 < j < templateSize , wherein c is a channel index of the current channel signal; wherein iStart is a time index of a first sample value of the current portion of the current channel signal; wherein templateSize represents a size of the template portion; wherein j is a running variable, running from 0 to templateSize-1 ; wherein a is a weighting value of a first contribution in the prediction; wherein is a weighting value of a second contribution in the prediction; wherein Y[c] is a vector of previously encoded values of the current channel signal; wherein bsCurr represents a size of the current portion of the current channel signal; wherein offsetValFirst is a time offset value of the first contribution in the prediction; wherein offsetValSecond is a time offset value of the second contribution in the prediction; wherein the apparatus is configured to obtain the additive offset value offsetPr according to or according to

[0096] FV - ACr - FH251015PCT-2025347516. DOCX wherein lef tBndry[c][iStart — templateSlze + j] = Y[c] [iStart - templateSlze + j ], 0 < j < templateSlze wherein the apparatus is configured to obtain the prediction values for the current portion of the current channel signal according to pred[c][iStart + j] = a • Y[c] [iStart - bSCurr — offsetValFirst + j ] + f> • Y [c] [IStart - bSCurr — offsetValSecond + j ] + offsPr, 0 < j < bSCurr wherein j is a running variable running between 0 and bsCurr-1.

[0097] According to an embodiment of the invention, the apparatus is configured to obtain the additive offset value offsetAdd according to offsetAd = ( diffTpl + ( 1 « ( log2TSize - 1 ) )) » log2TSize, wherein the apparatus is configured to determine diffTpl according to diffTpl = |loze-1(ref[blockPos — tSize + i] — pFirstLeftExt[i]) (e.g. in the case of a single contribution to the predicted values for the template portion) or according to diffTpl1(ref[blockPos — tSize + i] — ((pFirstLeftExt[i] + pScndLeftExt[i] + 1) » 1) (e.g. in the case of two contributions to the predicted values for the template portion) wherein log2Tsize determines a number of sample values to be used for the determination of the additive offset value in a logarithmic representation; wherein tSize=1 «log2TSize;

[0098] FV - ACr - FH251015PCT-2025347516. DOCX wherein ref designates an array of reference sample values (e.g. of previously encoded values of the current signal channel); wherein blockPos designates a time index of a first sample value of the current portion of the current channel signal; wherein I is a running variable; wherein pFirstLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetFirst + i ]; wherein pScndLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetScnd + i ]; wherein blockOffsetFirst is a time offset value of the first contribution in the prediction; wherein blockOffsetScnd is a time offset value of the second contribution in the prediction;

[0099] According to an embodiment of the invention, the apparatus is configured to obtain the prediction values pred (i) (e.g. a block of prediction values or a sequence of prediction values) for the current (e.g. currently considered) (e.g. having time indices iStart<=i<iStart+bsCurr) portion of the current (e.g. currently considered) channel signal (e.g. having channel index c) according to pred[ i ] = Clip3( minPredVal, maxPredVal, pFirstf i ] + offsetAd ) (e.g. in the case of a single contribution to the prerdicted values for the current portion) or according to pred[ i ] = Clip3( minPredVal, maxPredVal, ((pFirstf i ] + pSecondf i ] + 1 ) » 1 ) + offsetAd) (e.g. in the case of two contributions to the prerdicted values for the current portion), wherein Clip3 is a clipping function restricting the prediction values to a range defined by a minimum boundary value minPredVal and a maximum boundary value maxPredVal; wherein the apparatus is configured to obtain pFirstfi] according to pFirstf i ] = ref[ blockPos - blockOffsetFirst + i ] or according to pFirstf i ] =

[0100] ((ZkS=o reffblockPos - blockOffsetFirst — fPdL + i + k] • BMFiltCoeffs[0][k] ) + 32) » 6 and wherein the apparatus is configured to obtain pScndfi] according to pScnd[ i ] = ref[ currCh ][ blockPos- blockOffsetScnd + i ], or pScnd[ i ] = ref[ blockPos- blockOffsetScnd + i ] or according to

[0101] FV - ACr - FH251015PCT-2025347516. DOCX pScnd[ i ]

[0102] = ((ZkS=oref[ blockPos - blockOffsetScnd — fPdL + i + k] • BMFiltCoeffs[l][k] ) + 32) » 6 wherein fPdL is a left-sided extension of a filter; wherein fSz is an extension of the filter; wherein BMFiltCoeffs[] [] is an array of filter coefficients.

[0103] According to an embodiment of the invention, the apparatus is configured to obtain residual sample values (e.g. for the template portion) according to resiLeft[ i ] = ref[blockPos - tSize + i] - Clip3( minPredVal, maxPredVal, pFirstLeftExt [ i ] + offsetAd), or according to resi Left[ i ] = ref[blockPos - tSize + i] - Clip3(minPredVal, maxPredVal, ((pFirstLeftExt [ i ] + pSecondLeftExt [ i ] + 1 ) » 1 ) + offsetAd wherein Clip3 is a clipping function restricting result values of the clipping function to a range defined by a minimum boundary value minPredVal and a maximum boundary value maxPredVal; wherein the apparatus is configured to obtain pFirstLeftExt[i] according to pFirstLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetFirst + i ] or according to pFirstLeftExt[ i ] = ((ZkS=oref[ blockPos - tSize — blockOffsetFirst — fPdL + i + k] •

[0104] BMFiltCoeffs[0] [k] ) + 32) »6 and wherein the apparatus is configured to obtain pScndLeftExt[i] according to pScndLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetScnd + i ] or according to pScndLeftExt[ i ] = ((ZkS=oref[ blockPos - tSize — blockOffsetScnd — fPdL + i + k] •

[0105] BMFiltCoeffs[l] [k] ) + 32) »6 wherein fPdL is a left-sided extension of a filter; wherein fSz is an extension of the filter; wherein BMFiltCoeffs[] [] is an array of filter coefficients.

[0106] According to an embodiment of the invention, the apparatus is configured to determine one or more temporal offset values (e.g. offsetValFirst>=0, offsetValSecond>=0), defining which previously encoded values (e.g. of the current channel or of one or more other channels) (e.g. Y[c][iStart - bsCurr-offsetValFirst +j] for 0<=j<bsCurr or Y[c][iStart - bsCurr-offsetValSecond +j] for 0<=j<bsCurr) are used for determining the prediction values for a given temporal portion

[0107] FV - ACr - FH251015PCT-2025347516. DOCX of the current signal (e.g. pred[c][iStart + j] for 0<=j<bsCurr), and wherein the apparatus is configured to encode a temporal offset value information (e.g. a first temporal offset information or a first and second temporal offset information), comprising an information about the one or more temporal offset values, in the encoded representation.

[0108] According to an embodiment of the invention, the apparatus is configured to encode a signaling information in the encoded representation, indicating whether a single time shifted contribution based on a plurality of previously encoded values (e.g. of a block of prediction values or a sequence of prediction values) (e.g. Y[c][iStart-bsCVurr-offsetValFirst+j]) or a plurality of time shifted contributions based on a plurality of previously encoded values (e.g. of a block of prediction values or a sequence of prediction values (e.g. Y[c][iStart-bsCVurr-offsetValFirst+j] and Y[c][iStart-bsCVurr-offsetValSecond+j] for 0<=j<bsCurr) are to be used (e.g. in a corresponding apparatus for decoding, e.g. in a decoder) to obtain a plurality of prediction values (e.g. a block of prediction values or a sequence of prediction values) for a current (e.g. currently considered) (e.g. having time indices iStart<=i<iStart+bsCurr) portion of a current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. pred[c][iStart+j] for 0<=j<bsCurr).

[0109] According to an embodiment of the invention, the apparatus is configured to encode a signaling information (e.g. bm_pred_add_offset_flag) in the encoded representation, indicating whether to determine the additive offset value (e.g. b) in dependence on a previously encoded portion of the current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. in dependence on a portion leftBndry[c][iStart-template+j]=Y[c][iStart-templateSize + j] for 0<=j<templateSize-1) and in dependence on predicted values (e.g. predLeftBndry [c][iStart- template+j] for 0<=j<templateSize) for the template portion (e.g. obtained using a prediction function in which a weighting of previously encoded sample values of the current channel or of one or more other channels (e.g. alpha, beta) are predetermined, and in which a temporal offset (e.g. offsetValFirst, offsetValSecond) of previously encoded sample values of the current channel or of one or more other channels predetermined) or to use a constant value (e.g. a predetermined default value) as the additive offset value.

[0110] According to an embodiment of the invention, the constant value is 0.

[0111] In the following, further inventive aspect will be explained in the context of methods. It is to be noted that any of the features, functionalities and / or details as explained in the context of any of the inventive encoders and / or decoders may be incorporated in or may be used with or may be added to (e.g. in a corresponding or accordingly adapted manner) any of the inventive

[0112] FV - ACr - FH251015PCT-2025347516. DOCX methods, both individually or taken in combination. Furthermore, methods according the embodiments of the invention may be based on the same or similar or analogous considerations and / or ideas as corresponding encoders and / or decoders. Hence, these methods may comprise same or similar or analogous features and advantages.

[0113] An embodiment according to the invention comprises a method (e.g. a decoding method) for obtaining a decoded signal (e.g. a decoded biomedical signal; e.g. a decoded audio signal; e.g. a decoded video signal; e.g. a multi-channel signal; e.g. a multi-channel biomedical signal, or a multi-channel audio signal, or a multi-channel video signal) on the basis of an encoded representation, the method comprising: obtaining a plurality of prediction values (e.g. a block of prediction values or a sequence of prediction values) for a current (e.g. currently considered) (e.g. having time indices iStart<=i<iStart+bsCurr) portion of a current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. pred[c][iStart+j] for O<=j<bsCurr]) in dependence on a plurality of previously decoded values (e.g. of a block of prediction values or a sequence of prediction values) (e.g. Y[c][iStart-bsCurr-offsetValFirst+j] and Y[c][iStart-bsCurr-offsetValSecond+j] for 0<=j<bsCurr) of one or more channels (e.g. of the current channel having channel index c or of another channel having channel index cprev, or of two other channels having channel indices cprevO and cprevl) using an additive offset value (e.g. b), and determining the additive offset value (e.g. b) in dependence on a previously decoded portion of the current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. in dependence on a portion leftBndry[c][iStart-templateSize+j]=Y[c][iStart-templateSize + j] for 0<=j<templateSize) (e.g. in dependence on a previously decoded template portion of the current channel signal) and in dependence on predicted values (e.g. predLeftBndry [c][iStart- templateSize+j] for 0<=j<templateSize]) for a template portion (e.g. for the template portion)(e.g. obtained using a prediction function in which a weighting of previously decoded sample values of the current channel or of one or more other channels (e.g. alpha, beta) are predetermined, and in which a temporal offset (e.g. off setVal First, offsetValSecond) of previously decoded sample values of the current channel or of one or more other channels is predetermined).

[0114] An embodiment according to the invention comprises a method (e.g. an encoding method) for obtaining an encoded representation on the basis of a signal (e.g. an encoded biomedical signal; e.g. an encoded audio signal; e.g. an encoded video signal; e.g. a multi-channel signal;

[0115] FV - ACr - FH251015PCT-2025347516. DOCX e.g. a multi-channel biomedical signal, or a multi-channel audio signal, or a multi-channel video signal), the method comprising: obtaining a plurality of prediction values (e.g. a block of prediction values or a sequence of prediction values) for a current (e.g. currently considered) (e.g. having time indices iStart<=i<iStart+bsCurr) portion of a current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. pred[c][iStart+j] for 0<=j<bsCurr) in dependence on a plurality of previously encoded values (e.g. of a block of prediction values or a sequence of prediction values) (e.g. Y[c][iStart-bsCurr-offsetValFirst+j] and Y[c][iStart-bsCurr-offsetValSecond+j] for 0<=j<bsCurr) of one or more channels (e.g. of the current channel having channel index c or of another channel having channel index cprev, or of two other channels having channel indices cprevO and cprevl) using an additive offset value (e.g. b), and determining the additive offset value (e.g. b) in dependence on a previously encoded portion of the current (e.g. currently considered) channel signal (e.g. having channel index c) (e.g. in dependence on a portion leftBndry[c][iStart-templateSize+j]=Y[c][iStart-templateSize + j] for 0<=j<templateSize) (e.g. in dependence on a previously encoded template portion of the current channel signal) and in dependence on predicted values (e.g. predLeftBndry [c][iStart- templateSize+j] for O<=j<templateSize) for a template portion (e.g. for the template portion)(e.g. obtained using a prediction function in which a weighting of previously encoded sample values of the current channel or of one or more other channels (e.g. alpha, beta) are predetermined, and in which a temporal offset (e.g. offsetValFirst, offsetValSecond) of previously encoded sample values of the current channel or of one or more other channels is predetermined).

[0116] An embodiment according to the invention comprises a computer program for performing any of the inventive methods, when the computer program runs on a computer.

[0117] An embodiment according to the invention comprises a data stream encoded by the inventive method (e.g. an encoding method) for obtaining an encoded representation on the basis of a signal (e.g. an encoded biomedical signal.

[0118] In the following, further inventive aspect will be explained in the context of encoded representations. It is to be noted that any of the features, functionalities and / or details as explained in the context of any of the inventive encoders and / or decoders may be incorporated in or may be used with or may be added to (e.g. in a corresponding or accordingly adapted manner) any of the inventive encoded representations, individually or taken in combination. Furthermore, encoded representation according the embodiments of the invention may be

[0119] FV - ACr - FH251015PCT-2025347516. DOCX based on the same or similar or analogous considerations and / or ideas as corresponding encoders and / or decoders. Hence, these encoded representations may comprise same or similar or analogous features and advantages.

[0120] An embodiment according to the invention comprises an encoded representation (e.g. representing a biomedical signal, or representing an audio signal, or representing a video signal), comprising: an encoded representation of a plurality of signal values of a signal (e.g. representing a biomedical signal, or representing an audio signal, or representing a video signal); and a signaling information (e.g. an encoded flag or an encoded value) (e.g. bm_pred_mult_hyp_flag) indicating whether a prediction, which is to be used to obtain a plurality of prediction values (e.g. a block of prediction values or a sequence of prediction values) for a portion of a channel signal, should be based on a single previously decoded signal portion, or on two previously decoded signal portions.

[0121] According to an embodiment of the invention, the encoded representation comprises an encoded representation of one or more temporal prediction offset values.

[0122] An embodiment according to the invention comprises an encoded representation (e.g. representing a biomedical signal, or representing an audio signal, or representing a video signal), comprising: an encoded representation of a plurality of signal values of a signal (e.g. representing a biomedical signal, or representing an audio signal, or representing a video signal); and a signaling information (e.g. an encoded flag or an encoded value) (e.g. bm_pred_add_offset_flag) indicating whether an additive offset value (e.g. b) should be determined (e.g. in dependence on a previously decoded portion of the current (e.g. currently considered) channel signal and in dependence on predicted values (e.g. predLeftBndry [c][iStart-template+j] for 0<=j<templateSize) for a template portion) by a decoder decoding the encoded representation, and added to a plurality of prediction values (e.g. a block of prediction values or a sequence of prediction values) for a portion of a channel signal by the decoder decoding the encoded representation.

[0123] Brief Description of the Drawings

[0124] The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention. In the following description, various embodiments of the invention are described with reference to the following drawings, in which:

[0125] FV - ACr - FH251015PCT-2025347516. DOCX Fig. 1 shows a schematic view of an apparatus for obtaining a decoded signal on the basis of an encoded representation, according to an embodiment of the invention;

[0126] Fig. 2 shows a schematic view of a grid of sample values X[c][i] according to embodiments of the invention;

[0127] Fig. 3 shows a schematic view of an apparatus for obtaining an encoded representation on the basis of a signal according to an embodiment of the invention; and

[0128] Fig. 4 shows a schematic view of an encoder for encoding a multi-channel digital signal into a data stream and decoder for decoding the multi-channel digital signal from the data stream according to an embodiment.

[0129] Detailed Description of the Embodiments

[0130] Equal or equivalent elements or elements with equal or equivalent functionality are denoted in the following description by equal or equivalent reference numerals even if occurring in different figures.

[0131] In the following description, a plurality of details is set forth to provide a more throughout explanation of embodiments of the present invention. However, it will be apparent to those skilled in the art that embodiments of the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form rather than in detail in order to avoid obscuring embodiments of the present invention. In addition, features of the different embodiments described herein after may be combined with each other, unless specifically noted otherwise.

[0132] Fig. 1 shows a schematic view of an apparatus for obtaining a decoded signal on the basis of an encoded representation, according to an embodiment of the invention.

[0133] Apparatus 100 comprises a decoding unit 110, a prediction value determination unit 120 and an offset value determination unit 130.

[0134] The apparatus 100 is configured to obtain a plurality of prediction values for a current portion of a current channel signal in dependence on a plurality of previously decoded values of one or more channels using an additive offset value.

[0135] FV - ACr - FH251015PCT-2025347516. DOCX Therefore, the prediction value determination unit 120 is provided with an information about previously decoded values 111 and an offset information 131. The information about the previously decoded values 111 may comprise (e.g. an information about) the plurality of previously decoded values of the one or more channels and the offset information 131 may comprise (e.g. an information about) the additive offset value. The prediction value determination unit 120 may be configured to provide a prediction information 121 comprising (e.g. an information about) the plurality of prediction values for a current portion of a current channel signal.

[0136] Furthermore, the apparatus 100 is configured to determine the additive offset value in dependence on a previously decoded portion of the current channel signal and in dependence on predicted values (e.g. in dependence on prediction values) for a template portion.

[0137] Therefore, offset value determination unit 130 is provided with the information about previously decoded values 111, which may comprise (e.g. an information about) the previously decoded portion of the current channel signal (and optionally an information about the predicted values) for the template portion.

[0138] Optionally, prediction information 121 may be provided to the offset value determination unit 130, for example for providing (e.g. an information about) the predicted values for the template portion (which may be obtained or stored by the prediction value determination unit 120, e.g. from previous prediction steps).

[0139] Apparatus 100 comprises a decoding unit 110 for providing the information about the previously decoded values 111 and for providing decoded values 102 on the basis of the prediction information 121.

[0140] As another optional feature, an encoded representation 101 may be provided to the apparatus 100, for example in particular to the optional decoding unit 110. The encoded representation 101 may, for example, comprise a residual information for correcting prediction values, to obtain the decoded values or respectively reconstructed values 102.

[0141] Furthermore, optionally, the encoded representation 101 may, for example, comprise a prediction parameter information, which may be provided to the prediction value determination unit 120, e.g. to set prediction value determination parameters, e.g. such as time shift information, e.g. scaling or weighting information, e.g. filter parameters.

[0142] FV - ACr - FH251015PCT-2025347516. DOCX Furthermore, optionally, the encoded representation 101 may, for example, comprise one or more parameters for adapting the determination of the offset value, which may hence be provided to the offset value determination unit 130.

[0143] For a more illustrative example of an inventive prediction approach according to embodiments (e.g. as performed by apparatus 100), reference is made to Fig. 2. Fig. 2 shows a schematic view of a grid of sample values X[c][i] according to embodiments of the invention.

[0144] Fig. 2 shows sample values X[c][i] , 201 , having channel indices c and sample indices i. Hence, each row may correspond to a plurality of temporally adjacent samples of a single channel, and each column may correspond to samples of different channels at a same point in time.

[0145] Area 202 may indicate a current portion of a current channel signal, e.g. for channel c = cCurr and samples indices iStart <= i <= iEnd, e.g. comprising sample values X[c=cCurr][ iStart <= i <= iEnd],

[0146] Apparatus 100, e.g. using prediction value determination unit 120, may be configured to obtain a plurality of prediction values, e.g. pred[c=cCurr][iStart+j] for 0<=j<bsCurr]), with bsCurr, 203, representing a size of the current portion 202 of the current channel.

[0147] Area 204 may indicate previously decoded (e.g. reconstructed) sample values. As an example, a decoding may be performed on a channel-per channel basis and block-wise, e.g. as indicated by arrow 205. Hence, portion 202 may represent a border between already reconstructed values, see 204, and not yet decoded values. Previously reconstructed sample values of area 204 will be referred to as Y[c][i] .

[0148] As indicated by arrow 206a, a prediction value 206 may be determined based on a previously decoded sample value 207a (and / or based on a plurality of previously decoded sample values, e.g. comprising sample value 207a and, for example, one or more neighboring sample values). For example, based on previously decoded sample value 207a (and / or the plurality of previously decoded sample values), a processed, e.g. scaled, e.g. filtered sample value 207b may be obtained. This processed sample value 207b may be time shifted, see arrow 206a, in order to obtain an intermediate prediction sample value (e.g. a predicted sample value). Additive offset 208 may be added to the intermediate predicted sample value, in order to obtain the prediction sample value 206.

[0149] FV - ACr - FH251015PCT-2025347516. DOCX Here, it is to be noted that the prediction may also be performed block-wise, e.g. for a plurality of samples. For example, in such a case, for a block 202, a prediction block may be obtained based on a block comprising decoded sample value 207a and one or more neighboring sample.

[0150] Hence, in another interpretation of Fig. 2, a square in Fig. 2 may, according to some embodiments, be understood as a block comprising a respective plurality of samples and area 202 may correspond to an aggregation of several blocks.

[0151] Also, a prediction value for single sample value, e.g. 206, may be obtained based on a block or portion of a plurality of previously decoded values (e.g. comprising decoded sample value 207a and one or more neighboring samples).

[0152] In particular, the prediction may comprise a filtering, wherein a prediction value, e.g. 206, is obtained based on a filtering of several previously decoded sample values, e.g. based on a filtering of a block of several previously decoded sample values.

[0153] Hence, as an example, prediction values pred[c=cCurr][iStart+j], such as 206, may be determined based on values Y[c=cCurr][iStart-bsCurr-offsetValFirst+j], such as 207a, for 0<=j<bsCurr, with offsetValFirst being a time offset value, and based on the additive offset value 208, e.g. according to pred[c = cCurr] [iStart + j]

[0154] = Y[c = cCurr] [iStart - bSCurr — offsetValFirst + j ] + offsPr,

[0155] 0 < j < bSCurr.

[0156] Please note that in the above case, as an example, Y[c=cCurr][iStart-bsCurr-offsetValFirst+j] is used without weighting, e.g. scaling. However, a scaling may optionally be implemented. Accordingly, in a block-wise processing, a scaling or filtering, e.g. with different weights for sample values of a respective block, may be performed. Hence, as an example, respective weights, may depend on j. Furthermore, it is to be noted that the offset may be determined and added sample-wise or block-wise.

[0157] Furthermore, the additive offset value 208 may be determined in dependence on a previously decoded portion of the current channel signal and in dependence on predicted values for a template portion.

[0158] FV - ACr - FH251015PCT-2025347516. DOCX The template portion may be a portion of adjacent already reconstructed boundary samples (or respectively blocks of samples) of the current block 202. In the example of Fig. 2, a template size of the template portion is indicated with 209.

[0159] Now, as discussed above, the additive offset value, e.g. offsPr, 208, may allow incorporating signal changes, such as offset changes, baseline drifts, DC drifts or the like.

[0160] In line with the prediction of value 206 based on value 207a, a value 210 of the template portion may be predicted based on a value 211a. In the given example of Fig. 2, as an optional feature, a time shift (e.g. “sample distance”) (e.g. offsetValFirst, e.g. offsetVal First + BsCurr) between 207a and 206 is equal to a time shift (e.g. “sample distance”) between 211a and 210.

[0161] For example, in some simple cases, previously decoded sample value 211a may correspond to the predicted value for sample value 210, e.g. without scaling or the like. However, in general, a prediction according to embodiments may comprise scalings, offsets and / or filterings, such as full pel or half pel filtering. Hence, a processed sample value 211 b, based on previously decoded sample value 211a is shown as the predicted sample value for 210. Again, accordingly, a block-wise prediction, as discussed above, may be performed for the template portion, in order to obtain the offset 208.

[0162] Accordingly, it was recognized that a deviation between the predicted sample value (or block) 211b (or respectively 211a) and reconstructed sample value (or block) 210 may allow estimating a deviation (e.g. because of signal drift) for prediction 206a (for compensation via the offset value 208).

[0163] Hence, reconstructed value (or block) 210 of the template portion may be compared to its predicted value (or block) 211 b (or respectively 211a). For example, based on the comparison, a difference 212 may be determined.

[0164] Now, optionally, not only one such comparison and optionally difference determination may be performed but, for example as indicated by arrows 213a,b, a plurality of differences 214 for pairs of reconstructed values (or blocks) and their predicted values (or blocks) (which may correspond to another reconstructed value (or blocks) or a processed version thereof) may be determined.

[0165] As an example, offset value 208 may be determined according to

[0166] FV - ACr - FH251015PCT-2025347516. DOCX with leftBndry [c = cCurr] [iStart — templateSize + j]

[0167] = Y[c = cCurr][iStart - templateSize + j ], 0 < j < templateSize

[0168] (or a processed version of Y), and predLeftBndry[c = cCurr] [iStart — templateSize + j]

[0169] = Y[c = cCurr][iStart - bSCurr — offsetValFirst — templateSize + j ], 0 < j < templateSize,

[0170] (or a processed version of Y).

[0171] Here, it is to be noted that the concept of Fig. 2 shows a plurality of optional features.

[0172] First, it is to be noted that the prediction may be performed based on previously decoded values (or block), e.g. Y[c][i] of one or more channels. Hence, the prediction is not necessarily performed using only one channel signal, e.g. with c=cCurr.

[0173] Furthermore, it is to highlighted again that a predicted value for a template portion may not necessarily correspond to another reconstructed portion, but for example a scaled or otherwise processed (e.g. filtered) version thereof.

[0174] Hence, returning to Fig. 1 , the offset value determination unit 130 may, for example, be configured to determine the additive offset value, e.g. 208, e.g. included in information 131, using a computation of a mean difference value between a previously decoded portion of the current channel signal (e.g. 210 and following, see arrow 213b) and prediction values for the template portion (e.g. prediction values obtained based on 211 and following, see arrow 213a), e.g. based on differences 212, between reconstructed values 210 and respective predicted values (e.g. in a simple case respective predicted values corresponding to other previously reconstructed values).

[0175] As a general remark, it is to be noted that the terms “prediction value” and “predicted value”, may, according to some examples, be used interchangeably, with a predicted value being a value which is obtained based on a prediction, hence, e.g. a prediction value.

[0176] FV - ACr - FH251015PCT-2025347516. DOCX However, in some instances, a predicted value may, for example, be understood as an “intermediate” prediction value, which is, for example, corrected using the additive offset, in order to obtain the prediction value.

[0177] Additionally, in order to obtain a respective decoded or reconstructed value, the prediction value may be further corrected using an optional residual information.

[0178] In other words, optionally, the additive offset may, for example be determined based on differences between reconstructed values and corresponding predicted values, or reconstructed values and corresponding prediction values.

[0179] As general aspect, as discussed above, it is to be noted that the prediction may be performed based on a time shifting of a previously decoded portion of the current channel signal, e.g. as indicated by arrows 215 based on a shift offsetValFist + BSCurr. In other words, portion Y[c=cCurr][iStart-bSCurr-offsetVal First < i <iStart- offsetVal First] may be considered to be time shifted (and optionally scaled or otherwise processed) to new position [c=CCurr][iStart- < i <= iEnd] as a basis for the prediction signal.

[0180] Furthermore, it is to be noted that optionally, prediction 206a may be performed based on a plurality of previously decoded values of the current channel, e.g. a first value Y[c=cCurrr][iStart-bSCurr-offsetValFirst+j] and a second value Y[c=cCurrr][iStart-bSCurr- offsetValSecond+j], for 0<j<bSCurr.

[0181] Hence, the prediction may be performed based on a combination, e.g. weighted combination, of multiple previously decoded portions of the current channel signal.

[0182] Accordingly, a time shifting on the basis of a second time shift value, e.g. offsetValSecond may be implemented, so as to combine the time shifted previously reconstructed signal portions to obtain the prediction signal for the current portion e.g. at position [c=CCurr][iStart- < i <= iEnd],

[0183] Consequently, the apparatus 100 may be configured to obtain the prediction values for the template portion of the current channel signal in a same manner as the prediction values for the current portion, hence, using in general a time shifting of a previously decoded portion of the current channel signal (e.g. as a time shift of value 211 as indicated by arrow 210a). Accordingly, e.g. in a multi-hypothesis case, the apparatus 100 may obtain prediction values for the template portion of the current channel signal using a combination of a plurality of time shifted versions of previously decoded portions of the current channel signal. Hence, for the

[0184] FV - ACr - FH251015PCT-2025347516. DOCX predicted value of 210, not only value 211 (e.g. not further processed - a or further processed, e.g. scaled, e.g. filtered - b), which is based on offsetValFirst, but also a second value, e.g. depending on an offsetValSecond may be used.

[0185] It was recognized that it may be particularly efficient to use one or more same time offset values, e.g. -bsCurr-offsetVal First or -bsCurr-offsetValFirst and -bsCurr-offsetValSecond, describing one or more time offsets to be applied to one or more previously decoded portions of the current channel signal both for obtaining the prediction values for the current portion of the current channel signal and for obtaining prediction values for the template portion of the current channel signal.

[0186] Accordingly, it was recognized that a use of one or more same weighting parameters describing one or more scalings to be applied to one or more previously decoded portions of the current channel signal both for obtaining the prediction values for the current portion of the current channel signal (e.g. 207a to 207b, or weighting values alpha and beta in a multihypothesis scenario) and for obtaining prediction values for the template portion of the current channel signal (e.g. 210a to 210b, or weighting values alpha and beta in a multi-hypothesis scenario) may be particularly efficient to obtain good offset values 208.

[0187] Furthermore, encoded representation 101 may, for example, comprise a temporal offset value information, based on which, the apparatus 100, e.g. offset value determination unit 130 and / or prediction value determination unit 120, may determine respective one or more temporal offset values, e.g. offsetValFirst, e.g. offsetValSecond, defining which previously decoded values are used for determining the prediction values for a given temporal portion of the current signal.

[0188] Furthermore, optionally, encoded representation 101 may, for example, comprise a signaling information based on which apparatus 100 may decide whether to obtain a plurality of prediction values for a current portion of a current channel signal using a single time shifted contribution based on a plurality of previously decoded values or using a plurality of time shifted contributions based on a plurality of previously decoded values or using a plurality of time shifted contributions based on a plurality of previously decoded values.

[0189] Furthermore, as an optional feature, the encoded representation 101 may, for example, comprise a signaling information, based on which the apparatus 100 may decide whether to determine the additive offset value 208 in dependence on a previously decoded portion of the current channel signal and in dependence on predicted values for the template portion or to use a constant value, e.g. 0, as the additive offset value.

[0190] FV - ACr - FH251015PCT-2025347516. DOCX Hence, the encoded representation 101 may, as optional features, be provided to offset value determination unit 130 and / or prediction value determination unit 120 in order to use a respective signaling and / or temporal offset value information. Alternatively, such a signaling and / or temporal offset value information, may be decoded by decoding unit 110, and respective decoded versions may be provided from decoding unit 110 to offset value determination unit 130 and / or prediction value determination unit 120.

[0191] Next, reference is made to Fig. 3. Fig. 3 shows a schematic view of an apparatus for obtaining an encoded representation on the basis of a signal according to an embodiment of the invention.

[0192] Apparatus 300 comprises an encoding unit 310, a prediction value determination unit 320 and an offset value determination unit 330.

[0193] The apparatus 300 is configured to obtain a plurality of prediction values for a current portion of a current channel signal in dependence on a plurality of previously encoded values of one or more channels using an additive offset value.

[0194] Therefore, the prediction value determination unit 320 is provided with an information about previously decoded values 311 and an offset information 331. The information about the previously decoded values 311 may comprise (e.g. an information about) the plurality of previously encoded values of the one or more channels and the offset information 331 may comprise (e.g. an information about) the additive offset value. Hence, the prediction value determination unit 320 may be configured to provide a prediction information 321 comprising (e.g. an information about) the plurality of prediction values for the current portion of the current channel signal.

[0195] Furthermore, the apparatus 300 is configured to determine the additive offset value in dependence on a previously encoded portion of the current channel signal and in dependence on predicted values for a template portion.

[0196] Therefore, offset value determination unit 330 is provided with the information about previously encoded values 311, which may comprise (e.g. an information about) the previously encoded portion of the current channel signal (and optionally an information about the predicted values) for the template portion.

[0197] FV - ACr - FH251015PCT-2025347516. DOCX Optionally, prediction information 321 may be provided to the offset value determination unit 330, for example for providing (e.g. an information about) the predicted values for the template portion (which may be obtained or stored by the prediction value determination unit 320).

[0198] As an optional feature, apparatus 300 comprises an encoding unit 310 for providing the information about the previously decoded values 111 and for providing the encoded representation 302 on the basis of the signal 301.

[0199] As another optional feature, encoder 300 may be configured to provide the encoded representation 302, comprising a residual information for correcting prediction values, to obtain decoded values or respectively reconstructed values. Hence, optionally, the encoding unit 310 may encode the prediction information 321 and a residual information, e.g. describing a difference between a signal portion reconstructible decoder-sided using the prediction information and the signal 301 .

[0200] Furthermore, optionally, the encoded representation 302 may, for example, comprise one or more offset value determination parameters used for the determination of the offset value, which may hence be provided to a respective decoder, e.g. as indicated by signal 332.

[0201] The apparatus for obtaining a decoded signal 100 (e.g. decoder 100) and the apparatus for obtaining an encoded representation 300 (e.g. encoder 300) may, comprise same or corresponding prediction value determination units 120, 320 and offset value determination units 130, 330. Hence, the encoder 300 may comprise any or all of the features, functionalities and details, as discussed in the context of Fig. 1 and in particular of Fig. 2. Accordingly, encoded representation 302 may correspond to encoded representation 101.

[0202] Hence, the approach shown in Fig. 2 may be applicable accordingly for apparatus 300. In this case area 204 may indicate sample values already encoded, with area 202 being a block currently encoded.

[0203] Therefore, regarding a general concept according to embodiments, the encoding / decoding unit 110 / 310 may provide an information about previously encoded / decoded sample values 111 / 311 to the offset value determination unit 130 / 333 and prediction value determination unit 120 / 320. Hence, the encoding / decoding unit 110 / 310 may provide any information required by the offset value determination unit 130 / 333 and prediction value determination unit 120 / 320 about sample values of area 204.

[0204] FV - ACr - FH251015PCT-2025347516. DOCX The offset value determination unit 130 / 333 may use respective sample values for the template portion of the currently considered portion, in order to determine the additive offset value for the prediction.

[0205] In some cases, the offset value determination unit 130 / 333 may determine the offset information 131 / 331 based on differences between previously encoded / decoded values (e.g. if a predicted value corresponds to the encoded decoded value).

[0206] In other cases, the offset value determination unit 130 / 333 may determine the offset information 131 / 331 based on differences between previously encoded / decoded values and respective predicted values for the template portion. These predicted values, may, optionally be provided, by the prediction value determination unit 120 / 320, e.g. as “historic” data from previous coding steps, or may be determined by the offset value determination unit.

[0207] The prediction value determination unit 120 / 320 may obtain the prediction values for the current portion of the current channel signal based on the previously encoded / decoded values of one or more channels and the additive offset value 131 / 331.

[0208] Accordingly, the encoding unit 310 may be provided with parameter information from the offset value determination unit 333 and / or the prediction value determination unit 320 to encode the same in the bitstream, and vice versa, the decoder-sided offset value determination unit 130 and / or prediction value determination unit 120 may be provided with said information.

[0209] Furthermore, e.g. apart from the prediction information 321 , the bitstream may, optionally, comprise a residual information for the reconstruction of the sample values.

[0210] In the following, different inventive embodiments and aspects will be described in sections “Setup of block-matching prediction”, “Constant offset value”, “Block matching prediction data syntax”, “Block matching prediction data semantics” and “Block matching prediction decoding process”.

[0211] Also, further embodiments will be defined by the enclosed claims.

[0212] It should be noted that any embodiments as defined by the claims can be supplemented by any of the details (features and functionalities) described in the above-mentioned sections and by any of the details (features and functionalities) described in the preceding disclosure.

[0213] FV - ACr - FH251015PCT-2025347516. DOCX Also, the embodiments described in the above-mentioned sections can be used individually, and can also be supplemented by any of the features in another section, or by any feature included in the claims, or by any feature included in the preceding disclosure.

[0214] Also, it should be noted that individual aspects described herein can be used individually or in combination. Thus, details can be added to each of said individual aspects without adding details to another one of said aspects.

[0215] Moreover, features and functionalities disclosed herein relating to a method can also be used in an apparatus (configured to perform such functionality). Furthermore, any features and functionalities disclosed herein with respect to an apparatus can also be used in a corresponding method. In other words, the methods disclosed herein can be supplemented by any of the features and functionalities described with respect to the apparatuses.

[0216] Also, any of the features and functionalities described herein can be implemented in hardware or in software, or using a combination of hardware and software, as will be described in the section “implementation alternatives”.

[0217] As an example, the previously discussed apparatuses 100 and 300 may be configured to perform any of the following functionalities. In particular, the following sections may provide further optional details on possible implementations of the functionalities discussed in the context of Fig. 1 to 3.

[0218] Setup of block-matching prediction

[0219] Embodiments of the present application deal, inter alia, with the coding of biomedical and general waveform data. More precisely, the technology of block matching prediction with coded offsets is concerned. In general terms, this works, for example, as follows:

[0220] A waveform signal X[c][i] may, for example, to be coded (e.g. encoded or decoded), where c denotes, for example, the channel index and i denotes, for example, the sample index.

[0221] The signal is, for example, partitioned into consecutive blocks of samples. Each block is, for example, determined by a start index iStart and / or an end index iEnd and comprises or, for example, consists of all samples X[c] [i] with iStart<=i<iEnd. It is optionally assumed that for a given block, the samples X[c][i] with i<iStart are already coded.

[0222] FV - ACr - FH251015PCT-2025347516. DOCX Let Y[c][i] denote, for example, the reconstructed samples, i <iStart. Let bSCurr = iEnd - iStart denote, for example, the current block size. Then the block-matching prediction generates, for example, a prediction signal pred on the current block, for example, depending on a transmitted offset value offsetValFirst>=0, for example, as pred[c][iStart + j] = Y[c][iStart - bSCurr — of fsetValFirst + j ], 0 < j < bSCurr

[0223] In a variant (e.g. a variant according to embodiments), the signal Y[c][iStart - blockSizeCurr- offsetValFirst+ j ] may, for example, also be filtered, for example, by a full-pel or a half-pel interpolation filter. In the latter scenario, let Y denote, for example, the half-pel filtered version of the reconstructed signal Y. Then, for example, every second sample of Y equals the corresponding sample of Y, while, for example, every other second sample of Y is an interpolated sample generated out of Y, for example, by a fixed half-pel interpolation filter.

[0224] In another variant, the prediction signal may, for example, be generated by a superposition of multiple block matching prediction signals. Here, the case of two hypotheses is treated as an example while the case of more than two hypotheses works similarly (e.g. accordingly, e.g. so that embodiments may hence address such cases in an according or similar manner as disclosed herein). In this case, a flag may, for example, be signaled in the bit-stream that may, for example, indicate whether the multi-hypothesis prediction is used or not. If the multihypothesis prediction is used, for example, two offset values offsetValFirst>=0 and offsetValSecond>=0 are to be transmitted or may, for example, be transmitted. Then the prediction may, for example, be generated as pred[c][iStart + j] = a • Y[c] [iStart - bSCurr — of fsetValFirst + j ] +

[0225] / 3 ■ Y[c][iStart - bSCurr — offsetValSecond + j ], 0 < j < bSCurr

[0226] Here a and f may, for example, be fixed constants optionally summing up to 1, for example both 0.5. Again, also a filtered, in particular a half-pel filtered prediction can, for example, be used for the first, the second, or both prediction hypotheses.

[0227] A topic of embodiments of the present invention is, inter alia, the extension with an offset parameter offsPr which may, for example, be derived from the left boundary samples.

[0228] Constant offset value

[0229] FV - ACr - FH251015PCT-2025347516. DOCX On a given signal, it may, for example, not be guaranteed that the baseline per channel is constant over time. To ensure (or at least to increase a probability) that the block matching accounts for such changes, a constant offset value can, for example, be determined, e.g. on already reconstructed samples.

[0230] Given that iStart > templateSize, where templateSize denotes, for example, the number of adjacent, already reconstructed boundary samples, e.g. 16, the left boundary samples of the current block may, for example, be lef tBndry[c][iStart — templateSize + j] = Y[c][iStart - templateSize + j ], 0 < j < templateSize

[0231] Similarly, the prediction pred [c] [ iStart + j] may, for example, be extended to the left boundary, for example, by predLef tBndry[c][iStart — templateSize + j]

[0232] = Y[c][iStart - bSCurr — offsetValFirst — templateSize + j ], 0 < j < templateSize.

[0233] If a superposition of multiple block matching prediction signals is used, the prediction may, for example, be extended by predLef tBndry [c] [ iStart — templateSize + j]

[0234] = a ■ Y[c][iStart - bSCurr — offsetValFirst — templateSize + j ] + / 3 ■ Y[c][iStart - bSCurr — offsetValSecond — templateSize + j ],

[0235] 0 < j < templateSize , where a, f> are, for example, set to 0.5.

[0236] In both cases the filtered prediction, if used before, may, for example, be applied. Then, the constant value offsPr can, for example, be calculated as the average over the differences between lef tBndry and predLef tBndry e.g. as

[0237] — predLef tBndry[c][iStart — templateSize + f ).

[0238] FV - ACr - FH251015PCT-2025347516. DOCX The prediction for the current block may, for example, be updated to pred[c][iStart + j] = Y[c] [iStart - bSCurr — offsetValFirst + j ] + offsPr, 0 < j < bSCurr or if a superposition is used it may, for example, be updated to pred[c][iStart + j] = a • Y[c] [iStart - bSCurr — offsetValFirst + j ] + f> • Y [c] [iStart - bSCurr — offsetValSecond + j ] + offsPr, 0 < j < bSCurr

[0239] If a power of two is used as templateSize, the offsPr calculation can, for example, be rewritten as a combination of additions and shifts as

[0240] A flag may, for example, be signaled in the bitstream to signify if the constant offset is used. Such a constant offset is optional since it is fitted on reconstructed data and it may not always work for the actual prediction. Additionally, it may, for example, highly depend on the underlying signal if there is an actual change in the baseline.

[0241] Next, an example, for a syntax according to embodiments is provided. Encoded representation 101 , 302 may, for example, hence comprise any or all of the bitstream elements, discussed in the following. Accordingly, encoder 300 may, for example, be configured to provide such bitstream elements, and decoder 100 may, for example, be configured to receive and process the bitstream elements. In particular, decoder 100 and encoder 300 may, for example, be configured to perform the below-disclosed functionalities, e.g. respective encoder-sided and decoder-sided version thereof.

[0242] FV - ACr - FH251015PCT-2025347516. DOCX Block matching prediction data syntax (optional examples)

[0243] All syntax elements of the above example are optional and may be modified.

[0244] Block matching prediction data semantics

[0245] FV - ACr - FH251015PCT-2025347516. DOCX bm_pred_mult_hyp_flag equal to 1 may, for example, indicate that the block matching prediction mode with two hypotheses is used. When bm_pred_mult_hyp_flag is not present, it may, for example, be inferred to be 0. bm_pred_add_offset_flag equal to 1 may, for example, indicate that an offset, e.g. derived from previous reconstructed samples, is added to the block matching prediction. bm_pred_filter_flag[ n ] equal to 1 may, for example, indicate that the reference samples used for the n-th hypothesis of the block matching prediction are to be filtered, where the set of filter coefficients may, for example, be determined by the syntax element bm_pred_filter_idx[ n ]. When bm_pred_filter_flag[ n ] is not present, it may, for example, be inferred to be 0. bm_pred_filter_idx[ n ] may, for example, specifiy the index filterldx used to derive the array BMFiltCoeffs[ n ][ i ], for example, with 0 <=i < 7, of filter coefficients according to Table 9 for filtering the reference samples of the n-th hypothesis of the block matching prediction.

[0246] Table 9 Name association to filterldx

[0247] When bm_pred_filter_idx[ n ] is not present, it may, for example, be inferred to be 1: bm_pred_off_pred_prev_ch_flag[ n ] equal to 1 may, for example, indicate that the value of offset minus block size for the n-th block matching prediction hypothesis is predicted from the value of offset minus block size of the n-th hypothesis of the previous channel. When bm_pred_off_pred_prev_ch_flag[n] is not present, it may, for example, be inferred to be 0. bm_pred_abs_offd_greaterO_flag[ n ] equal to 1 may, for example, indicate that the offset difference to the predicted value of offset minus block size for the n-th hypothesis of the block matching prediction is not 0. bm_pred_abs_offd_minus1 [ n ] plus 1 may, for example, specify the absolute value of the offset difference to the predicted value of offset minus blocksize for the n-th hypothesis of the block matching prediction.

[0248] FV - ACr - FH251015PCT-2025347516. DOCX bm_pred_offd_sign_flag[ n ] may, for example, specify the sign of the offset difference to the predicted value of offset minus blocksize for the n-th hypothesis of the block matching prediction, for example, as follows:

[0249] - When bm_pred_offd_sign_flag[ n ] is equal to 0, the corresponding offset difference may, for example, have a positive sign.

[0250] - Otherwise (bm_pred_offd_sign_flag[ n ] may, for example, not be equal to 0), the corresponding offset difference may, for example, have a negative sign.

[0251] When bm_pred_offd_sign_flag[ n ] is not present, it may, for example, be inferred to be 0.

[0252] Block matching prediction decoding process

[0253] Input to this process may, for example, be (e.g. one or more of the following):

[0254] - a variable chldx, for example, specifying the current channel,

[0255] - a variable blockPos for example, specifying the position of the first sample of the current block,

[0256] - a variable log2BlockSize which may, for example, determine the size of the current block,

[0257] - the array of reconstructed samples of the current channel ref[ i ] with 0 < = i < blockPos.

[0258] - the parameter log2TSize which may, for example, determine the size of the adjacent left residual samples to be computed.

[0259] Output of this process may, for example, be the array of block matching prediction sample values pred[ i ] with 0 <= i < (1 «log2BlockSize) and / or the array of adjacent left residual samples resiLeft [ j ] with 0 <= j < ( 1 « log2TSize ).

[0260] The variable maxPredVal may, for example, be set to ( 1 « ( BitDepthMax - 1 ) ) - 1.

[0261] The variable minPredVal may, for example, be set to - maxPredVal - 1.

[0262] The variable blockSize may, for example, be set to 1 « log2BlockSize

[0263] The variable tSize may, for example, be set to 1 « log2TSize.

[0264] FV - ACr - FH251015PCT-2025347516. DOCX If blockPos < blockSize, one may, for example, set pred[ i ] = 0 for all i with 0 <= i < blockSize and resiLef[ j ] = 0 for all j with 0 <= j < tSize.

[0265] Otherwise (blockPos >= blockSize), the following may, for example, apply:

[0266] The variable fPdL which specifies, for example, the padding length to the left for the prediction filters may, for example, be set to 3.

[0267] The variable log2FPdR which determines, for example, the length to the right for the prediction filters may, for example, be set to 2.

[0268] The variable fPdR may, for example, be set to 1 « log2FPdR.

[0269] The variable fSz which specifies, for example, the filter size for the filters may, for example, be set as fSz = fPdL + fPdR.

[0270] The variable maxBMOffMinusBS may, for example, be set to min( ( 1 « 16) - 1 , (1 « ( Log2MaxBlockSize + 6 ) ).

[0271] The variables offsetMinusBSFirst and blockOffsetFirst may, for example, be derived as follows: offsetMinusBSFirst = min(maxBMOffMinusBS,

[0272] BlockMatchingPredOffsetMinusBlocksSize[ chldx ]

[0000] ) blockOffsetFirst = min ( blockPos, blockSize + offsetMinusBSFirst ).

[0273] If bm_pred_mult_hyp_flag is equal to 1 , the variables offsetMinusBSScnd and blockOffsetScnd may, for example, be derived as follows: offsetMinusBSScnd = min ( maxBMOffMinusBS,

[0274] BlockMatchingPredOffsetMinusBlocksSizef currCh ]

[0001] ). blockOffsetScnd =min( blockPos, blockSize + offsetMinusBSScnd).

[0275] If blockOffsetFirst < blockSize + fPdR or if bm_pred_mult_hyp_flag is equal to 1 and blockOffsetScnd < blockSize + fPdR , the exptrapolation process to the right may, for example, be invoked, e.g. with input array size blockPos, input array ref and extension size log2FPdR, for example, to obtain the reference sample values ref[ i ] with blockPos <= i < blockPos + fPdR.

[0276] FV - ACr - FH251015PCT-2025347516. DOCX The variable minPos may, for example, be set to max( 0, blockPos - maxBMOffMinusBS - blockSize ).

[0277] If blockPos - blockOffsetFirst -fPdL < minPos or if bm_pred_mult_hyp_flag is equal to 1 and blockPos - blockOffsetScnd -fPdL < minPos, the extrapolation process to the left may, for example, be invoked with input starting position minPos, input array size blockPos, input array ref and extension size fPdL for example to obtain the reference sample values ref [ minPos - fPdL + i ] with 0 <= i < fPdL.

[0278] The intermediate prediction sample values of the first hypothesis pFirstf i ] with 0 <= i < blockSize may, for example, be derived as follows:

[0279] - If bm_pred_filter_flag

[0000] is equal to 0, one may, for example, put pFirstf i ] = ref[ blockPos - blockOffsetFirst + i ].

[0280] - Otherwise ( bm_pred_filter_flag

[0000] is not equal to 0 ), one may, for example, put pFirstf i ] [blockPos - blockOffsetFirst — fPdL + i + k] • BMFiltCoeffs[0][k] ) + 32) » 6.

[0281] If bm_pred_mult_hyp_flag is equal to 1, the intermediate prediction values of the second hypothesis pScnd[ i ] with 0 <= i < blockSize may, for example, be derived as follows:

[0282] - If bm_pred_filter_flag

[0001] is equal to 0, one may, for example, put pScnd[ i ] = ref[ currCh ][ blockPos- blockOffsetScnd + i ].

[0283] - Otherwise ( er_flag

[0001] is not equal to 0 ), one may, for example, put pScnd[ i f[ blockPos - blockOffsetScnd — fPdL + i + k] • BMFiltCoeffs » 6.

[0284] The extended first left prediction sample values pFirstLeftExt[ i ] with 0 <= i < tSize may, for example, be derived as follows:

[0285] - If bm_pred_filter_flag

[0000] is equal to 0, the following may, for example, apply:

[0286] - If blockPos - blockOffsetFirst -tSize < minPos - fPdL, one may, for example, set pFirstLeftExt[ i ] = 0.

[0287] - Otherwise (blockPos - blockOffsetFirst- tSize >= minPos - fPdL ), one may, for example, set pFirstLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetFirst + i ] .

[0288] FV - ACr - FH251015PCT-2025347516. DOCX - Otherwise ( bm_pred_filter_flag

[0000] is not equal to 0), the following may, for example, apply:

[0289] - If blockPos - blockOffsetFirst - tSize < minPos, one sets pFirstLeftExt[ i ] = 0.

[0290] - Otherwise (blockPos - blockOffsetFirst - tSize >= minPos), one may, for example, set pFirstLeftExt[ i ] = ((2kS=oref[ blockPos - tSize — blockOffsetFirst — fPdL + i + k] • BMFiltCoeffs[0][k] ) + 32) »6.

[0291] If bm_pred_mult_hyp_flag is equal to 1 , the extended second left prediction sample values pScndLeftExt[ i ] with 0 <= i < tSize may, for example, be derived as follows:

[0292] - If bm_pred_filter_flag

[0001] is equal to 0, the following may, for example, apply:

[0293] - If blockPos - blockOffsetScnd - tSize < minPos - fPdL, one may, for example, set pScndLeftExt[ i ] = 0.

[0294] - Otherwise (blockPos - blockOffsetScnd- tSize >= minPos - fPdL), one may, for example, set pScndLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetScnd + i ] .

[0295] - Otherwise ( bm_pred_filter_flag

[0001] is not equal to 0), the following may, for example, apply:

[0296] - If blockPos - blockOffsetScnd - tSize < minPos, one may, for example, set pScndLeftExt[ i ] = 0.

[0297] - Otherwise (blockPos - blockOffsetScnd - tSize >= minPos), one may, for example, set pScndLeftExt[ i ] = ((ZkS=oref[ blockPos - tSize — blockOffsetScnd — fPdL + i + k] • BMFiltCoeffs[l][k] ) + 32) »6.

[0298] The variable diff pl may, for example, be derived as follows:

[0299] - If bm_pred_add_offset_flag is equal to zero, one may, for example, set diffTpl = 0

[0300] - Otherwise if blockPos < tSize, one may, for example, set diffTpl = 0.

[0301] - Otherwise (bm_pred_add_offset_flag is not equal to zero and blockPos >= tSize), the following may, for example, apply:

[0302] - If bm_pred_mult_hyp_flag is equal to 0, one may, for example, set diffTpl = XiIoe-1(ref[blockPos — tSize + i] — pFirstLeftExt[i]).

[0303] FV - ACr - FH251015PCT-2025347516. DOCX - Otherwise (bm_pred_mult_hyp_flag is not equal to 0), one may, for example, set diffTpl = SjIoe-1(ref[blockPos — tSize + i] — ((pFirstLeftExt[i] + pScndLeftExt[i] + 1) » 1).

[0304] The variable offsetAdd may, for example, be derived as offsetAd = ( diffTpl + ( 1 « ( log2TSize - 1 ) )) » log2TSize.

[0305] The final block matching prediction sample values pred[ i ] with 0 <= i < blockSize may, for example, be derived as follows:

[0306] - If bm_pred_mult_hyp_flag is equal to 0, one may, for example, set pred[ i ] = Clip3( minPredVal, maxPredVal, pFirstf i ] + offsetAd ).

[0307] - Oterwise (bm_pred_mult_hyp_flag is not equal to 0), one may, for example, set pred[ i ] = Clip3( minPredVal, maxPredVal, ((pFirstf i ] + pSecondf i ] + 1 ) » 1 ) + offsetAd).

[0308] The final adjacent left residual sample values resiLeft[ i ] with 0 <= i < tSize may, for example, be derived as follows:

[0309] - If blockPos < tSize, one may, for example, set reiLeft[ i = 0

[0310] - Otherwise ( blockPos >= tSize ), the following may, for example, apply:

[0311] - If bm_pred_mult_hyp_flag is equal to 0, one may, for example, set resiLeft[ i ] = reffblockPos - tSize + i] - Clip3( minPredVal, maxPredVal, pFirstLeftExt [ i ] + offsetAd).

[0312] - Otherwise (bm_pred_mult_hyp_flag is not equal to 0), one may, for example, set resi Left[ i ] = reffblockPos - tSize + i] - Clip3(minPredVal, maxPredVal, ((pFirstLeftExt [ i ] + pSecondLeftExt [ i ] + 1 ) » 1 ) + offsetAd.

[0313] The above description is extended in the following by the presentation of further embodiments. Before this, however, the description proceeds with a presentation of a possible framework or codec into which the embodiments described above as well as the embodiments described further below may be built into. Many details described in this framework are, however, optional when being combined with any of the above or subsequently described embodiments. To be more precise, the framework is described with respect to Fig. 4 which shows an encoder for encoding a multi-channel digital signal 14 into a data stream 16 as well as decoder 12 for decoding the multi-channel digital signal 14 from data stream 16. This description of Fig. 4

[0314] FV - ACr - FH251015PCT-2025347516. DOCX shall be seen as a presentation of new embodiments of the present application which result when combining any of the embodiments described above or any of the embodiments described subsequently is combined with the decoder 12 or encoder 10 of Fig. 4 either by adopting all details / functionalities described with respect to Fig. 4 or with leaving-out some of the details / functionalities described with respect to Fig. 4. Sometimes such “optional” features of Fig. 4 are explicitly identified as being optional with respect to the combination of the previously and subsequently described embodiments, but the just-mentioned possible combinations of the previously / subsequently explained embodiments with the description of Fig. 4 shall not be restricted to the these explicitly identified variations of Fig. 4 in terms of leaving-out certain features.

[0315] In Fig. 4, the multi-channel digital signal 14 is illustrated by way of an array of samples with the samples being illustrated as small squares 18. Each line / row corresponds to a certain channel of the multi-channel digital signal 14. Each channel of signal 14 may have associated therewith a respective channel ID and Fig. 4 shows these channels as being ordered according to their channel ID along vertical axis 20 which, thus, corresponds to a “source” channel axis 20. The horizontal axis 22 corresponds to time so that samples 18 forming one column, or being horizontally aligned, are samples belonging to one common time instant. Such set / column of temporally co-located samples 18 is illustrated in Fig. 4 at 24.

[0316] Each channel, thus, forms a digital time-varying signal or time / amplitude or time-to-amplitude signal. The multi-channel digital signal m might have been obtained by at least one of Electrocardiography, Electroencephalography, Electromyography or seismic measurement. Differently speaking, the multi-channel digital signal might be a bio-physiological waveform data such as an electroencephalography (EEG) signal, an electrocardiogram (ECG), or an electromyography (EMG) signal, or seismic waveform data. However, each channel / signal might alternatively be another sort of waveform signal data such as scalar media data such as an audio signal and the signal 14 might be a multi-channel audio signal.

[0317] Fig. 4 illustrates the option according to which signal 14 is not coded directly, i.e., in the original domain 26, but in a so-called “coded domain” 28 which might differ from the original domain 26 by one or more of 1) channel transformation, 2) channel permutation and 3) temporal mutual channel alignment. The channel transformation, if applied, transforms, per sample time instant, a set or column 24 of samples from domain 26 to domain 28. Thus, in domain 28, the sample pitch and the time axis is the same as in domain 26, but the meaning of the channels is different, i.e., the “source” channels of domain 26 become transformed channels in domain 28. Accordingly, the vertical axis in Fig. 4 for domain 28 is denoted as 32. Note that the channel

[0318] FV - ACr - FH251015PCT-2025347516. DOCX transformation might leave the number of channels unchanged so that there is the same number of channels in domain 26 as well as domain 28, but different approaches are also possible. Generally, the channel transformation would aim at reducing redundancy and trying to condense the channels’ energy onto a fewer number of channels in domain 28. As said, the channel transformation is optional. Accordingly, in general terms, the channels in domain 28 are called “coded channels” in order to distinguish them from the “original” or “source” channels of digital signal 14 in domain 26. The permutation is also optional and may be used in combination with, or without, the channel transformation. If used in combination with the channel transformation, the permutation may be performed prior to and / or or subsequent to the channel transformation in order to permute / sort the source channels prior to transformation and the coded channels subsequent to the channel transformation. The channel transformation might be a DCT, DST, FFT or any other transformation. The temporal mutual alignment is also optional and might be seen as a constant temporal alignment between the source channels or the coded channels.

[0319] The module in encoder 10 performing the one or more of channel transformation, channel permutation and temporal mutual alignment is indicated in Fig. 4 as block 34. Side information 36 might be used in order to signal information on one or more of the following: 1) The channel transformation used, 2) information on the permutation(s) among the source channels and / or coded channels and 3) information on the mutual temporal alignment / delays between the source channels or coded channels wherein the temporal mutual alignment might be restricted to full sample precision. A corresponding block 38 in decoder 12 performs the reverse step, i.e., performs one or more of: 1) a channel retransformation, 2) a re-permutation of the source channels and / or coded channels and 3) a temporal re-alignment of the source channels or coded channels. Note, that if no channel transformation takes place, the coded channels are, in fact, equal to the source channels except for being temporally mutually aligned or being differently sorted due to permutation. Block 38 might be controlled by the before-mentioned side information 36.

[0320] Thus, the “actual coding” relates to the coded channels in domain 28. In the coded domain 28, the coded channels are depicted in Fig. 4 as lines or rows of samples 40, each extending along time axis 22, the coded channels being depicted one on top of the other along coded channel axis 32 - potentially ordered according to a coded channel ID they have associated therewith - so as to result into an array of samples 40. Again, although Fig. 4 depicts the case that the number of source channels equals the number of coded channels, the number might be different. Further, if channel transformation is used, while there is no longer a clear association between source channels on the one hand and coded channels on the other hand, the

[0321] FV - ACr - FH251015PCT-2025347516. DOCX temporal association remains: For each temporally co-located samples 24, there is a corresponding temporally co-located set 42 of samples 40 of the coded channels, wherein the set 42 in domain 28 is a column and might be a set of horizontally mutually offset samples in case of, and according to, the mutual temporal alignment, if applied. In case of Fig. 4, it has been assumed that no such temporal alignment took place so that both sets 42 and 24 are pure columns in the time / channel representation.

[0322] The actual coding is done in units of so-called temporal blocks 30. The term “block” or “temporal block” 30 is used so as to denote both a temporal portion of the multi-channel signal in domain 28, i.e., the set of coded channels, as well as a temporal portion of a certain coded channel. That is, for each temporal block 30, each coded channel has a temporal block such as block 140 depicted for some temporal block 30c and same are mutually co-located. The coding is done sequentially along these blocks 140, by following a coding / decoding order, which traverses the blocks 140 temporal block 30 by temporal block 30 with traversing temporally co-located blocks of the coded channels along a channel order corresponding to the order of the coded channels along axis 32. This coding / decoding order is illustrated in Fig. 4 at 60. That is, in case of temporal block 140 being the block currently to be coded / decoded, the previously decoded / encoded temporal blocks include all preceding temporal blocks of all coded channels as well as the temporally co-located temporal blocks of coded channels preceding the coded channel 92 of temporal block 140 in channel order. These previously coded / decoded temporal blocks and their samples are illustrated in Fig. 4 by way of shading. In this regard, note that in Fig. 4, merely one temporal block 140 has been illustrated explicitly in order to reduce the complexity of Fig. 4. Thus, in the specification herein, reference sign 140 is sometimes used to indicate the currently encoded / decoded temporal block or to stand representatively for all temporal blocks. Further, as depicted in Fig. 4, the partitioning of signal 14 into temporal blocks 30 and 140, respectively, might be done in a manner so that these blocks 30 and 140, respectively, are non-overlapping.

[0323] The actual coding in units of the temporal blocks 140 is performed predictively. That is, the encoder 10 comprises a block predictor 62 which predicts the samples of the currently coded temporal block 140, thereby yielding a prediction signal 64, and the prediction residual 66 formed by a subtraction between the actual sample values of temporal block 140 and the predicted samples of prediction signal 64 formed at a subtractor 68 is coded into the data stream 16 by residual coder 70. The residual coding in residual coder 70 may, or may not, involve a coding error by means of quantization. In any case, block predictor 62 uses the reconstructable version as being available by previously coded temporal blocks in order to obtain the prediction signal 64. This reconstructable version 72 might be derived at encoder

[0324] FV - ACr - FH251015PCT-2025347516. DOCX 10 by means of a residual decoder 74 which reverses, potentially under coding loss, such as quantization, e.g. by means of dequantization, the residual signal 76 as coded into data stream 16, and an adder 78 which sums-up prediction signal 64 and the reconstructable residual signal 80 as obtained by residual decoder 74. To be more precise, let’s call the channel-individual temporal blocks 140 subblocks with temporally collocated subblocks of all channels forming a temporal block 30. Then, the prediction in module 62 or, to be more precise, the prediction at encoder and decoder, is performed in units of the subblocks 140, i.e. subblock wise. The encoder is free to choose different prediction modes for the subblocks within one block 30. As explained in more detail herein, within one block 30, one subblock 140 may be predicted based on one or more subblocks previously - according to the decoding order 60 - en / decoded within this block 30, while another subblock 140 within that block 30 might be coded / decoded based on the previously en / decoded subblock 140 of the same channel (but within the previous block 30). The transform residual en / decoding is then performed subblock wise by use of a onedimensional transform signaled in the data stream as described hereinbelow.

[0325] The decoder 12 decodes the coded channels from data stream 16 in a corresponding manner, i.e., in units of the temporal blocks 30 or in temporal blocks 140, respectively, and using predictive decoding. To this end, the decoder 12 comprises a residual decoder 82, an adder 84 and a block predictor 86 which correspond to, and are mutually connected in the same manner as, elements 74, 78 and 62 of encoder 10. That is, the residual decoder 82 derives from the residual signal 76 in data stream 16 the reconstructable residual signal 80 for a currently decoded temporal block 140 which is then subject to addition with prediction signal 64 derived by block predictor 86 for temporal block 140 on the basis of the reconstructed version 72 of previously decoded temporal blocks at adder 84. The output of adder 84, thus, yields the reconstructed version 72 of the currently decoded temporal block 140 and becomes part of the pool of already decoded samples of previously decoded temporal blocks when the temporal blocks of the coded channels are, in this manner, traversed along coding / decoding order 60 so as to reconstruct the coded channels in the coded domain 28.

[0326] Note that the above description concentrated on the so-called sample prediction where samples of a current block 140 are predicted based on reconstructed samples of one or more previously decoded blocks, but coding inter dependencies, namely intra-channel and interchannel coding dependencies may be exploited not only in terms of sample prediction, but also in terms of other coding tools involving, for instance, parameter prediction and / or context derivation.

[0327] FV - ACr - FH251015PCT-2025347516. DOCX In order to enable a high degree of random access capability, some of the temporal blocks 30 may be coded in a random access manner meaning that the coded channels therein are coded independent from previous temporal blocks 30. Imagine, for instance, that temporal blocks 30b and 30e are random access temporal blocks. Then, none of the temporal channel blocks 140 in temporal block 30b as well as 30e would depend on any preceding temporal block 140 and no coding dependency would cross these temporal blocks 30b and 30e, that is no temporal block 140 within any of temporal block 30b-30d would be coded depending on any block 140 temporally preceding temporal block 30b, and no temporal block 140 within any of temporal block 30e and following would be coded depending on any block 140 temporally preceding temporal block 30e.

[0328] Thus, in other words, coding dependencies are restricted so as to not reach-out beyond the border of a random access temporal block 30b and 30e towards any preceding temporal block 30. Such restriction might also hold for intermediate temporal blocks 30c to 30d between random access temporal blocks 30b and 30e in that same may not depend on any temporal block preceding the leading one among the random access temporal blocks 30b and 30e, here block 30b. Accordingly, leading temporal borders of the random access temporal blocks 30b and 30e are indicated by bold lines in Fig. 4. In a variant, the restriction is not valid for all en / decoding stages. For instance, while the grouping might hold true for prediction, but the residual en / decoding dependencies might cross borders between channel groups. It might be the case, for instance, that for the entropy coding and decoding, all channels are coded jointly, i.e. using a single arithmetic coding engine, but that for the sake of prediction and reconstruction, the channels are grouped as described into independent groups such that, after entropy decoding, each such group can be reconstructed completely independently from each other group. This means that no prediction of sample values or any other information is supported between different channel groups.

[0329] Further, it might be that the coding of the coded channels also interrupts or restricts interchannel dependencies. For example, one or more of the coded channels might be coded as random access coded channels so that same do not use inter-channel dependencies, but merely intra-channel dependencies. The restriction of inter-channel coding dependencies might follow the channel order 32: that is, coding of these random access coded channels and the intermediate coded channels therebetween would be restricted so as to not reach-out beyond such a random access coded channel toward any coded channel preceding that random access coded channel in channel order along axis 32. Two such random access coded channels 88a and 88b and the resulting inter-channel dependency borders are illustrated in Fig. 4. Note that the restriction of inter-channel dependencies might be differently and is

[0330] FV - ACr - FH251015PCT-2025347516. DOCX illustrated here merely as an example where the definition of, along channel order 32, interspersed random access channels 88a and 88b defines channel groups covering contiguous channels along the channel order 32. Other groups of channels might be defined, which do not necessarily follow the channel order 32, and inter-channel dependencies might be restricted not to render any channel of one group dependent on a channel of any other group, and within each group the inter-channel dependencies may also by restricted or each channel might by coded inter-channel dependent on any previously coded channel within its channel group.

[0331] The block predictor 62 and 86 of encoder 10 and decoder 12, respectively, operate synchronously, i.e., they generate the same prediction signal 64 based on the previously encoded / decoded samples of previously encoded / decoded temporal blocks 140. On encoder side 10, the prediction for a certain temporal block 140 may be accompanied or determined by one or more prediction parameters. Same might be determined on encoder side based on a rate / distortion optimization. These prediction parameters 90 are coded into data stream 16 and they are decoded from data stream 16 and used by block predictor 86 so as to perform the same prediction.

[0332] It might be that encoder 10 and decoder 12 support more than one prediction mode. For instance, encoder 10 and decoder 12 may support an intra prediction mode (which mode may also be called block-copy mode) according to which the currently encoded / decoded temporal block 140 is predicted based on the reconstructable sample values of previously encoded / decoded temporal blocks of the same coded channel to which the currently encoded / decoded temporal block 140 belongs, which is coded channel 92 in the example of Fig. 4. Additionally or alternatively, encoder 10 and decoder 12 may support an inter-prediction mode (which mode may also be called cross-channel prediction mode) according to which the currently encoded / decoded temporal block 140 is predicted based on the reconstructable sample values of previously encoded / decoded temporal blocks of one or more coded channels preceding - in coding order 32 - the coded channel 92 to which the currently encoded / decoded temporal block 140 belongs. Additionally or alternatively, there may be a mixed prediction mode according to which the prediction signal 64 is obtained by both, reconstructed / reconstructable sample values of previously encoded / decoded temporal blocks of coded channel 92 itself as well as reconstructed / reconstructable sample values of one or more coded channels preceding coded channel 92 in channel order along axis 32. Beyond this, there may be temporal blocks 140 which are coded without any prediction at encoder 10 and decoded without any prediction at decoder 12 such as the first temporal blocks 140 in the tiles 94 resulting from mutually separating the temporal blocks by means of the random access

[0333] FV - ACr - FH251015PCT-2025347516. DOCX borders 96 on the one hand and the random access channel borders 98 on the other hand. This corresponds to the prediction signal 64 being set to zero and this may form an additional mode which could be called bypass mode. Additionally, or alternatively, there may be other modes such as ones deriving a DC predictor or linear function predictor for block 64 based on immediately preceding samples which immediately precede block 140. The prediction parameters 90 may, thus, contain for a currently encoded / decoded temporal block 140 a prediction mode flag or prediction mode indicator indicating the prediction mode to be used for this currently encoded / decoded temporal block 140 and, optionally, one or more parameters parameterizing the prediction mode to be used for this currently encoded / decoded temporal block 140. It might also be that the prediction parameters are themselves coded predictively from already reconstructed blocks 140. In this prediction process, the laid out random -access capabilities in channel- and temporal-direction are, as an example, always maintained, i.e. the mentioned prediction of prediction parameters may never be supported across such a random access segment.

[0334] As mentioned, the aforementioned coding dependencies ought not to cross any of the borders 96 and 98 not only result from the just-described sample prediction capabilities of block predictor 62 and 86, respectively, but may optionally also result from other mechanisms such as parameter prediction according to which parameters such as the aforementioned prediction parameters 90 for a certain temporal block 140 are predicted based on coding parameters conveyed in the data stream 16 for any previous temporal block, or context derivation for context-adaptive entropy coding / decoding any coding parameter such as the prediction parameters 90 or any other side information such as side information 76 and 36 for temporal block 140 based on any coding parameter conveyed in the data stream 16 for any preceding temporal block.

[0335] That is, summarizing, the encoder 10 encodes the multi-channel signal 14 by transferring it into the coded domain 28 and then coding the coded channels into data stream 16 in the just- described block-wise and predictive manner, wherein decoder 12 decodes the coded channels of coded domain 28 from data stream 16 and the corresponding block-wise and predictive manner with then gaining the multi-channel signal 14 in its original form 26 based on the coded channels in coded domain 28 by means of segment 38. As said, the channel transformation is optional and if not used, each sample 40 in the coded domain 28 really corresponds to one sample 18 in the original domain 26. If, further, the temporal mutual alignment is not used, each sample 40 exactly corresponds to a sample 18 in the original domain 26 at exactly the same time instant or, differently speaking, all temporally co-located samples 40 in coded domain 28 remain mutually temporally co-located in the original domain 26.

[0336] FV - ACr - FH251015PCT-2025347516. DOCX It should be noted that the temporal blocks 30 might, other than illustrated in Fig. 4, vary in block length rather than being of a constant length as depicted in Fig. 4. For instance, encoder 10 may decide on the length of blocks 30 and signal the block length of blocks 30 (and the corresponding temporal blocks 140 of the coded channels) within data stream 16. Such signaling might be done on block level, such as for each temporal block 30 or, differently speaking for each temporally aligned bundle of blocks 140, so that the encoder may decide on the block size on the fly, or the block length might be signaled in the stream 16 on a larger scope such as for a sequence of blocks or even the whole stream 16.

[0337] As to the residual coder and residual decoder 70 and 82, they may use transform coding / decoding in order to convey the residual signal 76 in data stream 16. That is, the residual signal 80 may be conveyed in data stream 16 in transform or spectral domain by way of transform coefficients in residual signal 76. The transform domain might be a DCT, DST or an FFT. The transform may be non-overlapping, i.e. it may only transform residual signal 80 and its re-transform may only cover residual signal 76 within block 140, and / or may be nonwindowed, i.e. the residual signal might be transformed without any transform window used to temporally shape the residual signal 80 before the transform. The transform domain, i.e. the transformation leading from time domain to transform domain which is used by the encoder to transform the prediction residual signal 80 to be coded und the corresponding retransformation leading from transform domain to time domain which is used by the decoder to derive the prediction residual signal 80, or the transformation, might be selected from a set of available transforms including, for instance, one or more of 1) one or more DCTs, 2) one or more DSTs and 3) an identity transform according to which the prediction residual signal 80 is coded into the data stream 14 in time domain directly. The transform may be critically sampled in that the number of transform coefficients resulting from the samples of one block 140 may equal the number of samples of block 140. Again, the samples might be the residual samples or may be, in case of the bypass mode, the channel samples directly.

[0338] The transform coefficients might be encoded by quantization, i.e. they may be quantized with the quantized coefficients then being coded in the datastream 16. Dequantization may occur at decoding. For quantization, either a scalar uniform reconstruction quantizer or a low complexity vector quantizer might be used. In order to determine the quantization indices, the encoder may perform some optimization algorithm such as a rate-distortion optimized scalar quantization, or a trellis quantization with the goal to approximately minimize an approximated Lagrangian rate-distortion cost. At the decoder, the reconstruction process that yiels (e.g. yields) the transform coefficients may be conducted by multiplying the coded quantization

[0339] FV - ACr - FH251015PCT-2025347516. DOCX indices with a certain step-size and, in case of the use of a low-complexity vector quantizer, by additionally invoking a state-machine based on the parity of previously decoded quantization indices in order to reconstruct the current quantization index.

[0340] In order to control the quantization noise, the transform coefficients might be subject to noise shaping. Spectral noise shaping may be used to shape the quantization noise spectrally. This may be done by signaling in the data stream spectral-band scale factors, i.e. a scale factor per spectral band, which represent a transfer function of a spectral filter which approximates the spectral envelope of the signal within the current block 140 (or its prediction residual, respectively), or signaling filter coefficients defining a temporal filter having a filter transfer function which approximates the spectral envelope of the signal within the current block 140 (or its prediction residual, respectively). On encoder side, spectral noise shaping may be applied in spectral domain by multiplying an inverse of scale factors, either directly signaled in the data stream or derivable from the filter coefficients by filter-to-factor conversion, with the transform coefficients before quantization. That is, at encoder, the coefficients are shaped by the inverse of the spectral envelope. At decoder side, spectral shaping may be applied in spectral domain by multiplying scale factors, either directly signaled in the data stream or derived from the filter coefficients by filter-to-factor conversion, with the transform coefficients, with then (for example with then the retransformation being performed based on the spectrally shaped transform coefficients). That is, at decoder, the coefficients are shaped by the spectral envelope before applying retransformation. Additionally or alternatively, temporal noise shaping might be applied. To this end, TNS filter coefficients might be determined and signaled by the encoder. The TNS filter coefficients may represent a transfer function which approximates the temporal envelope of the current block 140 (or its residual signal). The encoder may apply TNS filtering using the filter coefficients by spectrally filtering the possibly spectrally shaped transform coefficients so as to filter them with a transfer function corresponding to an inverse of the temporal envelope. The TNS filter coefficients might be derived by linear prediction analysis of the possibly spectrally shaped transform coefficients so as to derive a linear prediction filter, then used as TNS filter, which minimizes a prediction residual when spectrally applied on the possibly spectrally shaped transform coefficients. At the encoder, the TNS filtered coefficients are then quantized and entropy coded. At decoder side, the inverse takes place: the possibly spectrally shaped transform coefficients are inversely TNS filtered before applying retransformation. Additionally or alternatively, noise filling might be used. The filling may be applied to zero-quantized portions of the spectrum and controlled by the encoder via corresponding noise filling parameters.

[0341] FV - ACr - FH251015PCT-2025347516. DOCX As to the encoding / decoding the block or sequence of quantized transform coefficients of a current block into / from the data stream 16, arithmetic coding, such as context-adaptive binary arithmetic coding, CABAC, may be used. The CABAC encoding / decoding may by performed frame wise. That is, in each channel, the sequence of blocks 140 may be partitioned into immediately consecutive blocks 140, which form frames. This partitioning may be equal among the channels so that, again, a frame denotes both a temporal portion within each channel individually, as well as a temporal portion of the multi-channel signal, i.e. a collection of temporally aligned frames. Within each frame, the sequence of blocks 140 are CABAC en / decoded with once initializing the contexts and resetting the internal CABAC state at the beginning and then updating the contexts’ probabilities during en / decoding the respective frame. That is, blocks 140 are CABAC decodable merely in units of frames. The context initialization might be done independent from previous frames, or depending on the contexts as manifesting itself at the end of, of during, the en / decoding a previous frame.

[0342] Some deblocking processing might be used to avoid blocking artifacts. If, alternatively, an overlapped transform is used, an overlap-add processing with re-transforms of immediately preceding / succeeding temporal blocks of the same coded channel might be used in order to completely reconstruct the current temporal block’s 140 residual signal 76.

[0343] Besides such transform-(residual)-coded blocks there might be temporal blocks 140 which, additionally or alternatively, are coded using, besides the block prediction by block predictor 62 / 86 - which could be called a primary prediction - a secondary sample-wise prediction of the residual samples in residual block 66 such as by predicting a current sample’s residual sample by means of already decoded values of preceding - in sample coding order - residual samples in block 66 or 80, with then correcting same by means of a secondary-prediction- residual sample decoded from the data stream 16. The secondary-prediction-residual samples for such a block may coded into the data stream en block in a transform domain or samplewise in time domain.

[0344] Note that the afore-mentioned spectral shaping of the residual signal of a block 140 might be seen as a sample wise residual prediction, i.e. the case where filter coefficients are signaled for a block which define a temporal filter having a filter transfer function which approximates the spectral envelope of the residual signal within a current block 140. In sample wise residual prediction, the residual predictor on a current block 140 might either be chosen out of a fixed set of prediction modes, where an index to such a residual prediction mode is signaled in the bit-stream, or the residual prediction mode might be ‘signal adaptive’. In the latter case, prediction filter coefficients for the residual predictor are determined at the encoder by solving

[0345] FV - ACr - FH251015PCT-2025347516. DOCX for example a linear equation, and are then quantized and transmitted to the decoder. At the decoder, the coefficients are inverse quantized and then the sample-wise prediction is conducted with these coefficients. The number of used coefficients may vary per block and might also be signaled in the bit-stream. Additionally, it might optionally (i.e. indicated by some information in the bit-stream) be supported to invoke collocated samples from a previous block for the sample wise residual prediction. Finally, the coefficients of the sample wise residual prediction might be coded predictively, i.e. be predicted from used coefficients of a previous block, where only the differences to the current coefficients are transmitted.

[0346] A final note shall be made with respect to the juxtaposition of frames, blocks 140, channels and channel groups and regarding decoding order. The description above already described the fact that the channels might be grouped into channel group with each channel group being coded independently from each other, meaning that the blocks 140 in a certain channel group are coded without dependencies from channels outside their channel group. The decoding order 60, thus, would traverse the channels channel-group individually, channel group by channel group. Within each channel group, the blocks 140 are traversed as described: all temporally aligned blocks 140 of all channels fist, then proceeding with the next blocks 140 and so forth. A frame may have a sequence of blocks of a channel group encoded thereinto along the mentioned decoding order order, such as n temporally consecutive blocks 140 for all channels of a channel group. IF the channel group had m channels, m*n block104 would, thus, be coded into the frame. As mentioned, there might be dependent frames, for which the CABAC contexts are adopted from the preceding frame of the same channel group, i.e. the one having encoded the immediately preceding block 140. For such dependent frames, not only CABAC contexts may be adopted from the preceding frame, but it may also be allowed to allow for prediction from the preceding frame to the dependent frame. Prediction, and possibly also any coding dependencies, towards channels outside the channel group and, within the channel group, towards frames temporally preceding the mostly recently previously en / decoded independent frame would be disallowed. Thus, each tile shown in Fig. 4 by bold lines may represent a sequence of an independent frame flowed by zero, one or more dependent frames.

[0347] As mentioned before, Fig. 4 only represents a possible “framework” into which the previously described embodiments and the embodiments described subsequently may be built into. Many modifications may be performed with respect to Fig. 4, and some of these modifications might be mentioned in the subsequent description with respect to certain ones of the subsequently described embodiments, but these modifications shall then be treated as being also applicable with respect to other ones of the subsequently described embodiments.

[0348] FV - ACr - FH251015PCT-2025347516. DOCX The description is now resumed with respect to the announced subsequently described embodiments.

[0349] Embodiments comprise encoders and respectively decoders according to the framework of Fig. 4, having any or all of the features, functionalities and details, individually or taken in combination, as discussed before and in particular as shown and discussed in the context of Fig. 1 , 2 and 3.

[0350] Hence, optionally, encoder 10 of Fig. 4 may correspond to the encoder shown in Fig. 3. That is encoder 10 may, for example, comprise the respective features, functionalities and details of encoder 300 both individually or taken in combination. In particular, encoder 300 implemented in the framework shown in Fig. 4 may comprise, e.g. additionally, or in an according manner, some or all of the above discussed functionalities of encoder 10. The same applies accordingly to decoder 12 with respect to the decoder 100 of Fig. 1.

[0351] Accordingly, the grid of sample values 201 shown in Fig. 2 may correspond to the grid of sample values 18 shown in Fig. 4 (or respectively in a transform domain). Hence, the processings as discussed in the context of Fig. 2 may be performed using the framework of Fig. 4.

[0352] Implementation alternatives:

[0353] Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus. Some or all of the method steps may be executed by (or using) a hardware apparatus, like for example, a microprocessor, a programmable computer or an electronic circuit. In some embodiments, one or more of the most important method steps may be executed by such an apparatus.

[0354] Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software. The implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable

[0355] FV - ACr - FH251015PCT-2025347516. DOCX computer system such that the respective method is performed. Therefore, the digital storage medium may be computer readable.

[0356] Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed.

[0357] Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer. The program code may for example be stored on a machine-readable carrier.

[0358] Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine-readable carrier.

[0359] In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.

[0360] A further embodiment of the inventive methods is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein. The data carrier, the digital storage medium or the recorded medium are typically tangible and / or non-transitionary.

[0361] A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein. The data stream or the sequence of signals may for example be configured to be transferred via a data communication connection, for example via the Internet.

[0362] A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.

[0363] A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.

[0364] FV - ACr - FH251015PCT-2025347516. DOCX A further embodiment according to the invention comprises an apparatus or a system configured to transfer (for example, electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may, for example, be a computer, a mobile device, a memory device or the like. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.

[0365] In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein. Generally, the methods are preferably performed by any hardware apparatus.

[0366] The apparatus described herein may be implemented using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

[0367] The apparatus described herein, or any components of the apparatus described herein, may be implemented at least partially in hardware and / or in software.

[0368] The methods described herein may be performed using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

[0369] The methods described herein, or any components of the apparatus described herein, may be performed at least partially by hardware and / or by software.

[0370] The above-described embodiments are merely illustrative for the principles of the present invention. It is understood that modifications and variations of the arrangements and the details described herein will be apparent to others skilled in the art. It is the intent, therefore, to be limited only by the scope of the impending patent claims and not by the specific details presented by way of description and explanation of the embodiments herein.

[0371] FV - ACr - FH251015PCT-2025347516. DOCX

Claims

Claims1. An apparatus (12, 100) for obtaining a decoded signal on the basis of an encoded representation (101, 302), wherein the apparatus is configured to obtain a plurality of prediction values (64, 121 321) for a current portion (202) of a current channel signal in dependence on a plurality of previously decoded values (207a) of one or more channels using an additive offset value (131 , 208, 331), wherein the apparatus is configured to determine the additive offset value in dependence on a previously decoded portion (210, 213b) of the current channel signal and in dependence on predicted values for a template portion.

2. The apparatus (12, 100) according to claim 1, wherein the apparatus is configured to determine the additive offset value (131 , 208, 331) using a computation of a mean difference value between a previously decoded portion of the current channel signal (210, 213b) and prediction values for the template portion.

3. The apparatus (12, 100) according to claim 1 or claim 2, wherein the apparatus is configured to obtain the plurality of prediction values (64, 121 321) for the current portion of a current channel signal in dependence on a plurality of previously decoded values of the current channel.

4. The apparatus (12, 100) according to one of claims 1 to 3, wherein the apparatus is configured to obtain prediction values (64, 121 321) for the current portion of the current channel signal using a time shifting of a previously decoded portion of the current channel signal.

5. The apparatus (12, 100) according to one of claims 1 to 4, wherein the apparatus is configured to obtain prediction values (64, 121 321) for the current portion of the current channel signal using a combination of a plurality of time shifted versions of previously decoded portions of the current channel signal.

6. The apparatus (12, 100) according to one of claims 1 to 5,FV - ACr - FH251015PCT-2025347516. DOCXwherein the apparatus (12, 100) is configured to obtain prediction values for the template portion of the current channel signal using a time shifting of a previously decoded portion (211a, 213a) of the current channel signal.

7. The apparatus (12, 100) according to one of claims 1 to 6, wherein the apparatus is configured to obtain prediction values for the template portion of the current channel signal using a combination of a plurality of time shifted versions of previously decoded portions (211a, 213a) of the current channel signal.

8. The apparatus (12, 100) according to one of claims 1 to 7, wherein the apparatus is configured to use one or more same time offset values (215) describing one or more time offsets to be applied to one or more previously decoded portions (207a, 211a) of the current channel signal both for obtaining the prediction values (64, 121 321) for the current portion of the current channel signal and for obtaining prediction values (211a, b) for the template portion of the current channel signal.

9. The apparatus (12, 100) according to one of claims 1 to 8, wherein the apparatus is configured to use one or more same weighting parameters describing one or more scalings to be applied to one or more previously decoded portions (207a, 211a) of the current channel signal both for obtaining the prediction values (64, 121 321) for the current portion of the current channel signal and for obtaining prediction values for the template portion of the current channel signal.

10. The apparatus (12, 100) according to one of claims 1 to 9, wherein the apparatus is configured to obtain prediction values predLeftBndry [c] (211a) for the template portion of the current channel signal according to predLeftBndry[c][iStart — templateSize + j]= Y[c][iStart - bSCurr — offsetValFirst — templateSize + j ],0 < j < templateSize wherein c is a channel index of the current channel signal; wherein iStart is a time index of a first sample value of the current portion of the current channel signal; wherein templateSize represents a size of the template portion; wherein j is a running variable, running from 0 to templateSize-1 ; wherein Y[c] is a vector of previously decoded values of the current channel signal;FV - ACr - FH251015PCT-2025347516. DOCXwherein bsCurr represents a size of the current portion of the current channel signal; wherein offsetVal First is a time offset value; wherein the apparatus is configured to obtain the additive offset value offsetPr (131 , 208, 331) according to— predLef tBndry[c][iStart — templateSize + / ]) or according towherein lef tBndry[c][iStart — templateSize + j] = Y[c] [iStart - templateSize + j ],0 < j < templateSize wherein the apparatus is configured to obtain the prediction values (64, 121 321) for the current portion of the current channel signal according to pred[c][iStart + j] = Y[c] [iStart - bSCurr — offsetValFirst + j ] + offsPr,0 < j < bSCurr wherein j is a running variable running between 0 and bsCurr-1.

11. The apparatus (12, 100) according to one of claims 1 to 10, wherein the apparatus is configured to obtain prediction values predLeftBndry [c] for the template portion of the current channel signal according to predLeftBndry [c] [ iStart — templateSize + j]= a ■ Y[c][iStart - bSCurr — offsetValFirst — templateSize + j ] +FV - ACr - FH251015PCT-2025347516. DOCXf> ■ Y[c][iStart - bSCurr — offsetValSecond — templateSize + j ], 0 < j < templateSize , wherein c is a channel index of the current channel signal; wherein iStart is a time index of a first sample value of the current portion of the current channel signal; wherein templateSize represents a size of the template portion; wherein j is a running variable, running from 0 to templateSize-1 ; wherein a is a weighting value of a first contribution in the prediction; wherein is a weighting value of a second contribution in the prediction; wherein Y[c] is a vector of previously decoded values of the current channel signal; wherein bsCurr represents a size of the current portion of the current channel signal; wherein offsetVal First is a time offset value of the first contribution in the prediction; wherein offsetValSecond is a time offset value of the second contribution in the prediction; wherein the apparatus is configured to obtain the additive offset value offsetPr (131 , 208, 331) according toor according towherein lef tBndry[c][iStart — templateSize + j] = K[c] [iStart - templateSize + j ],0 < j < templateSize wherein the apparatus is configured to obtain the prediction values (64, 121 321) for the current portion of the current channel signal according to pred[c][iStart + j] = a • Y[c] [iStart - bSCurr — offsetValFirst + j ] +FV - ACr - FH251015PCT-2025347516. DOCXft • Y [c] [IStart - bSCurr — offsetValSecond + j ] + offsPr, 0 < j < bSCurr wherein j is a running variable running between 0 and bsCurr-1.

12. The apparatus (12, 100) according to one of claims 1 to 11, wherein the apparatus is configured to obtain the additive offset value offsetAdd (131, 208, 331) according to offsetAd = ( diffTpl + ( 1 « ( log2TSize - 1 ) )) » log2TSize, wherein the apparatus is configured to determine diffTpl according to diffTpl = |loze-1(ref[blockPos — tSize + i] — pFirstLeftExt[i]) or according to diffTpl = |loze-1(ref[blockPos — tSize + i] — ((pFirstLeftExt[i] + pScndLeftExt[i] + 1) » 1) wherein log2Tsize determines a number of sample values to be used for the determination of the additive offset value in a logarithmic representation; wherein tSize=1«log2TSize; wherein ref designates an array of reference sample values; wherein blockPos designates a time index of a first sample value of the current portion of the current channel signal; wherein I is a running variable; wherein pFirstLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetFirst + i ]; wherein pScndLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetScnd + i ]; wherein blockOffsetFirst is a time offset value of the first contribution in the prediction; wherein blockOffsetScnd is a time offset value of the second contribution in the prediction.

13. The apparatus (12, 100) according to one of claims 1 to 12, wherein the apparatus is configured to obtain the prediction values (64, 121 321) pred [i] for the current portion of the current channel signal according to pred[ i ] = Clip3( minPredVal, maxPredVal, pFirstf i ] + offsetAd )FV - ACr - FH251015PCT-2025347516. DOCXor according to predf i ] = Clip3( minPredVal, maxPredVal, ((pFirst[ i ] + pSecondf i ] + 1 ) » 1 ) + offsetAd), wherein Clip3 is a clipping function restricting the prediction values (64, 121 321) to a range defined by a minimum boundary value minPredVal and a maximum boundary value maxPredVal; wherein the apparatus is configured to obtain pFirstfi] according to pFirstf i ] = reff blockPos - blockOffsetFirst + i ] or according to pFirstf i ] =((ZkS=o reffblockPos - blockOffsetFirst — fPdL + i + k] • BMFiltCoeffs[0][k] ) + 32) » 6 and wherein the apparatus is configured to obtain pScndfi] according to pScndf i ] = reff currCh ][ blockPos- blockOffsetScnd + i ], or pScndf i ] = reff blockPos- blockOffsetScnd + i ] or according to pScndf i ]= ((2kS=oref[ blockPos - blockOffsetScnd — fPdL + i + k] • BMFiltCoeffs[l][k] ) + 32) » 6 wherein fPdL is a left-sided extension of a filter; wherein fSz is an extension of the filter; wherein BMFiltCoeffs[][] is an array of filter coefficients.

14. The apparatus (12, 100) according to one of claims 1 to 13, wherein the apparatus is configured to obtain residual sample values according to resiLeft[ i ] = reffblockPos - tSize + i] - Clip3( minPredVal, maxPredVal, pFirstLeftExt [ i ] + offsetAd), or according to resi Left[ i ] = reffblockPos - tSize + i] - Clip3(minPredVal, maxPredVal, ((pFirstLeftExt [ i ] + pSecondLeftExt [ i ] + 1 ) » 1 ) + offsetAd wherein Clip3 is a clipping function restricting result values of the clipping function to a range defined by a minimum boundary value minPredVal and a maximum boundary value maxPredVal wherein the apparatus is configured to obtain pFirstLeftExtfi] according to pFirstLeftExtf i ] = reff blockPos -tSize - blockOffsetFirst + i ]FV - ACr - FH251015PCT-2025347516. DOCXor according to pFirstLeftExt[ i ] = ((ZkS=oref[ blockPos - tSize — blockOffsetFirst — fPdL + i + k] •BMFiltCoeffs[0] [k] ) + 32) »6 and wherein the apparatus is configured to obtain pScndLeftExt[i] according to pScndLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetScnd + i ] or according to pScndLeftExt[ i ] = ((ZkS=oref[ blockPos - tSize — blockOffsetScnd — fPdL + i + k] •BMFiltCoeffs[l] [k] ) + 32) »6 wherein fPdL is a left-sided extension of a filter; wherein fSz is an extension of the filter; wherein BMFiltCoeffs[] [] is an array of filter coefficients.

15. The apparatus (12, 100) according to one of claims 1 to 14, wherein the apparatus is configured to determine one or more temporal offset values, defining which previously decoded values are used for determining the prediction values (64, 121 321) for a given temporal portion of the current signal, using a temporal offset value information included in the encoded representation (101 , 302).

16. The apparatus (12, 100) according to one of claims 1 to 15, wherein the apparatus is configured to evaluate a signaling information included in the encoded representation (101, 302) to decide whether to obtain a plurality of prediction values (64, 121 321) for a current portion of a current channel signal using a single time shifted contribution based on a plurality of previously decoded values or using a plurality of time shifted contributions based on a plurality of previously decoded values.

17. The apparatus (12, 100) according to one of claims 1 to 16, wherein the apparatus is configured to evaluate a signaling information included in the encoded representation (101 , 302), to decide whether to determine the additive offset value (131 , 208, 331) in dependence on a previously decoded portion of the current channel signal and in dependence on predicted values for the template portion or to use a constant value as the additive offset value.

18. The apparatus (12, 100) according to claim 17, wherein the constant value is 0.FV - ACr - FH251015PCT-2025347516. DOCX19. An apparatus (10, 300) for obtaining an encoded representation on the basis of a signal, wherein the apparatus is configured to obtain a plurality of prediction values (64, 121 321) for a current portion (202) of a current channel signal in dependence on a plurality of previously encoded values (207a) of one or more channels using an additive offset value (131 , 208, 331), wherein the apparatus is configured to determine the additive offset value in dependence on a previously encoded portion (210, 213b) of the current channel signal and in dependence on predicted values for a template portion.

20. The apparatus (10, 300) according to claim 19, wherein the apparatus is configured to determine the additive offset value (131 , 208, 331) using a computation of a mean difference value between a previously encoded portion (210, 213b) of the current channel signal and prediction values for the template portion.

21. The apparatus (10, 300) according to claim 19 or claim 20, wherein the apparatus is configured to obtain the plurality of prediction values (64, 121 321) for the current portion of a current channel signal in dependence on a plurality of previously encoded values of the current channel.

22. The apparatus (10, 300) according to one of claims 19 to 21 , wherein the apparatus is configured to obtain prediction values (64, 121 321) for the current portion of the current channel signal using a time shifting of a previously encoded portion of the current channel signal.

23. The apparatus (10, 300) according to one of claims 19 to 22, wherein the apparatus is configured to obtain prediction values (64, 121 321) for the current portion of the current channel signal using a combination of a plurality of time shifted versions of previously encoded portions of the current channel signal.

24. The apparatus (10, 300) according to one of claims 19 to 23, wherein the apparatus is configured to obtain prediction values for the template portion of the current channel signal using a time shifting of a previously encoded portion (211a, 213a) of the current channel signal.

25. The apparatus (10, 300) according to one of claims 19 to 24,FV - ACr - FH251015PCT-2025347516. DOCXwherein the apparatus is configured to obtain prediction values for the template portion of the current channel signal using a combination of a plurality of time shifted versions of previously encoded portions (211a, 213a) of the current channel signal.

26. The apparatus (10, 300) according to one of claims 19 to 25, wherein the apparatus (10, 300) is configured to use one or more same time offset values (215) describing one or more time offsets to be applied to one or more previously encoded portions (207a, 211a) of the current channel signal both for obtaining the prediction values (64, 121 321) for the current portion of the current channel signal and for obtaining prediction values for the template portion of the current channel signal.

27. The apparatus (10, 300) according to one of claims 19 to 26, wherein the apparatus is configured to use one or more same weighting parameters describing one or more scalings to be applied to one or more previously encoded portions (207a, 211a) of the current channel signal both for obtaining the prediction values (64, 121 321) for the current portion of the current channel signal and for obtaining prediction values for the template portion of the current channel signal.

28. The apparatus (10, 300) according to one of claims 19 to 27, wherein the apparatus is configured to obtain prediction values predLeftBndry [c] (211a) for the template portion of the current channel signal according to predLeftBndry[c][iStart — templateSize + j]= Y[c][iStart - bSCurr — offsetValFirst — templateSize + j ],0 < j < templateSize wherein c is a channel index of the current channel signal; wherein iStart is a time index of a first sample value of the current portion of the current channel signal; wherein templateSize represents a size of the template portion; wherein j is a running variable, running from 0 to templateSize-1 ; wherein Y[c] is a vector of previously encoded values of the current channel signal; wherein bsCurr represents a size of the current portion of the current channel signal; wherein offsetValFirst is a time offset value; wherein the apparatus is configured to obtain the additive offset value offsetPr (131 , 208, 331) according toFV - ACr - FH251015PCT-2025347516. DOCXor according towherein lef tBndry[c][iStart — templateSize + j] = Y[c] [iStart - templateSize + j ],0 < j < templateSize wherein the apparatus is configured to obtain the prediction values (64, 121 321) for the current portion of the current channel signal according to pred[c][iStart + j] = Y[c] [iStart - bSCurr — offsetValFirst + j ] + offsPr,0 < j < bSCurr wherein j is a running variable running between 0 and bsCurr-1.

29. The apparatus (10, 300) according to one of claims 19 to 28, wherein the apparatus is configured to obtain prediction values predLeftBndry [c] for the template portion of the current channel signal according to predLeftBndry [c] [ iStart — templateSize + j]= a ■ Y[c][iStart - bSCurr — offsetValFirst — templateSize + j ] + / 3 ■ Y[c][iStart - bSCurr — offsetValSecond — templateSize + j ],0 < j < templateSize , wherein c is a channel index of the current channel signal;FV - ACr - FH251015PCT-2025347516. DOCXwherein iStart is a time index of a first sample value of the current portion of the current channel signal; wherein templateSize represents a size of the template portion; wherein j is a running variable, running from 0 to templateSize-1 ; wherein a is a weighting value of a first contribution in the prediction; wherein p is a weighting value of a second contribution in the prediction; wherein Y[c] is a vector of previously encoded values of the current channel signal; wherein bsCurr represents a size of the current portion of the current channel signal; wherein offsetVal First is a time offset value of the first contribution in the prediction; wherein offsetValSecond is a time offset value of the second contribution in the prediction; wherein the apparatus is configured to obtain the additive offset value offsetPr (131 , 208, 331) according toor according towherein lef tBndry[c][iStart — templateSize + j] = Y[c] [iStart - templateSize + j ], 0 < j < templateSize wherein the apparatus is configured to obtain the prediction values (64, 121 321) for the current portion of the current channel signal according to pred[c][iStart + j] = a • K[c] [iStart - bSCurr — offsetValFirst + j ] + f> • Y [c] [iStart - bSCurr — offsetValSecond + j ] + offsPr, 0 < j < bSCurr wherein j is a running variable running between 0 and bsCurr-1.FV - ACr - FH251015PCT-2025347516. DOCX30. The apparatus (10, 300) according to one of claims 19 to 29, wherein the apparatus is configured to obtain the additive offset value offsetAdd (131 , 208, 331) according to offsetAd = ( diffTpl + ( 1 « ( log2TSize - 1 ) )) » log2TSize, wherein the apparatus is configured to determine diffTpl according to diffTpl = |loze-1(ref[blockPos — tSize + i] — pFirstLeftExt[i]) or according to diffTpl = |loze-1(ref[blockPos — tSize + i] — ((pFirstLeftExt[i] + pScndLeftExt[i] + 1) » 1) wherein log2Tsize determines a number of sample values to be used for the determination of the additive offset value in a logarithmic representation; wherein tSize=1 «log2TSize; wherein ref designates an array of reference sample values; wherein blockPos designates a time index of a first sample value of the current portion of the current channel signal; wherein I is a running variable; wherein pFirstLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetFirst + i ]; wherein pScndLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetScnd + i ]; wherein blockOffsetFirst is a time offset value of the first contribution in the prediction; wherein blockOffsetScnd is a time offset value of the second contribution in the prediction.31 . The apparatus (10, 300) according to one of claims 19 to 30, wherein the apparatus is configured to obtain the prediction values (64, 121 321) pred[i] for the current portion of the current channel signal according to pred[ i ] = Clip3( minPredVal, maxPredVal, pFirstf i ] + offsetAd ) or according to pred[ i ] = Clip3( minPredVal, maxPredVal, ((pFirstf i ] + pSecondf i ] + 1 ) » 1 ) + offsetAd),FV - ACr - FH251015PCT-2025347516. DOCXwherein Clip3 is a clipping function restricting the prediction values to a range defined by a minimum boundary value minPredVal and a maximum boundary value maxPredVal; wherein the apparatus is configured to obtain pFirst[i] according to pFirstf i ] = reff blockPos - blockOffsetFirst + i ] or according to pFirstf i ] =((ZkS=o reffblockPos - blockOffsetFirst — fPdL + i + k] • BMFiltCoeffs[0][k] ) + 32) » 6 and wherein the apparatus is configured to obtain pScnd[i] according to pScndf i ] = reff currCh ][ blockPos- blockOffsetScnd + i ], or pScndf i ] = reff blockPos- blockOffsetScnd + i ] or according to pScndf i ]= ((ZkS=oref[ blockPos - blockOffsetScnd — fPdL + i + k] • BMFiltCoeffs[l][k] ) + 32) » 6 wherein fPdL is a left-sided extension of a filter; wherein fSz is an extension of the filter; wherein BMFiltCoeffs[][] is an array of filter coefficients.

32. The apparatus (10, 300) according to one of claims 19 to 31 , wherein the apparatus is configured to obtain residual sample values according to resiLeft[ i ] = reffblockPos - tSize + i] - Clip3( minPredVal, maxPredVal, pFirstLeftExt [ i ] + offsetAd), or according to resi Left[ i ] = reffblockPos - tSize + i] - Clip3(minPredVal, maxPredVal, ((pFirstLeftExt [ i ] + pSecondLeftExt [ i ] + 1 ) » 1 ) + offsetAd wherein Clip3 is a clipping function restricting result values of the clipping function to a range defined by a minimum boundary value minPredVal and a maximum boundary value maxPredVal; wherein the apparatus is configured to obtain pFirstLeftExtfi] according to pFirstLeftExtf i ] = reff blockPos -tSize - blockOffsetFirst + i ] or according to pFirstLeftExtf i ] = ((ZkS=oref[ blockPos - tSize — blockOffsetFirst — fPdL + i + k] •BMFiltCoeffs[0] fk] ) + 32) »6 and wherein the apparatus is configured to obtain pScndLeftExtfi] according toFV - ACr - FH251015PCT-2025347516. DOCXpScndLeftExt[ i ] = ref[ blockPos -tSize - blockOffsetScnd + i ] or according to pScndLeftExt[ i ] = ((ZkS=oref[ blockPos - tSize — blockOffsetScnd — fPdL + i + k] •BMFiltCoeffs[l] [k] ) + 32) »6 wherein fPdL is a left-sided extension of a filter; wherein fSz is an extension of the filter; wherein BMFiltCoeffs[] [] is an array of filter coefficients.

33. The apparatus (10, 300) according to one of claims 19 to 32, wherein the apparatus is configured to determine one or more temporal offset values, defining which previously encoded values are used for determining the prediction values (64, 121 321) for a given temporal portion of the current signal, and wherein the apparatus is configured to encode a temporal offset value information, comprising an information about the one or more temporal offset values, in the encoded representation (101 , 302).

34. The apparatus (10, 300) according to one of claims 19 to 33, wherein the apparatus is configured to encode a signaling information in the encoded representation (101, 302), indicating whether a single time shifted contribution based on a plurality of previously encoded values or a plurality of time shifted contributions based on a plurality of previously encoded values are to be used to obtain a plurality of prediction values (64, 121 321) for a current portion of a current channel signal.

35. The apparatus (10, 300) according to one of claims 19 to 34, wherein the apparatus is configured to encode a signaling information in the encoded representation (101, 302), indicating whether to determine the additive offset value (131 , 208, 331) in dependence on a previously encoded portion of the current channel signal and in dependence on predicted values for the template portion or to use a constant value as the additive offset value.

36. The apparatus (10, 300) according to claim 35, wherein the constant value is 0.FV - ACr - FH251015PCT-2025347516. DOCX37. A method for obtaining a decoded signal on the basis of an encoded representation, the method comprising: obtaining a plurality of prediction values (64, 121 321) for a current portion (202) of a current channel signal in dependence on a plurality of previously decoded values (207a) of one or more channels using an additive offset value (131 , 208, 331), and determining the additive offset value in dependence on a previously decoded portion (210, 213b) of the current channel signal and in dependence on predicted values for a template portion.

38. A method for obtaining an encoded representation on the basis of a signal, the method comprising: obtaining a plurality of prediction values (64, 121 321) for a current portion (202) of a current channel signal in dependence on a plurality of previously encoded values (207a) of one or more channels using an additive offset value (131 , 208, 331), and determining the additive offset value in dependence on a previously encoded portion (210, 213b) of the current channel signal and in dependence on predicted values for a template portion.

39. A computer program for performing the method according to claim 37 or 38, when the computer program runs on a computer.

40. A data stream encoded by a method according to claim 38.

41. An encoded representation, comprising: an encoded representation of a plurality of signal values of a signal; and a signaling information indicating whether a prediction, which is to be used to obtain a plurality of prediction values (64, 121 321) for a portion (202) of a channel signal, should be based on a single previously decoded signal portion, or on two previously decoded signal portions.

42. The encoded representation according to claim 41, wherein the encoded representation comprises an encoded representation of one or more temporal prediction offset values.FV - ACr - FH251015PCT-2025347516. DOCX43. An encoded representation, comprising: an encoded representation of a plurality of signal values of a signal; and a signaling information indicating whether an additive offset value (131 , 208, 331) should be determined by a decoder decoding the encoded representation, and added to a plurality of prediction values (64, 121 321) for a portion of a channel signal by the decoder decoding the encoded representation.FV - ACr - FH251015PCT-2025347516. DOCX

Citation Information

Patent Citations

  • Harmonization between local illumination compensation and inter prediction coding

    US20210235110A1