# Patent

## Title
Scalable predictive coding method and apparatus

## Abstract

A scalable predictive coder in which the current frame of data is predicted at the enhancement-layer by processing and combining the reconstructed signal at: (i) the current base-layer (or lower layers) frame; and (ii) the previous enhancement-layer frame. The combining rule takes into account the compressed prediction error of the base-layer, and the parameters used for its compression.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a divisional of U.S. application Ser. No. 11/865,454 filed on Oct. 1, 2007, now U.S. Pat. No. 8,437,561, incorporated herein by reference in its entirety, which is a divisional of U.S. application Ser. No. 11/147,405 filed on Jun. 7, 2005, now U.S. Pat. No. 7,289,675, incorporated herein by reference in its entirety, which is a continuation of U.S. application Ser. No. 10/816,733, filed on Apr. 2, 2004, now U.S. Pat. No. 6,917,714, incorporated herein by reference in its entirety, which is a continuation of U.S. application Ser. No. 09/216,096, filed on Dec. 18, 1998, now U.S. Pat. No. 6,731,811, incorporated herein by reference in its entirety, which claims priority to U.S. provisional application Ser. No. 60/068,331 filed on Dec. 19, 1997, incorporated herein by reference in its entirety.


STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not Applicable
INCORPORATION-BY-REFERENCE OF MATERIAL SUBMITTED ON A COMPACT DISC
Not Applicable
NOTICE OF MATERIAL SUBJECT TO COPYRIGHT PROTECTION
A portion of the material in this patent document is subject to copyright protection under the copyright laws of the United States and of other countries. The owner of the copyright rights has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the United States Patent and Trademark Office publicly available file or records, but otherwise reserves all copyright rights whatsoever. The copyright owner does not hereby waive any of its rights to have this patent document maintained in secrecy, including without limitation its rights pursuant to 37 C.F.R. §1.14.
REFERENCED PUBLICATIONS
The following publications which are referenced herein using numbers in square brackets (e.g., [1]) are incorporated herein by reference:
[1] D. Wilson and M. Ghanbari, “Transmission of SNR scalable two layer MPEG-2 coded video through ATM networks,” Proc. 7th International Workshop on Packet Video, pp. 185-189, Brisbane Australia, March 1996.
[2] B. Girod, U. Horn, and B. Belzer, “Scalable video coding with multiscale motion compensation and unequal error protection,” In Y. Wang, S. Panwar, S.-P. Kim, and H. L. Bertoni, editors, Multimedia Communications and Video Coding, pp. 475-482, New York: Plenum Press, 1996.
[3] B. G. Haskell, A. Puri, and A. N. Netravali, Digital video: an introduction to MPEG-2. New York: Chapman and Hall, International Thomson Pub., 1997.
[4] Draft text of H.263, Version 2 (H.263+).
[5] T. K. Tan, K. K. Pang, and K. N. Ngan, “A frequency scalable coding scheme employing pyramid and subband techniques,” IEEE Transactions on Circuits and Systems for Video Technology, pp. 203-207, April 1994.
[6] A. Gersho and R. M. Gray, Vector Quantization and Signal Compression. Kluwer Academic Press, 1992.
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention pertains generally to data compression methods and systems, and more particularly to an efficient scalable predictive coding method and system where most or all of the information available to the enhancement-layer is exploited to improve the quality of the prediction.
2. Description of the Background Art
Many applications require data, such as video, to be simultaneously decodable at a variety of rates. Examples include applications involving broadcast over differing channels, multicast in a complex network where the channels/links dictate the feasible bit rate for each user, the co-existence of receivers of different complexity (and cost), and time-varying channels. An associated compression technique is “scalable” if it offers a variety of decoding rates using the same basic algorithm, and where the lower rate information streams are embedded in the higher rate bit-streams in a manner that minimizes redundancy.
A predictive coding system for encoding and decoding a signal without scalability is well-known in the literature of signal compression. (See for example: predictive vector quantization [6], and motion-compensated predictive transform coding of video [3]). In such predictive coding systems the encoder includes a decoder and memory so that what is actually encoded is the difference between the input signal and a predicted version of the reproduced signal, this difference signal being called the residual. The decoder contains a prediction loop whereby the current residual frame is decoded and then it is added to a prediction of the current frame obtained from the previous reproduced frame. In some cases, the predictor uses several prior frames to predict the current frame.
A major difficulty encountered in scalable predictive coding is how to take advantage of the additional information, available to the enhancement-layer decoder for improved prediction, without causing undesired conflicts with the information obtained from the base layer. FIG. 1 depicts a two-layer scalable coding system 10 where it is assumed that the original input signal (e.g., an audio or video signal) is segmented into frames that are sequentially encoded. Typical examples are video frames, and speech frames, but “frame” here will also cover the degenerate case of a single sample as in differential pulse coded modulation (DPCM). The term “frame” as used herein refers either to a group of contiguous samples of an original input signal or a set of parameters extracted from the original group of samples (such as a set of transform coefficients obtained by a discrete-cosine transform (DCT) operation on the original group of samples) and in each case the terminology “frame” or “signal” will be used to refer to this entity that is representative of the original group of samples or is itself the original group of samples.
The input frame 12, x(n), is compressed by the base encoder (BE) 14 which produces the base bit-stream 16. The enhancement-layer encoder (EE) 18 has access to the input frame 12 and to any information produced by or available to BE 14. EE 18 uses this data to generate the enhancement-layer bit-stream 20. A base decoder (BD) 22 receives the base bit-stream 16 and produces a reconstruction 24, {circumflex over (x)}b(n), while the enhancement-layer decoder (ED) 26 has access to both bit-streams and produces an enhanced reconstruction 28, {circumflex over (x)}e(n). The reconstruction frames that are available at the decoder are used to predict or estimate the current frame. Note that ED 26 has access to both bit streams and hence it effectively has access to both the reconstruction frame at the base layer, {circumflex over (x)}b(n), and the previous reconstructed frame at the enhancement layer {circumflex over (x)}e(n−1), while BD 22 has only access to the previous reconstructed frame at the base layer, {circumflex over (x)}b(n−1), which is stored in the memory within BD. In the case of a scalable coding system with multiple enhancement layers, an enhancement layer decoder may have access to the reconstruction frames from lower enhancement layers as well as from the base layer. The prediction loop (internal to the operation of BD as in any predictive coding system but not shown in the figure) in this configuration causes severe difficulties in the design of scalable coding. Accordingly, a number of approaches to scalable coding have been developed. These include,
(1) The standard approach: At the base layer, BE 14 compresses the residual

