US8948243B2 - Image encoding device, image decoding device, image encoding method, and image decoding method - Google Patents
Image encoding device, image decoding device, image encoding method, and image decoding method Download PDFInfo
- Publication number
- US8948243B2 US8948243B2 US13/638,095 US201113638095A US8948243B2 US 8948243 B2 US8948243 B2 US 8948243B2 US 201113638095 A US201113638095 A US 201113638095A US 8948243 B2 US8948243 B2 US 8948243B2
- Authority
- US
- United States
- Prior art keywords
- image
- prediction
- prediction image
- unit
- encoding
- 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.)
- Active, expires
Links
Images
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/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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/00127—
-
- H04N19/00024—
-
- H04N19/00175—
-
- H04N19/00266—
-
- H04N19/00278—
-
- H04N19/00545—
-
- H04N19/00781—
-
- H04N19/00896—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- 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
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Definitions
- the present invention relates to an image encoding device, an image decoding device, an image encoding method, and an image decoding method which are used for an image compression encoding technique, a compressed image data transmission technique, etc.
- a method of defining block data (referred to as “macroblock” from here on) as a unit, the block data being a combination of 16 ⁇ 16 pixels of brightness signal and 8 ⁇ 8 pixels of color difference signal corresponding to the 16 ⁇ 16 pixels of brightness signal, and compressing the block data in accordance with a motion compensation technique, and an orthogonal transformation/transform coefficient quantization technique is used.
- the motion compensation technique is used to reduce the redundancy of a signal in a time direction for each macroblock by using a high correlation existing between video frames. More specifically, in accordance with the motion compensation technique, an already-encoded frame which has been encoded is stored in a memory as a reference image, and a block area which provides the smallest difference in electric power between the block area itself and the current macroblock which is a target block for the motion-compensated prediction is searched for through a search range predetermined in the reference image which is stored in the memory. In accordance with the motion compensation technique, a spatial displacement between the spatial position of the block area which provides the smallest difference electric power and the spatial position of the current macroblock is then encoded as a motion vector.
- the above-mentioned motion vector shows not only the efficiency of prediction but also a local movement in each block between video frames in many cases
- a technique of generating an interpolated image by using information about the motion vector in order to increase the number of frames per unit time (frame rate) of the video image has been developed in recent years.
- the simplest model for example, there is a method of, when generating an interpolated image located just midway between video frames with respect to time, using a value which is half of the value of a motion vector as the motion vector of the interpolated image, and compensating for movements on the basis of previous and next frames by using the motion vector.
- This model is based on the assumption that there is a linear movement between video frames. Because the shorter the time interval between video frames, the more easily the above-mentioned assumption is realized, and the smaller the motion vector, the more easily the above-mentioned assumption is realized, an interpolated image having up to a certain degree of quality can be generated.
- a motion vector shows a local movement in each block between video frames in many cases
- a motion vector is actually determined through a search for a block area which provides the smallest difference electric power, and therefore does not show a local movement in some cases.
- a disorder occurs in an interpolated image, and the disorder is very noticeable in many cases. Therefore, the issue of how to determine a “motion vector which cannot express a movement correctly” and to what extent an original movement can be correctly estimated while excluding such a motion vector is important.
- nonpatent reference 1 and patent reference 1 disclose frame interpolation techniques of extracting motion parameters from a bitstream which is acquired by using a general-purpose video image encoding method for the purpose of pseudoly increasing the frame rate of a moving image to be reproduced by a receive side dependently upon the motion parameters.
- the receive side can improve the quality of the moving image reproduced thereby to a certain extent by pseudoly increasing the frame rate of the moving image reproduced thereby.
- a problem is, however, that because the conventional image encoding devices do not carry out optimal encoding control in such a way that adequate encoding quality can be acquired in the encoding process, and there is a limit in the improvement in the quality of the reproduced moving image acquired by the receive side and therefore the optimality of the quality of the reproduced moving image cannot guaranteed.
- the present invention is made in order to solve the above-mentioned problem, and it is therefore an object of the present invention to provide an image encoding device and an image encoding method capable of improving the quality of a reproduced image acquired by a receive side. It is another object of the present invention to provide an image decoding device and an image decoding method capable of reproducing an image having high quality from encoded data transmitted from an image encoding device.
- an image encoding device which carries out comprsssion encoding on each predetermined block of an imputed image by using a motion-compensated prediction
- the image encoding device including: a motion detecting unit for detecting a motion vector of a block; a first prediction image generating unit for generating a first prediction image by using the motion vector detected by the motion detecting unit; a memory for holding a motion vector detected by the motion detecting unit; a second prediction image generating unit for generating a second prediction image by using a motion vector of a block to be encoded which is generated on a basis of the motion vector held by the memory; an encoding unit for encoding a difference image which is a difference between the first prediction image generated by the first prediction image generating unit and an image of the block to be encoded while encoding the motion vector used for the generation of the first prediction image; a local decoding unit for generating a local decoded image of the difference image, and for adding the local de
- the image encoding device in accordance with the present invention which carries out compression encoding on each predetermined block of an inputted image by using a motion-compensated prediction is constructed in such a way as to include: the motion detecting unit for detecting a motion vector of a block; the first prediction image generating unit for generating a first prediction image by using the motion vector detected by the motion detecting unit; the memory for holding a motion vector detected by the motion detecting unit; the second prediction image generating unit for generating a second prediction image by using a motion vector of a block to be encoded which is generated on a basis of the motion vector held by the memory; the encoding unit for encoding a difference image which is a difference between the first prediction image generated by the first prediction image generating unit and an image of the block to be encoded while encoding the motion vector used for the generation of the first prediction image; the local decoding unit for generating a local decoded image of the difference image, and for adding the local decoded image to the first prediction image to generate
- FIG. 1 is a block diagram showing an image encoding device in accordance with Embodiment 1 of the present invention
- FIG. 2 is an explanatory drawing showing an example of motion prediction modes selectable in accordance with a picture type
- FIG. 3 is a schematic diagram showing a calculating method of calculating a direct vector in a time direct mode
- FIG. 4 is a schematic diagram showing an estimating method of estimating a motion vector in a space direct mode
- FIG. 5 is an explanatory drawing showing an overlap motion compensation process
- FIG. 6 is an explanatory drawing showing a bitstream outputted from a variable length encoding unit 11 ;
- FIG. 7 is a block diagram showing an image decoding device in accordance with Embodiment 1 of the present invention.
- FIG. 8 is a flow chart showing processing carried out by the image encoding device in accordance with Embodiment 1 of the present invention.
- FIG. 9 is a flow chart showing processing carried out by an image decoding device in accordance with Embodiment 1 of the present invention.
- FIG. 10 is an explanatory drawing showing an example of a generating process of generating a prediction image B which is carried out by a motion-compensated prediction unit 2 (a generating process in a case of encoding a picture F t located just midway between already-encoded pictures F t ⁇ 1 and F t+1 with respect to time as a skip picture);
- FIG. 11 is an explanatory drawing showing an estimation of a motion vector d f (x, t) of a macroblock X;
- FIG. 12 is an explanatory drawing showing weight parameters defined in accordance with the positions of pixels in a macroblock.
- FIG. 13 is an explanatory drawing showing weight parameters defined in accordance with the positions of pixels in a macroblock.
- FIG. 1 is a block diagram showing an image encoding device in accordance with Embodiment 1 of the present invention.
- an inputted image is divided into inputted images of macroblocks (or inputted images of sub-macroblocks into which each macroblock is divided), and the inputted image of each macroblock (or each sub-macroblock) is inputted to a motion-compensated prediction unit 2 and a subtractor 3 .
- a motion-compensated prediction unit 2 and a subtractor 3 It is assumed that encoding processing is carried out on each macroblock, and it is determined that the encoding processing on the inputted image is completed when the encoding processing on all macroblocks which construct this inputted image is completed.
- picture encoding method control information showing whether either “normal picture encoding accompanied by encoding of both motion parameters and prediction residual information of each macroblock” or “skip picture encoding” is to be carried out is inputted to the motion-compensated prediction unit 2 , an encoding mode determining unit 4 , a selection switch 7 , a loop filter 9 , and a variable length encoding unit 11 .
- a motion parameter memory 1 is a recording medium, such as a RAM, for storing, for example, prediction parameters (a motion prediction mode, a motion vector, and an identification number of a reference image), and so on of an already-encoded macroblock.
- the motion-compensated prediction unit 2 carries out a process of selecting a reference image which the motion-compensated prediction unit will actually use for prediction from among one or more frames of reference image for motion-compensated prediction which are stored in a frame memory 10 and performing a motion-compensated prediction process on each macroblock which constructs the inputted image to generate a prediction image.
- the motion-compensated prediction unit 2 has, as a prediction image generating method for use at the time of generating the prediction image, a first prediction image generating method (a prediction image generating method in accordance with a “motion prediction mode A”), and a second prediction image generating method (a prediction image generating method in accordance with a “motion prediction mode B”), and generates a prediction image in the motion prediction mode A and also generates a prediction image in the motion prediction mode B.
- a prediction image generating method for use at the time of generating the prediction image a first prediction image generating method (a prediction image generating method in accordance with a “motion prediction mode A”), and a second prediction image generating method (a prediction image generating method in accordance with a “motion prediction mode B”), and generates a prediction image in the motion prediction mode A and also generates a prediction image in the motion prediction mode B.
- one of the one or more frames of reference image stored in the frame memory 10 is selected, and a block which expresses the image pattern of a macroblock which is a target for motion-compensated prediction most exactly is specified within this selected reference image from among blocks at positions which are translated and displaced from the starting point at the position on the screen of the target macroblock, so that a motion vector is determined as the amount of displacement in the screen for the target macroblock. More specifically, because a motion vector is defined by a reference image with which the motion vector is paired and which is used for the calculation of the motion vector, the motion vector is identified by a reference image identification number showing which one of the one or more frames of reference image stored in the frame memory 10 has been used to calculate the motion vector.
- each of the two or more motion vectors is identified by a reference image identification number showing which one of the one or more frames of reference image has been used to calculate the motion vector.
- the two or more motion vectors can be denoted by different reference image identification numbers, respectively, or some of the two or more motion vectors can be denoted by the same reference image identification number.
- the motion-compensated prediction unit generates a prediction image A by using the motion vector acquired thereby and the reference image identification number (generates a prediction image A from the position on the screen of the macroblock which is the target for motion-compensated prediction by using an image area at the position which is displaced by the motion vector).
- the motion-compensated prediction unit In the case of the motion prediction mode B, the motion-compensated prediction unit generates an estimated vector of a macroblock for which the prediction parameters are to be encoded, the macroblock being included in the already-encoded macroblocks stored in the motion parameter memory 1 , and carries out a motion-compensated prediction process using the estimated vector to generate a prediction image B.
- the motion-compensated prediction unit 2 When the picture encoding method control information shows that “normal picture encoding is to be carried out”, the motion-compensated prediction unit 2 generates a prediction image in the motion prediction mode A and also generates a prediction image in the motion prediction mode B. In contrast, when the picture encoding method control information shows that “skip picture encoding is to be carried out”, the motion-compensated prediction unit 2 does not use the motion prediction mode A, but generates a prediction image in the motion prediction mode B. The motion-compensated prediction unit 2 constructs a prediction image generating unit.
- the subtractor 3 carries out a process of determining a difference between the image of the macroblock to be encoded and the prediction image A generated by the motion-compensated prediction unit 2 in the motion prediction mode A to calculate a difference image Awhile determining a difference between the image of the macroblock to be encoded and the prediction image B generated by the motion-compensated prediction unit 2 in the motion prediction mode B to calculate a difference image B. Because the prediction image A is not generated when the picture encoding method control information shows that “skip picture encoding” is to be carried out, the subtractor does not carry out the process of determining a difference between the image of the macroblock to be encoded and the prediction image A generated in the motion prediction mode A to calculate a difference image A.
- the encoding mode determining unit 4 carries out a process of evaluating the degree of efficiency of encoding of the difference image A which is the difference between the image of the macroblock to be encoded and the prediction image A generated in the motion prediction mode A and also evaluating the degree of efficiency of encoding of the difference image B which is the difference between the image of the macroblock to be encoded and the prediction image B generated in the motion prediction mode B to select the difference image having the highest degree of encoding efficiency from the difference images.
- the encoding mode determining unit 4 also carries out a process of outputting a prediction difference signal showing the difference image having the highest degree of encoding efficiency to a compressing unit 5 while storing the prediction parameters used for the generation of the prediction image associated with the difference image (the motion prediction mode (prediction image identification information), the motion vector (or direct vector), and the identification number of the reference image) in the motion parameter memory 1 , and outputting the prediction parameters (the motion prediction mode (prediction image identification information), the motion vector (only when the difference image A is selected, the motion vector is included in the prediction parameters, whereas when the difference image B is selected, the motion vector is not included in the prediction parameters), and the identification number of the reference image) to the variable length encoding unit 11 .
- the prediction parameters used for the generation of the prediction image associated with the difference image the motion prediction mode (prediction image identification information), the motion vector (or direct vector), and the identification number of the reference image) in the motion parameter memory 1 , and outputting the prediction parameters (the motion prediction mode (prediction image identification information),
- a difference image selecting unit is comprised of the subtractor 3 and the encoding mode determining unit 4 .
- the compressing unit 5 carries out a process of calculating DCT coefficients by carrying out a DCT (discrete cosine transform) process on the prediction difference signal outputted from the encoding mode determining unit 4 and also quantizing the DCT coefficients to output compressed data which are the DCT coefficients quantized thereby to a local decoding unit 6 and the variable length encoding unit 11 .
- the compressing unit 5 constructs a quantizing unit.
- the local decoding unit 6 carries out a process of inverse-quantizing the compressed data outputted from the compressing unit 5 to calculate DCT coefficients, and then carrying out an inverse DCT (inverse discrete cosine transform) process on the DCT coefficients to calculate a local decoded prediction difference signal corresponding to the prediction difference signal outputted from the encoding mode determining unit 4 .
- DCT inverse discrete cosine transform
- the selection switch 7 carries out a process of selecting the local decoded prediction difference signal calculated by the local decoded section 6 and outputting this local decoded prediction difference signal to an adder 8 when the picture encoding method control information shows that “normal picture encoding is to be carried out”, or selecting all zero values and outputting these all zero values to the adder 8 when the picture encoding method control information shows that “skip picture encoding is to be carried out”.
- the adder 8 carries out a process of adding either the local decoded prediction difference signal or the all zero values which are selected by the selection switch 7 to the prediction signal showing the prediction image generated by the motion-compensated prediction unit 2 (i.e. the prediction image associated with the difference image having the highest degree of encoding efficiency) to generate a local decoded image signal showing a local decoded image.
- the loop filter 9 carries out a distortion compensation process of compensating for an encoding distortion included in the local decoded image generated by the adder 8 by using a block distortion removal filter (deblocking filter) for a DCT block boundary.
- the loop filter 9 carries out a motion block boundary smoothing process of smoothing the discontinuity at a block boundary (a macroblock boundary in the motion prediction mode B) which occurs in a motion vector allocation region of the prediction image.
- a reference image generating unit is comprised of the local decoding unit 6 , the selection switch 7 , the adder 8 , and the loop filter 9 .
- the frame memory 10 is a recording medium, such as a RAM, for storing a loop filtered image (a local decoded image filtered) outputted from the loop filter 9 as a reference image therein.
- the variable length encoding unit 11 carries out a process of entropy-encoding the compressed data outputted from the compressing unit 5 (including the quantization parameters used at the time of quantizing the DCT coefficients), and the prediction parameters and the picture encoding method control information which are outputted from the encoding mode determining unit 4 to generate a bitstream (encoded data) showing the encoded results and output the bitstream.
- the variable length encoding unit 11 constructs a variable length encoding unit.
- the motion-compensated prediction unit 2 , the subtractor 3 , the encoding mode determining unit 4 , the compressing unit 5 , the local decoding unit 6 , the selection switch 7 , the adder 8 , the loop filter 9 , and the variable length encoding unit 11 which are the components of the image encoding device, consist of pieces of hardware for exclusive use (e.g., integrated circuits in each of which a CPU is mounted, or one-chip microcomputers), respectively.
- FIG. 8 is a flow chart showing the processing carried out by the image encoding device in accordance with Embodiment 1 of the present invention.
- FIG. 7 is a block diagram showing an image decoding device in accordance with Embodiment 1 of the present invention. It is assumed that decoding processing is carried out on each macroblock, and it is determined that the decoding processing on an image to be decoded is completed when the decoding processing on all macroblocks which construct the image to be decoded is completed. In addition, in a case in which each macroblock consists of a plurality of sub-macroblocks, it is determined that the decoding processing on each macroblock is completed when the processing on all the sub-macroblocks within the macroblock is completed.
- a motion parameter memory 21 is a recording medium, such as a RAM, for storing, for example, prediction parameters (a motion prediction mode, a motion vector, and the identification number of a reference image) of an already-decoded macroblock (or an already-decoded sub-macroblock), and so on.
- a variable length decoding unit 22 carries out a process of receiving the bitstream (encoded data) outputted thereto from the image encoding device shown in FIG. 1 , entropy-decoding the compressed data (including the quantization parameters used at the time of quantizing the DCT coefficients), the prediction parameters (the motion prediction mode (prediction image identification information), the motion vector (the motion vector is included in the prediction parameters when the difference image A is selected by the encoding mode determining unit 4 shown in FIG.
- variable length decoding unit 22 constructs a variable length decoding unit.
- the prediction error decoding unit 23 carries out a process of inverse-quantizing the compressed data outputted from the variable length decoding unit 22 to acquire the DCT coefficients, and carrying out an inverse DCT process on the DCT coefficients to calculate a prediction error signal decoded value (i.e. a signal corresponding to the prediction difference signal outputted from the encoding mode determining unit 4 of FIG. 1 ) which shows a difference image.
- the prediction error decoding unit 23 constructs an inverse quantizing unit.
- the motion compensation unit 24 carries out a process of reading the reference image shown by the identification number in the prediction parameters outputted from the variable length decoding unit 22 from one or more frames of reference image stored in a frame memory 28 , and, when the picture encoding method control information outputted from the variable length decoding unit 22 shows that “normal picture encoding is to be carried out”, performing a motion compensation process using the motion prediction mode and the motion vector, which are included in the prediction parameters outputted from the variable length decoding unit 22 , and the above-mentioned reference image to generate a prediction image A.
- the motion compensation unit carries out a process of generating an estimated vector of the macroblock to be decoded from the motion vector of the already-decoded macroblock stored in the motion parameter memory 21 , and performing a motion compensation process using the estimated vector to generate a prediction image B.
- the motion compensation unit 24 constructs a prediction image generating unit.
- the selection switch 25 When the picture encoding method control information outputted from the variable length decoding unit 22 shows that “normal picture encoding is to be carried out”, the selection switch 25 carries out a process of selecting the prediction error signal decoded value calculated by the prediction error decoding unit 23 , and outputting the prediction error signal decoded value to an adder 26 . In contrast, when the picture encoding method control information outputted from the variable length decoding unit shows that “skip picture encoding is to be carried out”, the selection switch carries out a process of selecting all zero values and outputting these all zero values to the adder 26 .
- the adder 26 carries out a process of adding either the local decoded prediction difference signal or the all zero values selected by the selection switch 25 to the prediction signal showing the prediction image generated by the motion compensation unit 24 to generate a decoded image signal showing a decoded image.
- the loop filter 27 carries out a distortion compensation process of compensating for an encoding distortion included in the decoded image generated by the adder 26 by using a block distortion removal filter (deblocking filter) for a DCT block boundary.
- the loop filter carries out a motion block boundary smoothing process of smoothing the discontinuity at a block boundary (in the motion prediction mode B, a macroblock boundary) which occurs in the motion vector allocation region of the prediction image.
- a decoded image generating unit is comprised of the selection switch 25 , the adder 26 , and the loop filter 27 .
- the frame memory 28 is a recording medium, such as a RAM, for storing a reproduced image (the decoded image filtered) outputted from the loop filter 27 as a reference image.
- variable length decoding unit 22 the prediction error decoding unit 23 , the motion compensation unit 24 , the selection switch 25 , the adder 26 , and the loop filter 27 , which are the components of the image decoding device, consist of pieces of hardware for exclusive use (e.g., integrated circuits in each of which a CPU is mounted, or one-chip microcomputers), respectively.
- FIG. 9 is a flow chart showing the processing carried out by the image decoding device in accordance with Embodiment 1 of the present invention.
- the motion-compensated prediction unit 2 generates a prediction image for each of all motion prediction modes (patterns of allocation of a motion vector within each macroblock or each subblock) which are selectable in accordance with a picture type specified.
- FIG. 2 is an explanatory drawing showing an example of the motion prediction modes which are selectable in accordance with the picture type.
- mc_mode 0 is the mode in which one motion vector is allocated to an entire macroblock (M ⁇ L pixel block).
- mc_mode 1 is the mode in which a macroblock is divided into equal parts which are aligned horizontally, and different motion vectors are allocated to the right and left subblocks into which the macroblock is divided, respectively.
- mc_mode 2 is the mode in which a macroblock is divided into equal parts which are aligned vertically, and different motion vectors are allocated to the upper and lower subblocks into which the macroblock is divided, respectively.
- mc_mode 3 is the mode in which a macroblock is divided into four parts, and different motion vectors are allocated to the four subblocks into which the macroblock is divided, respectively.
- each of the units into which each macroblock is divided in mc_mode 3 is a sub-macroblock, and each sub-macroblock can be further divided into parts in a mode, such as mc_mode 0 , . . . , or mc_mode 3 , and a motion vector can be allocated to each of the parts.
- a mode such as mc_mode 0 , . . . , or mc_mode 3
- a motion vector can be allocated to each of the parts.
- each sub-macroblock corresponds to a block of 16 ⁇ 16 pixels when each macroblock has a sufficient large size (e.g. a block of 32 ⁇ 32 pixels, a block of 64 ⁇ 64 pixels, or the like)
- each sub-macroblock can be divided more finely into smaller units in such a way that the inputted image can have a tree-structured hierarchical layer divided construction.
- the encoding device and the decoding device in accordance with this Embodiment 1 can also support such a sub-macroblock structure.
- the motion-compensated prediction unit 2 uses the prediction image generating method in accordance with the motion prediction mode A and the prediction image generating method in accordance with the motion prediction mode B as the prediction image generating method at the time of generating a prediction image while limiting the motion prediction mode to a case equivalent to mc_mode 0 of FIG. 2 in which one motion vector is allocated to each macroblock.
- mc_mode 0 of FIG. 2 in which one motion vector is allocated to each macroblock
- the motion-compensated prediction unit 2 When the inputted picture encoding method control information shows that “normal picture encoding is to be carried out” (step ST 1 of FIG. 8 ), the motion-compensated prediction unit 2 generates a prediction image A in the motion prediction mode A, and also generates a prediction image B in the motion prediction mode B (step ST 2 ). In contrast, when the inputted picture encoding method control information shows that “skip picture encoding is to be carried out” (step ST 1 ), the motion-compensated prediction unit 2 does not generate a prediction image A in the motion prediction mode A, but generates a prediction image B in the motion prediction mode B (step ST 3 ).
- the motion-compensated prediction unit 2 selects one frame of reference image from the one or more frames of reference image for motion-compensated prediction which are stored in the frame memory 10 , and searches for a motion vector through the macroblock to be encoded and the reference image (searches for a motion vector in a predetermined motion search range on the reference image).
- the motion-compensated prediction unit then carries out a motion-compensated prediction process using the motion vector to generate a prediction image A (generates a prediction image A by using an image area which is displaced from the position in the screen of the macroblock to be encoded by the motion vector).
- the motion-compensated prediction unit 2 generates an estimated vector of the macroblock to be encoded from the motion vectors of already-encoded macroblocks stored in the motion parameter memory 1 , and carries out a motion-compensated prediction process using the estimated vector to generate a prediction image B.
- a prediction image generating method based on the direct prediction for use in standard encoding methods such as MPEG-4 visual (ISO/IEC 14496-2) and MPEG-4 AVC/ITU-T H.264 (referred to as “AVC” from here on), can be used.
- a B picture which enables a prediction using a maximum of two motion vectors for a block to which one motion vector can be allocated can be used, and the following two types of modes: a time direct mode and a space direct mode are prepared.
- a time direct mode the motion vector of another already-encoded picture is referred to and a scaling process is carried out on the motion vector in accordance with a time difference between the already-encoded picture and the picture to be encoded to calculate a motion vector (direct vector) which is to be used for the macroblock to be encoded.
- the motion vector of at least one already-encoded macroblock located around the macroblock to be encoded is referred to, and a motion vector (direct vector) which is to be used for the macroblock to be encoded is calculated.
- a motion vector direct vector
- FIG. 3 is a schematic diagram showing a method of calculating a direct vector in the time direct mode.
- P shows a P picture
- B shows a B picture.
- a P picture enables a prediction using one motion vector for a block to which one motion vector can be allocated.
- Numerals 0 to 3 show the display order of pictures, and also show that the corresponding pictures are display images at times T 0 , T 1 , T 2 , and T 3 , respectively. It is assumed that an encoding process of encoding a picture is carried out in order of P 0 , P 3 , B 1 , and B 2 .
- the motion vector MV of a macroblock MB 2 which is spatially located at the same position as the macroblock MB 1 , and which is the motion vector of the picture P 3 nearest to the picture B 2 , the picture P 3 being included in the already-encoded pictures located behind the picture B 2 on the time axis, is used.
- This motion vector MV refers to the picture P 0 (the motion vector MV is acquired as the result of searching for the picture P 0 as a reference image), and motion vectors MVL 0 and MVL 1 which are used when encoding the macroblock MB 1 are calculated in accordance with the following equation (1).
- the motion parameter memory 1 for holding the motion vectors MV is needed.
- the storage of the motion vectors in the motion parameter memory 1 is carried out in such a way that when encoding a P picture or a picture which is to be used as a reference image for a subsequent motion-compensated prediction, one screenful of the motion vectors used for the encoding are stored one after another, as shown in FIG. 3 .
- FIG. 4 is a schematic diagram showing a method of estimating a motion vector in the space direct mode.
- currentMB shows the macroblock to be encoded.
- the motion vector of an already-encoded macroblock A located to the left of the macroblock to be encoded is expressed as MVa
- the motion vector of an already-encoded macroblock B located above the macroblock to be encoded is expressed as MVb
- the motion vector of an already-encoded encoded macroblock C located to the right of and above the macroblock to be encoded is expressed as MVc
- the motion vector MV of the macroblock to be encoded can be estimated by determining the median of these motion vectors MVa, MVb, and MVc, as shown in the following equation (2).
- MV median(MV a ,MVb,MV c ) (2)
- the motion prediction mode B is this direct prediction mode for use in AVC.
- the subtractor 3 When receiving the prediction images A and B respectively generated in the prediction modes A and B from the motion-compensated prediction unit 2 , the subtractor 3 subtracts the prediction image A from the image of the macroblock to be encoded, and outputs a prediction difference signal showing a difference image A which is the result of the subtraction to the encoding mode determining unit 4 .
- the subtractor also subtracts the prediction image B from the image of the macroblock to be encoded, and outputs a prediction difference signal showing a difference image B which is the result of the subtraction to the encoding mode determining unit 4 (step ST 4 ).
- the picture encoding method control information shows that “skip picture encoding is to be carried out”
- the subtractor does not carry out the processes of calculating the difference images.
- the encoding mode determining unit 4 uses the prediction difference signals showing the difference images A and B outputted from the subtractor 3 to calculate rate distortion costs J as evaluated degrees of efficiency of encoding of the difference images A and B, respectively (step ST 5 ).
- J D+ ⁇ R (3) where “ ⁇ ” is a positive constant.
- “D” is the sum of absolute values in the macroblock of the prediction difference signal showing the difference image A or the prediction difference signal showing the difference image B.
- the distortion sum of squared differences between the local decoded prediction difference signal outputted from the local decoding unit 6 and the image of the inputted macroblock can be used as “D” when the prediction difference signal showing the difference image A or the prediction difference signal showing the difference image B is outputted to the compressing unit 5 .
- a code amount (or an estimated value of the code amount) is used as “R” when the prediction difference signal showing the difference image A or the prediction difference signal showing the difference image B, and the prediction parameters corresponding to those prediction difference signals are encoded.
- the encoding mode determining unit 4 selects the difference image which provides a smaller one of the rate distortion costs J from the difference images A and B, and outputs the prediction difference signal showing the difference image to the compressing unit 5 (step ST 6 ).
- the encoding mode determining unit outputs the prediction difference signal showing the difference image A to the compressing unit 5 , and stores the prediction parameters (the motion prediction mode A, the motion vector, and the identification number of the reference image) used for the generation of the prediction image A in the motion prediction mode A in the motion parameter memory 1 while outputting the prediction parameters to the variable length encoding unit 11 .
- the encoding mode determining unit outputs the prediction difference signal showing the difference image B to the compressing unit 5 , and stores the prediction parameters (the motion prediction mode B, the direct vector, and the identification number of the reference image) used for the generation of the prediction image B in the motion prediction mode B in the motion parameter memory 1 while outputting the prediction parameters (the motion prediction mode B and the identification number of the reference image) to the variable length encoding unit 11 .
- the encoding mode determining unit 4 When the electric power of the prediction difference signal showing the difference image B calculated from the prediction image B generated in the motion prediction mode B is not zero, the encoding mode determining unit 4 outputs the prediction difference signal to the compressing unit 5 in order to encode the non-zero transform coefficients (compressed data) acquired through the DCT process and the quantization process.
- the encoding mode determining unit 4 When the picture encoding method control information shows that “skip picture encoding is carried out”, the encoding mode determining unit 4 always outputs a prediction difference signal having a zero value. More specifically, even when the electric power of the prediction difference signal showing the difference image B outputted from the subtractor 3 is not zero, the encoding mode determining unit 4 forcedly replaces the prediction difference signal by a zero value and outputs the prediction difference signal having a zero value to the compressing unit 5 (step ST 7 ).
- the image encoding device can be constructed in such a way that the encoding mode determining unit 4 skips the process, and the compressing unit 5 and the local decoding unit 6 generate a prediction difference signal of all zeros internally when the picture encoding method control information shows that “skip picture encoding is carried out”.
- the encoding mode determining unit also stores the prediction parameters (the motion prediction mode B, the direct vector, and the identification number of the reference image) used for the generation of the prediction image B in the motion prediction mode B in the motion parameter memory 1 .
- An amount of distortion, which is acquired as a result of forcedly making the prediction difference signal have a zero value, is calculated, and the rate distortion cost J of each macroblock in the case in which the picture encoding method control information shows that “skip picture encoding is to be carried out” is made to be substantially equal to “D” showing the amount of distortion which is acquired as the result of forcedly making the prediction difference signal have a zero value.
- the code amount at the time that the prediction difference signal and the prediction parameters are encoded is used as “R”, as mentioned above, the code amount of the prediction parameters is assumed to be zero because the motion vectors of already-encoded macroblocks stored in the motion parameter memory 1 are referred to (the image decoding device refers to the motion vectors of already-decoded macroblocks stored in the motion parameter memory 21 ), and a direct vector is calculated in accordance with a procedure for the direct prediction for use in AVC. Further, because the prediction difference signal is forcedly made to have a zero value, the code amount of the prediction difference signal is also assumed to be zero. Therefore, the code amount required to encode the macroblock to be encoded is assumed to be zero, and the cost J has a value substantially equal to “D”.
- the compressing unit 5 When receiving the prediction difference signal from the encoding mode determining unit 4 , the compressing unit 5 calculates DCT coefficients by carrying out a DCT process on the prediction difference signal, and also quantizes the DCT coefficients and outputs compressed data (including the quantization parameters used at the time of quantizing the DCT coefficients) which are the DCT coefficient quantized thereby to the local decoding unit 6 and the variable length encoding unit 11 (step ST 8 ). However, when the picture encoding method control information shows that “skip picture encoding is to be carried out”, the compressing unit 5 can skip the process because the prediction difference signal of all zeros is provided from the encoding mode determining unit 4 (step ST 9 ). As an alternative, the compressing unit can receive the picture encoding method control information, and forcedly output a zero value by itself.
- the local decoding unit 6 When receiving the compressed data from the compressing unit 5 , the local decoding unit 6 inverse-quantizes the compressed data by using the quantization parameters included in the compressed data to acquire the DCT coefficients, and carries out an inverse DCT process on the DCT coefficients to calculate a local decoded prediction difference signal corresponding to the prediction difference signal outputted from the encoding mode determining unit 4 (step ST 8 ).
- the local decoding unit 6 can be alternatively constructed in such a way as to skip the process when the picture encoding method control information shows that “skip picture encoding is to be carried out” because the compressed data with all zero values are provided from the compressing unit 5 (step ST 9 ).
- the local decoding unit can forcedly output a zero value by itself in response to the picture encoding method control information.
- the selection switch 7 selects the local decoded prediction difference signal calculated by the local decoding unit 6 , and outputs this local decoded prediction difference signal to the adder 8 .
- the selection switch selects the data with all zero values and outputs this data to the adder 8 (step ST 9 ).
- the adder 8 adds the local decoded prediction difference signal or the data with all zero values selected by the selection switch 7 , and the prediction signal showing the prediction image (the prediction image associated with the difference image which provides the highest degree of encoding efficiency) generated by the motion-compensated prediction unit 2 to generate a local decoded image signal showing the local decoded image (steps ST 8 and ST 9 ).
- the loop filter 9 carries out a distortion compensation process of compensating for the encoding distortion included in the local decoded image generated by the adder 8 by using a block distortion removal filter (deblocking filter) for a DCT block boundary (step ST 10 ).
- the picture encoding method control information shows that “skip picture encoding is to be carried out”
- the loop filter carries out a motion block boundary smoothing process of smoothing the discontinuity at a block boundary (a macroblock boundary in the motion prediction mode B) which occurs in the motion vector allocation region of the prediction image (step ST 11 ).
- a loop filtered image (the local decoded image filtered) outputted from the loop filter 9 is stored in the frame memory 10 as a reference image.
- an overlap motion compensation process at a macroblock boundary is used as the motion block boundary smoothing process in the loop filter 9 .
- FIG. 5 is an explanatory drawing showing the overlap motion compensation process.
- a macroblock X shown in FIG. 5( a ) is the one which is the current target to be processed, and macroblocks A, B, C, and D are the ones located at positions surrounding the macroblock X.
- the motion block boundary smoothing process in accordance with this Embodiment 1 is based on the assumption that the process is carried out on each frame, and it is assumed that at a time of carrying out the smoothing process on the macroblock X, the macroblocks A, B, C, and D located around the macroblock X are also already in a state in which motion vectors MVL 0 and MVL 1 are determined similarly. By using this fact, image data as will be shown below are reproduced for block boundary areas X 0 to X 3 in the macroblock X shown in FIG. 5( b ).
- v 0 vertical component of MVL 0 i (i: A, B, C, or D)
- v 1 vertical component of MVL 1 i (i: A, B, C, or D)
- I(x, y) pixel value at pixel position (x, y)
- I′(x, y) pixel value at pixel position (x, y) on which overlap motion compensation process is carried out
- the weight parameters w 0 to w 4 are defined in accordance with each pixel position in the macroblock, as shown in, for example, FIGS. 12 and 13 (in the case in which each macroblock is a block of 16 ⁇ 16 pixels).
- each macroblock is a block of 16 ⁇ 16 pixels.
- the inputted image is a color image which consists of brightness signals and color difference signals (or RGB or the like), and blocks of different colors are also included in each macroblock
- this smoothing process is carried out on each color block by using weight parameters which are determined in accordance with the characteristics of each color component.
- the macroblock size is variable, an area which defines a non-zero weight in each of the areas X 0 to X 3 can be constructed in such a way as to be set in accordance with the size of the macroblock.
- the weight parameters can be designed in such a way that the weight depending on the value of a peripheral motion vector on the vicinity of the center of the macroblock X becomes small in accordance with the macroblock size.
- the image encoding device can control the weight parameters to optimal values, and the variable length encoding unit 11 can encode the weight parameter to multiplex these parameters into the bitstream.
- Units in which to encode the weight parameters can be units of one picture or units of one slice which is a collection of two or more macroblocks.
- the encoding device can acquire both the local decoded image and the picture code amount in the case in which “normal picture encoding is to be carried out”, and the local decoded image and the picture code amount (can be assumed to be nearly zero) in the case in which “skip picture encoding is to be carried out” by controlling each of the components by using the picture encoding method control information. Therefore, the encoding device calculates the rate distortion cost of the picture from each of both the process results (steps ST 12 and ST 13 ), and uses the encoding method which provides a smaller calculated cost for the encoding of the picture currently being processed (step ST 14 ).
- variable length encoding unit 11 entropy-encodes the compressed data outputted from the compressing unit 5 (including the quantization parameters used at the time of quantizing the DCT coefficients), the prediction parameters outputted from the encoding mode determining unit 4 (the motion prediction mode, the motion vector, the identification number of the reference image), and the picture encoding method control information to generate a bitstream (encoded data) showing the encoded result, and outputs the bitstream (step ST 10 ).
- variable length encoding unit 11 When the encoding mode determining unit 4 has selected the difference image A, the variable length encoding unit 11 entropy-encodes the prediction parameters including the motion vector, whereas when the encoding mode determining unit 4 has selected the difference image B, the variable length encoding unit 11 entropy-encodes the prediction parameters which do not include the motion vector (direct vector). In contrast, when that “skip picture encoding is to be carried out” is selected as the result of the above-mentioned cost comparison, the variable length encoding unit 11 only encodes the picture encoding method control information, but does not multiplex any macroblock-level encoded data into the bitstream. However, when adaptively changing the weight parameters to carry out the encoding, the variable length encoding unit multiplexes the weight parameter values into the bitstream in units of change in the weight parameter values.
- the image encoding device in accordance with this Embodiment 1 is constructed in such a way as to carry out encoding and an efficiency evaluation on the target picture both in the case in which “normal picture encoding is to be carried out” and in the case in which “skip picture encoding is to be carried out”, and, after that, select the encoding method which provides a smaller rate distortion cost and then encode the target picture, as mentioned above, the encoding procedure is not limited to this two pass encoding.
- the image encoding device can be constructed in such a way as to separately hold the motion parameters of all the macroblocks which are acquired as the result of having evaluated the motion prediction mode B because the prediction process corresponding to the motion prediction mode B which is to be used also in the case in which “skip picture encoding is carried out” has been carried out in the processing procedure for “carrying out normal picture encoding”, and to enable results in the case in which “normal picture encoding is to be carried out” and results in the case in which “skip picture encoding is to be carried out” to be acquired simultaneously when the local decoded image reaches the loop filter 9 .
- the image encoding device can be constructed in such a way as to acquire activity information for determining whether adequate encoding performance can be achieved by “carrying out skip picture encoding” on a per-picture basis in advance, and then determine whether or not to evaluate the process of “carrying out skip picture encoding” on the picture currently being processed on the basis of the activity information.
- the image encoding device grants a permission to “carry out skip picture encoding” only when the frame rate is higher than a predetermined value, grants a permission to “carry out skip picture encoding” only when a simple difference between adjacent frames is equal to or smaller than a predetermined threshold (when a movement between frames is relatively small), or grants a permission to “carry out skip picture encoding” only when a simple difference between adjacent frames, which is determined from the motion parameters acquired from the results of previous inter-frame predictive encoding, and the code amount of the prediction difference signal, is equal to or smaller than a predetermined threshold.
- the image encoding device can carry out the encoding while suppressing the amount of computation without carrying out the two pass encoding process and evaluation.
- FIG. 6 is an explanatory drawing showing the bitstream outputted from the variable length encoding unit 11 .
- This figure particularly shows an encoded picture data portion.
- the variable length encoding unit 11 When the picture encoding method control information shows that “normal picture encoding is to be carried out”, the variable length encoding unit 11 generates and outputs a bitstream into which the encoded data about the plurality of macroblocks in the picture (the data about the compressed data encoded, and the prediction parameters), as well as picture-level header data, are inserted, as shown in FIG. 6( a ).
- variable length encoding unit does not multiplex the encoded data about the macroblocks (the data about the compressed data encoded) into the bitstream, as shown in FIG. 6( b ).
- the encoded data about the macroblocks are multiplexed into the bitstream. Because the motion compensation unit 24 of the image decoding device generates a direct vector independently in the direct prediction for use in AVC, the direct vector generated by the motion-compensated prediction unit 2 is not included in the prediction parameters, and therefore is not multiplexed into the bitstream.
- the image encoding device estimates a motion vector (direct vector) for each of all the macroblocks from the motion vectors of already-encoded macroblocks, and generates a decoded image from a prediction image which the image decoding device has generated using the motion vector, as mentioned above, and therefore the image decoding device can generate a prediction image in accordance with the same method as that which the image encoding device uses and generate a decoded image from the prediction image even if there are no macroblock-level encoded data.
- variable length encoding unit 11 multiplexes the picture encoding method selection information inputted to the image encoding device into the picture-level header data. Further, when the image encoding device controls the weight parameters w 0 to w 7 for the overlap motion compensation process to optimal values, the variable length encoding unit 11 multiplexes the weight parameters w 0 to w 7 into the picture-level header data.
- the image encoding device can alternatively select either the normal picture encoding or the skip picture encoding on a per-slice basis, a slice defining a particular partial area in the screen.
- the image encoding device is constructed in such a way as to separately carry out the processing for each slice, and the picture encoding method selection information can be multiplexed into slice-level header data as slice encoding method selection information and the weight parameters w 0 to w 4 can also be multiplexed into the slice-level header data.
- the encoding device and the decoding device can be constructed in such away as to determine the block size in the case of carrying out the skip picture encoding under a common rule in accordance with the size of the inputted image and the size of each macroblock.
- the encoding device can be constructed in such a way as to encode the block size in the case of carrying out the skip picture encoding to multiplex the encoded block size into the picture-level header and transmit this encoded block size to the decoding device (units in which this encoding is carried out are not limited to units of one picture, and the encoding can be carried out in units of one slice (on a per-slice basis)).
- the image encoding device in accordance with this Embodiment 1 is constructed in such a way that the image encoding device includes the encoding mode determining unit 4 for evaluating the degree of efficiency of encoding of a difference image A which is the difference between the image of the macroblock to be encoded, and a prediction image A generated by the motion-compensated prediction unit 2 in the motion prediction mode A while evaluating the degree of efficiency of encoding of a difference image B which is the difference between the image of the macroblock to be encoded, and a prediction image B generated by the motion-compensated prediction unit 2 in the motion prediction mode B to select the difference image having a higher degree of encoding efficiency from the difference images, and the compressing unit 5 for carrying out a DCT process and a quantization process on a prediction difference signal showing the difference image selected by the encoding mode determining unit 4 to generate compressed data (including quantization parameters), and the variable length encoding unit 11 entropy-encodes the compressed data outputted from
- the image encoding device can provide adequate encoding quality in the encoding process.
- the code amount can be reduced greatly as compared with the case in which the prediction image A is generated in the motion prediction mode A of carrying out the normal picture encoding because it is not necessary to multiplex the encoded picture data (the compressed data encoded) into the bitstream, while even when adequate quality cannot be ensured through the use of the prediction image B generated in the motion prediction mode B, the encoding quality can be maintained because the prediction image A generated in the motion prediction mode A can be used.
- the motion prediction mode B of encoding a skip picture there is a case in which in the direct prediction, an image having adequate quality can be reproduced only by smoothing the discontinuity at a block boundary which occurs in the motion vector allocation region of the prediction image.
- the data volume of signaling can be reduced to smaller than that at a time of transmitting control information about macroblock skips for each macroblock, the control information showing that the prediction difference signal is zero.
- the advantage of reducing the code amount of the control information is enhanced.
- the encoding mode determining unit 4 in accordance with this Embodiment 1 is constructed in such a way as to forcedly replace the prediction error signal showing the difference image B which is the difference between the image of the macroblock to be encoded and the prediction image B generated in the motion prediction mode B with zero values when the picture encoding method control information shows that “skip picture encoding is to be carried out”, there is provided an advantage of being able to reduce the code amount required to encode the macro block to be encoded to approximately zero, and reduce the code amount of the bitstream greatly.
- the compressing unit 5 in accordance with this Embodiment 1 is constructed in such a way as to output the prediction error signal (signal with all zero values) showing the difference image B which is the difference between the image of the macro block to be encoded, and the prediction image B generated in the motion prediction mode B to the variable length encoding unit 11 without carrying out the DCT process and the quantization process on the prediction error signal (signal with all zero values) when the picture encoding method control information shows that “skip picture encoding is to be carried out”, there is provided an advantage of being able to reduce the amount of information to be processed of the image encoding device.
- the loop filter 9 in accordance with this Embodiment 1 is constructed in such a way as to carry out a distortion compensation process of compensating for an encoding distortion included in a local decoded image when the picture encoding method control information shows that “normal picture encoding is to be carried out”, and to carry out a block boundary smoothing process of smoothing the discontinuity existing at a boundary between blocks when the picture encoding method control information shows that “skip picture encoding is to be carried out”, there is provided an advantage of being able to improve the quality of the local decoded image even in any one of the motion prediction modes A and B.
- the local decoding unit 6 in accordance with this Embodiment 1 is constructed in such a way as to handle the prediction image B generated by the motion-compensated prediction unit 2 as a local decoded image without carrying out an inverse quantization process and an inverse DCT process on the compressed data outputted from the compressing unit 5 when the picture encoding method control information shows that “skip picture encoding is to be carried out”, there is provided an advantage of being able to reduce the amount of information to be processed of the image encoding device.
- variable length decoding unit 22 analyzes the picture-level header data in the bitstream and then decodes the picture-level header data to acquire the picture encoding method selection information (step ST 11 of FIG. 9 ).
- the variable length decoding unit 22 carries out an entropy decoding process on the encoded macroblock data located behind the picture-level header data to decode the plurality of compressed data about the macroblocks in the picture (including the quantization parameters used at the time of quantizing the DCT coefficients) and the prediction parameters (step ST 13 ).
- the compressed data (including the quantization parameters used at the time of quantizing the DCT coefficient) decoded by the variable length decoding unit 22 are outputted to the prediction error decoding unit 23 , and the prediction parameters decoded by the variable length decoding unit 22 are outputted to the motion compensation unit 24 .
- variable length decoding unit 22 analyzes the picture-level header data and, when the weight parameters w 0 to w 4 and the information about the motion vector allocation block size which is the target for processing in the motion prediction mode B are multiplexed into the bitstream, decodes the weight parameters w 0 to w 4 and the information about the motion vector allocation block size.
- the variable length decoding unit further carries out an entropy decoding process on the encoded macroblock data located behind the picture-level header data to decode the prediction parameters of the plurality of macroblocks in the picture (step ST 14 ).
- the prediction parameters and the weight parameters w 0 to w 4 which are decoded by the variable length decoding unit 22 are outputted to the motion compensation unit 24 .
- the picture encoding method selection information decoded by the variable length decoding unit 22 is outputted to the motion compensation unit 24 , the selection switch 25 , and the loop filter 27 .
- the prediction error decoding unit 23 When receiving the compressed data from the variable length decoding unit 22 , the prediction error decoding unit 23 inverse-quantizes the compressed data to calculate DCT coefficients by using the quantization parameters included in the compressed data, like the local decoded section 6 shown in FIG. 1 , and carries out an inverse DCT process on the DCT coefficients to calculate a prediction error signal decoded value showing a difference image (i.e. a signal corresponding to the prediction difference signal outputted from the encoding mode determining unit 4 shown in FIG. 1 ) (step ST 15 ).
- a difference image i.e. a signal corresponding to the prediction difference signal outputted from the encoding mode determining unit 4 shown in FIG. 1
- the selection switch 25 selects the prediction error signal decoded value calculated by the prediction error decoding unit 23 , and outputs the prediction error signal decoded value to the adder 26 (step ST 16 ).
- the selection switch selects all zero values and outputs these all zero values to the adder 26 (step ST 17 ).
- the motion compensation unit 24 When receiving the prediction parameters from the variable length decoding unit 22 , the motion compensation unit 24 reads the reference image shown by the identification number in the prediction parameters from one or more frames of reference image stored in the frame memory 28 .
- the picture encoding method control information shows that “normal picture encoding is to be carried out”
- the motion prediction mode in the prediction parameters outputted from the variable length decoding unit 22 is the motion prediction mode A (step ST 18 )
- the motion compensation unit 24 generates a prediction image A in the motion prediction mode A, like the motion-compensated prediction unit 2 shown in FIG. 1 (step ST 19 ).
- the motion compensation unit 24 uses the motion vector in the prediction parameters outputted from the variable length decoding unit 22 without carrying out a search process of searching for a motion vector by itself.
- the motion prediction mode in the prediction parameters outputted from the variable length decoding unit 22 is the motion prediction mode B (step ST 18 )
- the motion compensation unit generates a prediction image B in the motion prediction mode B, like the motion-compensated prediction unit 2 shown in FIG. 1 (step ST 20 ).
- the motion compensation unit 24 generates a direct vector of the macroblock to be decoded from the motion vectors of already-decoded macroblocks stored in the motion parameter memory 21 , and carries out a motion-compensated prediction process using the direct vector to generate a prediction image B.
- the motion compensation unit 24 After generating a prediction image of the macroblock currently being processed, in order to prepare for generation of a prediction image of the next macroblock in the motion prediction mode B, the motion compensation unit 24 stores one screenful of the motion vector (direct vector) and the related information (the motion prediction mode B, the identification number of the reference image, the amount of prediction error, etc.) which have been used for the generation of the prediction image of the macroblock currently being processed in the motion parameter memory 21 .
- the motion compensation unit 24 When the picture encoding method control information shows that “skip picture encoding is to be carried out”, the motion compensation unit 24 generates a prediction image B in the motion prediction mode B, like the motion-compensated prediction unit 2 shown in FIG. 1 (step ST 21 ).
- the adder 26 adds the prediction error signal decoded value and the prediction signal showing either the prediction image A or the prediction image B generated by the motion compensation unit 24 to generate a decoded image signal showing a decoded image (step ST 22 ).
- the adder 26 adds the all zero values and the prediction signal showing the prediction image B generated by the motion compensation unit 24 to generate a decoded image signal showing a decoded image (step ST 23 ).
- the loop filter 27 carries out a distortion compensation process of compensating for an encoding distortion included in the decoded image generated by the adder 26 by using a block distortion removal filter (deblocking filter) for a DCT block boundary, like the loop filter 9 shown in FIG. 1 (step ST 24 ).
- the loop filter carries out a motion block boundary smoothing process of smoothing the discontinuity at a block boundary (a motion prediction mode B macroblock boundary) which occurs in the motion vector allocation region of the prediction image, like the loop filter 9 shown in FIG. 1 (step ST 25 ).
- the reproduced image outputted from the loop filter 27 (the decoded image filtered) is stored as a reference image in the frame memory 28 .
- the image decoding device in accordance with this Embodiment 1 is constructed in such a way as to include the motion compensation unit 24 for generating a prediction image A in the motion prediction mode A by using the motion vector decoded by the variable length decoding unit 22 when the picture encoding method control information decoded by the variable length decoding unit 22 shows that “normal picture encoding is to be carried out”, and for generating a prediction image in the motion prediction mode B when the picture encoding method control information decoded by the variable length decoding unit 22 shows that “skip picture encoding is to be carries out”, and to add the prediction image generated by the motion compensation unit 24 and the difference image outputted from the prediction error decoding unit 23 to generate a decoded image corresponding to the inputted image inputted to the image encoding device. Therefore, there is provided an advantage of being able to reproduce an image having high quality from the bitstream transmitted from the image encoding device.
- the image decoding device in accordance with this Embodiment 1 is constructed in such a way that the loop filter 27 carries out a distortion compensation process of compensating for an encoding distortion included in the decoded image when the picture encoding method control information decoded by the variable length decoding unit 22 shows that “normal picture encoding is to be carried out”, whereas the loop filter 27 carries out a block boundary smoothing process of smoothing the discontinuity existing at a boundary between blocks when the picture encoding method control information shows that “skip picture encoding is to be carried out”, there is provided an advantage of being able to improve the quality of the reproduced image.
- the image encoding device in which the motion-compensated prediction unit 2 generates a prediction image B by assuming that the motion prediction mode B is the direct prediction mode for use in AVC when the picture encoding method control information shows that “skip picture encoding is to be carried out” is shown.
- the motion prediction mode B is not limited to the direct prediction mode for use in AVC, the motion-compensated prediction unit 2 can alternatively generate a prediction image B in another mode.
- FIG. 10 is an explanatory drawing showing an example of the generating process of generating a prediction image B which is carried out by the motion-compensated prediction unit 2 (a generating process in a case of encoding a picture F t located just midway between already-encoded pictures F t ⁇ 1 and F t+1 with respect to time as a skip picture).
- FIG. 11 is an explanatory drawing showing an estimation of a motion vector d f (x, t) of a macroblock X.
- the motion-compensated prediction unit 2 After encoding the picture F as a P picture or an image which the motion-compensated prediction unit 2 refers to for a subsequent motion-compensated prediction, the motion-compensated prediction unit 2 stores the motion prediction modes, the motion vectors, and the motion prediction error amounts of the plurality of macroblocks in the picture F in the motion parameter memory 1 as a preparation for generating a prediction image B in the motion prediction mode B.
- the motion-compensated prediction unit 2 carries out interpolation in both directions shown in FIG. 10 on the macroblock to be processed.
- f ⁇ ( x , t ) f ⁇ ( x + d f ⁇ ( x , t ) , t - 1 ) + f ⁇ ( x + d b ⁇ ( x , t ) , t + 1 ) + 1 2 ( 4 )
- d f (x, t) and d b (x, t) are motion vectors and are estimated and determined from the motion vector of the already-encoded picture F t+1 stored in the motion parameter memory 1 in accordance with a procedure shown in FIG. 11 .
- the motion-compensated prediction unit 2 acquires the motion vectors, the motion prediction modes and the amounts of code of prediction residual of nine macroblocks which construct an area R in the already-encoded picture (i.e. the macroblock in the already-encoded picture F t+1 , which is located at the spatially same position as the macroblock X to be processed in the picture F t to be encoded, and eight macroblocks located close to the macroblock) from the motion parameter memory 1 , and refers to the motion vectors, the motion prediction modes and the amounts of code of prediction residual.
- the motion-compensated prediction unit can estimate the motion vector d f (x, t) which is a reference vector to the already-encoded picture F t ⁇ 1 in the block currently being processed on the interpolated image by performing a computation using the following equation (5).
- a vector in a block having a smaller amount of prediction error is given a larger weight.
- a method of estimating the motion vector d f (x, t) which is used in this embodiment is based on the characteristics that the smaller amount of prediction error, the higher degree of reliability the vector itself has, and the larger sum of the absolute values of prediction residuals, the lower degree of reliability the vector itself has.
- ⁇ is a weighting factor which is determined according the time interval between the picture F t and the picture F t+1 .
- a block on which intra-frame encoding has been carried out, among the nine macroblocks which construct the R area shown in FIG.
- the motion vector d f (x, t) is (0, 0) when a certain percentage or more of the 9 macroblocks in the area R are blocks on which intra-frame encoding has been carried out.
- the image encoding device can estimate the motion vector having a higher degree of precision which takes the reliability of the motion vector into consideration as compared with the case in which the motion vector is estimated only by using a direct prediction. Therefore, because the image encoding device can improve the quality of a skip picture, the image encoding device can use a larger number of skip pictures during the encoding process, thereby being able to enhance the effect of reducing the entire code amount.
- an optimal estimated motion vector is selected independently by the encoding device or by the encoding device and the decoding device in conjunction with each other so that the optimal estimated motion vector is used for generation of a decoded image of the skip picture.
- the encoding device selects an optimal estimated motion vector
- the encoding device is constructed in such a way as to multiplex an index of the optimal estimated motion vector which is acquired for each unit in which an estimated motion vector is determined into the bitstream.
- the decoding device needs to carry out an additional process for selection of an estimated motion vector while it is not necessary to multiplex an index of the estimated motion vector into the bitstream, thereby being able to improve the degree of encoding efficiency. Because the encoding device and the decoding device which are constructed in this way can select an estimated motion vector from among a plurality of candidates, there is provided an advantage of being able to carry out encoding while maintaining the quality even when an estimated motion vector which is uniquely acquired in accordance with a certain specific estimating method does not have an adequate degree of precision.
- the image encoding device, the image decoding device, the image encoding method, and the image decoding method can improve the quality of the playback image in the receive side, they are in accordance with the present invention suitable for using for image compression coding technique, compressed image data transmission technique, etc.
- 1 motion parameter memory 2 motion-compensated prediction unit (prediction image generating unit, motion detecting unit, first prediction image generating unit, motion vector generating unit, second prediction image generating unit), 3 subtractor (difference image selecting unit, encoding unit), 4 encoding mode determining unit (difference image selecting unit, encoding unit), 5 compressing unit (quantizing unit), 6 local decoding unit (reference image generating unit, local decoding unit), 7 selection switch (reference image generating unit, local decoding unit), 8 adder (reference image generating unit, local decoding unit), 9 loop filter (reference image generating unit, filtering unit), 10 frame memory, 11 variable length encoding unit (variable length encoding unit, encoding unit), 21 motion parameter memory, 22 variable length decoding unit (variable length decoding unit, first prediction image generating unit, decoding unit), 23 prediction error decoding unit (inverse quantizing unit, decoding unit), 24 motion compensation unit (prediction image generating unit, first prediction image generating unit, motion vector generating unit, second prediction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
- Patent reference 1: Japanese Unexamined Patent Application Publication No. 2009-188996
- Nonpatent reference 1: H. Sasai, S. Kondoh, and S. Kadono, “Frame-rate Up-conversion using Reliable Analysis of Transmitted Motion Information”, IEEE International Conference on Acoustic, Speech and Signal Processing (ICASSP) 2004, ITT-L1.5, May 2004.
MV =median(MVa,MVb,MVc) (2)
J=D+λR (3)
where “λ” is a positive constant.
where
is the sum of the absolute values of prediction residuals at Vi
Claims (15)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-081830 | 2010-03-31 | ||
JP2010081830 | 2010-03-31 | ||
PCT/JP2011/001329 WO2011121894A1 (en) | 2010-03-31 | 2011-03-07 | Image encoding device, image decoding device, image encoding method, and image decoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
US20130022124A1 US20130022124A1 (en) | 2013-01-24 |
US8948243B2 true US8948243B2 (en) | 2015-02-03 |
Family
ID=44711665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/638,095 Active 2031-12-31 US8948243B2 (en) | 2010-03-31 | 2011-03-07 | Image encoding device, image decoding device, image encoding method, and image decoding method |
Country Status (7)
Country | Link |
---|---|
US (1) | US8948243B2 (en) |
EP (1) | EP2555523A4 (en) |
JP (1) | JPWO2011121894A1 (en) |
KR (1) | KR101420957B1 (en) |
CN (1) | CN102823250B (en) |
TW (1) | TW201206203A (en) |
WO (1) | WO2011121894A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150181222A1 (en) * | 2009-02-19 | 2015-06-25 | Sony Corporation | Image processing device and method |
US10701372B2 (en) * | 2012-01-27 | 2020-06-30 | Sun Patent Trust | Encoding method, decoding method, encoding apparatus, and decoding apparatus |
US20230106242A1 (en) * | 2020-03-12 | 2023-04-06 | Interdigital Vc Holdings France | Method and apparatus for video encoding and decoding |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8605786B2 (en) * | 2007-09-04 | 2013-12-10 | The Regents Of The University Of California | Hierarchical motion vector processing method, software and devices |
EP2604031B1 (en) * | 2010-08-10 | 2017-03-08 | Google Technology Holdings LLC | Method and apparatus for streaming media content using variable duration media segments |
JP5594841B2 (en) * | 2011-01-06 | 2014-09-24 | Kddi株式会社 | Image encoding apparatus and image decoding apparatus |
JP6422011B2 (en) | 2012-05-11 | 2018-11-14 | サン パテント トラスト | Moving picture encoding method, moving picture decoding method, moving picture encoding apparatus, and moving picture decoding apparatus |
JP6399433B2 (en) * | 2013-05-31 | 2018-10-03 | サン パテント トラスト | Image encoding method, image decoding method, image encoding device, and image decoding device |
WO2016026526A2 (en) * | 2014-08-20 | 2016-02-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Video composition |
JP6481457B2 (en) * | 2015-03-26 | 2019-03-13 | 富士通株式会社 | Moving picture coding apparatus, moving picture coding method, moving picture decoding apparatus, and moving picture decoding method |
KR20170096088A (en) * | 2016-02-15 | 2017-08-23 | 삼성전자주식회사 | Image processing apparatus, image processing method thereof and recording medium |
CN116582679A (en) | 2016-05-24 | 2023-08-11 | 韩国电子通信研究院 | Image encoding/decoding method and recording medium therefor |
US10390033B2 (en) * | 2016-06-06 | 2019-08-20 | Google Llc | Adaptive overlapped block prediction in variable block size video coding |
US10567793B2 (en) * | 2016-06-06 | 2020-02-18 | Google Llc | Adaptive overlapped block prediction in variable block size video coding |
WO2018056602A1 (en) * | 2016-09-22 | 2018-03-29 | 엘지전자 주식회사 | Inter-prediction method and apparatus in image coding system |
CN108304846B (en) * | 2017-09-11 | 2021-10-22 | 腾讯科技(深圳)有限公司 | Image recognition method, device and storage medium |
US11949877B2 (en) * | 2021-10-01 | 2024-04-02 | Microsoft Technology Licensing, Llc | Adaptive encoding of screen content based on motion type |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6256417B1 (en) * | 1996-06-28 | 2001-07-03 | Matsushita Electric Industrial Co., Ltd. | Image coding apparatus, image decoding apparatus, image coding method, image decoding method, image coding program recording media, image decoding program recording media |
US6529632B1 (en) * | 1997-06-09 | 2003-03-04 | Hitachi, Ltd. | Image coding method |
JP2003102013A (en) | 2001-09-21 | 2003-04-04 | Hitachi Ltd | Decoder, encoder, and encoding decoder |
US20030113026A1 (en) | 2001-12-17 | 2003-06-19 | Microsoft Corporation | Skip macroblock coding |
US20040184666A1 (en) * | 2001-06-29 | 2004-09-23 | Shunichi Sekiguchi | Image encoder, image decoder, image encoding method, and image decoding method |
US20040252758A1 (en) | 2002-08-14 | 2004-12-16 | Ioannis Katsavounidis | Systems and methods for adaptively filtering discrete cosine transform (DCT) coefficients in a video encoder |
WO2005027497A2 (en) | 2003-09-07 | 2005-03-24 | Microsoft Corporation | Innovations in coding and decoding macroblock and motion information for interlaced and progressive video |
US20050190977A1 (en) | 2003-12-02 | 2005-09-01 | Samsung Electronics Co., Ltd. | Method and apparatus for video encoding |
JP2007513566A (en) | 2003-12-02 | 2007-05-24 | ソンギュングァン ユニヴァーシティ | Video coding method and apparatus |
US20070217500A1 (en) | 2003-12-31 | 2007-09-20 | Institute Of Computing Of Technology, Chinese Academy Of Sciences | Encoding Method for Skipped Macroblocks in Video Image |
US20090180543A1 (en) | 2008-01-10 | 2009-07-16 | Kenjiro Tsuda | Video codec apparatus and method thereof |
JP2009201112A (en) | 2008-02-20 | 2009-09-03 | Samsung Electronics Co Ltd | Coding and decoding methods for direct mode |
JP2009232324A (en) | 2008-03-25 | 2009-10-08 | Panasonic Corp | Image encoding apparatus, image encoding method and image encoding program |
US7702017B2 (en) * | 2004-04-16 | 2010-04-20 | Ntt Docomo, Inc. | Moving picture encoding apparatus, moving picture encoding method, moving picture encoding program, moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program |
US20100278266A1 (en) * | 2009-04-30 | 2010-11-04 | Megachips Corporation | Method of generating image data |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101448162B (en) * | 2001-12-17 | 2013-01-02 | 微软公司 | Method for processing video image |
-
2011
- 2011-03-07 WO PCT/JP2011/001329 patent/WO2011121894A1/en active Application Filing
- 2011-03-07 CN CN201180016494.7A patent/CN102823250B/en active Active
- 2011-03-07 JP JP2012508043A patent/JPWO2011121894A1/en active Pending
- 2011-03-07 KR KR1020127028411A patent/KR101420957B1/en active IP Right Grant
- 2011-03-07 EP EP11762148.2A patent/EP2555523A4/en not_active Ceased
- 2011-03-07 US US13/638,095 patent/US8948243B2/en active Active
- 2011-03-22 TW TW100109657A patent/TW201206203A/en unknown
Patent Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6256417B1 (en) * | 1996-06-28 | 2001-07-03 | Matsushita Electric Industrial Co., Ltd. | Image coding apparatus, image decoding apparatus, image coding method, image decoding method, image coding program recording media, image decoding program recording media |
US6529632B1 (en) * | 1997-06-09 | 2003-03-04 | Hitachi, Ltd. | Image coding method |
US6560367B1 (en) * | 1997-06-09 | 2003-05-06 | Hitachi, Ltd. | Image decoder and image decoding method |
US7747094B2 (en) * | 2001-06-29 | 2010-06-29 | Ntt Docomo, Inc. | Image encoder, image decoder, image encoding method, and image decoding method |
US20040184666A1 (en) * | 2001-06-29 | 2004-09-23 | Shunichi Sekiguchi | Image encoder, image decoder, image encoding method, and image decoding method |
US20100284467A1 (en) * | 2001-06-29 | 2010-11-11 | Ntt Docomo, Inc | Image coding apparatus, image decoding apparatus, image coding method, and image decoding method |
JP2003102013A (en) | 2001-09-21 | 2003-04-04 | Hitachi Ltd | Decoder, encoder, and encoding decoder |
JP2005513883A (en) | 2001-12-17 | 2005-05-12 | マイクロソフト コーポレーション | Skip macroblock coding |
US20030113026A1 (en) | 2001-12-17 | 2003-06-19 | Microsoft Corporation | Skip macroblock coding |
US20040252758A1 (en) | 2002-08-14 | 2004-12-16 | Ioannis Katsavounidis | Systems and methods for adaptively filtering discrete cosine transform (DCT) coefficients in a video encoder |
JP2005102170A (en) | 2003-08-14 | 2005-04-14 | Intervideo Inc | Method and system for filtering adaptive to discrete cosine transformation factor in video encoder |
WO2005027497A2 (en) | 2003-09-07 | 2005-03-24 | Microsoft Corporation | Innovations in coding and decoding macroblock and motion information for interlaced and progressive video |
JP2007504760A (en) | 2003-09-07 | 2007-03-01 | マイクロソフト コーポレーション | Innovations in encoding and decoding macroblocks and motion information for interlaced and progressive video |
JP2007513566A (en) | 2003-12-02 | 2007-05-24 | ソンギュングァン ユニヴァーシティ | Video coding method and apparatus |
US20050190977A1 (en) | 2003-12-02 | 2005-09-01 | Samsung Electronics Co., Ltd. | Method and apparatus for video encoding |
JP2007535221A (en) | 2003-12-31 | 2007-11-29 | 中国科学院計算技▲づ▼研究所 | Coding method of skip macroblock of video image |
US20070217500A1 (en) | 2003-12-31 | 2007-09-20 | Institute Of Computing Of Technology, Chinese Academy Of Sciences | Encoding Method for Skipped Macroblocks in Video Image |
US7702017B2 (en) * | 2004-04-16 | 2010-04-20 | Ntt Docomo, Inc. | Moving picture encoding apparatus, moving picture encoding method, moving picture encoding program, moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program |
US8243802B2 (en) * | 2004-04-16 | 2012-08-14 | Ntt Docomo, Inc. | Moving picture encoding apparatus, moving picture encoding method, moving picture encoding program, moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program |
US20090180543A1 (en) | 2008-01-10 | 2009-07-16 | Kenjiro Tsuda | Video codec apparatus and method thereof |
JP2009188996A (en) | 2008-01-10 | 2009-08-20 | Panasonic Corp | Video image codec apparatus, and method thereof |
JP2009201112A (en) | 2008-02-20 | 2009-09-03 | Samsung Electronics Co Ltd | Coding and decoding methods for direct mode |
JP2009232324A (en) | 2008-03-25 | 2009-10-08 | Panasonic Corp | Image encoding apparatus, image encoding method and image encoding program |
US20100278266A1 (en) * | 2009-04-30 | 2010-11-04 | Megachips Corporation | Method of generating image data |
Non-Patent Citations (1)
Title |
---|
Sasai et al., "Frame-Rate Up-Conversion Using Reliable Analysis of Transmitted Motion Information", 2004 IEEE, pp. 257-260. |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150181222A1 (en) * | 2009-02-19 | 2015-06-25 | Sony Corporation | Image processing device and method |
US9462294B2 (en) * | 2009-02-19 | 2016-10-04 | Sony Corporation | Image processing device and method to enable generation of a prediction image |
US9872020B2 (en) | 2009-02-19 | 2018-01-16 | Sony Corporation | Image processing device and method for generating prediction image |
US10334244B2 (en) | 2009-02-19 | 2019-06-25 | Sony Corporation | Image processing device and method for generation of prediction image |
US10931944B2 (en) | 2009-02-19 | 2021-02-23 | Sony Corporation | Decoding device and method to generate a prediction image |
US10701372B2 (en) * | 2012-01-27 | 2020-06-30 | Sun Patent Trust | Encoding method, decoding method, encoding apparatus, and decoding apparatus |
US11375210B2 (en) | 2012-01-27 | 2022-06-28 | Sun Patent Trust | Encoding method, decoding method, encoding apparatus, and decoding apparatus |
US11765364B2 (en) | 2012-01-27 | 2023-09-19 | Sun Patent Trust | Encoding method, decoding method, encoding apparatus, and decoding apparatus |
US20230106242A1 (en) * | 2020-03-12 | 2023-04-06 | Interdigital Vc Holdings France | Method and apparatus for video encoding and decoding |
Also Published As
Publication number | Publication date |
---|---|
US20130022124A1 (en) | 2013-01-24 |
EP2555523A1 (en) | 2013-02-06 |
CN102823250B (en) | 2015-08-19 |
JPWO2011121894A1 (en) | 2013-07-04 |
EP2555523A4 (en) | 2016-05-11 |
KR101420957B1 (en) | 2014-07-30 |
TW201206203A (en) | 2012-02-01 |
KR20130026436A (en) | 2013-03-13 |
WO2011121894A1 (en) | 2011-10-06 |
CN102823250A (en) | 2012-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8948243B2 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
US11265574B2 (en) | Image encoding method and image decoding method | |
US11388393B2 (en) | Method for encoding video information and method for decoding video information, and apparatus using same | |
RU2715015C1 (en) | Video prediction encoding device, video prediction encoding method, video prediction decoding device and video prediction decoding method | |
KR101269116B1 (en) | Decoding method of inter coded moving picture | |
KR101590511B1 (en) | / / Motion Vector Coding Method and Apparatus | |
KR101830352B1 (en) | Method and Apparatus Video Encoding and Decoding using Skip Mode | |
KR100750136B1 (en) | Method and apparatus for encoding and decoding of video | |
KR101431545B1 (en) | Method and apparatus for Video encoding and decoding | |
US9706204B2 (en) | Image encoding/decoding device and method | |
US9264731B2 (en) | Method and an apparatus for decoding a video | |
KR100727969B1 (en) | Apparatus for encoding and decoding image, and method theroff, and a recording medium storing program to implement the method | |
US20140328403A1 (en) | Image encoding/decoding method and apparatus using weight prediction | |
US9036712B1 (en) | Methods and/or apparatus for controlling zero-residual coding in predictive image/video coding | |
US20110150074A1 (en) | Two-pass encoder | |
KR20070032111A (en) | Method and apparatus for loseless encoding and decoding image | |
KR20090058954A (en) | Video coding method and apparatus using side matching, and video decoding method and appartus thereof | |
KR20070077313A (en) | Method for video encoding or decoding based on orthogonal transform and vector quantization, and apparatus thereof | |
KR20090087767A (en) | Method for predictive intra coding for image data | |
US20180184116A1 (en) | Apparatus for video encoding, apparatus for video decoding, and non-transitory computer-readable storage medium | |
KR101449683B1 (en) | Motion Vector Coding Method and Apparatus by Using Motion Vector Resolution Restriction and Video Coding Method and Apparatus Using Same | |
KR20100019088A (en) | Inter prediction apparatus and video encoding/decoding apparatus and method using same | |
KR101582495B1 (en) | Motion Vector Coding Method and Apparatus | |
KR101582493B1 (en) | Motion Vector Coding Method and Apparatus | |
KR101422058B1 (en) | Motion Vector Coding Method and Apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MITSUBISHI ELECTRIC CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SEKIGUCHI, SHUNICHI;ITANI, YUSUKE;SUGIMOTO, KAZUO;AND OTHERS;REEL/FRAME:029054/0760 Effective date: 20120918 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
CC | Certificate of correction | ||
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |