EP1878261A1 - Video coding method and apparatus supporting fast fine granular scalability - Google Patents
Video coding method and apparatus supporting fast fine granular scalabilityInfo
- Publication number
- EP1878261A1 EP1878261A1 EP06747382A EP06747382A EP1878261A1 EP 1878261 A1 EP1878261 A1 EP 1878261A1 EP 06747382 A EP06747382 A EP 06747382A EP 06747382 A EP06747382 A EP 06747382A EP 1878261 A1 EP1878261 A1 EP 1878261A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- frame
- base layer
- fgs
- residual
- motion vector
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 121
- 239000013598 vector Substances 0.000 claims abstract description 127
- 238000013139 quantization Methods 0.000 claims description 49
- 238000012935 Averaging Methods 0.000 claims description 8
- 230000001131 transforming effect Effects 0.000 claims 5
- 230000000750 progressive effect Effects 0.000 abstract description 6
- 239000010410 layer Substances 0.000 description 169
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 239000003607 modifier Substances 0.000 description 7
- 230000009466 transformation Effects 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 3
- 239000011229 interlayer Substances 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Definitions
- Methods and apparatuses consistent with the present invention relate to video coding, and more particularly, to video coding which reduces the amount of computations required for a multilayer-based Progressive Fine Granular Scalability (PFGS) algorithm.
- PFGS Progressive Fine Granular Scalability
- Multimedia data requires a large capacity of storage media and a wide bandwidth for transmission since the amount of multimedia data is usually large. Accordingly, a compression coding method is a requisite for transmitting multimedia data including text, video, and audio.
- a basic principle of data compression is removing data redundancy.
- Data can be compressed by removing spatial redundancy in which the same color or object is repeated in an image, temporal redundancy in which there is little change between neighboring frames in a moving image or the same sound is repeated in audio, or mental visual redundancy taking into account human eyesight and limited perception of high frequency.
- temporal redundancy is removed by temporal filtering based on motion compensation
- spatial redundancy is removed by spatial transformation.
- transmission media are required. Different types of transmission media for multimedia have different performance. Currently used transmission media have various transmission rates. For example, an ultrahigh-speed communication network can transmit data of several tens of megabits per second while a mobile communication network has a transmission rate of 384 kilobits per second. To support transmission media having various speeds or to transmit multimedia, data coding methods having scalability may be suitable to a multimedia environment.
- Scalability indicates the ability to partially decode a single compressed bitstream.
- Scalability includes spatial scalability indicating a video resolution, Signal-to-Noise Ratio (SNR) scalability indicating a video quality level, and temporal scalability indicating a frame rate.
- SNR Signal-to-Noise Ratio
- Standardization work for implementation of multi-layer scalability based on H.264 Scalable Extension (hereinafter, to be referred to be as 'H.264 SE') is in progress at present by a joint video team (JVT) of MPEG (Motion Picture Experts Group) and ITU (International Telecommunication Union).
- JVT Joint video team
- MPEG Motion Picture Experts Group
- ITU International Telecommunication Union
- FGS Fine Granular Scalability
- FIG. 1 is a diagram for explaining a conventional Fine Granular Scalability (FGS) technique.
- FGS-based codec performs coding by dividing a video bitstream into a base layer and an FGS layer.
- a prime (') notion is used to denote a reconstructed image obtained after quantization/inverse quantization. More specifically, a block PB predicted from a block MB' in a reconstructed left base layer frame 11 and a block NB' in a reconstructed right base layer frame 12 using a motion vector is subtracted from a block O in an original current frame 12 to obtain a difference block RB.
- the difference block RB can be defined by the Equation
- the difference block R B is quantized by a base layer quantization step QP B (RB Q ) and then inversely quantized to obtain a reconstructed difference block R '.
- a residual between the unquantized difference block R and the reconstructed difference block R block ⁇ corresponding to the residual is quantized with a quantization step size QP smaller than the base layer quantization step size QP (a compression rate decreases as
- FIG. 2 is a diagram for explaining a conventional progressive fine granular scalability (PFGS) technique.
- PFGS progressive fine granular scalability
- a PFGS technique uses the fact that the quality of left and right reference frames in an FGS layer are also improved by a FGS technique. That is, the PFGS technique involves calculating a new difference block R using newly updated left and right reference frames 21 and 23 and quantizing a residual between the new difference block R F and a quantized base layer block R B ', thereby improving coding performance.
- the new difference block RF is defined by the Equation (2): [H]
- a PFGS technique has an advantage over a FGS technique that the amount of data in an FGS layer can be reduced due to high quality of left and right reference frames. Because the FGS layer also requires separate motion compensation, the amount of computations increases. That is, while the PFGS has improved performance over the conventional FGS, it requires a large amount of computations because motion compensation is performed for each FGS layer to generate a predicted signal and a residual signal between the predicted signal and the original signal. Recently developed video codecs interpolate an image signal at 1/2 or 1/4 pixel accuracy for motion compensation. When motion compensation is performed on 1/4 pixel accuracy, an image with size corresponding to quadruple the resolution of an original image should be generated. Disclosure of Invention
- H.264 standard SE technique uses a six-tap filter as a 1/2 pixel interpolation filter that involves a considerable computational complexity, requiring quite a quantity of computations for motion compensation. This complicates encoding and decoding processes, thus requiring higher system resources. In particular, this drawback may be most problematic in a field requiring real-time encoding and decoding, such as realtime broadcasting or video conferencing.
- the present invention provides a method and apparatus for reducing an amount of computations required for motion compensation while maintaining the performance of a progressive fine granular scalability (PFGS) algorithm.
- PFGS progressive fine granular scalability
- a video encoding method supporting FGS including obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, quantizing a residual between the current frame and the predicted image, inversely quantizing the quantized residual and generating a reconstructed image for the current frame, performing motion compensation on an FGS layer reference frame and a base layer reference frame using the estimated motion vector, calculating a residual between the motion-compensated FGS layer reference frame and the motion-compensated base layer reference frame, subtracting the reconstructed image for the current frame and the calculated residuals from the current frame, and encoding the result of subtraction.
- a video encoding method supporting FGS including obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, quantizing a residual between the current frame and the predicted image, inversely quantizing the quantized residual, and generating a reconstructed image for the current frame, performing motion compensation on an FGS layer reference frame and a base layer reference frame using the estimated motion vector and generating a predicted frame for the FGS layer and a predicted frame for the base layer, respectively, calculating a residual between the predicted frame for the FGS layer and the predicted frame for the base layer, subtracting the reconstructed image and the residual from the current frame, and encoding the result of subtraction.
- a video encoding method supporting FGS including obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, quantizing a residual between the current frame and the predicted image, inversely quantizing the quantized residual, and generating a reconstructed image for the current frame, calculating a residual between an FGS layer reference frame and a base layer reference frame, performing motion compensation on the residual using the estimated motion vector, subtracting the reconstructed image and the motion- compensated result from the current frame, and encoding the result of subtraction.
- a video encoding method supporting fine granular scalability including obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, performing motion compensation on an FGS layer reference frame and a base layer reference frame using a motion vector with lower accuracy than that of the estimated motion vector, calculating a residual between the motion-compensated FGS layer and base layer reference frame, subtracting the predicted image and the residual from the current frame, and encoding the result of subtraction.
- FGS fine granular scalability
- a video encoding method supporting FGS including obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, performing motion compensation on an FGS layer reference frame and a base layer reference frame using a motion vector with lower accuracy than that of the estimated motion vector and generating a predicted frame for the FGS layer and a predicted frame for the base layer, respectively, calculating a residual between the predicted frame for the FGS layer and the predicted frame for the base layer, subtracting the predicted image and the calculated residual from the current frame, and encoding the result of subtraction.
- a video encoding method supporting FGS including obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, calculating a residual between an FGS layer reference frame and a base layer reference frame, performing motion compensation on the residual using a motion vector with lower accuracy than that of the estimated motion vector, subtracting the reconstructed image and the motion-compensated result from the current frame, and encoding the result of subtraction.
- a video decoding method supporting FGS including extracting base layer texture data and FGS layer texture data and motion vectors from an input bitstream, reconstructing a base layer frame from the base layer texture data, performing motion compensation on an FGS layer reference frame and a base layer reference frame using the motion vectors, calculating a residual between the motion- compensated FGS layer reference frame and the motion-compensated base layer reference frame, and adding together the base layer frame, the FGS layer texture data, and the residual.
- an FGS- based video encoder including an element obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, an element quantizing a residual between the current frame and the predicted image, inversely quantizing the quantized residual, and generating a reconstructed image for the current frame, an element performing motion compensation on an FGS layer reference frame and a base layer reference frame using the estimated motion vector, an element calculating a residual between the motion-compensated FGS layer and base layer reference frame, an element subtracting the reconstructed image and the residual from the current frame, and an element encoding the result of subtraction.
- the video encoder including an element extracting base layer texture data, FGS layer texture data and motion vectors from an input bitstream, an element reconstructing a base layer frame from the base layer texture data, an element performing motion compensation on an FGS layer reference frame and a base layer reference frame using the motion vector and generating a predicted FGS layer frame and a predicted base layer frame, an element calculating a residual between the predicted FGS layer frame and the predicted base layer frame, and an element adding together the texture data, the reconstructed base layer frame, and the residual.
- FIG. 1 is a diagram for explaining a conventional FGS technique
- FlG. 2 is a diagram for explaining conventional progressive PFGS technique
- FlG. 3 is a diagram for illustrating fast progressive fine granular scalability (PFGS) according to an exemplary embodiment of the present invention
- FlG. 4 is a block diagram of a video encoder according to an exemplary embodiment of the present invention.
- FlG. 5 is a block diagram of a video encoder according to another exemplary embodiment of the present invention.
- FIGS. 6 and 7 are block diagrams of video encoders according a further exemplary embodiment of the present invention.
- FlG. 8 is a block diagram of a video decoder according to an exemplary embodiment of the present invention.
- FlG. 9 is a block diagram of a video decoder according to another exemplary embodiment of the present invention.
- FIGS. 10 and 11 are block diagrams of video decoders according to a further exemplary embodiment of the present invention.
- FlG. 12 is a block diagram of a system for performing an encoding or decoding process according to an exemplary embodiment of the present invention.
- FlG. 3 is a diagram for illustrating PFGS according to a first exemplary embodiment of the present invention.
- Equation (3) [39] Referring to FlG. 3, like in FlG. 2, ⁇ in an FGS layer will be quantized according to a PFGS algorithm and defined simply by the Equation (3):
- R F is defined by the above Equation (2) and R B ' is defined by the Equation (4):
- O' is an image reconstructed by quantizing an original image O with a base layer quantization step size QP B and then inversely quantizing the quantized image.
- Equation (5) [44] Substituting the Equations (2) and (4) into the Equation (3) gives the Equation (5):
- ⁇ and ⁇ denote a residual between left reference frames M
- Equation (6) By substituting the Equation (6) into the Equation (5), ⁇ can be defined by the
- Equation (7) [49]
- an encoder can obtain ⁇ by subtracting the reconstructed base layer image O ' obtained by quantizing the original image O with the base layer quantization step size QP B and then inversely quantizing the quantized image and an average of the residuals between each of the base reference frame and the FGS layer reference frame and the original image O, that is, ( ⁇ + ⁇ )/2.
- M N decoder reconstructs the original image O by adding together the reconstructed base layer image O', ⁇ , and the average of the residuals between the base layer reference frame and the FGS layer reference frame.
- motion compensation is performed using a motion vector with one pixel or sub-pixel (1/2 pixel or 1/4 pixel) accuracy obtained by motion estimation.
- motion estimation and compensation are typically performed according to various pixel accuracies such as half pixel accuracy, or quarter pixel accuracy.
- a predicted image generated by motion compensation with, e.g., 1/4 pixel accuracy is packed into integer pixels.
- quantization is performed on a residual between an original image and the predicted image.
- the packing is a restoration process of a 4x interpolated reference image into the original size image by performing motion estimation with 1/4 pixel accuracy. For example, one of every four pixels may be selected during the packing process.
- the data ⁇ in the FGS layer to be quantized for fast PFGS according to the present invention needs not be subjected to motion estimation with high pixel accuracy.
- Motion estimation and compensation are applied to only the third term ( ⁇ + ⁇ )/2 in the right-hand side of the Equation (7).
- the third term is represented as interlayer residuals between reference frames, it is not highly effective to perform motion estimation and compensation with high pixel accuracy.
- the fast PFGS allows lower pixel accuracy motion estimation and compensation than the conventional PFGS.
- ⁇ in the Equation (5) in the first exemplary embodiment can also be represented as a residual between predicted signals P F and P B as shown in the Eq ⁇ uation (8).
- P F and P B are eq ⁇ ual to (M F '+NF ')/2 and (M B '+NB
- the first and second exemplary embodiments are distinguished from each other as follows.
- residuals ⁇ and ⁇ between FGS layer reference images and base layer reference images are first calculated and then divided by 2.
- FGS layer image P F and the predicted base layer image P B is calculated after calculating the predicted images P F and P B in the two layers. That is to say, although fast PFGS algorithms according to the first and second exemplary embodiments are implemented in different ways, the same calculation result ( ⁇ ) can be obtained.
- motion compensation is first performed and a residual between images is then calculated.
- a residual between reference images in different layers may first be calculated, followed by performing motion compensation.
- boundary padding is the process of duplicating pixels at boundaries in the vicinity of the pixels considering that block matching at a frame boundary is restricted during motion estimation.
- a residual ⁇ can be defined by the Equation (9): [58]
- the fast PFGS algorithms are used to calculate a residual between predicted images or predict a residual between reference images.
- the fast PFGS performance of the present invention is only slightly affected by or insensitive to interpolation used in order to increase the pixel accuracy of motion vector.
- quarter or half pixel interpolation may be skipped.
- a bi-linear filter requiring a smaller amount of computations may be use instead of a half-pixel interpolation filter used in the H.264 standard requiring a large amount of computations.
- a bi-linear filter may be applied to the third terms in the right-hand sides of the Equations (7) through (9). This may reduce degradation in performance compared to when a bi-linear filter is directly applied to a predicted signal for obtaining R F and R B as in a conventional PFGS algorithm.
- Equation (3) The principle of the first through third exemplary embodiments of the present invention is based on the Equation (3).
- implementation of these exemplary embodiments starts on the assumption that a residual between an FGS layer residual R F and a base layer residual R B is to be coded.
- the above fast PFGS algorithms according to the first through third exemplary embodiments may rather degrade coding performance.
- coding only the residual obtained from the FGS layer, i.e., R in the Equation (3) may offer better coding performance. That is, according to a fourth exemplary embodiment of the present invention, the Equations (7) through (9) may be modified into the Equations (10) through (12), respectively: [63]
- Equations (10) through (12) the reconstructed base layer image O' is replaced with a predicted image P B for a base layer image.
- interpolation may not be applied to the third terms in the right-hand side of the Equations (10) through (12), or a bi-linear filter requiring a smaller amount of computations may be used for interpolation.
- the predicted image P occurring twice in the Equation (11) is not necessarily the same one.
- An estimated motion vector may be used during motion compensation to generate the predicted image P B in a second term.
- a motion vector with lower accuracy than the estimated motion vector or a filter requiring a small amount of computations may be used during motion compensation to generate P and P in a third term.
- the drift error can be reduced by a leaky prediction method using a predicted image created by a weighted sum of a predicted image obtained from both the reference frames and a predicted image obtained from a base layer.
- Equation (13) a value being coded in an FGS layer is expressed by the Equation (13):
- Equation (13) can be converted into the Equation (14) according to a fifth exemplary embodiment of the present invention: [70]
- a weighting factor ⁇ can only be applied to the residual (P F -P B ) between predicted images in the Equation (11).
- the present invention can also be applied to a leaky prediction method. That is, interpolation may be skipped or interpolation may be applied to the residual (P F -P B ) using a bi-linear filter requiring a smaller amount of computations. In the latter case, the result of interpolation is multiplied by the weighting factor ⁇ .
- FIG. 4 is a block diagram of a video encoder 100 according to a first exemplary embodiment of the present invention.
- each block As a basic unit of motion estimation with reference to FIGS. 1 through 3, fast PFGS that follows will be described with regard to each frame containing the block.
- an identifier of the block is indicated by a subscript for an 'F' indicating a frame.
- a frame containing a block labeled R B is denoted by F RB .
- a prime (') notion is used to denote reconstructed data obtained after quantization/inverse quantization.
- a current frame F is fed into a motion estimator 105, a subtracter 115, and a o residual calculator 170.
- the motion estimator 105 performs motion estimation on the current frame F using neighboring frames to obtain motion vectors MVs.
- the neighboring frames that are referred to during motion estimation are hereinafter called 'reference frames'.
- a block matching algorithm (BMA) is commonly used to estimate the motion of a given block.
- BMA block matching algorithm
- a given block is moved within a search area in a reference frame at pixel or sub-pixel accuracy and a displacement with a minimum error is determined as a motion vector.
- HVSBM hierarchical variable size block matching
- reference frames When motion estimation is performed at sub-pixel accuracy, reference frames need to be upsampled or interpolated to predetermined resolution. For example, when the motion estimation is performed at 1/2 and 1/4 pixel accuracies, reference frames must be updated or interpolated by a factor of two and four, respectively.
- the motion vectors MVs calculated by the motion estimator 105 are provided to a motion compensator 110.
- the motion compensator 110 performs motion compensation on the reference frames F MB ' and F NB ' using the motion vectors MVs and generates a predicted frame F for the current frame.
- the predicted image can be calculated as an average of motion-compensated reference frames.
- the predicted image may be the same as the motion-compensated reference frame. While it is assumed hereinafter that motion estimation and compensation use bidirectional reference frames, it will be apparent to those skilled in the art that the present invention may use a unidirectional reference frame.
- the subtractor 115 calculates a residual F between the predicted image and the current image for transmission to a transformer 120.
- the transformer 120 performs spatial transform on the residual F to create a transform coefficient F ⁇ .
- the spatial transform method may include a discrete cosine transform (DCT), or wavelet transform. Specifically, DCT coefficients may be created in a case where DCT is employed, and wavelet coefficients may be created in a case where wavelet transform is employed.
- a quantizer 125 applies quantization to the transform coefficient F
- Quantization means the process of expressing the transform coefficients formed in arbitrary real values by discrete values, and matching the discrete values with indices according to the predetermined quantization table.
- the quantizer 125 may divide the real- valued transform coefficient by a predetermined quantization step size and round the resulting value to the nearest integer.
- the quantization step size of a base layer is greater than that of an FGS layer.
- Inverse quantization means an inverse quantization process to restore values matched to indices generated during quantization using the same quantization step used in the quantization.
- An inverse transformer 135 receives the inverse quantization result and performs an inverse transform on the received.
- Inverse spatial transform may be, for example, inverse DCT or inverse wavelet transform, performed in a reverse order to that of transformation performed by the transformer 120.
- An adder 140 adds the inversely transformed result to the predicted image F obtained from the motion compensator 110 in order to generate a reconstructed image F ' for the current frame.
- a buffer 145 stores the addition result received from the adder 140.
- the buffer 145 stores the reconstructed image F ' for the current frame as well as the previously reconstructed base layer reference frames F MB ' and F NB '.
- a motion vector modifier 155 changes the accuracy of the received motion vector
- the motion vector MV with 1/4 pixel accuracy may have a value of 0, 0.25, 0.5, or 0.75.
- the motion vector modifier 155 changes the motion vector MV with 1/4 pixel accuracy into motion vector MV with pixel accuracy lower than the 1/4 pixel accuracy, such as 1/2 pixel or 1 pixel.
- Such a changing procedure can be performed by simply truncating or rounding off the decimal part of the pixel accuracy from the original motion vector.
- a buffer 165 temporarily stores FGS layer reference frames F ', F '.
- reconstructed FGS lay J er frames F MF ' and F NF ' or an orig b inal frame adjacent to the current frame may be used as the FGS layer reference frames.
- the motion compensator 160 uses the modified motion vector MV to perform motion compensation on the reconstructed base layer reference frames F MB ' and F NB ' received from the buffer 145 and the reconstructed FGS lay J er reference frames F MF ' and F ' received from the buffer 165 and provides the motion-compensated frames mc(F MB '), mc(F NB '), mc(F MF '), and mc(F NF ') to the residual calculator 170.
- F MF ' and F NF ' denote forward and backward reference frames in the FGS layer, respectively.
- F MB ' and F NF ' denote forward and backward reference frames in the FGS layer, respectively.
- F ' denote forward and backward reference frames in the base layer, respectively.
- interpolation filter 160 may use a different type of interpolation filter than that used for the motion estimator 105 or motion compensator 110.
- a bi-linear filter requiring a small amount of computations may be used for interpolation instead of a six-tap filter used in the H.264 standard. Because a residual between a motion-compensated base layer frame and a motion-compensated FGS layer is calculated after interpolation, the interpolation process little affects the compression efficiency.
- the residual calculator 170 calculates a residual between the motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated motion-compensated
- ⁇ M mc(F MF ') - mc(F MB ')
- ⁇ N mc(F NF ') - mc(F NB ').
- the residual calculator 170 calculates an average of the residuals ⁇ M and ⁇ N and subtracts the reconstructed imag b e F O ' and the averag b e of the residuals ⁇ M and ⁇ N from the current frame F .
- the process of calculating the average is not required.
- the subtraction result F obtained by the residual calculator 170 is subjected to spatial transform by a transformer 175 and then quantized by a quantizer 180.
- the quantized result F Q is transmitted to the entropy coding unit 150.
- the quantization step size used in the quantizer 180 is typically less than that used in the quantizer 125.
- the entropy coding unit 150 losslessly encodes the motion vector MV estimated by the motion estimator 105, the quantization coefficient F Q received from the quantizer 125, the quantized result F received from the quantizer 180 into a bitstream.
- lossless coding methods including arithmetic coding, variable length coding, and the like.
- a video encoder according to a second exemplary embodiment of the present invention may have the same configuration and operation as the video encoder 100 shown in FIG. 4, except a residual calculator.
- the residual calculator generates a predicted frame for each layer before calculating a residual between frames in different layers.
- the residual calculator generates the predicted FGS layer frame and a predicted base layer frame using a motion-compensated FGS layer reference frame and a motion-compensated base layer reference frame.
- the predicted frame can be calculated by simply averaging the two motion-compensated reference frames.
- the motion-compensated frame may be the predicted frame itself.
- the residual calculator then calculates a residual between the predicted frames, and subtracts a reconstructed image and the calculated residual from a current frame.
- FIG. 5 is a block diagram of a video encoder 300 according to a third exemplary embodiment of the present invention.
- the illustrated video encoder 300 performs motion compensation after calculating the residual between reference frames in the two layers. To avoid repetitive explanation, the following description will focus on distinguished features between the first and second exemplary embodiments.
- a subtracter 390 subtracts reconstructed base lay J er reference frames F MB ' and F NB ', which are received from a buffer 345, from FGS lay J er reference frames F MF ' and F NF ', which are received from a buffer 365, and p r rovides the subtraction results F MF '-F MB ' and F NF '-F NB ' to a motion compensator 360.
- a unidirectional reference frame is used, only one residual exists.
- the motion compensator 360 uses a modified motion vector MV received from a motion vector modifier 355 to perform motion compensation on the residuals F '-F '
- FIGS. 6 and 7 are block diagrams of examples of video encoders 400 and 600 according to a fourth exemplary embodiment of the present invention. Referring first to FIG. 6, unlike in the first exemplary embodiment shown in FIG. 4, a residual calculator 470 in the video encoder 400 of the exemplary embodiment subtracts a predicted base layer frame F , instead of the reconstructed base layer frame F ', from the current frame F . o
- the video encoders 400 and 600 according to the fourth exemplary embodiment shown in FIGS. 6 and 7 correspond to FIGS. 4 and 5 illustrating video encoders 100 and 300 according to the first and third exemplary embodiments.
- the residual calculator 470 subtracts the predicted base layer image F PB received from a motion compensator 410, instead of the reconstructed base layer image F ', from the current frame.
- the residual calculator 470 subtracts the predicted image F and an average of the residuals ⁇ and ⁇ from the current frame F to
- the residual calculator 670 subtracts the predicted image F PB and an average of the motion-compensated residuals mc(F MF '-FMB ') and mc(F
- An example of a video encoder according to a fourth exemplary embodiment corresponding to the second exemplary embodiment may have the same configuration and perform the same operation as shown in FlG. 6 except for the operation of the residual calculator 470.
- the residual calculator 470 generates a predicted FGS layer frame F and a predicted base layer frame F using a motion-compensated FGS layer reference frame mc(F '), mc(F ') and a motion-compensated base layer reference frame mc(F '), mc(F '), respectively.
- the residual calculator 470 also calculates a residual F PF -F PB between the p r redicted frames F PF and F PB and subtracts the reconstructed image F O ' and the residual F PF -F PB from the current frame F to obtain a subtraction result F .
- the residual calculator 470 multiplies a weighting factor ⁇ by J the residual F PF -F PB and subtracts the reconstructed imag to e F O ' and the product ( ⁇ x (F -F )) from the current frame F to obtain a subtraction result F .
- FlG. 8 is a block diagram of a video decoder 700 according to a first exemplary embodiment of the present invention.
- an entropy decoding unit 701 losslessly decodes an input bitstream to extract base layer texture data F PB Q , FGS layer texture data F ⁇ , and motion vectors MVs.
- the lossless decoding is an inverse process of lossless encoding.
- the base layer texture data F and the FGS layer texture data F are provided to inverse quantizers 705 and 745, respectively, and the motion vectors MVs are provided to a motion compensator 720 and a motion vector modifier 730.
- the inverse quantizer 705 applies inverse quantization to the base layer texture data F received from the entropy decoding unit 701.
- the inverse quantization is performed in a reverse order to that of the quantization performed by the transformer to restore values matched to indices generated during quantization according to a predetermined quantization step used in the quantization.
- An inverse transformer 710 performs inverse transform on the inverse quantized result.
- the inverse transformation is performed in a reverse order to that of the transformation performed by the transformer. Specifically, inverse DCT transformation, or inverse wavelet transformation may be used.
- the reconstructed residual F RB ' is provided to an adder 715.
- the motion compensator 720 performs motion compensation on previously reconstructed base lay J er reference frames F MB ' and F NB ' stored in a buffer 725 using to the extracted motion vectors MVs to generate a predicted image F PB , which is then sent to the adder 715.
- the predicted image F PB is calculated by averaging the motion-compensated reference frames.
- unidirectional prediction is used, the predicted image F PB is obtained as a motion-compensated reference frame.
- the adder 715 adds together the input F and F to output a reconstructed base layer image F ' that is then stored in the buffer 725.
- An inverse quantizer 745 applies inverse quantization to the FGS layer texture data
- an inverse transformer 750 performs inverse transform on the inversely quantized result F ⁇ ' to obtain a reconstructed frame F (F ') that is then provided to a frame reconstructor 755.
- the motion vector modifier 730 lowers the accuracy of the extracted motion vector
- a motion vector MV with 1/4 pixel accuracy may have a value of 0, 0.25, 0.5, or 0.75.
- the motion vector modifier 730 changes the motion vector MV with 1/4 pixel accuracy into a motion vector MV with pixel accuracy lower than the 1/4 pixel accuracy, such as 1/2 pixel or 1 pixel.
- a motion compensator 735 uses the modified motion vector MV to perform motion compensation on reconstructed base layer reference frames F MB ' and F NB ' received from the buffer 725 and reconstructed FGS lay J er reference frames F MF ' and F
- ⁇ M mc(FMF ') -mc(FMB '
- ⁇ N between the motion-compensated FGS layer and base layer reference frames mc(F ') and mc(F ')
- ⁇ mc(F ') - mc(F '
- the buffer 740 then stores the reconstructed image F OF '.
- the previously reconstructed images F MF ' and F BF ' can be stored in the buffer 740.
- a video decoder may have the same configuration and perform the same operation as shown in FIG. 8 except for the operation of a frame reconstructor. That is, the frame reconstructor according to the second exemplary embodiment generates a predicted frame for each layer before calculating a residual between frames in the two layers. That is to say, the frame reconstructor generates a predicted FGS layer frame and a predicted base layer frame using motion-compensated FGS layer reference frames and motion-compensated base layer frames. The predicted frames can be generated by simply averaging the two motion-compensated reference frames. Of course, when unidirectional prediction is used, the predicted frame is a motion-compensated frame itself.
- the frame reconstructor then calculates a residual between the predicted frames, and adds together the texture data, the reconstructed base layer frame, and the residual.
- FIG. 9 is a block diagram of a video decoder 900 according to a third exemplary embodiment of the present invention.
- the video decoder 900 performs motion compensation after calculating a residual between the reference frames in the two layers.
- the following description will focus on distinguished features of the first exemplary embodiment shown in FIG. 4.
- a subtracter 960 subtracts reconstructed base layer reference frames F MB ' and F NB ' received from a buffer 925 from FGS lay J er reference frames F MF ' and F NF ' and p *rovides the subtraction results F '-F ' and F '-F ' to a motion compensator 935.
- the motion compensator 935 uses a modified motion vector MV received from a motion vector modifier 930 to perform motion compensation on the residuals F '-F '
- the frame reconstructor 955 calculates an average between motion-compensated residuals, that is, an average between mc(F MF '-FMB ') and mc(F NF '-FNB '), and adds together the calculated average, F ' received from an inverse transformer 950, and a reconstructed base layer image F '.
- the averaging process is not required.
- FIGS. 10 and 11 are block diagrams of examples of video decoders 1000 and 1200 according to a fourth exemplary embodiment of the present invention.
- frame reconstructors 1055 and 1255 add a predicted base layer frame FPB, instead of the reconstructed base layer frame F '.
- the video decoders 1000 and 1200 according to the fourth exemplary embodiment shown in FIGS. 10 and 11 correspond to those according to the first and third exemplary embodiments shown in FIGS. 8 and 9, respectively.
- the motion compensator 1020 provides the base layer reference image F PB to the frame reconstructor 1055, instead of the reconstructed image F '.
- the frame reconstructor 470 adds together F ' received from the inverse transformer 1050, the predicted base layer image F PB , and an average of interlayer residuals ⁇ M and ⁇ N to obtain the reconstructed base layer image
- the frame reconstructor 1255 adds together F ' received from an inverse transformer 1250, the predicted base layer image F PB received from a motion compensator 1220, and an average of motion-compensated residuals mc(F '-F ') and mc(F '-F ')) to obtain a reconstructed FGS layer image F '.
- the video decoder according to the fourth exemplary embodiment may have the same configuration and perform the same operation as shown in FIG. 8 except for the operation of the frame reconstructor 1255.
- the frame reconstructor 1255 generates a predicted FGS layer frame F and a predicted base layer frame F using motion-compensated FGS layer reference frames mc(F ') and mc(F ') and motion-compensated base layer reference frames mc(F MB ') and mc(F NB ').
- the frame reconstructor 1255 also calculates a residual F PF -F PB between a predicted FGS layer frame F and a predicted base layer frame F and adds together F ⁇ ' received from the inverse transformer 1250, the predicted image F PB received from the motion compensator 1220, and the residual F PF -F PB to obtain the re- constructed image F '.
- F ⁇ ' received from the inverse transformer 1250
- the predicted image F PB received from the motion compensator 1220 and the residual F PF -F PB to obtain the re- constructed image F '.
- leaky prediction (fifth exemplary embodiment) is applied, the frame re- constructor 1255 multiplies a weighting factor ⁇ by the interlayer residual F -F and
- PF PB adds together F ⁇ ', F O ' and the product ⁇ x (F PF -F PB ) to obtain F OF '.
- FIG. 12 is a block diagram of a system for performing an encoding or decoding process using a video encoder 100, 300, 400, 600 or a video decoder 700, 900, 1000, 1200, according to an exemplary embodiment of the present invention.
- the system may be a TV, a set-top box (STB), a desktop, laptop, or palmtop computer, PDA, a video or image storage device (e.g., a VCR, or a DVR).
- the system may be a combination of the devices listed above or another device incorporating them.
- the system may be a combination of the above-mentioned apparatuses or one of the apparatuses which includes a part of another apparatus among them.
- the system includes at least one video source 1310, at least one input/output unit 1320, a processor 1340, a memory 1350, and a display unit 1330.
- the video source 1310 may be a TV receiver, a VCR, or other video storing apparatus.
- the video source 1310 may indicate at least one network connection for receiving a video or an image from a server using Internet, a wide area network (WAN), a local area network (LAN), a terrestrial broadcast system, a cable network, a satellite communication network, a wireless network, a telephone network, or the like.
- the video source 1310 may be a combination of the networks or one network including a part of another network among the networks.
- the input/output device 1320, the processor 1340, and the memory 1350 communicate with one another through a communication medium 1360.
- the communication medium 1360 may be a communication bus, a communication network, or at least one internal connection circuit.
- Input video data received from the video source 1310 can be processed by the processor 1340 using to at least one software program stored in the memory 1350 and can be executed by the processor 1340 to generate an output video provided to the display unit 1330.
- the software program stored in the memory 1350 includes a scalable wavelet-based codec performing a method of the present invention.
- the codec may be stored in the memory 1350, may be read from a storage medium such as a compact disc-read only memory (CD-ROM) or a floppy disc, or may be downloaded from a predetermined server through a variety of networks.
- the present invention provides video coding that can sig nificantly reduce the amount of computations required to implement a PFGS algorithm. Since a decoding process is modified according to a video coding process of the present invention, the present invention can be applied to the H.264 SE standardized document. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
A method for reducing the amount of computations required for multilayer-based progressive fine granular scalability (PFGS) algorithm and a video coding method and apparatus employing the same method are provided. The video coding method supporting fine granular scalability (FGS) includes obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, quantizing a residual between the current frame and the predicted image, inversely quantizing the quantized residual, and generating a reconstructed image for the current frame, performing motion compensation on an FGS layer reference frame and a base layer reference frame using the estimated motion vector, calculating a residual between the motion-compensated FGS layer reference frame and the motion-compensated base layer reference frame, subtracting the reconstructed image for the current frame and the calculated residual from the current frame, and encoding the result of subtraction.
Description
Description
VIDEO CODING METHOD AND APPARATUS SUPPORTING FAST FINE GRANULAR SCALABILITY
Technical Field
[1] Methods and apparatuses consistent with the present invention relate to video coding, and more particularly, to video coding which reduces the amount of computations required for a multilayer-based Progressive Fine Granular Scalability (PFGS) algorithm.
Background Art
[2] With the development of information communication technology, including the
Internet, there have been increasing multimedia services containing various kinds of information such as text, video, audio and so on. Multimedia data requires a large capacity of storage media and a wide bandwidth for transmission since the amount of multimedia data is usually large. Accordingly, a compression coding method is a requisite for transmitting multimedia data including text, video, and audio.
[3] A basic principle of data compression is removing data redundancy. Data can be compressed by removing spatial redundancy in which the same color or object is repeated in an image, temporal redundancy in which there is little change between neighboring frames in a moving image or the same sound is repeated in audio, or mental visual redundancy taking into account human eyesight and limited perception of high frequency. In general video coding, temporal redundancy is removed by temporal filtering based on motion compensation, and spatial redundancy is removed by spatial transformation.
[4] To transmit multimedia generated after removing data redundancy, transmission media are required. Different types of transmission media for multimedia have different performance. Currently used transmission media have various transmission rates. For example, an ultrahigh-speed communication network can transmit data of several tens of megabits per second while a mobile communication network has a transmission rate of 384 kilobits per second. To support transmission media having various speeds or to transmit multimedia, data coding methods having scalability may be suitable to a multimedia environment.
[5] Scalability indicates the ability to partially decode a single compressed bitstream.
Scalability includes spatial scalability indicating a video resolution, Signal-to-Noise Ratio (SNR) scalability indicating a video quality level, and temporal scalability indicating a frame rate.
[6] Standardization work for implementation of multi-layer scalability based on H.264
Scalable Extension (hereinafter, to be referred to be as 'H.264 SE') is in progress at present by a joint video team (JVT) of MPEG (Motion Picture Experts Group) and ITU (International Telecommunication Union). To support SNR scalability, existing Fine Granular Scalability (FGS) techniques are being adopted by the JVT.
[7] FIG. 1 is a diagram for explaining a conventional Fine Granular Scalability (FGS) technique. A FGS-based codec performs coding by dividing a video bitstream into a base layer and an FGS layer. Throughout this specification, a prime (') notion is used to denote a reconstructed image obtained after quantization/inverse quantization. More specifically, a block PB predicted from a block MB' in a reconstructed left base layer frame 11 and a block NB' in a reconstructed right base layer frame 12 using a motion vector is subtracted from a block O in an original current frame 12 to obtain a difference block RB. Thus, the difference block RB can be defined by the Equation
(1): [8]
RB = O - PB = O - (MB'+NB')/2 ... (1)
[9] The difference block R B is quantized by a base layer quantization step QP B (RBQ) and then inversely quantized to obtain a reconstructed difference block R '. A residual between the unquantized difference block R and the reconstructed difference block R block Δ corresponding to the residual is quantized with a quantization step size QP smaller than the base layer quantization step size QP (a compression rate decreases as
B a quantization step size decreases). The quantized Δ is denoted by Δ . The quantized difference block R B Q in the base layer and the quantized block ΔQ in the FGS layer are eventually transmitted to a decoder. [10] FIG. 2 is a diagram for explaining a conventional progressive fine granular scalability (PFGS) technique. A conventional FGS technique uses a reconstructed quantized base layer residual R B ' to reduce the amount of data in an FGS layer.
Referring to FIG. 2, a PFGS technique uses the fact that the quality of left and right reference frames in an FGS layer are also improved by a FGS technique. That is, the PFGS technique involves calculating a new difference block R using newly updated left and right reference frames 21 and 23 and quantizing a residual between the new difference block R F and a quantized base layer block R B ', thereby improving coding performance. The new difference block RF is defined by the Equation (2): [H]
RF = O - PF = O - (MF'+NF')/2 ... (2)
[12] where M ' and N ' respectively denote regions in the reconstructed left and right reference frames 21 and 23 in an FGS layer corresponding to appropriate motion vectors.
[13] A PFGS technique has an advantage over a FGS technique that the amount of data in an FGS layer can be reduced due to high quality of left and right reference frames. Because the FGS layer also requires separate motion compensation, the amount of computations increases. That is, while the PFGS has improved performance over the conventional FGS, it requires a large amount of computations because motion compensation is performed for each FGS layer to generate a predicted signal and a residual signal between the predicted signal and the original signal. Recently developed video codecs interpolate an image signal at 1/2 or 1/4 pixel accuracy for motion compensation. When motion compensation is performed on 1/4 pixel accuracy, an image with size corresponding to quadruple the resolution of an original image should be generated. Disclosure of Invention
Technical Problem
[14] H.264 standard SE technique uses a six-tap filter as a 1/2 pixel interpolation filter that involves a considerable computational complexity, requiring quite a quantity of computations for motion compensation. This complicates encoding and decoding processes, thus requiring higher system resources. In particular, this drawback may be most problematic in a field requiring real-time encoding and decoding, such as realtime broadcasting or video conferencing.
Technical Solution
[15] The present invention provides a method and apparatus for reducing an amount of computations required for motion compensation while maintaining the performance of a progressive fine granular scalability (PFGS) algorithm.
[16] According to an aspect of the present invention, there is provided a video encoding method supporting FGS, the video encoding method including obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, quantizing a residual between the current frame and the predicted image, inversely quantizing the quantized residual and generating a reconstructed image for the current frame, performing motion compensation on an FGS layer reference frame and a base layer reference frame using the estimated motion vector, calculating a residual between the motion-compensated FGS layer reference frame and the motion-compensated base layer reference frame, subtracting the reconstructed image for the current frame and the calculated residuals from the current frame, and encoding the result of subtraction.
[17] According to another aspect of the present invention, there is provided a video encoding method supporting FGS, the video encoding method including obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, quantizing a residual between the current frame and the predicted image,
inversely quantizing the quantized residual, and generating a reconstructed image for the current frame, performing motion compensation on an FGS layer reference frame and a base layer reference frame using the estimated motion vector and generating a predicted frame for the FGS layer and a predicted frame for the base layer, respectively, calculating a residual between the predicted frame for the FGS layer and the predicted frame for the base layer, subtracting the reconstructed image and the residual from the current frame, and encoding the result of subtraction.
[18] According to still another aspect of the present invention, there is provided a video encoding method supporting FGS, the video encoding method including obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, quantizing a residual between the current frame and the predicted image, inversely quantizing the quantized residual, and generating a reconstructed image for the current frame, calculating a residual between an FGS layer reference frame and a base layer reference frame, performing motion compensation on the residual using the estimated motion vector, subtracting the reconstructed image and the motion- compensated result from the current frame, and encoding the result of subtraction.
[19] According to yet another aspect of the present invention, there is provided a video encoding method supporting fine granular scalability (FGS), the video encoding method including obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, performing motion compensation on an FGS layer reference frame and a base layer reference frame using a motion vector with lower accuracy than that of the estimated motion vector, calculating a residual between the motion-compensated FGS layer and base layer reference frame, subtracting the predicted image and the residual from the current frame, and encoding the result of subtraction.
[20] According to still yet another aspect of the present invention, there is provided a video encoding method supporting FGS, the video encoding method including obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, performing motion compensation on an FGS layer reference frame and a base layer reference frame using a motion vector with lower accuracy than that of the estimated motion vector and generating a predicted frame for the FGS layer and a predicted frame for the base layer, respectively, calculating a residual between the predicted frame for the FGS layer and the predicted frame for the base layer, subtracting the predicted image and the calculated residual from the current frame, and encoding the result of subtraction.
[21] According to yet another aspect of the present invention, there is provided a video encoding method supporting FGS, the video encoding method including obtaining a predicted image for a current frame using a motion vector estimated at predetermined
accuracy, calculating a residual between an FGS layer reference frame and a base layer reference frame, performing motion compensation on the residual using a motion vector with lower accuracy than that of the estimated motion vector, subtracting the reconstructed image and the motion-compensated result from the current frame, and encoding the result of subtraction.
[22] According to another aspect of the present invention, there is provided a video decoding method supporting FGS, the video decoding method including extracting base layer texture data and FGS layer texture data and motion vectors from an input bitstream, reconstructing a base layer frame from the base layer texture data, performing motion compensation on an FGS layer reference frame and a base layer reference frame using the motion vectors, calculating a residual between the motion- compensated FGS layer reference frame and the motion-compensated base layer reference frame, and adding together the base layer frame, the FGS layer texture data, and the residual.
[23] According to a further aspect of the present invention, there is provided an FGS- based video encoder including an element obtaining a predicted image for a current frame using a motion vector estimated at predetermined accuracy, an element quantizing a residual between the current frame and the predicted image, inversely quantizing the quantized residual, and generating a reconstructed image for the current frame, an element performing motion compensation on an FGS layer reference frame and a base layer reference frame using the estimated motion vector, an element calculating a residual between the motion-compensated FGS layer and base layer reference frame, an element subtracting the reconstructed image and the residual from the current frame, and an element encoding the result of subtraction.
[24] According to yet a further aspect of the present invention, there is provided an
FGS-based video decoder, the video encoder including an element extracting base layer texture data, FGS layer texture data and motion vectors from an input bitstream, an element reconstructing a base layer frame from the base layer texture data, an element performing motion compensation on an FGS layer reference frame and a base layer reference frame using the motion vector and generating a predicted FGS layer frame and a predicted base layer frame, an element calculating a residual between the predicted FGS layer frame and the predicted base layer frame, and an element adding together the texture data, the reconstructed base layer frame, and the residual.
Description of Drawings
[25] The above and other aspects of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:
[26] FIG. 1 is a diagram for explaining a conventional FGS technique;
[27] FlG. 2 is a diagram for explaining conventional progressive PFGS technique;
[28] FlG. 3 is a diagram for illustrating fast progressive fine granular scalability (PFGS) according to an exemplary embodiment of the present invention;
[29] FlG. 4 is a block diagram of a video encoder according to an exemplary embodiment of the present invention;
[30] FlG. 5 is a block diagram of a video encoder according to another exemplary embodiment of the present invention;
[31] FIGS. 6 and 7 are block diagrams of video encoders according a further exemplary embodiment of the present invention;
[32] FlG. 8 is a block diagram of a video decoder according to an exemplary embodiment of the present invention;
[33] FlG. 9 is a block diagram of a video decoder according to another exemplary embodiment of the present invention;
[34] FIGS. 10 and 11 are block diagrams of video decoders according to a further exemplary embodiment of the present invention; and
[35] FlG. 12 is a block diagram of a system for performing an encoding or decoding process according to an exemplary embodiment of the present invention.
Mode for Invention
[36] The present invention will now be described more fully with reference to the accompanying drawings, in which exemplary embodiments of the invention are shown.
[37] Advantages and features of the present invention and methods of accomplishing the same may be understood more readily by reference to the following detailed description of exemplary embodiments and the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concept of the invention to those skilled in the art, and the present invention will only be defined by the appended claims. Like reference numerals refer to like elements throughout the specification.
[38] FlG. 3 is a diagram for illustrating PFGS according to a first exemplary embodiment of the present invention.
[39] Referring to FlG. 3, like in FlG. 2, Δ in an FGS layer will be quantized according to a PFGS algorithm and defined simply by the Equation (3):
[40]
[41] R F is defined by the above Equation (2) and R B ' is defined by the Equation (4):
[42]
RB' = O' - PB = O' - (MB'+NB')/2 ... (4)
[43] where O' is an image reconstructed by quantizing an original image O with a base layer quantization step size QP B and then inversely quantizing the quantized image.
[44] Substituting the Equations (2) and (4) into the Equation (3) gives the Equation (5):
[45]
Δ = 0 - (MF'+NF')/2 - [O' - (MB'+NB')/2] ... (5)
[46] Referring to FIG. 3, Δ and Δ denote a residual between left reference frames M
' in the base layer and the FGS layer and a residual between right reference frames N ' and N B ' in the base layer and the FGS layer, respectively, and are defined by the
Equation (6): [47]
ΔN = NF' - NB' ... (6)
[48] By substituting the Equation (6) into the Equation (5), Δ can be defined by the
Equation (7): [49]
Δ = 0 - 0' - (ΔM+ΔN)/2 ... (7)
[50] As shown in the Equation (7), an encoder can obtain Δ by subtracting the reconstructed base layer image O ' obtained by quantizing the original image O with the base layer quantization step size QP B and then inversely quantizing the quantized image and an average of the residuals between each of the base reference frame and the FGS layer reference frame and the original image O, that is, (Δ +Δ )/2. A
M N decoder reconstructs the original image O by adding together the reconstructed base layer image O', Δ, and the average of the residuals between the base layer reference frame and the FGS layer reference frame. [51] In a conventional PFGS algorithm, motion compensation is performed using a motion vector with one pixel or sub-pixel (1/2 pixel or 1/4 pixel) accuracy obtained by motion estimation. Recently, in order to increase compression efficiency, motion estimation and compensation are typically performed according to various pixel accuracies such as half pixel accuracy, or quarter pixel accuracy. In conventional PFGS, a predicted image generated by motion compensation with, e.g., 1/4 pixel accuracy, is packed into integer pixels. Then, quantization is performed on a residual between an original image and the predicted image. In this case, the packing is a restoration process of a 4x interpolated reference image into the original size image by performing motion estimation with 1/4 pixel accuracy. For example, one of every four
pixels may be selected during the packing process.
[52] However, the data Δ in the FGS layer to be quantized for fast PFGS according to the present invention, as defined by the Equation (7), which affect little compression efficiency, needs not be subjected to motion estimation with high pixel accuracy. Motion estimation and compensation are applied to only the third term (Δ +Δ )/2 in the right-hand side of the Equation (7). However, because the third term is represented as interlayer residuals between reference frames, it is not highly effective to perform motion estimation and compensation with high pixel accuracy. That is, because the resulting residual image between an image in a base layer motion-compensated with predetermined pixel accuracy and an image in an enhancement layer motion- compensated with the pixel accuracy is insensitive to pixel accuracy, the fast PFGS allows lower pixel accuracy motion estimation and compensation than the conventional PFGS.
[53] According to a second exemplary embodiment, Δ in the Equation (5) in the first exemplary embodiment can also be represented as a residual between predicted signals P F and P B as shown in the Eq ^uation (8). P F and P B are eq^ual to (M F '+NF ')/2 and (M B '+NB
[54]
Δ = O - O' - (PF-PB) ... (8)
[55] The first and second exemplary embodiments are distinguished from each other as follows. In the first exemplary embodiment, residuals Δ and Δ between FGS layer reference images and base layer reference images are first calculated and then divided by 2. In the second exemplary embodiment, the residual P F -P B between the predicted
FGS layer image P F and the predicted base layer image P B is calculated after calculating the predicted images P F and P B in the two layers. That is to say, although fast PFGS algorithms according to the first and second exemplary embodiments are implemented in different ways, the same calculation result (Δ) can be obtained.
[56] In both the first and second exemplary embodiments, motion compensation is first performed and a residual between images is then calculated. In a third exemplary embodiment of the present invention, a residual between reference images in different layers may first be calculated, followed by performing motion compensation. In this way, according to the third exemplary embodiment of the present invention, because motion compensation is performed on a residual, boundary padding little affects the resulting image. Thus, a boundary padding process may be skipped. The boundary padding is the process of duplicating pixels at boundaries in the vicinity of the pixels considering that block matching at a frame boundary is restricted during motion estimation.
[57] In the third exemplary embodiment of the present invention, a residual Δ can be
defined by the Equation (9): [58]
Δ = O - O' - [(mc(MF'-MB')+mc(NF'-NB'))/2 ... (9)
[59] where mc(.) denotes a function for performing motion compensation.
[60] While a conventional PFGS is used to perform direct prediction (motion estimation and compensation) for calculating R F or R B defined by the Equation (3), the fast PFGS algorithms according to the first through third exemplary embodiments of the present invention are used to calculate a residual between predicted images or predict a residual between reference images. Thus, the fast PFGS performance of the present invention is only slightly affected by or insensitive to interpolation used in order to increase the pixel accuracy of motion vector. [61] Thus, quarter or half pixel interpolation may be skipped. Furthermore, a bi-linear filter requiring a smaller amount of computations may be use instead of a half-pixel interpolation filter used in the H.264 standard requiring a large amount of computations. For example, a bi-linear filter may be applied to the third terms in the right-hand sides of the Equations (7) through (9). This may reduce degradation in performance compared to when a bi-linear filter is directly applied to a predicted signal for obtaining R F and R B as in a conventional PFGS algorithm.
[62] The principle of the first through third exemplary embodiments of the present invention is based on the Equation (3). In other words, implementation of these exemplary embodiments starts on the assumption that a residual between an FGS layer residual R F and a base layer residual R B is to be coded. However, when the residual obtained from the FGS layer is very small, i.e., when a temporal correlation is very close, the above fast PFGS algorithms according to the first through third exemplary embodiments may rather degrade coding performance. In this case, coding only the residual obtained from the FGS layer, i.e., R in the Equation (3), may offer better coding performance. That is, according to a fourth exemplary embodiment of the present invention, the Equations (7) through (9) may be modified into the Equations (10) through (12), respectively: [63]
Δ = 0-PB-(ΔM+ΔN)/2 ... (10)
Δ = 0-PB-(PF-PB) ... (H)
Δ = 0-PB-[(mc(MF'-MB')+mc(NF'-NB'))/2 . • . (12)
[64] In the Equations (10) through (12), the reconstructed base layer image O' is replaced with a predicted image P B for a base layer image. Of course, interpolation may not be applied to the third terms in the right-hand side of the Equations (10)
through (12), or a bi-linear filter requiring a smaller amount of computations may be used for interpolation.
[65] The predicted image P occurring twice in the Equation (11) is not necessarily the same one. An estimated motion vector may be used during motion compensation to generate the predicted image P B in a second term. On the other hand, a motion vector with lower accuracy than the estimated motion vector or a filter requiring a small amount of computations (e.g., bi-linear filter) may be used during motion compensation to generate P and P in a third term.
[66] A PFGS algorithm in which a current frame is reconstructed using both reconstructed left and right reference frames suffers from a drift error caused when the degradation of image quality in both the left and right reference frames is cumulatively reflected in a current frame. The drift error can be reduced by a leaky prediction method using a predicted image created by a weighted sum of a predicted image obtained from both the reference frames and a predicted image obtained from a base layer.
[67] According to a leaky prediction method used in conventional PFGS, a value being coded in an FGS layer is expressed by the Equation (13):
[68]
Δ = O- [αPF + (1 -CC)PB] ... (13)
[69] The Equation (13) can be converted into the Equation (14) according to a fifth exemplary embodiment of the present invention: [70]
[71] To obtain the Equation (14), a weighting factor α can only be applied to the residual (P F -P B ) between predicted images in the Equation (11). Thus, the present invention can also be applied to a leaky prediction method. That is, interpolation may be skipped or interpolation may be applied to the residual (P F -P B ) using a bi-linear filter requiring a smaller amount of computations. In the latter case, the result of interpolation is multiplied by the weighting factor α.
[72] FIG. 4 is a block diagram of a video encoder 100 according to a first exemplary embodiment of the present invention.
[73] Although the invention is described with regard to each block as a basic unit of motion estimation with reference to FIGS. 1 through 3, fast PFGS that follows will be described with regard to each frame containing the block. For consistency of expression, an identifier of the block is indicated by a subscript for an 'F' indicating a frame. For example, a frame containing a block labeled R B is denoted by F RB . Of course, a prime (') notion is used to denote reconstructed data obtained after
quantization/inverse quantization.
[74] A current frame F is fed into a motion estimator 105, a subtracter 115, and a o residual calculator 170.
[75] The motion estimator 105 performs motion estimation on the current frame F using neighboring frames to obtain motion vectors MVs. The neighboring frames that are referred to during motion estimation are hereinafter called 'reference frames'. A block matching algorithm (BMA) is commonly used to estimate the motion of a given block. In the BMA, a given block is moved within a search area in a reference frame at pixel or sub-pixel accuracy and a displacement with a minimum error is determined as a motion vector. While a fixed-size motion block is used for motion estimation, the motion estimation may make use of a hierarchical variable size block matching (HVSBM) technique.
[76] When motion estimation is performed at sub-pixel accuracy, reference frames need to be upsampled or interpolated to predetermined resolution. For example, when the motion estimation is performed at 1/2 and 1/4 pixel accuracies, reference frames must be updated or interpolated by a factor of two and four, respectively.
[77] When the encoder 100 has an open-loop codec structure, original neighboring frames F M and F N are used as the reference frames. When the encoder 100 has a closed- loop codec structure, reconstructed neighboring frames F ' and F ' in a base layer are used as the reference frames. While it is herein assumed that the encoder 100 has a closed-loop codec structure, the encoder 100 may have an open-loop codec structure. [78] The motion vectors MVs calculated by the motion estimator 105 are provided to a motion compensator 110. The motion compensator 110 performs motion compensation on the reference frames F MB ' and F NB ' using the motion vectors MVs and generates a predicted frame F for the current frame. When bidirectional prediction is used, the predicted image can be calculated as an average of motion-compensated reference frames. When unidirectional prediction is used, the predicted image may be the same as the motion-compensated reference frame. While it is assumed hereinafter that motion estimation and compensation use bidirectional reference frames, it will be apparent to those skilled in the art that the present invention may use a unidirectional reference frame.
[79] The subtractor 115 calculates a residual F between the predicted image and the current image for transmission to a transformer 120.
[80] The transformer 120 performs spatial transform on the residual F to create a transform coefficient F τ. The spatial transform method may include a discrete cosine transform (DCT), or wavelet transform. Specifically, DCT coefficients may be created in a case where DCT is employed, and wavelet coefficients may be created in a case where wavelet transform is employed.
[81] A quantizer 125 applies quantization to the transform coefficient F
RB
Quantization means the process of expressing the transform coefficients formed in arbitrary real values by discrete values, and matching the discrete values with indices according to the predetermined quantization table. For example, the quantizer 125 may divide the real- valued transform coefficient by a predetermined quantization step size and round the resulting value to the nearest integer. In general, the quantization step size of a base layer is greater than that of an FGS layer. [82] The quantization result, that is, a quantization coefficient F RB Q obtained by the quantizer 125 is provided to an entropy coding unit 150 and an inverse quantizer 130. [83] The inverse quantizer 130 inversely quantizes the quantization coefficient F RB Q.
Inverse quantization means an inverse quantization process to restore values matched to indices generated during quantization using the same quantization step used in the quantization.
[84] An inverse transformer 135 receives the inverse quantization result and performs an inverse transform on the received. Inverse spatial transform may be, for example, inverse DCT or inverse wavelet transform, performed in a reverse order to that of transformation performed by the transformer 120. An adder 140 adds the inversely transformed result to the predicted image F obtained from the motion compensator 110 in order to generate a reconstructed image F ' for the current frame.
[85] A buffer 145 stores the addition result received from the adder 140. The buffer 145 stores the reconstructed image F ' for the current frame as well as the previously reconstructed base layer reference frames F MB ' and F NB '.
[86] A motion vector modifier 155 changes the accuracy of the received motion vector
MV. For example, the motion vector MV with 1/4 pixel accuracy may have a value of 0, 0.25, 0.5, or 0.75. As described above, according to the exemplary embodiments of the present invention, there is little difference in coding performance when motion compensation in the FGS layer is performed a motion vector MV with lower pixel accuracy than in the base layer. Thus, the motion vector modifier 155 changes the motion vector MV with 1/4 pixel accuracy into motion vector MV with pixel accuracy lower than the 1/4 pixel accuracy, such as 1/2 pixel or 1 pixel. Such a changing procedure can be performed by simply truncating or rounding off the decimal part of the pixel accuracy from the original motion vector.
[87] A buffer 165 temporarily stores FGS layer reference frames F ', F '. Although
MF NF not illustrated, reconstructed FGS lay Jer frames F MF ' and F NF ' or an orig binal frame adjacent to the current frame may be used as the FGS layer reference frames. [88] The motion compensator 160 uses the modified motion vector MV to perform motion compensation on the reconstructed base layer reference frames F MB ' and F NB ' received from the buffer 145 and the reconstructed FGS lay Jer reference frames F MF '
and F ' received from the buffer 165 and provides the motion-compensated frames mc(F MB '), mc(F NB '), mc(F MF '), and mc(F NF ') to the residual calculator 170. F MF ' and F NF ' denote forward and backward reference frames in the FGS layer, respectively. F MB ' and
F ' denote forward and backward reference frames in the base layer, respectively.
[89] When interpolation is required for motion compensation, the motion compensator
160 may use a different type of interpolation filter than that used for the motion estimator 105 or motion compensator 110. When the motion vector MV with 1/2 pixel accuracy, for example, is used, a bi-linear filter requiring a small amount of computations may be used for interpolation instead of a six-tap filter used in the H.264 standard. Because a residual between a motion-compensated base layer frame and a motion-compensated FGS layer is calculated after interpolation, the interpolation process little affects the compression efficiency.
[90] The residual calculator 170 calculates a residual between the motion-compensated
FGS layer reference frame mc(F '), mc(F ') and the motion-compensated base layer reference frame mc( VF MB ')^, mc( VF NB ')^. That is, the residual calculator 170 calculates Δ M = mc(F MF ') - mc(F MB ') and Δ N = mc(F NF ') - mc(F NB '). Of course, when a unidirectional reference frame is used, only one residual may be calculated. [91] Then, the residual calculator 170 calculates an average of the residuals Δ M and Δ N and subtracts the reconstructed imag be F O ' and the averag be of the residuals Δ M and ΔN from the current frame F . When a unidirectional reference frame is used, the process of calculating the average is not required.
[92] The subtraction result F obtained by the residual calculator 170 is subjected to spatial transform by a transformer 175 and then quantized by a quantizer 180. The quantized result F Q is transmitted to the entropy coding unit 150. The quantization step size used in the quantizer 180 is typically less than that used in the quantizer 125.
[93] The entropy coding unit 150 losslessly encodes the motion vector MV estimated by the motion estimator 105, the quantization coefficient F Q received from the quantizer 125, the quantized result F received from the quantizer 180 into a bitstream. There are a variety of lossless coding methods including arithmetic coding, variable length coding, and the like.
[94] Alternatively, although not shown in the drawing, a video encoder according to a second exemplary embodiment of the present invention may have the same configuration and operation as the video encoder 100 shown in FIG. 4, except a residual calculator.
[95] That is, the residual calculator according to the second exemplary embodiment of the present invention generates a predicted frame for each layer before calculating a residual between frames in different layers. In other words, the residual calculator generates the predicted FGS layer frame and a predicted base layer frame using a
motion-compensated FGS layer reference frame and a motion-compensated base layer reference frame. The predicted frame can be calculated by simply averaging the two motion-compensated reference frames. Of course, when unidirectional prediction is used, the motion-compensated frame may be the predicted frame itself.
[96] The residual calculator then calculates a residual between the predicted frames, and subtracts a reconstructed image and the calculated residual from a current frame.
[97] FIG. 5 is a block diagram of a video encoder 300 according to a third exemplary embodiment of the present invention. Referring to FIG. 5, while in the first and second exemplary embodiments, the residual between the base layer reference image and the FGS layer reference image is calculated after performing motion compensation, the illustrated video encoder 300 performs motion compensation after calculating the residual between reference frames in the two layers. To avoid repetitive explanation, the following description will focus on distinguished features between the first and second exemplary embodiments.
[98] A subtracter 390 subtracts reconstructed base lay Jer reference frames F MB ' and F NB ', which are received from a buffer 345, from FGS lay Jer reference frames F MF ' and F NF ', which are received from a buffer 365, and p rrovides the subtraction results F MF '-F MB ' and F NF '-F NB ' to a motion compensator 360. When a unidirectional reference frame is used, only one residual exists.
[99] The motion compensator 360 uses a modified motion vector MV received from a motion vector modifier 355 to perform motion compensation on the residuals F '-F '
MF MB and F NF '-F NB ' between the FGS layer reference frame and the base layer reference frame received from the subtractor 390. When the motion vector MV with 1/2 pixel accuracy is used during the motion compensation, a bi-linear filter requiring a small amount of computations may be used for interpolation instead of a six-tap filter used in the H.264 standard. As described above, the interpolation little affects the compression efficiency.
[100] A residual calculator 370 calculates an average between the motion-compensated residuals mc(F MF '-F MB ') and mc(F NF '-F NB ') and subtracts the reconstructed image F O ' and the average from the current frame F . When unidirectional reference frame is used, the averaging process is not required. [101] FIGS. 6 and 7 are block diagrams of examples of video encoders 400 and 600 according to a fourth exemplary embodiment of the present invention. Referring first to FIG. 6, unlike in the first exemplary embodiment shown in FIG. 4, a residual calculator 470 in the video encoder 400 of the exemplary embodiment subtracts a predicted base layer frame F , instead of the reconstructed base layer frame F ', from the current frame F . o
[102] The video encoders 400 and 600 according to the fourth exemplary embodiment
shown in FIGS. 6 and 7 correspond to FIGS. 4 and 5 illustrating video encoders 100 and 300 according to the first and third exemplary embodiments. Referring first to FlG. 6, the residual calculator 470 subtracts the predicted base layer image F PB received from a motion compensator 410, instead of the reconstructed base layer image F ', from the current frame. Thus, the residual calculator 470 subtracts the predicted image F and an average of the residuals Δ and Δ from the current frame F to
PB M N O obtain a subtraction result F .
Δ
[103] Similarly, referring to FlG. 7, the residual calculator 670 subtracts the predicted image F PB and an average of the motion-compensated residuals mc(F MF '-FMB ') and mc(F
NF '-F NB ')) from the current frame F O to obtain a subtraction result F Δ .
[104] An example of a video encoder according to a fourth exemplary embodiment corresponding to the second exemplary embodiment (not shown) may have the same configuration and perform the same operation as shown in FlG. 6 except for the operation of the residual calculator 470. In the video encoder of the fourth exemplary embodiment corresponding to the second exemplary embodiment, the residual calculator 470 generates a predicted FGS layer frame F and a predicted base layer frame F using a motion-compensated FGS layer reference frame mc(F '), mc(F ') and a motion-compensated base layer reference frame mc(F '), mc(F '), respectively. The residual calculator 470 also calculates a residual F PF -F PB between the p rredicted frames F PF and F PB and subtracts the reconstructed image F O ' and the residual F PF -F PB from the current frame F to obtain a subtraction result F .
O Δ
[105] If leaky prediction is applied, the residual calculator 470 multiplies a weighting factor α by J the residual F PF -F PB and subtracts the reconstructed imag toe F O ' and the product (α x (F -F )) from the current frame F to obtain a subtraction result F .
PF PB O Δ
[106] FlG. 8 is a block diagram of a video decoder 700 according to a first exemplary embodiment of the present invention. Referring to FlG. 8, an entropy decoding unit 701 losslessly decodes an input bitstream to extract base layer texture data F PB Q, FGS layer texture data F Δ , and motion vectors MVs. The lossless decoding is an inverse process of lossless encoding.
[107] The base layer texture data F and the FGS layer texture data F are provided to inverse quantizers 705 and 745, respectively, and the motion vectors MVs are provided to a motion compensator 720 and a motion vector modifier 730.
[108] The inverse quantizer 705 applies inverse quantization to the base layer texture data F received from the entropy decoding unit 701. The inverse quantization is performed in a reverse order to that of the quantization performed by the transformer to restore values matched to indices generated during quantization according to a predetermined quantization step used in the quantization.
[109] An inverse transformer 710 performs inverse transform on the inverse quantized
result. The inverse transformation is performed in a reverse order to that of the transformation performed by the transformer. Specifically, inverse DCT transformation, or inverse wavelet transformation may be used. [110] The reconstructed residual F RB ' is provided to an adder 715.
[111] The motion compensator 720 performs motion compensation on previously reconstructed base lay Jer reference frames F MB ' and F NB ' stored in a buffer 725 using to the extracted motion vectors MVs to generate a predicted image F PB , which is then sent to the adder 715. [112] When bidirectional prediction is used, the predicted image F PB is calculated by averaging the motion-compensated reference frames. When unidirectional prediction is used, the predicted image F PB is obtained as a motion-compensated reference frame.
[113] The adder 715 adds together the input F and F to output a reconstructed base layer image F ' that is then stored in the buffer 725.
[114] An inverse quantizer 745 applies inverse quantization to the FGS layer texture data
F , and an inverse transformer 750 performs inverse transform on the inversely quantized result F τ' to obtain a reconstructed frame F (F ') that is then provided to a frame reconstructor 755.
[115] The motion vector modifier 730 lowers the accuracy of the extracted motion vector
MV. For example, a motion vector MV with 1/4 pixel accuracy may have a value of 0, 0.25, 0.5, or 0.75. The motion vector modifier 730 changes the motion vector MV with 1/4 pixel accuracy into a motion vector MV with pixel accuracy lower than the 1/4 pixel accuracy, such as 1/2 pixel or 1 pixel.
[116] A motion compensator 735 uses the modified motion vector MV to perform motion compensation on reconstructed base layer reference frames F MB ' and F NB ' received from the buffer 725 and reconstructed FGS lay Jer reference frames F MF ' and F
' received from the buffer 740 and provides a motion-compensated base layer frame mc( VFMB ')", mc(VFNB ')", and a motion-comp ^ensated FGS lay Jer frame mc( VFMF ')", mc(VFNF ')' to the frame reconstructor 755.
[117] When the motion vector MV with 1/2 pixel accuracy, for example, is used during motion compensation, a bi-linear filter requiring a small amount of computations may be used for interpolation instead of a six-tap filter used in the H.264 standard. The interpolation process little affects the compression efficiency.
[118] The frame reconstructor 755 calculates a residual Δ M between the motion- compensated FGS layer and base layer reference frames mc(F ') and mc(F '), that is, Δ M = mc(FMF ') -mc(FMB '), and a residual Δ N between the motion-compensated FGS layer and base layer reference frames mc(F ') and mc(F '), that is, Δ = mc(F ') - mc(F '). Of course, when a unidirectional reference frame is used, only one residual may be calculated.
[119] The frame reconstructor 755 also calculates an average of the residuals Δ and Δ
M N and adds the average, F ', and the reconstructed base layer image F ' together to generate a reconstructed FGS layer image F '. When a unidirectional reference frame is used, the averaging process is not required. [120] The buffer 740 then stores the reconstructed image F OF '. Of course, the previously reconstructed images F MF ' and F BF ' can be stored in the buffer 740.
[121] Alternatively, a video decoder according to a second exemplary embodiment of the present invention may have the same configuration and perform the same operation as shown in FIG. 8 except for the operation of a frame reconstructor. That is, the frame reconstructor according to the second exemplary embodiment generates a predicted frame for each layer before calculating a residual between frames in the two layers. That is to say, the frame reconstructor generates a predicted FGS layer frame and a predicted base layer frame using motion-compensated FGS layer reference frames and motion-compensated base layer frames. The predicted frames can be generated by simply averaging the two motion-compensated reference frames. Of course, when unidirectional prediction is used, the predicted frame is a motion-compensated frame itself.
[122] The frame reconstructor then calculates a residual between the predicted frames, and adds together the texture data, the reconstructed base layer frame, and the residual.
[123] FIG. 9 is a block diagram of a video decoder 900 according to a third exemplary embodiment of the present invention. Referring to FIG. 9, unlike in the first and second exemplary embodiments in which motion compensation is performed before calculating a residual between an FGS layer reference image and a base layer reference image, the video decoder 900 performs motion compensation after calculating a residual between the reference frames in the two layers. To avoid repetitive explanation, the following description will focus on distinguished features of the first exemplary embodiment shown in FIG. 4.
[124] A subtracter 960 subtracts reconstructed base layer reference frames F MB ' and F NB ' received from a buffer 925 from FGS lay Jer reference frames F MF ' and F NF ' and p *rovides the subtraction results F '-F ' and F '-F ' to a motion compensator 935. When a
MF MB NF NB unidirectional reference frame is used, only one residual exists.
[125] The motion compensator 935 uses a modified motion vector MV received from a motion vector modifier 930 to perform motion compensation on the residuals F '-F '
MF MB and F NF '-F NB ' between the reference frames in the FGS lay Jer and the base lay Jer received from the subtractor 960. When the motion vector MV with 1/2 pixel accuracy is used during the motion compensation, a bi-linear filter requiring a small amount of computations may be used for interpolation instead of a six-tap filter used in the H.264 standard. As described above, the interpolation little affects the compression
efficiency.
[126] The frame reconstructor 955 calculates an average between motion-compensated residuals, that is, an average between mc(F MF '-FMB ') and mc(F NF '-FNB '), and adds together the calculated average, F ' received from an inverse transformer 950, and a reconstructed base layer image F '. When unidirectional reference frame is used, the averaging process is not required.
[127] FIGS. 10 and 11 are block diagrams of examples of video decoders 1000 and 1200 according to a fourth exemplary embodiment of the present invention.
[128] Referring to FIGS. 10 and 11, corresponding to FIGS. 8 and 9 illustrating the video decoders 700 and 900 according to the first and third exemplary embodiments, frame reconstructors 1055 and 1255 add a predicted base layer frame FPB, instead of the reconstructed base layer frame F '.
[129] The video decoders 1000 and 1200 according to the fourth exemplary embodiment shown in FIGS. 10 and 11 correspond to those according to the first and third exemplary embodiments shown in FIGS. 8 and 9, respectively.
[130] Referring first to FIG. 10, corresponding to FIG. 8, the motion compensator 1020 provides the base layer reference image F PB to the frame reconstructor 1055, instead of the reconstructed image F '. Thus, the frame reconstructor 470 adds together F ' received from the inverse transformer 1050, the predicted base layer image F PB , and an average of interlayer residuals Δ M and Δ N to obtain the reconstructed base layer image
F OF '.
[131] Similarly, referring to FIG. 11, the frame reconstructor 1255 adds together F ' received from an inverse transformer 1250, the predicted base layer image F PB received from a motion compensator 1220, and an average of motion-compensated residuals mc(F '-F ') and mc(F '-F ')) to obtain a reconstructed FGS layer image F '.
V MF MB ' V NF NB " J & OF
[132] Meanwhile, the video decoder according to the fourth exemplary embodiment, corresponding to the video decoder according to the second exemplary embodiment (not shown), may have the same configuration and perform the same operation as shown in FIG. 8 except for the operation of the frame reconstructor 1255. In the video decoder of the fourth exemplary embodiment corresponding to the second exemplary embodiment, the frame reconstructor 1255 generates a predicted FGS layer frame F and a predicted base layer frame F using motion-compensated FGS layer reference frames mc(F ') and mc(F ') and motion-compensated base layer reference frames mc(F MB ') and mc(F NB '). The frame reconstructor 1255 also calculates a residual F PF -F PB between a predicted FGS layer frame F and a predicted base layer frame F and adds together F Δ ' received from the inverse transformer 1250, the predicted image F PB received from the motion compensator 1220, and the residual F PF -F PB to obtain the re- constructed image F '.
[133] When leaky prediction (fifth exemplary embodiment) is applied, the frame re- constructor 1255 multiplies a weighting factor α by the interlayer residual F -F and
PF PB adds together F Δ ', F O ' and the product α x (F PF -F PB ) to obtain F OF '.
[134] FIG. 12 is a block diagram of a system for performing an encoding or decoding process using a video encoder 100, 300, 400, 600 or a video decoder 700, 900, 1000, 1200, according to an exemplary embodiment of the present invention. The system may be a TV, a set-top box (STB), a desktop, laptop, or palmtop computer, PDA, a video or image storage device (e.g., a VCR, or a DVR). The system may be a combination of the devices listed above or another device incorporating them. In addition, the system may be a combination of the above-mentioned apparatuses or one of the apparatuses which includes a part of another apparatus among them. The system includes at least one video source 1310, at least one input/output unit 1320, a processor 1340, a memory 1350, and a display unit 1330.
[135] The video source 1310 may be a TV receiver, a VCR, or other video storing apparatus. The video source 1310 may indicate at least one network connection for receiving a video or an image from a server using Internet, a wide area network (WAN), a local area network (LAN), a terrestrial broadcast system, a cable network, a satellite communication network, a wireless network, a telephone network, or the like. In addition, the video source 1310 may be a combination of the networks or one network including a part of another network among the networks.
[136] The input/output device 1320, the processor 1340, and the memory 1350 communicate with one another through a communication medium 1360. The communication medium 1360 may be a communication bus, a communication network, or at least one internal connection circuit. Input video data received from the video source 1310 can be processed by the processor 1340 using to at least one software program stored in the memory 1350 and can be executed by the processor 1340 to generate an output video provided to the display unit 1330.
[137] In particular, the software program stored in the memory 1350 includes a scalable wavelet-based codec performing a method of the present invention. The codec may be stored in the memory 1350, may be read from a storage medium such as a compact disc-read only memory (CD-ROM) or a floppy disc, or may be downloaded from a predetermined server through a variety of networks.
Industrial Applicability
[138] As described above, the present invention provides video coding that can sig nificantly reduce the amount of computations required to implement a PFGS algorithm. Since a decoding process is modified according to a video coding process of the present invention, the present invention can be applied to the H.264 SE standardized document.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.
Claims
[1] A video encoding method supporting fine granular scalability (FGS), the method comprising: obtaining a predicted image for a current frame using a first motion vector estimated at predetermined accuracy; quantizing a residual between the current frame and the predicted image, inversely quantizing the quantized residual and generating a reconstructed image for the current frame; performing motion compensation on an FGS layer reference frame and a base layer reference frame using a second motion vector; calculating a residual between the motion-compensated FGS layer reference frame and the motion-compensated base layer reference frame; subtracting the reconstructed image for the current frame and the calculated residual from the current frame; and encoding a result of subtracting.
[2] The method of claim 1, wherein the performing of the motion compensation comprises generating the second motion vector by changing an accuracy of the first motion vector, and an accuracy of the second motion vector used in the performing of the motion compensation is lower than the accuracy of the first motion vector used in the obtaining of the predicted image for the current frame.
[3] The method of claim 1, wherein the calculated residual is an average of a first residual between a forward FGS layer reference frame and a forward base layer reference frame and a second residual between a backward FGS layer reference frame and a backward base layer reference frame.
[4] The method of claim 2, wherein if interpolation is performed for the motion compensation, a different type of interpolation filter than that used in the obtaining of the predicted image for the current frame is used for the interpolation.
[5] The method of claim 1, wherein the encoding of the result of the subtracting comprises: transforming the result of the subtracting to generate a transform coefficient; quantizing the transform coefficient to generate a quantization coefficient; and losslessly encoding the quantization coefficient.
[6] The method of claim 1, wherein the obtaining of the predicted image for the current frame comprises: estimating the first motion vector using the current frame and at least one reconstructed base layer frame as reference frames;
performing motion compensation on the reference frames using the first motion vector; and obtaining the predicted image by averaging the motion-compensated reference frames.
[7] The method of claim 1, wherein the obtaining of the predicted image for the image comprises: estimating the first motion vector using the current frame and an original frame adjacent to the current frame as a reference frame; performing motion compensation on the reference frame using the first motion vector; and obtaining the predicted image by averaging the motion-compensated reference frames.
[8] The method of claim 1, wherein the FGS layer reference frame is an original frame adjacent to an FGS layer reference frame and the base layer reference frame is a neighboring frame reconstructed from the base layer.
[9] The method of claim 1, wherein the FGS layer reference frame is a neighboring frame reconstructed from the FGS layer and the base layer reference frame is a neighboring frame reconstructed from the base layer.
[10] The method of claim 5, wherein a quantization step size used in the quantizing of the transform coefficient is smaller than that used in the quantizing of the residual.
[11] A video encoding method supporting fine granular scalability (FGS), the method comprising: obtaining a predicted image for a current frame using a first motion vector estimated at predetermined accuracy; quantizing a residual between the current frame and the predicted image, inversely quantizing the quantized residual, and generating a reconstructed image for the current frame; performing motion compensation on an FGS layer reference frame and a base layer reference frame using a second motion vector and generating a predicted frame for the FGS layer and a predicted frame for the base layer, respectively; calculating a residual between the predicted frame for the FGS layer and the predicted frame for the base layer; subtracting the reconstructed image and the residual from the current frame; and encoding a result of the subtracting.
[12] The method of claim 11, wherein the performing of the motion compensation comprises generating the second motion vector by changing an accuracy of the first motion vector, and an accuracy of the second motion vector used in the
performing of the motion compensation is lower than the accuracy of the first motion vector used in the obtaining of the predicted image for the current frame.
[13] The method of claim 11, wherein the predicted FGS layer frame is an average of motion-compensated FGS layer reference frames and the predicted base layer frame is an average of motion-compensated base layer reference frames.
[14] The method of claim 12, wherein if interpolation is performed for the motion compensation, a different type of interpolation filter than that used in the obtaining of the predicted image for the current frame is used for the interpolation.
[15] The method of claim 11 , wherein the encoding of the result of the subtracting comprises: transforming the result of the subtracting to generate a transform coefficient; quantizing the transform coefficient to generate a quantization coefficient; and losslessly encoding the quantization coefficient.
[16] The method of claim 15, wherein a quantization step size used in the quantizing of the transform coefficient is smaller than that used in the quantizing of the residual.
[17] A video encoding method supporting fine granular scalability (FGS), the method comprising: obtaining a predicted image for a current frame using a first motion vector estimated at predetermined accuracy; quantizing a residual between the current frame and the predicted image, inversely quantizing the quantized residual, and generating a reconstructed image for the current frame; calculating a residual between a fine granular scalability (FGS) layer reference frame and a base layer reference frame; performing motion compensation on the residual using a second motion vector; subtracting the reconstructed image and a result of the motion compensation from the current frame; and encoding a result of subtracting.
[18] The method of claim 17, wherein the performing of the motion compensation comprises generating the second motion vector by changing an accuracy of the first motion vector, and an accuracy of the second motion vector used in the performing of the motion compensation on the residual is lower than the accuracy of the first motion vector used in the obtaining of the predicted image for the current frame.
[19] The method of claim 17, wherein the result of the motion compensation subjected to the subtracting is an average of motion-compensated residuals.
[20] The method of claim 18, wherein if interpolation is performed for the motion compensation, a different type of interpolation filter than that used in the obtaining of the predicted image for the current frame is used for the interpolation.
[21] The method of claim 17, wherein the encoding of the result of the subtracting comprises: transforming the result of the subtracting to generate a transform coefficient; quantizing the transform coefficient to generate a quantization coefficient; and losslessly encoding the quantization coefficient.
[22] The method of claim 21, wherein a quantization step size used in the quantizing of the transform coefficient is smaller than that used in the quantizing of the residual.
[23] A video encoding method supporting fine granular scalability (FGS), the method comprising: obtaining a predicted image for a current frame using a first motion vector estimated at predetermined accuracy; performing motion compensation on an FGS layer reference frame and a base layer reference frame using a second motion vector with lower accuracy than that of the first motion vector; calculating a residual between the motion-compensated FGS layer and base layer reference frame; subtracting the predicted image and the residual from the current frame; and encoding the result of the subtracting.
[24] A video encoding method supporting fine granular scalability (FGS), the method comprising: obtaining a predicted image for a current frame using a first motion vector estimated at predetermined accuracy; performing motion compensation on an FGS layer reference frame and a base layer reference frame using a second motion vector with lower accuracy than that of the first motion vector and generating a predicted frame for the FGS layer and a predicted frame for the base layer, respectively; calculating a residual between the predicted frame for the FGS layer and the predicted frame for the base layer; subtracting the predicted image and the calculated residual from the current frame; and encoding the result of the subtracting.
[25] The method of claim 24, further comprising multiplying the residual between the predicted frame for the FGS layer and the predicted frame for the base layer by a
weighting factor α, wherein the calculated residual in the subtracting of the predicted image is the product of the weighting factor α and the residual between the predicted frame for the FGS layer and the predicted frame for the base layer.
[26] A video encoding method supporting fine granular scalability (FGS), the method comprising: obtaining a predicted image for a current frame using a first motion vector estimated at predetermined accuracy; calculating a residual between an FGS layer reference frame and a base layer reference frame; performing motion compensation on the residual using a second motion vector with lower accuracy than that of the first motion vector; subtracting the reconstructed image and a result of the motion compensation from the current frame; and encoding the result of the subtracting.
[27] A video decoding method supporting fine granular scalability (FGS), the method comprising: extracting base layer texture data and FGS layer texture data and a first motion vector from an input bitstream; reconstructing a base layer frame from the base layer texture data; performing motion compensation on an FGS layer reference frame and a base layer reference frame using a second motion vector; calculating a residual between the motion-compensated FGS layer reference frame and the motion-compensated base layer reference frame; and adding together the base layer frame, the FGS layer texture data, and the residual.
[28] The method of claim 27, wherein the second motion vector used in the performing of the motion compensation have low accuracy than the first motion vector.
[29] The method of claim 27, wherein the calculated residual is an average of a first residual between a forward FGS layer reference frame and a forward base layer reference frame and a second residual between a backward FGS layer reference frame and a backward base layer reference frame.
[30] The method of claim 28, wherein if interpolation is performed for the motion compensation, a different type of interpolation filter than that used in the reconstructing of the base layer frame is used for the interpolation.
[31] The method of claim 27, wherein the FGS layer texture data in the adding of the base layer frame is obtained by performing inverse quantization and inverse transform on the extracted FGS layer texture data.
[32] The method of claim 31 , wherein the reconstructing of the base layer frame comprises: inversely quantizing the base layer texture data; inversely transforming a result of the inversely quantizing; generating a predicted image from a previously reconstructed base layer reference frame using the first motion vector; and adding together the predicted image and a result of the inversely transforming.
[33] The method of claim 32, wherein a quantization step size used in the inverse quantization applied to the FGS layer texture data is smaller than that used in the inverse quantization performed in the reconstructing of the base layer frame.
[34] A video decoding method supporting fine granular scalability (FGS), the method comprising: extracting base layer texture data and FGS layer texture data and a first motion vector from an input bitstream; reconstructing a base layer frame from the base layer texture data; performing motion compensation on an FGS layer reference frame and a base layer reference frame using a second motion vector and generating a predicted
FGS layer frame and a predicted base layer frame; calculating a residual between the predicted FGS layer reference frame and the predicted base layer reference frame; and adding together the texture data, the reconstructed base layer frame, and the residual.
[35] The method of claim 34, wherein the second motion vector used in the performing of the motion compensation have lower accuracy than the first motion vector.
[36] The method of claim 35, wherein if interpolation is performed for motion compensation, a different type of interpolation filter than that used in the reconstructing of the base layer frame is used for the interpolation. [37] The method of claim 34, wherein the FGS layer texture data in the adding of the base layer frame, the texture data in the FGS layer, and the residual is obtained by performing inverse quantization and inverse transform on the extracted FGS layer texture data. [38] A video decoding method supporting fine granular scalability (FGS), the method comprising: extracting base layer texture data and FGS layer texture data and a first motion vector from an input bitstream; reconstructing a base layer frame from the base layer texture data; calculating a residual between an FGS layer reference frame and a base layer
reference frame; performing motion compensation on the residual using a second motion vector; and adding together the FGS layer texture data, the reconstructed base layer frame, and a result of the motion compensation. [39] The method of claim 38, wherein the result of the motion compensation subjected to the adding is an average of motion-compensated residuals. [40] The method of claim 38, wherein the second motion vector used in the performing of motion compensation has lower accuracy than the first motion vector. [41] The method of claim 40, wherein if interpolation is performed for the motion compensation, a different type of interpolation filter than that used in the reconstructing of the base layer frame is used for the interpolation. [42] The method of claim 38, wherein the FGS layer texture data in the adding is obtained by performing inverse quantization and inverse transform on the extracted FGS layer texture data. [43] A video decoding method supporting fine granular scalability (FGS), the method comprising: extracting base layer texture data, FGS layer texture data and a first motion vector from an input bitstream; reconstructing a predicted image for a base layer frame from the base layer texture data using the first motion vectors; performing motion compensation on an FGS layer reference frame and a base layer reference frame using a second motion vector with lower accuracy than that of the first motion vector; calculating a residual between a motion-compensated FGS layer reference frame and a motion-compensated base layer reference frame; and adding together the FGS layer texture data, the predicted image, and the calculated residual. [44] A video decoding method supporting fine granular scalability (FGS), the method comprising: extracting base layer texture data, FGS layer texture data and a first motion vectors from an input bitstream; reconstructing a predicted image for a base layer frame from the base layer texture data using the first motion vector; performing motion compensation on an FGS layer reference frame and a base layer reference frame using a second motion vector with lower accuracy than that of the first motion vector and generating a predicted FGS layer frame and a
predicted base layer frame; calculating a residual between the predicted FGS layer frame and the predicted base layer frame; and adding together the FGS layer texture data, the predicted images, and the calculated residual. [45] The method of claim 25, further comprising multiplying the residual between the predicted FGS layer frame and the predicted base layer frame by a weighting factor α, wherein the calculated residual in the adding is a product of the weighting factor α and the residual between the predicted FGS layer frame and the predicted base layer frame. [46] A video decoding method supporting fine granular scalability (FGS), the method comprising: extracting base layer texture data, FGS layer texture data and a first motion vector from an input bitstream; reconstructing a predicted image for a base layer frame from the base layer texture data using the first motion vector; calculating a residual between an FGS layer reference frame and a base layer reference frame; performing motion compensation on the residual using a second motion vector with lower accuracy than that of the first motion vector; and adding together the FGS layer texture data, the predicted image, and the residual. [47] A fine granular scalability (FGS)-based video encoder comprising: means for obtaining a predicted image for a current frame using a first motion vector estimated at predetermined accuracy; means for quantizing a residual between the current frame and the predicted image, inversely quantizing the quantized residual, and generating a reconstructed image for the current frame; means for performing motion compensation on an FGS layer reference frame and a base layer reference frame using a second motion vector; means for calculating a residual between the motion-compensated FGS layer and base layer reference frame; means for subtracting the reconstructed image and the residual from the current frame; and means for encoding a result of the subtracting. [48] The encoder of claim 47, wherein an accuracy of the second motion vector used in the performing of the motion compensation is lower than an accuracy of the first motion vector used in the obtaining of the predicted image for the current frame.
[49] A fine granularity scalability (FGS)-based video decoder comprising: means for extracting base layer texture data, FGS layer texture data and a first motion vector from an input bitstream; means for reconstructing a base layer frame from the base layer texture data; means for performing motion compensation on an FGS layer reference frame and a base layer reference frame using a second motion vector and generating a predicted FGS layer frame and a predicted base layer frame; means for calculating a residual between the predicted FGS layer frame and the predicted base layer frame; and means for adding together the texture data, the reconstructed base layer frame, and the residual. [50] The decoder of claim 49, wherein an accuracy of the second motion vector used in the performing of the motion compensation is lower than an accuracy of the first motion vector extracted from the input bitstream.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US67592105P | 2005-04-29 | 2005-04-29 | |
KR1020050052428A KR100703778B1 (en) | 2005-04-29 | 2005-06-17 | Method and apparatus for coding video supporting fast FGS |
PCT/KR2006/001471 WO2006118383A1 (en) | 2005-04-29 | 2006-04-20 | Video coding method and apparatus supporting fast fine granular scalability |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1878261A1 true EP1878261A1 (en) | 2008-01-16 |
Family
ID=37308152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP06747382A Withdrawn EP1878261A1 (en) | 2005-04-29 | 2006-04-20 | Video coding method and apparatus supporting fast fine granular scalability |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1878261A1 (en) |
JP (1) | JP2008539646A (en) |
AU (1) | AU2006241637A1 (en) |
CA (1) | CA2609648A1 (en) |
RU (1) | RU2340115C1 (en) |
WO (1) | WO2006118383A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2692224C (en) | 2007-07-02 | 2016-01-12 | Nippon Telegraph And Telephone Corporation | Scalable video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media which store the programs |
KR101624649B1 (en) * | 2009-08-14 | 2016-05-26 | 삼성전자주식회사 | Method and apparatus for video encoding considering hierarchical coded block pattern, and method and apparatus for video decoding considering hierarchical coded block pattern |
JP5381571B2 (en) * | 2009-09-29 | 2014-01-08 | 株式会社Jvcケンウッド | Image encoding device, image decoding device, image encoding method, and image decoding method |
BR112013019415A2 (en) | 2011-03-10 | 2019-09-24 | Nippon Telegraph & Telephone | quantization control apparatus and method and quantization control program |
BR112014023948B1 (en) * | 2012-03-28 | 2021-05-25 | JVC Kenwood Corporation | image decoding device |
GB2501535A (en) * | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
CN104685881B (en) * | 2012-09-28 | 2018-05-15 | 夏普株式会社 | Picture decoding apparatus, picture coding device and picture decoding method |
CN114071156A (en) * | 2021-11-16 | 2022-02-18 | 广东博华超高清创新中心有限公司 | DVS data generation method based on AVS motion estimation coding |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6614936B1 (en) * | 1999-12-03 | 2003-09-02 | Microsoft Corporation | System and method for robust video coding using progressive fine-granularity scalable (PFGS) coding |
-
2006
- 2006-04-20 WO PCT/KR2006/001471 patent/WO2006118383A1/en active Application Filing
- 2006-04-20 CA CA002609648A patent/CA2609648A1/en not_active Abandoned
- 2006-04-20 EP EP06747382A patent/EP1878261A1/en not_active Withdrawn
- 2006-04-20 JP JP2008508745A patent/JP2008539646A/en active Pending
- 2006-04-20 AU AU2006241637A patent/AU2006241637A1/en not_active Abandoned
- 2006-04-20 RU RU2007139817/09A patent/RU2340115C1/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
See references of WO2006118383A1 * |
Also Published As
Publication number | Publication date |
---|---|
JP2008539646A (en) | 2008-11-13 |
AU2006241637A1 (en) | 2006-11-09 |
CA2609648A1 (en) | 2006-11-09 |
WO2006118383A1 (en) | 2006-11-09 |
RU2340115C1 (en) | 2008-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060245495A1 (en) | Video coding method and apparatus supporting fast fine granular scalability | |
US8817872B2 (en) | Method and apparatus for encoding/decoding multi-layer video using weighted prediction | |
KR100703788B1 (en) | Video encoding method, video decoding method, video encoder, and video decoder, which use smoothing prediction | |
US20070047644A1 (en) | Method for enhancing performance of residual prediction and video encoder and decoder using the same | |
KR100714696B1 (en) | Method and apparatus for coding video using weighted prediction based on multi-layer | |
KR100703760B1 (en) | Video encoding/decoding method using motion prediction between temporal levels and apparatus thereof | |
KR100763179B1 (en) | Method for compressing/Reconstructing motion vector of unsynchronized picture and apparatus thereof | |
US20060120448A1 (en) | Method and apparatus for encoding/decoding multi-layer video using DCT upsampling | |
US20060165302A1 (en) | Method of multi-layer based scalable video encoding and decoding and apparatus for the same | |
US20060013300A1 (en) | Method and apparatus for predecoding and decoding bitstream including base layer | |
US20060104354A1 (en) | Multi-layered intra-prediction method and video coding method and apparatus using the same | |
KR20060135992A (en) | Method and apparatus for coding video using weighted prediction based on multi-layer | |
CA2543947A1 (en) | Method and apparatus for adaptively selecting context model for entropy coding | |
WO2006118383A1 (en) | Video coding method and apparatus supporting fast fine granular scalability | |
US20070160143A1 (en) | Motion vector compression method, video encoder, and video decoder using the method | |
WO2006118384A1 (en) | Method and apparatus for encoding/decoding multi-layer video using weighted prediction | |
KR20050012755A (en) | Improved efficiency FGST framework employing higher quality reference frames | |
US20060088100A1 (en) | Video coding method and apparatus supporting temporal scalability | |
WO2006132509A1 (en) | Multilayer-based video encoding method, decoding method, video encoder, and video decoder using smoothing prediction | |
WO2007024106A1 (en) | Method for enhancing performance of residual prediction and video encoder and decoder using the same | |
WO2006078109A1 (en) | Method of multi-layer based scalable video encoding and decoding and apparatus for the same | |
WO2006006793A1 (en) | Video encoding and decoding methods and video encoder and decoder | |
WO2006104357A1 (en) | Method for compressing/decompressing motion vectors of unsynchronized picture and apparatus using the same | |
WO2006098586A1 (en) | Video encoding/decoding method and apparatus using motion prediction between temporal levels | |
WO2006043754A1 (en) | Video coding method and apparatus supporting temporal scalability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20071018 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20090505 |