rb(n)=x(n)−P[{circumflex over (x)}b(n−1)],

where P denotes the predictor (e.g., motion compensator in the case of video coding). Note that for notational simplicity we assume first-order prediction, but in general several previous frames may be used. BD 22 produces the reconstruction

{circumflex over (x)}b(n)=P[{circumflex over (x)}b(n−1)]+{circumflex over (r)}b(n),

where {circumflex over (r)}b(n) is the compressed-reconstructed residual. At the enhancement-layer, EE 18 compresses the base layer's reconstruction error

re(1)=x(n)−{circumflex over (x)}b(n)=x(n)−P[{circumflex over (x)}b(n−1)]−{circumflex over (r)}b(n).

The enhancement-layer reconstruction is

{circumflex over (x)}e(n)={circumflex over (x)}b(n)+{circumflex over (r)}e(1)(n)=P[{circumflex over (x)}b(n−1)]+{circumflex over (r)}b(n)+{circumflex over (r)}e(1)(n).

See, e.g., [1]. A deficiency of this approach is that no advantage is taken of the potentially superior prediction due to the availability of {circumflex over (x)}e(n−1) at the ED 26.

(2) The separate coding approach: BE 14 compresses rb(n) as above, but EE 18 compresses the “enhancement-only” prediction error

re(2)=x(n)−P[{circumflex over (x)}e(n−1)]

directly. The enhancement-layer reconstruction is

{circumflex over (x)}e(n)=P[{circumflex over (x)}e(n−1)]+re(2)(n).

A deficiency of this approach is that, while the approach takes advantage of information available only to the enhancement-layer, it does not exploit the knowledge of {circumflex over (r)}b(n) which is also available at the enhancement-layer. The two layers are, in fact, separately encoded except for savings on overhead information which needs not be repeated (such as motion vectors in video coding) [2].

(3) Layer-specific prediction at the decoder approach: BD 22 reconstructs the frame as

{circumflex over (x)}b(n)=P[{circumflex over (x)}b(n−1)]+{circumflex over (r)}b(n),

and ED 26 reconstructs as

{circumflex over (x)}e(n)=P[(n−1)]+{circumflex over (r)}b(n)+{circumflex over (r)}e(n).

However, the encoders BE 14 and EE 18 use the same prediction [3], and the options are:

(a) Both encoders use base-layer prediction P[{circumflex over (x)}b(n−1)]. This results in drift of the enhancement-layer decoder. (The term “drift” refers to a form of mismatch where the decoder uses a different prediction than the one assumed by the encoder. This mismatch tends to grow as the “corrections” provided by the encoder are misguiding, hence, the decoder “drifts away”).
(b) Both encoders use enhancement-layer prediction P[{circumflex over (x)}e(n−1)]. This results in drift of the base-layer decoder.
(4) Switch between approaches (1) and (2) on a per frame or per block basis [4], or per sample [5]. This approach has the deficiencies of either approach (1) or (2) as described above, at each time depending on the switching decision.
Therefore, a need exists for a scalable predictive coding system and method that exploits the information available to the enhancement layer to improve quality without causing undesired conflicts as outlined above. The present invention satisfies those needs, as well as others, and overcomes the deficiencies of previously developed predictive coding systems and methods.
BRIEF SUMMARY OF THE INVENTION
The present invention addresses the prediction loop deficiencies in conventional scalable coding methods and systems in a way that achieves efficient scalability of predictive coding. The approach is generally applicable and may, in particular, be applied to standard video and audio compression. In the present invention, most or all of the information available at an enhancement-layer may be exploited to improve the quality of the prediction.
By way of example, and not of limitation, in the present invention the current frame is predicted at the enhancement-layer by processing and combining the reconstructed signal representing: (i) the current base-layer (or lower layers) frame; and (ii) the previous enhancement-layer frame. The combining rule takes into account the compressed prediction error of the base-layer, and the parameters used for its compression. The main difficulty overcome by this invention is in the apparent conflicts between these two sources of information and their impact as described in the Background of the Invention. This difficulty may explain why existing known methods exclusively use one of these information sources at any given time. These methods will be generally referred to here as switching techniques (which include as a special case the exclusive use of one of the information sources at all times). Additionally, the invention optionally includes a special enhancement-layer synchronization mode for the case where the communication rate for a given receiver is time varying (e.g., in mobile communications). This mode may be applied periodically to allow the receiver to upgrade to enhancement-layer performance even though it does not have prior enhancement-layer reconstructed frames.
An object of the invention is to achieve efficient scalability of predictive coding.
Another object of the invention is to provide a method and system for scalable predictive coding that is applicable to typical or standard video and audio compression.
Another object of the invention is to provide a scalable predictive coding method and system in which all or most of the information available at an enhancement-layer is exploited to improve the quality of the prediction.
Further objects and advantages of the invention will be brought out in the following portions of the specification, wherein the detailed description is for the purpose of fully disclosing preferred embodiments of the invention without placing limitations thereon.



BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be more fully understood by reference to the following drawings which are for illustrative purposes only:
FIG. 1 is functional block diagram of a conventional two-layer scalable predictive coding system.
FIG. 2 is a functional block diagram of an enhancement layer encoder of a scalable predictive coding system in accordance with the present invention.
FIG. 3 is a functional block diagram of a base layer reconstruction module according to the present invention.
FIG. 4 is a functional block diagram of an enhancement layer reconstruction module according to the present invention.
FIG. 5 is a functional block diagram of a three-layer scalable encoder employing the enhancement encoder of the present invention.
FIG. 6 is a functional block diagram of a three-layer scalable decoder corresponding to the encoder shown in FIG. 5.
FIG. 7 is a functional block diagram of a two-layer scalable video encoder employing the enhancement encoder of the present invention.
FIG. 8 is a functional block diagram of a two-layer decoder corresponding to the encoder shown in FIG. 7.
FIG. 9 is a functional block diagram of the spatial motion compensator blocks shown in FIG. 7 and FIG. 8.



DETAILED DESCRIPTION OF THE INVENTION
Referring more specifically to the drawings, where like reference numbers, labels and symbols denote like parts, for illustrative purposes the present invention will be described with reference to the encoder generally shown in FIG. 2, as well as the encoding system shown in FIG. 2 through FIG. 6, and the scalable predictive coding method described in connection therewith. Various embodiments of encoders and decoders employing the present invention, and details therefore, are shown and described in FIG. 7 through FIG. 9.
The method of the present invention generally comprises upgrading the prediction used at each enhancement-layer by combining, with minimal conflict, the information provided from both sources, namely, information available at, and used by, the base-layer (or lower layers), and information that is available only at the enhancement-layer. In the case of a scalable predictive coding system with multiple enhancement layers, the prediction at an enhancement layer may combine information provided from all lower enhancement layers as well. The invention provides for prediction or estimation of the signal frame itself in any representation, or any subset of signal representation coefficients such as transform coefficients (e.g., in video, audio), line spectral frequencies (e.g., in speech or audio), etc. The term “frame” and the corresponding mathematical notation will be used generally to refer to the relevant set of frame coefficients being estimated or predicted by the method in each particular application.
Referring first to FIG. 2, a functional block diagram of an enhancement layer encoder of a scalable predictive coding system in accordance with the present invention is shown. In the enhancement layer encoder 100 of the present invention, an enhancement layer estimator (ELE) 102 computes a new predicted frame 104, {tilde over (x)}e(n), by combining information from the reconstruction frame 106 at the base layer, {circumflex over (x)}b(n) and from the previous reconstructed frame 108 at the enhancement layer {circumflex over (x)}e(n−1). Note that first order prediction is described for notational simplicity but several previous frames may be used. The combining rule depends on any or all of, but not limited to, the following parameters: the compression parameters 110 of the base layer (such as quantization step and threshold, and the quantized base-layer residual 112, {circumflex over (r)}b(n), (see FIG. 3)), and the statistical parameters 114 of the time evolution of the frames (such as inter-frame correlation coefficients and variance). The statistical parameters may be either estimated off-line from training data, or estimated on-line by an adaptive estimator which tracks variation in the signal statistics based on either the original signal (in which case the parameters need to be transmitted to the decoder) or based on reconstructed signals which are available to the receiver. The exact definition of the combination rule depends on the level of complexity allowed for the module. At the high end, one may compute a possibly complex, optimal predicted frame given all the available information. The enhancement layer residual 116, {circumflex over (r)}e(n), which is the difference between the input frame 118, x(n), and the predicted frame 104, {tilde over (x)}e(n), is then compressed by a compressor 120 to produce the enhancement bits 122.
Referring to FIG. 3 through FIG. 6, a complete scalable predictive coding system for use with this invention is shown. While only three layers are shown, it will be appreciated that additional layers can be added and are contemplated within the scope of the invention. FIG. 3 shows a base layer reconstruction module 124 which receives the quantized base layer residual 112, {circumflex over (r)}b(n), and adds it to the base predicted frame 126, {tilde over (x)}b(n), to produce the base layer reconstruction frame 106, {circumflex over (x)}b(n). A delay 128 produces a delayed base reconstructed frame 130, {circumflex over (x)}b(n−1), which is input to the base predictor 132 which computes the base predicted frame 126, {tilde over (x)}b(n), which is needed to produce the reconstructed frame as explained above.
The enhancement layer reconstruction module 134 shown in FIG. 4 receives the quantized enhancement layer residual 136, {circumflex over (r)}e(n), and adds it to the enhancement layer predicted frame 104, {tilde over (x)}e(n), to produce the enhancement layer reconstruction frame 138, {circumflex over (x)}e(n). A delay 140 produces a delayed enhancement layer reconstructed frame 108, {circumflex over (x)}e(n−1), which is input to the enhancement layer estimator 102, which in turn computes the enhancement layer predicted frame 104, {tilde over (x)}e(n), as explained with reference to FIG. 2.
FIG. 5 shows how the modules described in FIG. 2 through FIG. 4 may be combined to obtain a complete scalable predictive encoder. Only three layers are shown without implying any limitation, as extensions to further layers is obvious and straightforward. Most inputs and outputs were explained in the context of the previous figures, and to distinguish between the notation for the first and second enhancement layer signals, the prefix EL1 or EL2 was added, respectively.
The signal frame to be compressed (which may be the original raw signal, or any set of coefficients extracted from it for the purpose of compression) denoted x(n) is fed to all layers in parallel. In each layer the predicted frame ({tilde over (x)}b(n) in the base layer, (EL1) {tilde over (x)}e(n) in the first enhancement layer, and (EL2) {tilde over (x)}e(n) at the second enhancement layer) is subtracted from x(n) to obtain the prediction error (or residual) at the layer (rb(n), (EL1) re(n), and (EL2) re(n), for the base, first enhancement and second enhancement layers, respectively). The residual is compressed by the layer's Compressor/Quantizer which outputs: the layer's bits for transmission to the decoder, the reconstructed (quantized) residual ({circumflex over (r)}b(n), (EL1) {circumflex over (r)}e(n), and (EL2) {circumflex over (r)}e(n), for the base, first enhancement and second enhancement layers, respectively), as input to the layer's reconstruction module, and the set of compression parameters for use by a higher layer. Note that the enhancement layer compressor/quantizer subsumes the compressor 120 of FIG. 2 as, beside the bit stream, it also outputs the quantized residual. The reconstruction module of each layer processes its input signals as per FIGS. 3 and 4, and outputs the reconstructed frame for the layer ({circumflex over (x)}b(n), (EL1)) {circumflex over (x)}e(n), and (EL2) {circumflex over (x)}e(n), for the base, first enhancement and second enhancement layers, respectively), and the layer's predicted frame ({tilde over (x)}b(n), (EL1) {tilde over (x)}e(n), and (EL2) {tilde over (x)}e(n), for the base, first enhancement and second enhancement layers, respectively).
The corresponding three layer scalable predictive decoder is shown in FIG. 6. Each layer's inverse compressor/quantizer receives as input the layer's bit stream from which it reproduces the layer's quantized residual. It also extracts the layer's compression parameters for use by a higher layer reconstruction module. The rest of the diagram is identical to the encoder of FIG. 2 and similarly produces the reconstructed frame at each layer.
It will be appreciated that the invention is generally applicable to predictive coding and, in particular, may be applied to known vector quantizer-based compression techniques, and known transform-based techniques. Further, it is applicable to compression of speech, audio, and video signals. A combining rule employing optimal estimation for scalable compression is described next as an implementation example of the invention.
In typical predictive coding, a number of signal representation coefficients (e.g., vectors of transform coefficients, line spectral frequencies, or vectors of raw signal samples) are extracted per frame and quantized independently. A specific low complexity implementation of the invention consists of optimally combining the information available for predicting the coefficient at an enhancement-layer. The reconstructed coefficient at the base-layer, {circumflex over (x)}b(n), and the quantization interval (or partition region in the case of vector quantization) of the corresponding reconstructed residual {circumflex over (r)}b(n), determine an interval/cell I(n) within which the original coefficient x(n) must lie. From the corresponding reconstructed coefficient at the previous enhancement-layer frame, {circumflex over (x)}e(n−1), and a statistical model on time evolution of the coefficients, one may construct a probability density function for x(n) conditional on {circumflex over (x)}e(n−1), denoted by p[x(n){circumflex over (x)}e(n−1)]. The optimal estimate of x(n) is obtained by expectation:




  
    
      
        x
        ~
      
      e
    
    ⁡
    
      (
      n
      )
    
  
  =
  
    
      
        
          ∫
          
            I
            ⁡
            
              (
              n
              )
            
          
        
        ⁢
        
          
            xp
            ⁡
            
              [
              
                
                  x
                  ⁡
                  
                    (
                    n
                    )
                  
                
                ❘
                
                  
                    
                      x
                      ^
                    
                    e
                  
                  ⁡
                  
                    (
                    
                      n
                      -
                      1
                    
                    )
                  
                
              
              ]
            
          
          ⁢
          
            d
            x
          
        
      
      
        
          ∫
          
            I
            ⁡
            
              (
              n
              )
            
          
        
        ⁢
        
          
            p
            ⁡
            
              [
              
                
                  x
                  ⁡
                  
                    (
                    n
                    )
                  
                
                ❘
                
                  
                    
                      x
                      ^
                    
                    e
                  
                  ⁡
                  
                    (
                    
                      n
                      -
                      1
                    
                    )
                  
                
              
              ]
            
          
          ⁢
          
            d
            x
          
        
      
    
    .
  




