Encoder and method for encoding a time-varying signal
Patent Information
- Application Number
- PCT/EP2026/058112
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-24
- Filing Date
- 2026-03-23
- Publication Date
- 2026-10-01
Smart Images

Figure EP2026058112_01102026_PF_FP_ABST
Abstract
Description
[0001] Encoder and method for encoding a time-varying signal
[0002] Description
[0003] Embodiment according to the invention relate to an encoder for encoding a time-varying signal.
[0004] Introduction
[0005] Time-varying signals are commonly used for representation of media and measurement data such as audio signals, biomedical signals, or seismic measurements. With the increase of signal generation, transportation and storage, there is demand for compression of such time-varying signals.
[0006] Digital waveform codecs, like biophysical (e. g., medical), geophysical (e. g., seismic), or acoustic (e. g., audio) codecs, often utilize block partitioning methods to improve coding performance. In such codecs, a block of a given channel, or all available channels, may be split into two subblocks and a decision is made, based on a rate-distortion optimization (RDO) cost comparison, whether the one block or the two successive subblocks are to be used for final encoding of the waveform signal portion associated with the duration of said one block resp. two successive subblocks. This approach may also be applied recursively, such that a pair of subblocks may also be split I tested. The above (possibly recursive) block partitioning method, although often resulting in lower rates at the same overall level of coding distortion, can cause significant increase in encoding runtime, due to the additional encoding tasks required for the RDO cost calculations upon which the split on I off comparisons and decisions are carried out. A fast partitioning approach is, thus, desirable.
[0007] This is achieved by the subject matter of the independent claims of the present application.
[0008] Further embodiments according to the invention are defined by the subject matter of the dependent claims of the present application
[0009] Summary of the invention
[0010] In accordance with a first aspect of the invention, an encoder for encoding a time varying signal into a data stream in units of temporal coding blocks of varying size is provided. The
[0011] FH260309PCT-2026097795. DOCXfeencoder is configured to encode a currently to be encoded portion of the time-varying signal in a manner partitioned into one or more temporal coding blocks which depends on a temporal coding block partitioning at which a previously encoded portion of the time-varying signal is encoded in the data steam.
[0012] The encoder is essentially able to perform portioning dependent on a previously performed portioning. Due to a vicinity between the currently to be encoded portion and the previously encoded portion, signal characteristics may be similar so that a testing for whether or how to partition the currently to be encoded portion may be skipped and an adequate partitioning may be performed due to the knowledge of if or what partitioning had previously been used. For example, if the previously encoded portion had been portioned than it is likely that portioning the currently to be encoded portion may be beneficial for coding efficiency and / or rate / distortion optimization. Similarly, if a previous encoded portion has been partitioned into two equally sized temporal coding blocks, using the same partitioning mode for the currently to be coded portion may be beneficial as well. However, since testing for the partition may be skipped or reduced, coding complexity may be reduced. As a result, power consumption and coding speed may be improved.
[0013] According to a second aspect, an encoder for encoding a time-varying signal into a data stream in units of temporal coding blocks of varying size is provided. The encoder is configured to encode a high level syntax element that indicates whether a variation of the block size of the temporal coding blocks of the time-varying signal is signaled in the data stream block wise or per group of blocks, and if the high level syntax element indicates that a variation of the block size of the temporal coding blocks of the time-varying signal is signaled in the data stream block wise, signalize the block sizes of the temporal coding blocks block wise in the data stream, or if the high level syntax element indicates that a variation of the block size of the temporal coding blocks of the time-varying signal is signaled in the data stream per group of blocks, signalize the block sizes of the temporal coding blocks per group of blocks in the data stream.
[0014] The encoder is essentially able to switch between a coarse or fine signaling of the block size variation (e.g., block partitioning variation). Therefore, the encoder can adjust the coding complexity, e.g., based on one or more of time constraints (e.g., live streaming vs video coding without immediate playback), power consumption (e.g., depending on battery power or whether currently being powered by a battery) and decoder compatibility (e.g., in case the encoder is informed about which signaling a decoder supports).
[0015] FH260309PCT-2026097795.DOCXfeBrief of the
[0016]
[0017] 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:
[0018] Fig. 1 shows a schematic view of an example of an encoder;
[0019] Fig. 2a shows a schematic view of a time-varying signal with a previously encoded portion and a currently to be encoded portion;
[0020] Fig. 2b shows a schematic view of a time-varying signal with a sliding window having a pre-determined size;
[0021] Fig. 2c shows a schematic view of the time-varying signal of fig. 2b after the sliding window has moved past the recently encoded first portion;
[0022] Fig. 2d shows a schematic view of a time-varying signal comprising temporal blocks with the same size;
[0023] Fig. 3a shows a schematic view of an example of a time-varying signal with multiple channels;
[0024] Fig. 3b shows a schematic view of a time-varying signal with a group of temporal blocks;
[0025] Fig. 4 shows a schematic view of an encoder configured to encode a high level syntax element;
[0026] Fig. 5a shows a diagram of a method for encoding a time-varying signal into a data stream in units of temporal coding blocks of varying size; and
[0027] Fig. 5b shows a diagram for a method for encoding a time-varying signal into a data stream in units of temporal coding blocks of varying size;
[0028] FH260309PCT-2026097795.DOCXfeFig. 6 shows a schematic view of a decoder for decoding a time-varying signal;
[0029] Fig. 7 shows a flow diagram of a method for decoding a time-varying signal from a data stream in units of temporal coding blocks of varying size; and
[0030] Fig. 8 shows an encoder for encoding a multi-channel digital signal into a data stream as well as decoder for decoding the multi-channel digital signal from data stream.
[0031] Detailed Description of the Embodiments
[0032] 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.
[0033] 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.
[0034] Introductory Remarks
[0035] In the following, different inventive embodiments and aspects will be described.
[0036] Also, further embodiments will be defined by the enclosed claims.
[0037] It should be noted that any embodiments as defined by the claims can be supplemented by any of the details (features and functionalities).
[0038] Also, the embodiments described 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.
[0039] FH260309PCT-2026097795.DOCXfeAlso, 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.
[0040] 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.
[0041] Moreover, features and functionalities disclosed herein relating to a method, in particular an encoding method can also be used in a data stream or bitstream (e.g. de-fining a respective data stream or bitstream element). Furthermore, any features and functionalities disclosed herein with respect to an apparatus can also be used in a corresponding data stream, e.g. as a resulting data stream as providing by said encoder. In other words, the data streams disclosed herein can be supplemented by any of the features and functionalities described with respect to the apparatuses and methods.
[0042] 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”.
[0043] Fig. 1 shows a schematic view of an example of an encoder 10. The encoder 10 may be any other encoder enclosed herein or have one or more features / functionalities of any encoder in any combination disclosed herein. Any encoder 10 disclosed herein may comprise an encoder-side feature that corresponds to any decoder-side feature disclosed herein and vice versa.
[0044] The encoder 10 is for encoding a (e.g., digital) time-varying signal 14 (e.g., a biomedical signal, a geophysical signal, or acoustic signal) into a data stream 16 in units of temporal coding blocks 46 (e.g., defining a linear array of samples) of varying size (e.g., of varying sample number, e.g., four, eight, sixteen or any other sample number, e.g., a power of two).
[0045] The encoder 10 is configured to encode a currently to be encoded portion 48; (e.g., wherein the index i indicates the portion, e.g., along a coding order, which may or may not correlate or correspond to a temporal order) of the time-varying signal 14 in a manner partitioned into
[0046] FH260309PCT-2026097795.DOCXfeone or more temporal coding blocks 46ai, 46bj, 46ci (e.g., having the same size or having different sizes) which depends on a temporal coding block partitioning 50 at which a (e.g., in a coding order) previously encoded portion 48M of the time-varying signal 14 is encoded in the data steam 16 (e.g., whether the previously encoded portion has been encoded in one portion or more than one portion).
[0047] The encoder 10 may be configured to encode the time-varying signal 14 in units of temporal coding blocks 46 in varying sample length and / or varying time duration. In other words, the temporal coding blocks 46 may not necessarily have a common number of samples or a common temporal length. A coding in units of temporal coding blocks 46 may entail that (e.g., along a coding order) all payload data of a respective temporal block 46 is contained in a continuous block that is not interrupted by payload data of a different temporal block 46. The currently to be encoded portion 48 may define a (e.g., uninterrupted) sequence of samples. The portions 48 may have the same size, wherein a portioning of the portions 48 results in temporal coding blocks 46 having varying sizes.
[0048] In the example shown in fig. 1, the encoder 10 may be configured to determine whether or how to encode the currently to be encoded portion 48j, e.g., whether to encode the currently to be encoded portion 48; in more than one temporal coding block, e.g., if so, how partitioning of the currently to be encoded portion 48; is to be performed, e.g., into how many temporal coding blocks 46 the currently to be encoded portion 48; is to be partitioned and / or what block sizes (e.g., or common block size, e.g., different block sizes) the temporal coding blocks 46 have.
[0049] In the example of fig. 1, the encoder 10 may have two options for partitioning the currently to be encoded portion 48j, namely into three temporal coding blocks 46ai, 46bj, 46ci or into a single temporal coding block 46j. However, any other choices (e.g., any number of choices, e.g., any partitioning) may be provided. For example, choices may comprise whether to partition into two, four, three, five, or more temporal coding blocks 46. Additional or alternative choices may comprise whether to partition the currently to be encoded portion 48j into temporal coding blocks 46 having the same block size (e.g., having the same number of samples, e.g., having the same temporal length) or having different block sizes (e.g., different sample numbers, e.g., different temporal length). Additional or alternative choices may include whether the partitioning should have one or multiple partitioning hierarchies for recursive partitioning (e.g., only one partitioning hierarchies resulting in the currently to be encoded portion 48; to be partitioned into multiple temporal coding blocks, which are not
[0050] FH260309PCT-2026097795.DOCXfefurther partitioned, e.g., two partitioning hierarchies resulting in the currently to be encoded portion 48; to be partitioned into multiple intermediate temporal coding blocks, wherein one or more or all of these multiple temporal coding blocks are partitioned one more time). In other words, the encoder 10 may be configured to encode the currently to be encoded portion 48j in a manner partitioned recursively (e.g., according to a hierarchical block partitioning structure). Additional or alternative choices may include reusing or copying a partitioning mode of the previously encoded portion 48M (e.g., wherein the previously encoded portion 48j.i was partitioned into two equally sized temporal coding blocks 46ai-i, 46b and the currently to be encoded portion 48; is also partitioned into two equally sized temporal coding blocks 46ai, 46bj).
[0051] In fig. 1, the encoder 10 is configured to select between two choices for portioning the currently to be encoded portion 48j. However, the partition of the currently to be encoded portion 48j can have more than two choices or may not necessarily be limited to (e.g., a fixed number of) choices, but may be freely adaptable by the encoder 10. For example, the encoder 10 may decide to partition the currently to be encoded portion 48; into two temporal coding blocks 46ai, 46bj, but may select or determine a size of the two temporal coding blocks 46ai, 46b; based on other parameters, e.g., based on a rate / distortion optimization. In other words, the encoder 10 may be configured to select a subset (e.g., not all) of partitioning parameters dependent on the temporal coding block partitioning 50 and / or select a size of the subset of partitioning parameters. Partitioning parameters may include one or more of a number of temporal coding blocks 46 (into which to partition), a size of the temporal coding blocks 46, whether or not a common size of the temporal coding blocks is used, and a number of partitioning recursions (e.g., number of partitioning levels).
[0052] The encoder 10 may be configured to partition the currently to be encoded portion 48; into a number of temporal coding blocks 46 of equal size such that a size difference between the temporal coding blocks 46 of the currently to be encoded portion 48; and the temporal coding blocks 46 of the previously encoded portion 48 is minimized.
[0053] The partitioning (e.g., selection of the partitioning) may be performed within partitioning restraints. The partitioning restraints may comprise one or more of
[0054] an upper limit for a number of temporal coding blocks 46 resulting from the partition (e.g., a partition may result in no more than four temporal coding blocks 46, e.g., or any other upper limit),
[0055] FH260309PCT-2026097795.DOCXfean upper limit for a size of the temporal coding blocks 46 (e.g., upper limit for a number of samples, e.g., no more than 64 samples, e.g., or any other number of samples, e.g., 8, 16, or 32),
[0056] a lower limit for a size of the temporal coding blocks 46 (e.g., a lower limit for a number of samples, e.g., no less than eight samples, e.g., or any other number of samples, e.g., 4, 16, or 32),
[0057] a fixed number of partitions per recursion (e.g., wherein for each recursion or hierarchy level a block is divided into exactly two blocks, e.g., or any other fixed number such as three, four, or more),
[0058] an upper limit for a number of partitions per recursion (e.g., wherein for each recursion or hierarchy level a block may be divided into four blocks or less, e.g., or any other number),
[0059] a subset of integer numbers into which the currently to be encoded portion 48; may be partitioned (e.g., partitioned only into a number of blocks that is a power of two), and
[0060] an upper limit and / or lower limit for a ratio between sizes of temporal blocks 46 of the previously encoded portion 48M and of temporal blocks 46 of the currently encoded portion 48 (e.g., the ratio may not be less than 0.5 and / or larger than 2, e.g., may not be less than 1 / 3 and / or larger than 3).
[0061] In the example of fig. 1, the previously encoded portion 48M of the time-varying signal 14 has been encoded with a temporal coding block partitioning 50, which resulted into two temporal coding blocks 46ai-i, 46bj.i . Therefore, the encoder 10 may be configured to partition the currently to be encoded portion 48; into the three temporal coding blocks 46ai, 46bj, 46ci. For example, the encoder 10 may be configured to partition the currently to be encoded portion 48; into more than one temporal coding block 46 if the previously encoded portion 48j.i has been partitioned into more than temporal coding block 46 and to not partition the currently to be encoded portion 48; (e.g., resulting in only one temporal coding block 46) if the previously encoded portion 48M has not been partitioned (e.g., resulting in only one temporal coding block 46). The encoder 10 may be configured to encode the currently to be encoded portion 48; of the time-varying signal 14 in a manner partitioned into more than one temporal coding blocks 46, if the previously encoded portion 48M of the time-varying signal 14 is encoded in more than one temporal coding blocks 46.
[0062] FH260309PCT-2026097795.DOCXfeThe encoder 10 may be configured to subsequently encode the temporal coding block 46 directly or may be configured to perform further processing steps, e.g., one or more of channel permutation, channel transformation, and channel temporal alignment.
[0063] The encoder 10 may be implemented (e.g., via a computer program product) in a computing device, e.g., a personal computer, mobile phone, tablet, server, or a plurality of servers (e.g., in form of cloud computing resources). The encoder 10 may be part of a medical device, e.g., that is configured to record the time-varying signal 14 (e.g., in form of a bio biomedical signal). The encoder 10 may be part of a seismic device or an audio device, e.g., configured to record the time-varying signal 14. The encoder 10 (or a device comprising the encoder 10) may be configured to store and / or transmit the encoded data stream 16.
[0064] The time-varying signal 14 may be (or comprise) one channel, for example, as a single channel signal or as part of a multi-channel signal. Alternatively, the digital time-varying signal 14 may comprise one or more channels. A channel may define a single parameter assuming values over time, e.g., wherein the parameter is sampled over temporally successive samples. The currently to be encoded portion 48; (e.g., temporal block 140 as described further below) may form a one dimensional array of samples, wherein a sample order defines a sequence order within the one dimensional array of samples. The timevarying signal 14 may comprise or be an audio signal (e.g., having one or more audio channels), a biomedical signal (e.g., an electrogram such as obtained by electroencephalography, electrocardiogram, or electrooculography), or a seismic signal. Any decoder 12 disclosed herein may be a decoder 12 for decoding an audio signal, a biomedical signal, or a seismic signal. Any encoder 10 disclosed herein be an encoder for encoding an audio signal, a biomedical signal, or a seismic signal. The time-varying signal 14 may be a predetermined coded channel of coded channels representing a multi-channel digital signal. The multi-channel digital signal may be obtained by at least one of Electrocardiography, Electroencephalography, Electromyography or seismic measurement, and / or the multi-channel digital signal may be a bio-physiological waveform data such as an electroencephalography (EEG) signal, an electrocardiogram (ECG), or an electromyography (EMG) signal, or seismic waveform data.
[0065] The time-varying signal 14 may be or comprise one or more waveform signals. Any disclosure related herein to examples with a single channel may also be applicable in any combination to a time-varying signal 14 being one of multiple channels.
[0066] FH260309PCT-2026097795.DOCXfeA partition (or sub-division) of an original block may comprise forming non-overlapping subblocks (e.g., temporal coding blocks), in which samples of the original blocks are distributed in (e.g., without generating duplicates of the samples of the original block, e.g., wherein the number of samples in the total block is equal to a total number of samples of sub-blocks). A partition (e.g., a subdivision, e.g., in a time domain) of the currently to be encoded portion 48j may comprise partitioning (or subdividing) a continuous sequence of samples of the of the currently to be encoded portion 48; into one or more subsequences of samples, wherein a concatenation of the subsequences of samples results in the sequence of samples of the of the currently to be encoded portion 48; (without duplicating or removing samples).
[0067] The encoder 10 may be configured to select a size 52 (e.g., as an absolute length or relative to the currently to be encoded portion 48j, e.g., in number of samples or a fraction of the currently to be encoded portion 48;,) for each currently to be encoded portion 48; (e.g., wherein the encoder 10 is configured to select a variable size 52 of the currently to be encoded portion and subsequently encode the currently to be encoded portion of the timevarying signal in a manner partitioned into one or more temporal coding blocks). For example, the encoder 10 may be configured to select the size 52 of the currently to be encoded portion 48; based on one or more of a rate / distortion optimization, a frequency distribution, and change or rate of change of a frequency distribution. For example, for a signal having low signal change and / or few frequencies in its Fourier transformation (e.g., if transformation is used, e.g., or any other transform), the encoder 10 may select a larger size 52 for the currently to be encoded portion 48j. For a signal having a larger signal change and / or many frequencies in its Fourier transformation (e.g., during seismic activity in a seismic signal or an audio signal with many instruments or voices), the encoder 10 may select a smaller size 52 for the currently to be encoded portion 48j. The encoder 10 may be configured to select the size 52 of the currently to be encoded portion 48; on a basis of a power of two (e.g. a number of samples of a power of two, e.g., 2k, wherein the encoder 10 is configured to determine or select k). Alternatively, the size 52 of the currently to be encoded portion 48; may be pre-determined (e.g., not varied by the encoder 10 for the entire signal or course time intervals).
[0068] The encoder 10 may be configured to select (e.g., for a predetermined duration, e.g., for a predetermined number of samples, e.g., for a predetermined number of portions 48) the partitioning only based on the temporal coding block partitioning 50 at which a previously encoded portion 48M of the time-varying signal 14 is encoded in the data steam 16. For
[0069] FH260309PCT-2026097795.DOCXfeexample, the encoder 10 may be configured to transmit information (e.g., one or more syntax elements) how (e.g., a partition mode, e.g., parameters for a partition) a currently to be encoded portion 48; is to be partitioned (e.g., in regular intervals, e.g., for a first portion 48 after or at a random access point) and proceed to select partitioning only based on the previously encoded portion 48M (e.g., without requiring signalling in the bitstream) how subsequent portions 48 are partitioned (e.g., a predetermined number of portions, e.g., until a next portion 48 after or at a random access point, e.g., until the encoder 10 explicitly signals a new partitioning or partitioning mode).
[0070] The encoder 10 may be configured to determine a pre-selection of partition modes (e.g., a preselection of partitioning parameters, e.g., whether to partition or not) based on the based on the temporal coding block partitioning 50 at which a previously encoded portion 48 and encode information (e.g., one or more syntax elements) that identify a partition mode (e.g., one or more partition parameters) within the pre-selection of partition modes. For example, the encoder 10 may be configured to determine that the currently to be encoded portion 48; is to be partitioned based on previously encoded portion 48M also being partitioned, wherein the encoder 10 may be configured to encode a syntax element indicating a number of temporal coding blocks 46 into which the currently to be encoded portion 48; is to be partitioned (e.g., and / or a number of recursive partitions).
[0071] In a different example, the encoder 10 may be configured to encode one information (e.g., one or more syntax elements) that define a pre-selection of partition modes (e.g., a preselection of partitioning parameters), wherein the partition mode to be used for the currently to be encoded portion 48; out of the pre-selection of partition modes may be derivable based on the temporal coding block partitioning 50 at which a previously encoded portion 48M is encoded in the data steam 16.
[0072] In other words, the partitioning may be defined entirely or partly based on the temporal coding block partitioning 50 at which a previously encoded portion 48M is encoded, wherein in case of the partitioning being defined partly based on the temporal coding block partitioning 50 at which a previously encoded portion 48M is encoded, the partitioning may additionally be defined by a signaling of the encoder 10.
[0073] Fig. 2a shows a schematic view of a time-varying signal 14 with a previously encoded portion 48j.i and a currently to be encoded portion 48j, wherein the encoder 10 may be configured to select a size 52 for each currently to be encoded portion 48j. In this example, the
[0074] FH260309PCT-2026097795.DOCXfeencoder 10 selected a smaller size 52 for the previously encoded portion 48M than for the currently to be encoded portion 48j, for example, due to a higher signal fluctuation and / or more high frequency components in the previously encoded portion 48 .
[0075] The encoder 10 may be configured to select a size of the currently to be encoded portion 48j, (e.g., newly for each currently to be encoded portion 48j) and subsequently select the partitioning (e.g., entirely based on the previous temporal coding block partitioning 50 or also dependent on other factors such as constraints and / or rate / distortion assessment). In a different example, the length of the currently to be encoded portion 48; may selected (at least partly) based on a sliding window.
[0076] The currently to be encoded portion 48; may be formed by a sliding window having a predetermined size 52 (e.g., fixed size) that follows a previously encoded temporal coding block 46 (e.g., configured to, upon encoding of each respective temporal coding block partitioning, newly define the currently to be encoded portion based on a pre-determined blocks size 52 from the encoded respective temporal coding block partitioning).
[0077] The currently to be encoded portion 48; may be formed by a portion of the time-varying signal 14 having the pre-determined block size 52 that follows a last temporal coding block 46 of the previous block partitioning (e.g., the currently to be encoded portion 48; not comprising any temporal coding block 46 of the previous block portioning) or the currently to be encoded portion 48; may be formed by a portion of the time-varying signal 14 having the pre-determined block size 52 that follows a first (e.g., or second, third, or higher) temporal coding block 46 of the previous block partitioning (e.g., the currently to be encoded portion 48j comprising one or more temporal coding block 46 of the previous block portioning).
[0078] For example, the encoder 10 may be configured to define the currently to be encoded portion 48j by the pre-determined block size 52, partition the currently to be encoded portion 48j into two temporal coding blocks 46, encode a first one of the two temporal coding blocks 46, slide the sliding window to the start of a second one of the two temporal coding blocks 46 and select a portion of the time-varying signal 14 covered by the sliding window (e.g., and therefore also covering the second one of the two temporal coding blocks 46) as the new currently to be encoded portion 48j.
[0079] FH260309PCT-2026097795.DOCXfeFig. 2b shows a schematic view of a time-varying signal 14 with a sliding window having a pre-determined size 52. The encoder 10 may subsequently partition the currently to be encoded portion 48; and encode the first portion (e.g., a first temporal coding block 46j.i) that results from the partition. Since the first portion no longer needs to be encoded, a new currently to be encoded portion 48j, may be defined following the encoded first portion.
[0080] Fig. 2c shows a schematic view of the time-varying signal 14 of fig. 2b after the sliding window has moved past the recently encoded first portion. The currently to be encoded portion 48; may therefore be formed by a sliding window. The sliding window may slide by one temporal coding block 46 before defining a next currently to be encoded portion 48; or according to other sliding rules, e.g., sliding a minimum temporal distance (e.g., at least a quarter length of the previously coded portion 48j.i), sliding by a first portion of a coarsest (e.g., highest hierarchical level, e.g., first partitioning of a plurality of a recursive partitioning) of a recursive partitioning, and sliding a minimum number of temporal coding blocks 46.
[0081] Alternatively, all partitions of the currently to be encoded portion 48; may be processed (e.g., encoded, e.g., transformed) before the currently to be encoded portion 48; moves onto a new section of the time-varying signal 14 (e.g., before the currently to be encoded portion 48j is newly defined).
[0082] The time-varying signal 14 may comprise temporal blocks 140 of a common pre-determined size (e.g., all or a subset of the temporal blocks 140 have the same size, e.g., same number of samples, e.g., each temporal block 140 having 16 samples, or any other common number of samples; e.g., temporal portions of a common size) and the currently to be encoded portion 48; is formed by one temporal coding block or a not yet processed or encoded portion thereof (e.g., one or more remaining temporal coding blocks of the temporal block that have not been encoded yet, e.g., wherein the currently to be encoded portion is processed in a non-overlapping manner or in independent blocks, wherein the start of temporal blocks of different channels of a multi-channel signal are temporally aligned).
[0083] Fig. 2d shows a schematic view of a time-varying signal 14 comprising temporal blocks 140 with the same size 52. For example, the currently to be encoded portion 48; may be a temporal block 140j and once the temporal block 140; has been processed (e.g., partitioned and / or encoded), the new encoded portion 48j+i may be the temporal block 140i+i that follows temporal block 140;. As a result, the currently to be encoded portions 48; (e.g., temporal
[0084] FH260309PCT-2026097795.DOCXfeblock 140j) may not overlap with any portion of the previously coded portion 48M (e.g., temporal block 140 ).
[0085] The time-varying signal 14 may comprise a coding order (e.g., scan order), e.g., which defines an order (or sequence) in which portions of the time-varying signal 14 are coded (e.g., portions that are selected to be partitioned). For example, in the case of a single channel, the coding order may follow a time direction of the time-varying signal 14 (e.g., starting from a first captured / measured / recorded portion of the time-varying signal 14). In the case of multiple channels, the coding order may follow a combination of a channel order and a time direction. For example, the coding order may prioritize portions (e.g., blocks) which are at earlier time instances (e.g. have earlier starting block borders) and, in case of a portions having identical starting times, blocks are prioritized according to their channel (e.g., the channels having a channel order, e.g., according to a channel index). However, other coding orders may be used as well (e.g., intra blocks being prioritized over P- or B-blocks).
[0086] The time-varying signal 14 may comprise multiple channels (e.g., each channel having a sequence of temporal blocks, e.g., wherein the temporal blocks of a channel or of all channels have the same size, e.g., with a zig-zag scan order), and the previously encoded portion 48j.i may be located in the same channel as the currently to be encoded portion 48; (e.g., and immediately preceding the currently to be encoded portion), in a different channel (e.g., preceding in a coding order) as the currently to be encoded portion and temporally preceding the previously encoded portion (e.g., when a zig-zag scan transitions to a temporally next time instance of the channels), or in a different channel as the currently to be encoded portion and temporally co-located to the currently to be encoded portion (e.g., preceding in a scan order).
[0087] Fig. 3a shows a schematic view of an example of a time-varying signal 14 with multiple (e.g., four or any other number) channels 92a-d. Fig. 3a shows different examples of previously encoded portions and currently to be coded portions 48, wherein the portions are exemplarily formed by temporal blocks 140. The temporal blocks 140 may be encoded (and decoded) using a scan order 60 having a zig-zag pattern, e.g., prioritizing blocks which start at an earlier time instance and prioritizing channels according to a channel order (e.g., in fig. 3a from top to bottom).
[0088] The previously encoded portion 48M may be determined based on the scan order 60 and / or based on the channel of the currently encoded portion 48j.
[0089] FH260309PCT-2026097795.DOCXfeThe previously encoded portion 48M may be located relative to the currently to be encoded portion 48; reverse to the scan order 60 (e.g., in a direction reverse to the scan order 60 from the currently to be encoded portion 48j, e.g., immediately preceding). For example, with reference to fig. 3a, in case of temporal block 140dj forming the currently to be encoded portion 48j, the previously encoded portion 48 may be temporal block 1400 and therefore in a different channel as the currently to be encoded portion 48; and temporally co-located to the currently to be encoded portion 48; (e.g., preceding in a scan order). In a different example, in case of temporal block 140ai forming the currently to be encoded portion 48j, the previously encoded portion 48M may be temporal block 140dj.i and therefore in a different channel (e.g., preceding in a coding order) as the currently to be encoded portion and temporally preceding the previously encoded portion (e.g., when a zig-zag scan transitions to a temporally next time instance of the channels). In other words, the previously encoded portion 48M may be defined by the scan order 60 (e.g., the reverse thereof) and not (necessarily) by being co-located in a same channel.
[0090] Alternatively or additionally, in case of temporal block 140bj.i forming the currently to be encoded portion 48j, the previously encoded portion 48M may be temporal block 140bj.2 and therefore the previously encoded portion 48M may be located in the same channel as the currently to be encoded portion 48; (e.g., and immediately preceding the currently to be encoded portion). In other words, the previously encoded portion 48M may be defined by being co-located in a same channel and not (necessarily) by the scan order 60.
[0091] The encoder 10 may be configured to determine a partitioning mode (e.g., defining one or more of a number of temporal coding blocks 140, a common size of the temporal coding blocks 140, different sizes for different temporal coding blocks 140, and a sequence of the temporal coding blocks 140, e.g., two temporal coding blocks 140 of equal size, e.g., two quarter sizes followed by a half size of a temporal block 140) for the currently to be encoded portion 48; depending on a partitioning mode by way of which the previously encoded portion 48j.i is encoded (e.g., wherein, for the currently to be encoded portion 48j, the same partitioning mode is selected as for the previously encoded portion 48j.i, e.g., wherein at least one or all parameters of the partitioning mode for the previously encoded portion is selected as for the previously encoded portion, e.g., a number and / or size of partitions).
[0092] Two approaches (e.g., by scan order and co-located channel) for defining a previously encoded portion 48M may be combined in order to provide two choices to be tested by the
[0093] FH260309PCT-2026097795.DOCXfeencoder 10. The encoder 10 may be configured to determine the partitioning mode for the currently to be encoded portion 48; depending on a partitioning mode by way of which the previously encoded portion 48M is encoded (e.g., a temporal block that is located in a different channel but temporally co-located to the currently to be coded portion) and a further partitioning mode of by way of which a further previously encoded portion 48 (e.g., a temporal block of the same channel as the currently to be coded portion) different from the previously encoded portion is encoded (e.g., based on a distortion measure comparison, e.g., a rate-distortion-optimization, of the partitioning mode and the further partitioning mode obtained for currently to be encoded portion). For example, in case the currently to be encoded portion 48; is temporal block 140dj in fig. 3a, the previously encoded portion 48M and the further previously encoded portion 48M may be the temporal blocks 1400 (e.g., the temporal block 140 above) 140dj.i (e.g., the temporal block to the left). The encoder 10 may be configured to test, which partitioning mode of the temporal blocks 1400 and 140dj.i provides a better coding result for the temporal block 140dj (e.g., better coding efficiency, e.g., better optimized rate-distortion) and subsequently apply the partitioning mode with the better result to the temporal block 140dj. In such a case, the encoder 10 may encode single flag, which indicates which one of the two partitioning modes is to be used. Therefore, the encoder 10 may be effectively able to perform a pre-selection of the partitioning modes and therefore can reduce coding complexity.
[0094] The encoder 10 may be configured to select a portioning mode depending on how many previously coded portions 48M have been partitioned. For example, if both temporal blocks 1400 and 140dj.i are both portioned, the temporal block 140dj may automatically be partitioned as well (e.g., without requiring any signaling) and if none of the temporal blocks 1400 and 140dj.i are portioned, the temporal block 140dj may automatically not be partitioned. If only one of the temporal blocks 1400 and 140dj.i is partitioned, the encoder may signal which partition mode to use. Alternatively, only one of the temporal blocks 1400 and 140dj.
[0095] 1 being partitioned may automatically result in a partitioning or no partitioning.
[0096] The encoder 10 may support more than two block sizes (e.g., wherein a first temporal coding block 140 has a different size than a second temporal coding block 140). Such an example can be seen in fig. 1, wherein the temporal coding blocks 46a; and 46b; have different block sizes. Alternatively, block sizes may be identical for all temporal coding blocks 46 (e.g., by portioning the currently to be encoded portion 48; into equality sized temporal coding blocks 46, e.g., having the same number of samples, e.g., optionally deviating by one sample, e.g., due to rounding).
[0097] FH260309PCT-2026097795.DOCXfeDifferent block sizes (e.g., as well as same block sizes) may also allow iterative partitioning of the currently to be encoded portion 48j. The encoder 10 may be configured to perform recursive partitioning of the currently to be encoded portion 48; with more than one partitioning hierarchy (e.g., wherein in a first step the currently to be encoded portion 48; is partitioned or sub-divided into a first level of temporal coding blocks 140 and in a second step, at least one of the temporal coding blocks 46 of the first level is further portioned or subdivided into a second level of temporal coding blocks 46).
[0098] Recursive partitioning may be treated like any portioning mode disclosed herein. For example, the encoder 10 may be configured to perform the same reversive partitioning as for a previously encoded portion 48M (e.g., until a next random access point, e.g., until a different partitioning mode is signaled, e.g., any other criteria disclosed herein). The encoder 10 may be configured to perform recursive portioning if the previously encoded portion 48 has been recursively partitioned, wherein parameters for the recursive partitioning (e.g., one or more out of how many recursions and which blocks to partition for each partitioning iteration) may be signaled.
[0099] The encoder 10 may be configured to operate in groups of blocks (e.g., formed by a plurality of temporal blocks, e.g., a frame, e.g., a predetermined number of temporal blocks, e.g., wherein prediction is restricted to blocks within the group of blocks, e.g., forming an intracoding group, e.g., wherein a coding context for entropy coding, e.g., CABAC, is reset or re-initialized for each group of blocks) by encoding a, in a coding order, leading portion (e.g., a first or initial temporal block of the group of blocks) of the time-varying signal 14, at which the group of blocks begins, a rate-distortion optimized (e.g., an optimal block partitioning in terms of R / D sense) optimal (e.g., rate-distortion optimized) block partitioning (e.g., wherein the decoder is configured to determine the block partitioning independent from a temporal coding block partitioning at which a previously encoded portion of the time-varying signal is encoded) and encoding the leading portion using the optimal block partitioning to obtain a coded version of a first block (e.g., a first temporal block) of the group of blocks, and encoding a subsequent portion (e.g., in order to encode the rest of the group of blocks) of the time-varying signal covered by subsequent blocks (e.g., temporal blocks) of the group of blocks, (e.g., consecutively) following the first block in the coding order, in a manner partitioned into one or more temporal blocks which depends on the optimal temporal block partitioning (e.g., wherein, in case the leading portion is not partitioned, then the remaining blocks of the groups of blocks are not partitioned either, e.g., wherein, in case the leading
[0100] FH260309PCT-2026097795.DOCXfeportion is partitioned, some or all of the remaining blocks of the groups of blocks are portioned, e.g., portioned with the same or a different partitioning mode as the leading portion).
[0101] For example, all blocks of the group of blocks that follow the first block (e.g., or blocks of a leading end of the group of blocks) may be partitioned if the first block is partitioned, e.g., using the same partition mode as used for the first block. Due to their vicinity to the first block, the remaining blocks may have similar signal characteristics. Therefore, the partition mode of the first block may form an adequate division remaining also beneficial to the coding of the remaining blocks of the group, while being able to omit (or reduce) testing of partition modes for the remaining blocks. Therefore, coding complexity may be reduced.
[0102] Fig. 3b shows a schematic view of a time-varying signal 14 with a group of temporal blocks 30 (which also be called temporal block 30 or temporal portion 30 of a multi-channel signal). In the example shown in fig. 3b, the group of temporal blocks 30 covers four channels and ten temporal blocks 140. However, any other number of channels and temporal size may be used instead. The group 30 of temporal blocks 140 are separated by random accesschannel borders 96, 98 (but may be other borders, e.g., borders for reinitializing a coding context). Any other group 30 of temporal blocks 140 may be used instead, e.g., using different numbers of channels and / or temporal blocks 140. The group 30 of temporal blocks 140 comprises a first block (e.g., temporal block) 140ej.4, for which a portioning mode into two partitions (e.g., dyadic division) have been determined by the encoder 10 (e.g., using a rate-distortion optimization). The encoder 10 subsequently may also partition the remaining temporal blocks 140hj.4 to 140hj, e.g., using the same partition (e.g., two partitions with the same size) as the first block 140ej.4 (or any other partition). However, a “chain reaction” (e.g., reuse of the same partition mode) of partitioning may stop at the end of the group 30 of temporal blocks 140. For example, for the next group 30 of temporal blocks 140, the encoder 10 may again determine whether (e.g., and how) to partition the first block and subsequently perform a partition of the remaining blocks of the respective group 30 of temporal blocks 140. In other words, the encoder 10 may decide based on the first block of a group 30 of blocks, whether (and optionally, how) to partition the remaining blocks of the group 30 of blocks.
[0103] The blocks of the group 30 of blocks (e.g., group of temporal blocks) may have a constant temporal size. In other words, all blocks of the group 30 of blocks may have the same size (e.g., same duration, e.g., same length, e.g., same number of samples).
[0104] FH260309PCT-2026097795.DOCXfeThe encoder 10 may be configured to encode, for each currently to be encoded portion 48; (e.g., for each temporal block 140;, e.g., once for each temporal block 140;), a low level syntax element (e.g., a flag, e.g., a block-wise syntax element, e.g., a first syntax element) that indicates whether the currently to be encoded portion 48; of the time-varying signal 14 is encoded in a manner partitioned into one or more temporal coding blocks 46. Therefore, the decoder 12 may be able to determine whether the currently to be encoded portion 48; is to be partitioned on a block-by-block basis. The partition mode may be a default mode (e.g., portioning into two blocks, e.g., of equal size). The encoder 10 may therefore not be required to encode a syntax element for the partition mode. The encoder 10 may signal a partition mode for a first block (e.g., of a group 30 of blocks), wherein the partition may be reuse for following blocks (e.g., for remaining blocks of the group 30 of blocks). The encoder 10 may be configured to encode a flag, which indicates whether the partition mode may be reused (e.g., instead of signaling the partition mode, which may require more bits to transmit). Alternatively, reusing the partition mode until a certain block (e.g., last block of a group 30 of blocks) may be implied and no signaling of the partition mode of whether to reuse a partition mode may be required for the remaining blocks (e.g., for the temporal blocks 140 of the next group of temporal blocks 30).
[0105] The encoder 10 may be configured to encode a high level syntax element (e.g., a flag, e.g., a group-wise syntax element, e.g., a second syntax element) that indicates whether (e.g., whether or not) a variation of the block size of the temporal coding blocks 46 of the timevarying signal (e.g., whether or not and / or according to which partitioning mode temporal blocks are partitioned with) is signaled (e.g., by a low level syntax element, e.g., a first syntax element) in the data stream 16 block wise (e.g., per temporal block) or per group of blocks 30 (e.g., per group of temporal blocks), if the high level syntax element indicates that a variation of the block size of the temporal coding blocks 140 of the time-varying signal 14 is signaled in the data stream 16 block wise, signalize (e.g., encode information, e.g., a syntax element, that indicates) the block sizes of the temporal coding blocks 46 block wise in the data stream 16 (e.g., based on a low level syntax element signaled for each temporal block), or if the high level syntax element indicates that a variation of the block size of the temporal coding blocks 46 of the time-varying signal 14 is signaled in the data stream 16 per group of blocks, signalize (e.g., encode information, e.g., a syntax element, that indicates) the block sizes of the temporal coding blocks per group of blocks in the data stream 16 (e.g., based on a low level syntax element signaled for each group of blocks).
[0106] FH260309PCT-2026097795.DOCXfeFor example, the encoder 10 may be configured to encode a high level syntax element for a group 30 of temporal blocks 140 (e.g., as shown in fig. 3b), which indicates that all temporal blocks 140 of group 30 of temporal blocks 140 are partitioned into equally sized temporal coding blocks 46. For example, the high level syntax element may indicate that the block size varies per group of blocks. The high level syntax element may also define (or include) the partition mode or indicate that the partition mode signaled for the first block (e.g., a low level syntax element) is also to be applied to the remaining temporal blocks of the group 30 of temporal blocks. As a result, low level syntax element for the remaining temporal blocks 140 may not have to be signaled.
[0107] For example, the encoder 10 may be configured to encode a high level syntax element for the group 30 of temporal blocks 140 (e.g., as shown in fig. 3b), which indicates that the temporal blocks 140 of group 30 of temporal blocks 140 are partitioned differently and that the block size may therefore vary for each temporal coding blocks 46. For example, the high level syntax element may indicate that the block size varies per temporal block 140. In such a case, the encoder 10 may be configured to encode a low level syntax element temporal block wise, such that for each temporal block it is signaled whether the respective block is partitioned (e.g., such that a size of the temporal coding block 46 may subsequently vary).
[0108] The encoder 10 may be configured to encode the low level syntax element and / or high level syntax element using context-adaptive binary arithmetic coding, CABAC. For example, in the case of block-wise signaling of the low level syntax element, performing a partitioning dependent on a previous partitioning increases the probability of similar low level syntax elements, which can result in an increased symbol probability from which CABAC can benefit.
[0109] Fig. 5a shows a diagram of a method 100 for encoding a (e.g., digital) time-varying signal (e.g., a biomedical signal, a geophysical signal, or acoustic signal) into a data stream in units of temporal coding blocks (e.g., defining a linear array of samples) of varying size (e.g., of varying sample number).
[0110] The method comprises, in step 102, encoding a currently to be encoded portion of the timevarying signal in a manner partitioned into one or more temporal coding blocks (e.g., having the same size or having different sizes) which depends on a temporal coding block partitioning at which a (e.g., in a coding order) previously encoded portion of the time-varying
[0111] FH260309PCT-2026097795.DOCXfesignal is encoded in the data steam (e.g., whether the previously encoded portion has been encoded in one portion or more than one portion).
[0112] The method 100 may include any feature or functionality disclosed herein with reference to any encoder 10. The method 100 may include one or more of storing, transmitting and decoding the data stream 16.
[0113] Further is provided a decoder (e.g., any decoder 12 disclosed herein) which is configured to decode a data stream 16 encoded by any encoder 10 described herein.
[0114] According to a further aspect is provided an encoder 10 for encoding a (e.g., digital) timevarying signal 14 (e.g., a biomedical signal, a geophysical signal, or acoustic signal) into a data stream 16 in units of temporal coding blocks 46 of varying size (e.g., as a result of a varying temporal coding block partitioning, e.g., as a result of temporal blocks being partitioned or not). The encoder 10 is configured to encode a high level syntax element 54 (e.g., a flag, at the beginning of the data stream 16, e.g., a group-wise syntax element, e.g., in a header of the group of temporal blocks, e.g., a second syntax element) that indicates whether (e.g., whether or not) a variation of the block size of the temporal coding blocks 46 of the time-varying signal (e.g., whether or not and / or according to which partitioning mode temporal blocks are partitioned with) is signaled (e.g., by a low level syntax element 56, e.g., a first syntax element) in the data stream 16 block wise (e.g., per temporal block 140) or per group 30 of blocks (e.g., per group of temporal blocks), and if the high level syntax element indicates that a variation of the block size of the temporal coding blocks of the timevarying signal is signaled in the data stream block wise, signalize (e.g., encode information, e.g., a syntax element, that indicates) the block sizes of the temporal coding blocks block wise in the data stream (e.g., based on a low level syntax element signaled for each temporal block), or if the high level syntax element indicates that a variation of the block size of the temporal coding blocks of the time-varying signal is signaled in the data stream per group of blocks, signalize (e.g., encode information, e.g., a syntax element, that indicates) the block sizes of the temporal coding blocks per group of blocks in the data stream (e.g., based on a low level syntax element signaled for each group of blocks).
[0115] Fig. 4 shows a schematic view of an encoder 10 configured to encode a high level syntax element 54. The encoder 10 may comprise any combination of features disclosed with reference to any other encoder 10 disclosed herein.
[0116] FH260309PCT-2026097795.DOCXfeIn a first example indicated in fig. 4 with roman numeral “I”, the high level syntax element 54 indicates that a variation of the block size (e.g., a signaling of a size or partitioning of a block, e.g., temporal block 140) of the temporal coding blocks 46 of the time-varying signal is signaled (e.g., by a low level syntax element 56, e.g., a first syntax element) in the data stream 16 per group 30 of blocks. Therefore, for every group 30 of blocks (e.g., at the beginning of the group 30 as seen in fig. 4, e.g., signaled in a header for the group 30 of blocks), a low level syntax element 56 may indicate the size, e.g., by indicating whether a partitioning is performed, e.g., how the partitioning is performed (e.g., how many temporal coding blocks 46 per partition, e.g., whether or not the temporal coding blocks 46 have the same size).
[0117] In a second example indicated in fig. 4 with roman numeral “II”, the high level syntax element 54 indicates that a variation of the block size (e.g., a signaling of a size or partitioning of a block, e.g., temporal block 140) of the temporal coding blocks 46 of the time-varying signal is signaled (e.g., by a low level syntax element 56, e.g., a first syntax element) in the data stream 16 block-wise (e.g., per temporal block 14). Therefore, for every block in the group 30 of blocks (e.g., at the beginning of the group 30 as seen in fig. 4), a low level syntax element 56 may indicate the size, e.g., by indicating whether a partitioning is performed, e.g., how the partitioning is performed.
[0118] In either case, at the start of the next group 30 of blocks, a new high level syntax element 54 may be signaled that indicates for the next group 30 of blocks, whether a variation of the block size of the temporal coding blocks 46 of the time-varying signal 14 is signaled in the data stream 16 block wise or per group 30 of blocks. The high level syntax element 54 may therefore be signaled per group 30 blocks.
[0119] It is noted that the encoder 10 of fig. 1 and fig. 4 are cover two different aspects. The encoder 10 of fig. 1 essentially defines portioning of a currently to be encoded portion dependent on a partitioning of a previously coded portion. The encoder 10 of fig. 4 essentially defines signaling a granularity of block size variation (e.g., block portioning variation). Since both encoders 10 may have any feature of the other encoder 10, the same reference sign 10 is used. However, the encoder 10 of fig. 4 (which may alternatively be referred to as encoder 10’) does not have to contain all features of the encoder of fig. 1 and vice versa).
[0120] Fig. 5b shows a diagram for a method 200 for encoding a (e.g., digital) time-varying signal 14 (e.g., a biomedical signal, a geophysical signal, or acoustic signal) into a data stream 16
[0121] FH260309PCT-2026097795.DOCXfein units of temporal coding blocks of varying size (e.g., as a result of a varying temporal coding block partitioning, e.g., as a result of temporal blocks being partitioned or not). The method 200 may include features of any encoder 10 disclosed herein (e.g., encoder 10 of fig. 4) and / or any encoding method disclosed herein.
[0122] The method 200 comprises, in step 202, encoding a high level syntax element (e.g., a flag, e.g., a group-wise syntax element, e.g., a second syntax element) that indicates whether (e.g., whether or not) a variation of the block size of the temporal coding blocks of the timevarying signal (e.g., whether or not and / or according to which partitioning mode temporal blocks are partitioned with) is signaled (e.g., by a low level syntax element, e.g., a first syntax element) in the data stream block wise (e.g., per temporal block) or per group of blocks (e.g., per group of temporal blocks), and if the high level syntax element indicates that a variation of the block size of the temporal coding blocks of the time-varying signal is signaled in the data stream block wise, in step 204, signalizing (e.g., encode information, e.g., a syntax element, that indicates) the block sizes of the temporal coding blocks block wise in the data stream (e.g., based on a low level syntax element signaled for each temporal block), or if the high level syntax element indicates that a variation of the block size of the temporal coding blocks of the time-varying signal is signaled in the data stream per group of blocks, in step 206, signalizing (e.g., encode information, e.g., a syntax element, that indicates) the block sizes of the temporal coding blocks per group of blocks in the data stream (e.g., based on a low level syntax element signaled for each group of blocks).
[0123] The methods 100 and 200 may comprise one or more of storing the data stream 16, transmitting the data stream 16, and receiving the data stream 16.
[0124] The methods 100 and 200 may comprise any feature or functionality described with reference to any encoder 10 described herein.
[0125] Fig. 6 shows a schematic view of a decoder 12 for decoding a time-varying signal 14.
[0126] According to a further aspect is provided a decoder 12 for decoding a (e.g., digital) timevarying signal 14 (e.g., a biomedical signal, a geophysical signal, or acoustic signal) from a data stream 16 in units of temporal coding blocks 46 of varying size (e.g., as a result of a varying temporal coding block partitioning, e.g., as a result of temporal blocks being partitioned or not). The decoder 12 is configured to decode a high level syntax element 54 (e.g., a flag, e.g., a group-wise syntax element, e.g., a second syntax element) that indicates
[0127] FH260309PCT-2026097795.DOCXfewhether (e.g., whether or not) a variation of the block size of the temporal coding blocks 46 of the time-varying signal 14 (e.g., whether or not and / or according to which partitioning mode temporal blocks are partitioned with) is signaled (e.g., by a low level syntax element 56, e.g., a first syntax element) in the data stream block wise (e.g., per temporal block 140) or per group of blocks (e.g., per group 30 of temporal blocks), and if the high level syntax element indicates that a variation of the block size of the temporal coding blocks 48 of the time-varying signal is signaled in the data stream 16 block wise, determine the block sizes of the temporal coding blocks 46 based on a block wise signalization in the data stream 16 (e.g., based on a low level syntax element 56 signaled for each temporal block), or if the high level syntax element 54 indicates that a variation of the block size of the temporal coding blocks 46 of the time-varying signal 14 is signaled in the data stream 16 per group 30 of blocks, determine the block sizes of the temporal coding blocks based on a signalization per group of blocks in the data stream (e.g., based on a low level syntax element signaled for each group of blocks).
[0128] The decoder 10 may comprise any decoder-side feature corresponding to any encoder feature disclosed herein.
[0129] In case of the high level syntax element 54 indicates that a variation of the block size of the temporal coding blocks 48 of the time-varying signal is signaled in the data stream 16 block wise, the decoder 12 may be configured to expect (e.g., parse, read) the a low level syntax element 54 for each respective temporal coding block 46 that indicates the block size of the respective temporal coding block 46. In case of the high level syntax element 54 indicates that a variation of the block size of the temporal coding blocks 46 of the time-varying signal 14 is signaled in the data stream 16 per group 30 of blocks, the decoder 12 may be configured to not expect (e.g., skip parsing) a low level syntax element 54 for each respective temporal coding block 46 that indicates the block size of the respective temporal coding block 46 (e.g., for each respective temporal coding block 46 of the group 30 of blocks starting from a first or second temporal coding block 46, e.g., depending on whether the block size is signaled before or with the first temporal coding block 46).
[0130] According to a further aspect, a method for decoding is provided, wherein the method is performed by the decoder 12 described above.
[0131] Fig. 7 shows a flow diagram of a method 300 for decoding a time-varying signal 14 from a data stream 16 in units of temporal coding blocks 46 of varying size.
[0132] FH260309PCT-2026097795.DOCXfeThe method 300 comprises, in step 302, decoding a high level syntax element 54 that indicates whether a variation of the block size of the temporal coding blocks 46 of the timevarying signal 14 is signaled in the data stream 16 block wise or per group of blocks, and, in step 304, if the high level syntax element 54 indicates that a variation of the block size of the temporal coding blocks 46 of the time-varying signal 14 is signaled in the data stream 16 block wise, determining the block sizes of the temporal coding blocks 46 based on a block wise signalization in the data stream 16, or , in step 306, if the high level syntax element 54 indicates that a variation of the block size of the temporal coding blocks 46 of the time-varying signal 14 is signaled in the data stream 16 per group of blocks, determining the block sizes of the temporal coding blocks 46 based on a signalization per group of blocks in the data stream 16.
[0133] According to a further aspect is provided a data stream 16 (e.g., stored on a computer-readable storage medium, e.g., non-transitory storage medium) encoded using the method according to any encoding method (e.g., method 100 or method 200, e.g., performed by any encoder 10) described herein.
[0134] According to a further aspect is provided a computer program product (e.g., stored on a computer-readable storage medium, e.g., non-transitory storage medium) for implementing any method (e.g., for decoding or encoding) disclosed herein when being executed on a computer or signal processor. For example, the computer program product (e.g., computer program) may comprise instructions that are executable on a computing device, e.g., processor.
[0135] To address the above-noted issue of runtime intensive block encoding (e.g., or other issues, e.g., related to coding complexity), the following is exemplarily proposed (any of the following features may be combined in any combination or in isolation with any encoder or decoder disclosed herein):
[0136] ■ temporal reuse of split on / off decisions (e.g., or any other information related to a portioning, e.g., number of temporal coding blocks 46, e.g., recursive partitioning) previously carried out in a block (e.g., previously coded portion 48j.i, e.g., previously coded temporal block), e.g., for given channel c (e.g., channel 92) or all available channels c -e C, e.g., in the coded waveform sequence or channel group (e.g., time-varying signal 14, e.g., within a group 30 of blocks), during the encoding of at least the next block (e.g., currently to be encoded portion 48j, e.g., currently to be encoded temporal block) in same c resp. c -e C
[0137] FH260309PCT-2026097795.DOCXfeand / or in other channels encoded, e.g., after the currently encoded channels (i. e. reuse of split decisions across time & channel, e.g., as described with reference to fig. 3a) For example, an encoder 10 for encoding a time-varying signal 14 into a data stream 16 in units of temporal coding blocks 46 of varying size, is configured to encode a currently to be encoded portion 48; of the time-varying signal 14 in a manner partitioned into one or more temporal coding blocks 46 which depends on a temporal coding block partitioning 50 at which a previously encoded portion 48M of the time-varying signal is encoded in the data steam.
[0138] ■ block-group operation of the above temporal reuse strategy, such that the reuse approach (e.g., reuse of a partitioning mode) is, e.g., restarted aftera certain number of blocks, referred to as block-group or frame hereafter (e.g., group 30 of blocks, e.g., group 30 of temporal blocks 140); the block-group may comprise at least two blocks or, accordingly, more than two subblocks, up to a large number of blocks which may also represent an Intra (or random-access) period (e.g., defined by random access-channel borders 96, 98). For example, an encoder 10 for encoding a time-varying signal 14 into a data stream 16 in units of temporal coding blocks 16 of varying size, is configured to encode a high level syntax element 54 that indicates whether a variation of the block size of the temporal coding blocks 46 of the time-varying signal 14 is signaled in the data stream 16 block wise or per group of blocks, and if the high level syntax element 54 indicates that a variation of the block size of the temporal coding blocks of the time-varying signal 14 is signaled in the data stream 16 block wise, signalize the block sizes of the temporal coding blocks block wise in the data stream, or if the high level syntax element 54 indicates that a variation of the block size of the temporal coding blocks 46 of the time-varying signal 14 is signaled in the data stream 16 per group of blocks, signalize the block sizes of the temporal coding blocks 46 per group of blocks in the data stream 16.
[0139] In other words, encoder speed-up is achieved, e.g., by reusing block partitioning information (e.g., whether to partition, e.g., reusing a partition mode or one or more parameters thereof) and respective decisions from one block location in following, in across-time or across-channel-group coding order, blocks of a given block-group or frame or Intra period, with little performance loss. Detailed preferred embodiments for each of the above two aspects are outlined in the following (e.g., in the description above and the claims below).
[0140] The disclosure herein may comprise or realize fast encoding in biomedical waveform coding with block partitioning.
[0141] FH260309PCT-2026097795.DOCXfeThe above description is extended in the following by the presentation of implementation examples. 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 examples 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. 8 which shows an encoder for encoding a multi-channel digital signal 14 into a datastream 16 as well as decoder 12 for decoding the multi-channel digital signal 14 from datastream 16. This description of Fig. 8 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 examples described subsequently or even any of the claimed subject matters is combined with the decoder 12 or encoder 10 of Fig. 8 either by adopting all details / functionalities described with respect to Fig. 8 or with leaving-out some of the details / functionalities described with respect to Fig. 8. Sometimes such “optional” features of Fig. 8 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 pre-viously / subsequently explained embodiments with the description of Fig. 8 shall not be restricted to the these explicitly identified variations of Fig. 8 in terms of leaving-out certain features.
[0142] In Fig. 8, 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. 8 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. 8 at 24.
[0143] Each channel, thus, forms a digital time-varying signal or time / amplitude or time-to-ampli-tude 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
[0144] FH260309PCT-2026097795.DOCXfechannel / 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.
[0145] Fig. 8 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. 8 for domain 28 is denoted as 32. Note that the channel 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 per-mute / 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.
[0146] The module in encoder 10 performing the one or more of channel transformation, channel permutation and temporal mutual alignment is indicated in Fig. 8 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 / de-lays 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-align-ment of the source channels or coded channels. Note, that if no channel transformation
[0147] FH260309PCT-2026097795.DOCXfetakes 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.
[0148] Thus, the “actual coding” relates to the coded channels in domain 28. In the coded domain 28, the coded channels are depicted in Fig. 8 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. 8 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 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. 8, 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.
[0149] 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 colocated. The coding is done sequentially along these blocks 140, by following a coding / de-coding 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. 8 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.
[0150] 8 by way of shading. In this regard, note that in Fig. 8, merely one temporal block 140 has been illustrated explicitly in order to reduce the complexity of Fig. 8. Thus, in the specifica-
[0151] FH260309PCT-2026097795.DOCXfetion herein, reference sign 140 is sometimes used to indicate the currently encoded / de-coded temporal block or to stand representatively for all temporal blocks. Further, as depicted in Fig. 8, 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-overlap-ping.
[0152] 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 datastream 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 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 datastream 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 one-dimensional transform signaled in the data stream as described hereinbelow.
[0153] 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
[0154] FH260309PCT-2026097795.DOCXfefrom 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 cod-ing / decoding order 60 so as to reconstruct the coded channels in the coded domain 28.
[0155] 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 inter-channel 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.
[0156] 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.
[0157] 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. 8. In a variant, the restriction is not valid for all en / decoding stages. For instance, while the grouping might hold true for
[0158] FH260309PCT-2026097795.DOCXfeprediction, 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.
[0159] 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. 8. Note that the restriction of inter-channel dependencies might be differently and is 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.
[0160] 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 en-coded / 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.
[0161] FH260309PCT-2026097795.DOCXfeIt 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. 8. 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, re-constructed / 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 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.
[0162] 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
[0163] FH260309PCT-2026097795.DOCXfepredictor 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.
[0164] 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.
[0165] It should be noted that the temporal blocks 30 might, other than illustrated in Fig.5, vary in block length rather than being of a constant length as depicted in Fig. 8. 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.
[0166] As to the residual coderand 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
[0167] FH260309PCT-2026097795.DOCXfe80 and its re-transform may only cover residual signal 76 within block 140, and / or may be non-windowed, 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 re-transformation 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.
[0168] 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 the transform coefficients may be conducted by multiplying the coded quantization 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.
[0169] 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
[0170] FH260309PCT-2026097795.DOCXfedirectly 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 . 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.
[0171] 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.
[0172] FH260309PCT-2026097795.DOCXfeSome 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.
[0173] 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 sample-wise in time domain.
[0174] 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 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 samplewise 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.
[0175] 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
[0176] FH260309PCT-2026097795.DOCXfegroup 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, 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. 8 by bold lines may represent a sequence of an independent frame flowed by zero, one or more dependent frames.
[0177] As mentioned before, Fig. 8 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. 8, 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.
[0178] The description is now resumed with respect to the announced subsequently described implementation examples and further embodiments where the digital time-varying signal is not restricted to be a channel of a multi-channel signal or to be a multi-channel signal, but where same may only be a single digital scalar signal.
[0179] Further Remarks:
[0180] FH260309PCT-2026097795.DOCXfeAlso, 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.
[0181] 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.
[0182] 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”.
[0183] Implementation alternatives:
[0184] 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 computer system such that the respective method is performed. Therefore, the digital storage medium may be computer readable.
[0185] 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.
[0186] 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.
[0187] Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.
[0188] FH260309PCT-2026097795.DOCXfeIn 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.
[0189] 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.
[0190] 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.
[0191] 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.
[0192] A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.
[0193] 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.
[0194] 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.
[0195] FH260309PCT-2026097795.DOCXfeThe 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.
[0196] The apparatus described herein, or any components of the apparatus described herein, may be implemented at least partially in hardware and / or in software.
[0197] 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.
[0198] The methods described herein, or any components of the apparatus described herein, may be performed at least partially by hardware and / or by software.
[0199] 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.
[0200] The description is now resumed with respect to the announced subsequently described embodiments / claims.
[0201] FH260309PCT-2026097795.DOCXfe
Claims
42Claims1. Encoder (10) for encoding a time-varying signal (14) into a data stream (16) in units of temporal coding blocks (46) of varying size, configured toencode a currently to be encoded portion (48j) of the time-varying signal (14) in a manner partitioned into one or more temporal coding blocks (46) which depends on a temporal coding block partitioning (50) at which a previously encoded portion (48j.i) of the timevarying signal is encoded in the data steam.
2. Encoder (10) according to claim 1,wherein the time-varying signal (14) comprises multiple channels (92), and the previously encoded portion (48j.i) is located in the same channel (92) as the currently to be encoded portion (48j), in a different channel (92) as the currently to be encoded portion (48j) and temporally preceding the previously encoded portion (48j.i), orin a different channel (92) as the currently to be encoded portion (48j) and temporally co-located to the currently to be encoded portion (48j).
3. Encoder (10) according to claim 1 or 2, configured toselect a size (52) for each currently to be encoded portion (48j).
4. Encoder (10) according to any of claims 1 to 3,wherein the time-varying signal (14) comprises temporal blocks of a common predetermined size and the currently to be encoded portion (48j) is formed by one temporal coding block (46) or a not yet encoded portion thereof.
5. Encoder (10) according to any of the previous claims, configured toencode the currently to be encoded portion (48j) of the time-varying signal (14) in a manner partitioned into more than one temporal coding blocks (46), if the previously encoded portion (48j.i) of the time-varying signal (14) is encoded in more than one temporal coding blocks (46).
6. Encoder (10) according to any of the preceding claims, configured to determine a partitioning mode for the currently to be encoded portion (48j) depending on a partitioning mode by way of which the previously encoded portion (48j.i) is encoded.
7. Encoder (10) according to any of the preceding claims,FH260309PCT-2026097795.DOCXfe43wherein the encoder supports more than two block sizes.
8. Encoder (10) according to claim 7, wherein the encoderconfigured to perform recursive partitioning of the currently to be encoded portion (48j) with more than one partitioning hierarchy.
9. Encoder (10) according to any of the preceding claims,configured to operate in groups of blocks by encoding a, in a coding order, leading portion of the time-varying signal (14), at which the group of blocks begins, a rate-distortion optimized optimal block partitioning and encoding the leading portion using the optimal block partitioning to obtain a coded version of a first block of the group of blocks, and encoding a subsequent portion of the time-varying signal (14) covered by subsequent blocks of the group of blocks, following the first block in the coding order, in a manner partitioned into one or more temporal blocks which depends on the optimal temporal block partitioning.
10. Encoder (10) according to claim 9,wherein the blocks of the group (30) of blocks have a constant temporal size.
11. Encoder (10) according to any of the preceding claims, configured toencode, for each currently to be encoded portion (48j), a low level syntax element (56) that indicates whether the currently to be encoded portion (48j) of the time-varying signal (14) is encoded in a manner partitioned into one or more temporal coding blocks (46).
12. Encoder (10) according to any of the preceding claims, configured toencode a high level syntax element (54) that indicates whether a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) block wise or per group of blocks,if the high level syntax element (54) indicates that a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) block wise, signalize the block sizes of the temporal coding blocks (46) block wise in the data stream, orif the high level syntax element (54) indicates that a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) per group of blocks, signalize the block sizes of the temporal coding blocks (46) per group of blocks in the data stream (16).FH260309PCT-2026097795.DOCXfe4413. Encoder (10) according claim 11 or 12, configured toencode the low level syntax element (56) and / or high level syntax element (54) using context-adaptive binary arithmetic coding, CABAC.
14. Method (100) for encoding a time-varying signal (14) into a data stream (16) in units of temporal coding blocks (46) of varying size, the method comprisingencoding a currently to be encoded portion (48j) of the time-varying signal (14) in a manner partitioned into one or more temporal coding blocks (46) which depends on a temporal coding block partitioning (50) at which a previously encoded portion (48j.i) of the timevarying signal (14) is encoded in the data steam.
15. Encoder (10) for encoding a time-varying signal (14) into a data stream (16) in units of temporal coding blocks (46) of varying size,wherein the encoder is configured toencode a high level syntax element (54) that indicates whether a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) block wise or per group of blocks, andif the high level syntax element (54) indicates that a variation of the block size of the temporal coding blocks of the time-varying signal (14) is signaled in the data stream (16) block wise, signalize the block sizes of the temporal coding blocks block wise in the data stream, orif the high level syntax element (54) indicates that a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) per group of blocks, signalize the block sizes of the temporal coding blocks (46) per group of blocks in the data stream (16).
16. Method (200) for encoding a time-varying signal (14) into a data stream (16) in units of temporal coding blocks (46) of varying size,wherein the method (200) comprisesencoding a high level syntax element (54) that indicates whether a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) block wise or per group of blocks, andif the high level syntax element (54) indicates that a variation of the block size of the temporal coding blocks of the time-varying signal (14) is signaled in the data stream (16) block wise, signalizing the block sizes of the temporal coding blocks (46) block wise in the data stream (16), orFH260309PCT-2026097795.DOCXfeif the high level syntax element (54) indicates that a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) per group of blocks, signalizing the block sizes of the temporal coding blocks (46) per group of blocks in the data stream (16).
17. Decoder (12) for decoding a time-varying signal (14) from a data stream (16) in units of temporal coding blocks (46) of varying size,wherein the decoder is configured todecode a high level syntax element (54) that indicates whether a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) block wise or per group of blocks, andif the high level syntax element (54) indicates that a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) block wise, determine the block sizes of the temporal coding blocks (46) based on a block wise signalization in the data stream (16), orif the high level syntax element (54) indicates that a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) per group of blocks, determine the block sizes of the temporal coding blocks (46) based on a signalization per group of blocks in the data stream (16).
18. Method (300) for decoding a time-varying signal (14) from a data stream (16) in units of temporal coding blocks (46) of varying size,wherein the method comprisesdecoding (302) a high level syntax element (54) that indicates whether a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) block wise or per group of blocks, andif the high level syntax element (54) indicates that a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) block wise, determining (304) the block sizes of the temporal coding blocks (46) based on a block wise signalization in the data stream (16), orif the high level syntax element (54) indicates that a variation of the block size of the temporal coding blocks (46) of the time-varying signal (14) is signaled in the data stream (16) per group of blocks, determining (306) the block sizes of the temporal coding blocks (46) based on a signalization per group of blocks in the data stream (16).
19. Data stream (16) encoded using the method according to one of claims 14 and 16.FH260309PCT-2026097795.DOCXfe20. Computer program product for implementing the method of one of claims 14, 16, and 18 when being executed on a computer or signal processor.FH260309PCT-2026097795.DOCXfe