Encoder, decoder, method and computer program for improved lossless compression
By disabling certain encoding tools and checking encoding parameters, the problem of insufficient redundant lossless encoding capabilities in lossless video encoding is solved, and lossless encoding with low bit rate and high encoding efficiency is achieved.
Patent Information
- Application Number
- CN202411729595.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-07-05
- Filing Date
- 2020-07-02
- Publication Date
- 2025-03-21
AI Technical Summary
In the prior art, in the lossless video encoding, there are problems such as insufficient redundant lossless encoding capabilities and complex behavior adjustment of encoding tools, resulting in high bit rate and low encoding efficiency.
Lossless encoding is achieved by disabling tools for handling predicted residual corrections, such as adaptive loop filters and shaping tools, in conjunction with checking whether multiple encoding parameters indicate lossless predicted residual encoding.
The bit rate of lossless encoding is reduced, encoding efficiency is improved, and the syntax elements of lossless encoding is simplified, reducing the number of encoding parameters in the data stream.
Smart Images

Figure CN119676443A_ABST
Abstract
Description
[0001] This application is a divisional application of the PCT invention patent application with application number No. 202080049515.4 and invention name “Encoder, decoder, method and computer program for improved lossless compression”, which was submitted to the International Bureau on July 2, 2020 and entered the Chinese national phase on January 5, 2022. Technical Field
[0002] Embodiments according to the invention relate to encoders, decoders, methods and computer programs for improved lossless compression.The invention relates to extensions for lossless compression in modern hybrid image and video coding solutions.
[0003] Industrial achievements
[0004] In the following, different inventive embodiments and aspects will be described. Furthermore, other embodiments will be defined by the accompanying claims.
[0005] It should be noted that any embodiment defined by the claims may be supplemented by any of the details (features and functions) described in the following different inventive embodiments and aspects.
[0006] In addition, it should be noted that the various aspects described herein can be used alone or in combination. Therefore, details can be added to each of the individual aspects without adding details to another aspect of the aspect.
[0007] It should also be noted that the present disclosure explicitly or implicitly describes features that can be used for encoders (devices for providing an encoded representation of an input signal) and decoders (devices for providing a decoded representation of a signal based on the encoded representation). Therefore, any feature described herein can be used in the context of an encoder and in the context of a decoder.
[0008] In addition, the features and functions related to the method disclosed herein may also be used in a device (configured to perform such functions). In addition, any features and functions disclosed herein about the device may also be used in the corresponding method. In other words, the method disclosed herein may be supplemented by any features and functions described for the device.
[0009] Furthermore, as will be described in the "Alternative Implementations" section, any of the features and functions described herein may be implemented in hardware or software, or using a combination of hardware and software. Background Art
[0010] In existing lossy video compression, the encoder uses a specific quantization step size Δ to quantize the prediction residual or the transformed prediction residual. The smaller the step size, the finer the quantization and the smaller the error between the original signal and the reconstructed signal. Recent video coding standards (such as H.264 and H.265) derive the quantization step size Δ using an exponential function of the so-called quantization parameter (QP), for example:
[0011]
[0012] The exponential relationship between the quantization step size and the quantization parameter allows for finer adjustments to the resulting bitrate. The decoder needs to know the quantization step size to correctly scale the quantized signal. This stage is sometimes called "inverse quantization", although quantization is irreversible. This is why the decoder parses the scaling factor or QP from the bitstream. QP signaling is usually performed hierarchically, i.e., the base QP is signaled at a higher level (e.g., picture level) in the bitstream. At the sub-picture level (at which a picture may consist of multiple slices, tiles, or bricks), only the increment of the base QP is signaled. In order to adjust the bitrate with finer granularity, the incremental QP can even be signaled per block or region of blocks, e.g., in HEVC, the incremental QP is signaled in one transform unit within an NxN region of a coding block. Encoders typically use incremental QP techniques for subjective optimization or rate control algorithms. Without loss of generality, the following assumes that the basic unit in the present invention is a picture, so the encoder signals a base QP for each picture consisting of a single slice. In addition to this base QP (also called slice QP), a delta QP may be signaled for each transform block (or any union of transform blocks, also called quantization group).
[0013] Existing video coding schemes such as High Efficiency Video Coding (HEVC) or the upcoming Versatile Video Coding (VVC) standard optimize energy compression of various residual signal types by allowing additional transforms in addition to the widely used integer approximation of the type II discrete cosine transform (DCT-II). The HEVC standard further specifies an integer approximation of the type VII discrete sine transform (DST-VII) for 4×4 transform blocks using a specific intra-frame direction mode. Due to this fixed mapping, there is no need to signal whether DCT-II or DST-VII is used. In addition, the identity transform can be selected for the 4×4 transform block. Here, the encoder needs to signal whether to apply DCT-II / DST-VII or the identity transform. Since the identity transform is equivalent to a matrix multiplied by 1, it is also called transform skipping. In addition, the current VVC development allows the encoder to select more transforms in the DCT / DST series for the residual and additional inseparable transforms, which are applied after the DCT / DST transform at the encoder and before the inverse DCT / DST at the decoder. Both the extended set of DCT / DST transforms and the additional non-separable transforms require additional signaling for each transform block.
[0014] Figure 1b A hybrid video coding method is illustrated, wherein a transformation and subsequent quantization of the residual signal 24 is performed in the forward direction at the encoder 10, and scaling of the quantized transform coefficients followed by an inverse transform is performed for the decoder 36. The transform and quantization related blocks 28 / 32 and 52 / 54 are highlighted.
[0015] Modern image and video coding solutions, such as High Efficiency Video Coding (HEVC, H.265, ISO / IEC 23008-3) and the currently developed Versatile Video Coding (VVC, H.266), allow efficient compression of still or motion picture content even at very low bit rates. A typical use case for these codec (encoder-decoder) solutions is the lossy compression of high-resolution video material for broadcast (e.g., television) and streaming (e.g., IP video) applications. Nevertheless, the codec also supports lossless compression, allowing a mathematically perfect reconstruction of the encoded input signal upon decoding. More specifically, HEVC provides several pulse code modulation (PCM) related coding tools, as well as the so-called transform quantization bypass coding mode, which facilitates lossless coding by simplifying the entropy coding process and by disabling the quantization, transform (DCT or DST) and deblocking steps. Detailed information can be found in the publicly available HEVC syntax and decoding specifications [1].
[0016] In the current version of VVC (the successor to HEVC under development), the lossless coding capabilities of HEVC have been largely inherited (at least in the reference codec software [2]). This means that both PCM-related coding tools and transform quantization bypass coding modes are available for activation by the HEVC encoder and the current VVC reference encoder. In addition, the transform quantization bypass coding flag (1-bit syntax element) is specified not only for the entire bitstream or pictures (frames) of the bitstream, but also for individual sub-blocks (coding units CU or transform units TU) of the bitstream or frame. In other words, in HEVC and VVC, transform quantization bypass coding can be enabled on a sub-block basis, allowing each sub-block to disable quantization, transform and deblocking coding tools individually.
[0017] Recently, the above-mentioned contribution to the VVC standardization activity within JVET has been introduced, which corrects a specific lossless coding related deficiency of the transform skip coding functionality in the current VVC draft (which is also present in HEVC) and stipulates that: for a given coded sub-block (CU or TU), the inverse residual coefficient transform operation (inverse DCT or DST) is bypassed. More specifically, the contribution proposes to limit the quantization step size controlled by the quantization parameter (QP) to a value greater than or equal to 1 (represented by a QP of 4) in case transform skip is activated in a sub-block. Therefore, with a QP of 4 and disabled loop filtering in the spatial area covered by the sub-block, lossless coding can be achieved when transform skip is activated. However, this behavior is the same as the use of the transform quantization bypass coding mode, because quantization with QP=4 (i.e. unity step size) effectively represents a bypass of the quantization algorithm.
[0018] Furthermore, in order to achieve lossless coding at acceptably low bitrates using VVC or any other video codec with similar lossy coding capabilities and toolsets, the behavior of some other newly introduced coding tools (which are not available in HEVC and previous video coding standards) may have to be changed. Specifically,
[0019] It may be necessary to disable the newly introduced adaptive loop filter (ALF) and shaping tools;
[0020] The matrix of the joint inter-chroma transform [3] needs to be changed to allow lossless coding.
[0021] The object of the present invention is to provide a solution to the above two drawbacks of redundant lossless coding capabilities (regarding transform quantization bypass and transform skip functionalities) and the necessity to modify the behavioral details of some coding tools when lossless coding is required.
[0022] Therefore, it would be desirable to provide concepts for lossless encoding of pictures or videos at acceptably low bit rates and / or improved lossless compression.
[0023] This is achieved by the subject-matter of the independent claims of the present application.
[0024] Further embodiments according to the invention are defined by the subject matter of the dependent claims of the present application. Summary of the invention
[0025] According to a first aspect of the present invention, the inventors of the present application have realized that one problem encountered when trying to improve lossless coding of pictures or videos stems from the fact that some tools of the decoder or encoder, such as adaptive loop filters (ALFs) and shaping tools, lead to lossy coding. According to the first aspect of the present application, this difficulty is overcome by disabling one or more tools for processing prediction reconstruction corrected by prediction residuals to avoid loss of information after lossless reconstruction of a predetermined part of the picture. In other words, post-reconstruction modification of samples of a predetermined part of the picture is disabled. In addition, the first aspect is based on the idea that one or more tools can be disabled for lossless coding without the need for syntax elements indicating lossless prediction residual coding for a predetermined part of the picture. The decoder and the encoder can be configured to infer that lossless prediction residual coding is to be used for a predetermined part of the picture based on a plurality of coding parameters contained in a data stream, thereby eliminating the need for explicit signaling of lossless coding. The decoder is configured to advantageously switch between lossless coding and lossy coding for each part of the picture. No additional signaling indicating lossless coding for each part of the picture is required. This results in a reduction in the amount of data to be encoded and a reduction in the amount of data used to decode a predetermined portion of a picture. Improved lossless coding compression can be achieved. The data stream may include a lossless coding syntax element that indicates whether a predetermined area of a picture or the entire picture is encoded using lossless coding, but the data stream no longer needs to include a lossless coding syntax element for each portion of the picture. This is due to the ability of the decoder and / or encoder to check whether the coding parameters indicate lossless prediction residual coding. It is also found that higher coding efficiency and reduced bit rate can be achieved by combining disabling one or more tools of the decoder or encoder and checking whether multiple coding parameters indicate coding parameter settings corresponding to lossless prediction residual coding.
[0026] Therefore, according to a first aspect of the present application, a decoder for decoding a picture from a data stream is configured to check whether a plurality of coding parameters, such as a quantization parameter (QP) and / or a transform mode (TM), indicate a coding parameter setting corresponding to lossless prediction residual coding, wherein the plurality of coding parameters are contained in the data stream, are associated with a predetermined portion of the picture, and control the prediction residual transform mode and quantization precision for the predetermined portion. Such a coding parameter setting corresponding to lossless prediction residual coding is represented, for example, by (QP, TM) = (4, transform skip) or (QP, TM) = (1 ... 4, transform skip). The coding parameter setting corresponds to lossless prediction residual coding because such coding is immediately signaled by the coding parameter setting or is caused by a decoder configured as follows: the decoder is configured to interpret or change such coding parameter setting into a coding parameter setting that causes lossless residual coding, for example, mapping a quantization parameter less than four (QP<4) to a quantization parameter equal to four (QP=4) when the transform mode is transform skip. Such interpretation or change of the coding parameter setting may be based on the plurality of coding parameters. The decoder may be configured to derive from the plurality of encoding parameters whether to use lossy prediction residual encoding or lossless prediction residual encoding for a predetermined portion of the picture. In response to the plurality of encoding parameters indicating encoding parameter settings corresponding to lossless prediction residual encoding, the decoder is configured to set one or more predetermined encoding options associated with one or more tools (e.g., deblocking, sample adaptive offset filtering (SAO) and / or adaptive loop filtering (ALF)) used by the decoder to process prediction reconstruction corrected by prediction residuals for the predetermined portion, such that the one or more tools are disabled for the predetermined portion.
[0027] In parallel with the decoder, an encoder for encoding a picture into a data stream is configured to signal a plurality of encoding parameters in the data stream and to check whether the plurality of encoding parameters indicate encoding parameter settings corresponding to lossless prediction residual encoding, wherein the plurality of encoding parameters are associated with a predetermined portion of the picture and control a prediction residual transform mode and a quantization precision with respect to the predetermined portion. In response to the plurality of encoding parameters indicating the encoding parameter settings corresponding to lossless prediction residual encoding, the encoder is configured to set one or more predetermined encoding options associated with one or more tools of the encoder for processing prediction reconstruction corrected by prediction residual with respect to the predetermined portion, such that the one or more tools are disabled in a prediction loop of the encoder for the predetermined portion.
[0028] According to a second aspect of the present invention, the inventors of the present application realize that a problem encountered when trying to improve the lossless encoding of a picture or video stems from the fact that lossless encoding generally produces a significantly higher bit rate than lossy encoding. According to a second aspect of the present application, this difficulty is overcome by using different codes in the binarization for lossless encoding and lossy encoding. It is possible to switch between different binarizations for lossless encoding and lossy encoding. It is found that binarization with reduced computational complexity relative to binarization in the lossy case significantly reduces the bit rate of lossless encoding. For example, compared to lossy encoding, in the case of lossless encoding, the computational complexity is reduced by using an equal probability bypass mode in CABAC using context modeling and binary arithmetic coding instead of a conventional coding mode to encode more binary values. Therefore, processing bottlenecks can be prevented.
[0029] Therefore, a second aspect of the present application relates to a decoder for decoding a picture from a data stream and an encoder for encoding a picture into a data stream. The decoder (encoder) is configured to: for a predetermined portion of the picture, determine whether to (is to) use lossless coding or lossy coding to encode it into the data stream. The decoder (encoder) is configured to: if the predetermined portion of the picture (is to) be encoded into the data stream using lossless coding, then in a first manner, use the prediction residual data to binarize the binary value string and context-adaptive binary entropy decoding (encoding) of the binary value string, decode the prediction residual for the predetermined portion from the data stream (encode the prediction residual for the predetermined portion into the data stream); and if the predetermined portion of the picture (is to) be encoded into the data stream using lossy coding, then in a second manner, use the prediction residual data to binarize the binary value string and context-adaptive binary entropy decoding (encoding) of the binary value string, decode the prediction residual for the predetermined portion from the data stream (encode the prediction residual for the predetermined portion into the data stream). The first manner is different from the second manner, such that the computational complexity is reduced in the first manner compared to the second manner.
[0030] According to a third aspect of the present invention, the inventors of the present application realize that a problem encountered when trying to improve the lossless coding of a picture or video stems from the fact that the transform of the encoder or the inverse transform of the decoder may require a step of rounding to an integer, thereby prohibiting a mathematically perfect reconstruction of the picture or a part of the picture. Therefore, at present, for lossless coding, the transform process is bypassed or disabled. According to the third aspect of the present application, this difficulty is overcome by using a fully reversible transform for lossless coding. The decoder / encoder is configured to switch between different transform modes for lossless coding and lossy coding. With a fully reversible transform, lossless coding can be achieved because no rounding errors occur. A fully reversible transform is, for example, an inter-component transform or a spectral decomposition color component intra-transform. Additional syntax elements may be necessary in the data stream to indicate and / or control the fully reversible transform, but it is found that the bit rate can be significantly reduced, thereby improving the coding efficiency.
[0031] Therefore, a third aspect of the present application relates to a decoder for decoding a picture from a data stream and an encoder for encoding a picture into a data stream. The decoder (encoder) is configured to: for a predetermined portion of the picture, determine whether to use lossless coding or lossy coding to encode it into the data stream. The decoder (encoder) is configured to: if the predetermined portion of the picture is (to be) encoded into the data stream using lossless coding, then a fully reversible transform is performed on the prediction residual of the predetermined portion or a reconstruction corrected by the prediction residual (for example, in the prediction loop of the encoder); and if the predetermined portion of the picture is (to be) encoded into the data stream using lossy coding, then a non-fully reversible transform is performed on the prediction residual of the predetermined portion or a reconstruction corrected by the prediction residual (for example, in the prediction loop of the encoder).
[0032] According to a fourth aspect of the present invention, the inventors of the present application realize that one problem encountered when trying to improve the lossless encoding of a picture or video stems from the fact that the smoothing filter causes information loss. According to the fourth aspect of the present application, this difficulty is overcome by disabling the filtering for the part of the picture to be losslessly decoded or losslessly encoded or by reducing the filtering used to obtain the prediction signal compared to lossy encoding. Disabling the filtering for the part results in no filtering-related syntax elements in the data stream, thereby achieving improved bitstream compression. Alternatively, the prediction signal for the part of the picture is less filtered in the case of lossless encoding than in the case of lossy encoding. For example, in the case of lossless encoding, an interpolation filter can be applied, wherein the higher frequency half-region of the entire spatial spectrum of the prediction signal in the case of lossless encoding has higher energy than in the case of lossy encoding. This is based on the idea that it is advantageous to change the prediction signal as little as possible when deriving the prediction signal in the case of lossless encoding. It is found that special filtering options for lossless coding (resulting in higher information content of the prediction signal) lead to a reduction in bit rate, resulting in higher efficiency.
[0033] Therefore, a fourth aspect of the present application relates to a decoder for decoding a picture from a data stream and an encoder for encoding a picture into a data stream. The decoder (encoder) is configured to: for a predetermined portion of the picture, determine whether to use lossless coding or lossy coding to encode it into the data stream. The decoder (encoder) is configured to: if the predetermined portion of the picture is (to be) encoded into the data stream using lossless coding, derive a prediction signal for the predetermined portion in a first manner; and if the predetermined portion of the picture is (to be) encoded into the data stream using lossy coding, derive a prediction signal for the predetermined portion in a second manner. The first manner is different from the second manner, so that the prediction signal is filtered less in the first manner than in the second manner, for example, by using an interpolation filter, or the prediction signal is not filtered in the first manner but filtered in the second manner.
[0034] According to a fifth aspect of the present invention, the inventors of the present application realize that a problem encountered when trying to improve lossless coding of pictures or videos stems from the fact that loop filters and / or quantization cause loss of information. According to a fifth aspect of the present application, this difficulty is overcome by disabling one or more tools of the decoder / encoder for processing prediction reconstruction corrected by prediction residuals about a predetermined portion and / or by disabling one or more tools of the decoder / encoder for prediction residual requantization / quantization. Disabling the tool for this portion results in the absence of post-processing-related syntax elements and / or (re)quantization-related syntax elements in the data stream, or a reduction in the amount of post-processing-related syntax elements and / or (re)quantization-related syntax elements, thereby achieving improved bitstream compression.
[0035] Therefore, the fifth aspect of the present application relates to a decoder for decoding a picture from a data stream and an encoder for encoding a picture into a data stream. The decoder (encoder) is configured to: for a predetermined portion of the picture, determine whether to use lossless coding or lossy coding to encode it into the data stream. The decoder (encoder) is configured to: if the predetermined portion of the picture is (to be) encoded into the data stream using lossless coding, it is inferred that one or more predetermined coding options related to one or more tools of the decoder (encoder) for processing (for example, in the prediction loop of the encoder) the prediction reconstruction corrected by the prediction residual or for requantization (quantization) of the prediction residual about the predetermined portion are set, so that the one or more tools are disabled with respect to the predetermined portion; and if the predetermined portion of the picture is (to be) encoded into the data stream using lossy coding, it is inferred that the one or more predetermined coding options are set by deriving the one or more predetermined coding options from multiple coding parameters.
[0036] According to the sixth aspect of the present invention, the inventors of the present application realize that a problem encountered when trying to improve the lossless encoding of a picture or video stems from the fact that the difference between the bit depth (i.e., the input bit depth associated with the video to be encoded or associated with the video to be output by the decoder) and the internal bit depth causes information loss. According to the sixth aspect of the present application, this difficulty is overcome by performing bit depth conversion. Therefore, the input bit depth or the difference between the input bit depth and the internal bit depth is encoded into the data stream by the encoder and read from the data stream by the decoder. Alternatively, the input bit depth or the aforementioned difference can be indicated by one or more encoding parameters (e.g., quantization parameter (QP)). Using information about the input bit depth or the difference, the decoder is configured to output the video at the input bit depth, whereby the bit depth of the video output is equal to the bit depth of the video input encoded by the encoder. Thus, lossless encoding can be achieved. No additional syntax elements are required when the bit depth is indicated by one or more parameters, thereby achieving improved bitstream compression. Note that the input bit depth (whose name comes from the fact that the input bit depth is the bit depth of the video that the encoder receives for encoding, and which is the bit depth that the decoder outputs the video at) need not be equal to the internal bit depth, but rather, the encoder and decoder allow different settings in the data stream, which may include one setting if the two bit depths are the same, and one or more settings if the two bit depths are different.
[0037] Therefore, a sixth aspect of the present application relates to a video decoder and a video encoder. The decoder is configured to perform video decoding from a data stream at an internal bit depth and receive a video input having an input bit depth or an internal bit depth. In parallel with the decoder, the encoder is configured to perform video encoding into the data stream at an internal bit depth and receive a video input at an input bit depth or an internal bit depth. For example, in the case where the bit depth of the input video and / or the output video (i.e., the input bit depth) is equal to the internal bit depth, the output video and / or the input video is associated with the internal bit depth. In addition, the decoder (encoder) is configured to read a syntax element indicating the difference between the input bit depth and / or the internal bit depth and the input bit depth from the data stream (encode the syntax element indicating the difference between the input bit depth and / or the internal bit depth and the input bit depth into the data stream).
[0038] Therefore, the sixth aspect of the present application relates to a video decoder configured to perform video decoding from a data stream at an internal bit depth and output video at an input bit depth or an internal bit depth. In parallel with the video decoder, the video encoder is configured to perform video encoding into the data stream at an internal bit depth and receive a video input having an input bit depth or an internal bit depth. For example, in the case where the bit depth of the input video and / or the output video (i.e., the input bit depth) is equal to the internal bit depth, the output video and / or the input video is associated with the internal bit depth. In addition, the decoder (encoder) is configured to read a syntax element indicating a minimum value of a quantization step size scaling parameter (QP minimum value, i.e., an absolute or relative quantization step size, a requantization step size, or a scaling parameter) from the data stream (encode a syntax element indicating a minimum value of a quantization step size scaling parameter (QP minimum value, i.e., an absolute or relative quantization step size, a requantization step size, or a scaling parameter) into the data stream). The minimum quantization step size scaling parameter can represent a unit step size, i.e., a quantization parameter equal to 4. For example, this syntax element indicates the minimum value of the quantization step size scaling parameter (due to a non-zero difference between the internal bit depth and the input bit depth). For example, in addition to the QP minimum value, the decoder can also be informed of the difference between the internal bit depth and the input bit depth by transmitting the difference as described above, or by transmitting both values (i.e., the internal bit depth and the input bit depth). Another QP different from 4 may result in or almost result in lossless coding. If the QP minimum value is set to 4, the decoder can adapt a QP less than 4 to a QP equal to 4, resulting in lossless coding.
[0039] Therefore, a sixth aspect of the present application relates to a video decoder (encoder) configured to: decode an indication of an internal bit depth and an input bit depth or a difference between them from a data stream (encode an indication of the internal bit depth and the input bit depth or a difference between them into the data stream), and perform video decoding from the data stream (video encoding into the data stream) at the internal bit depth. In addition, the decoder is configured to: output video at the input bit depth, and the encoder is configured to: receive a video with an input bit depth (i.e., a video input). The decoder (encoder) is configured to: check whether the internal bit depth drops below the input bit depth, and change the internal bit depth to correspond to the input bit depth. Therefore, the difference between the input bit depth and the internal bit depth is corrected, and lossless coding is achieved.
[0040] The embodiments relate to methods based on the same considerations as the above-mentioned encoder and / or decoder. Incidentally, these methods can be implemented with all the features and functions also described with respect to the encoder and / or decoder.
[0041] An exemplary embodiment relates to a computer program having a program code for performing the method described herein when the program code runs on a computer.
[0042] Embodiments relate to a data stream obtained by a method for block-based encoding of a picture signal. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] The drawings are not necessarily drawn to scale, but emphasis is generally placed upon illustrating the principles of the invention. In the following description, various embodiments of the invention are described with reference to the following drawings, in which:
[0044] Figure 1a shows a schematic diagram of an encoder;
[0045] Figure 1b A schematic diagram of an alternative encoder is shown;
[0046] Figure 2 shows a schematic diagram of a decoder;
[0047] Figure 3 A schematic diagram of block-based encoding is shown;
[0048] Figure 4 A schematic diagram showing decoder-side scaling and inverse transform in recent video coding standards;
[0049] Figure 5 A schematic diagram showing decoder-side scaling and inverse transformation according to an example;
[0050] Figure 6A schematic diagram showing lossless coding verification performed by a decoder and / or an encoder according to an embodiment;
[0051] Figure 7 A block diagram showing methods of using different binarizations depending on lossless or lossy coding;
[0052] Figure 8 A block diagram showing a method for lossless encoding using a fully reversible transform;
[0053] Fig. 9 A block diagram showing a method for deriving a prediction signal based on lossless or lossy coding;
[0054] Fig.10 A block diagram of a method for setting one or more predetermined encoding options according to lossless or lossy encoding is shown;
[0055] Fig.11a and Fig.11b A block diagram showing a method for considering input bit depth and internal bit depth according to a first embodiment;
[0056] Fig.12a and Figure 12b A block diagram showing a method of considering input bit depth and internal bit depth according to a second embodiment; and
[0057] Fig.13a and Fig.13b A block diagram of a method considering input bit depth and internal bit depth according to a third embodiment is shown. DETAILED DESCRIPTION
[0058] The same or equivalent elements or elements having the same or equivalent functions are denoted by the same or equivalent reference numerals in the following description even if they appear in different drawings.
[0059] In the following description, a number of details are set forth to provide a more comprehensive explanation of embodiments of the present invention. However, it will be apparent to those skilled in the art that embodiments of the present invention may be practiced without these specific details. In other cases, well-known structures and devices are shown in block diagrams rather than in detail to avoid confusing embodiments of the present invention. In addition, unless otherwise specifically stated, the features of the different embodiments described below may be combined with each other.
[0060] The following description of the drawings begins by presenting a description of an encoder and a decoder of a block-based prediction codec for encoding video pictures to form an example of a coding framework within which embodiments of the present invention may be built. Figures 1a to 3 The embodiments of the inventive concept described herein can be constructed into Figure 1a , Figure 1band Figure 2 In the encoder and decoder of Figures 4 to 6 The described embodiments can also be used to form Figure 1a , Figure 1b and Figure 2 The encoder and decoder are based on the coding framework that operates the encoder and decoder.
[0061] Figure 1a An apparatus (eg, a video encoder and / or a picture encoder) is shown for predictively encoding a picture 12 into a data stream 14, exemplarily using transform-based residual coding. The apparatus or encoder is denoted using reference numeral 10. Figure 1b Also shown is an arrangement for predictive coding of a picture 12 into a data stream 14, wherein a possible prediction module 44 is shown in more detail. Figure 2 A corresponding decoder 20 is shown, i.e. a device 20 configured to predict a decoded picture 12′ from a data stream 14, also using transform-based residual decoding, wherein a prime sign is used to indicate that the picture 12′ reconstructed by the decoder 20 deviates from the picture 12 originally encoded by the device 10 in terms of coding losses introduced by quantization of the prediction residual signal. Figure 1a , Figure 1b and Figure 2 Transform-based prediction residual coding is used exemplarily, but the embodiments of the present application are not limited to such prediction residual coding. Figure 1a , Figure 1b and Figure 2 The same is true for the other details described.
[0062] The encoder 10 is configured to perform a spatial to spectral transform on the prediction residual signal and encode the prediction residual signal thus obtained into the data stream 14. Likewise, the decoder 20 is configured to decode the prediction residual signal from the data stream 14 and perform a spectral to spatial transform on the prediction residual signal thus obtained.
[0063] Internally, the encoder 10 may include a prediction residual signal former 22 that generates a prediction residual 24 to measure the deviation of the prediction signal 26 from the original signal (i.e., from the picture 12), wherein the prediction signal 26 may be interpreted as a linear combination of a set of one or more predictor blocks according to an embodiment of the present invention. The prediction residual signal former 22 may, for example, be a subtractor that subtracts the prediction signal from the original signal (i.e., from the picture 12). The encoder 10 then also includes a transformer 28 that performs a spatial to spectral transform on the prediction residual signal 24 to obtain a spectral domain prediction residual signal 24', which is then quantized by a quantizer 32, which is also included in the encoder 10. The thus quantized prediction residual signal 24" is encoded into the bitstream 14. To this end, the encoder 10 may optionally include an entropy encoder 34 that entropy encodes the transformed and quantized prediction residual signal into the data stream 14.
[0064] The prediction signal 26 is generated by a prediction stage 36 of the encoder 10 based on a prediction residual signal 24″ encoded into the data stream 14 and decodable from the data stream 14. To this end, Figure 1a As shown, the prediction stage 36 may internally include a dequantizer 38, which dequantizes the prediction residual signal 24" to obtain a spectral domain prediction residual signal 24"', which corresponds to the signal 24" except for the quantization loss; the dequantizer 38 is followed by an inverse transformer 40, which inversely transforms the prediction residual signal 24"', i.e., spectrum to spatial transformation, to obtain a prediction residual signal 24"", which corresponds to the original prediction residual signal 24 except for the quantization loss. The combiner 42 of the prediction stage 36 then recombines the prediction signal 26 and the prediction residual signal 24"" by, for example, addition to obtain a reconstructed signal 46, i.e., a reconstruction of the original signal 12. The reconstructed signal 46 may correspond to the signal 12'. The prediction module 44 of the prediction stage 36 then generates the prediction signal 26 based on the signal 46 by using, for example, spatial prediction (i.e., intra-picture prediction) and / or temporal prediction (i.e., inter-picture prediction), as shown. Figure 1b Shown in more detail.
[0065] Likewise, if Figure 2 As shown, the decoder 20 may be internally composed of components corresponding to the prediction stage 36 and interconnected in a manner corresponding to the prediction stage 36. In particular, the entropy decoder 50 in the decoder 20 may entropy decode the quantized spectral domain prediction residual signal 24" from the data stream, and then the dequantizer 52, the inverse transformer 54, the combiner 56 and the prediction module 58 interconnected and cooperating in the manner of the modules of the prediction stage 36 described above may restore the reconstructed signal based on the prediction residual signal 24", so that Figure 2 As shown, the output of combiner 56 results in a reconstructed signal, namely picture 12'.
[0066] Although not specifically described above, it is easy to understand that the encoder 10 can set some encoding parameters, including, for example, prediction modes, motion parameters, etc., according to some optimization schemes (e.g., in a manner that optimizes certain rate and distortion related criteria, i.e., encoding costs). For example, the encoder 10 and the decoder 20 and the corresponding modules 44, 58 can support different prediction modes, such as intra-frame coding mode and inter-frame coding mode. The granularity at which the encoder and the decoder switch between these prediction mode types can correspond to the subdivision of the pictures 12 and 12' into coding segments or coding blocks, respectively. For example, in units of these coding segments, the pictures can be subdivided into blocks that are intra-coded and blocks that are inter-coded.
[0067] The intra-coded blocks are predicted based on a spatially encoded / decoded neighborhood (e.g., a current template) of a corresponding block (e.g., a current block), as outlined in more detail below. There may be multiple intra-coding modes, and multiple intra-coding modes may be selected for a corresponding intra-coded segment, the intra-coding modes including directional or angular intra-coding modes, according to which the corresponding segment is filled by extrapolating sample values of the neighborhood to the corresponding intra-coded segment along a certain direction specified for the corresponding directional intra-coding mode. For example, the intra-coding modes may also include one or more other modes, such as a DC coding mode, according to which a DC value is assigned to all samples within the corresponding intra-coded segment for the prediction of the corresponding intra-coded block; and / or a plane intra-coding mode, according to which the prediction of the corresponding block is approximated or determined as a spatial distribution of sample values described by a two-dimensional linear function at the sample positions of the corresponding intra-coded block, wherein the tilt and offset of the plane defined by the two-dimensional linear function are driven on the basis of neighboring samples.
[0068] In contrast, inter-coded blocks may be temporally predicted, for example. For an inter-coded block, a motion vector may be signaled within the data stream 14, the motion vector indicating the spatial displacement of a portion of a previously coded picture (e.g. a reference picture) of the video to which the picture 12 belongs, at which portion the previously coded / decoded picture was sampled to obtain a prediction signal for the corresponding inter-coded block. This means that, in addition to the residual signal encoding included in the data stream 14, e.g. an entropy coded transform coefficient level representing a quantized spectral domain prediction residual signal 24″, the data stream 14 may also have encoded therein coding mode parameters for assigning coding modes to various blocks, prediction parameters for some of these blocks (e.g. motion parameters for inter-coded segments), and optionally other parameters (e.g. parameters for controlling and signaling the subdivision of the pictures 12 and 12′ into segments, respectively). The decoder 20 uses these parameters to subdivide the pictures in the same way as the encoder, assign the same prediction modes to the segments, and perform the same predictions to produce the same prediction signals.
[0069] Figure 3 The relationship between two signals is illustrated, one of which is the reconstruction signal, (ie the reconstructed picture 12') and the other is the combination of the prediction residual signal 24"" signaled in the data stream 14 and the prediction signal 26. As mentioned above, the combination may be additive. Figure 3 The prediction signal 26 is shown as subdividing the picture area into intra-frame coding blocks schematically shown with hatching and inter-frame coding blocks schematically shown without hatching. The subdivision can be any subdivision, such as a regular subdivision of the picture area into square blocks or non-square blocks with multiple rows and columns, or a multi-tree subdivision of the picture 12 from a tree root block into multiple leaf blocks with varying sizes, such as a quadtree subdivision, etc., wherein Figure 3 A hybrid of this is shown, where the picture region is first subdivided into multiple rows and columns of tree root blocks, and then the tree root blocks are further subdivided into one or more leaf blocks according to a recursive multi-tree subdivision.
[0070] In addition, the data stream 14 may have an intra-coding mode encoded therein for an intra-coding block 80, which assigns one of several supported intra-coding modes to the corresponding intra-coding block 80. For an inter-coding block 82, the data stream 14 may encode therein one or more motion parameters. In general, the inter-coding block 82 is not limited to being encoded in time. Alternatively, the inter-coding block 82 may be any block predicted from a previously encoded portion other than the current picture 12 itself (e.g., a previously encoded picture of the video to which the picture 12 belongs, or from a picture of another view or a lower layer in the hierarchy when the encoder and decoder are scalable encoders and decoders, respectively).
[0071] Figure 3The prediction residual signal 24"" in is also shown to subdivide the picture area into blocks 84. These blocks may be referred to as transform blocks in order to distinguish them from the coding blocks 80 and 82. In practice, Figure 3 It is shown that the encoder 10 and the decoder 20 can use two different subdivisions of the picture 12 and the picture 12', respectively, into blocks, namely one into coding blocks 80 and 82, respectively, and another into transform blocks 84. The two subdivisions may be identical, i.e. each coding block 80 and 82 may simultaneously form a transform block 84, but Figure 3 The situation shown is as follows: for example, the subdivision into the transform block 84 forms an extension of the subdivision into the coding blocks 80, 82, so that any boundary between two blocks of the blocks 80 and 82 overlaps the boundary between two blocks 84, or in other words, each block 80, 82 either coincides with one of the transform blocks 84 or coincides with a group of transform blocks 84. However, the subdivision can also be determined or selected independently of each other, so that the transform block 84 can alternatively cross the block boundary between the blocks 80, 82. As far as the subdivision into the transform block 84 is concerned, it is similar to the description given above with respect to the subdivision into the blocks 80, 82, that is, the block 84 can be the result of a regular subdivision of the picture area into blocks (arranged or not arranged in rows and columns), the result of a recursive multi-tree subdivision of the picture area, or a combination thereof or any other type of blocking. By the way, it should be noted that the blocks 80, 82 and 84 are not limited to square, rectangular or any other shape.
[0072] Figure 3 It is further illustrated that the combination of the prediction signal 26 and the prediction residual signal 24"" directly produces the reconstructed signal 12'. However, it should be noted that according to alternative embodiments more than one prediction signal 26 may be combined with the prediction residual signal 24"" to produce the picture 12'.
[0073] exist Figure 3 In the embodiment described below, the transform block 84 should have the following meaning. The transformer 28 and the inverse transformer 54 perform their transforms in units of these transform blocks 84. For example, many codecs use some kind of DST (discrete sine transform) or DCT (discrete cosine transform) for all transform blocks 84. Some codecs allow skipping transforms so that for some of the transform blocks 84, the prediction residual signal is directly encoded in the spatial domain. However, according to the embodiments described below, the encoder 10 and the decoder 20 are configured in a way that they support several transforms. For example, the transforms supported by the encoder 10 and the decoder 20 may include:
[0074] DCT-II (or DCT-III), where DCT stands for Discrete Cosine Transform
[0075] DST-IV, where DST stands for discrete sine transform
[0076] DCT-IV
[0077] ·DST-VII
[0078] Identity Transformation (IT)
[0079] Naturally, while the transformer 28 will support all forward transformed versions of these transforms, the decoder 20 or inverse transformer 54 will support their corresponding backward or inverse versions:
[0080] Inverse DCT-II (or Inverse DCT-III)
[0081] ·Inverse DST-IV
[0082] Inverse DCT-IV
[0083] ·Inverse DST-VII
[0084] Identity Transformation (IT)
[0085] The subsequent description provides more details about the transforms that may be supported by the encoder 10 and decoder 20. In any case, it should be noted that the set of supported transforms may include only one transform, such as a spectral to spatial or spatial to spectral transform, but it is also possible that the encoder or decoder does not use any transform at all, or does not use any transform for a single block 80, 82, 84.
[0086] As already outlined above, Figures 1a to 3 has been presented as an example in which the inventive concepts described herein may be implemented to form specific examples of encoders and decoders according to the present application. In this regard, Figure 1a , Figure 1b and Figure 2 The encoder and decoder of may represent possible implementations of the encoder and decoder described previously in this document, respectively. However, Figure 1a , Figure 1b and Figure 2 However, an encoder according to an embodiment of the present application may perform block-based encoding of picture 12 using the concepts outlined in more detail above or below, which is different from Figure 1a or Figure 1b The difference is that: Figure 3 The subdivision into blocks 80 is performed in the illustrated manner and / or no transform is used at all or for individual blocks (e.g., transform skipping / identical transform). Likewise, a decoder according to an embodiment of the present application can perform block-based decoding of a picture 12' from a data stream 14 using the coding concept further outlined below, but the decoder may be different, for example, from Figure 2 The decoder 20 shown in FIG. 1 is different from the decoder 20 shown in FIG. Figure 3The described approach subdivides the picture 12 ′ into blocks and / or derives the prediction residual from the data stream 14 , for example, not in the transform domain (but in the spatial domain) and / or does not use any transform at all or for individual blocks.
[0087] According to one embodiment, the inventive concept described below may relate to the transformer 28 / inverse transformer 40 and the quantizer 32 / dequantizer 38 of an encoder, or the inverse transformer 54 and dequantizer 52 of a decoder. According to one embodiment, the transformer 28, inverse transformer 40, 54, quantizer 32 and / or dequantizer 38, 52 may be disabled for lossless coding of blocks of a picture, where the lossless coding is indicated by coding parameters (e.g., quantization parameters and transform mode). The inventive concept may also relate to further processing of the prediction residual 24" and / or the prediction signal 26 and / or the prediction reconstruction 46 corrected by the prediction residual, where the focus is on the functionality of the decoder / encoder during lossless coding.
[0088] The quantization step size (i.e., quantization accuracy) can vary depending on the selected transform and transform block size, as described below. This description is from the decoder's perspective, and the scaling 52 (multiplication) by the quantization step size on the decoder side can be viewed as the inverse operation (not reversible) of the division by the step size on the encoder side.
[0089] On the decoder side, the scaling 52 (i.e., dequantization) of the (quantized) transform coefficient levels in current video coding standards (such as H.265 / HEVC) is designed for the transform coefficients generated by the higher-precision DCT / DST integer transform, such as Figure 4 As shown in the figure, the variable bitDepth specifies the bit depth of the image samples, for example, 8 bits or 10 bits. The variables log2TbW and log2TbH specify the binary logarithms of the transform block width and height, respectively. Figure 4 Decoder-side scaling 52 and inverse transform 54 in recent video coding standards such as H.265 / HEVC are shown.
[0090] It should be noted that at the decoder, the two 1D DCT / DST based integer transforms 1281 introduce an additional factor It needs to be compensated by scaling with its inverse. For non-square blocks with an odd log2TbH+log2TbW, the scaling consists of This can be taken into account by increasing the scaling factor 181 / 256 or using a different set of levelScale values that contains this factor for this case, e.g. levelScale[] = {29, 32, 36, 40, 45, 51}. This does not apply for the identity transform or transform skip case 1282.
[0091] It can be seen that for QPs less than 4, the step size or scaling factor becomes less than 1, because the levelScale of these QPs is less than 64 = 2 6 For the transform coefficients, this is not a problem because the integer forward transform 1281 increases the precision of the residual signal and thus increases the dynamic range. However, for the residual signal in the case of identity transform or transform skip 1282, there is no increase in dynamic range. In this case, a scaling factor less than 1 may introduce distortion for QP<4 that is not present for QP 4 with a scaling factor of 1. This contradicts the quantizer design intent that reducing the QP should reduce distortion.
[0092] Changing the quantization step size depending on the selected transform (e.g., whether the transform is skipped) can be used to derive different quantization step sizes for transform skipping 1282. In particular for the lowest QPs (0, 1, 2, and 3), this will solve the problem of quantization step sizes / scaling factors being less than 1 for the lowest QPs. Figure 5 In one example shown, a solution could be to clip 53 the quantization parameter to the minimum allowed value of 4 (QP'), resulting in a quantization step size that cannot be less than 1. In addition to this, the size-dependent normalization 541 with bdShift1 and the final rounding 542 to the bit depth with bdShift2 required for the transform could be moved to the transform path 54. This would simplify transform skip scaling to a 10-bit downshift with rounding. In another example, instead of clipping the QP value to 4, a bitstream restriction could be defined that does not allow the encoder to use QP values that result in a scaling factor less than 1 for transform skips. Figure 5 An improved decoder side scaling 52 and inverse transform 54 according to the present invention is shown.
[0093] At the other end of the bitrate range, i.e., for lower bitrates, the quantization step size of the identity transform 1282 may be reduced by an offset, resulting in higher fidelity for blocks where no transform or identity transform 1282 is applied. This will enable the encoder to select an appropriate QP value for transform skip blocks to achieve higher compression efficiency. This aspect is not limited to identity transform / transform skip 1282, it can also be used to modify the QP for other transform types 1281 by an offset. The encoder will, for example, determine this offset in a way that improves coding efficiency, such as by maximizing perceived visual quality or minimizing objective distortion (e.g., squared error for a given bitrate), or by reducing the bitrate for a given quality / distortion. This optimal derivation from the slice QP (in terms of the applied criteria) depends on, for example, the content, bitrate or complexity operating point, as well as other factors such as the selected transform and transform block size. The present invention describes methods for signaling QP offsets for the case of multiple transforms. Without loss of generality, given two alternative transforms, the encoder can transmit a fixed QP offset for each of the two alternative transforms in a high-level syntax structure (e.g., sequence parameter set, picture parameter set, tile group header, slice header, etc.). Alternatively, when the encoder has selected an alternative transform, the QP offset is transmitted by the encoder for each transform block, for example. A combination of these two approaches is to signal the base QP offset in the high-level syntax structure and signal an additional offset for each transform block using the alternative transform. The offset can be a value that is added or subtracted from the base QP, or an index into a set of offset values. The set can be predefined or signaled in the high-level syntax structure.
[0094] Can be in high-level syntax structures (e.g., at sequence level, picture level, tile group level,
[0095] The QP offset relative to the base QP for the identity transform is signaled at the tile level or slice level.
[0096] • Alternatively, a QP offset relative to the base QP for the identity transform may be signaled for each coding unit or a predefined set of coding units.
[0097] • Alternatively, for each transform unit to which the identity transform is applied, a QP offset relative to the base QP for the identity transform is signaled.
[0098] Figure 6 A decoder (eg, Figure 1a to Figure 2 The features and functions of the decoder 20 or 36) shown in FIG. 2 are shown in FIG. 2. Furthermore, the following description is primarily written from the perspective of the decoder, and it is apparent that the encoder may include parallel features.
[0099] The picture 12 is encoded by the encoder into the data stream 14, and the decoder is configured to provide a reconstructed picture based on the data stream 14, wherein in the case of lossless coding, the reconstructed picture is equal to the picture 12 or has no identifiable minimum difference from the picture 12. The picture 12 can be divided into parts 100 (i.e., blocks) and regions 104. The region 104 includes a plurality of parts 100. The predetermined part 100 is within the predetermined region 104. The data stream 14 may include part individual information (such as a plurality of encoding parameters 98) and region individual information (such as an optional lossless encoding syntax element 102). The plurality of encoding parameters 98 are associated with the predetermined part 100 of the picture 12, and for example, in the case of Figure 1a to Figure 2 The transformer 28 and inverse transformers 40, 54 shown control the prediction residual transform mode with respect to the predetermined portion 100 and (for example, in the case of Figure 1a to Figure 2 The quantizer 28 and dequantizers 40, 54 shown internally control the quantization precision with respect to the predetermined portion 100. The prediction residual transform mode may be controlled by a transform mode indication syntax element 981. The quantization precision may be controlled by a quantization parameter (QP) 982.
[0100] A decoder for decoding a picture 12 from a data stream 14 is configured to check 106 whether a plurality of encoding parameters 98 indicates an encoding parameter setting corresponding to a lossless prediction residual encoding 1061, wherein the plurality of encoding parameters 98 corresponds to an encoding parameter setting for the lossless prediction residual encoding 1061 due to immediate signaling of such encoding or due to a decoder configured to interpret or change such setting to a setting resulting in lossless residual encoding (e.g., mapping QP<4 to QP=4 in case of TM=transform skip). An encoder for encoding a picture 12 into a data stream 14 may also be configured to check whether a plurality of encoding parameters 98 indicates an encoding parameter setting corresponding to the lossless prediction residual encoding 1061. (QP, TM)=(4, transform skip) or (QP, TM)=(1...4, transform skip) may represent an encoding parameter setting corresponding to the lossless prediction residual encoding 1061. The encoding parameter setting of the quantization parameter 982 that achieves a quantization precision equal to or finer than a predetermined quantization precision and / or the encoding parameter setting of the transform mode indication syntax element 981 that uses transform skipping as the transform mode may correspond to the lossless prediction residual encoding 1061 .
[0101] According to an embodiment, the decoder / encoder is configured to read / / signal multiple encoding parameters 98 from / to the data stream 14, and check whether the prediction residual transform mode indicated by the multiple encoding parameters 98 (e.g., indicated by the transform mode indication syntax element 981) corresponds to the transform skip mode, and whether the quantization precision indicated by the multiple encoding parameters 98 (e.g., indicated by the quantization parameter 982) corresponds to a quantization step size finer than the predetermined quantization step size, for example, whether it corresponds to QP<4 (corresponding to no quantization), and if so, change the quantization step size to a predetermined quantization step size, for example, QP=4. If the transform mode is set to transform skip, the decoder / encoder is configured to map the quantization parameter 982 finer than the predetermined quantization precision (QP<4) to the quantization parameter 982 equal to the predetermined quantization precision to achieve lossless encoding. The predetermined quantization precision may represent no quantization 32, 52 or bypass or disable quantization 32, 52.
[0102] In response to the plurality of encoding parameters 98 indicating an encoding parameter setting corresponding to a lossless prediction residual encoding 1061, the decoder / encoder is configured to: set 110 one or more predetermined encoding options associated with one or more tools of the decoder / encoder for processing (e.g. in a prediction loop of the encoder) a prediction reconstruction corrected with respect to the predetermined portion 100, such that the one or more tools are disabled with respect to the predetermined portion 100. The prediction reconstruction corrected with respect to the prediction residual may represent respectively Figure 1a to Figure 2 The output of the combiner 56 or 42 is shown, ie the reconstructed signal 46. The one or more tools relate to, for example, deblocking, SAO, ALF, and may be located downstream of the output 46 of the combiner 56 or 42, respectively.
[0103] According to one embodiment, the decoder / encoder is configured to: if the multiple encoding parameters indicate an encoding parameter setting corresponding to lossless prediction residual encoding 1061, set one or more predetermined encoding options with respect to the predetermined part 100 so that the one or more tools are disabled 110 with respect to the predetermined part 100; and if the multiple encoding parameters do not indicate an encoding parameter setting corresponding to lossless prediction residual encoding (i.e., in the lossy encoding situation 1062), set one or more predetermined encoding options to a predetermined tool state.
[0104] The decoder is optionally configured to read from the data stream 14 a lossless coding syntax element 102 (e.g. determined and encoded by the encoder) indicating whether a predetermined area 104 of the picture covering or containing the predetermined part 100 (not exclusively, but for the part where the check 106 is performed) is encoded into the data stream 14 using lossless coding or using lossy coding. The decoder is configured to, if the lossless coding syntax element 102 indicates that the predetermined area 104 of the picture 12 is encoded into the data stream 14 using lossless coding 1061, and if the plurality of coding parameters 98 indicate coding parameter settings corresponding to lossless prediction residual coding 1061, set 110 one or more predetermined coding options such that the one or more tools are disabled with respect to the predetermined part 100. In addition, the decoder is configured to set 120 one or more predetermined coding options to a predetermined tool state if the plurality of coding parameters 98 do not indicate (i.e. are not equal to) a coding parameter setting corresponding to a lossless prediction residual coding 1061 or the lossless coding syntax element 102 indicates that a predetermined region 104 of the picture 12 is encoded into the data stream 14 using lossy coding 1062. The lossless coding syntax element 102 is signaled for the region 104 of the picture 12 and for each portion 100 within the region 104 (wherein the decoder / encoder checks 106 for each portion 100 whether the plurality of coding parameters 98 indicates lossless coding 1061 or lossy coding 1062 for the individual portion 100). As a result, some of the portions therein may be decoded / encoded in a manner different from that indicated by the lossless coding syntax element 102 for the entire region 104.
[0105] According to an embodiment, the decoder is configured to determine the predetermined tool state based on one or more syntax elements 108 (e.g. syntax elements related to SAO, ALF, etc.) in the data stream 14. In case of lossless coding 1061, the decoder is configured to skip 122 reading the one or more tool syntax elements 108 because the one or more tools are disabled 110. Optionally, if one or more predetermined coding options with respect to the predetermined portion 100 are set such that the one or more tools are disabled 110 with respect to the predetermined portion 100, at least one of the one or more syntax elements 108 is not present in the data stream 14, cf. aspect 3.4.
[0106] According to an embodiment, the decoder is configured to: in response to the plurality of encoding parameters 98 indicating an encoding parameter setting corresponding to the lossless prediction residual encoding 1061, set 130 one or more other encoding options (for example, described in the following description regarding aspects 1 to 3.4) about the predetermined portion 100 to a default state. The default state may mean: in the case of deriving a prediction signal for the predetermined portion 100 (for example, Figure 1a to Figure 2reduction of filtering or disabling of filtering in terms of low-pass filtering of the prediction signal 26 shown in FIG. 3 , see aspect 3.3; and / or to filter the prediction residual signal (eg, Figure 1a to Figure 2 ) is performed on the prediction residual signal 24 shown in , see aspect 3.2. Other encoding options may involve: binarization of the prediction residual data into a binary value string (see aspect 3.1), and context-adaptive binary entropy decoding of the binary value string, and / or the use of a fully reversible transform of the prediction residual 24'", 24"" or the prediction residual modified reconstruction 46 of the predetermined portion 100 (see aspect 3.2), and / or the disabling or reduction of filtering for deriving the prediction signal 26 for the predetermined portion (see aspect 3.3), and / or the disabling of requantization of the prediction residual or of processing of the prediction residual modified prediction reconstruction 46 with respect to the predetermined portion 100 (see aspect 3.4). See aspect 3.4). Similarly, for the encoder, other encoding options may involve: binarization of the prediction residual data into a binary value string and context-adaptive binary entropy coding of the binary value string, and / or the use of a fully reversible transform of the prediction residual 24'", 24"" or the prediction residual modified reconstruction 46 of the predetermined portion in the prediction loop of the encoder, and / or the disabling or reduction of filtering for deriving the prediction signal 26 for the predetermined portion, and / or the disabling of requantization of the prediction residual or of processing of the prediction residual modified prediction reconstruction 46 with respect to the predetermined portion 100.
[0107] The encoder may be configured to determine and encode a plurality of encoding parameters 98, lossless coding syntax elements 102, and / or tool syntax elements 108 into the data stream 14. The encoder may include parallel features and / or functionality described with respect to the decoder. This applies at least to the prediction loop 36 of the encoder, which has the same features and / or functionality as the decoder. However, it is apparent that features associated with the inverse transformer 54 or dequantizer 52 of the decoder may also be similarly applied to the transformer 28 and / or quantizer 32 of the encoder.
[0108] One or more of the following aspects may be integrated in the Figure 6 Alternatively, the following aspects may be implemented separately in a decoder or an encoder.
[0109] Aspect 1: Reducing the number of syntax elements for lossless image or video coding
[0110] The basic approach in this regard is to make the per-subblock transform quantization bypass coding flag obsolete, since with the above modifications, its functionality is completely provided by the per-subblock transform skip functionality when using a coding quantization parameter (QP) of 4 (unit step size) and disabling post-reconstruction modifications of block samples by coding tools (e.g. loop filters). Deactivation of such post filters can be achieved by adjusting the transform skip mode and QP below or equal to 4.
[0111] In the following paragraphs, different possible implementations are specified.
[0112] One embodiment of aspect 1 is by means of a 1-bit transform skip indicator per coding block (here, per transform block and per color component), called transform_skip_flag. The indicator is transmitted as part of the transform unit coding syntax, for example, as shown in Table 1. The plurality of coding parameters 98 may include transform_skip_flag, i.e., a transform mode indication syntax element 981, which controls the prediction residual transform mode for a predetermined portion 100 of the picture 12. The transform_skip_flag defines transform skipping as a transform mode, i.e., a prediction residual transform mode, for the predetermined portion 100.
[0113]
[0114]
[0115]
[0116] Table 1 Transformation unit coding syntax
[0117] Based on this transform_skip_flag (whose value is 1 if transform skipping is used, otherwise 0), the actual quantization parameter qP 982 can be determined for palette encoding as described in item 1.1, for example, as specified in equations (436)-(438); the actual quantization parameter qP 982 can also be determined for transform coefficient scaling as described in item 1.2, for example, as specified in equation (1153). The plurality of encoding parameters 98 may include the quantization parameter qP 982, which controls the quantization accuracy of the predetermined portion 100 of the picture 12.
[0118] 1.1 Decoding process for palette mode
[0119] The inputs to this process are:
[0120] - position (xCbComp, yCbComp) which specifies the top left sample of the current coding block relative to the top left sample of the current picture,
[0121] - a variable treeType which specifies whether a single tree or a dual tree is used, and if a dual tree is used, whether the current tree corresponds to the luma component or the chroma component,
[0122] - a variable cIdx which specifies the color component of the current block,
[0123] - Two variables nCbW and nCbH which specify the width and height of the current coding block respectively.
[0124] The output of this process is an array recSamples[x][y], which specifies the reconstructed sample values for the block, where x = 0..nCbW-1, y = 0..nCbH-1.
[0125] Depending on the value of treeType, the variables startComp, numComps, and maxNumPalettePredictorSize are derived as follows:
[0126] -If treeType is equal to SINGLE TREE:
[0127] startComp=0 (422)
[0128] numComps==sps_chroma_format_idc==0?1:3 (423)
[0129] maxNumPalettePredictorSize=63 (424)
[0130] - Otherwise, treeType is equal to DUAL_TREE_LUMA:
[0131] startComp=0 (425)
[0132] numComps=1 (426)
[0133] maxNumPalettePredictorSize=31 (427)
[0134] - Otherwise, treeType is equal to DUAL_TREE_CHROMA:
[0135] startComp=1 (428)
[0136] numComps=2 (429)
[0137] maxNumPalettePredictorSize=31 (430)
[0138] Depending on the value of cIdx, the variables nSubWidth and nSubHeight are derived as follows:
[0139] -If cIdx is greater than 0 and startComp is equal to 0, nSubWidth is set equal to SubWidthC and nSubHeight is set equal to SubHeightC.
[0140] - Otherwise, nSubWidth is set equal to 1 and nSubHeight is set equal to 1.
[0141] The (nCbW x nCbH) block at position (xCbComp, yCbComp) of the reconstructed sample array recSamples is denoted by recSamples[x][y], where x=0..nCbW-1 and y=0..nCbH-1, and for each x in the range of 0 to nCbW-1 (inclusive) and each y in the range of 0 to nCbH-1 (inclusive), the value of recSamples[x][y] is derived as follows:
[0142] - The variables xL, yL, xCbL and yCbL are derived as follows:
[0143] xL=x*nSubWidth(431)
[0144] yL=y*nSubHeight (432)
[0145] xCbL=xCbComp*nSubWidth (433)
[0146] yCbL=yCbComp*nSubHeight (434)
[0147] -The variable bIsEscapeSample is exported as follows:
[0148] - If PaletteIndexMap[xCbL+xL][yCbL+yL] is equal to MaxPalettelndex and Palette_escape_val_present_flag is equal to 1, then blsEscapeSample is set equal to 1.
[0149] Otherwise, bIsEscapeSample is set equal to 0.
[0150] - If bIsEscapeSample is equal to 0, the following applies:
[0151] recSamples[x][y]=CurrentPaletteEntries[cldx]
[0152] [PalettelndexMap[xCbL+xL][yCbL+yL]] (435)
[0154] Otherwise (bIsEscapeSample is equal to 1), the following sequence of steps applies:
[0155] 1. The quantization parameter qP is derived as follows:
[0156] - If cldx is equal to 0,
[0157] qP=Max(QpPrimeTsMin, Qp′Y) (436)
[0158] - Otherwise, if cIdx is equal to 1,
[0159] qP=Max(QpPrimeTsMin, Qp′Cb) (437)
[0160] - Otherwise (cIdx is equal to 2),
[0161] qP=Max(QpPrimeTsMin, Qp′Cr) (438)
[0162] 1.2 Scaling process of transform coefficients
[0163] The inputs to this process are:
[0164] - luma position (xTb%yTbY) which specifies the top left sample of the current luma transform block relative to the top left luma sample of the current picture,
[0165] - the variable nTbW, which specifies the transform block width,
[0166] - the variable nTbH which specifies the transform block height,
[0167] - a variable predMode which specifies the prediction mode of the coding unit,
[0168] - The variable cldx which specifies the color components of the current block.
[0169] The output of this process is an (nTbW)x(nTbH) array d of scaled transform coefficients, whose elements are d[x][y].
[0170] The quantization parameter qP and the variable QpActOffset are derived as follows:
[0171] -If cldx is equal to 0, the following applies:
[0172] qp=Qp' Y (1142)
[0174] QpActOffset=cu_act)enabled_flag[xTbY][yTbY]? -5:0 (1143)
[0175] Otherwise, if TuCResMode[xTbY][yTbY] is equal to 2, the following applies:
[0176] qP=Qp' CbCr (1144)
[0177] QpActOffset=cu_act)enabled_flag[xTbY][yTbY]? 1:0 (1145)
[0178] - Otherwise, if cIdx is equal to 1, the following applies:
[0179] qP=Qp' Cb (1146)
[0180] QpActOffset=cu_act_enabled_flag[xTbY][yTbY]? 1:0 (1147)
[0181] - Otherwise (cIdx is equal to 2), the following applies:
[0182] qP=Qp' Cr (1148)
[0183] QpActOffset=cu_act_enabled_flag[xTbY][yTbY]? 3:0 (1149)
[0184] Modify the quantization parameter qP and export the variables rectNonTsFlag and bdShift as follows:
[0185] - If transform_skip_flag[xTbY][yTbY][cIdx] is equal to 0, the following applies:
[0186] qP=Clip3(0, 63+QpBdOffset, qP+QpActOffset) (1150)
[0187] rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH))&1)
[0188] = = 1)? 1:0 (1151)
[0189] bdShift=BitDepth+rectNonTsFlag+((Log2(nTbW)+Log2(nTbH)) / 2)-5+sh_dep_quant_used_flag (1152)
[0190] Otherwise (transform_skip_flag[xTbY][yTbY][cIdx] is equal to 1), the following applies:
[0191] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+QpActOffset) (1153)
[0193] rectNonTsFlag=0 (1154)
[0194] bdShift=10 (1155)
[0195] According to one embodiment, the value of qP is constrained to be greater than or equal to a minimum value QpPrimeTsMin, where QpPrimeTsMin is a constant (across a given video sequence) specified in equation (69):
[0196] sps_internal_bitdepth_minus_input_bitdepth specifies the minimum allowed quantization parameter for transform skip mode as follows:
[0197] QpPrimeTsMin=4+6*sps_internal_bitdepth_minus_input_bitdepth (69)
[0199] The value of sps_internal_bitdepth_minus_input_bitdepth should be in the range of 0 to 8, inclusive.
[0200] In other words, the decoder / encoder is configured to read / signal a plurality of encoding parameters 98 from / in the data stream 14 and to check whether the prediction residual transform mode indicated by the plurality of encoding parameters corresponds to a transform skip mode and to a quantization step size finer than a predetermined quantization step size (i.e., QpPrimeTsMin), which corresponds to no quantization; and if so, to change the quantization step size to the predetermined quantization step size. Finally, QpPrimeTsMin is controlled by a parameter sps_internal_bitdepth_minus_input_bitdepth transmitted sequence by sequence (in the sequence header). The predetermined quantization step size may depend on the internal bit depth and the input bit depth, for example, it may depend on the difference between the internal bit depth and the input bit depth. The decoder / encoder may be configured to derive a minimum value of the quantization step size scaling parameter, i.e., the predetermined quantization step size and / or QpPrimeTsMin, based on the difference, and to respect the minimum quantization step size scaling parameter for the portion 100 in the prediction residual transform skip mode. The decoder / encoder may be configured to, when observing a minimum quantization step size scaling parameter for a portion 100 encoded in a prediction residual transform skip mode, change the signaled quantization step size scaling parameter 982 to be equal to the minimum quantization step size scaling parameter if the signaled quantization step size scaling parameter 982 for the portion 100 in the data stream 14 falls below the minimum quantization step size scaling parameter. Note that when this parameter is equal to zero, which is a common case, QpPrimeTsMin produces a value of 4.
[0201] Therefore, by using the element sps_internal_bitdepth_minus_input_bitdepth, the element transform_skip_flag and the variable QpPrimeTsMin, lossless encoding of prediction residual corrected prediction reconstructed picture samples in a specific picture region (eg, coding unit or transform unit) and a specific color component may be achieved.
[0202] In order to achieve lossless coding even in the presence of in-loop "post-reconstruction" deblocking filtering, the deblocking filter parameters are also conditioned on the actual quantization parameter qP, so that the filter is effectively bypassed when the qP value is less than or equal to QpPrimeTsMin. This bypassing is achieved by specifying the deblocking parameters β' and tc' to be equal to 0, as shown in Table 2 and equations (1280) and (1282) at the top of Section 1.3. Note that in the case where QpPrimeTsMin of equation (69) is greater than 4 (caused by sps_internal_bitdepth_minus_input_bitdepth>0), it may be necessary to transmit specific suitable values for sh_luma_beta_offset_div2 for equation (1280) and sh_luma_tc_offset_div2 for equation (1282). The decoder / encoder is configured to: if a predetermined portion 100 of the image 12 is encoded into the data stream 14 using lossless coding 1061, infer that one or more predetermined encoding options related to one or more tools of the decoder / encoder for processing prediction reconstruction corrected by prediction residuals or for prediction residual requantization / quantization with respect to the predetermined portion 100 are to be set 110, so that the one or more tools are disabled with respect to the predetermined portion 100; and if the predetermined portion 100 of the image 12 is encoded into the data stream 14 using lossy coding 1062, infer that the one or more predetermined encoding options are to be set by deriving 120 the one or more predetermined encoding options from multiple encoding parameters 98.
[0203] 1.3 Decision process of brightness block edge
[0204] The inputs to this process are:
[0205] - picture sample array recPicture,
[0206] - position (xCb, yCb) which specifies the top left sample of the current coding block relative to the top left sample of the current picture,
[0207] - position (xB1, yB1) which specifies the top left sample of the current block relative to the top left sample of the current coding block,
[0208] - the variable edgeType, which specifies whether to filter vertical (EDGE_VER) or horizontal (EDGE_HOR) edges,
[0209] - variable bS, which specifies the boundary filter strength,
[0210] - the variable maxFilterLengthP, which specifies the maximum filter length,
[0211] - The variable maxFilterLengthQ which specifies the maximum filter length.
[0212] The output of this process is:
[0213] - variables dE, dEp and dEq containing the decisions,
[0214] - modified filter length variables maxFilterLengthP and maxFilterLengthQ,
[0215] -Variable t C .
[0216] Sample value p i,k and q i,k Derived as follows, where i = 0..Max(2, maxFilterLengthP), j = 0..Max(2, maxFilterLengthQ), and k = 0 and 3:
[0217] -If edgeType is equal to EDGE_VER, the following applies:
[0218] q j,k =recPicture[xCb+xBl+j][yCb+yBl+k] (1273)
[0219] p i,k =recPicture[xCb+xBl-i-1][yCb+yBl+k] (1274)
[0220] - Otherwise (edgeType equals EDGE_HOR), the following applies:
[0221] q j,k =recPicture[xCb+xBl+k][yCb+yBl+j] (1275)
[0222] p i,k =recPicture[xCb+xBl+k][yCb+yBl-i-1] (1276)
[0223] The variable qpOffset is derived as follows:
[0224] - If sps_ladf_enabled_flag is equal to 1, the following applies:
[0225] -The variable lumaLevel of the reconstructed brightness level is exported as follows:
[0226] lumaLevel=((p 0,0 +p0,3 +q 0,0 +q 0,3 )>>2), (1277)
[0227] - The variable qpOffset is set equal to sps_ladf_lowest_interval_qp_offset and modified as follows:
[0228]
[0229] Otherwise, qpOffset is set equal to 0.
[0230] Variable Qp Q and Qp P is set equal to the Qp of the coding unit Y Values, these coding units include samples q 0,0 and p 0,0 The encoding block.
[0231] The variable qP is derived as follows:
[0232] qP=((QP Q +Qp P +1)>>1)+qpOffset (1279)
[0233] The value of the variable β' is determined according to the quantization parameter Q derived as follows, as specified in Table 2:
[0234] Q=Clip3(0,63,qP+(sh_luma_beta_offset_div2<<1)) (1280)
[0235] Where sh_luma_beta_offset_div2 is for samples containing q 0,0 The value of the syntax element sh_luma_beta_offset_div2 of the slice.
[0236] The variable β is derived as follows:
[0237] β=β'*(1<<(BitDepth-8)) (1281)
[0238] Variable t C The value of ' is determined based on the quantization parameter Q derived as follows, as specified in Table 2:
[0239] Q=Clip3(0, 65, qP+2*(bS-1)+(sh_luma_tc_offset_div2<<1)) (1282)
[0241] Where sh_luma_tc_offset_div2 is for samples containing q 0,0 The value of the syntax element sh_luma_tc_offset_div2 of the slice.
[0242] Variable t C Export as follows:
[0243] roundOffset=1<<(9-BitDepth) (1283)
[0244] t C =BitDepth<10? (t C ′+roundOffset)>>(10-BitDepth):t C '*(1<<(BitDepth-10)) (1284)
[0245] Q 0 1 2 3 4 5 6 7 8 9 10 11 12 1 3 14 1 5 16 β′ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 <![CDATA[t C ′]]> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Q 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3 1 32 33 β′ 7 8 9 10 11 12 13 14 15 16 17 18 20 22 24 26 28 <![CDATA[t C ′]]> 0 3 4 4 4 4 5 5 5 5 7 7 8 9 10 10 11 Q 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 β′ 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 <![CDATA[t C ′]]> 13 14 15 17 19 21 24 25 29 33 36 41 45 51 57 64 71 Q 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 β′ 64 66 68 70 72 74 76 78 80 82 84 86 88 - - <![CDATA[t C ′]]> 80 89 100 112 125 141 157 177 198 222 250 280 314 352 395
[0246] Table 2: Derivation of threshold variables β' and t based on input Q C '
[0247] Aspect 2: Introducing a new “global” lossless_coding flag
[0248] In order to streamline the VVC configuration for lossless coding capabilities, it is proposed to introduce a new one-bit flag in the sequence, frame, picture, sub-picture, tile group or slice header syntax of the image or video coding bitstream, here called lossless_coding. In other words, it is proposed to introduce a new "global" (relative to the sub-block level) flag, whose value can be 0 (non-lossless coding operation, i.e., normal mode) or 1 (lossless mode), and which controls the operation (activation or deactivation or algorithm details) of at least two coding tools provided (i.e., specified) by the affected image or video codec. More specifically, the operation of at least 2 tools in the following tool list depends on the lossless_coding flag:
[0249] Entropy encoder for any residual (spatial or transformed) signal coefficients
[0250] Joint Inter-Component Transform (ICT) in terms of transformation matrix operations
[0251] Smoothing filter operations of some predictive coding tools (will be disabled)
[0252] Loop filter: Deblocking, Shape Adaptive Offset, Adaptive Loop Filter (ALF), Shaper (disabled)
[0253] Quantization of residual space or transform coefficients (disabled)
[0254] Aspect 3: The expected effect of the “global” lossless_coding flag on individual encoding tools
[0255] This third aspect specifies in detail how the value of the lossless_coding flag or the inferred meaning of the transform mode (indicating transform skip functionality) and QP (indicating a specific step size) as described in aspect 1 above changes the entropy coding, inter-component transform, prediction and loop filtering tools for a given picture area or portion associated with the lossless_coding flag or the inferred meaning.
[0256] 3.0 Quantification
[0257] The quantization parameter (QP) is equal to 4 and the use of transform skip mode results in a lossless quantization mode of the residual signal. When the input bit depth and the internal bit depth are different, a bit depth correction is required. The difference between the input bit depth and the internal bit depth can be achieved by signaling the input bit depth in the high-level syntax. Alternatively, the difference between the input bit depth and the internal bit depth can be transmitted in the high-level syntax. Another alternative method is to signal the minimum allowed QP for transform skip in the high-level syntax, which is an absolute QP or a value relative to the base QP.
[0258] Embodiments relate to a video decoder configured to perform video decoding from a data stream 14 at an internal bit depth and perform video output at an input bit depth or an internal bit depth. The video decoder is configured to read a syntax element indicating the difference between the internal bit depth and the input bit depth from the data stream. In parallel, a video encoder is configured to perform video encoding into the data stream 14 at the internal bit depth and receive a video input having the input bit depth or the internal bit depth. The video encoder is configured to encode a syntax element indicating the difference between the internal bit depth and the input bit depth into the data stream 14.
[0259] A bit depth conversion may be performed from the internally reconstructed video version 46 to the input bit depth. The decoder may be configured to perform this conversion before video output, and the encoder may be configured to perform this conversion in the prediction loop 36.
[0260] According to an embodiment, the decoder / encoder is configured to: based on the difference value, derive a minimum value of a quantization step size scaling parameter (e.g., quantization parameter 982) for which another QP different from 4 may result in lossless encoding or nearly lossless encoding, and to respect the minimum quantization step size scaling parameter for video portions encoded in prediction residual transform skip mode. The decoder / encoder is configured to: map a quantization step size scaling parameter 982 finer than the minimum value (e.g., QP<4) to a quantization step size scaling parameter 982 equal to the minimum value to achieve lossless encoding. For lossless encoding, the minimum value may be associated with no quantization 32, 52 or a bypass or disabling of quantization 32, 52. The decoder / encoder may be configured to, when respecting the minimum quantization step size scaling parameter for a video portion 100 encoded in a prediction residual transform skip mode, change the signaled quantization step size scaling parameter to be equal to the minimum quantization step size scaling parameter if the signaled quantization step size scaling parameter signaled in the data stream 14 for the video portion 100 falls below the minimum quantization step size scaling parameter. The decoder / encoder may respect the minimum quantization step size scaling parameter only within the video region 104 for which the data stream 14 signals a lossless coding mode 1061.
[0261] Another embodiment relates to a video decoder configured to: perform video decoding from a data stream 14 at an internal bit depth and perform video output at an input bit depth or an internal bit depth, and read a syntax element from the data stream 14 indicating a minimum value of a quantization step size scaling parameter (QP minimum) (e.g. due to a non-zero difference between the internal and input bit depths), for example, in addition to the QP minimum, the decoder can also be informed of the difference by transmitting the difference or by transmitting two values (i.e., the input bit depth and the internal bit depth). Another QP different from 4 can result in or almost result in lossless encoding. In parallel, a video encoder can be configured to: perform video encoding into the data stream 14 at the internal bit depth and receive a video input having the input bit depth or the internal bit depth, and encode a syntax element into the data stream 14 indicating the minimum value of the quantization step size scaling parameter. The decoder / encoder may be configured to respect the minimum quantization step size scaling parameter for a video portion 100 encoded in a prediction residual transform skip mode and optionally partially change the signaled quantization step size scaling parameter to be equal to the minimum quantization step size scaling parameter in case the signaled quantization step size scaling parameter signaled in the data stream 14 for that video portion 100 drops below the minimum quantization step size scaling parameter. The decoder / encoder may respect the minimum quantization step size scaling parameter only within a video region 104 for which the data stream 14 signals a lossless coding mode 1061.
[0262] Another embodiment relates to a video decoder / encoder configured to derive from / encode into a data stream 14 an indication of an internal bit depth and an input bit depth or a difference therebetween, to perform video decoding from / encoding into the data stream 14 at the internal bit depth, and the decoder is configured to output a video at the input bit depth, and the encoder is configured to receive a video input having the input bit depth. Furthermore, the decoder / encoder is configured to check if the internal bit depth drops below the input bit depth, and to change the internal bit depth to correspond to the input bit depth. Optionally, the decoder / encoder is configured to derive from / encode into the data stream 14 an indication of a lossless coded video portion, and to perform said checking and said changing within the lossless coded video portion, and to use the internal bit depth (e.g. as derived from the data stream 14) for the lossy coded video portion. The internal bit depth may be signaled by the encoder in the data stream.
[0263] 3.1 Entropy Coding
[0264] Since lossless encoding (e.g., QP of 4) typically results in a higher bit rate than lossy encoding, the entropy coding engine can switch to a high throughput mode to prevent processing bottlenecks. This can be done, for example, by using a different code in binarization or by processing more binary values in a bypass coding mode in CABAC using context modeling and binary arithmetic coding after binarization rather than in a regular coding mode.
[0265] The embodiment relates to a decoder (encoder) configured to: for a predetermined portion 100 of a picture 12, determine whether to (is to) be encoded into a data stream 14 using lossless coding 1061 or lossy coding 1062, and if the predetermined portion 100 of the picture 12 is (is to) be encoded into the data 14 using lossless coding 1061, then decode the prediction residual for the predetermined portion 100 from the data stream 14 (to decode the prediction residual for the predetermined portion 100) using a first mode (referred to as residual_ts_coding() in Table 1) using binarization of the prediction residual data into a binary value string and context-adaptive binary entropy decoding (encoding) of the binary value string. a prediction residual for the predetermined portion 100 is encoded into the data stream); and if the predetermined portion 100 of the picture 12 is (to be) encoded into the data stream 14 using lossy coding 1062, then the prediction residual for the predetermined portion 100 is decoded from the data stream 14 (the prediction residual for the predetermined portion 100 is encoded into the data stream) in a second manner (referred to as residual_coding() in Table 1) using binarization of the prediction residual data into a binary value string and context-adaptive binary entropy decoding (encoding) of the binary value string, wherein the first manner is different from the second manner, so that the computational complexity is reduced in the first manner compared to the second manner.
[0266] The determination as to whether the predetermined portion 100 of the picture 12 is encoded into the data stream 14 using lossless encoding 1061 or lossy encoding 1062 may be performed (e.g., as to Figure 6 According to an embodiment, the decoder is configured to perform the determination by reading a lossless coding syntax element (e.g., 102) from the data stream 14, the syntax element indicating whether the predetermined portion 100 of the picture 12 or the predetermined area 104 containing the predetermined portion 100 is encoded into the data stream 14 using lossless coding 1061 or lossy coding 1062, and performing the determination according to the lossless coding syntax element. The encoder may encode the lossless coding syntax element.
[0267] Compared with the second method, the computational complexity in the first method can be reduced by at least one of the following methods:
[0268] - the number of binary values of the binary value string encoded using the equally probable bypass mode in the first manner is greater than in the second manner, and
[0269] - Use different binarization codes in the first mode and the second mode, for example, exponential Golomb code, truncated unary code, etc.
[0270] According to an embodiment, the amount of binary values of the binary value string belonging to the unary code or the truncated unary code in the binary value string in the first mode is less than that in the second mode.
[0271] 3.2 Inter-Component Transform (ICT)
[0272] The coefficients of the inverse ICT transform matrix do not allow lossless coding, because there is no corresponding forward transform matrix that leads to perfect lossless reconstruction without quantization of the residual signal. It is therefore proposed that when lossless_coding is equal to 1, a different inverse ICT transform matrix (specified as a list of coefficients or a mathematical operation such as a shift or multiplication) is used in the codec than when lossless_coding is equal to 0 (conventional operation). Specifically, when lossless_coding is equal to 0, a conventional ICT upmixing operation can be used, for example:
[0273] cb=c1+c2,
[0274] cr=sign*(c1-c2),
[0275] where c1 and c2 are the two transmitted residual block signals, and cb and cr are the associated output residual signals produced by the inverse ICT. However, when loss1ess_coding is equal to 1, a lifting transform [4, 5] or a modulo transform [6] operation can be applied to c1 and c2 instead of the above operations, which allows perfect reconstruction of the cb and cr prediction residuals in the absence of quantization and loop filtering. A different but equivalent way to describe this perfect reconstruction property is to point out that the transform is also mathematically completely reversible, even in practical applications running on, for example, computers (where the transform operation typically requires a rounding step to an integer that prohibits mathematically perfect reconstruction). For example, forward lossless ICT:
[0276] c1=cb+sign*cr.
[0277] c2=cb-sign*INT(c1 / 2)
[0278] And the corresponding inverse lossless ICT
[0279] cb'=c2+sign*INT(c1 / 2),
[0280] cr'=sign*(c1-cb')
[0281] Where INT() represents the floor (rounding to negative infinity), ceiling (rounding to positive infinity) or rounding (rounding to the nearest integer) operator, and sign is equal to 1 or -1; perfect reconstruction of both cb and cr is achieved (i.e., cb'=cb, cr'=cr). Therefore, when lossless encoding is required, the above-mentioned inverse lossless ICT operation resulting in cb' and cr' is preferably applied in the decoder. Note that perfect reconstruction can also be achieved by switching between the above-mentioned forward and inverse lossless operations, so that the forward lossless ICT is given by:
[0282] c1=cr+sign*INT(cb / 2),
[0283] c2=sign*(cb-c1)
[0284] And the corresponding inverse lossless ICT is given by:
[0285] cb'=c1+sign*c2,
[0286] cr'=c1-sign*INT(cb' / 2).
[0287] Also note that the + and - signs in the above equations may vary in a particular implementation, but will lead to equivalent results (i.e., cb' = cb, cr' = cr). Finally, it is worth noting that slightly different formulas (e.g., the equivalent formula for integer mid-side (M / S) processing in HD-AAC described in [5]) can be used as an inverse lossless transform during decoding.
[0288] According to one embodiment, the decoder (encoder) is configured to: for a predetermined part 100 of the picture 12, determine whether to (or is to) use lossless coding 1061 or lossy coding 1062 to encode it into the data stream 14, and if the predetermined part 100 of the picture 12 is encoded into the data stream 14 using lossless coding 1061, then (for example, in the prediction loop of the encoder) perform a fully reversible transform on the prediction residual 24"', 24"" or the reconstruction 46 corrected by the prediction residual of the predetermined part 100; and if the predetermined part 100 of the picture 12 is encoded into the data stream 14 using lossless coding 1062, then (for example, in the prediction loop of the encoder) perform a non-fully reversible transform on the prediction residual 24"', 24"" or the reconstruction 46 corrected by the prediction residual of the predetermined part 100.
[0289] The determination as to whether the predetermined portion 100 of the picture 12 is encoded into the data stream 14 using lossless encoding 1061 or lossy encoding 1062 may be performed (e.g., as to Figure 6 According to an embodiment, the decoder is configured to perform the determination by reading a lossless coding syntax element (e.g., 102) from the data stream 14, the syntax element indicating whether the predetermined portion 100 of the picture 12 or the predetermined area 104 containing the predetermined portion 100 is encoded into the data stream 14 using lossless coding 1061 or lossy coding 1062, and performing the determination according to the lossless coding syntax element. The encoder may encode the lossless coding syntax element.
[0290] The completely reversible transform and the non-completely reversible transform can be a transform between color components or a transform within a spectrally decomposed color component.
[0291] 3.3 Smoothing Filters in Some Predictors
[0292] For lossless coding with high bitrates, filters applied to the prediction signal to attenuate compression artifacts (e.g., smoothing filters to reduce quantization artifacts) may not be advantageous. Therefore, in the case of transform skip with quantization skip, these filters may be disabled for lossless coding.
[0293] According to one embodiment, the decoder (encoder) is configured to: determine, for a predetermined part 100 of the picture 12, whether to (is to) be encoded into the data stream 14 using lossless coding 1061 or lossy coding 1062; and if the predetermined part 100 of the picture 12 (is to) be encoded into the data stream 14 using lossless coding 1061, derive a prediction signal 26 for the predetermined part 100 in a first manner; and if the predetermined part 100 of the picture 12 (is to) be encoded into the data stream 14 using lossless coding 1062, derive a prediction signal 26 for the predetermined part 100 in a second manner, wherein the first manner is different from the second manner, so that the prediction signal 26 is filtered less in the first manner than in the second manner, for example, by an interpolation filter, or is not filtered in the first manner but filtered in the second manner.
[0294] The determination as to whether the predetermined portion 100 of the picture 12 is encoded into the data stream 14 using lossless encoding 1061 or lossy encoding 1062 may be performed (e.g., as to Figure 6According to an embodiment, the decoder is configured to perform the determination by reading a lossless coding syntax element (e.g., 102) from the data stream 14, the syntax element indicating whether the predetermined portion 100 of the picture 12 or the predetermined area 104 containing the predetermined portion 100 is encoded into the data stream 14 using lossless coding 1061 or lossy coding 1062, and performing the determination according to the lossless coding syntax element. The encoder may encode the lossless coding syntax element.
[0295] According to one embodiment, in terms of low-pass filtering, the prediction signal 26 is filtered less in the first mode than in the second mode, or is not filtered in the first mode but filtered in the second mode, for example, when derived based on the first mode, the prediction signal 26 has higher energy in the higher frequency half of the entire spatial spectrum of the prediction signal 26 compared to the second mode.
[0296] 3.4 Loop Filter and Quantization
[0297] When lossless_coding is equal to 1, all loop filters (e.g., deblocking, shape adaptive offset (SAO), shaper) and quantization are disabled and their related syntax elements (including their respective sequence-by-sequence or frame-by-frame activation flags and any QP or QP increment) shall not appear in the coded bitstream.
[0298] According to one embodiment, the decoder (encoder) is configured to: determine, for a predetermined portion 100 of the image 12, whether to (is to) be encoded into the data stream 14 using lossless coding 1061 or lossy coding 1062, and if the predetermined portion 100 of the image 12 is (is to) be encoded into the data stream 14 using lossless coding 1061, infer that one or more predetermined encoding options related to one or more tools of the decoder (encoder) for processing the prediction reconstruction 46 corrected by the prediction residual and / or for the prediction residual requantization 52, 38 (quantization 52) regarding the predetermined portion 100 are to be set, so that the one or more tools are disabled for the predetermined portion 100; and if the predetermined portion 100 of the image 12 is (is to) be encoded into the data stream 14 using lossy coding 1062, infer that the one or more predetermined encoding options are to be set by deriving the one or more predetermined encoding options from multiple encoding parameters 98.
[0299] The determination as to whether the predetermined portion 100 of the picture 12 is encoded into the data stream 14 using lossless encoding 1061 or lossy encoding 1062 may be performed (e.g., as to Figure 6According to an embodiment, the decoder is configured to perform the determination by reading a lossless coding syntax element (e.g., 102) from the data stream 14, the syntax element indicating whether the predetermined portion 100 of the picture 12 or the predetermined area 104 containing the predetermined portion 100 is encoded into the data stream 14 using lossless coding 1061 or lossy coding 1062, and performing the determination according to the lossless coding syntax element. The encoder may encode the lossless coding syntax element.
[0300] In the following, different embodiments of the method are described.
[0301] Figure 7 A method 200 for decoding a picture from a data stream (encoding a picture into a data stream) is shown, comprising: for a predetermined portion of a picture, determining 106 whether it is (to be) encoded into the data stream using lossless coding or lossy coding; and if the predetermined portion of the picture is (to be) encoded into the data stream using lossless coding, decoding a prediction residual for the predetermined portion from the data stream (encoding the prediction residual for the predetermined portion) in a first manner 210 using binarization of the prediction residual data into a binary value string and context-adaptive binary entropy coding of the binary value string. and if the predetermined part of the picture is (to be) encoded into the data stream using lossy coding, then in a second manner 220, using binarization of the prediction residual data into a binary value string and context-adaptive binary entropy coding of the binary value string, decoding the prediction residual for the predetermined part from the data stream (encoding the prediction residual for the predetermined part into the data stream), wherein the first manner is different from the second manner, so that the computational complexity of the first manner 210 is reduced compared to the second manner 220.
[0302] Figure 8 A method 300 for decoding a picture from a data stream (encoding a picture into a data stream) is shown, comprising: for a predetermined portion of the picture, determining 106 whether to (is to) use lossless coding or lossy coding to encode it into the data stream; and if the predetermined portion of the picture is (to) be encoded into the data stream using lossless coding, performing a fully reversible transform 310 on the prediction residual or a reconstruction corrected by the prediction residual of the predetermined portion; and if the predetermined portion of the picture is (to) be encoded into the data stream using lossy coding, performing a non-fully reversible transform 320 on the prediction residual or a reconstruction corrected by the prediction residual of the predetermined portion.
[0303] Fig. 9A method 400 for decoding a picture from a data stream (encoding a picture into a data stream) is shown, comprising: for a predetermined portion of the picture, determining 106 whether to (is to) be encoded into the data stream using lossless coding or lossy coding; and if the predetermined portion of the picture is (is to) be encoded into the data stream using lossless coding, deriving a prediction signal for the predetermined portion in a first manner 410; and if the predetermined portion of the picture is (is to) be encoded into the data stream using lossy coding, deriving a prediction signal for the predetermined portion in a second manner 420, wherein the first manner is different from the second manner, so that the prediction signal is filtered less in the first manner 410 than in the second manner 420, for example by an interpolation filter, or is not filtered in the first manner 410 but filtered in the second manner 420.
[0304] Fig.10 A method 500 for decoding a picture from a data stream (encoding a picture into a data stream) is shown, comprising: determining 106 whether a predetermined portion of the picture is (to be) encoded into the data stream using lossless coding or lossy coding; and if the predetermined portion of the picture is (to be) encoded into the data stream using lossless coding, inferring that one or more predetermined encoding options related to one or more tools of the decoder / encoder for processing prediction reconstruction corrected by prediction residuals or for quantizing prediction residuals regarding the predetermined portion are to be set, so that the one or more tools are disabled for the predetermined portion 510; and if the predetermined portion of the picture is (to be) encoded into the data stream using lossy coding, inferring that the one or more predetermined encoding options are to be set by deriving 520 the one or more predetermined encoding options from multiple encoding parameters.
[0305] Figure 1 1a shows a method 600, including: performing 610 video decoding from a data stream at an internal bit depth, and performing 620 video output at an input bit depth or an internal bit depth, and reading 630 a syntax element indicating the difference between the internal bit depth and the input bit depth from the data stream. Figure 1 1b shows a parallel method 600, including: performing 612 video encoding into a data stream at an internal bit depth, and receiving 622 a video input having an input bit depth or an internal bit depth, and encoding 632 a syntax element indicating the difference between the internal bit depth and the input bit depth into the data stream.
[0306] Fig.12a A method 700 is shown, comprising performing 610 video decoding from a data stream at an internal bit depth and performing 620 video output at an input bit depth or an internal bit depth, and reading 730 a syntax element from the data stream indicating a minimum value of a quantization step size scaling parameter. Figure 12bA parallel method 700 is shown, comprising performing 612 video encoding into a data stream at an internal bit depth, and receiving 622 a video input having an input bit depth or an internal bit depth, and encoding 732 a syntax element indicating a minimum value of a quantization step size scaling parameter into the data stream.
[0307] Fig.13a A method 800 is shown, comprising: deriving 810 from a data stream an indication of an internal bit depth and an input bit depth or a difference therebetween, performing 610 video decoding from the data stream at the internal bit depth and performing 620 video output at the input bit depth, checking 820 whether the internal bit depth has dropped below the input bit depth, and changing the internal bit depth to correspond to the input bit depth. Fig.13b A parallel method 800 is shown, comprising encoding 812 into a data stream video an indication of an internal bit depth and an input bit depth or a difference therebetween, performing 612 video encoding into the data stream at the internal bit depth and receiving 622 a video input having the input bit depth, checking 820 whether the internal bit depth has dropped below the input bit depth, and changing 830 the internal bit depth to correspond to the input bit depth.
[0308] References
[0309] 【1】ITU-T, Recommendation H.265 and ISO / IEC, Int.Standard 23008-2, "Highefficiency video coding," Geneva, Switzerland, Feb. 2018. Online: http: / / www.itu.int / rec / T-REC-H.265.
[0310] 【2】JVET / Fraunhofer HHI, "VVCSoftware_VTM: VVC VTM reference software," Jul.2019.Online: https: / / vcgit.hhi.fraunhofer.de / jvet / VVCSoftware_VTM.
[0311] 【3】C.Helmrich, H.Schwarz, T.Nguyen, C.Rudat, D.Marpe, and T.Wiegand, "CE7: Joint Chroma Resi dual Coding with Multiple Modes(Tests CE7-2.1, CE7-2.2),"Joint Video Experts Group, document JVET-O0105, Gothenburg, June 2019.
[0312] 【4】I.Daubechies and W.Sweldens, "Factoring Wavelet Transforms into Lifting Steps," J.Four.Anal.Appl..Sep.1996.
[0313] 【5】R.Geiger, R.Yu, J.Herre, S.Rahardja, S.-W.Kim, X.Lin, and M.Schmidt. "ISO / IEC MPEG-4High-Definition Scalable Advanced Audio Coding," J.Aud.Eng.Soc., vol.55, no.1 / 2, pp.27-43, Jan.2007.
[0314] 【6】S.Srinivasan, "Modulo transforms-An alternative to lifting," IEEETrans.on Signal Processing, vol.54, no.5, pp.1864-1874, June 2006.
[0315] Implementation options :
[0316] Although some aspects have been described in the context of devices, it is clear that these aspects also represent descriptions of corresponding methods, where blocks or devices correspond to method steps or features of method steps. Similarly, the aspects described in the context of method steps also represent descriptions of corresponding blocks or items or features of corresponding devices. Some or all of the method steps can be performed by (or using) hardware devices (e.g., microprocessors, programmable computers, or electronic circuits). In some embodiments, one or more of the most important method steps can be performed by such devices.
[0317] Depending on certain implementation requirements, embodiments of the present invention may be implemented in hardware or software. The implementation may be performed using a digital storage medium, such as a floppy disk, DVD, Blu-ray, CD, ROM, PROM, EPROM, EEPROM or flash memory, and having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system to perform the corresponding method. Thus, the digital storage medium may be computer readable.
[0318] Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed.
[0319] Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer.The program code may, for example, be stored on a machine readable carrier.
[0320] Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.
[0321] In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.
[0322] Therefore, another embodiment of the inventive method is a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein. The data carrier, the digital storage medium or the recorded medium are typically tangible and / or non-transitory.
[0323] A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein.The data stream or the sequence of signals may, for example, be configured to be transmitted via a data communication connection, for example via the Internet.
[0324] A further embodiment comprises a processing means, for example a computer or a programmable logic device, configured to or adapted to perform one of the methods described herein.
[0325] A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.
[0326] Another embodiment according to the invention comprises an apparatus or system configured to transmit (e.g., electronically or optically) a computer program for performing one of the methods described herein to a receiver. For example, the receiver may be a computer, a mobile device, a storage device, etc. For example, the apparatus or system may comprise a file server for transmitting the computer program to the receiver.
[0327] In some embodiments, a programmable logic device (e.g., a field programmable gate array) may be used to perform some or all of the functions of the methods described herein. In some embodiments, a field programmable gate array may collaborate with a microprocessor to perform one of the methods described herein. Typically, these methods are preferably performed by any hardware device.
[0328] The apparatus described herein may be implemented by a hardware device, may be implemented by a computer, or may be implemented by a combination of a hardware device and a computer.
[0329] The apparatus described herein or any component of an apparatus described herein may be implemented at least partially in hardware and / or software.
[0330] The methods described herein may be performed using a hardware device, or using a computer, or using a combination of a hardware device and a computer.
[0331] Any component of a method described herein or an apparatus described herein may be performed at least in part by hardware and / or software.
[0332] The above embodiments are only used to illustrate the principles of the present invention. It should be understood that modifications and variations of the arrangements and details described herein will be apparent to those skilled in the art. Therefore, it is intended that the scope of the present invention be limited only by the scope of the upcoming patent claims, rather than by the specific details presented by the description and explanation of the embodiments herein.
Claims
1. A decoder for decoding a picture from a data stream, configured to: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If the predetermined part of the picture is encoded into the data stream using lossless coding, the prediction residual for the predetermined part is decoded from the data stream using a first method, including binarization of the prediction residual data into a binary value string and context-adaptive binary entropy decoding of the binary value string; and if the predetermined part of the picture is encoded into the data stream using lossy coding, the prediction residual for the predetermined part is decoded from the data stream using a second method, including binarization of the prediction residual data into a binary value string and context-adaptive binary entropy decoding of the binary value string, wherein the first method is different from the second method, so that the computational complexity of the first method is reduced compared to the second method.
2. The decoder of claim 1 , configured such that computational complexity is reduced in the first manner compared to the second manner by at least one of: The number of binary values of the binary value string encoded using the equally probable bypass mode in the first manner is greater than in the second manner, and Different binarization codes are used in the first method and the second method.
3. The decoder of claim 2, configured such that: In the first mode, the amount of binary values of the binary value string belonging to the unary code or the truncated unary code in the binary value string is smaller than that in the second mode.
4. A decoder for decoding a picture from a data stream, configured to: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If the predetermined part of the picture is encoded into the data stream using lossless coding, a fully reversible transform is performed on the prediction residual (24', 24") or the reconstruction (46) corrected by the prediction residual of the predetermined part; and if the predetermined part of the picture is encoded into the data stream using lossy coding, a non-fully reversible transform is performed on the prediction residual (24', 24") or the reconstruction (46) corrected by the prediction residual.
5. The decoder of claim 4, wherein: The completely reversible transform and the non-completely reversible transform are transforms between color components or transforms within spectrally decomposed color components.
6. A decoder for decoding a picture from a data stream, configured to: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If the predetermined part of the picture is encoded into the data stream using lossless coding, a prediction signal (26) for the predetermined part is derived in a first manner; and if the predetermined part of the picture is encoded into the data stream using lossy coding, a prediction signal (26) for the predetermined part is derived in a second manner, wherein the first manner is different from the second manner, so that the prediction signal is less filtered in the first manner than in the second manner, or is not filtered in the first manner but is filtered in the second manner.
7. The decoder of claim 6, wherein: In terms of low-pass filtering, the prediction signal is filtered less frequently in the first manner than in the second manner, or is not filtered in the first manner but is filtered in the second manner.
8. A decoder for decoding a picture from a data stream, configured to: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If the predetermined portion of the picture is encoded into the data stream using lossless coding, it is inferred that one or more predetermined encoding options associated with one or more tools of the decoder for processing prediction reconstruction after correction of prediction residuals or for requantization of prediction residuals regarding the predetermined portion are to be set, so that the one or more tools are disabled with respect to the predetermined portion; and if the predetermined portion of the picture is encoded into the data stream using lossy coding, it is inferred that one or more predetermined encoding options associated with one or more tools of the decoder for processing prediction reconstruction after correction of prediction residuals or for requantization of prediction residuals regarding the predetermined portion are to be set by deriving the one or more predetermined encoding options associated with the one or more tools of the decoder for processing prediction reconstruction after correction of prediction residuals or for requantization of prediction residuals regarding the predetermined portion from multiple encoding parameters.
9. The decoder of any one of claims 1, 4, 6 and 8, configured to perform said determination based on said data stream.
10. The decoder of any one of claims 1, 4, 6 and 8, configured to perform said determination by: reading a lossless coding syntax element from the data stream, the lossless coding syntax element indicating whether to use lossless coding or lossy coding to encode a predetermined portion of the picture or a predetermined area including the predetermined portion into the data stream; and The determining is performed according to lossless coding syntax elements.
11. The decoder of any one of claims 1, 4, 6 and 8, configured to perform said determination by: checking (106) whether a plurality of coding parameters (98) contained in the data stream (14) indicate coding parameter settings corresponding to lossless prediction residual coding, the plurality of coding parameters (98) relating to a predetermined portion (100) of the picture (12) and controlling a prediction residual transform mode and a quantization precision in relation to the predetermined portion, Based on whether the plurality of encoding parameters (98) indicate an encoding parameter setting corresponding to lossless prediction residual encoding, it is determined whether a predetermined portion of the picture is encoded into the data stream using lossless encoding or lossy encoding.
12. A video decoder, configured to: Performs video decoding from a data stream at the internal bit depth and performs video output at the input bit depth or the internal bit depth, A syntax element indicating the difference between the internal bit depth and the input bit depth is read from the data stream.
13. The video decoder of claim 12, configured to perform a bit depth conversion from an internally reconstructed video version to the input bit depth prior to the video output.
14. The video decoder of claim 12, configured to: Based on the difference, deriving a minimum value of a quantization step size scaling parameter, and The minimum quantization step size scaling parameters are respected for video portions encoded in prediction residual transform skip mode.
15. The video decoder of claim 12, configured to: When a minimum quantization step size scaling parameter is observed for a video portion encoded in a prediction residual transform skip mode, if a signaled quantization step size scaling parameter signaled in the data stream for the video portion drops below the minimum quantization step size scaling parameter, the signaled quantization step size scaling parameter is changed to be equal to the minimum quantization step size scaling parameter.
16. The video decoder of claim 14, configured to respect the minimum quantization step size scaling parameter only within video regions for which the data stream signals a lossless coding mode.
17. A video decoder, configured to: Performs video decoding from a data stream at the internal bit depth and performs video output at the input bit depth or the internal bit depth, A syntax element indicating a minimum value of a quantization step size scaling parameter is read from the data stream.
18. The video decoder of claim 17, configured to: The minimum quantization step size scaling parameters are respected for video portions encoded in prediction residual transform skip mode.
19. The video decoder of claim 17, configured to: When a minimum quantization step size scaling parameter is observed for a video portion encoded in a prediction residual transform skip mode, if a signaled quantization step size scaling parameter signaled for the portion in the data stream drops below the minimum quantization step size scaling parameter, the signaled quantization step size scaling parameter is changed to be equal to the minimum quantization step size scaling parameter.
20. The video decoder of claim 18, configured to respect the minimum quantization step size scaling parameter only within video regions for which the data stream signals a lossless coding mode.
21. A video decoder, configured to: deriving from the data stream an indication of the internal bit depth and the input bit depth or the difference between the internal bit depth and the input bit depth, performing video decoding from said data stream at an internal bit depth and performing video output at an input bit depth, Checks if the internal bit depth drops below the input bit depth and changes the internal bit depth to correspond to the input bit depth.
22. The video decoder of claim 21, configured to: deriving an indication of a lossless coded video portion from said data stream, and The checking and the changing are performed within the lossless coded video portion and for the lossy coded video portion an internal bit depth derived from the data stream is used.
23. An encoder for encoding a picture into a data stream, configured to: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If a predetermined portion of the picture is to be encoded into the data stream using lossless coding, the prediction residual data is binarized into a binary value string and context-adaptive binary entropy coding is performed on the binary value string in a first manner, and the prediction residual for the predetermined portion is encoded into the data stream; and if the predetermined portion of the picture is to be encoded into the data stream using lossy coding, the prediction residual data is binarized into a binary value string and context-adaptive binary entropy coding is performed on the binary value string in a second manner, and the prediction residual for the predetermined portion is encoded into the data stream, wherein the first manner is different from the second manner, so that the computational complexity of the first manner is reduced compared to the second manner.
24. The encoder of claim 23, configured such that computational complexity is reduced in the first manner compared to the second manner by at least one of: The number of binary values of the binary value string encoded using the equally probable bypass mode in the first manner is greater than that in the second manner, and Different binarization codes are used in the first mode and the second mode.
25. An encoder as claimed in claim 24, configured so that In the first mode, the amount of binary values of the binary value string belonging to the unary code or the truncated unary code in the binary value string is smaller than that in the second mode.
26. An encoder for encoding a picture into a data stream, configured to: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If the predetermined portion of the picture is to be encoded into the data stream using lossless coding, a fully reversible transform is performed on the prediction residual (24', 24") of the predetermined portion or a reconstruction (46) corrected by the prediction residual; and if the predetermined portion of the picture is to be encoded into the data stream using lossy coding, a non-fully reversible transform is performed on the prediction residual (24', 24") of the predetermined portion or a reconstruction (46) corrected by the prediction residual.
27. The encoder of claim 26, wherein the fully reversible transform and the non-fully reversible transform are either inter-color component transforms or intra-spectral decomposition color component transforms.
28. An encoder for encoding a picture into a data stream, configured to: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If a predetermined portion of the picture is to be encoded into the data stream using lossless coding, a prediction signal (26) for the predetermined portion is derived in a first manner; and if the predetermined portion of the picture is to be encoded into the data stream using lossy coding, a prediction signal (26) for the predetermined portion is derived in a second manner, wherein the first manner is different from the second manner, so that the prediction signal is less filtered in the first manner than in the second manner, or is not filtered in the first manner but is filtered in the second manner.
29. The encoder of claim 28, wherein: In terms of low-pass filtering, the prediction signal is filtered less frequently in the first manner than in the second manner, or is not filtered in the first manner but is filtered in the second manner.
30. An encoder for encoding a picture into a data stream, configured to: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If a predetermined portion of the picture is to be encoded into the data stream using lossless coding, it is inferred that one or more predetermined encoding options related to one or more tools of the encoder for processing prediction reconstruction after correction of prediction residuals or for quantizing prediction residuals with respect to the predetermined portion are to be set, so that the one or more tools are disabled with respect to the predetermined portion; and if the predetermined portion of the picture is to be encoded into the data stream using lossy coding, it is inferred that one or more predetermined encoding options related to one or more tools of the encoder for processing prediction reconstruction after correction of prediction residuals or for quantizing prediction residuals with respect to the predetermined portion are to be set by deriving the one or more predetermined encoding options related to the one or more tools of the encoder for processing prediction reconstruction after correction of prediction residuals or for quantizing prediction residuals with respect to the predetermined portion from multiple encoding parameters.
31. An encoder as claimed in any one of claims 23, 26, 28 and 30, configured to signal said determination in said data stream.
32. An encoder as claimed in any one of claims 23, 26, 28 and 30, configured to: Based on the determination, a lossless coding syntax element is encoded into the data stream, the lossless coding syntax element indicating whether to use lossless coding or lossy coding to encode a predetermined portion of the picture or a predetermined region including the predetermined portion into the data stream.
33. The encoder of any one of claims 23, 26, 28 and 30, configured to perform the determination by: checking (106) whether a plurality of coding parameters (98) indicate coding parameter settings corresponding to lossless prediction residual coding, the plurality of coding parameters (98) relating to a predetermined portion (100) of the picture (12) and controlling a prediction residual transform mode and a quantization precision with respect to the predetermined portion; signaling the plurality of encoding parameters (98) in the data stream (14); Based on whether the plurality of encoding parameters (98) indicate an encoding parameter setting corresponding to lossless prediction residual encoding, it is determined whether a predetermined portion of the picture is encoded into the data stream using lossless encoding or lossy encoding.
34. A video encoder configured to: performs video encoding into a data stream at an internal bit depth and receives video input at an input bit depth or an internal bit depth, A syntax element indicating the difference between the internal bit depth and the input bit depth is encoded into the data stream.
35. The video encoder of claim 34, configured to perform a bit depth conversion from the internal reconstructed video version (46) to the input bit depth.
36. The video encoder of claim 34, configured to: Based on the difference, deriving a minimum value of a quantization step size scaling parameter, and The minimum quantization step size scaling parameters are respected for the portion of the video to be encoded in prediction residual transform skip mode.
37. The video encoder of claim 34, configured to: while observing a minimum quantization step size scaling parameter for a video portion to be encoded in a prediction residual transform skip mode, if a signaled quantization step size scaling parameter drops below the minimum quantization step size scaling parameter, changing the quantization step size scaling parameter for the video portion to be equal to the minimum quantization step size scaling parameter; and The quantization step size scaling parameter is signaled in the data stream.
38. The video encoder of claim 36, configured to: respect the minimum quantization step size scaling parameter only within video regions where a lossless coding mode is applied; and The lossless coding mode is signaled in the data stream.
39. A video encoder configured to: performs video encoding into a data stream at an internal bit depth and receives video input at an input bit depth or an internal bit depth, A syntax element indicating a minimum value for a quantization step size scaling parameter is encoded into the data stream.
40. The video encoder of claim 39, configured to: The minimum quantization step size scaling parameters are respected for the portion of the video to be encoded in prediction residual transform skip mode.
41. The video encoder of claim 39, configured to: while observing the minimum quantization step size scaling parameter for a video portion to be encoded in a prediction residual transform skip mode, if the signaled quantization step size scaling parameter drops below the minimum quantization step size scaling parameter, changing the signaled quantization step size scaling parameter to be equal to the minimum quantization step size scaling parameter; and The quantization step size scaling parameter is signaled in the data stream.
42. The video encoder of claim 40, configured to respect the minimum quantization step size scaling parameter only within video regions where a lossless coding mode is applied; and The lossless coding mode is signaled in the data stream.
43. A video encoder configured to: encoding into the data stream video an indication of the internal bit depth and the input bit depth or the difference between the internal bit depth and the input bit depth, performing video encoding into the data stream at an internal bit depth and receiving a video input having an input bit depth, Checks if the internal bit depth drops below the input bit depth and changes the internal bit depth to correspond to the input bit depth.
44. The video encoder of claim 43, configured to: encoding into the data stream an indication of a lossless encoded video portion; and performing said checking and said changing within said lossless coded video portion and using said internal bit depth for a lossy coded video portion; and The internal bit depth is signaled in the data stream.
45. A method for decoding a picture from a data stream, comprising: determining, for a predetermined portion of a picture, whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If the predetermined portion of the picture is encoded into the data stream using lossless coding, decoding a prediction residual for the predetermined portion from the data stream using binarization of the prediction residual data into a binary value string and context adaptive binary entropy decoding of the binary value string in a first manner; And if a predetermined portion of the picture is encoded into the data stream using lossy coding, then using binarization of the prediction residual data into a binary value string and context-adaptive binary entropy decoding of the binary value string in a second manner to decode the prediction residual for the predetermined portion from the data stream, wherein the first manner is different from the second manner, so that the computational complexity of the first manner is reduced compared to the second manner.
46. A method for decoding a picture from a data stream, comprising: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If the predetermined part of the picture is encoded into the data stream using lossless coding, a fully reversible transform is performed on the prediction residual (24', 24") or the reconstruction (46) corrected by the prediction residual of the predetermined part; and if the predetermined part of the picture is encoded into the data stream using lossy coding, a non-fully reversible transform is performed on the prediction residual (24', 24") or the reconstruction (46) corrected by the prediction residual.
47. A method for decoding a picture from a data stream, comprising: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If the predetermined part of the picture is encoded into the data stream using lossless coding, a prediction signal (26) for the predetermined part is derived in a first manner; and if the predetermined part of the picture is encoded into the data stream using lossy coding, a prediction signal (26) for the predetermined part is derived in a second manner, wherein the first manner is different from the second manner, so that the prediction signal is less filtered in the first manner than in the second manner, or is not filtered in the first manner but is filtered in the second manner.
48. A method for decoding a picture from a data stream, comprising: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If the predetermined portion of the picture is encoded into the data stream using lossless coding, it is inferred that one or more predetermined encoding options associated with one or more tools of the decoder for processing prediction reconstruction after correction of the prediction residual or for requantization of the prediction residual with respect to the predetermined portion are to be set, so that the one or more tools are disabled with respect to the predetermined portion; and if the predetermined portion of the picture is encoded into the data stream using lossy coding, it is inferred that one or more predetermined encoding options associated with one or more tools of the decoder for processing prediction reconstruction after correction of the prediction residual or for requantization of the prediction residual with respect to the predetermined portion are to be set by deriving the one or more predetermined encoding options associated with the one or more tools of the decoder for processing prediction reconstruction after correction of the prediction residual or for requantization of the prediction residual with respect to the predetermined portion from multiple encoding parameters.
49. A method comprising: Performs video decoding from a data stream at the internal bit depth and performs video output at the input bit depth or the internal bit depth, A syntax element indicating a difference between an internal bit depth and an input bit depth is read from the data stream.
50. A method comprising: Performs video decoding from a data stream at the internal bit depth and performs video output at the input bit depth or the internal bit depth, A syntax element indicating a minimum value of a quantization step size scaling parameter is read from the data stream.
51. A method comprising: deriving from the data stream an indication of the internal bit depth and the input bit depth or the difference between the internal bit depth and the input bit depth, performing video decoding from said data stream at an internal bit depth and performing video output at an input bit depth, Checks if the internal bit depth drops below the input bit depth and changes the internal bit depth to correspond to the input bit depth.
52. A method for encoding a picture into a data stream, comprising: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If the predetermined portion of the picture is to be encoded into the data stream using lossless coding, encoding the prediction residual for the predetermined portion into the data stream using binarization of the prediction residual data into a binary value string and context adaptive binary entropy coding of the binary value string in a first manner; And if a predetermined part of the picture is to be encoded into the data stream using lossy coding, the prediction residual for the predetermined part is encoded into the data stream using binarization of the prediction residual data into a binary value string and context-adaptive binary entropy coding of the binary value string in a second manner, wherein the first manner is different from the second manner, so that the computational complexity of the first manner is reduced compared to the second manner.
53. A method for encoding a picture into a data stream, comprising: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If the predetermined portion of the picture is to be encoded into the data stream using lossless coding, a fully reversible transform is performed on the prediction residual (24', 24") of the predetermined portion or a reconstruction (46) corrected by the prediction residual; and if the predetermined portion of the picture is to be encoded into the data stream using lossy coding, a non-fully reversible transform is performed on the prediction residual (24', 24") of the predetermined portion or a reconstruction (46) corrected by the prediction residual.
54. A method for encoding a picture into a data stream, comprising: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If the predetermined portion of the picture is to be encoded into the data stream using lossless coding, deriving a prediction signal (26) for the predetermined portion in a first manner; And if a predetermined portion of the picture is to be encoded into the data stream using lossy coding, a prediction signal (26) for the predetermined portion is derived in a second manner, wherein the first manner is different from the second manner, so that the prediction signal is less filtered in the first manner than in the second manner, or is not filtered in the first manner but is filtered in the second manner.
55. A method for encoding a picture into a data stream, comprising: For a predetermined portion of a picture, determining whether to use lossless coding or lossy coding to encode the predetermined portion of the picture into a data stream, and If a predetermined portion of the picture is to be encoded into the data stream using lossless coding, it is inferred that one or more predetermined encoding options related to one or more tools of the encoder for processing prediction reconstruction after correction of prediction residuals or for quantizing prediction residuals with respect to the predetermined portion are to be set, so that the one or more tools are disabled with respect to the predetermined portion; and if the predetermined portion of the picture is to be encoded into the data stream using lossy coding, it is inferred that one or more predetermined encoding options related to one or more tools of the encoder for processing prediction reconstruction after correction of prediction residuals or for quantizing prediction residuals with respect to the predetermined portion are to be set by deriving the one or more predetermined encoding options related to the one or more tools of the encoder for processing prediction reconstruction after correction of prediction residuals or for quantizing prediction residuals with respect to the predetermined portion from multiple encoding parameters.
56. A method comprising: performs video encoding into a data stream at an internal bit depth and receives video input at an input bit depth or an internal bit depth, A syntax element indicating the difference between the internal bit depth and the input bit depth is encoded into the data stream.
57. A method comprising: performing video encoding into a data stream at an internal bit depth and receiving a video input having an input bit depth or an internal bit depth; A syntax element indicating a minimum value for a quantization step size scaling parameter is encoded into the data stream.
58. A method comprising: encoding into the data stream video an indication of the internal bit depth and the input bit depth or a difference between the internal bit depth and the input bit depth; performing video encoding into said data stream at an internal bit depth and receiving a video input having an input bit depth; Checks if the internal bit depth drops below the input bit depth and changes the internal bit depth to correspond to the input bit depth.
59. A computer program for implementing the method of at least one of claims 45 to 58.
60. A data stream obtainable by a method as claimed in at least one of claims 52 to 58.