This predictor incorporates the information provided by the base-layer (interval within which x(n) lies), and by the enhancement-layer (probability distribution of x(n) conditional on {circumflex over (x)}e(n−1)).

Referring now to FIG. 7 and FIG. 8, a system for scalable predictive transform coding which is designed for the compression of video signals is shown. In current practice and standards (e.g., [4]), the system uses motion compensation for basic frame prediction, applies the discrete cosine transform (DCT) to the prediction error (residual), and quantizes the transform coefficients one at a time. A block diagram of a two-layer scalable video encoder is shown in FIG. 7, and the corresponding decoder is shown in FIG. 8. FIG. 9 shows a functional block diagram corresponding to the spatial motion compensator blocks shown in the base layer and the enhancement layer.
Note that, for simplicity, the symbols x, r, {circumflex over (x)}, {circumflex over (r)}, {tilde over (x)} for the video and residual signals at the base and enhancement layers in the diagram are in the transform domain, even though motion compensation is performed in the spatial domain (FIG. 9). Note further that additional enhancement layers may be added where an enhancement layer k builds on and relates to layer k−1 below it exactly as shown for the first two enhancement layers.
The first-order Laplace-Markov process was chosen for modeling the time evolution statistics of the video signal:

x(n)=ρMC[x(n−1)]+z(n),

