GB2513306A - Video coding and decoding - Google Patents

Video coding and decoding Download PDF

Info

Publication number
GB2513306A
GB2513306A GB1307150.1A GB201307150A GB2513306A GB 2513306 A GB2513306 A GB 2513306A GB 201307150 A GB201307150 A GB 201307150A GB 2513306 A GB2513306 A GB 2513306A
Authority
GB
United Kingdom
Prior art keywords
block
residual
samples
predictor
prediction
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
Application number
GB1307150.1A
Other versions
GB2513306B (en
GB201307150D0 (en
Inventor
Marta Mrak
Matteo Naccari
Andrea Gabriellini
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Broadcasting Corp
Original Assignee
British Broadcasting Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by British Broadcasting Corp filed Critical British Broadcasting Corp
Priority to GB1307150.1A priority Critical patent/GB2513306B/en
Publication of GB201307150D0 publication Critical patent/GB201307150D0/en
Publication of GB2513306A publication Critical patent/GB2513306A/en
Application granted granted Critical
Publication of GB2513306B publication Critical patent/GB2513306B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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

Abstract

Video encoding comprising dividing an image into blocks and, for the current block, generating a residual block, selecting first direction N which determines a predictor of each sample in the residual block, calculating the difference between each residual block sample and its predictor, and for at least some block samples, calculating differences between the samples and a second predictor based on a second direction M. The resulting differential residual block is entropy encoded. Preferably the predictor modes can be horizontal or vertical. Preferably, the calculation of secondary differences is inhibited for larger block sizes and is not applied in intra-coded blocks. The primary N and secondary M directions may be derived from other block parameters or signalled in the bitstream. In one embodiment, secondary directions are only calculated for samples at which no differences are calculated in the first direction. In particular, if the primary direction is horizontal, this applies to the first column. This video encoding method is related to Differential Pulse Code Modulation (DPCM). A decoding method is also claimed.

Description

VIDEO CODING AND DECODING
FIELD OF THE INVENTION
This invention is related to video compression and decompression systems, notably to a method which allows improvement of the compression efficiency of video coding and/or reduction of the computational resources required at the decoder side.
BACKGROUND TO THE INVENTION
This invention is directed to the video compression area which aims at reducing the bitrate required to transmit and store a video content while maintaining at the same time full video quality (lossless coding) or an acceptable visual quality (lossy coding). Lossless video compression allows recovery of original data after decompression while lossy video coding does not. Lossy video compression discards some redundant information in the source data to achieve higher compression ratio when compared to lossless coding.
Lossless and lossy video coding techniques as those standardised by the H.264/AVC and HEVC standards aim at reducing data redundancy by exploiting both spatial and temporal correlation. In particular, spatial correlation allows prediction of the value of each sample by a set of neighbouring samples that lie outside the current block of samples. The predicted value is then subtracted from the current sample value and the difference is then encoded with some entropy encoding techniques known to those skilled in the art.
Temporal correlation is exploited by predicting the value of one sample with the value of another sample which belongs to a different frame in temporal order. As for the spatial prediction, also in temporal prediction the difference between the current sample value and the one from the temporal predictor is entropy-encoded and written to the bit-stream.
Generally, the difference between an original sample and its prediction is called a residual. An additional spatial prediction step can be performed on residuals to improve compression. Methods exist that efficiently apply additional prediction on residuals. For example in US 7738714 a directional method based on simple Differential Pulse Code Modulation (DPCM) is envisaged for lossless coding as a replacement for the transformation and quantization of residuals undertaken in lossy coding.
SUMMARY OF THE INVENTION
According to one aspect of the present invention, there is provided a method of video encoding comprising the steps of dividing an image into blocks; generating a residual block by subtracting the pixels of a prediction block from the pixels of a current block; calculating differences on the residual block samples in a first direction as a difference between a current residual block sample and a predictor, generating a differential residual block based upon the calculated differences; for at least some residual block samples, calculating differences in a second direction as a difference between a current residual samples and a predictor, generating a differential residual samples based upon the calculated differences; generating a differential residual block having coefficients based upon the calculated differences; and entropy-encoding the coefficients of the differential residual block.
The first direction may be one of horizontal and vertical and the second direction is the other one of horizontal and vertical.
Secondary differences may be calculated for only the first row of the block where the first direction is vertical and only the first column of the block where the first direction is horizontal.
In another aspect, there is provided a method of video encoding comprising the steps of dividing an image into blocks; generating a residual block by subtracting the pixels of a prediction block from the pixels of a current block; selecting a primary residual predictor mode for the current block from a null primary residual predictor mode and at least one directional primary prediction modes; selecting a secondary residual predictor mode for the current block from a null secondary predictor mode and at least one secondary prediction mode; in accordance with the selected primary residual predictor mode calculating differences on the residual block samples in a first direction as a difference between a current residual block sample and a predictor, in accordance with the selected secondary residual predictor mode, calculating differences in a second direction as a difference between a current residual samples and a predictor, generating a differential residual samples based upon the calculated differences; generating a differential residual block having coefficients based upon the calculated differences; and entropy-encoding the coefficients of the differential residual block.
In one secondary residual predictor mode, differences are calculated in a second direction for only those samples for which no differences have been calculated in the first direction In one secondary residual predictor mode secondary differences are calculated for only the first row of the block where the first direction is vertical and for only the first column of the block where the first direction is horizontal.
The null secondary predictor mode may be inferred for larger block sizes and/or for intra coded blocks. For some blocks the or some of the primary and secondary residual predictor modes for the current block may be derived from other block parameters. For some blocks the or some of the primary and secondary residual predictor modes for the current block may be signalled in a bitstream.
In yet another aspect, there is provided, a method of decoding a compressed bitstream to form an image block, the method comprising the steps of entropy-decoding a bitstream to obtain a block that consists of differential residual samples that are generated by applying differences in a first direction and for at least some samples in a second direction on the coefficients of a residual block derived from the difference between a prediction block and a current image block; for at least some samples, adding the samples of the differential residual block and the associated predictor in said second direction; adding the samples of the differential residual block and the associated predictor in said first direction; and reconstructing the image block.
In still another aspect, there is provided a method of decoding a compressed bitstream to form an image block, the method comprising the steps of entropy-decoding a bitstream to obtain a block that consists of differential residual samples that are generated by applying differences in a first direction and for at least some samples in a second direction on the coefficients of a residual block derived from the difference between a prediction block and a current image block; selecting a primary residual predictor mode for the current block from a null primary residual predictor mode and at least one directional primary prediction modes; selecting a secondary residual predictor mode for the current block from a null secondary predictor mode and at least one secondary prediction mode; in accordance with the selected secondary residual predictor mode, adding the samples of the differential residual block and the associated predictor in said second direction; in accordance with the selected primary residual predictor mode adding the samples of the differential residual block and the associated predictor in said first direction; and reconstructing the image block.
DPCM prediction of residuals can be associated with e.g. horizontal directional prediction of residuals. In this example, at the encoder the DPCM is used for each residual sample r(m, n) at mth row in flth column of given block of samples to compute the predicted residual r'(m, n): r(m,iz)= r(rn,n if in = 0 (1) r(rn, n) -r(in, -i), oLherwise In this approach the original value of each residual sample may be obtained at the decoder by simply adding the residual values preceding the current sample according to the adopted sample scanning order (in this case horizontal). The residuals from Eq. (1) can be reconstructed as: r(rn,n)= r'(rn,i), (2) As shown in Eq. (2), the reconstruction of the sample in column n depends on the previous n samples. Therefore each sample in a row is predicted in a different way, i.e. from a different number of samples. When such prediction is applied on blocks of larger sizes, the reconstruction for one sample may require summation of a larger number of preceding samples, turning the decoding process serial and difficult to parallelise.
For temporal prediction the selection of the best predictor is done by block matching techniques aimed at minimising the energy of the prediction residual, i.e., the difference between the current sample and the predictor. When the best predictor is found, the displacement between the position of the current sample and the position of the prediction is usually transmitted in the bit-stream and denoted as motion vector. In order to balance the trade-off between bits required to transmit the motion vectors and bits for the prediction residuals, typically the same motion vector is shared among different samples in the current video frame. The aforementioned motion vector sharing rely on the assumption that all the samples related to a given motion vector are moving along frames with the same motion. This assumption does not always hold, especially for content that contains complex motions such as rotations, zooms, etc. The overall result of this assumption is that the prediction residuals relative to samples sharing the same motion vector may still contain some features of the original video, e.g., edges. These features typically present spatial correlation which can still be reduced using the aforementioned DPCM technique.
By applying directional prediction, e.g. using DPCM, it is possible to reduce the spatial correlation of the data in one direction; any spatial correlation in the orthogonal direction would still be present in the DPCM residuals.
The objective of embodiments of the present invention is to improve intra-and inter-predicted block compression in video coding by application of suitably optimised residual prediction methods. Taking into account the nature of the block of residuals, this invention enables enhanced enhanced residual prediction for inter coded blocks by applying prediction of residual in more than one direction, as well as optimised selection of blocks on which the residual prediction is applied.
As one example, over a block of residual samples (Figure 1) a prediction in horizontal direction is applied (Figure 2), resulting in predicted residuals r'. More specifically, for each residual sample, its value is predicted by the previous sample in the same block located to the left of the current sample. Note that in this case of horizontal prediction the following stands: r'(m, 0) = r(m, 0). In the example from Figure 3 a prediction in vertical direction is applied, i.e. samples are predicted from the neighbouring samples in the same column (above the current sample).
In the case of intra prediction, the choice of performing the prediction of residuals and the choice of direction for the prediction can be derived from the prediction strategy applied on original block samples (i.e. from intra prediction mode as defined in e.g. H.264/AVC or HEVC). In inter case a different approach can be used, i.e. the choices on whether to perform prediction of residuals and related directions can be signalled in the bit-stream.
Once the prediction direction which minimises the coding cost measure is selected at the encoder side, it is transmitted in the bit-stream using entropy encoding techniques. The described horizontal and vertical predictions may not improve the compression efficiency for all blocks. In fact, there may be some blocks where the residuals are correlated along directions different from the horizontal and vertical ones. For these blocks, the encoder signals to the decoder that no further prediction should be performed. Note that this invention does not exclude other possible prediction directions, but for simplicity the descriptions only consider horizontal and vertical prediction directions.
The prediction directions used in examples presented here (horizontal and vertical) allow to parallelise the decoding process as one inverse prediction of residual can be started for each row or column in a block independently. The level of parallelisation can be still increased by limiting the dependency of one sample from the previous samples used for prediction. In fact, as shown in Figure 2 and Figure 3, the reconstruction of the sample at position N -I depends on the reconstruction of sample at position N -2 and so on. If for each row m and column n the prediction dependency is limited to a given subset of the samples belonging to morn, different decoding processing units can be run to the these subsets of m and n. Moreover, this invention proposes also a secondary prediction applied after the depicted horizontal or vertical prediction. As shown in Figure 5 (respectively Figure 6) the samples of the first column (respectively first row) can present a correlation along a direction orthogonal to the horizontal (respectively vertical) one.
Therefore, in this invention a vertical (respectively horizontal) prediction can also be applied to the samples of the first column (respectively first row). Moreover, while for intra predicted blocks this orthogonal additional prediction direction may be less efficient than for inter coded blocks, a video codec may apply differently defined directional predictions of residuals on different block types. For example, only one direction for prediction of residuals (e.g. Figure 3) can be applied in one intra block, and the combination of directions can be applied in inter blocks (Figure 6).
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 shows an example of residual samples obtained after either spatial or temporal prediction.
Figure 2 shows an example of horizontal prediction of the residuals.
FigureS shows an example of vertical prediction of the residuals.
Figure 4 shows an example of predictor reset where a block of samples is divided into two chunks for independent prediction.
Figure 5 shows an example of predictor reset to limit the dependency of each sample from the previously decoded samples.
Figure 6 shows an example of secondary prediction applied on top of the residuals obtained after vertical prediction.
Figure 7 shows an example of secondary prediction applied on top of the residuals obtained after horizontal prediction and shows also the division of a block into chunks.
Figure 8 shows an encoder according to the invention providing lossless compression and application of DPCM as a prediction for residuals.
Figure 9 shows a decoder according to the invention.
DETAILED DESCRIPTION OF THE PRESENT INVENTION
The present invention will now be described by way of examples.
In one example the encoder divides the current frame in blocks and performs prediction, either within the current frame or from different frames in the video sequence on a block-by-block basis. The encoder generates a residual block (Figure 1) by subtracting a prediction signal from a current block.
The residual samples are in general spatially correlated. In the case of intra coded blocks the correlation is for most blocks related to intra prediction mode. Therefore the choice of whether to apply a directional residual prediction or not, or which direction to use for such prediction, can be inferred from the direction of intra prediction mode. For inter coded blocks, an evaluation is made whether to apply prediction of residuals in one of a number of directions to reduce the spatial correlation, thus enhance compression. A cost is calculated for each possible choice, including not applying prediction on the residual block. The option yielding the lowest cost will be chosen and the generated samples will be entropy-encoded and sent to the bit-stream together with a flag signalling the chosen coding option. This same flexibility for choosing residual prediction for given block can be used for intra coded blocks, i.e. the coding option for intra coded blocks can also be signalled in the bit-stream.
Another difference in applying the prediction of residual between intra and inter coded blocks can increase efficiency of compression. In HEVC, Coding Units (CU5), consist of one or more Prediction Units (PUs) and one or more Transform Units (TU5), as defined by the standard. Prediction decisions (e.g. intra prediction mode, or motion vectors and other prediction parameters for inter blocks) are defined for a prediction block i.e. are defined on the PU level. On the other hand, entropy coding of coefficients that belong to one block is defined on the TU level (same level on which transforms are performed in lossy coding). The method addressed in this invention enables flexible choice of the level on which the prediction of residuals is applied. Because of the recursive nature of splitting of CU blocks into TU blocks, the preferred way of applying the prediction of residuals on intra coded blocks is on blocks from the TU level. Because of selection of motion predictor on the PU level for inter coded blocks, the preferred way of applying the predictor of residuals on inter coded blocks is on the PU level. This preference on the PU level also allows foi joint optimisation of motion estimation and residual prediction selection at the encoder side.
As can be observed from analysis of Eq. (2) and Figure 2, which address only horizontal prediction direction, the prior art way of performing directional residual prediction in some cases leads to large dependencies during reconstruction. It should be noted that, according to Eq. (2), the actual reconstruction of each pixel in a column depends on a different number of input values (r') which can be a limiting factor for efficient implementations. To limit the dependency of reconstruction function for each sample position in a column (or row) during the decoding process, one aspect of this invention proposes to apply the prediction of residuals to chunks of samples within a block. Each chunk must have at least one residual sample on which the residual prediction is not applied. Moreover, if a block consists of more than one chunk, then introduction of chunks breaks residual prediction dependencies. Therefore chunks enable a "reset" of the prediction of residuals within a block. An example of chunks is presented in Figure 4, where a block of 8 x 8 samples is divided into 2 chunks. In this case the chunks break the horizontal prediction dependencies. Residual prediction in different chunks can be independently performed from other chunks. It will be observed that subsets of pixels in a row are computed in a same way; i.e. a pixel in n'th position in a row is computed in the same way as (n + R)'th pixel, where R is the reset period. Also each pixel in a row depends on only up to (R -1) previous pixels.
For the above examples, reconstruction of samples for horizontal prediction of residuals with reset period H becomes: mod R r(m,n)= r'(in,n-i) (3) where (n mod R) is a remainder when n is divided by R. Vertical prediction is defined in a similar fashion as: in mod R r(m,n)= r'(m-i,n) (4) Another illustration of the partitioning of one row of samples into chunks is shown in FigureS. The original row of residuals has size of 16 and is then partitioned into four chunks of four samples each. For each chunk, the sample at the starting position (ro, r4, r8 and r12) is not predicted while the others samples are predicted.
The value of reset period that defines chunks is expected to be defined for the whole video codec. While its main purpose is to simplify the number of operations needed to reconstruct each residual and enable parallelisation, it may also -if carefully selected -serve the useful additional purpose of ensuring that overflow cannot occur at the decoder in reconstructing the residual samples. For example, if in lossy environment each r' is a 8-bit value, then summation of c residual samples increases the required bit-depth BS(c) for that sum. For example BS(2) = B + 1, BS(4) = B + 2 BS(c) = B ÷ [log2(c)1.
Depending on such constraints for computation of reconstructed residual samples, R can be limited in order to prevent overflow during such summation.
In another example, this invention performs an additional directional prediction along selected rows or columns of each block. As may be noted, the residual samples in the first row (in the case of vertical prediction, Figure 3) or first column (in the case of horizontal prediction, Figures 2) are not predicted and they are left untouched instead.
Among the values of these sample, some spatial correlation can be still present and exploited to improve the compression performance, notably for inter predicted blocks.
Therefore, at the encoder, after performing the prediction of the residual along the rows or columns, a secondary prediction is applied over the untouched samples belonging to the first column or row in the block considered for prediction. The concept of secondary prediction is illustrated in Figure 6 and Figure 7 and the concept of performing both the primary (previously considered) and the secondary prediction is called "two-stage prediction". The described secondary prediction may be applied to not only the first row or column of the current block but also to all the rows or columns containing the initial sample positions of each chunk. This process is illustrated in Figure 7.
While two-stage prediction increases the number of variables required for reconstruction of each sample, in combination with periodical reset (i.e. chunks), the total dependency can be kept reasonably low. For example in Figure 5, samples r(3, i. P -1), where P = 4, and i e {0, 1, 2, 3}, have the maximal dependency within this block and the dependency is on 7 samples.
This dependency can be further relaxed for practical implementations as demonstrated with the following algorithm. To preserve computational simplicity at the decoder side, this two-stage prediction is at the decoder performed in the following order (example for vertical primary and horizontal secondary prediction from Figure 6): 1) Secondary inverse prediction is performed, taking into account n previous samples of r' for reconstruction of each sample r(0, n) in the first row.
2) Primary inverse prediction is performed, taking into account m previous samples of r' for reconstruction of each sample r(m, n) in each column n.
It should also be noted that partition of blocks into chunks has a purpose of inserting samples on which the residual prediction is not applied into the coding blocks. On the other hand coding blocks are defined irrespectively from residual prediction. As already mentioned, for intra prediction coding blocks can correspond to TU-level bocks, and for inter prediction to PU-level blocks.
Since chunks are a tool to solve possible processing bottlenecks, in practice they may be applied only on larger blocks. That is, the choice of application of chunks can be block-size dependent. On the other hand the two-stage prediction of residual can be more beneficial for smaller blocks (e.g. 4 x 4 where 114 of all residual samples are not predicted with traditional DPCM). Therefore the two stage prediction can be a choice for smaller blocks only.
In addition to applying the concept of prediction of residuals in lossless coding, e.g. on blocks on which transform and quantization is not used, the approach covered in this invention also includes lossy coding, i.e. situation where r'values at the encoder (after prediction) are not the same as r' values at the decoder (before inverse prediction).
A typical lossless encoder that applies methods from this invention is depicted in Figure 8.
In the example from Figure 8, DPCM is employed as selected residual prediction method.
Additionally, in this example blocks labelled "DPCM" and "Inverse DPCM" are capable of performing prediction of residuals. Selection of whether to perform the prediction of residuals, and if so in which direction the prediction is performed, may or may not be entropy encoded, depending on the encoder design. As previously explained, the residual prediction mode can be derived from other parameters (e.g. intra prediction mode) in which case the decoder is capable of deriving the same choice without decoding specialised syntax element for residual prediction type from the bit-stream. Therefore in Figure 9, which presents a decoder of the bit-stream from Figure 8, the decoder chooses to decode residual prediction mode or to derive it from existing parameters already available at the decoder.
In addition to the modules presented in Figures 8 and 9, an encoder and decoder that apply methods from this invention for lossy coding would typically include quantization and loop-filters.

Claims (32)

  1. CLAIMSA method of video encoding comprising the steps of: dividing an image into blocks; generating a residual block by subtracting the pixels of a prediction block from the pixels of a current block; calculating differences on the residual block samples in a first direction as a difference between a current residual block sample and a predictor, generating a differential residual block based upon the calculated differences; for at least some residual block samples, calculating differences in a second direction as a difference between a current residual samples and a predictor, generating a differential residual samples based upon the calculated differences; generating a differential residual block having coefficients based upon the calculated differences; and entropy-encoding the coefficients of the differential residual block.
  2. 2. A method according to Claim 1, wherein the first direction is one of horizontal and vertical and the second direction is the other one of horizontal and vertical.
  3. 3. A method according to Claim 1 or Claim 2, wherein secondary differences are calculated for only the first row of the block where the first direction is vertical and wherein secondary differences are calculated for only the first column of the block where the first direction is horizontal.
  4. 4. A method according to any one of the preceding claims, wherein the calculation of secondary differences is inhibited for larger block sizes
  5. 5. A method according to any one of the preceding claims, wherein secondary prediction is not applied in intra coded blocks.
  6. 6. A method according to any one of the preceding claims, wherein at least for some blocks the selection of primary and secondary directions is derived from other block parameters.
  7. 7. A method according to any one of the preceding claims, wherein at least for some blocks the selection of primary and secondary directions is signalled in a bitstream.
  8. 8. A method of video encoding comprising the steps of: dividing an image into blocks; generating a residual block by subtracting the pixels of a prediction block from the pixels of a current block; selecting a primary residual predictor mode for the current block from a null primary residual predictor mode and at least one directional primary prediction modes; selecting a secondary residual predictor mode for the current block from a null secondary predictor mode and at least one secondary prediction mode; in accordance with the selected primary residual predictor mode calculating differences on the residual block samples in a first direction as a difference between a current residual block sample and a predictor, in accordance with the selected secondary residual predictor mode, calculating differences in a second direction as a difference between a current residual samples and a predictor, generating a differential residual samples based upon the calculated differences; generating a differential residual block having coefficients based upon the calculated differences; and entropy-encoding the coefficients of the differential residual block.
  9. 9. A method according to Claim 8, wherein the directional primary prediction modes are horizontal and vertical.
  10. 10. A method according to Claim 8 or Claim 9, wherein in one secondary residual predictor mode, differences are calculated in a second direction for only those samples for which no differences have been calculated in the first direction
  11. 11. A method according to any one of Claim 8 to Claim 10, wherein in one secondary residual predictor mode secondary differences are calculated for only the first row of the block where the first direction is vertical and for only the first column of the block where the first direction is horizontal.
  12. 12. A method according to any one of Claim 8 to Claim 11, wherein the null secondary predictor mode is inferred for larger block sizes
  13. 13. A method according to any one of Claim 8 to Claim 12, wherein the null secondary predictor mode is inferred for intra coded blocks.
  14. 14. A method according to any one of Claim 8 to Claim 13, wherein at least for some blocks the or some of the primary and secondary residual predictor modes for the current block are derived from other block parameters.
  15. 15. A method according to any one of Claim 8 to Claim 14, wherein at least for some blocks the or some of the primary and secondary residual predictor modes for the current block signalled in a bitstream.
  16. 16. A method of decoding a compressed bitstream to form an image block, the method comprising the steps of: entropy-decoding a bitstream to obtain a block that consists of differential residual samples that are generated by applying differences in a first direction and for at least some samples in a second direction on the coefficients of a residual block derived from the difference between a prediction block and a current image block; for at least some samples, adding the samples of the differential residual block and the associated predictor in said second direction; adding the samples of the differential residual block and the associated predictor in said first direction; and reconstructing the image block.
  17. 17. A method according to Claim 16, wherein the first direction is one of horizontal and vertical and the second direction is the other one of horizontal and vertical.
  18. 18. A method according to any one of Claim 16 to Claim 17, wherein the calculation of secondary differences is inhibited for larger block sizes.
  19. 19. A method according to one of Claim 16 to Claim 18, wherein secondary prediction is not applied in intra coded blocks.
  20. 20. A method according to one of Claim 16 to Claim 19, wherein at least for some blocks the selection of primary and secondary directions is derived from other block parameters.
  21. 21. A method according to one of Claim 16 to Claim 20, wherein at least for some blocks the selection of primary and secondary directions is decoded from a bitstream.
  22. 22. A method of decoding a compressed bitstream to form an image block, the method comprising the steps of: entropy-decoding a bitstream to obtain a block that consists of differential residual samples that are generated by applying differences in a first direction and for at least some samples in a second direction on the coefficients of a residual block derived from the difference between a prediction block and a current image block; selecting a primary residual predictor mode for the current block from a null primary residual predictor mode and at least one directional primary prediction modes; selecting a secondary residual predictor mode for the current block from a null secondary predictor mode and at least one secondary prediction mode; in accordance with the selected secondary residual predictor mode, adding the samples of the differential residual block and the associated predictor in said second direction; in accordance with the selected primary residual predictor mode adding the samples of the differential residual block and the associated predictor in said first direction; and reconstructing the image block.
  23. 23. A method according to Claim 22, wherein the directional primary prediction modes are horizontal and vertical.
  24. 24. A method according to Claim 22 or Claim 23, wherein in one secondary residual predictor mode, differences are calculated in a second direction for only those samples for which no differences have been calculated in the first direction
  25. 25. A method according to any one of Claim 22 to Claim 24, wherein in one secondary residual predictor mode secondary differences are calculated for only the first row of the block where the first direction is vertical and for only the first column of the block where the first direction is horizontal.
  26. 26. A method according to any one of Claim 22 to Claim 25, wherein the null secondary predictor mode is inferred for larger block sizes.
  27. 27. A method according to any one of Claim 22 to Claim 26, wherein the null secondary predictor mode is inferred for intra coded blocks.
  28. 28. A method according to any one of Claim 22 to Claim 27, wherein at least for some blocks the or some of the primary and secondary residual predictor modes for the current block are derived from other block parameters.
  29. 29. A method according to any one of Claim 22 to Claim 28, wherein at least for some blocks the or some of the primary and secondary residual predictor modes for the current block signalled in a bitstream.
  30. 30. A video encoder configured to implement a method according to any one of Claim ito Claim 15.
  31. 31. A video decoder configured to implement a method according to any one of Claim i6 to Claim 29.
  32. 32. A non-transitory computer program adapted to cause programmable apparatus to implement a method according to any one of Claim Ito Claim 29.
GB1307150.1A 2013-04-19 2013-04-19 Video coding and decoding Active GB2513306B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1307150.1A GB2513306B (en) 2013-04-19 2013-04-19 Video coding and decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1307150.1A GB2513306B (en) 2013-04-19 2013-04-19 Video coding and decoding

Publications (3)

Publication Number Publication Date
GB201307150D0 GB201307150D0 (en) 2013-05-29
GB2513306A true GB2513306A (en) 2014-10-29
GB2513306B GB2513306B (en) 2020-04-01

Family

ID=48537532

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1307150.1A Active GB2513306B (en) 2013-04-19 2013-04-19 Video coding and decoding

Country Status (1)

Country Link
GB (1) GB2513306B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1081649A2 (en) * 1999-09-01 2001-03-07 ATI International SRL Apparatus and method for image compression
EP1773071A2 (en) * 2005-09-16 2007-04-11 Samsung Electronics Co., Ltd. Method of and apparatus for lossless video encoding and decoding
WO2007139266A1 (en) * 2006-06-01 2007-12-06 Electronics And Telecommunications Research Institute Method and apparatus for video coding on pixel-wise prediction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1081649A2 (en) * 1999-09-01 2001-03-07 ATI International SRL Apparatus and method for image compression
EP1773071A2 (en) * 2005-09-16 2007-04-11 Samsung Electronics Co., Ltd. Method of and apparatus for lossless video encoding and decoding
WO2007139266A1 (en) * 2006-06-01 2007-12-06 Electronics And Telecommunications Research Institute Method and apparatus for video coding on pixel-wise prediction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jung et al. "Design of multi-mode depth buffer compression for 3D graphics system", ICME 2008. *

Also Published As

Publication number Publication date
GB2513306B (en) 2020-04-01
GB201307150D0 (en) 2013-05-29

Similar Documents

Publication Publication Date Title
US10666938B2 (en) Deriving reference mode values and encoding and decoding information representing prediction modes
US8929450B2 (en) Temporal block merge mode
US9210442B2 (en) Efficient transform unit representation
US8737480B2 (en) Joint spatial and temporal block merge mode for HEVC
US9066104B2 (en) Spatial block merge mode
US10750169B2 (en) Method and apparatus for intra chroma coding in image and video coding
KR101904949B1 (en) Enhanced intra prediction mode signaling
US9380319B2 (en) Implicit transform unit representation
US20130039417A1 (en) Residual tree structure of transform unit partitioning
US8687692B2 (en) Method of processing a video signal
US20120230405A1 (en) Video coding methods and video encoders and decoders with localized weighted prediction
GB2487200A (en) Video encoding and decoding with improved error resilience
US20120328005A1 (en) Construction of combined list using temporal distance
GB2488830A (en) Encoding and decoding image data
US8811760B2 (en) Coding images using intra prediction modes
EP3058740A1 (en) Features of base color index map mode for video and image coding and decoding
WO2012122495A1 (en) Using multiple prediction sets to encode extended unified directional intra mode numbers for robustness
US10003793B2 (en) Processing of pulse code modulation (PCM) parameters
US20150016515A1 (en) Video encoding and decoding with prediction at higher precision
CN109964483B (en) Moving image encoding device, decoding device, and computer-readable storage medium
KR20110135471A (en) Apparatuses and methods for encoding/decoding of video using block merging
GB2513306A (en) Video coding and decoding
GB2513305A (en) Video coding and decoding
US20230403392A1 (en) Intra prediction method and decoder
US20150092857A1 (en) Methods for Encoding Motion Vectors