Abstract: An encoder for hybrid video coding, the encoder for providing an encoded representation of a video sequence on the basis of an input video content, and the encoder configured to: determine one or more syntax elements related to a portion of the video sequence; select a processing scheme to be applied to the portion of the video sequence based a property described by on the one or more syntax elements, the processing scheme for obtaining a sample for a motion-compensated prediction at an integer and/or fractional location within the portion of the video sequence; encode an index indicating the selected processing scheme such that a given encoded index value represents different processing schemes depending on the property described by the one or more syntax elements; and provide, as the encoded representation of the video sequence, a bit stream comprising the one or more syntax elements and the encoded index.
Encoders, decoders, methods, and video bit streams, and computer programs for hybrid video coding
Description
Technical field
Embodiments according to the invention are related to encoders and decoders for hybrid video coding. Further embodiments according to the invention are related to methods for hybrid video coding. Further embodiments according to the invention are related to video bit streams for hybrid video coding.
Background of the invention
All modern video coding standards employ motion-compensated prediction (MCP) with frac-tional-sample accuracy of the motion vectors (MVs). In order to obtain the sample values of the reference picture at fractional-sample positions, interpolation filtering is used.
In the High-Efficiency Video Coding (HEVC) standard, which uses a motion vector accuracy of a quarter luma sample, there are 15 fractional luma sample positions which are calculated using various 1-dimensional finite impulse response (FIR) filters. However, for each frac-tional-sample position the interpolation filter is fixed.
Instead of a having a fixed interpolation filter for each fractional-sample position, it is possi-ble to select an interpolation filter for each fractional-sample position from a set of interpo-lation filters. Approaches which allow switching between different interpolation filters at slice level include Non-separable Adaptive Interpolation Filter (AIF) [1], Separable Adaptive In-terpolation Filter (SAIF) [2], Switched Interpolation Filtering with Offset (SIFO) [3], and En-hanced Adaptive Interpolation Filter (EAIF) [4], Either the interpolation filter coefficients are explicitly signaled per slice (as in AIF, SAIF, EAIF), or it is indicated which interpolation filters out of a set of pre-determined interpolation filters is used (as in SIFO).
The current draft of the upcoming Versatile Video Coding (WC) standard [5] supports so-called Adaptive Motion Vector Resolution (AMVR). Using AMVR, the accuracy of both the motion vector predictor (MVP) and the motion vector difference (MVD) can be selected jointly among the following possibilities:
- Quarter-sample (OPEL): Motion vector accuracy of a quarter luma sample;
- Full-sample (FPEL): Motion vector accuracy of a luma sample;
- 4-sample (4PEL): Motion vector accuracy of four luma samples.
For selecting the desired accuracy, an additional syntax element is transmitted in the bit stream. The indicated accuracy applies to both list0 and list1, in case of bi-prediction. AMVR is not available in skip and merge mode. Furthermore, AMVR is not available if all MVDs are equal to zero. In case any other accuracy than OREL is used, the MVP is first rounded to the specified accuracy, before adding the MVD in order to obtain the MV.
Some embodiments of the present disclosure may implement one or more of the above mentioned concepts or may be usable in the context thereof. For example, embodiments may implement the HEVC or the WC standard and may use AMVR and the above de-scribed MV accuracies.
There is a desire for a concept for encoding, decoding and transmitting video data, which provides an improved tradeoff between bit rate, complexity, and achievable quality of hybrid video coding.
Summary of the invention
An aspect of the present disclosure relates to an encoder for hybrid video coding (e.g., video coding with prediction and transform coding of the prediction error), the encoder for provid-ing an encoded representation of a video sequence on the basis of an input video content, and the encoder configured to: determine one or more syntax elements (e.g., a motion vec-tor accuracy syntax element) related to a portion (e.g., a block) of the video sequence; select a processing scheme (e.g., an interpolation filter) to be applied (e.g., by a decoder) to the portion of the video sequence based a property (e.g. a decoder setting signaled by one or more syntax elements or a characteristic of a portion of the video sequence signaled by the one or more syntax elements) described by on the one or more syntax elements, the processing scheme for obtaining a sample for a motion-compensated prediction (e.g., re-lated to the video sequence, e.g. a sample, e.g., a fractional sample) at an integer and/or fractional location within the portion of the video sequence; encode an index indicating the selected processing scheme (e.g., in dependence on the one or more syntax elements) such that a given encoded index value represents (e.g., is associated with) different pro-cessing schemes depending on the property described by the one or more syntax elements (e.g., depending on values of the one or more syntax elements); and provide (e.g., transmit, upload, save as a file), as the encoded representation of the video sequence, a bit stream comprising the one or more syntax elements and the encoded index.
Selecting the processing scheme to be applied to the portion based on the property of the portion, allows for adapting the applied processing scheme to the portion, for example ac-cording to characteristics of the portion. For example, different processing schemes may be selected for different portions of the video sequence. For example, a specific processing scheme may be particularly beneficial for encoding a portion with a given property, as the specific processing scheme may be adapted for facilitating a particularly efficient encoding and/or for facilitating a particularly high quality of the encoded representation of the portion with the given property. Thus, selecting the processing scheme in dependence on the prop-erty of the portion (wherein, for example, a set of possible processing schemes may be adapted to the property of the portion) may simultaneously enhance the overall efficiency and quality of the encoding of the video sequence. An efficiency of the encoding may refer to a low computational effort of the encoding or may refer to a high compression rate of the encoded information.
By providing the encoded index that indicates the selected processing scheme, a proper decoding of the portion may be ensured. As a given value of the encoded index may, in dependence on the property of the portion, represent different processing schemes, the encoder may adapt the encoding of the index according to the property. For example, a number of possible values of the encoded index may be limited to a number of processing schemes that are applicable to the portion having the property. Thus, the encoded index may require a low number of bits (which may, for example, be adapted to a number of processing schemes selectable in view of an actual property of the currently considered portion), even if a total number of selectable processing schemes (e.g. associated with dif-ferent properties) is large. Thus, the encoder may exploit the knowledge about the property of the portion, which is available to the encoder by determining the one or more syntax elements, for efficiently encoding the index. The combination of selecting the processing scheme according to the property (wherein the property may reduce the number of possible processing schemes for a currently considered portion when compared to a total number of different processing schemes available) and encoding the index in dependence on the prop-erty may therefore enhance an overall efficiency of the encoding although the selected pro-cessing scheme may be indicated in the bit stream.
According to an embodiment, the encoder is configured to adapt a mapping rule mapping an index value onto an encoded index value in dependence on the property described by the one or more syntax elements. Adapting the mapping rule in dependence on the property may ensure, that the index may be encoded so that a given encoded index value represents different processing schemes depending on the property.
According to an embodiment, the encoder is configured to adapt a number of bins used for providing the encoded index indicating the selected processing scheme depending on the property described by the one or more syntax elements. Thus, the encoder may adapt the number of bins to a number of processing schemes that are allowable for the property, so that the encoder may use a small number of bins, if a small number of processing schemes is allowable for the property, thus reducing the size of the bit stream.
According to an embodiment, the encoder is configured to determine a set of processing schemes allowable in view of the property described by the one or more syntax elements and select a processing scheme from the determined set. By determining the set of allow-able processing schemes in view of the property, the encoder may infer information about the selectable processing schemes from the one or more syntax elements. Thus, the en-coder uses information that is already available from determining the one or more syntay elements for selecting the processing scheme, therefore increasing an efficiency of the en-coding. Further, relying on the set of processing schemes for selecting the processing scheme may limit the number of allowable processing schemes to the set of processing schemes, such enabling an encoding of the index into a small sized of the encoded index.
According to an embodiment, the encoder is configured to determine whether a single pro-cessing scheme is allowable for the portion of the video sequence and selectively omit the inclusion of an encoded index in response to the finding that only a single processing scheme (e.g. spatial filter or interpolation filter) is allowable for the portion of the video se-quence. Thus, the encoder may infer, e.g. from the property of the portion, that a single processing scheme is allowable for the portion and select the single processing scheme as the processing scheme to be applied to the portion. Omitting the inclusion of the encoded index in the bit stream may reduce a size of the bit stream.
According to an embodiment, the encoder is configured to select a mapping rule mapping an index value onto an encoded index value such that a number of bins representing the encoded index value is adapted to a number of processing schemes allowable for the por-tion of the video sequence. Thus, the encoder may adapt the number of bins to a number of processing schemes that are allowable for the portion, so that the encoded index may have a small number of bins, if a small number of processing schemes is allowable for the portion, thus reducing the size of the bit stream.
According to an embodiment, in the encoder, the processing scheme is a filter (e.g., an interpolation filter) or a set of filters (e.g., interpolation filters) (e.g. parameterized by frac-tional part of motion vector).
According to an embodiment, in the encoder, the filters in the set of filters are separably applicable (e.g., one-dimensional filters which are sequentially applicable in the spatial di-rections, e.g., an x direction and/or a y direction) to the portion of the video sequence. Thus, the filters may be selected individually, increasing the flexibility for selecting the filters, so that the set of filters may be adapted very accurately to the property of the portion.
According to an embodiment, the encoder is configured to select different processing schemes (e.g., different interpolation filters) for different blocks (e.g., different prediction unit PU and/or coding unit CU and/or a coding tree unit CTU) within a video frame or picture (different interpolation filters for same fractional sample positions in different parts of a video sequence or in different parts of a single video frame or picture). Thus, the selection of the processing scheme may consider the individual properties of the different blocks, therefore facilitating an enhancement of an encoding of the block, or a coding efficiency, or a reduc-tion of a size of the bit stream.
According to an embodiment, the encoder is configured to encode the index indicating the selected processing scheme (e.g., in dependence on the one or more syntax elements) such that a given encoded index value represents (e.g., is associated with) different pro-cessing schemes depending on a motion vector accuracy (which may, for example, be sig-naled using a syntax element in the bit stream and which may, for example, take one out of the following values: QPEL, HPEL.FPEL, 4PEL). Thus, the encoding of the index may de-pend on the MV accuracy, for example on the number of processing schemes that are al-lowable for the MV accuracy. As for some setting of the MV accuracy the number of allow-able processing schemes may be smaller than for others, this is an efficient way to reduce a size of the bit stream.
According to an embodiment, in the encoder, the one or more syntax elements comprise at least one of a motion vector accuracy (e.g., quarter-sample, half-sample, full-sample), a fractional sample position, a block size, a block shape, a number of prediction hypotheses (e.g., one hypothesis for an uni-prediction, two hypotheses for a bi-prediction), a prediction mode (e.g., translational inter, affine inter, translational merge, affine merge, combined in-ter/intra), an availability of a coded residual signal (e.g., a coded block flag), spectral prop-erties of the coded residual signal, a reference picture signal (e.g., a reference block defined by motion data, block edges from collocated prediction units PUs inside a reference block, high or low frequency characteristics of the reference signal), loop filter data (e.g., an edge offset or band offset classification from a sample adaptive offset filter SAO, a deblocking filter decisions and boundary strengths), motion vector lengths (e.g. only enable additional
smoothing filters for long motion vectors or for a specific direction), or an adaptive motion vector resolution mode.
According to an embodiment, the encoder is configured to encode the index indicating the selected processing scheme (e.g., in dependence on the one or more syntax elements) such that a given encoded index value represents (e.g., is associated with) different pro-cessing schemes depending on a fractional part (or fractional parts) of motion vector (wherein, for example, different encoding schemes are used in dependence on whether all motion vectors of a considered portion point to integer sample positions, e.g. luma sample positions, or not). Thus, the encoder may adapt the encoding of the index to a number of processing schemes that are allowable for the fractional part of the motion vector. As the fractional part of the motion vector may be determined from the portion, this is an efficient way to reduce a size of the bit stream.
According to an embodiment, the encoder is configured to selectively determine a set of processing schemes (e.g. “multi-possibility encoding”) for a motion vector accuracy (e.g. a sub-sample motion vector accuracy, e.g. HPEL) which is between a maximum motion vec-tor accuracy (e.g. a sub-sample motion vector resolution which is finer than the motion vec-tor accuracy mentioned before; e.g. QPEL) and a minimum motion vector accuracy (e.g.
4PEL) or for a motion vector accuracy (e.g. HPEL) which is between a maximum motion vector accuracy (e.g. QPEL) and a full-sample motion vector accuracy (e.g. FPEL) and select processing scheme from the determined set. For example, for the maximum MV ac-curacy, there may be one particularly efficient processing scheme, so that it may be bene-ficial not to determine a set of processing schemes, while for the maximum or the full-sam-ple MV accuracy, selecting a processing scheme may be unnecessary, as possibly none of the selectable processing schemes may be applied. In contrast, for a MV accuracy between the maximum MV accuracy and the a full-sample or minimum MV accuracy, it may be par-ticularly beneficial to adapt the processing scheme to the property of the portion.
According to an embodiment, the encoder is configured to encode an index (processing scheme index, if_idx) for selecting between a first FIR filtering (e.g., an HEVC filtering) (e.g. HEVC 8-tap filtering), a second FIR filtering and a third FIR filtering.
According to an embodiment, the encoder is configured to encode an index (processing scheme index, if_idx) for selecting between a first FIR filtering (e.g., an HEVC filtering) (e.g., HEVC 8-tap filtering) and a second FIR filtering.
According to an embodiment, the encoder is configured to select (e.g., switch) between processing schemes (e.g., interpolation filters) having different characteristics (e.g. stronger low-pass characteristic vs. weaker low-pass characteristic). For example, a processing scheme or filter with a strong low-pass characteristic may attenuate high-frequency noise components, so that a quality of the encoded representation of the video sequence may be enhanced.
According to an embodiment, the encoder is configured to select the mapping rule in de-pendence on a motion vector accuracy and a fractional sample position or fractional part (or fractional parts) of motion vector. Thus, the encoder may adapt the encoding of the index to a number of processing schemes that are allowable for the MV accuracy and a fractional part of the motion vector. As the MV accuracy and the fractional part of the motion vector may be determined from the one or more syntax elements, it may be very efficient to use these properties for determining a number of allowable processing schemes and for select-ing the mapping rule accordingly.
According to an embodiment, the encoder is configured to determine available sets of pro-cessing schemes (e.g. interpolation filters) in dependence on motion vector accuracy.
According to an embodiment, the encoder is configured to select between a quarter-sample motion vector resolution, a half-sample motion vector resolution, a full-sample motion vector resolution and a four-sample motion vector resolution (wherein, for example, the index ele-ment describing a processing scheme or an interpolation filter is selectively included in case a half-sample motion vector resolution is selected and wherein the index element describing the processing scheme is, for example, omitted otherwise).
According to an embodiment, in the encoder, the processing scheme comprises one or more FIR filters. FIR filter are particularly stable filters for processing the video sequence.
Another aspect of the present disclosure relates to an encoder for hybrid video coding (e.g., video coding with prediction and transform coding of the prediction error), the encoder for providing an encoded representation of a video sequence on the basis of an input video content, the encoder configured to determine one or more syntax elements (e.g., a motion vector accuracy syntax element) related to a portion (e.g., a block) of the video sequence; select a processing scheme (e.g., an interpolation filter) to be applied (e.g., by a decoder) to the portion of the video sequence based on a property (e.g. a decoder setting signaled by one or more syntax elements or a characteristic of a portion of the video sequence sig-naled by the one or more syntax elements) described by the one or more syntax elements,
the processing scheme for obtaining a sample for a motion-compensated prediction (e.g., related to the video sequence, e.g. a sample, e.g., a fractional sample) at an integer and/or fractional location within the portion of the video sequence; select an entropy coding scheme used for providing an encoded index indicating the selected processing scheme depending on the property described by the one or more syntax elements (e.g., depending on values of the one or more syntax elements), (wherein, for example, a number of bins prescribed by the entropy coding scheme may be equal to zero if only one processing scheme is allowable in view of the one or more considered syntax elements); and provide (e.g., transmit, upload, save as a file), as the encoded representation of the video sequence, a bit stream comprising the one or more syntax elements and comprising the encoded index (e.g., if the selected number of bins is larger than zero).
Selecting the processing scheme to be applied to the portion based on the property of the portion, provides equivalent functionalities and advantages as described with respect to the previous aspect. Further, selecting the entropy coding scheme depending on the property enables adapting the provision of the encoded index to the property. For example, a number of possible values of the encoded index may be limited to a number of processing schemes that are applicable to the portion having the property. Thus, the encoded index may require a low number of bits or even no bit in the bit stream, even if an overall number of processing schemes that are selectable for different portions is large. Thus, selecting the entropy cod-ing scheme based on a knowledge about the property of the portion, which is available to the encoder by determining the one or more syntax elements, may provide for an efficient providing of the encoded index. Selecting both the process scheme and the entropy encod-ing scheme according to the property therefore may therefore enhance an overall efficiency of the encoding although the selected processing scheme may be indicated in the bit stream.
According to an embodiment, in the encoder, the entropy coding scheme comprises a bi-narization scheme for providing the encoded index. As the entropy coding scheme is se-lected depending on the property, the binarization scheme may be adapted according to the property, so that the binarization scheme may provide for a particularly short represen-tation of the encoded index.
According to an embodiment, in the encoder, the binarization scheme comprises a number of bins to be used for providing the encoded index. Thus, the number of bins used for providing the encoded index may be adapted according to the property, so that the encoder may be capable of selecting a low number of bins or even no bin for providing the encoded index, such providing an efficient encoding.
According to an embodiment, the encoder is configured to adapt a mapping rule mapping an index value onto an encoded index value in dependence on the property described by the one or more syntax elements.
According to an embodiment, the encoder is configured to adapt a number of bins used for providing the encoded index indicating the selected processing scheme depending on the property described by the one or more syntax elements.
According to an embodiment, the encoder is configured to determine a set of processing schemes allowable in view of the property described by the one or more syntax elements and select a processing scheme from the determined set.
According to an embodiment, the encoder is configured to determine whether a single pro-cessing scheme is allowable for the portion of the video sequence and selectively omit the inclusion of an encoded index in response to the finding that only a single processing scheme (e.g. spatial filter or interpolation filter) is allowable for the portion of the video se-quence.
According to an embodiment, the encoder is configured to select a mapping rule mapping an index value onto an encoded index value such that a number of bins representing the encoded index value is adapted to a number of processing schemes allowable for the por-tion of the video sequence.
According to an embodiment, in the encoder, the processing scheme is a filter (e.g., an interpolation filter) or a set of filters (e.g., interpolation filters) (e.g. parameterized by frac-tional part of motion vector).
According to an embodiment, in the encoder, the filters in the set of filters are separably applicable (e.g., one-dimensional filters which are sequentially applicable in the spatial di-rections, e.g., an x direction and/or a y direction) to the portion of the video sequence.
According to an embodiment, the encoder is configured to select different processing schemes (e.g., different interpolation filters) for different blocks (e.g., different prediction unit PU and/or coding unit CU and/or a coding tree unit CTU) within a video frame or picture (different interpolation filters for same fractional sample positions in different parts of a video sequence or in different parts of a single video frame or “picture”).
According to an embodiment, the encoder is configured to encode the index indicating the selected processing scheme (e.g., in dependence on the one or more syntax elements) such that a given encoded index value represents (e.g., is associated with) different pro-cessing schemes depending on a motion vector accuracy (which may, for example, be sig-naled using a syntax element in the bit stream and which may, for example, take one out of the following values: QPEL, HPEL,FPEL, 4PEL).
According to an embodiment, in the encoder, the one or more syntax elements comprise at least one of a motion vector accuracy (e.g., quarter-sample, half-sample, full-sample), a fractional sample position, a block size, a block shape, a number of prediction hypotheses (e.g., one hypothesis for an uni-prediction, two hypotheses for a bi-prediction), a prediction mode (e.g., translational inter, affine inter, translational merge, affine merge, combined in-ter/intra), an availability of a coded residual signal (e.g., a coded block flag), spectral prop-erties of the coded residual signal, a reference picture signal (e.g., a reference block defined by motion data, block edges from collocated prediction units PUs inside a reference block, high or low frequency characteristics of the reference signal), loop filter data (e.g., an edge offset or band offset classification from a sample adaptive offset filter SAO, a deblocking filter decisions and boundary strengths), motion vector lengths (e.g. only enable additional smoothing filters for long motion vectors or for a specific direction), or an adaptive motion vector resolution mode.
According to an embodiment, the encoder is configured to encode the index indicating the selected processing scheme (e.g., in dependence on the one or more syntax elements) such that a given encoded index value represents (e.g., is associated with) different pro-cessing schemes depending on a fractional part (or fractional parts) of motion vector (wherein, for example, different encoding schemes are used in dependence on whether all motion vectors of a considered portion point to integer sample positions, e.g. luma sample positions, or not).
According to an embodiment, the encoder is configured to selectively determine a set of processing schemes (e.g. “multi-possibility encoding”) for a motion vector accuracy (e.g. a sub-sample motion vector accuracy, e.g. HPEL) which is between a maximum motion vec-tor accuracy (e.g. a sub-sample motion vector resolution which is finer than the motion vec-tor accuracy mentioned before; e.g. QPEL) and a minimum motion vector accuracy (e.g.
4PEL) or for a motion vector accuracy (e.g. HPEL) which is between a maximum motion vector accuracy (e.g. QPEL) and a full-sample motion vector accuracy (e.g. FPEL) and select processing scheme from the determined set.
According to an embodiment, the encoder is configured to encode an index (processing scheme index, if_idx) for selecting between a first FIR filtering (e.g., an HEVC filtering) (e.g.
HEVC 8-tap filtering), a second FIR filtering and a third FIR filtering.
According to an embodiment, the encoder is configured to encode an index (processing scheme index, if_idx) for selecting between a first FIR filtering (e.g., an HEVC filtering) (e.g., HEVC 8-tap filtering) and a second FIR filtering.
According to an embodiment, the encoder is configured to select (e.g., switch) between processing schemes (e.g., interpolation filters) having different characteristics (e.g. stronger low-pass characteristic vs. weaker low-pass characteristic).
According to an embodiment, the encoder is configured to select the mapping rule in de-pendence on a motion vector accuracy and a fractional sample position or fractional part (or fractional parts) of motion vector.
According to an embodiment, the encoder is configured to determine available sets of pro-cessing schemes (e.g. interpolation filters) in dependence on motion vector accuracy.
According to an embodiment, the encoder is configured to select between a quarter-sample motion vector resolution, a half-sample motion vector resolution, a full-sample motion vector resolution and a four-sample motion vector resolution (wherein, for example, the index ele-ment describing a processing scheme or an interpolation filter is selectively included in case a half-sample motion vector resolution is selected and wherein the index element describing the processing scheme is, for example, omitted otherwise).
According to an embodiment, in the encoder, the processing scheme comprises one or more FIR filters.
Another aspect of the present disclosure relates to a decoder for hybrid video coding (e.g., video coding with prediction and transform coding of the prediction error), the decoder for providing an output video content on the basis of an encoded representation of a video sequence, the decoder configured to obtain (e.g., receive, download, open from a file) a bit stream as the encoded representation of the video sequence; identify from the bit stream one or more syntax elements (e.g., a motion vector accuracy syntax element) related to a portion (e.g. a block) of the video sequence (and an encoded index); identify a processing scheme (e.g., an interpolation filter, e.g., selected by an encoder) for the portion of the video sequence based on the one or more syntax elements and an index (which may be included in the bit stream in an encoded form), the processing scheme for obtaining a sample for a
motion-compensated prediction (e.g., related to the video sequence, e.g. a sample, e.g., a fractional sample) at an integer and/or fractional location within the portion of the video sequence, wherein the decoder is configured to assign different processing schemes to a given encoded index value depending on the one or more syntax elements (e.g., depending on values of the one or more syntax elements); and apply the identified processing scheme to the portion of the video sequence.
The decoder is based on the idea, to identify a processing scheme for the portion based on the syntax elements and the index, although a given encoded index value representing a value of the index may be associated to various processing schemes. The identification of the processing scheme may be achieved by assigning a processing scheme to the encoded index value in dependence on the syntax element. Thus, the decoder may use information provided by the syntax elements for identifying the processing scheme from the different processing schemes that may be associated to the encoded index value. As a given en-coded index value may be assigned to several processing schemes, the information density of the bit stream may be particularly high and still the decoder may identify the processing scheme.
According to an embodiment, in the decoder, the processing scheme is a filter (e.g., an interpolation filter) or a set of filters (e.g., interpolation filters) (e.g. parameterized by frac-tional part of motion vector).
According to an embodiment, in the decoder, the filters in the set of filters are separably applicable (e.g., one-dimensional filters which are sequentially applicable in the spatial di-rections, e.g., an x direction and/or a y direction) to the portion of the video sequence.
According to an embodiment, the decoder is configured to select (e.g., apply) filters (e.g., interpolation filters) depending on fractional part (or fractional parts) of motion vector (e.g. depending on a fractional part of one or more motion vectors) (e.g. by selecting, for exam-ple, applying, a first filter if a motion vector end point is at a full sample location or is at a full sample location in a direction under consideration, and by selecting, for example, applying, a second filter which is different from the first filter if a motion vector end point lies between full samples or lies between full samples in a direction under consideration).
According to an embodiment, the decoder is configured to select (e.g., apply) different filters (e.g., interpolation filters) for filtering in a first direction (e.g. x) and for filtering in a second direction (e.g. y) depending on fractional part (or fractional parts) of motion vector.
According to an embodiment, the decoder is configured to select (e.g., apply) different filters (e.g. interpolation filters) for filtering in a first direction and for filtering in a second direction such that a stronger low pass filtering is applied for a filtering in a direction in which (one or more or all) fractional part (or fractional parts) of motion vector lie on full samples (e.g. if half-sample accurate motion vector(s) point(s) to full sample location(s)) (when compared to a filtering applied in a direction in which fractional part (or fractional parts) of motion vector lie between full samples).
According to an embodiment, the decoder is configured to select (e.g., apply; e.g. individu-ally per filtering direction) a filter (e.g., an interpolation filter) signaled by a syntax element (e.g. interpolation filter index if_idx) or a predetermined filter in dependence one or more fractional part (or fractional parts) of motion vector (wherein, for example, a filter signaled by a syntax element is selected for a filtering in a first direction, e.g. if one or more fractional part (or fractional parts) of motion vector lie between full samples, e.g. when considering position coordinates of the first direction, and wherein, for example, a predetermined filter is selected for a filtering in a second direction which is different from the first direction, e.g. if all fractional part (or fractional parts) of motion vector lie on full samples, e.g. when con-sidering position coordinates of the second direction).
According to an embodiment, the decoder is configured to select (e.g., apply; e.g. individu-ally per filtering direction) a first filter (e.g. interpolation filter) signaled by a filter syntax ele-ment (e.g. interpolation filter index if_idx) or a second filter signaled by the filter syntax ele-ment in dependence one or more fractional part (or fractional parts) of motion vector (wherein, for example, a first filter signaled by the filter syntax element is selected for a filtering in a first direction, e.g. if one or more fractional part (or fractional parts) of motion vector lie between full samples, e.g. when considering position coordinates of the first di-rection, and wherein, for example, a second filter signaled by the filter syntax element is selected for a filtering in a second direction which is different from the first direction, e.g. if all fractional part (or fractional parts) of motion vector lie on full samples, e.g. when consid-ering position coordinates of the second direction).
According to an embodiment, the decoder is configured to take over a filter selection from a neighboring block in a merge mode (e.g. selectively in dependence on whether motion vectors are identical to the motion vectors of the neighboring block).
According to an embodiment, in the decoder, the selected (e.g. applied) processing scheme defines a (e.g. spatial) filtering of luma components and/or a (e.g. spatial) filtering of chroma components.
According to an embodiment, the decoder is configured to select (e.g. apply) a filter in de-pendence on prediction mode.
According to an embodiment, the decoder is configured to adapt a mapping rule mapping an encoded index value onto an indication (e.g., an index value) indicating a processing scheme in dependence on the one or more syntax elements.
According to an embodiment, the decoder is configured to adapt a number of bins used for identifying the encoded index indicating the selected processing scheme depending on the one or more syntax elements.
According to an embodiment, the decoder is configured to determine a set of processing schemes allowable in view of the one or more syntax elements from which a processing scheme to be applied is identified based on the one or more syntax elements and the index.
According to an embodiment, the decoder is configured to determine whether a single pro-cessing scheme is allowable for the portion of the video sequence and selectively omit the identification of an encoded index in response to the finding that only a single processing scheme (e.g. spatial filter or interpolation filter) is allowable for the portion of the video se-quence.
According to an embodiment, the decoder is configured to select a mapping rule mapping an encoded index value onto an indication (e.g., an index value) indicating a processing scheme such that a number of bins representing the encoded index value is adapted to a number of processing schemes allowable for the portion of the video sequence.
According to an embodiment, the decoder is configured to select (e.g., apply) different pro-cessing schemes (e.g., different interpolation filters) for different blocks (e.g., different pre-diction unit PU and/or coding unit CU and/or a coding tree unit CTU) within a video frame or picture (different interpolation filters for same fractional sample positions in different parts of a video sequence or in different parts of a single video frame or "picture”).
According to an embodiment, the decoder is configured to decode the index indicating the selected processing scheme (e.g., in dependence on the one or more syntax elements) such that a given encoded index value represents (e.g., is associated with) different pro-cessing schemes depending on a motion vector accuracy (which may, for example, be sig-naled using a syntax element in the bit stream and which may, for example, take one out of the following values: OREL, HPEL,FPEL, 4PEL).
According to an embodiment, the one or more syntax elements comprise at least one of a motion vector accuracy (e.g., quarter-sample, half-sample, full-sample), a fractional sample position, a block size, a block shape, a number of prediction hypotheses (e.g., one hypoth-esis for an uni-prediction, two hypotheses for a bi-prediction), a prediction mode (e.g., trans-lational inter, affine inter, translational merge, affine merge, combined inter/intra), an avail-ability of a coded residual signal (e.g., a coded block flag), spectral properties of the coded residual signal, a reference picture signal (e.g., a reference block defined by motion data, block edges from collocated prediction units PUs inside a reference block, high or low fre-quency characteristics of the reference signal), loop filter data (e.g., an edge offset or band offset classification from a sample adaptive offset filter SAO, a deblocking filter decisions and boundary strengths), motion vector lengths (e.g. only enable additional smoothing filters for long motion vectors or for a specific direction), or an adaptive motion vector resolution mode.
According to an embodiment, the decoder is configured to decode the index indicating the selected processing scheme (e.g., in dependence on the one or more syntax elements) such that a given encoded index value represents (e.g., is associated with) different pro-cessing schemes depending on a fractional part (or fractional parts) of motion vector (wherein, for example, different encoding schemes are used in dependence on whether all motion vectors of a considered portion point to integer sample positions, e.g. luma sample positions, or not).
According to an embodiment, the decoder is configured to selectively determine a set of processing schemes (e.g. “multi-possibility encoding”) for a motion vector accuracy (e.g. a sub-sample motion vector accuracy, e.g. HPEL) which is between a maximum motion vec-tor accuracy (e.g. a sub-sample motion vector resolution which is finer than the motion vec-tor accuracy mentioned before; e.g. QPEL) and a minimum motion vector accuracy (e.g.
4PEL) or for a motion vector accuracy (e.g. HPEL) which is between a maximum motion vector accuracy (e.g. QPEL) and a full-sample motion vector accuracy (e.g. FPEL) from which a processing scheme to be applied is identified.
According to an embodiment, the decoder is configured to decode the index (processing scheme index, if_idx) for selecting between a first FIR filtering (e.g., an HEVC filtering) (e.g. HEVC 8-tap filtering), a second FIR filtering and a third FIR.
According to an embodiment, the decoder is configured to decode the index (processing scheme index, if_idx) for selecting between a first FIR filtering (e.g., an HEVC filtering) (e.g., HEVC 8-tap filtering) and a second FIR filtering.
According to an embodiment, the decoder is configured to apply processing schemes (e.g., interpolation filters) having different characteristics (e.g. stronger low-pass characteristic vs. weaker low-pass characteristic).
According to an embodiment, the decoder is configured to select the mapping rule in de-pendence on a motion vector accuracy and a fractional sample position or fractional part (or fractional parts) of motion vector.
According to an embodiment, the decoder is configured to determine available sets of pro-cessing schemes (e.g. interpolation filters) in dependence on motion vector accuracy.
According to an embodiment, the decoder is configured to apply one of a quarter-sample motion vector resolution, a half-sample motion vector resolution, a full-sample motion vector resolution or a four-sample motion vector resolution (wherein, for example, the index ele-ment describing a processing scheme or an interpolation filter is selectively included in the bit stream in case a half-sample motion vector resolution is selected and wherein the index element describing the processing scheme is, for example, omitted otherwise).
According to an embodiment, in the decoder, the processing scheme comprises one or more FIR filters.
Another aspect of the present disclosure relates to a decoder for hybrid video coding (e.g., video coding with prediction and transform coding of the prediction error), the decoder for providing an output video content on the basis of an encoded representation of a video sequence, the decoder configured to obtain (e.g., receive, download, open from a file) a bit stream as the encoded representation of the video sequence; identify from the bit stream one or more syntax elements (e.g., a motion vector accuracy syntax element) related to a portion (e.g. a block) of the video sequence; determine, depending on the one or more syntax elements, an entropy coding scheme used in the bit stream for providing an encoded index indicating a processing scheme (e.g., an interpolation filter, e.g., selected by an en-coder) for the portion of the video sequence, the processing scheme for obtaining a sample for a motion-compensated prediction (e.g., related to the video sequence, e.g. a sample, e.g., a fractional sample) at an integer and/or fractional location within the portion of the video sequence; identify, if the determined entropy coding scheme prescribes a number of bins being greater than zero, in the bit stream the encoded index and decode the index; identify (e.g. select) the processing scheme based on the one or more syntax elements and based on the decoded index if the number of bins prescribed by the determined coding scheme is greater than zero (or identify the processing scheme based on the one or more
syntax elements only if the determined number of bins is zero); and apply the identified processing scheme to the portion of the video sequence.
The decoder is based on the idea, to identify a processing scheme for the portion by deter-mining the entropy coding scheme based on the syntax elements. From the determined entropy coding scheme the decoder may infer how to identify the processing scheme. By identifying, if the number of bins prescribed by the entropy coding scheme is greater than zero, the decoder may infer an information encoded in the bit stream by the entropy coding scheme independently from the number of bins. In other words, the decoder may use the information, that the number of bins is zero, for identifying the processing scheme. Further, as the decoder may use the syntax elements and the index for identifying the processing scheme from, the decoder may identify the processing scheme even if a given encoded index value may be associated to various processing schemes. Therefore, the decoder may identify the processing scheme even if the number of bins in the bit stream for trans-mitting an information about the processing scheme is small or even zero.
According to an embodiment, in the decoder, the entropy coding scheme comprises a bi-narization scheme used for providing the encoded index.
According to an embodiment, in the decoder, the binarization scheme comprises a number of bins used for providing the encoded index.
According to an embodiment, in the decoder, the processing scheme is a filter (e.g., an interpolation filter) or a set of filters (e.g., interpolation filters) (e.g. parameterized by frac-tional part of motion vector).
According to an embodiment, in the decoder, the filters in the set of filters are separably applicable (e.g., one-dimensional filters which are sequentially applicable in the spatial di-rections, e.g., an x direction and/or a y direction) to the portion of the video sequence.
According to an embodiment, the decoder is configured to select (e.g., apply) filters (e.g., interpolation filters) depending on fractional part (or fractional parts) of motion vector (e.g. depending on a fractional part of one or more motion vectors) (e.g. by selecting, for exam-ple, applying, a first filter if a motion vector end point is at a full sample location or is at a full sample location in a direction under consideration, and by selecting, for example, applying, a second filter which is different from the first filter if a motion vector end point lies between full samples or lies between full samples in a direction under consideration).
According to an embodiment, the decoder is configured to select (e.g., apply) different filters (e.g., interpolation filters) for filtering in a first direction (e.g. x) and for filtering in a second direction (e.g. y) depending on fractional part (or fractional parts) of motion vector.
According to an embodiment, the decoder is configured to select (e.g., apply) different filters (e.g. interpolation filters) for filtering in a first direction and for filtering in a second direction such that a stronger low pass filtering is applied for a filtering in a direction in which (one or more or all) fractional part (or fractional parts) of motion vector lie on full samples (e.g. if half-sample accurate motion vector(s) point(s) to full sample location(s)) (when compared to a filtering applied in a direction in which fractional part (or fractional parts) of motion vector lie between full samples).
According to an embodiment, the decoder is configured to select (e.g., apply; e.g. individu-ally per filtering direction) a filter (e.g., an interpolation filter) signaled by a syntax element (e.g. interpolation filter index if_idx) or a predetermined filter in dependence one or more fractional part (or fractional parts) of motion vector (wherein, for example, a filter signaled by a syntax element is selected for a filtering in a first direction, e.g. if one or more fractional part (or fractional parts) of motion vector lie between full samples, e.g. when considering position coordinates of the first direction, and wherein, for example, a predetermined filter is selected for a filtering in a second direction which is different from the first direction, e.g. if all fractional part (or fractional parts) of motion vector lie on full samples, e.g. when con-sidering position coordinates of the second direction).
According to an embodiment, the decoder is configured to select (e.g., apply; e.g. individu-ally per filtering direction) a first filter (e.g. interpolation filter) signaled by a filter syntax ele-ment (e.g. interpolation filter index if_idx) or a second filter signaled by the filter syntax ele-ment in dependence one or more fractional part (or fractional parts) of motion vector (wherein, for example, a first filter signaled by the filter syntax element is selected for a filtering in a first direction, e.g. if one or more fractional part (or fractional parts) of motion vector lie between full samples, e.g. when considering position coordinates of the first di-rection, and wherein, for example, a second filter signaled by the filter syntax element is selected for a filtering in a second direction which is different from the first direction, e.g. if all fractional part (or fractional parts) of motion vector lie on full samples, e.g. when consid-ering position coordinates of the second direction).
According to an embodiment, the decoder is configured to take over a filter selection from a neighboring block in a merge mode (e.g. selectively in dependence on whether motion vectors are identical to the motion vectors of the neighboring block).
According to an embodiment, in the decoder, the selected (e.g. applied) processing scheme defines a (e.g. spatial) filtering of luma components and/or a (e.g. spatial) filtering of chroma components.
According to an embodiment, the decoder is configured to select (e.g. apply) a filter in de-pendence on prediction mode.
According to an embodiment, the decoder is configured to adapt a mapping rule mapping an encoded index value onto an indication (e.g., an index value) indicating a processing scheme in dependence on the one or more syntax elements.
According to an embodiment, the decoder is configured to adapt a number of bins used for identifying the encoded index indicating the selected processing scheme depending on the one or more syntax elements.
According to an embodiment, the decoder is configured to determine a set of processing schemes allowable in view of the one or more syntax elements from which a processing scheme to be applied is identified based on the one or more syntax elements and the index.
According to an embodiment, the decoder is configured to determine whether a single pro-cessing scheme is allowable for the portion of the video sequence and selectively omit the identification of an encoded index in response to the finding that only a single processing scheme (e.g. spatial filter or interpolation filter) is allowable for the portion of the video se-quence.
According to an embodiment, the decoder is configured to select a mapping rule mapping an encoded index value onto an indication (e.g., an index value) indicating a processing scheme such that a number of bins representing the encoded index value is adapted to a number of processing schemes allowable for the portion of the video sequence.
According to an embodiment, the decoder is configured to select (e.g., apply) different pro-cessing schemes (e.g., different interpolation filters) for different blocks (e.g., different pre-diction unit PU and/or coding unit CU and/or a coding tree unit CTU) within a video frame or picture (different interpolation filters for same fractional sample positions in different parts of a video sequence or in different parts of a single video frame or “picture”).
According to an embodiment, the decoder is configured to decode the index indicating the selected processing scheme (e.g., in dependence on the one or more syntax elements) such that a given encoded index value represents (e.g., is associated with) different pro-
cessing schemes depending on a motion vector accuracy (which may, for example, be sig-naled using a syntax element in the bit stream and which may, for example, take one out of the following values: QPEL, HPEL,FPEL, 4PEL).
According to an embodiment, in the decoder, the one or more syntax elements comprise at least one of a motion vector accuracy (e.g., quarter-sample, half-sample, full-sample), a fractional sample position, a block size, a block shape, a number of prediction hypotheses (e.g., one hypothesis for an uni-prediction, two hypotheses for a bi-prediction), a prediction mode (e.g., translational inter, affine inter, translational merge, affine merge, combined in-ter/intra), an availability of a coded residual signal (e.g., a coded block flag), spectral prop-erties of the coded residual signal, a reference picture signal (e.g., a reference block defined by motion data, block edges from collocated prediction units PUs inside a reference block, high or low frequency characteristics of the reference signal), loop filter data (e.g., an edge offset or band offset classification from a sample adaptive offset filter SAO, a deblocking filter decisions and boundary strengths), motion vector lengths (e.g. only enable additional smoothing filters for long motion vectors or for a specific direction), or an adaptive motion vector resolution mode.
According to an embodiment, the decoder is configured to decode the index indicating the selected processing scheme (e.g., in dependence on the one or more syntax elements) such that a given encoded index value represents (e.g., is associated with) different pro-cessing schemes depending on a fractional part (or fractional parts) of motion vector (wherein, for example, different encoding schemes are used in dependence on whether all motion vectors of a considered portion point to integer sample positions, e.g. luma sample positions, or not).
According to an embodiment, the decoder is configured to selectively determine a set of processing schemes (e.g. “multi-possibility encoding”) for a motion vector accuracy (e.g. a sub-sample motion vector accuracy, e.g. HPEL) which is between a maximum motion vec-tor accuracy (e.g. a sub-sample motion vector resolution which is finer than the motion vec-tor accuracy mentioned before; e.g. QPEL) and a minimum motion vector accuracy (e.g.
4PEL) or for a motion vector accuracy (e.g. HPEL) which is between a maximum motion vector accuracy (e.g. QPEL) and a full-sample motion vector accuracy (e.g. FPEL) from which a processing scheme to be applied is identified.
According to an embodiment, the decoder is configured to decode the index (processing scheme index, if_idx) for selecting between a first FIR filtering (e.g., an HEVC filtering) (e.g. HEVC 8-tap filtering), a second FIR filtering and a third FIR.
According to an embodiment, the decoder is configured to decode the index (processing scheme index, if_idx) for selecting between a first FIR filtering (e.g., an HEVC filtering) (e.g., HE VC 8-tap filtering) and a second FIR filtering.
According to an embodiment, the decoder is configured to apply processing schemes (e.g., interpolation filters) having different characteristics (e.g. stronger low-pass characteristic vs. weaker low-pass characteristic).
According to an embodiment, the decoder is configured to select the mapping rule in de-pendence on a motion vector accuracy and a fractional sample position or fractional part (or fractional parts) of motion vector.
According to an embodiment, the decoder is configured to determine available sets of pro-cessing schemes (e.g. interpolation filters) in dependence on motion vector accuracy.
According to an embodiment, the decoder is configured to apply one of a quarter-sample motion vector resolution, a half-sample motion vector resolution, a full-sample motion vector resolution or a four-sample motion vector resolution (wherein, for example, the index ele-ment describing a processing scheme or an interpolation filter is selectively included in the bit stream in case a half-sample motion vector resolution is selected and wherein the index element describing the processing scheme is, for example, omitted otherwise).
According to an embodiment, the processing scheme comprises one or more FIR filters.
Another aspect of the present disclosure relates to a method for hybrid video coding (e.g., video coding with prediction and transform coding of the prediction error), the method for providing an encoded representation of a video sequence on the basis of an input video content, (e.g., the method performed by an encoder), the method comprising: determining one or more syntax elements (e.g., a motion vector accuracy syntax element) related to a portion (e.g., a block) of the video sequence; selecting a processing scheme (e.g., an inter-polation filter) to be applied (e.g., by a decoder) to the portion of the video sequence based a property (e.g. a decoder setting signaled by one or more syntax elements or a character-istic of a portion of the video sequence signaled by the one or more syntax elements) de-scribed by on the one or more syntax elements, the processing scheme for obtaining a sample for a motion-compensated prediction (e.g., related to the video sequence, e.g. a sample, e.g., a fractional sample) at an integer and/or fractional location within the portion of the video sequence; encoding an index indicating the selected processing scheme (e.g., in dependence on the one or more syntax elements) such that a given encoded index value
represents (e.g., is associated with) different processing schemes depending on the prop-erty described by the one or more syntax elements (e.g., depending on values of the one or more syntax elements); and providing (e.g., transmit, upload, save as a file), as the en-coded representation of the video sequence, a bit stream comprising the one or more syntax elements and the encoded index.
Another aspect of the present disclosure relates to a method for hybrid video coding (e.g., video coding with prediction and transform coding of the prediction error), the method for providing an encoded representation of a video sequence on the basis of an input video content, (e.g., the method performed by an encoder), the method comprising: determining one or more syntax elements (e.g., a motion vector accuracy syntax element) related to a portion (e.g., a block) of the video sequence; selecting a processing scheme (e.g., an inter-polation filter) to be applied (e.g., by a decoder) to the portion of the video sequence based on a property (e.g. a decoder setting signaled by one or more syntax elements or a charac-teristic of a portion of the video sequence signaled by the one or more syntax elements) described by the one or more syntax elements, the processing scheme for obtaining a sam-ple fora motion-compensated prediction (e.g., related to the video sequence, e.g. a sample, e.g., a fractional sample) at an integer and/or fractional location within the portion of the video sequence; selecting an entropy coding scheme used for providing an encoded index indicating the selected processing scheme depending on the property described by the one or more syntax elements (e.g., depending on values of the one or more syntax elements), (wherein, for example, a number of bins prescribed by the entropy coding scheme may be equal to zero if only one processing scheme is allowable in view of the one or more consid-ered syntax elements); and providing (e.g., transmit, upload, save as a file), as the encoded representation of the video sequence, a bit stream comprising the one or more syntax ele-ments and comprising the encoded index (e.g. , if the selected number of bins is larger than zero).
Another aspect of the present disclosure relates to a method for hybrid video coding (e.g., video coding with prediction and transform coding of the prediction error), the method for providing an output video content on the basis of an encoded representation of a video sequence, (e.g., the method performed by a decoder), the method comprising: obtaining (e.g., receive, download, open from a file) a bit stream as the encoded representation of the video sequence; identifying from the bit stream one or more syntax elements (e.g., a motion vector accuracy syntax element) related to a portion (e.g. a block) of the video sequence (and an encoded index); identifying a processing scheme (e.g., an interpolation filter, e.g., selected by an encoder) for the portion of the video sequence based on the one or more
syntax elements and an index (which may be included in the bit stream in an encoded form), the processing scheme for obtaining a sample for a motion-compensated prediction (e.g., related to the video sequence, e.g. a sample, e.g., a fractional sample) at an integer and/or fractional location within the portion of the video sequence, wherein the method assigns different processing schemes to a given encoded index value depending on the one or more syntax elements (e.g., depending on values of the one or more syntax elements); and ap-plying the identified processing scheme to the portion of the video sequence.
Another aspect of the present disclosure relates to a method for hybrid video coding (e.g., video coding with prediction and transform coding of the prediction error), the method for providing an output video content on the basis of an encoded representation of a video sequence, (e.g., the method performed by a decoder), the method comprising: obtaining (e.g., receive, download, open from a file) a bit stream as the encoded representation of the video sequence; identifying from the bit stream one or more syntax elements (e.g., a motion vector accuracy syntax element) related to a portion (e.g. a block) of the video sequence; determine, depending on the one or more syntax elements, an entropy coding scheme used in the bit stream for providing an encoded index indicating a processing scheme (e.g., an interpolation filter, e.g., selected by an encoder) for the portion of the video sequence, the processing scheme for obtaining a sample for a motion-compensated prediction (e.g., re-lated to the video sequence, e.g. a sample, e.g., a fractional sample) at an integer and/or fractional location within the portion of the video sequence; identifying, if the determined entropy coding scheme prescribes a number of bins being greater than zero, in the bit stream the encoded index and decode the index; identifying (e.g. select) the processing scheme based on the one or more syntax elements and based on the decoded index if the number of bins prescribed by the determined entropy coding scheme is greater than zero (or identify the processing scheme based on the one or more syntax elements only if the determined number of bins is zero); and applying the identified processing scheme to the portion of the video sequence.
Another aspect of the present disclosure relates to a video bit stream for hybrid video coding (e.g., video coding with prediction and transform coding of the prediction error), the video bit stream describing a video sequence (for example, in the form of an encoded represen-tation of the video sequence), wherein the video bit stream comprises one or more syntax elements (e.g., a motion vector accuracy syntax element) related to a portion (e.g., a block) of the video sequence; wherein the video bit stream comprises a processing scheme index bit stream element (e.g., describing an interpolation filter to be used by a video decoder; e.g., if_idx) at least for some of the portions of the video sequence; wherein a presence of the processing scheme index bit stream element, (which, for example, describes a filtering or interpolation filtering to be performed by a video decoder) varies in dependence on the one or more other syntax elements (such that, for example, the processing scheme index bit stream element is present for a first value of another syntax element or for a first combi-nation of values of a plurality of other syntax elements, and such that, for example the pro-cessing scheme index bit stream element is omitted for a second value of another syntax element or for a second combination of values of a plurality of other syntax elements).
Another aspect of the present disclosure relates to a video bit stream for hybrid video coding (e.g., video coding with prediction and transform coding of the prediction error), the bit stream describing a video sequence (for example, in the form of an encoded representation of the video sequence), wherein the video bit stream comprises one or more syntax ele-ments (e.g., a motion vector accuracy syntax element) related to a portion (e.g., a block) of the video sequence; wherein the video bit stream comprises a processing scheme index bit stream element (e.g., describing an interpolation filter to be used by a video decoder; e.g., if_idx) at least for some of the portions of the video sequence; wherein a number of bins of the processing scheme index bit stream element varies in dependence on the one or more syntax elements related to the portion of the video sequence (such that, for example, the number of bins of the processing scheme index bit stream element is adapted to a number of processing schemes allowable for the portion of the video sequence; such that, for ex-ample, the number of bins of the processing scheme index bit stream element is equal to zero, for example, the processing scheme index bit stream element is omitted, when only a single one processing scheme is allowable for the portion of the video sequence).
Another aspect of the present disclosure relates to a video bit stream for hybrid video coding (e.g., video coding with prediction and transform coding of the prediction error), the bit stream describing a video sequence (for example, in the form of an encoded representation of the video sequence), wherein the video bit stream comprises one or more syntax ele-ments (e.g., a motion vector accuracy syntax element) related to a portion (e.g., a block) of the video sequence; wherein the video bit stream comprises a processing scheme index bit stream element (e.g., describing an interpolation filter to be used by a video decoder; e.g., if_idx) at least for some of the portions of the video sequence; wherein a meaning of code-words (e.g., encoded index values) of the processing scheme index bit stream element varies in dependence on the one or more syntax elements related to the portion of the video sequence (such that, for example, different processing schemes are assigned to a given encoded index value depending on the one or more syntax elements related to the portion of the video sequence).
Another aspect of the present disclosure relates to a decoder for hybrid video coding, the decoder for providing an output video content on the basis of an encoded representation of a video sequence, the decoder configured to: obtain a bit stream as the encoded represen-tation of the video sequence; identify from the bit stream one or more syntax elements re-lated to a portion of the video sequence; select, depending on the one or more syntax ele-ments, a processing scheme for the portion of the video sequence, wherein the processing scheme is completely specified by a property of the portion and a fractional part of a motion vector (wherein the property is described by the one or more syntax elements), the pro-cessing scheme for obtaining a sample for a motion-compensated prediction at an integer and/or fractional location within the portion of the video sequence; apply the identified pro-cessing scheme to the portion of the video sequence.
As the decoder may select the processing scheme based on the one or more syntax ele-ments, the decoder may select the processing scheme for the portion without the need for a syntax element that is specifically dedicated for the processing scheme. Thus, the de-coder may select the processing scheme even if the processing scheme is not explicitly indicated in the bit stream, so that the bit stream may be particularly small. As the decoder uses the one or more syntax elements for obtaining the processing scheme, the decoder may select the processing scheme at a granularity provided by the one a more syntax ele-ments. Thus, the decoder may efficiently use information already provided in the bit stream for selecting the processing scheme at a fine granularity without requiring additional bits in the bit stream. The fractional part of the motion vector may characterize the processing scheme to be used for obtaining the sample particularly precisely, as the motion vector may be used for the motion-compensated prediction. Thus, the processing scheme may be se-lected quickly and reliably based on the fractional part of the motion vector.
According to an embodiment, the property of the portion specifying the processing scheme relates to one or two or all of a motion vector accuracy, a fractional position of the sample (to be obtained by the processing scheme), and a prediction mode to be used for the portion. As the processing scheme may be for obtaining a sample for a motion-compensated pre-diction, the MV accuracy may provide a precise hint on a suitable processing scheme to be used for the portion. As different processing schemes may be used for full sample, half sample, and quarter sample positions, the fractional position of the sample may limit the number of allowable processing schemes allowable or even specify the processing scheme. One or more or all of the motion vector accuracy, the fractional position of the sample and the prediction mode may be indicated by the one or more syntax elements for decoding the portion of the video sequence. Thus, the decoder main infer the processing scheme from already available information.
According to an embodiment, the portion is a prediction unit (PU) or a coding unit (CU), and wherein the decoder is configured to select the processing scheme individually for different portions of the video sequence. Selecting the processing scheme individually for different prediction units or coding units enables an a adaption of the processing scheme to local characteristics of the video sequence at a particularly fine granularity. This precise adaption allows for a decoding of the portion from a particularly small sized bit stream and/or may enable a particularly fast decoding. As the processing scheme is selected depending on the one or more syntax elements, deter mining the processing scheme individually for different prediction units or coding units is possible without increasing the size of the bit stream.
According to an embodiment, the decoder is configured to use different processing schemes for the same fractional sample position in different portions of the video sequence.
According to an embodiment, the decoder is configured to switch the processing scheme at a PU or CU level for adapting to local image characteristics.
According to an embodiment, none of the one or more syntax elements is explicitly dedi-cated for indicating the processing scheme.
Another aspect of the present disclosure relates to a decoder for hybrid video coding, the decoder for providing an output video content on the basis of an encoded representation of a video sequence, the decoder configured to: obtain a bit stream as the encoded represen-tation of the video sequence; identify from the bit stream one or more syntax elements re-lated to a portion of the video sequence; select, depending on a motion vector accuracy, a processing scheme for the portion of the video sequence, the processing scheme for ob-taining a sample for a motion-compensated prediction at an integer and/or fractional loca-tion within the portion of the video sequence; apply the identified processing scheme to the portion of the video sequence.
According to an embodiment, the decoder is configured to select the processing scheme in dependence on a motion vector accuracy and a fractional position of the sample (to be obtained by the processing scheme).
According to an embodiment, the decoder is configured to select the processing scheme additionally depending on a prediction mode to be used for the portion.
According to an embodiment, the portion is a prediction unit (PU) or a coding unit (CU), and wherein the decoder is configured to select the processing scheme individually for different portions of the video sequence. Selecting the processing scheme individually for different prediction units or coding units enables an a adaption of the processing scheme to local characteristics of the video sequence at a particularly fine granularity. This precise adaption allows for a decoding of the portion from a particularly small sized bit stream and/or may enable a particularly fast decoding. As the processing scheme is selected depending on the one or more syntax elements, deter mining the processing scheme individually for different prediction units or coding units is possible without increasing the size of the bit stream.
According to an embodiment, the decoder is configured to use different processing schemes for the same fractional sample position in different portions of the video sequence.
According to an embodiment, the decoder is configured to switch the processing scheme at a PU or CU level for adapting to local image characteristics.
According to an embodiment, none of the one or more syntax elements is explicitly dedi-cated for indicating the processing scheme.
Another aspect of the present disclosure relates to a decoder for hybrid video coding, the decoder for providing an output video content on the basis of an encoded representation of a video sequence, the decoder configured to: obtain a bit stream as the encoded represen-tation of the video sequence; identify from the bit stream one or more syntax elements re-lated to a portion of the video sequence; determine, with a PU granularity or a CU granularity and depending on the one or more syntax elements, a processing scheme for the portion of the video sequence, the processing scheme for obtaining a sample for a motion-com-pensated prediction at an integer and/or fractional location within the portion of the video sequence; apply the identified processing scheme to the portion of the video sequence.
According to an embodiment, the decoder is configured to use different processing schemes for the same fractional sample position in different portions of the video sequence.
According to an embodiment, the decoder is configured to switch the processing scheme at a PU or CU level for adapting to local image characteristics.
According to an embodiment, none of the one or more syntax elements is explicitly dedi-cated for indicating the processing scheme.
According to an embodiment, in the decoder, the processing scheme is a filter (e.g., an interpolation filter) or a set of filters (e.g., interpolation filters) (e.g. parameterized by frac-tional part of motion vector).
According to an embodiment, in the decoder, the filters in the set of filters are separably applicable (e.g., one-dimensional filters which are sequentially applicable in the spatial di-rections, e.g., an x direction and/or a y direction) to the portion of the video sequence.
According to an embodiment, the decoder is configured to select (e.g., apply) different filters (e.g., interpolation filters) for filtering in a first direction (e.g. x) and for filtering in a second direction (e.g. y) depending on fractional part (or fractional parts) of motion vector.
According to an embodiment, the decoder is configured to select (e.g., apply) different filters (e.g. interpolation filters) for filtering in a first direction and for filtering in a second direction such that a stronger low pass filtering is applied for a filtering in a direction in which (one or more or all) fractional part (or fractional parts) of motion vector lie on full samples (e.g. if half-sample accurate motion vector(s) point(s) to full sample location(s)) (when compared to a filtering applied in a direction in which fractional part (or fractional parts) of motion vector lie between full samples).
According to an embodiment, the decoder is configured to take over a filter selection from a neighboring block in a merge mode (e.g. selectively in dependence on whether motion vectors are identical to the motion vectors of the neighboring block).
According to an embodiment, in the decoder, the selected (e.g. applied) processing scheme defines a (e.g. spatial) filtering of luma components and/or a (e.g. spatial) filtering of chroma components.
According to an embodiment, the decoder is configured to select (e.g., apply) different pro-cessing schemes (e.g., different interpolation filters) for different blocks (e.g., different pre-diction unit PU and/or coding unit CU and/or a coding tree unit CTU) within a video frame or picture (different interpolation filters for same fractional sample positions in different parts of a video sequence or in different parts of a single video frame or “picture”).
According to an embodiment, the one or more syntax elements comprise at least one of a motion vector accuracy (e.g., quarter-sample, half-sample, full-sample), a fractional sample position, a block size, a block shape, a number of prediction hypotheses (e.g., one hypoth-esis for an uni-prediction, two hypotheses for a bi-prediction), a prediction mode (e.g., trans-
lational inter, affine inter, translational merge, affine merge, combined inter/intra), an avail-ability of a coded residual signal (e.g., a coded block flag), spectral properties of the coded residual signal, a reference picture signal (e.g., a reference block defined by motion data, block edges from collocated prediction units PUs inside a reference block, high or low fre-quency characteristics of the reference signal), loop filter data (e.g., an edge offset or band offset classification from a sample adaptive offset filter SAO, a deblocking filter decisions and boundary strengths), motion vector lengths (e.g. only enable additional smoothing filters for long motion vectors or for a specific direction), or an adaptive motion vector resolution mode.
According to an embodiment, the decoder is configured to selectively determine a set of processing schemes (e.g. “multi-possibility encoding”) for a motion vector accuracy (e.g. a sub-sample motion vector accuracy, e.g. HPEL) which is between a maximum motion vec-tor accuracy (e.g. a sub-sample motion vector resolution which is finer than the motion vec-tor accuracy mentioned before; e.g. QPEL) and a minimum motion vector accuracy (e.g.
4PEL) or for a motion vector accuracy (e.g. HPEL) which is between a maximum motion vector accuracy (e.g. QPEL) and a full-sample motion vector accuracy (e.g. FPEL) from which a processing scheme to be applied is identified.
According to an embodiment, the decoder is configured to apply processing schemes (e.g., interpolation filters) having different characteristics (e.g. stronger low-pass characteristic vs. weaker low-pass characteristic).
According to an embodiment, the decoder is configured to apply one of a quarter-sample motion vector resolution, a half-sample motion vector resolution, a full-sample motion vector resolution or a four-sample motion vector resolution.
According to an embodiment, in the decoder, the processing scheme comprises one or more FIR filters.
Another aspect of the present disclosure relates to an encoder for hybrid video coding, the encoder for providing an encoded representation of a video sequence on the basis of an input video content, the encoder configured to: determine one or more syntax elements related to a portion of the video sequence; select a processing scheme to be applied to the portion of the video sequence based on a property described by the one or more syntax elements, wherein the processing scheme is completely specified by the property of the portion and a fractional part of a motion vector, the processing scheme for obtaining a sam-ple for a motion-compensated prediction at an integer and/or fractional location within the
portion of the video sequence; provide, as the encoded representation of the video se-quence, a bit stream comprising the one or more syntax elements.
According to an embodiment, the property described by the one or more syntax elements relates to one or two or all of a motion vector accuracy, a fractional position of the sample (to be obtained by the processing scheme), and a prediction mode to be used for the portion.
According to an embodiment, the portion is a prediction unit (PU) or a coding unit (CU), and wherein the encoder is configured to select the processing scheme individually for different portions of the video sequence.
According to an embodiment, the encoder is configured to use different processing schemes for the same fractional sample position in different portions of the video sequence.
According to an embodiment, the encoder is configured to switch the processing scheme at a PU or CU level for adapting to local image characteristics.
According to an embodiment, none of the one or more syntax elements is explicitly dedi-cated for indicating the processing scheme.
Another aspect of the present disclosure relates to an encoder for hybrid video coding, the encoder for providing an encoded representation of a video sequence on the basis of an input video content, the encoder configured to: determine one or more syntax elements related to a portion of the video sequence; select a processing scheme to be applied to the portion of the video sequence based on a motion vector accuracy described by the one or more syntax elements, wherein the processing scheme is completely specified by the prop-erty of the portion and a fractional part of a motion vector; provide, as the encoded repre-sentation of the video sequence, a bit stream comprising the one or more syntax elements.
According to an embodiment, the encoder is configured to select the processing scheme based on the motion vector accuracy and a fractional position of the sample (to be obtained by the processing scheme).
According to an embodiment, the encoder is configured to select the processing scheme additionally depending on a prediction mode to be used for the portion.
According to an embodiment, the portion is a prediction unit (PU) or a coding unit (CU), and wherein the encoder is configured to select the processing scheme individually for different portions of the video sequence.
According to an embodiment, the encoder is configured to use different processing schemes for the same fractional sample position in different portions of the video sequence.
According to an embodiment, the encoder is configured to switch the processing scheme at a PU or CU level for adapting to local image characteristics.
According to an embodiment, none of the one or more syntax elements is explicitly dedi-cated for indicating the processing scheme.
Another aspect of the present disclosure relates to an encoder for hybrid video coding, the encoder for providing an encoded representation of a video sequence on the basis of an input video content, the encoder configured to: determine one or more syntax elements related to a portion of the video sequence; select, with a PU granularity or a CU granularity, a processing scheme to be applied to the portion of the video sequence based on a motion vector accuracy described by the one or more syntax elements, wherein the processing scheme is completely specified by the property of the portion and a fractional part of a mo-tion vector; provide, as the encoded representation of the video sequence, a bit stream comprising the one or more syntax elements.
According to an embodiment, the encoder is configured to use different processing schemes for the same fractional sample position in different portions of the video sequence.
According to an embodiment, the encoder is configured to switch the processing scheme at a PU or CU level for adapting to local image characteristics.
According to an embodiment, none of the one or more syntax elements is explicitly dedi-cated for indicating the processing scheme.
According to an embodiment, the encoder is configured to determine a set of processing schemes allowable in view of the property described by the one or more syntax elements and select a processing scheme from the determined set.
According to an embodiment, in the encoder, the processing scheme is a filter (e.g., an interpolation filter) or a set of filters (e.g., interpolation filters) (e.g. parameterized by frac-tional part of motion vector).
According to an embodiment, in the encoder, the filters in the set of filters are separably applicable (e.g., one-dimensional filters which are sequentially applicable in the spatial di-rections, e.g., an x direction and/or a y direction) to the portion of the video sequence.
According to an embodiment, the encoder is configured to select different processing schemes (e.g., different interpolation filters) for different blocks (e.g., different prediction unit PU and/or coding unit CU and/or a coding tree unit CTU) within a video frame or picture (different interpolation filters for same fractional sample positions in different parts of a video sequence or in different parts of a single video frame or picture).
According to an embodiment, in the encoder, the one or more syntax elements comprise at least one of a motion vector accuracy (e.g., quarter-sample, half-sample, full-sample), a fractional sample position, a block size, a block shape, a number of prediction hypotheses (e.g., one hypothesis for an uni-prediction, two hypotheses for a bi-prediction), a prediction mode (e.g., translational inter, affine inter, translational merge, affine merge, combined in-ter/intra), an availability of a coded residual signal (e.g., a coded block flag), spectral prop-erties of the coded residual signal, a reference picture signal (e.g., a reference block defined by motion data, block edges from collocated prediction units PUs inside a reference block, high or low frequency characteristics of the reference signal), loop filter data (e.g., an edge offset or band offset classification from a sample adaptive offset filter SAO, a deblocking filter decisions and boundary strengths), motion vector lengths (e.g. only enable additional smoothing filters for long motion vectors or for a specific direction), or an adaptive motion vector resolution mode.
According to an embodiment, the encoder is configured to selectively determine a set of processing schemes (e.g. “multi-possibility encoding") for a motion vector accuracy (e.g. a sub-sample motion vector accuracy, e.g. HPEL) which is between a maximum motion vec-tor accuracy (e.g. a sub-sample motion vector resolution which is finer than the motion vec-tor accuracy mentioned before; e.g. QPEL) and a minimum motion vector accuracy (e.g.
4PEL) or for a motion vector accuracy (e.g. HPEL) which is between a maximum motion vector accuracy (e.g. QPEL) and a full-sample motion vector accuracy (e.g. FPEL) and select processing scheme from the determined set.
Another aspect of the present disclosure relates to method for hybrid video coding, the method for providing an output video content on the basis of an encoded representation of a video sequence, the method comprising: obtaining a bit stream as the encoded represen-tation of the video sequence; identifying from the bit stream one or more syntax elements related to a portion of the video sequence; selecting, depending on the one or more syntax elements, a processing scheme for the portion of the video sequence, wherein the pro-cessing scheme is completely specified by a property of the portion and a fractional part of a motion vector, the processing scheme for obtaining a sample for a motion-compensated
prediction at an integer and/or fractional location within the portion of the video sequence; applying the identified processing scheme to the portion of the video sequence.
According to an embodiment, the encoder is configured to select between a quarter-sample motion vector resolution, a half-sample motion vector resolution, a full-sample motion vector resolution and a four-sample motion vector resolution.
According to an embodiment, in the encoder, the processing scheme comprises one or more FIR filters. FIR filter are particularly stable filters for processing the video sequence.
Another aspect of the present disclosure relates to a method for hybrid video coding, the method for providing an output video content on the basis of an encoded representation of a video sequence, the method comprising: obtaining a bit stream as the encoded represen-tation of the video sequence; identifying from the bit stream one or more syntax elements related to a portion of the video sequence; selecting, depending on a motion vector accu-racy, a processing scheme for the portion of the video sequence, the processing scheme for obtaining a sample for a motion-compensated prediction at an integer and/or fractional location within the portion of the video sequence; applying the identified processing scheme to the portion of the video sequence.
Another aspect of the present disclosure relates to a method for hybrid video coding, the method for providing an output video content on the basis of an encoded representation of a video sequence, the method comprising: obtaining a bit stream as the encoded represen-tation of the video sequence; identifying from the bit stream one or more syntax elements related to a portion of the video sequence; determining, with a PU granularity or a CU gran-ularity and depending on the one or more syntax elements, a processing scheme for the portion of the video sequence, the processing scheme for obtaining a sample for a motion-compensated prediction at an integer and/or fractional location within the portion of the video sequence; apply the identified processing scheme to the portion of the video se-quence.
Another aspect of the present disclosure relates to a method for hybrid video coding, the method for providing an encoded representation of a video sequence on the basis of an input video content, the method comprising: determining one or more syntax elements re-lated to a portion of the video sequence; selecting a processing scheme to be applied to the portion of the video sequence based on a property described by the one or more syntax elements, wherein the processing scheme is completely specified by the property of the
portion and a fractional part of a motion vector, the processing scheme for obtaining a sam-ple for a motion-compensated prediction at an integer and/or fractional location within the portion of the video sequence; providing, as the encoded representation of the video se-quence, a bit stream comprising the one or more syntax elements.
Another aspect of the present disclosure relates to a method for hybrid video coding, the method for providing an encoded representation of a video sequence on the basis of an input video content, the method comprising: determining one or more syntax elements re-lated to a portion of the video sequence; selecting a processing scheme to be applied to the portion of the video sequence based on a motion vector accuracy described by the one or more syntax elements, the processing scheme for obtaining a sample for a motion-com-pensated prediction at an integer and/or fractional location within the portion of the video sequence; providing, as the encoded representation of the video sequence, a bit stream comprising the one or more syntax elements.
Another aspect of the present disclosure relates to a method for hybrid video coding, the method for providing an encoded representation of a video sequence on the basis of an input video content, the method comprising: determining one or more syntax elements re-lated to a portion of the video sequence; selecting, with a PU granularity or a CU granularity, a processing scheme to be applied to the portion of the video sequence based on a property described by the one or more syntax elements, the processing scheme for obtaining a sample for a motion-compensated prediction at an integer and/or fractional location within the portion of the video sequence; providing, as the encoded representation of the video sequence, a bit stream comprising the one or more syntax elements.
Another aspect of the present disclosure relates to a computer program for performing any of the described methods for hybrid video coding when the computer program runs on a computer.
The described decoders provide functionalities and advantages analog to those described with respect to the encoders, and vice versa, in a sense that functionalities and advantages of the encoders referring to features of the encoder equivalently apply to the corresponding features of the decoder, wherein the decoding replaces the encoding, and vice versa. For example, if a feature of the encoder enables an encoding of an information in a particularly small-sized bit stream or an efficient encoding, a corresponding feature of the decoder may enable deriving the information from the small-sized bit stream or an efficient decoding, respectively. In other words, any of the features, functionalities and details disclosed herein with respect to the encoders may optionally be included into the decoders, and vice versa, both individually and taken in combination.
The described methods for hybrid video coding rely on the same ideas as the encoders and decoders described above, providing equal or equivalent functionalities and advantages. The methods may optionally be combined with (or supplemented by) any of the features, functionalities and details described herein with respect to the corresponding encoders and decoders. The methods for hybrid video coding may optionally be combined with the men-tioned features, functionalities and details both individually or in any combination of them.
Brief description of the figures:
Embodiments of the disclosure are described herein making reference to the appended drawings and figures.
Fig. 1 shows a schematic representation of an encoder, which may implement the disclosed concept,
Fig. 2 shows a schematic representation of decoder, which may implement the dis- closed concept,
Fig. 3 illustrates signals used by encoders or decoders according to an embodiment,
Fig. 4 illustrates fractional-sample positions which may be used in motion-compen- sated prediction according to an embodiment,
Fig. 5 illustrates an encoder according to an embodiment,
Fig. 6 illustrates an encoder according to another embodiment,
Fig. 7 illustrates a decoder according to an embodiment,
Fig. 8 illustrates a decoder according to another embodiment,
Fig. 9 shows a flowchart of a method for hybrid video coding according to an embod- iment,
Fig. 10 shows a flowchart of a method for hybrid video coding according to another embodiment,
Fig. 11 shows a flowchart of a method for hybrid video coding according to another embodiment,
Fig. 12 shows a flowchart of a method for hybrid video coding according to another embodiment,
Fig. 13 illustrates an encoder according to another embodiment,
Fig. 14 shows a flowchart of a method for hybrid video coding according to another embodiment,
Fig. 15 shows a flowchart of a method for hybrid video coding according to another embodiment,
Fig. 16 shows a flowchart of a method for hybrid video coding according to another embodiment,
Fig. 17 shows a flowchart of a method for hybrid video coding according to another embodiment,
Fig. 18 shows a flowchart of a method for hybrid video coding according to another embodiment,
Fig. 19 shows a flowchart of a method for hybrid video coding according to another embodiment.
Detained description of illustrative embodiments
In the following, different inventive embodiments and aspects will be described
Also, further embodiments will be defined by the enclosed claims.
It should be noted that any embodiments as defined by the claims can be supplemented by any of the details (features and functionalities) described herein.
Also, the embodiments described herein can be used individually, and can also be supple-mented by any of the features included in the claims.
Also, it should be noted that individual aspects described herein can be used individually or in combination. Thus, details can be added to each of said individual aspects without adding details to another one of said aspects.
It should also be noted that the present disclosure describes, explicitly or implicitly, features usable in an video encoder (apparatus for providing an encoded representation of an input video signal) and in an video decoder (apparatus for providing a decoded representation of a video signal on the basis of an encoded representation). Thus, any of the features de-scribed herein can be used in the context of an video encoder and in the context of an video decoder.
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.
Also, any of the features and functionalities described herein can be implemented in hard-ware or in software, or using a combination of hardware and software, as will be described in the section “implementation alternatives”.
Moreover, any of the features and syntax elements described herein can optionally be in-troduced into a video bit stream, both individually and taken in combination.
In the following description, embodiments are discussed in detail, however, it should be appreciated that the embodiments provide many applicable concepts that can be embod-ied in a wide variety of video encoders and video decoders. The specific embodiments dis-cussed are merely illustrative of specific ways to implement and use the present concept, and do not limit the scope of the embodiments. In the following description of embodiments, the same or similar elements or elements that have the same functionality are provided with the same reference sign or are identified with the same name, and a repeated description of elements provided with the same reference number or being identified with the same name is typically omitted. Hence, descriptions provided for elements having the same or similar reference numbers or being identified with the same names are mutually exchange-able or may be applied to one another in the different embodiments. In the following de-scription, a plurality of details is set forth to provide a more thorough explanation of embod-iments of the disclosure. However, it will be apparent to one skilled it the art that other embodiments may be prac-ticed 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 examples described herein. In addition, features of the different embod-iments described herein may be combined with each other, unless specifically noted other-wise.
Claims
1. An encoder (500) for hybrid video coding, the encoder (500) for providing an en- coded representation (514) of a video sequence on the basis of an input video con- tent (512), the encoder (500) configured to
determine one or more syntax elements (520) related to a portion (585) of the video sequence;
select a processing scheme (540) to be applied to the portion (585) of the video sequence based on a property described by the one or more syntax elements (520), the processing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion- compensated prediction at an integer and/or fractional location within the portion (585) of the video sequence;
encode an index (550) indicating the selected processing scheme (540) such that a given encoded index value represents different processing schemes depending on the property described by the one or more syntax elements (520;) and provide, as the encoded representation (514) of the video sequence, a bit stream comprising the one or more syntax elements (520) and the encoded index (560).
2. The encoder (500) of claim 1, wherein the encoder (500) is configured to adapt a mapping rule mapping an index value onto an encoded index value in dependence on the property described by the one or more syntax elements (520).
3. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to adapt a number of bins used for providing the encoded index (560) indicating the selected processing scheme (540) depending on the property de- scribed by the one or more syntax elements (520).
4. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to determine a set of processing schemes allowable in view of the prop- erty described by the one or more syntax elements and select a processing scheme (540) from the determined set.
5. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to determine whether a single processing scheme (540) is allowable for the portion (585) of the video sequence and selectively omit the inclusion of an en- coded index in response to the finding that only a single processing scheme (540) is allowable for the portion (585) of the video sequence.
6. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to select a mapping rule mapping an index value onto an encoded index value such that a number of bins representing the encoded index value is adapted to a number of processing schemes allowable for the portion (585) of the video se- quence.
7. The encoder (500) of any of the preceding claims, wherein the processing scheme (540) is a filter or a set of filters.
8. The encoder (500) of claim 7, wherein the filters in the set of filters are separably applicable to the portion (585) of the video sequence.
9. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to select different processing schemes for different blocks within a video frame or picture.
10. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to encode the index (550) indicating the selected processing scheme (540) such that a given encoded index value represents different processing schemes depending on a motion vector accuracy.
11. The encoder (500) of any of the preceding claims, wherein the one or more syntax elements (520) comprise at least one of a motion vector accuracy, a fractional sam- ple position, a block size, a block shape, a number of prediction hypotheses, a pre- diction mode, an availability of a coded residual signal, spectral properties of the coded residual signal, a reference picture signal, loop filter data, motion vector lengths, or an adaptive motion vector resolution mode.
12. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to encode the index (550) indicating the selected processing scheme (540) such that a given encoded index value represents different processing schemes depending on a fractional part of motion vector.
13. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to selectively determine a set of processing schemes for a motion vector accuracy which is between a maximum motion vector accuracy and a minimum mo- tion vector accuracy or for a motion vector accuracy which is between a maximum motion vector accuracy and a full-sample motion vector accuracy and select the processing scheme (540) from the determined set.
14. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to encode an index (550) for selecting between a first FIR filtering, a sec- ond FIR filtering and a third FIR filtering.
15. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to encode an index (550) for selecting between a first FIR filtering and a second FIR filtering.
16. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to select between processing schemes having different characteristics.
17. The encoder (500) of claim 2 or claim 6, wherein the encoder (500) is configured to select the mapping rule in dependence on a motion vector accuracy and a fractional sample position or fractional part of motion vector.
18. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to determine available sets of processing schemes in dependence on a motion vector accuracy.
19. The encoder (500) of any of the preceding claims, wherein the encoder (500) is configured to select between a quarter-sample motion vector resolution, a half-sam- ple motion vector resolution, a full-sample motion vector resolution and a four-sam- ple motion vector resolution.
20. The encoder (500) of any of the preceding claims, wherein the processing scheme (540) comprises one or more FIR filters.
21. An encoder (600) for hybrid video coding, the encoder (600) for providing an en- coded representation (614) of a video sequence on the basis of an input video con- tent (512), the encoder (600) configured to
determine one or more syntax elements (520) related to a portion (585) of the video sequence;
select a processing scheme (540) to be applied to the portion (585) of the video sequence based on a property described by the one or more syntax elements (520),
the processing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion- compensated prediction at an integer and/or fractional location within the portion (585) of the video sequence;
select an entropy coding scheme (662) used for providing an encoded index (660) indicating the selected processing scheme (540) depending on the property de- scribed by the one or more syntax elements (520;) and
provide, as the encoded representation (614) of the video sequence, a bit stream comprising the one or more syntax elements (520) and comprising the encoded in- dex (660).
22. The encoder (600) of claim 21 , wherein the entropy coding scheme comprises a binarization scheme for providing the encoded index.
23. The encoder (600) of claim 22, wherein the binarization scheme comprises a num- ber of bins to be used for providing the encoded index.
24. The encoder (600) of any of claims 21 to 23, wherein the encoder (600) is configured to adapt a mapping rule mapping an index value onto an encoded index value in dependence on the property described by the one or more syntax elements.
25. The encoder (600) of any of claims 21 to 24, wherein the encoder (600) is configured to adapt a number of bins used for providing the encoded index indicating the se- lected processing scheme (540) depending on the property described by the one or more syntax elements.
26. The encoder (600) of any of claims 21 to 25, wherein the encoder (600) is configured to determine a set of processing schemes allowable in view of the property described by the one or more syntax elements and select a processing scheme (540) from the determined set.
27. The encoder (600) of any of claims 21 to 26, wherein the encoder (600) is configured to determine whether a single processing scheme (540) is allowable for the portion (585) of the video sequence and selectively omit the inclusion of an encoded index in response to the finding that only a single processing scheme (540) is allowable for the portion (585) of the video sequence.
28. The encoder (600) of any of claims 21 to 27, wherein the encoder (600) is configured to select a mapping rule mapping an index value onto an encoded index value such that a number of bins representing the encoded index value is adapted to a number of processing schemes allowable for the portion (585) of the video sequence.
29. The encoder (600) of any of claims 21 to 28, wherein the processing scheme (540) is a filter or a set of filters.
30. The encoder (600) of claim 29, wherein the filters in the set of filters are separably applicable to the portion (585) of the video sequence.
31. The encoder (600) of any of claims 21 to 30, wherein the encoder (600) is configured to select different processing schemes for different blocks within a video frame or picture.
32. The encoder (600) of any of claims 21 to 31 , wherein the encoder (600) is configured to encode the index indicating the selected processing scheme (540) such that a given encoded index value represents different processing schemes depending on a motion vector accuracy.
33. The encoder (600) of any of claims 21 to 32, wherein the one or more syntax ele- ments comprise at least one of a motion vector accuracy, a fractional sample posi- tion, a block size, a block shape, a number of prediction hypotheses, a prediction mode, an availability of a coded residual signal, spectral properties of the coded residual signal, a reference picture signal, loop filter data, motion vector lengths, or an adaptive motion vector resolution mode.
34. The encoder (600) of any of claims 21 to 33, wherein the encoder (600) is configured to encode the index indicating the selected processing scheme (540) such that a given encoded index value represents different processing schemes depending on a fractional part of motion vector.
35. The encoder (600) of any of claims 21 to 34, wherein the encoder (600) is configured to selectively determine a set of processing schemes for a motion vector accuracy which is between a maximum motion vector accuracy and a minimum motion vector accuracy or for a motion vector accuracy which is between a maximum motion vector accuracy and a full-sample motion vector accuracy and select processing scheme (540) from the determined set.
36. The encoder (600) of any of claims 21 to 35, wherein the encoder (600) is configured to encode an index for selecting between a first FIR filtering, a second FIR filtering and a third FIR filtering.
37. The encoder (600) of any of claims 21 fo 35, wherein the encoder (600) is configured to encode an index for selecting between a first FIR filtering and a second FIR filter- ing.
38. The encoder (600) of any of claims 21 to 36, wherein the encoder (600) is configured to select between processing schemes having different characteristics.
39. The encoder (600) of claim 24 or claim 28, wherein the encoder (600) is configured to select the mapping rule in dependence on a motion vector accuracy and a frac- tional sample position or fractional part of motion vector.
40. The encoder (600) of any of claims 21 to 39, wherein the encoder (600) is configured to determine available sets of processing schemes in dependence on motion vector accuracy.
41. The encoder (600) of any of claims 21 to 40, wherein the encoder (600) is configured to select between a quarter-sample motion vector resolution, a half-sample motion vector resolution, a full-sample motion vector resolution and a four-sample motion vector resolution.
42. The encoder (500;600) of any of the preceding claims, wherein the processing scheme (540) comprises one or more FIR filters.
43. A decoder (700) for hybrid video coding, the decoder (700) for providing an output video content (712) on the basis of an encoded representation (714) of a video se- quence, the decoder (700) configured to
obtain a bit stream as the encoded representation (714) of the video sequence; identify from the bit stream one or more syntax elements (520) related to a portion (785) of the video sequence;
identify a processing scheme (540) for the portion (785) of the video sequence based on the one or more syntax elements (520) and an index (550), the processing scheme (540) for obtaining a sample (401 ;411;415;417) for a motion-compensated prediction at an integer (401) and/or fractional location (411 ;415;417) within the por- tion (785) of the video sequence, wherein the decoder (700) is configured to assign different processing schemes to a given encoded index value depending on the one or more syntax elements (520;) and
apply the identified processing scheme (540) to the portion (785) of the video se- quence.
44. The decoder (700) of claim 43, wherein the processing scheme (540) is a filter or a set of filters.
45. The decoder (700) of claim 44, wherein the filters in the set of filters are separably applicable to the portion (785) of the video sequence.
46. The decoder (700) of any of clams 43 to 45, wherein the decoder (700) is configured to select filters depending on a fractional part of a motion vector.
47. The decoder (700) of any of claims 43 to 46, wherein the decoder (700) is configured to select different filters for filtering in a first direction and for filtering in a second direction depending on a fractional part of a motion vector.
48. The decoder (700) of any of claims 43 to 47, wherein the decoder (700) is configured to select different filters for filtering in a first direction and for filtering in a second direction such that a stronger low pass filtering is applied for a filtering in a direction in which a fractional part of a motion vector lies on full samples (401).
49. The decoder (700) of any of claims 43 to 48, wherein the decoder (700) is configured to select a filter signaled by a syntax element or a predetermined filter in dependence on one or more fractional parts of a motion vector.
50. The decoder (700) of any of claims 43 to 49, wherein the decoder (700) is configured to select a first filter signaled by a filter syntax element or a second filter signaled by the filter syntax element in dependence one or more fractional part of motion vector.
51. The decoder (700) of any of claims 43 to 50, wherein the decoder (700) is configured to take over a filter selection from a neighboring block in a merge mode.
52. The decoder (700) of any of claims 43 to 51 , wherein the selected processing scheme (540) defines a filtering of luma components and/or a filtering of chroma components.
53. The decoder (700) of any of claims 43 to 52, wherein the decoder (700) is configured to select a filter in dependence on a prediction mode.
54. The decoder (700) of any of claims 43 to 53, wherein the decoder (700) is configured to adapt a mapping rule mapping an encoded index value onto an indication indicat- ing a processing scheme (540) in dependence on the one or more syntax elements (520).
55. The decoder (700) of any of claims 43 to 54, wherein the decoder (700) is configured to adapt a number of bins used for identifying the encoded index indicating the se- lected processing scheme (540) depending on the one or more syntax elements (520).
56. The decoder (700) of any of claims 43 to 55, wherein the decoder (700) is configured to determine a set of processing schemes allowable in view of the one or more syn- tax elements (520) from which a processing scheme (540) to be applied is identified based on the one or more syntax elements (520) and the index.
57. The decoder (700) of any of claims 43 to 56, wherein the decoder (700) is configured to determine whether a single processing scheme (540) is allowable for the portion (785) of the video sequence and selectively omit the identification of an encoded index in response to the finding that only a single processing scheme (540) is allow- able for the portion (785) of the video sequence.
58. The decoder (700) of any of claims 43 to 57, wherein the decoder (700) is configured to select a mapping rule mapping an encoded index value onto an indication indicat- ing a processing scheme (540) such that a number of bins representing the encoded index value is adapted to a number of processing schemes allowable for the portion (785) of the video sequence.
59. The decoder (700) of any of claims 43 to 58, wherein the decoder (700) is configured to select different processing schemes for different blocks within a video frame or picture.
60. The decoder (700) of any of claims 43 to 59, wherein the decoder (700) is configured to decode the index indicating the selected processing scheme (540) such that a given encoded index value represents different processing schemes depending on a motion vector accuracy.
61. The decoder (700) of any of claims 43 to 60, wherein the one or more syntax ele- ments (520) comprise at least one of a motion vector accuracy, a fractional sample position, a block size, a block shape, a number of prediction hypotheses, a prediction mode, an availability of a coded residual signal, spectral properties of the coded residual signal, a reference picture signal, loop filter data, motion vector lengths, or an adaptive motion vector resolution mode.
62. The decoder (700) of any of claims 43 to 61 , wherein the decoder (700) is configured to decode the index indicating the selected processing scheme (540) such that a given encoded index value represents different processing schemes depending on a fractional part of motion vector.
63. The decoder (700) of any of claims 43 to 62, wherein the decoder (700) is configured to selectively determine a set of processing schemes for a motion vector accuracy which is between a maximum motion vector accuracy and a minimum motion vector accuracy or for a motion vector accuracy which is between a maximum motion vector accuracy and a full-sample motion vector accuracy from which a processing scheme (540) to be applied is identified.
64. The decoder (700) of any of claims 43 to 63, wherein the decoder (700) is configured to decode the index for selecting between a first FIR filtering, a second FIR filtering and a third FIR.
65. The decoder (700) of any of claims 43 to 63, wherein the decoder (700) is configured to decode the index for selecting between a first FIR filtering and a second FIR fil- tering.
66. The decoder (700) of any of claims 43 to 64, wherein the decoder (700) is configured to apply processing schemes having different characteristics.
67. The decoder (700) of claim 54 or claim 58, wherein the decoder (700) is configured to select the mapping rule in dependence on a motion vector accuracy and a frac- tional sample position or fractional part of motion vector.
68. The decoder (700) of any of claims 43 to 67, wherein the decoder (700) is configured to determine available sets of processing schemes in dependence on motion vector accuracy.
69. The decoder (700) of any of claims 43 to 68, wherein the decoder (700) is configured to apply one of a quarter-sample motion vector resolution, a half-sample motion vec- tor resolution, a full-sample motion vector resolution or a four-sample motion vector resolution.
70. The decoder (700) of any of the claims 43 to 69, wherein the processing scheme (540) comprises one or more FIR filters.
71. A decoder (800) for hybrid video coding, the decoder (800) for providing an output video content (812) on the basis of an encoded representation (714) of a video se- quence, the decoder (800) configured to
obtain a bit stream as the encoded representation (714) of the video sequence; identify from the bit stream one or more syntax elements (520) related to a portion (785) of the video sequence;
determine, depending on the one or more syntax elements (520), an entropy coding scheme (662) used in the bit stream for providing an encoded index (560), (660) indicating a processing scheme (540) for the portion (785) of the video sequence, the processing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion- compensated prediction at an integer and/or fractional location within the portion (785) of the video sequence;
identify, if the determined entropy coding scheme (662) prescribes a number of bins being greater than zero, in the bit stream the encoded index and decode the index; identify the processing scheme (540) based on the one or more syntax elements (520) and based on the decoded index if the number of bins prescribed by the de- termined coding scheme is greater than zero; and
apply the identified processing scheme (540) to the portion (785) of the video se- quence.
72. The decoder (800) of claim 71, wherein the entropy coding scheme comprises a binarization scheme used for providing the encoded index.
73. The encoder of claim 72, wherein the binarization scheme comprises a number of bins used for providing the encoded index.
74. The decoder (800) of any of claims 71 to 73, wherein the processing scheme (540) is a filter or a set of filters.
75. The decoder (800) of claim 74, wherein the filters in the set of filters are separably applicable to the portion (785) of the video sequence.
76. The decoder (800) of any of clams 71 to 75, wherein the decoder (800) is configured to select filters depending on fractional part of motion vector.
77. The decoder (800) of any of claims 71 to 76, wherein the decoder (800) is configured to select different filters for filtering in a first direction and for filtering in a second direction depending on fractional part of motion vector.
78. The decoder (800) of any of claims 71 to 77, wherein the decoder (800) is configured to select different filters for filtering in a first direction and for filtering in a second direction such that a stronger low pass filtering is applied for a filtering in a direction in which fractional part of motion vector lie on full samples (401).
79. The decoder (800) of any of claims 71 to 78, wherein the decoder (800) is configured to select a filter signaled by a syntax element or a predetermined filter in dependence one or more fractional part of motion vector.
80. The decoder (800) of any of claims 71 to 79, wherein the decoder (800) is configured to select a first filter signaled by a filter syntax element or a second filter signaled by the filter syntax element in dependence one or more fractional part of motion vector.
81. The decoder (800) of any of claims 71 to 80, wherein the decoder (800) is configured to take over a filter selection from a neighboring block in a merge mode.
82. The decoder (800) of any of claims 71 to 81, wherein the selected processing scheme (540) defines a filtering of luma components and/or a filtering of chroma components.
83. The decoder (800) of any of claims 71 to 82, wherein the decoder (800) is configured to select a filter in dependence on prediction mode.
84. The decoder (800) of any of claims 71 to 83, wherein the decoder (800) is configured to adapt a mapping rule mapping an encoded index value onto an indication indicat- ing a processing scheme (540) in dependence on the one or more syntax elements (520).
85. The decoder (800) of any of claims 71 to 84, wherein the decoder (800) is configured to adapt a number of bins used for identifying the encoded index indicating the se- lected processing scheme (540) depending on the one or more syntax elements (520).
86. The decoder (800) of any of claims 71 to 85, wherein the decoder (800) is configured to determine a set of processing schemes allowable in view of the one or more syn- tax elements (520) from which a processing scheme (540) to be applied is identified based on the one or more syntax elements (520) and the index.
87. The decoder (800) of any of claims 71 to 86, wherein the decoder (800) is configured to determine whether a single processing scheme (540) is allowable for the portion (785) of the video sequence and selectively omit the identification of an encoded index in response to the finding that only a single processing scheme (540) is allow- able for the portion (785) of the video sequence.
88. The decoder (800) of any of claims 71 to 87, wherein the decoder (800) is configured to select a mapping rule mapping an encoded index value onto an indication indicat- ing a processing scheme (540) such that a number of bins representing the encoded index value is adapted to a number of processing schemes allowable for the portion (785) of the video sequence.
89. The decoder (800) of any of claims 71 to 88, wherein the decoder (800) is configured to select different processing schemes for different blocks within a video frame or picture.
90. The decoder (800) of any of claims 71 to 89, wherein the decoder (800) is configured to decode the index indicating the selected processing scheme (540) such that a given encoded index value represents different processing schemes depending on a motion vector accuracy.
91. The decoder (800) of any of claims 71 to 90, wherein the one or more syntax ele- ments (520) comprise at least one of a motion vector accuracy, a fractional sample position, a block size, a block shape, a number of prediction hypotheses, a prediction mode, an availability of a coded residual signal, spectral properties of the coded residual signal, a reference picture signal, loop filter data, motion vector lengths, or an adaptive motion vector resolution mode.
92. The decoder (800) of any of claims 71 to 91, wherein the decoder (800) is configured to decode the index indicating the selected processing scheme (540) such that a given encoded index value represents different processing schemes depending on a fractional part of motion vector.
93. The decoder (800) of any of claims 71 to 92, wherein the decoder (800) is configured to selectively determine a set of processing schemes for a motion vector accuracy which is between a maximum motion vector accuracy and a minimum motion vector accuracy or for a motion vector accuracy which is between a maximum motion vector accuracy and a full-sample motion vector accuracy from which a processing scheme (540) to be applied is identified.
94. The decoder (800) of any of claims 71 to 93, wherein the decoder (800) is configured to decode the index for selecting between a first FIR filtering, a second FIR filtering and a third FIR.
95. The decoder (800) of any of claims 71 to 93, wherein the decoder (800) is configured to decode the index for selecting between a first FIR filtering and a second FIR fil- tering.
96. The decoder (800) of any of claims 71 to 94, wherein the decoder (800) is configured to apply processing schemes having different characteristics.
97. The decoder (800) of claim 84 or claim 88, wherein the decoder (800) is configured to select the mapping rule in dependence on a motion vector accuracy and a frac- tional sample position or fractional part of motion vector.
98. The decoder (800) of any of claims 71 to 97, wherein the decoder (800) is configured to determine available sets of processing schemes in dependence on motion vector accuracy.
99. The decoder (800) of any of claims 71 to 98, wherein the decoder (800) is configured to apply one of a quarter-sample motion vector resolution, a half-sample motion vec- tor resolution, a full-sample motion vector resolution or a four-sample motion vector resolution.
100. The decoder (700;800) of any of the claims 43 to 99, wherein the processing scheme (540) comprises one or more FIR filters.
101. A method (5000) for hybrid video coding, the method (5000) for providing an en- coded representation (514) of a video sequence on the basis of an input video con- tent (512), the method (5000) comprising:
determining (5001) one or more syntax elements (520) related to a portion (585) of the video sequence;
selecting (5002) a processing scheme (540) to be applied to the portion (585) of the video sequence based a property described by on the one or more syntax elements (520), the processing scheme (540) for obtaining a sample (401 ;411;415;417) for a motion-compensated prediction at an integer and/or fractional location within the portion (585) of the video sequence;
encoding (5003) an index indicating the selected processing scheme (540) such that a given encoded index value represents different processing schemes depending on the property described by the one or more syntax elements (520;) and providing (5004), as the encoded representation of the video sequence, a bit stream comprising the one or more syntax elements (520) and the encoded index.
102. A method (6000) for hybrid video coding, the method for providing an encoded rep- resentation of a video sequence on the basis of an input video content, the method comprising:
determining (6001) one or more syntax elements (520) related to a portion (585) of the video sequence;
selecting (6002) a processing scheme (540) to be applied to the portion (585) of the video sequence based on a property described by the one or more syntax elements (520), the processing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion-compensated prediction at an integer and/or fractional location within the portion (585) of the video sequence;
selecting (6003) an entropy coding scheme used for providing an encoded index indicating the selected processing scheme (540) depending on the property de- scribed by the one or more syntax elements (520;) and
providing (6004), as the encoded representation of the video sequence, a bit stream comprising the one or more syntax elements (520) and comprising the encoded in- dex.
103. A method (7000) for hybrid video coding, the method for providing an output video content on the basis of an encoded representation of a video sequence, the method comprising:
obtaining (7001) a bit stream as the encoded representation of the video sequence; identifying (7002) from the bit stream one or more syntax elements (520) related to a portion (785) of the video sequence;
identifying (7003) a processing scheme (540) for the portion (785) of the video se- quence based on the one or more syntax elements (520) and an index, the pro- cessing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion-com- pensated prediction at an integer and/or fractional location within the portion (785) of the video sequence, wherein the method assigns different processing schemes to a given encoded index value depending on the one or more syntax elements (520;) and
applying (7004) the identified processing scheme (540) to the portion (785) of the video sequence.
104. A method (8000) for hybrid video coding, the method for providing an output video content on the basis of an encoded representation of a video sequence, the method comprising:
obtaining (8001) a bit stream as the encoded representation of the video sequence; identifying (8002) from the bit stream one or more syntax elements (520) related to a portion (785) of the video sequence;
determine (8003), depending on the one or more syntax elements (520), an entropy coding scheme used in the bit stream for providing an encoded index indicating a processing scheme (540) for the portion (785) of the video sequence, the processing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion-compensated prediction at an integer and/or fractional location within the portion (785) of the video sequence;
identifying (8004), if the determined entropy coding scheme prescribes a number of bins being greater than zero, in the bit stream the encoded index and decode the index;
identifying (8005) the processing scheme (540) based on the one or more syntax elements (520) and based on the decoded index if the number of bins prescribed by the determined entropy coding scheme is greater than zero; and
applying (8006) the identified processing scheme (540) to the portion (785) of the video sequence.
105. A video bit stream for hybrid video coding, the video bit stream describing a video sequence,
wherein the video bit stream comprises one or more syntax elements (520) related to a portion (585) of the video sequence;
wherein the video bit stream comprises a processing scheme (540) index bit stream element at least for some of the portions of the video sequence;
wherein a presence of the processing scheme (540) index bit stream element, varies in dependence on the one or more other syntax elements (520).
106. A video bit stream for hybrid video coding, the bit stream describing a video se- quence,
wherein the video bit stream comprises one or more syntax elements (520) related to a portion (585) of the video sequence;
wherein the video bit stream comprises a processing scheme (540) index bit stream element at least for some of the portions of the video sequence;
wherein a number of bins of the processing scheme (540) index bit stream element varies in dependence on the one or more syntax elements (520) related to the por- tion (585) of the video sequence.
107. A video bit stream for hybrid video coding, the bit stream describing a video se- quence,
wherein the video bit stream comprises one or more syntax elements (520) related to a portion (585) of the video sequence;
wherein the video bit stream comprises a processing scheme (540) index bit stream element at least for some of the portions of the video sequence;
wherein a meaning of codewords of the processing scheme (540) index bit stream element varies in dependence on the one or more syntax elements (520) related to the portion (585) of the video sequence.
108. A computer program for performing the method according to any of the claims 101 to 104 when the computer program runs on a computer.
109. A decoder (700) for hybrid video coding, the decoder (700) for providing an output video content (712) on the basis of an encoded representation (714) of a video se- quence, the decoder (700) configured to
obtain a bit stream as the encoded representation (714) of the video sequence; identify from the bit stream one or more syntax elements (520) related to a portion (785) of the video sequence;
select, depending on the one or more syntax elements (520), a processing scheme (540) for the portion (785) of the video sequence, wherein the processing scheme is completely specified by a property of the portion (785) and a fractional part of a motion vector,
the processing scheme (540) for obtaining a sample (401 ;411;415;417) fora motion- compensated prediction at an integer and/or fractional location within the portion (785) of the video sequence;
apply the identified processing scheme (540) to the portion (785) of the video se- quence.
110. The decoder according claim 109, wherein the property of the portion (785) specify- ing the processing scheme (540) relates to one or two or all of a motion vector ac- curacy, a fractional position of the sample (401 ;411 ;415;417), and a prediction mode to be used for the portion (785).
111. A decoder (700) for hybrid video coding, the decoder (700) for providing an output video content (712) on the basis of an encoded representation (714) of a video se- quence, the decoder (700) configured to
obtain a bit stream as the encoded representation (714) of the video sequence; identify from the bit stream one or more syntax elements (520) related to a portion (785) of the video sequence;
select, depending on a motion vector accuracy, a processing scheme (540) for the portion (785) of the video sequence, the processing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion-compensated prediction at an integer and/or fractional location within the portion (785) of the video sequence;
apply the identified processing scheme (540) to the portion (785) of the video se- quence.
112. The decoder (700) according to claim 111 , wherein the decoder (700) is configured to select the processing scheme (540) in dependence on a motion vector accuracy and a fractional position of the sample.
113. The decoder (700) according to claim 111 or claim 112, wherein the decoder (700) is configured to select the processing scheme (540) additionally depending on a prediction mode to be used for the portion (785).
114. The decoder (700) according to any of the claims 109 to 113, wherein the portion (785) is a prediction unit (PU) or a coding unit (CU), and wherein the decoder (700) is configured to select the processing scheme (540) individually for different portions of the video sequence.
115. A decoder (700) for hybrid video coding, the decoder (700) for providing an output video content (712) on the basis of an encoded representation (714) of a video se- quence, the decoder (700) configured to
obtain a bit stream as the encoded representation (714) of the video sequence; identify from the bit stream one or more syntax elements (520) related to a portion (785) of the video sequence;
determine, with a PU granularity or a CU granularity and depending on the one or more syntax elements (520), a processing scheme (540) for the portion (785) of the video sequence, the processing scheme (540) for obtaining a sample (401 ;411;415;417) for a motion-compensated prediction at an integer and/or frac- tional location within the portion (785) of the video sequence;
apply the identified processing scheme (540) to the portion (785) of the video se- quence.
116. The decoder (700) according any of the claims 109 to 115, wherein the decoder (700) is configured to use different processing schemes for the same fractional sam- ple position in different portions of the video sequence.
117. The decoder (700) according to any of the claims 109 to 116, wherein the decoder (700) is configured to switch the processing scheme at a PU or CU level for adapting to local image characteristics.
118. The decoder (700) according to any of the claims 109 to 117, wherein none of the one or more syntax elements (520) is explicitly dedicated for indicating the pro- cessing scheme.
119. The decoder (700) according to any of the claims 109 to 118, wherein the processing scheme (540) is a filter or a set of filters.
120. The decoder (700) of claim 119, wherein the filters in the set of filters are separably applicable to the portion (785) of the video sequence.
121. The decoder (700) according to any of the claims 109 to 120, wherein the decoder (700) is configured to select different filters for filtering in a first direction and for filtering in a second direction depending on a fractional part of a motion vector.
122. The decoder (700) according to any of the claims 109 to 121, wherein the decoder (700) is configured to select different filters for filtering in a first direction and for filtering in a second direction such that a stronger low pass filtering is applied for a filtering in a direction in which a fractional part of a motion vector lies on full samples (401).
123. The decoder (700) according to any of the claims 109 to 122, wherein the decoder (700) is configured to take over a filter selection from a neighboring block in a merge mode.
124. The decoder (700) according to any of the claims 109 to 123, wherein the selected processing scheme (540) defines a filtering of luma components and/or a filtering of chroma components.
125. The decoder (700) according to any of the claims 109 to 124, wherein the decoder (700) is configured to select different processing schemes for different blocks within a video frame or picture.
126. The decoder (700) according to any of the claims 109 to 125, wherein the one or more syntax elements (520) comprise at least one of a motion vector accuracy, a fractional sample position, a block size, a block shape, a number of prediction hy- potheses, a prediction mode, an availability of a coded residual signal, spectral prop- erties of the coded residual signal, a reference picture signal, loop filter data, motion vector lengths, or an adaptive motion vector resolution mode.
127. The decoder (700) according to any of the claims 109 to 126, wherein the decoder (700) is configured to selectively determine a set of processing schemes for a motion vector accuracy which is between a maximum motion vector accuracy and a mini- mum motion vector accuracy or for a motion vector accuracy which is between a maximum motion vector accuracy and a full-sample motion vector accuracy from which a processing scheme (540) to be applied is identified.
128. The decoder (700) according to any of the claims 109 to 127, wherein the decoder (700) is configured to apply processing schemes having different characteristics.
129. The decoder (700) according to any of the claims 109 to 128, wherein the decoder (700) is configured to apply one of a quarter-sample motion vector resolution, a half- sample motion vector resolution, a full-sample motion vector resolution or a four- sample motion vector resolution.
130. The decoder (700) according to any of the claims 109 to 129, wherein the processing scheme (540) comprises one or more FIR filters.
131. An encoder (1300) for hybrid video coding, the encoder (1300) for providing an en- coded representation (1314) of a video sequence on the basis of an input video content (512), the encoder (1300) configured to
determine one or more syntax elements (520) related to a portion (585) of the video sequence;
select a processing scheme (540) to be applied to the portion (585) of the video sequence based on a property described by the one or more syntax elements (520), wherein the processing scheme is completely specified by the property of the portion (585) and a fractional part of a motion vector,
the processing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion- compensated prediction at an integer and/or fractional location within the portion (585) of the video sequence;
provide, as the encoded representation (1314) of the video sequence, a bit stream comprising the one or more syntax elements (520).
132. The encoder (1300) according to claim 131, wherein the property described by the one or more syntax elements (520) relates to one or two or all of a motion vector accuracy, a fractional position of the sample (401;411 ;415;417), and a prediction mode to be used for the portion (785).
133. An encoder (1300) for hybrid video coding, the encoder (1300) for providing an en- coded representation (1314) of a video sequence on the basis of an input video content (512), the encoder (1300) configured to
determine one or more syntax elements (520) related to a portion (585) of the video sequence;
select a processing scheme (540) to be applied to the portion (585) of the video sequence based on a motion vector accuracy described by the one or more syntax elements (520), the processing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion-compensated prediction at an integer and/or frac- tional location within the portion (785) of the video sequence
provide, as the encoded representation (1314) of the video sequence, a bit stream comprising the one or more syntax elements (520).
134. The encoder (1300) according to claim 133, wherein the encoder (1300) is config- ured to select the processing scheme (540) based on the motion vector accuracy and a fractional position of the sample.
135. The encoder (1300) according to claim 133 or claim 134, wherein the encoder (1300) is configured to select the processing scheme (540) additionally depending on a prediction mode to be used for the portion (785).
136. The encoder (1300) according to any of the claims 131 to 135, wherein the portion (785) is a prediction unit (PU) or a coding unit (CU), and wherein the encoder (1300) is configured to select the processing scheme (540) individually for different portions of the video sequence.
137. An encoder (1300) for hybrid video coding, the encoder (1300) for providing an en- coded representation (1314) of a video sequence on the basis of an input video content (512), the encoder (1300) configured to
determine one or more syntax elements (520) related to a portion (585) of the video sequence;
select, with a PU granularity or a CU granularity, a processing scheme (540) to be applied to the portion (585) of the video sequence based on a property described by the one or more syntax elements (520), the processing scheme (540) for obtaining a sample (401 ;411;415;417) for a motion-compensated prediction at an integer and/or fractional location within the portion (785) of the video sequence; provide, as the encoded representation (1314) of the video sequence, a bit stream comprising the one or more syntax elements (520).
138. The encoder (1300) according any of the claims 131 to 137, wherein the encoder (1300) is configured to use different processing schemes for the same fractional sample position in different portions of the video sequence.
139. The encoder (1300) according to any of the claims 131 to 138, wherein the encoder (1300) is configured to switch the processing scheme at a PU or CU level for adapt- ing to local image characteristics.
140. The encoder (1300) according to any of the claims 131 to 139, wherein none of the one or more syntax elements (520) is explicitly dedicated for indicating the pro- cessing scheme.
141. The encoder (1300) according to any of the claims 131 to 140, wherein the encoder is configured to determine a set of processing schemes allowable in view of the property described by the one or more syntax elements and select a processing scheme (540) from the determined set.
142. The encoder (1300) according to any of the claims 131 to 141, wherein the pro- cessing scheme (540) is a filter or a set of filters.
143. The encoder (1300) of claim 142, wherein the filters in the set of filters are separably applicable to the portion (585) of the video sequence.
144. The encoder (1300) according to any of the claims 131 to 143, wherein the encoder is configured to select different processing schemes for different blocks within a video frame or picture.
145. The encoder (1300) according to any of the claims 131 to 144, wherein the one or more syntax elements (520) comprise at least one of a motion vector accuracy, a fractional sample position, a block size, a block shape, a number of prediction hy- potheses, a prediction mode, an availability of a coded residual signal, spectral prop- erties of the coded residual signal, a reference picture signal, loop filter data, motion vector lengths, or an adaptive motion vector resolution mode.
146. The encoder (1300) according to any of the claims 131 to 145, wherein the encoder is configured to selectively determine a set of processing schemes for a motion vec- tor accuracy which is between a maximum motion vector accuracy and a minimum motion vector accuracy or for a motion vector accuracy which is between a maximum motion vector accuracy and a full-sample motion vector accuracy and select the processing scheme (540) from the determined set.
147. The encoder (1300) according to any of the claims 131 to 146, wherein the encoder is configured to select between processing schemes having different characteristics.
148. The encoder (1300) according to any of the claims 131 to 147, wherein the encoder is configured to select between a quarter-sample motion vector resolution, a half- sample motion vector resolution, a full-sample motion vector resolution and a four- sample motion vector resolution.
149. The encoder (1300) according to any of the claims 131 to 148, wherein the pro- cessing scheme (540) comprises one or more FIR filters.
150. A method (7100) for hybrid video coding, the method for providing an output video content (712) on the basis of an encoded representation (1314) of a video sequence, the method comprising:
obtaining (7101) a bit stream as the encoded representation (714) of the video se- quence;
identifying (7102) from the bit stream one or more syntax elements (520) related to a portion (785) of the video sequence;
selecting (7103), depending on the one or more syntax elements (520), a processing scheme (540) for the portion (785) of the video sequence, wherein the processing scheme is completely specified by a property of the portion (785) and a fractional part of a motion vector,
the processing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion- compensated prediction at an integer and/or fractional location within the portion (785) of the video sequence;
applying (7104) the identified processing scheme (540) to the portion (785) of the video sequence.
151. A method (7200) for hybrid video coding, the method for providing an output video content (712) on the basis of an encoded representation (1314) of a video sequence, the method comprising:
obtaining (7201) a bit stream as the encoded representation (714) of the video se- quence;
identifying (7202) from the bit stream one or more syntax elements (520) related to a portion (785) of the video sequence;
selecting (7203), depending on a motion vector accuracy, a processing scheme (540) for the portion (785) of the video sequence, the processing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion-compensated prediction at an integer and/or fractional location within the portion (785) of the video sequence; applying (7204) the identified processing scheme (540) to the portion (785) of the video sequence.
152. A method (7300) for hybrid video coding, the method for providing an output video content (712) on the basis of an encoded representation (1314) of a video sequence, the method comprising:
obtaining (7301) a bit stream as the encoded representation (714) of the video se- quence;
identifying (7302) from the bit stream one or more syntax elements (520) related to a portion (785) of the video sequence;
determining (7303), with a PU granularity or a CU granularity and depending on the one or more syntax elements (520), a processing scheme (540) for the portion (785) of the video sequence, the processing scheme (540) for obtaining a sample (401 ;411;415;417) for a motion-compensated prediction at an integer and/or frac- tional location within the portion (785) of the video sequence;
apply (7304) the identified processing scheme (540) to the portion (785) of the video sequence.
153. A method (1310) for hybrid video coding, the method (1310) for providing an en- coded representation (1314) of a video sequence on the basis of an input video content (512), the method (1310) comprising:
determining (1311) one or more syntax elements (520) related to a portion (585) of the video sequence;
selecting (1312) a processing scheme (540) to be applied to the portion (585) of the video sequence based on a property described by the one or more syntax elements (520), wherein the processing scheme is completely specified by the property of the portion (585) and a fractional part of a motion vector,
the processing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion- compensated prediction at an integer and/or fractional location within the portion (585) of the video sequence;
providing (1313), as the encoded representation (1314) of the video sequence, a bit stream comprising the one or more syntax elements (520).
154. A method (1320) for hybrid video coding, the method for providing an encoded rep- resentation (1314) of a video sequence on the basis of an input video content (512), the method comprising:
determining (1321) one or more syntax elements (520) related to a portion (585) of the video sequence;
selecting (1322) a processing scheme (540) to be applied to the portion (585) of the video sequence based on a motion vector accuracy described by the one or more syntax elements (520), the processing scheme (540) for obtaining a sample (401 ;411;415;417) for a motion-compensated prediction at an integer and/or frac- tional location within the portion (785) of the video sequence;
providing (1323), as the encoded representation (1314) of the video sequence, a bit stream comprising the one or more syntax elements (520).
155. A method (1330) for hybrid video coding, the method for providing an encoded rep- resentation (1314) of a video sequence on the basis of an input video content (512), the method comprising:
determining (1331) one or more syntax elements (520) related to a portion (585) of the video sequence;
selecting (1332), with a PU granularity or a CU granularity, a processing scheme (540) to be applied to the portion (585) of the video sequence based on a property described by the one or more syntax elements (520), the processing scheme (540) for obtaining a sample (401 ;411 ;415;417) for a motion-compensated prediction at an integer and/or fractional location within the portion (785) of the video sequence; providing (1333), as the encoded representation (1314) of the video sequence, a bit stream comprising the one or more syntax elements (520).
156. A computer program for performing the method according to any of the claims 150 to 155 when the computer program runs on a computer.
| Section | Controller | Decision Date |
|---|---|---|
| # | Name | Date |
|---|---|---|
| 1 | 202137040671-IntimationOfGrant15-07-2024.pdf | 2024-07-15 |
| 1 | 202137040671-STATEMENT OF UNDERTAKING (FORM 3) [08-09-2021(online)].pdf | 2021-09-08 |
| 2 | 202137040671-FORM 1 [08-09-2021(online)].pdf | 2021-09-08 |
| 2 | 202137040671-PatentCertificate15-07-2024.pdf | 2024-07-15 |
| 3 | 202137040671-FORM 13 [11-07-2024(online)].pdf | 2024-07-11 |
| 3 | 202137040671-FIGURE OF ABSTRACT [08-09-2021(online)].pdf | 2021-09-08 |
| 4 | 202137040671-Written submissions and relevant documents [11-07-2024(online)].pdf | 2024-07-11 |
| 4 | 202137040671-DRAWINGS [08-09-2021(online)].pdf | 2021-09-08 |
| 5 | 202137040671-FORM-26 [26-06-2024(online)].pdf | 2024-06-26 |
| 5 | 202137040671-DECLARATION OF INVENTORSHIP (FORM 5) [08-09-2021(online)].pdf | 2021-09-08 |
| 6 | 202137040671-Correspondence to notify the Controller [24-06-2024(online)].pdf | 2024-06-24 |
| 6 | 202137040671-COMPLETE SPECIFICATION [08-09-2021(online)].pdf | 2021-09-08 |
| 7 | 202137040671-US(14)-ExtendedHearingNotice-(HearingDate-27-06-2024).pdf | 2024-05-24 |
| 7 | 202137040671-FORM 18 [15-09-2021(online)].pdf | 2021-09-15 |
| 8 | 202137040671.pdf | 2021-10-19 |
| 8 | 202137040671-REQUEST FOR ADJOURNMENT OF HEARING UNDER RULE 129A [23-05-2024(online)].pdf | 2024-05-23 |
| 9 | 202137040671-Proof of Right [10-11-2021(online)].pdf | 2021-11-10 |
| 9 | 202137040671-US(14)-HearingNotice-(HearingDate-27-05-2024).pdf | 2024-05-07 |
| 10 | 202137040671-FORM 3 [02-11-2023(online)].pdf | 2023-11-02 |
| 10 | 202137040671-FORM-26 [10-11-2021(online)].pdf | 2021-11-10 |
| 11 | 202137040671-FORM 3 [16-05-2023(online)].pdf | 2023-05-16 |
| 11 | 202137040671-POA [25-02-2022(online)].pdf | 2022-02-25 |
| 12 | 202137040671-ABSTRACT [25-02-2023(online)].pdf | 2023-02-25 |
| 12 | 202137040671-FORM 3 [25-02-2022(online)].pdf | 2022-02-25 |
| 13 | 202137040671-CLAIMS [25-02-2023(online)].pdf | 2023-02-25 |
| 13 | 202137040671-FORM 13 [25-02-2022(online)].pdf | 2022-02-25 |
| 14 | 202137040671-AMENDED DOCUMENTS [25-02-2022(online)].pdf | 2022-02-25 |
| 14 | 202137040671-DRAWING [25-02-2023(online)].pdf | 2023-02-25 |
| 15 | 202137040671-FER.pdf | 2022-05-27 |
| 15 | 202137040671-FER_SER_REPLY [25-02-2023(online)].pdf | 2023-02-25 |
| 16 | 202137040671-FORM 4(ii) [23-11-2022(online)].pdf | 2022-11-23 |
| 16 | 202137040671-OTHERS [25-02-2023(online)].pdf | 2023-02-25 |
| 17 | 202137040671-FORM 3 [29-11-2022(online)].pdf | 2022-11-29 |
| 18 | 202137040671-OTHERS [25-02-2023(online)].pdf | 2023-02-25 |
| 18 | 202137040671-FORM 4(ii) [23-11-2022(online)].pdf | 2022-11-23 |
| 19 | 202137040671-FER.pdf | 2022-05-27 |
| 19 | 202137040671-FER_SER_REPLY [25-02-2023(online)].pdf | 2023-02-25 |
| 20 | 202137040671-AMENDED DOCUMENTS [25-02-2022(online)].pdf | 2022-02-25 |
| 20 | 202137040671-DRAWING [25-02-2023(online)].pdf | 2023-02-25 |
| 21 | 202137040671-CLAIMS [25-02-2023(online)].pdf | 2023-02-25 |
| 21 | 202137040671-FORM 13 [25-02-2022(online)].pdf | 2022-02-25 |
| 22 | 202137040671-ABSTRACT [25-02-2023(online)].pdf | 2023-02-25 |
| 22 | 202137040671-FORM 3 [25-02-2022(online)].pdf | 2022-02-25 |
| 23 | 202137040671-FORM 3 [16-05-2023(online)].pdf | 2023-05-16 |
| 23 | 202137040671-POA [25-02-2022(online)].pdf | 2022-02-25 |
| 24 | 202137040671-FORM-26 [10-11-2021(online)].pdf | 2021-11-10 |
| 24 | 202137040671-FORM 3 [02-11-2023(online)].pdf | 2023-11-02 |
| 25 | 202137040671-Proof of Right [10-11-2021(online)].pdf | 2021-11-10 |
| 25 | 202137040671-US(14)-HearingNotice-(HearingDate-27-05-2024).pdf | 2024-05-07 |
| 26 | 202137040671-REQUEST FOR ADJOURNMENT OF HEARING UNDER RULE 129A [23-05-2024(online)].pdf | 2024-05-23 |
| 26 | 202137040671.pdf | 2021-10-19 |
| 27 | 202137040671-FORM 18 [15-09-2021(online)].pdf | 2021-09-15 |
| 27 | 202137040671-US(14)-ExtendedHearingNotice-(HearingDate-27-06-2024).pdf | 2024-05-24 |
| 28 | 202137040671-COMPLETE SPECIFICATION [08-09-2021(online)].pdf | 2021-09-08 |
| 28 | 202137040671-Correspondence to notify the Controller [24-06-2024(online)].pdf | 2024-06-24 |
| 29 | 202137040671-DECLARATION OF INVENTORSHIP (FORM 5) [08-09-2021(online)].pdf | 2021-09-08 |
| 29 | 202137040671-FORM-26 [26-06-2024(online)].pdf | 2024-06-26 |
| 30 | 202137040671-DRAWINGS [08-09-2021(online)].pdf | 2021-09-08 |
| 30 | 202137040671-Written submissions and relevant documents [11-07-2024(online)].pdf | 2024-07-11 |
| 31 | 202137040671-FORM 13 [11-07-2024(online)].pdf | 2024-07-11 |
| 31 | 202137040671-FIGURE OF ABSTRACT [08-09-2021(online)].pdf | 2021-09-08 |
| 32 | 202137040671-PatentCertificate15-07-2024.pdf | 2024-07-15 |
| 32 | 202137040671-FORM 1 [08-09-2021(online)].pdf | 2021-09-08 |
| 33 | 202137040671-STATEMENT OF UNDERTAKING (FORM 3) [08-09-2021(online)].pdf | 2021-09-08 |
| 33 | 202137040671-IntimationOfGrant15-07-2024.pdf | 2024-07-15 |
| 1 | 202137040671E_27-05-2022.pdf |