where x(n) is the DCT coefficient in the current frame and MC[x(n−1)] is the corresponding (after motion compensation) coefficient in the previous frame. The correlation coefficient ρ is assumed to be nearly one. As x(n) has a Laplacian density, the driving process, z(n), is zero-mean, white, stationary, and has the density





  
    p
    ⁡
    
      (
      z
      )
    
  
  =
  
    
      
        ρ
        2
      
      ⁢
      
        δ
        ⁡
        
          (
          z
          )
        
      
    
    +
    
      
        (
        
          1
          -
          
            ρ
            2
          
        
        )
      
      ⁢
      
        α
        2
      
      ⁢
      
        
          e
          
            
              -
              α
            
            ⁢
            
              
              z
              
            
          
        
        .
      
    
  




(Both α and ρ may in practice be estimated “offline” from training data, or via an adaptive estimator that tracks variations in local statistics of the signal). The base layer performs standard video compression: its predictor consists only of motion compensation, {tilde over (x)}b(n)=MC[{circumflex over (x)}b(n−1)], the residual rb(n)=x(n)−{tilde over (x)}b(n) is quantized and the corresponding index is transmitted.

Let [a,b] be the quantization interval, hence rb(n)ε[a,b]. Thus the information the base layer provides on x(n) is captured in the statement:

x(n)ε[{tilde over (x)}b(n)+a,{tilde over (x)}b(n)+b].

At the enhancement layer, the prediction exploits the information available from both layers. The optimal predictor is given therefore by the expectation:

{tilde over (x)}e(n)=E{x(n)|{circumflex over (x)}e(n−1),x(n)ε[{tilde over (x)}b(n)+a,{tilde over (x)}b(n)+b]}, 

which is conveniently rewritten as

{tilde over (x)}e(n)=xe(n−1)+E{z(n)|z(n)εIz(n)}

where

xe(n−1)=MC[{circumflex over (x)}e(n−1)]

and the expectation interval is

Iz(n)=[{tilde over (x)}b(n)+a−xe(n−1),{tilde over (x)}b(n)+b−xe(n−1)].

This prediction is directly implemented using the model for p(z) given above:




  
    
      
        x
        ~
      
      e
    
    ⁡
    
      (
      n
      )
    
  
  =
  
    
      
        
          x
          _
        
        e
      
      ⁡
      
        (
        
          n
          -
          1
        
        )
      
    
    +
    
      
        
          
            ∫
            
              
                I
                z
              
              ⁡
              
                (
                n
                )
              
            
          
          ⁢
          
            
              zp
              ⁡
              
                (
                z
                )
              
            
            ⁢
            
              d
              z
            
          
        
        
          
            ∫
            
              
                I
                z
              
              ⁡
              
                (
                n
                )
              
            
          
          ⁢
          
            
              p
              ⁡
              
                (
                z
                )
              
            
            ⁢
            
              d
              z
            
          
        
      
      .
    
  




The integral may be analytically evaluated and its closed form solution given explicitly in terms of the integral limits and the parameters α, β, is normally used for simple implementation.
This embodiment of the invention is of low complexity, uses standard video compression for its base layer, and provides substantial performance gains which build up and increase with the number of layers implemented. Its absence in all leading standards in spite of its gains and low complexity strongly suggests that the invention is not obvious to the leading researchers and developers in the field of video compression.
The scalable predictive coding method of the invention, although illustrated herein on a two or three-layer scalable system, is repeatedly applicable to further layers of enhancement in a straightforward manner. For example, at layer k we combine signal information from the current reconstructed frame at layer k−1, and from the previous reconstruction frame at layer k. A higher complexity version allows for the combining rule to take into account data from all lower layers. In the special implementation described, information from all lower layers contributes to restricting the final interval within which the coefficient must lie. Another higher complexity version uses higher order prediction (based on multiple past frames).
Another application of the invention pertains to time-varying channels, such as mobile communications, and most common network communications. When the receiver experiences an improvement in channel conditions, it attempts to decode higher enhancement bits and improve the quality of the reconstruction. However, it can not compute the enhancement layer prediction as past enhancement layer reconstruction frames were not decoded and are not available. The present invention includes a solution to this problem, which comprises periodically (e.g., once per fixed number of frames) constraining the enhancement encoder to exclusively use lower layer information for the prediction. This periodic constrained prediction synchronizes the enhancement decoder with the enhancement encoder and allows the receiver to decode the enhancement-layer signals. The frequency of application of this constrained mode may be different for each layer and may be optimized for the time-varying channel statistics. The trade off is between some temporary degradation in prediction (when the prediction is constrained) and the receiver's capability to upgrade to enhancement layer performance as the channel conditions improve.
Finally, it will be appreciated that the scalability advantages of the invention may be easily combined with known methods for temporal and spatial scalability.
Accordingly, it will be seen that this invention provides for efficient scalability of predictive coding that is applicable to standard video and audio compression. The invention uses most or all of the information available at an enhancement-layer to improve the quality of the prediction. In addition, the invention provides for enhancement-layer synchronization to accommodate situations where the communication rate for a given receiver is time varying (e.g., in mobile communications). Although the description above contains many specificities, these should not be construed as limiting the scope of the invention but as merely providing illustrations of some of the presently preferred embodiments of this invention. Thus the scope of this invention should be determined by the appended claims and their legal equivalents.

## Claims

