GB2503766A - Video coding and decoding comprising intensity dependent quantisation dependent on a IDQ profile - Google Patents
Video coding and decoding comprising intensity dependent quantisation dependent on a IDQ profile Download PDFInfo
- Publication number
- GB2503766A GB2503766A GB201306212A GB201306212A GB2503766A GB 2503766 A GB2503766 A GB 2503766A GB 201306212 A GB201306212 A GB 201306212A GB 201306212 A GB201306212 A GB 201306212A GB 2503766 A GB2503766 A GB 2503766A
- Authority
- GB
- United Kingdom
- Prior art keywords
- profile
- ido
- idq
- image intensity
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/179—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/177—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
In video encoding an image is divided into blocks; image intensity values in a block are transformed to provide transform coefficients and those transform coefficients are quantised, with a quantization step which is a pre-defined function of a quantization parameter QP that varies between said coefficients, to derive a compressed bitstream. A representative image intensity is estimated for a block and a quantization step is varied to perform intensity dependent quantisation (IDQ) between blocks in accordance with a selected IDQ profile. The IDQ profile may be selected for each spatio-temporal video segment, where the segment may be an image region such as: a slice, a plurality of images such as a group of pictures (GOP), a video shot or a video programme. The IDQ profile is signalled, preferably by a parameterised graphical representation of the profile, in association with the compressed bitstream. Each IDQ profile may be signalled through five or less parameters. The method makes possible further compression of videos without introducing additional visual degradation. A corresponding decoding method is also disclosed.
Description
VIDEO CODING AND DECODING
FIELD OF THE INVENTION
This invention is related to video compression and decompression systems, notably to a framework to adaptively select the quantization step used over each image block by exploiting the human visual system properties. In this way, further compression of videos is possible without introducing additional visual degradation.
BACKGROUND TO THE INVENTION
This invention is directed to the video coding area which aims at compressing video content as much as is possible without significantly compromising its visual quality. The compression is attained by exploiting both some statistical data redundancies as well as the characteristics of the Human Visual System (HVS) which is well known to be highly nonlinear sensitive to the artefacts introduced by compression. As far as this latter aspect is concerned, the main HVS feature used in current video coders is the lower HVS sensitivity to the distortion in high frequencies than low frequencies. Usage of this HVS feature is mainly made by discarding/reducing the high frequency components of the video content being compressed while retaining the low frequency ones in a quantization process. Besides this frequency related HVS feature, literature reports other HVS masking phenomena which all contribute to the so-called HVS Just Noticeable Distortion (hereafter denoted as simply JND). The JND refers to the maximum distortion level (i.e. level of artefacts) that can be introduced in a given video content without becoming noticeable by the human eye. There are several masking phenomena related to the HVS and literature reports several proposals to model the JND related to each masking. This invention relates to the masking due to the average pixel intensity. This masking phenomenon refers to the HVS lower perception of distortion in lower and higher pixel intensities image areas. Given this different distortion sensitivity, the JND level is higher in lower or higher image areas and lower otherwise. For a given range of intensities values associated to a given image block, the mapping between each intensity and JND value is called JND profile. An example of JND profile is depicted in Figure 1 where p denotes the average pixel intensity for a given image block in the original video being compressed.
The work in M. Naccari and F. Pereira, Advanced H.2641AVC-based perceptual video coding: architecture, principles and assessment", IEEE Transactions on Circuits and Systems for Video Technology, vol. 21, no. 6, pp. 766-782, June 2011 proposes a JND profile integration in a video compression system. To estimate the average pixel intensity p, the work uses the predictor used for each image block as it represents a good enough approximation for the original image data. Furthermore, this information is also available at the decoder side without sending any additional data.
SUMMARY OF THE INVENTION
It is an objective of the present invention to enable still more effective use to be made of pixel intensity masking in IDQ.
Accordingly, there is provided in one aspect in a method of video encoding in which an image is divided into blocks; image intensity values in a block are transformed to provide transform coefficients and said transform coefficients are quantized with quantization parameters that vary between said coefficients to derive a compressed bitstream; wherein a representative image intensity is estimated for a block and quantization parameters are varied between blocks in accordance with a IDO profile operating on said representative image intensity, characterised by the steps of selecting a IDO profile and signalling the selected IDQ profile in association with the compressed bitstream.
Another important aspect is related to the realisation that optimal IDO profiles depend on the given content, i.e. on a given image. Therefore this invention enables IDQ profile selection for each spatio-temporal video segment. A spatio-temporal video segment may be an image region, such as a slice or a tile; a plurality of images, such as a Group Of Pictures (GOP); a video shot or a video programme.
The JND profile can be seen as a special case of Intensity Dependent Quantization (IDO) profile which models the HVS masking to the block average pixel intensity. The IDQ profile, as introduced in this invention, can be used to increase the amount of information discarded during compression. In particular the higher discarded amount is obtained by increasing the quantization step and this increment can be generated by multiplying the initial quantization step Q with a multiplier defined by the IDO level or in another example by adding to the initial quantization parameter OP a difference defined by the IDO level (which is in that case defined with differences in OP parameters). The multiplier will depend on the average pixel intensity p and the IDO profile can denoted as IDO Multiplier (IDQM(p)). In this way a (perceptual) quantization step (Q*) is obtained as = Q x IDQM(p). In another example a quantisation difference will depend on the average pixel intensity i and the IDO profile can denoted as IdQP(p). In this way a (perceptual) quantization parameter (Qp*) is obtained as QP = + idQP(p). In that case Q* is derived from QP*.
It is important to note that the aforementioned Q* quantization step is also needed at the decoder side in order to properly perform inverse quantization. However, the value for Q depends on the IDQM(p) or 1dQP(p) which in turn depends on the average intensity value p for the image block being decoded. As stated above, p is computed over the original video data which are now needed also at the decoder side for inverse quantization. A trivial approach to making the p value available at the decoder is to transmit it together with coded data. However, this transmission will significantly increase the video coding rate. In order to avoid transmission of p, the intensity used for computation of IDQM(p) or IdQP(p) can be computed as the average image intensity of the prediction for that block.
In addition to such previous approaches where the predictor of a current block is used to derive the JND level, there can also be considered IDO derivation from intensities of spatially and/or temporally neighbouring decoded blocks as well as adaptive selection of IDQ profiles, in addition to using JND profile only.
The representative image intensity may be an average luminance value.
A selected IDO profile operating on the average luminance value for a block may be used in the quantisation of luminance and chrominance values. Another approach is to select different IDQ profiles for each component (e.g. Y, U and V, or R, G and B, depending on the chosen colour space format).
In one arrangement, the quantisation step that would otherwise have been employed is varied by scaling with a factor IDQM(p). That is so say that, in a block having an a estimated representative image intensity p, the quantization step A defined for example by a quantization matrix is scaled by: a(p) = Ax IDQM(p) (1) Preferably, a graphical representation of the IDO profile is parameterised and the IDO profile is signalled through a small number of IDO profile parameters. The number of parameters may be very much smaller then the number of intensity points (e.g. 28) which can enable very efficient compression of the IDQ profile by transmitting only a few numbers. In one example, the number of parameters may be five or less.
In several video coding standards (e.g. those belonging to the MPEG-x and H.26x families), the quantisation step A is related to a Quantisation Parameter (QP) via a nonlinear mapping/relationship here denoted as 9: A=9(QP) (2) In accordance with the present invention, an IDO profile may be used to vary the quantisation parameter OP rather than directly varying the quantisation step A. This may lead to efficiencies in implementation with some architectures. In this way, the IDO multipliers can be translated into the new QP values by means of the 9 mapping. It should be noted that the obtained OP can be also expressed as the difference between the OP provided by the IDO profile and the OP that would be used without IDO. In this invention, this OP difference will be simply denoted as intensity differential OP (idOP). From each IDOM value an idOP value can be computed by mean of the 9 mapping so that a new idQP profile is obtained.
There is provided in a further aspect in a method of decoding a compressed bitstream in which bitstream values are inverse quantised and inverse transformed to form an image block, wherein quantization parameters are varied between blocks in accordance with a IDO profile operating on a representative image intensity for the block; characterised by the steps of receiving in association with the bitstream a signalled IDO profile and deriving quantization parameters from the signalled profile.
Typically, a prediction is received for a block, and the representative image intensity is formed for a block by computing the average image intensity of the prediction for that block and/or by using a hybrid combination of blocks in the spatially and temporally neighbourhood.
It will be understood that embodiments of this invention allow a different IDO profile to be used for each spatio-temporal video segment to allow broadcaster and video content producers to encode a given segment by preserving more some image details or by smoothing some others. More precisely, using a different IDO profile for each segment allows the allocation of the available rate for that segment in a perceptual fashion whereby the bits saved in some segment areas where the distortion is less noticeable can be used to others image areas more likely to introduce visible distortion. Furthermore, this invention allows the transmitters to use a different profile for each video component (luminance and chrominance) so that some particular effects (e.g. colour contrast enhancement) can be created in the content being encoded. Another application of the invention is related to the reduction of bit-rate, while preserving the same visual quality.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 shows an example of a JND profile curve which, as stated above can be considered as a special case of IDQ profile Figure 2 shows a linear piecewise approximation for a IDQ profile curve.
FigureS shows an example of the IDOM and idOP profiles, highlighting their correspondences Figure 4 shows an example of encoder block diagram when the IDO quantization is used.
Figure 5 shows an example of decoder block diagram when the IDO quantization is used.
Figure 6 shows an example of idOP profile adaptation with respect to the quantisation parameter used during the encoding process.
Figure 7 shows an example of spatial average intensity estimation Figure 8 show an example of temporal average intensity estimation
DETAILED DESCRIPTION OF THE PRESENT INVENTION
The present invention will now be described by a way of two examples related to the IDO profile. The invention proposes the use of a varying IDOM or idOP profile and presents a technique to represent and transmit a IDQM or idQP profile curve used for IDQ in a hybrid motion compensated predictive video encoder.
IDOM profile derivation and transmission From several experimental records available in the literature, it is known that the average pixel intensity masking profile (i.e. the IDO profile) related to the human visual system is a U-shape curve, /DQ = IDQ(p) where p denotes the average intensity value for the block being coded. Since, as explained in the "Background to the in vent/on section", the IDQ profile is needed at the decoder side to perform inverse quantization, a compact way to represent this profile is proposed in this invention. Figure 2 represents a piecewise approximation of the IDQ profile; one straightforward way to transmit this profile to the decoder side is to transmit all the 2' values corresponding to all the possible average intensity values when n bits depth per pixel images are considered. However, from this figure it may be noted that one can take advantage by its shape and its four characteristic points: A, B, C and D. From these points, the remaining IDO profile values, i.e. the aforementioned IDO multipliers (IDOM), can be derived as proposed in this invention.
More precisely, the following definitions apply to the IDQM derivation.
* Definitions: To compute the IDOM the following parameters are defined: o IDQM4: 100 multiplier at point A which corresponds to the A ordinate.
o Pa: average intensity value at point B which corresponds to the B abscissa.
o IDQMa: 100 multiplier at point B which corresponds to the B ordinate.
a Pc: average intensity value at point C which corresponds to the C abscissa.
o IDQMD: 100 multiplier at point D which corresponds to the D ordinate.
* IDQ multipliers between points A and B. A negative slope straight line passing through A and B is computed. In particular the slope m and the offset q are computed as follows: in= , q=IDQM4. (3) The 100 multipliers /DQM(p) for 0 < p C p are obtained as: /DQM(p) = mp + q.
* IDQ multipliers between point B and C. The multiplier values in this 100 profile part are set equal to IDQM5, that is /DQM(p) = IDQM3 for p «= p «= Pa.
* IDQ multipliers between point C and D. A positive slope straight line passing through C and D is computed. In particular the slope m and the offset q are computed as follows: = IDQk[ -IDQM, q = IDQM.. -in (4) 2" 1Yc The IDO multiplier IDQM(p) for Pc < P< PD are obtained as: IDQM(p) = mp + q.
The slope m and offset q are real numbers and therefore an encoder which performed the intensity dependent quantization described in this invention needs to be equipped with a floating point arithmetic logic unit. Therefore this invention proposes in an alternative to compute m and q with integer arithmetic precision. To this end, the quantities!DQM4, IDQM3, and IDQMD will be up-scaled by 2k before the 100 multipliers computation starts with formulas (3) and (4). Then the obtained multipliers are downscaled by 2< whereby p denotes the internal codec representation for the 100 multipliers. Typically the floating point 100 multipliers are multiplied by 16 and rounded to the nearest integer in the HEVC codec. This corresponds to the internal precision (p) for the IDO profile values.
From the previous IDO profile values derivation it should be noted that, although 8 values are needed (four points times two coordinates each), only five values are used as IDQMc E IDQM3, PA E 0 and PD E 2n-l (see Figure 2). Therefore, only five parameters are transmitted to the decoder side. In this invention, the granularity at which these values are transmitted is the spatio-temporal video segment. A spatio-temporal video segment is a video sequence partition which can include a subset of one single frame or may extend towards different frames. As an example, a spatio-temporal video segment may refer to the frame region associated to a coded slice or to a Group Of Pictures (GOP). This invention allows a different IDO profile to be selected for each spatio-temporal video segment as broadcaster and video content producers may be interested to encode a given segment by preserving more some image details or by smoothing some others.
More precisely, using a different IDQ profile for each segment allows to allocate the available rate for that segment in a perceptual fashion whereby the bits saved in some segment areas where the distortion is less noticeable can be used to others image areas more likely to introduce visible distortion. Furthermore, this invention allows the transmitters to use a different profile for each video component (luminance and chrominance) so that some particular effects (e.g. colour contrast enhancement) can be created in the content being encoded.
The five aforementioned parameters, i.e. IDQMA, PB, IDQMB, IDQMD and Pc, are assumed to belong to a set denoted as fl. Together with these five parameters, also some additional information is provided to properly communicate to the decoder how to both perform inverse quantization and derive the IDQ multipliers for the spatio-temporal video segment being processed. This additional information is depicted in Table I whereby the following conditions are assumed: -Lets be the video frame temporal index with s in [0, S-I].
-When s = 0, if IDQ used = I, then also piset_present is equal to one.
-When s> 0 and IDQ used = I, if piset_present = 0 then the used IDQ profiles for all the three components, are the ones corresponding to the last framer with piset_present = I. The overall parsing and IDO multipliers computation for all the three video components (i.e. one luminance and two chrominance) is now depicted in the following conclusive
example.
If IDO_used = 0 -Read the flag single_profile from the bitstream.
-For s = 0 to S, where S denotes the number of spatio-temporal video segments associated to the video being decoded, do: -Read the flag piset_present from the bitstream. If piset_present = I then do: -Read the flag single_profile from the bitstream.
If single_profile = 1 then -Read the parameters in H, i.e. !DQMA, pB IDQM3, !DQMD and Pc for the luminance component.
-Compute the IDQ multipliers for the luminance component as described in paragraphs IDQ profile values between points A and B, IDO multipliers between points B and C and IDQ multipliers between points C and C. -Set the IDQ multipliers for the chrominance components to the values obtained for the luminance. Else
-Read the parameters in H, i.e. !DQMA, PB, !DQM3, IDQMD and Pc for the luminance component.
-Read the parameters in H, i.e. 1DQMA, PB, 1DQMB, IDQMD and PC for the chrominance component Cb.
-Read the parameters in H, i.e. IDQMA, PB, IDQMB, IDQMD and Mc for the chrominance component Cr.
-Compute the IDQ multipliers for the luminance component as described in paragraphs IDQ multipliers between points A and B, IDQ multipliers between points B and C and IDO multipliers between points C and D. -Compute the IDQ multipliers for the chrominance component Cb as described in paragraphs IDQ multipliers between points A and B, IDQ multipliers between points B and C and IDQ multipliers between points C and D. -Compute the IDO multipliers for the chrominance component Cr as described in paragraphs IDO multipliers between points A and B, IDO multipliers between points B and C and IDO multipliers between points C and C. End if -Decode the current spatio-temporal video segment according to the video coding standard syntax being used.
End for End if Table 1: Additional information transmitted to the decoder to correctly drive the IDO multipliers computation.
Information Associated Number Granularity Comment name variable of level needed bits DO Denotes the usage of IDO driven quantization in the quantization IDO used I Sequence -encoder. Transmitted only used once per sequence -Denotes the presence of pa io one single IDO profile for all Single IDO. . temporal single profile I the three components (i.e. profile -video luminance and segment ______________ _____________ __________ ______________ chrominance) Spatio-Denotes the presence of fl IDO profile temporal parameters set for the values piset present I -video spatio-temporal video present segment segment being decoded.
idQP profile derivation and transmission It has already been noted that an IDQ profile may be used to vary the quantisation parameter OP, rather than directly varying the quantisation step A. Generally, 9is invertible, that is QP = 91(A). Furthermore, OP takes integer values which yields to: QP = floor(91(A) + 0.5). As stated above, the intensity dependent quantisation multiplies A with the IDO multiplier to obtain a perceptual quantisation step denoted as A1'(p) = A x!DQM(p). Thus, the associated quantisation parameter (Qfi') is given by: QJJIDQ _fl00(gI(gDQ)5) (3) By subtracting the initial (non perceptual) OR, the intensity differential OP (idOP) is defined as: idQP=QP'°'-QP. (4) also, given that the IDQM(p) »= I for all p, !JQP is greater or equal to zero for all p. As an example, the quantiser used in both the H.264/AVC and the HEVC standards, uses a nonlinear mapping/relationship 9 given as follows: OP-4 A=2 6, (5) That is, the quantisation step A doubles in size for each OP increment of six and A(QP = 0) = 0.625. This example leads to the idOP curve profile depicted in Figure 3 whereas also the related IDO profile is shown.
In one arrangement, an IDQ profile may be signalled to the decoder, generally as described above. The decoder can then derive the appropriate idOP profile.
In an alternative, the idOP profile may be derived at the coder and signalled to the decoder. For example, a number of points in which idOP changes (other than the point p = 0) are sent to the decoder. Therefore, for p = 0, only idQP(0) is sent, then for the other points such that idQP(p-1) != idQP(p), pairs (p, idQP(p)) are sent.
It will frequently be the case that even where idOP changes it will change by only ±1.The number of bits needed fo profile transmission can then be reduced further. So If V p > 0, IidQP(p-1) -idQP(p)I e {0,1}, then the profile can be communicated in the same way as above, with a difference that the pairs include (p, b(p)), where b(p) is a single value which defines whether idQP values incieases or decreases in p, with respect to idQP(p-1).
An example of an encoder utilising the present invention is shown in Figure 4. Much of the encoder is of standard form and will not be described here.
It will be seen that the received profile parameters fl are provided to a profile computation block and also to the entropy encoding block for incorporation in the output bitstream.
The profile computation block provides the profile to a IDQM or idOP level computation block. Both for inter and intra coded blocks, this idQP level computation block estimates a representative image intensity for the block by calculating an average luminance from either the block prediction or the neighbouring blocks already reconstructed in the local decoder loop.
The level computation block provides a /DQM(p) or IdQP(p) level to the quantiser and to the inverse quantiser in the local decoder loop. Both the quantiser and inverse quantiser multiply the QP step that would be used without IDQ by the received IDQM(p) or add the OP step that would be used without IDO to the received idQP(p) to obtain the final quantisation step to be used to reconstruct the coded coefficients.
In a modification, use of already reconstructed neighbouring blocks may be made for all images, in place of using the prediction.
An example of a decoder utilising the present invention is shown in Figure 5. Again, much of the decoder is of standard form and will not be described here.
The profile parameters fl are extracted in the entropy decoding block and provided to a IDO profile computation block. This in turn provides the profile to a IDOM or idQP profile computation block which has available to it the prediction for the current block or selected already decoded blocks, for estimation of the representative image intensity as described above. The IDQM or idQP level computation block then provides a IDQM(p) or idQP(p) level to the inverse quantiser. The inverse quantiser multiplies the OP step that would be used without IDO by the received /DQM(p) or adds the OP step that would be used without IDO to the received IdQP(p) to obtained the final quantisation step to be used to reconstruct the decoded coefficients.
Profile adaptive to QP changes within the sequence A modification will now be described that allows a profile to be varied without always the need to send a fresh profile to the decoder. The example will be taken in which the profile is varied in accordance with the Quantisation Parameter (OP). It will be simpler then to take the case in which an idQP profile is signalled to the decoder, although the principle of adapting the profile in accordance with pre-defined rules can be applied to other arrangements discussed above.
In one approach, an initial idQP profile is defined for an assumed OP value, for example OP=0. The coder then adapts the initial idOP profile in accordance with the current value of OP, following a pro-defined set of rules which are "known" both to the coder and the decoder. In a variation, the coder selects an idOP profile for a sequence and begins encoding according to that profile. If the OP changes (or if the QP changes by a pre-set threshold) the profile is adapted. In this case, a pre-defined set of rules which are known" both to the coder and the decoder can operate to adapt the profile based on the difference between the starting OP and the current OP. This variation enables encoding to commence with a profile that is optimised for the current OP and the anticipated range of variation in OP above and/or below the current OP. In circumstances where it is not easy to anticipated the range of variation in OP, the former alternative -where an initial idOP profile is defined for an assumed OP value, for example 0P0 -may be preferable.
Rules controlling adaptation of the profile could be built into the codec. The aim of the adaptation would normally be to make the profile less strong (smaller idOP values) for larger OPs. One way of realising this it is to reduce the profile levels by I (until 0 is reached) for every higher range of OPs, as demonstrated in Figure 6.
In Figure 6, an initial profile is shown for use with a defined lower range of OP values. A further profile is shown for use with larger OP values in a predefined intermediate range of OP values. It will be seen that this intermediate profile is reduced by one unit on the idOP axis (without of course dropping below zero) A final profile is shown for use at the largest OP in an upper range of OP values. It will be seen that this upper profile is reduced by one unit on the idOP axis from the intermediate profile (again without dropping below zero).
Computation of average pixel intensity In this invention it is also optionally specified how to compute the average pixel intensity p, independently from the internal bit depth used by the encoder and decoder to represent image pixels. In fact, some video coding standards allow the encoder and decoder to change the internal bit depth representation for source pixels to compensate for rounding errors happening at various processing stages (e.g. motion compensation, transform, etc.). in the present invention the average operation to obtain average pixel intensity for an image block is specified in such a way that the output is always kept into n bits.
Therefore, assuming that both the encoder and decoder use m with m> n bits to internally represent image pixels, for an image block with Prows and C columns, the average pixel intensity is p given by: (R-1 C-p = (P(x,y)+o)>>(in-n)+q>>1og2(RxC), (5) x-() where >> denotes the right bit shift operation and o, q are rounding offsets. The values for these offsets are o = 2(fll-n-1) and q = 2b0&2<1. Usually, in video coding standards, it is assumed that the product RXC is always a power of 2 for optimisation purposes. In this case the operation log2(RxC) always produces integer number results.
Average pixel intensity estimation As previously stated, the average intensity is estimated in this invention by averaging the intensities for the pixels belonging to the predictor associated to the considered block or by averaging the pixels combined from the blocks in the spatially and temporally neighbourhood. The computation of such estimate is now presented as a way of two examples: one for the spatial and another for the temporal neighbourhood. Hereafter, the average pixel intensity estimate for the considered block will be denoted as jii.
Figure 7 shows an example of spatial neighbourhood for the considered image block denoted as (X). As stated above the average pixel intensity for this block can be computed by averaging the intensities for the pixels belonging to the predictor (spatial or temporal) used for X. Additionally and/or also alternatively, the average pixel intensity can be estimated by the average intensity of the pixels located on the left and above block X (e.g. the blue and green pixels depicted in Figure 7). The neighbours pixels are located along a concentric region which extends above and on the left of block X. The extension of this region can be arbitrary and decided by the codec implementers to meet requirements as estimate accuracy, implementation complexity, etc. With this new spatial neighbourhoods, the average pixel intensity estimate can be made more robust, namely in areas where the pixel value fluctuations are higher. The final spatial average intensity estimate (Th) is then obtained as: _ao.[Iy+ai.tli+...+av.[Iv, (6) where p1 for i = I N denotes the average pixel intensity for the i-th set of pixels located above and on the left of block X. The term jIy denotes the average estimate obtained by the average of the pixels belonging to the predictor (spatial or temporal) for X. The coefficients a can be transmitted for each spatio-temporal video segment. It should be noted that the final average intensity estimate for block X can be obtained as average over only the pixels belonging to its predictor (i.e. 8o = I and a1 = 0 for i> 0). More generally, the final average intensity estimate jI for block X can be obtained as in formula (6) as a combination which considers only spatial neighbourhood.
Figure 8 shows an example of temporal neighbourhood for the considered image block denoted as X. From the surrounding image blocks, denoted in the figure as A, B and C, the associated motion vector can be considered to retrieve the corresponding motion compensated predictor. Figure 8 depicts also the case when multiple reference frames are used for motion compensation. The average intensity estimate computed over the motion compensated predictor and denoted as can be also combined with the average computed over the predictors for blocks A, B and C. Therefore, the average intensity estimate for temporal neighbourhood (ItT) is then obtained as: = a0 /i + a1 pA + a, RB + a3. p (7) where p for i = A, B and C denotes the average intensity computed over the motion compensated predictor associate to block L As for Th also here the coefficients a1 for] = 0 3 can be transmitted for each spatio-temporal video segment. Finally, the average intensity estimate can be obtained as a combination of and fiT as follows: p-a a) p1. (8) Where the weight a can be transmitted to the decoder and allows to select purely spatial intensity estimate (i.e. a = 1) or purely temporal intensity estimate (i.e. a = 0). As for the weights related to Th and iT' also the weight a can be transmitted for each spatio-temporal video segment.
It will be understood that the techniques described and claimed here will typically form only a relatively small part of a complete encoding or decoding system. Also those techniques may be employed for some but not all images or image regions in a video sequence.
Claims (43)
- CLAIMSA method of video encoding in which an image is divided into blocks; image intensity values in a block are transformed to provide transform coefficients and said transform coefficients are quantized with a quantization step A which is a pre-defined function of a quantisation parameter OP that varies between said coefficients to derive a compressed bitstream; wherein a representative image intensity is estimated for a block and a quantization step is varied to perform an Intensity Dependent Quantization (IDO) between blocks in accordance with a IDO profile operating on said representative image intensity, comprising the steps of selecting a IDO profile in which the IDO data value is represented with a OP parameter value change; varying the quantisation parameter OP in accordance with the IDO profile and signalling the selected IDO profile in association with the compressed bitstream.
- 2. A method according to Claim I in which QP parameter value change has two possible values corresponding respectively with an increase and a decrease in IDQ by 1.
- 3. A method according to Claim I in which a IDO profile is selected for each spatio-temporal video segment, which spatio-temporal video segment may be an image region, such as a slice; a plurality of images, such as a Group Of Pictures (GOP); a video shot or a video programme.
- 4. A method according to any one of the preceding claims in which a graphical representation of the IDO profile is parameterised and the IDO profile is signalled through IDO profile parameters.
- 5. A method according to any one of the preceding claims in which a quantisation is adapted to the IDO profile by meaning of multiplying a default quantisation step by an IDO multiplier.
- 6. A method according to any one of the preceding claim, wherein each IDQ profile is signalled through five or less IDO profile parameters.
- 7. A method according to any one of the preceding claims in which the IDO profile is signalled through data pairs, each comprising an image intensity change data value and an IDQ change data value.
- 8. A method according to any one of the preceding claims, in which the representative image intensity is an average luminance value.
- 9. A method according to Claims I to 8 in which a selected IDQ value, or its corresponding OP parameter, devised from luminance intensities is used in the quantisation of luminance and chrominance values.
- 10. A method according to any one of Claims 1 to 8, in which a representative image intensity is estimated for each of three colour component and in which a IDO profile operating on the respective representative image intensity is provided for each colour component.
- 11. A method according to any one of the preceding claims in which a prediction is formed for a block, wherein representative image intensity is estimated for a block by computing the average image intensity of the prediction for that block.
- 12. A method according to any one of the claims Ito 11 in which representative image intensity is estimated for a block by computing the average image intensity of selected decoded blocks in the spatial neighbourhood.
- 13. A method according to claim 12 in which the average image intensity of selected decoded blocks is combined according to a specific set of weights.
- 14. A method according to claim 13 in which the specific set of weights can be varied and transmitted for each spatio-teniporal video segment.
- 15. A method according to any one of the claims Ito 11 in which representative intensity is estimated for a block by computing the average image intensity of selected decoded blocks in the temporal neighbourhood.
- 16. A method according to claim 17 in which the average image intensity of selected decoded blocks is combined according to a specific set of weights.
- 17. A method according to claim 18 in which the specific set of weights can be varied and transmitted for each spatio-teniporal video segment.
- 18. A method according to claim 14 or claim 15 in which representative intensity is estimated for a block by combining the average image intensity of selected blocks in both the spatial and temporal neighbourhood.
- 19. A method according to claim 20 in which the combination weight for the average intensities in the spatial and temporal neighbourhoods can be varied and transmitted for each spatio-temporal video segment.
- 20. A method according to any one of the preceding claims in which an initial IDQ profile is selected and that initial profile adapted in accordance with pre-defined rules.
- 21. A method according to Claim 15 in which an initial IDO profile is adapted in accordance with changes in a quantisation parameter OP.
- 22. A method according to Claim 16 in which an initial IDO profile is shifted by a unitary amount, as a quantisation parameter QP passes a pre-defined threshold, with the constraint that the value remains non-negative,
- 23. A method of decoding a compressed bitstream in which bitstream values are inverse quantised and inverse transformed to form an image block, wherein a quantization step A which is a pre-defined function of a quantisation parameter QP is varied between blocks in accordance with a IDO profile operating on a representative image intensity for the block; comprising the steps of receiving in association with the bitstream a signalled IDQ profile in which the IDO data value is represented with a OP parameter value change; and deriving a quantization step A from the signalled IDO profile.
- 24. A method according to Claim 23 in which the OP parameter value has two possible values corresponding respectively with an increase and a decrease in the profile by 1.
- 25. A method according to Claim 23 or Claim 24 in which the IDO profile changes when the decoded coding parameters define a change of the profile, where a new profile can be signalled for each spatio-temporal video segment
- 26. A method according to any one of Claim 23 to Claim 25 in which IDO piofile is generated for a range of intensity values from given profile parameters.
- 27. A method according to any one of Claims 23 to 26 in which the IDO profile is decoded from data pairs, each comprising an image intensity change data value and an IDQ change data value.
- 28. A method according to Claim 23 wherein each IDQ profile is generated using five or less decoded IDO profile parameters.
- 29. A method according to any one of Claims 23 to Claim 28 in which a dequantisation is adapted to the IDO profile by meaning of multiplying a default quantisation step by an IDO multiplier.
- 30. A method according to any one of Claims 23 to 29, in which a prediction is received for a block, and wherein the representative image intensity is formed for a block by computing the average image intensity of the prediction for that block.
- 31. A method according to any one of Claims 23 to 30, in which a representative image intensity for the block is estimated from the average image intensity of one or more neighbouring blocks.
- 32. A method according to any one of Claim 23 to Claim 31, in which IDO profile is derived from IDQ profile parameters from the bitstream.
- 33. A method according to Claim 32 in which by the IDO profile is derived from the IDO profile parameters using only integer arithmetic processing units.
- 34. A method according to any one of Claim 23 to Claim 33, in which a received IDQ profile is adapted with pie-defined rules.
- 35. A method according to Claim 34 in which an initial IDQ profile is adapted in accordance with changes in a quantisation parameter QP.
- 36. A method according to Claim 35 in which an initial IDO profile is shifted by a unitary amount, as a quantisation parameter OP passes a pre-defined threshold with the constraint that the value remains non-negative,.
- 37. A method according to any one of Claims 23 to 36, in which the representative image intensity is an average luminance value.
- 38. A method according to any one of Claims 23 to 37 in which a selected IDO value, or its corresponding OP parameter, devised from luminance intensities is used in the quantisation of luminance and chrominance values.
- 39. A method according to any one of Claims 23 to 37, in which a representative image intensity is estimated for each of three colour component and in which a IDQ profile, or its corresponding profile defined as a change in QP parameter values, operating on the respective representative image intensity is provided for each colour component.
- 40. A method according to any one of the preceding claims (where IDO profile is defined for a certain bit-depth n of the intensity values) that reuses such profile for coding with different bit-depth m of the intensity values, by means of computing the average pixel intensity and scale it down by 2° to keep the average value into n bits.
- 41. A video coder configured to implement a method according to any one of Claims ito 22 and Claim 40.
- 42. A video decoder configured to implement a method according to any one of Claims 23 to 40.
- 43. A computer program product containing instructions for implementation of a method according to any one of Claims 1 to 40.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1206191.7A GB201206191D0 (en) | 2012-01-20 | 2012-04-05 | Video coding and decoding |
Publications (3)
Publication Number | Publication Date |
---|---|
GB201306212D0 GB201306212D0 (en) | 2013-05-22 |
GB2503766A true GB2503766A (en) | 2014-01-08 |
GB2503766B GB2503766B (en) | 2019-02-20 |
Family
ID=48497156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB1306212.0A Active GB2503766B (en) | 2012-04-05 | 2013-04-05 | Video coding and decoding |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2503766B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474824A (en) * | 2018-12-04 | 2019-03-15 | 深圳市华星光电半导体显示技术有限公司 | Method for compressing image |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050013500A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Intelligent differential quantization of video coding |
EP1569458A1 (en) * | 2004-02-12 | 2005-08-31 | Matsushita Electric Industrial Co., Ltd. | Encoding and decoding of video images based on a non-linear quantization |
EP2317769A1 (en) * | 2009-11-02 | 2011-05-04 | Panasonic Corporation | Luminance dependent quantization |
-
2013
- 2013-04-05 GB GB1306212.0A patent/GB2503766B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050013500A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Intelligent differential quantization of video coding |
EP1569458A1 (en) * | 2004-02-12 | 2005-08-31 | Matsushita Electric Industrial Co., Ltd. | Encoding and decoding of video images based on a non-linear quantization |
EP2317769A1 (en) * | 2009-11-02 | 2011-05-04 | Panasonic Corporation | Luminance dependent quantization |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474824A (en) * | 2018-12-04 | 2019-03-15 | 深圳市华星光电半导体显示技术有限公司 | Method for compressing image |
Also Published As
Publication number | Publication date |
---|---|
GB2503766B (en) | 2019-02-20 |
GB201306212D0 (en) | 2013-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI787460B (en) | Image reshaping in video coding using rate distortion optimization | |
EP3338452B1 (en) | Signalling of reshaping functions for coding high dynamic range and wide color gamut sequences | |
US8582645B2 (en) | Reducing flicker in the display of video streams | |
US9098906B2 (en) | Generation of high dynamic range images from low dynamic range images in multiview video coding | |
US8331438B2 (en) | Adaptive selection of picture-level quantization parameters for predicted video pictures | |
CN104041035B (en) | Lossless coding and coherent signal method for expressing for composite video | |
KR100970315B1 (en) | Transcoder and coded image conversion method | |
US7974340B2 (en) | Adaptive B-picture quantization control | |
CN103782598A (en) | Fast encoding method for lossless coding | |
KR101681353B1 (en) | Method for decoding a stream of coded data representative of a sequence of images and method for coding a sequence of images | |
EP3284257B1 (en) | Quantization parameter (qp) calculation for display stream compression (dsc) based on complexity measure | |
EP2375754A1 (en) | Weighted motion compensation of video | |
WO2008004768A1 (en) | Image encoding/decoding method and apparatus | |
CN101507277A (en) | Image encoding/decoding method and apparatus | |
CN1794815A (en) | Optimisation of a quantisation matrix for image and video coding | |
US10432961B2 (en) | Video encoding optimization of extended spaces including last stage processes | |
CN1902939A (en) | Encoding method, decoding method, and encoding apparatus for a digital picture sequence | |
CN1949877A (en) | Adaptive quantization controller and method thereof | |
KR20180122354A (en) | Apparatus and methods for adaptive computation of quantization parameters in display stream compression | |
JP7124100B2 (en) | Method and apparatus for image filtering using adaptive multiplication factors | |
Naccari et al. | Intensity dependent spatial quantization with application in HEVC | |
KR20170137093A (en) | Quantization parameter (qp) update classification for display stream compression (dsc) | |
JP2011172137A (en) | Encoding apparatus, encoding method, and encoding program | |
GB2503766A (en) | Video coding and decoding comprising intensity dependent quantisation dependent on a IDQ profile | |
KR20040093481A (en) | Video encoding with constrained fluctuations of quantizer scale |