Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
DCFirst Claim
1. A method for encoding video information including deriving prediction motion coefficients for blocks within a macroblock of a video frame being encoded from motion coefficients of at least one prediction block that is a previously encoded macroblock or block within said video frame, the method comprising:
- segmenting the video frame into macroblocks;
defining a certain number of available macroblock segmentations that specify possible ways in which a macroblock can be segmented into blocks;
defining for each available macroblock segmentation at least one available prediction method thereby providing a certain finite number of available macroblock-segmentation—
prediction-method pairs, each prediction method defining a method for deriving prediction motion coefficients for blocks within a macroblock using motion coefficients of at least one prediction block;
selecting for a macroblock one of the available macroblock-segmentation—
prediction-method pairs; and
segmenting the macroblock into blocks and deriving prediction motion coefficients for the blocks within said macroblock using the selected macroblock-segmentation—
prediction-method pair.
3 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method for encoding video information is presented, where a piece of current video information is segmented into macroblocks and a certain number of available macroblock segmentations for segmenting a macroblock into blocks is defined. Furthermore, for each available macroblock segmentation at least one available prediction method is defied, each of which prediction methods produces prediction motion coefficients for blocks within said macroblock, resulting in a certain finite number of available macroblock-segmentation—prediction-method pairs. For a macroblock, one of the available macroblock-segmentation—prediction-method pairs is selected, and thereafter the macroblock is segmented into blocks and prediction motion coefficients for the blocks within said macroblock are produced using the selected macroblock-segmentation—prediction-method pair. A corresponding decoding method, an encoder and a decoder are also presented.
-
Citations
57 Claims
-
1. A method for encoding video information including deriving prediction motion coefficients for blocks within a macroblock of a video frame being encoded from motion coefficients of at least one prediction block that is a previously encoded macroblock or block within said video frame, the method comprising:
-
segmenting the video frame into macroblocks;
defining a certain number of available macroblock segmentations that specify possible ways in which a macroblock can be segmented into blocks;
defining for each available macroblock segmentation at least one available prediction method thereby providing a certain finite number of available macroblock-segmentation—
prediction-method pairs, each prediction method defining a method for deriving prediction motion coefficients for blocks within a macroblock using motion coefficients of at least one prediction block;
selecting for a macroblock one of the available macroblock-segmentation—
prediction-method pairs; and
segmenting the macroblock into blocks and deriving prediction motion coefficients for the blocks within said macroblock using the selected macroblock-segmentation—
prediction-method pair.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
estimating the motion of blocks within a macroblock with respect to a reference video frame;
representing the motion of the blocks within the macroblock with a model comprising a set of basis functions and motion coefficients; and
representing the motion coefficients thus obtained as a sum of the prediction motion coefficients and difference motion coefficients.
-
-
22. A method for encoding video information according to claim 21, wherein the model used to represent the motion of a block is a translational motion model.
-
23. A method for encoding video information according to claim 21, wherein the selection of the macroblock-segmentation—
- prediction-method pair is based on minimizing a cost function which includes at least a measure of a reconstruction error relating to a macroblock-segmentation—
prediction-method pair and a measure of an amount of information required to indicate the macroblock-segmentation—
prediction-method pair and to represent the difference motion coefficients of the blocks within said macroblock.
- prediction-method pair is based on minimizing a cost function which includes at least a measure of a reconstruction error relating to a macroblock-segmentation—
-
24. A method for encoding video information according to claim 21, further comprising:
-
transmitting information indicating the selected macroblock-segmentation—
prediction-method pair to a decoder or storing information indicating the selected macroblock-segmentation—
prediction-method pair in a storage medium; and
transmitting information about the difference motion coefficients to a decoder or storing information about the difference motion coefficients in a storage means.
-
-
25. A method for encoding video information according to claim 21, further comprising:
-
reconstructing the motion of the blocks using the motion coefficients, basis functions and information about the macroblock segmentation;
determining predicted video information using the reference video frame and the reconstructed motion of the blocks;
determining corresponding prediction error video information based on a difference between the predicted video information and the video information of the macroblock;
coding the prediction error video information and representing it with prediction error coefficients; and
transmitting information about the prediction error coefficients to a decoder or storing information about the prediction error coefficients in a storage means.
-
-
26. A method for decoding encoded video information, including deriving prediction motion coefficients for blocks within a macroblock of a video frame being decoded from motion coefficients of at least one prediction block that is a previously decoded macroblock or block within said video frame, the method comprising:
-
defining a certain number of available macroblock segmentations that specify possible ways in which a macroblock can be segmented into blocks;
defining for each available macroblock segmentation at least one available prediction method, thereby providing a certain finite number of available macroblock-segmentation—
prediction-method pairs, each prediction method defining a method for deriving prediction motion coefficients for blocks within a macroblock using motion coefficients of at least one prediction block;
receiving information indicating at least the macroblock segmentation selected for a macroblock in said encoded video information; and
determining the prediction method relating to the macroblock segmentation of said macroblock with reference to the defined macroblock-segmentation—
prediction method pairs and producing prediction motion coefficients for blocks within said macroblock using the determined prediction method.- View Dependent Claims (27, 28, 29, 30, 31)
receiving information about difference motion coefficients describing motion of blocks within a macroblock; and
reconstructing motion coefficients for the blocks within said macroblock as a sum of the derived prediction motion coefficients and the difference motion coefficients.
-
-
30. A method for decoding encoded video information according to claim 29, further comprising;
-
receiving information about prediction error coefficients describing prediction error video information, and determining a decoded piece of current video information using at least the motion coefficients and the prediction error video information.
-
-
31. A method for decoding encoded video information according to claim 26, wherein the step of receiving information indicating at least the macroblock segmentation selected for a macroblock in said encoded video information comprises receiving an indication of a selected macroblock-segmentation—
- prediction method pair.
-
32. An encoder for performing motion compensated encoding of video information, said encoder being arranged to derive prediction motion coefficients for blocks within a macroblock of a video frame being encoded from motion coefficients of at least one prediction block that is a previously encoded macroblock or block within said video frame, the encoder comprising:
-
means for receiving a frame of video information;
means for segmenting the frame of video information into macroblocks;
means for specifying a certain number of available macroblock segmentations that define possible ways in which a macroblock can be segmented into blocks;
means for specifying at least one available prediction method for each available macroblock segmentation, thereby providing a certain finite number of available macroblock-segmentation—
prediction-method pairs, each prediction method defining a method for deriving prediction motion coefficients for blocks within a macroblock using motion coefficients of at least one prediction block;
means for selecting one macroblock-segmentation—
prediction method pair among the available macroblock-segmentation—
prediction method pairs;
means for segmenting a macroblock using the macroblock segmentation specified by the selected macroblock-segmentation—
prediction-method pair; and
means for deriving macroblock-segmentation-specific prediction motion coefficients for blocks within said macroblock using the prediction method specified by the selected macroblock-segmentation—
prediction-method pair.- View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
memory means for storing a reference video frame;
means for estimating a motion field of blocks in the frame of video information using at least the reference video frame;
means for producing motion coefficients describing the estimated motion fields; and
means for producing difference motion coefficients using the motion coefficients and the prediction motion coefficients.
-
-
34. A storage device comprising an encoder according to claim 32.
-
35. A mobile station comprising an encoder according to claim 32.
-
36. A network element comprising an encoder according to claim 32.
-
37. A network element according to claim 36, wherein the network element is a network element of a mobile telecommunication network.
-
38. An encoder for performing motion compensated encoding of video information according to claim 32, wherein at least one of the available macroblock-segmentation—
- prediction-method pairs defines the prediction motion coefficients for a block within said macroblock to be derived from the motion coefficients of only one prediction block.
-
39. An encoder for performing motion compensated encoding of video information according to claim 32, wherein at least one of the available macroblock-segmentation—
- prediction-method pairs defines that the prediction motion coefficients for a block within said macroblock are derived from the motion coefficients of at least a first prediction block and a second prediction block.
-
40. An encoder for performing motion compensated encoding of video information according to claim 39, arranged to derive the prediction motion coefficients for a block from a median of the motion coefficients of at least a first prediction block and a second prediction block.
-
41. An encoder for performing motion compensated encoding of video information according to claim 32, wherein at least one of the available macroblock-segmentation—
- prediction-method pairs specifies that the prediction motion coefficients for a block within said macroblock are derived from motion coefficients of prediction blocks within said macroblock.
-
42. An encoder for performing motion compensated encoding of video information according to claim 32, arranged to derive prediction motion coefficients for a block using a prediction block that comprises a certain predetermined pixel, whose location is defined relative to said block.
-
43. An encoder for performing motion compensated encoding of video information according to claim 32, arranged to select a macroblock-segmentation—
- prediction-method responsive to minimizing a cost function.
-
44. An encoder for performing motion compensated encoding of video information according to claim 32, wherein one macroblock-segmentation—
- prediction-method pair is defined for each available macroblock segmentation.
-
45. An encoder for performing motion compensated encoding of video information according to claim 44, further arranged to transmit information indicating the selected macroblock segmentation to a corresponding decoder.
-
46. An encoder for performing motion compensated encoding of video information according to claim 32, further arranged to transmit information indicating the selected macroblock-segmentation—
- prediction-method pair to a corresponding decoder.
-
47. An encoder for performing motion compensated encoding of video information according to claim 32, further comprising:
-
means for estimating the motion of blocks within a macroblock with respect to a reference video frame;
means for representing the motion of the blocks within the macroblock with a model comprising a set of basis functions and motion coefficients; and
means for representing the motion coefficients thus obtained as a sum of the prediction motion coefficients and difference motion coefficients.
-
-
48. An encoder for performing motion compensated encoding of video information according to claim 47, arranged to select a macroblock-segmentation—
- prediction-method pair by minimizing a cost function that includes at least a measure of a reconstruction error relating to the macroblock-segmentation—
prediction-method pair and a measure of an amount of information required to indicate the macroblock-segmentation—
prediction-method pair and to represent the difference motion coefficients of the blocks within said macroblock.
- prediction-method pair by minimizing a cost function that includes at least a measure of a reconstruction error relating to the macroblock-segmentation—
-
49. An encoder for performing motion compensated encoding of video information according to claim 47, further comprising:
-
means for reconstructing the motion of the blocks using the motion coefficients, basis functions and information about the macroblock segmentation;
means for determining predicted video information using the reference video frame and the reconstructed motion of the blocks;
means for determining corresponding prediction error video information based on a difference between the predicted video information and the video information of the macroblock;
means for coding the prediction error video information and representing it with prediction error coefficients; and
means for transmitting information about the prediction error coefficients to a corresponding decoder.
-
-
50. A decoder for performing motion compensated decoding of encoded video information, said decoder being arranged to derive prediction motion coefficients for blocks within a macroblock of a video frame being decoded from motion coefficients of at least one prediction block that is a previously decoded macroblock or block within said video frame, the decoder comprising:
-
means for defining a certain number of available macroblock segmentations that specify possible ways in which a macroblock can be segmented into blocks;
means for specifying at least one available prediction method for each available macroblock segmentation, thereby providing a certain finite number of available macroblock-segmentation—
prediction-method pairs, each prediction method defining a method for deriving prediction motion coefficients for blocks within a macroblock using motion coefficients of at least one prediction block;
input means for receiving information indicating at least the macroblock segmentation selected for a macroblock;
means for determining the prediction method relating to the segmentation of the macroblock with reference to the defined macroblock-segmentation—
prediction-method pairs; and
means for producing prediction motion coefficients for blocks within said macroblock using the determined prediction method. - View Dependent Claims (51, 52, 53)
input means for receiving information about difference motion coefficients of the blocks within said macroblock, and means for constructing motion coefficients using the prediction motion coefficients and the difference motion coefficients.
-
-
52. A mobile station comprising a decoder according to claim 50.
-
53. A decoder for performing motion compensated decoding of encoded video information according to claim 50, arranged to receive an indication of a selected macroblock-segmentation—
- prediction method pair.
-
54. Computer program element for performing motion compensated encoding of video information, said computer program element being arranged to derive prediction motion coefficients for blocks within a macroblock of a video frame being encoded from motion coefficients of at least one prediction block that is a previously encoded macroblock or block within said video frame, the computer program element comprising:
-
program means for receiving a frame of video information;
program means for segmenting the frame of video information into macroblocks;
program means for specifying a certain number of available macroblock segmentation, that define possible ways in which a macroblock can be segmented into blocks;
program means for specifying at least one available prediction method for each available macroblock segmentation, thereby providing a certain finite number of available macroblock-segmentation—
prediction-method pairs, each prediction method defining a method for deriving prediction motion coefficients for blocks within a macroblock using motion coefficients of at least one prediction block;
program means for selecting one macroblock-segmentation—
prediction method pair among the available macroblock-segmentation—
prediction method pairs;
program means for segmenting a macroblock using the selected macroblock segmentations specified by the selected macroblock-segmentation—
prediction-method pair; and
program means for deriving macroblock-segmentation-specific prediction motion coefficients for blocks within said macroblock using the selected prediction method specified by the selected macroblock-segmentation—
prediction-method pair.- View Dependent Claims (55)
-
-
56. Computer program element for performing motion compensated decoding of encoded video information, said computer program element being arranged to derive prediction motion coefficients for blocks within a macroblock of a video frame being decoded from motion coefficients of at least one prediction block that is a previously decoded macroblock or block within said video frame, the computer program element comprising:
-
program means for defining a certain number of available macroblock segmentations that specify possible ways in which a macroblock can be segmented into blocks;
program means for specifying at least one available prediction method for each available macroblock segmentation, thereby providing a certain finite number of available macroblock-segmentation—
prediction-method pairs, each prediction method defining a method for deriving prediction motion coefficients for blocks within a macroblock using motion coefficients of at least one prediction block;
program means for receiving information indicating at least the macroblock-segmentation selected for a macroblock;
program means for determining the prediction-method relating to the segmentation of the macroblock with reference to the defined macroblock-segmentation—
prediction-method pairs; and
program means for producing prediction motion coefficients for blocks within said macroblock using the determined prediction method. - View Dependent Claims (57)
-
Specification