1. An encoder for performing scalable predictive coding, the encoder comprising:
a base layer encoder configured to reconstruct base layer data representing a current base layer frame to create reconstructed base layer data, the reconstruction performed using a base layer compression parameter, the base layer compression parameter comprising at least one of a quantized base layer residual, a quantization interval, or a partition region; and
an enhancement layer encoder configured to:
store, in a delay component, previous frame reconstructed enhancement layer data generated from processing a previous frame of enhancement layer data;
receive, distinct from the base layer data representing the base layer frame, the base layer compression parameter;
obtain, from the delay component, the previous frame reconstructed enhancement layer data;
reconstruct enhancement layer data representing the current frame based at least in part on the previous frame reconstructed enhancement layer data; and
predict enhancement layer data representing the current enhancement layer frame by processing and combining the reconstructed base layer data and the previous frame reconstructed enhancement layer data, wherein the predicting enhancement layer data representing the current enhancement layer frame uses the received base layer compression parameter.

2. The encoder of claim 1 wherein the reconstructed base layer data comprises residual data representing a difference between a reconstruction of the current base layer frame and a prediction of the current base layer frame.

3. The encoder of claim 2 wherein the residual data comprises a quantized base layer residual.

4. The encoder of claim 1 wherein the reconstructed base layer data comprises frame data representing a reconstruction of the current base layer frame.

5. A method of performing scalable predictive coding, the method comprising:
in a base layer, reconstructing base layer data representing a current base layer frame to create reconstructed base layer data, the reconstruction performed using a base layer compression parameter, the base layer compression parameter comprising at least one of a quantized base layer residual, a quantization interval, or a partition region;
in an enhancement layer—
storing, in a delay component, previous frame reconstructed enhancement layer data generated from processing a previous frame of enhancement layer data;
obtaining, from the delay component, the previous frame reconstructed enhancement layer data;
reconstructing enhancement layer data representing the current frame based at least in part on the previous frame reconstructed enhancement layer data;
receiving, distinct from the base layer data representing the base layer frame, the base layer compression parameter; and
predicting enhancement layer data representing a current enhancement layer frame by processing and combining the reconstructed base layer data and the previous frame reconstructed enhancement layer data, wherein the predicting enhancement layer data representing a current enhancement layer frame uses the received base layer compression parameter.

6. The method of claim 5 wherein at least a portion of the method is performed during decoding of the current enhancement layer frame.

7. The method of claim 5 wherein at least a portion of the method is performed during encoding of the current enhancement layer frame.

8. The method of claim 5 wherein the reconstructed base layer data comprises residual data representing a difference between a reconstruction of the current base layer frame and a prediction of the current base layer frame.

9. The method of claim 8 wherein the residual data comprises a quantized base layer residual.

10. The method of claim 5 wherein the reconstructed base layer data comprises frame data representing a reconstruction of the current base layer frame.

11. An encoder for performing scalable predictive coding, the encoder comprising:
a base layer encoder configured to:
reconstruct base layer data representing a current base layer frame to create reconstructed base layer data; and
provide additional base layer information regarding the current base layer frame, the additional base layer information comprising a base layer compression parameter, the base layer compression parameter comprising at least one of a quantized base layer residual, a quantization interval, or a partition region; and

an enhancement layer encoder configured to:
store, in a delay component, previous frame reconstructed enhancement layer data generated from processing a previous frame of enhancement layer data;
receive, distinct from the base layer data representing the base layer frame, the base layer compression parameter;
obtain, from the delay component, the previous frame reconstructed enhancement layer data;
predict enhancement layer data representing a current enhancement layer frame by processing and combining the reconstructed base layer data and the previous frame reconstructed enhancement layer data wherein the predicting enhancement layer data representing a current enhancement layer frame uses the received base layer compression parameter; and
reconstruct enhancement layer data for the current frame based at least in part on the predicted enhancement layer data to obtain current frame reconstructed enhancement layer data.

12. The encoder of claim 11 wherein the reconstructed base layer data comprises residual data representing a difference between a reconstruction of the current base layer frame and a prediction of the current base layer frame.

13. The encoder of claim 12 wherein the residual data comprises a quantized base layer residual.

14. The encoder of claim 11 wherein the base layer compression parameter comprises residual data representing a difference between a reconstruction of the current base layer frame and a prediction of the current base layer frame.

15. The encoder of claim 14 wherein the residual data comprises a quantized base layer residual.

16. A method of performing scalable predictive coding, the method comprising:
in a base layer, reconstructing base layer data representing a current base layer frame to create reconstructed base layer data and providing additional base layer information regarding the current base layer frame, the additional base layer information comprising a base layer compression parameter, the base layer compression parameter comprising at least one of a quantized base layer residual, a quantization interval, or a partition region;
in an enhancement layer—
storing, in a delay component, previous frame reconstructed enhancement layer data generated from processing a previous frame of enhancement layer data;
obtaining the previous frame reconstructed enhancement layer data from the delay component;
reconstructing enhancement layer data representing the current frame based at least in part on the previous frame reconstructed enhancement layer data;
receiving, distinct from the base layer data representing the base layer frame, the additional base layer information; and
predicting enhancement layer data representing a current enhancement layer frame by processing and combining the reconstructed base layer data and the reconstructed previous frame enhancement layer data, wherein predicting enhancement layer data representing a current enhancement layer frame uses the received additional base layer information.

17. The method of claim 16 wherein at least a portion of the method is performed during decoding of the current enhancement layer frame.

18. The method of claim 16 wherein at least a portion of the method is performed during encoding of the current enhancement layer frame.

19. The method of claim 16 wherein the reconstructed base layer data comprises residual data representing a difference between a reconstruction of the current base layer frame and a prediction of the current base layer frame.

20. The method of claim 19 wherein the residual data comprises a quantized base layer residual.

21. The method of claim 16 wherein the base layer compression parameter comprises residual data representing a difference between a reconstruction of the current base layer frame and a prediction of the current base layer frame.

22. The method of claim 21 wherein the residual data comprises a quantized base layer residual.

23. A tangible computer-readable storage medium having instructions stored thereon, the instructions, when executed by a computing device, cause the computing device to perform operations comprising:
reconstructing, in a base layer, base layer data representing a current base layer frame to create reconstructed base layer data comprising a base layer compression parameter, the base layer compression parameter comprising at least one of a quantized base layer residual, a quantization interval, or a partition region;
store in a delay component, using, in an enhancement layer, reconstructed previous frame enhancement layer data generated from processing a previous frame of enhancement layer data;
obtain from the delay component, using, in the enhancement layer, the reconstructed previous frame enhancement layer data;
reconstructing, in the enhancement layer, enhancement layer data representing the current frame based at least in part on the previous frame reconstructed enhancement layer data;
receiving, in the enhancement layer, the base layer compression parameter wherein the received compression parameter is distinct from the base layer data representing the base layer frame; and
predicting, in the enhancement layer, enhancement layer data representing a current enhancement layer frame by processing and combining the reconstructed base layer data and the reconstructed previous frame enhancement layer data, wherein the predicting, in the enhancement layer, enhancement layer data representing a current enhancement layer frame uses the received base layer compression parameter.

24. The tangible computer-readable storage medium of claim 23 wherein the instructions are executed during decoding of the current enhancement layer frame.

25. The tangible computer-readable storage medium of claim 23 wherein the instructions are executed during encoding of the current enhancement layer frame.

26. The tangible computer-readable storage medium of claim 23 wherein the reconstructed base layer data comprises residual data representing a difference between a reconstruction of the current base layer frame and a prediction of the current base layer frame.

27. The tangible computer-readable storage medium of claim 26 wherein the residual data comprises a quantized base layer residual.

28. The encoder of claim 1 wherein the base layer compression parameter comprises a base layer residual.

29. The encoder of claim 1 wherein:
the enhancement layer encoder is a first enhancement layer encoder,
the first enhancement layer encoder reconstructs enhancement layer data representing the current frame based on a first enhancement layer compression parameter, and wherein the encoder further comprises a second enhancement layer encoder, the second enhancement layer encoder configured to:
receive the first enhancement layer compression parameter, the received first enhancement layer compression parameter being distinct from the reconstructed first enhancement layer data; and
predict, based on the received first enhancement layer compression parameter, second enhancement layer data representing the current second enhancement layer frame by processing and combining the reconstructed first enhancement layer data and previous frame reconstructed second enhancement layer data.

30. The encoder of claim 1 wherein the enhancement layer encoder further comprises a motion compensator, and wherein the enhancement layer encoder is further configured to reconstruct enhancement layer data representing a previous enhancement layer frame to create previous frame reconstructed enhancement layer data in part by receiving, from the motion compensator, motion compensated data for the previous enhancement layer frame.

31. The method of claim 5 wherein the base layer compression parameter comprises a base layer residual.

32. The method of claim 5 wherein the enhancement layer is a first enhancement layer, and, in the first enhancement layer, reconstructing the enhancement layer data representing the current frame is based on a first enhancement layer compression parameter, and wherein the method further comprises:
in a second enhancement layer:
receiving the first enhancement layer compression parameter, the received first enhancement layer compression parameter being distinct from the reconstructed first enhancement layer data; and
predicting, based on the received first enhancement layer compression parameter, second enhancement layer data representing the current second enhancement layer frame by processing and combining the reconstructed first enhancement layer data and previous frame reconstructed second enhancement layer data.

33. The method of claim 5 wherein the reconstructing enhancement layer data representing a previous enhancement layer frame to create previous frame reconstructed enhancement layer data is performed in part by receiving motion compensated data for the previous enhancement layer frame.

34. The encoder of claim 11 wherein the base layer compression parameter comprises a base layer residual.

35. The encoder of claim 11 wherein:
the enhancement layer encoder is a first enhancement layer encoder,
the first enhancement layer encoder reconstructs enhancement layer data representing the current frame based on a first enhancement layer compression parameter, and wherein the encoder further comprises a second enhancement layer encoder, the second enhancement layer encoder configured to:
receive the first enhancement layer compression parameter, the received first enhancement layer compression parameter being distinct from the reconstructed first enhancement layer data; and
predict, based on the received first enhancement layer compression parameter, second enhancement layer data representing the current second enhancement layer frame by processing and combining the reconstructed first enhancement layer data and previous frame reconstructed second enhancement layer data.

36. The encoder of claim 11 wherein the enhancement layer encoder further comprises a motion compensator, and wherein the enhancement layer encoder is further configured to reconstruct enhancement layer data representing a previous enhancement layer frame to create previous frame reconstructed enhancement layer data in part by receiving, from the motion compensator, motion compensated data for the previous enhancement layer frame.

37. The method of claim 16 wherein the base layer compression parameter comprises a base layer residual.

38. The method of claim 16 wherein the enhancement layer is a first enhancement layer, and, in the first enhancement layer, reconstructing the enhancement layer data representing the current frame is based on a first enhancement layer compression parameter, and wherein the method further comprises:
in a second enhancement layer:
receiving the first enhancement layer compression parameter, the received first enhancement layer compression parameter being distinct from the reconstructed first enhancement layer data; and
predicting, based on the received first enhancement layer compression parameter, second enhancement layer data representing the current second enhancement layer frame by processing and combining the reconstructed first enhancement layer data and previous frame reconstructed second enhancement layer data.

39. The method of claim 16 wherein the reconstructing enhancement layer data representing a previous enhancement layer frame to create previous frame reconstructed enhancement layer data is performed in part by receiving motion compensated data for the previous enhancement layer frame.

40. The tangible computer-readable storage medium of claim 23 wherein the base layer compression parameter comprises a base layer residual.

41. The tangible computer-readable storage medium of claim 23 wherein the enhancement layer is a first enhancement layer, and, in the first enhancement layer, reconstructing the enhancement layer data representing the current frame is based on a first enhancement layer compression parameter, and wherein the method further comprises:
in a second enhancement layer:
receiving the first enhancement layer compression parameter, the received first enhancement layer compression parameter being distinct from the reconstructed first enhancement layer data; and
predicting, based on the received first enhancement layer compression parameter, second enhancement layer data representing the current second enhancement layer frame by processing and combining the reconstructed first enhancement layer data and previous frame reconstructed second enhancement layer data.

42. The tangible computer-readable storage medium of claim 23 wherein the reconstructing, in an enhancement layer, of enhancement layer data representing a previous enhancement layer frame to create reconstructed previous frame enhancement layer data is performed in part by receiving motion compensated data for the previous enhancement layer frame.

43. The method of claim 5 wherein the method is performed during decoding of the current frame.

44. The method of claim 5 wherein the method is performed during encoding of the current frame.

45. The method of claim 16 wherein the method is performed during decoding of the current frame.

46. The method of claim 16 wherein the method is performed during encoding of the current frame.

47. A method of performing scalable predictive coding, the method comprising:
in a base layer, reconstructing base layer data representing a current base layer frame to create reconstructed base layer data, the reconstruction performed using a base layer compression parameter, the base layer compression parameter comprising at least one of a quantized base layer residual, a quantization interval, or a partition region;
in an enhancement layer—
storing, in a delay component, previous frame reconstructed enhancement layer data generated from processing a previous frame of enhancement layer data;
obtaining, from the delay component, the previous frame reconstructed enhancement layer data;
reconstructing enhancement layer data representing the current frame based at least in part on the previous frame reconstructed enhancement layer data;
receiving the base layer compression parameter processed separately from the base layer data representing the base layer frame; and
predicting enhancement layer data representing a current enhancement layer frame by processing and combining the reconstructed base layer data and the previous frame reconstructed enhancement layer data, wherein the predicting enhancement layer data representing a current enhancement layer frame uses the received base layer compression parameter.

48. A method of performing scalable predictive coding, the method comprising:
in a base layer, reconstructing base layer data representing a current base layer frame to create reconstructed base layer data and providing additional base layer information regarding the current base layer frame, the additional base layer information comprising a base layer compression parameter, the base layer compression parameter comprising at least one of a quantized base layer residual, a quantization interval, or a partition region;
in an enhancement layer—
storing, in a delay component, previous frame reconstructed enhancement layer data generated from processing a previous frame of enhancement layer data;
obtaining, from the delay component, the previous frame reconstructed enhancement layer data;
reconstructing enhancement layer data representing the current frame based at least in part on the previous frame reconstructed enhancement layer data;
receiving the additional base layer information processed separately from the base layer data representing the base layer frame; and
predicting enhancement layer data representing a current enhancement layer frame by processing and combining the reconstructed base layer data and the reconstructed previous frame enhancement layer data, wherein predicting enhancement layer data representing a current enhancement layer frame uses the received additional base layer information.

49. A decoder for performing scalable predictive coding, the decoder comprising:
a base layer decoder configured to:
reconstruct base layer data representing a current base layer frame to create reconstructed base layer data; and
provide additional base layer information regarding the current base layer frame, the additional base layer information comprising a base layer compression parameter, the base layer compression parameter comprising at least one of a quantized base layer residual, a quantization interval, or a partition region; and

an enhancement layer decoder configured to:
store, in a delay component, previous frame reconstructed enhancement layer data generated from processing a previous frame of enhancement layer data;
receive, distinct from the base layer data representing the base layer frame, the base layer compression parameter;
obtain, from the delay component, the previous frame reconstructed enhancement layer data;
predict enhancement layer data representing a current enhancement layer frame by processing and combining the reconstructed base layer data and the previous frame reconstructed enhancement layer data wherein the predicting enhancement layer data representing a current enhancement layer frame uses the received base layer compression parameter; and
reconstruct enhancement layer data for the current frame based at least in part on the predicted enhancement layer data to obtain current frame reconstructed enhancement layer data.

50. A method of performing scalable predictive decoding, the method comprising:
in a base layer decoder, reconstructing base layer data representing a current base layer frame to create reconstructed base layer data and providing additional base layer information regarding the current base layer frame, the additional base layer information comprising a base layer compression parameter, the base layer compression parameter comprising at least one of a quantized base layer residual, a quantization interval, or a partition region;
in an enhancement layer decoder—
storing, in a delay component, previous frame reconstructed enhancement layer data generated from processing a previous frame of enhancement layer data;
obtaining, from the delay component, the previous frame reconstructed enhancement layer data;
reconstructing enhancement layer data representing the current frame based at least in part on the previous frame reconstructed enhancement layer data;
receiving, distinct from the base layer data representing the base layer frame, the additional base layer information; and
predicting enhancement layer data representing a current enhancement layer frame by processing and combining the reconstructed base layer data and the reconstructed previous frame enhancement layer data, wherein predicting enhancement layer data representing a current enhancement layer frame uses the received additional base layer information.