There will now be described a video decoding method and apparatus related to an embodiment referring to accompanying drawings.
According to a video decoding apparatus shown in
In the configuration, when a bit stream of MPEG-2 form is supplied to the VLC decoder 111 via a line 101, the VLC decoder 111 decodes encoded information (mode information of macroblock (MB), quantization information, motion vector information), and supplies the decoded information to the dequantizer 112, to the encoded information analyzer 120 and post filter unit 130 via the line L1, and to the motion compensated prediction unit 115 via the line 3.
The dequantizer 112 dequantizes DCT coefficient information of the decoded information supplied from the VLC decoder 111 to generate a DCT coefficient, and supplies it to the inverse DCT transformer 113. The inverse DCT transformer 113 inverse-transforms the DCT coefficient to reconstruct an image signal.
If the image signal reconstructed with the inverse DCT transformer 113 is a motion compensation error, the adder 114 adds the image signal to a motion compensated prediction value supplied from the motion compensated prediction unit 115 to reproduce a decoded image signal. If the image signal reconstructed with the inverse DCT transformer 113 is not a motion compensation error, it is reproduced as a decoded image signal as-is without being added to the prediction signal supplied from the motion compensated prediction unit 115 with the adder 114. The decoded image signal is output to the line L2 and stored in the frame memory of the motion compensated prediction unit 115.
The motion compensated prediction unit 115 generates a motion compensated prediction value based on the motion vector information supplied from the decoder 111 via the line L3, and supplies it to the adder 114. The adder 114 adds the reconstructed image signal of the inverse DCT transformer 113 and the motion compensated prediction value of the motion compensated prediction unit 115 to generate a decoded image signal. The decoded image signal is supplied to the post filter 130 via the line L2.
The encoded information analyzer 120 analyzes, from the encoded information supplied through the line L1, presence or absence of an AC component of a DCT coefficient of a block, and analyzes filter strength at the time of motion compensation from motion vector information. The encoded information analyzer 120 calculates a parameter of filter strength at the time of motion compensation in every block on the basis of these analysis information, and supplies it to the post filter 130 via the line L4.
The post filter 130 performs post-filtering on the decoded image signal supplied via the line L2 on the basis of the encoded information supplied via the line L1 and the parameter of filter strength at the time of the motion compensation which is supplied via the line L4. The filtered decoded image signal is output via the line 102.
There will now be described the encoded information analyzer 120 in conjunction with the drawings.
<Encoded Information Analyzer>
The encoded information analyzer 120 shown in
The encoded information is supplied to the DCT coefficient presence/absence determination unit 121 and the motion compensation (MC) filter strength calculator 122 via the line L1. The DCT coefficient presence/absence determination unit 121 analyzes whether a DCT coefficient exists in a block, on the basis of the encoded information according to the flow of
A process executed with the DCT coefficient presence/absence determination unit 121 will be explained concretely referring to the flow chart of
In step S12, it is determined whether the MB that the block belongs to is a skipped MB. When it is determined to be the skipped MB, the process advances to step S13 to set the block to “non-DCT coefficient”. When it is not determined in step S12 to be the skipped MB, the process advances to step S14 to determine whether the MB that the block belongs to is an intra MB. When it is determined to be the intra MB, the process advances to step S15 to determine whether the DCT coefficient includes an AC component. When this determination is YES, the block is set to “existence of DCT coefficient” in step S16. When the determination is NO, the process advances to step S13 to set the block to “no DCT coefficient”.
When the block is determined to be an intra MB in step S14, the process advances to step S17 to determine whether the flag of the block is “1” from coded_block_pattern information. When the flag is 1, the process advances to step S15 to determine whether AC component is contained in the DCT coefficient. When this determination is YES, the block is set to “existence of DCT coefficient” in step S16. Meanwhile, when the flag of the block is “0” and the DCT coefficient includes no AC component, the process advances to step S13 to set the block to “no DCT coefficient”. In this way, the block having no AC component of a DCT coefficient is detected, and set to “no DCT coefficient”.
A process executed with the MC filter strength calculator 122 will be explained concretely referring to the flow chart of
In step S21, when the DCT coefficient presence/absence determination information supplied from the DCT coefficient presence/absence determination unit 121 via the line 123 indicates “no DCT coefficient”, the process advances to step S22 to set the filter strength of the block to “0”. When the DCT coefficient presence/absence determination information indicates “no DCT coefficient” in step S21, the process advances to step S23 to derive motion vector (MV) information for subjecting the block to motion compensated prediction from the encoded information supplied via the line L1.
Subsequently, the process advances to step S24 to determine the position indicated by the motion vector information. When the position indicated by the motion vector information is an integer pixel position (◯ mark) in
When the position indicated by the motion vector information in step 25 is the position marked by “Δ” in
Further, when a motion vector of ½ pixel-precision is expressed in an integer value at the time of detecting the position indicated by the motion vector, most significant bits corresponding to horizontal and vertical directions of the motion vector, respectively, represent ½ pixel-precision. Therefore, it is possible to determine that the motion vector indicates which one of the positions marked by “◯”, “Δ” and “X” only by detecting the most significant bit.
There will now be described the post filter 130 of the embodiment in conjunction with drawings.
<Post Filter>
The post filter 130 shown in
When via the line L2 is gone through, and a playback picture signal is supplied from the video decoder 110 to the deringing filter 131 via the line L2, the deringing filter unit 131 removes ringing noise from the playback picture signal, and supplies a deringing process signal to the deblocking filter 132 via the line L33. The deblocking filter 132 removes block noise from the deringing process signal of the deringing filter 131 supplied via the line L33. The deringing filter 132 outputs a playback picture signal, from which ringing noise and block noise are removed, via the line 102.
The Q value generator 133 generates, for example, two Q values are generated from the encoded information supplied via the line L1. The Q values are values calculated on the basis of information of quantization width of a block or a block neighborhood thereto. The Q values are set so as to increase with an increase of the quantization width in this embodiment. The Q values are input to the threshold value generator 134 and filter adaptive control unit 135 via the lines L31 and L32, respectively. In this time, the Q values output via lines L31 and L32 may be the same value or different values considering a difference between the deringing filter intended for filtering the inside of the block and the deblocking filter intended for filtering the boundary between the blocks.
Threshold value generator 134 determines a threshold of the deringing filter by using a Q value supplied through the line L31, a to-be-filtered pixel value supplied via the line L2 and a pixel value neighborhood thereto, and filter strength information supplied via the line L4. This threshold is supplied to the deringing filter 131 via the line L34.
According to the embodiment, it is determined every block whether a DCT coefficient is present in coded data, the strength of a lowpass filter to be applied to the block having no DCT coefficient at the time of generating a motion compensated prediction image is determined according to the position indicated by the motion vector, and the block having no DCT coefficient is filtered according to the determined strength of the lowpass filter. In other words, the strength of filter is determined according to the position indicated by the motion vector when pasting a motion compensated reference image to the block having no DCT coefficient. The block is filtered according to the decided filter strength.
As described above, a degree of decrease of a given high-frequency component by the lowpass filter at the time of generation of a motion compensated prediction image is determined according to a block position indicated by a motion vector with precision of less than one pixel. The post filter filters the decoded image signal by decreasing a strength of filtering to be applied to the block to suppress coding noise as the degree of decrease of the given high-frequency component increases and subject the image signal to filtering.
The deringing filter 131 will be explained concretely referring to drawings.
The operative example that realized deringing filter 131 of the present embodiment with a ε filter is explained using
The ε filter is configured as shown in
In
The eight pixels surrounding the to-be-filtered pixel are nonlinearly processed with the non-linear arithmetic logical units 202 respectively. The operation of the non-linear arithmetic logical unit 202 is explained using
The outputs of all non-linear arithmetic logical units 202 in
The example realized the deringing filter 131 of the present embodiment by a coring process will be explained using
According to the coring process unit shown in
In the configuration, HPF 302 subjects the signal of to-be-filtered pixel to high pass filtering, and a process result is input to the coring processor 303. The coring processor 303 cuts a minute amplitude component from the to-be-filtered pixel value signal and then supplies it to the adder 304. The adder 304 adds the output signal of the coring processor 303 to the pixel value signal processed with the LPF 301 to generate a deringing filtered pixel value signal, and outputs it via the line L33.
A minute amplitude component is cut from a high pass filtered pixel value signal supplied from HPF 302 by non-linear function to vary according to the threshold value (TH) supplied via the line L34 as shown in
The deringing filter 131 removes the minute amplitude from the to-be-filtered pixel value signal by the threshold TH supplied via the line L34 in both examples (1) and (2). Further, in both examples, since the strength of filtering increases as the threshold applied via the line L34 increases, it is necessary to obtain an appropriate threshold adaptively for the ringing noise to be removed without losing picture quality.
In the present embodiment, when the block has no DCT coefficient, the filter strength is calculated at the time of motion compensated prediction (MC). When this filter strength increases, the threshold of the deringing filter is decreased to hard to be filtered. As a result, the excessive filtering is prevented from subjecting to the block to make it possible to suppress the temporal variation of picture quality.
There will now be described the threshold value generator 134 in conjunction with drawings.
(Threshold Generator)
The threshold generator 134 shown in
The threshold transformer 213 is supplied with the Q value (Q) via the line L31, dynamic range (DR) via the line L51 and the filter strength (S) of MC via the line L4. These parameters are transformed into thresholds of the deringing filter and then output via the line L34. The transformation from three parameters (Q, DR, S) to the threshold is performed by function “TH(Q, DR, S)”.
Qualitative relation between the ringing noise and two parameters (Q, DR) is as follows.
(1) Influence of ringing due to quantization increases as the quantization width increases (Q increases).
(2) Influence of ringing in the same quantization width increases as the edge strength in the block increases (DR increases). In other words, the function TH(Q, DR, S) has only to be a function increasing with an increase of two parameters (Q, DR).
The function TH(Q, DR, S) has only to decrease with an increase of the parameter S as described above. The function TH(Q, DR, S) may be expressed by the following function equation.
TH(Q, DR, S)=F(S)×((1−w)×Q+w×DR)
where w is a weighting factor of 0 to 1. The function F is a monotonically decreasing function, and has only to be 1 when the value of S is 0, and 0 when the value of S is maximum (the value is 2 in the example of
(Deblocking Filter and Filter Adaptive Controller)
The deblocking filter 132 and the filter adaptive controller 135 are not limited to the present embodiments, and have only to reduce discontinuity of the block boundary occurring due to quantization by correcting the pixel value of the block boundary of DCT.
The deblocking filter 132 can use a deblocking filter disclosed in Japanese Patent No. 3464908 as shown in
The values of pixels adjacent to each other at the block boundary are so corrected as to reduce the discontinuity of the block boundary in terms of relation between the waveforms S1 and S2 in
The deblocking filter 132 receives the pixel value via the Line L33, and corrects the pixel value using the complemented value input via the line L35, when the information indicates necessity of correction of the pixel value, and outputs the pixel value as-is via the line 102, when the information indicates nonnecessity of correction of the pixel value.
The above configuration makes it possible to suppress a change of picture quality due to excessive filtering without needing a frame memory described in JP-A 2004-140864.
The embodiments are explained in terms of a bit stream of MPEG-2 form. However, the present invention can apply to a bit stream of another encoding scheme using MC and DCT.
The processes shown in
The video decoding apparatus and method related to the present invention are effective for removing encoding noise occurring in decoding data compressed by MPEG-2, etc. in a digital broadcast compliant television or a video recorder/player apparatus.
According to the embodiment of the present invention, when the noise occurring due to MPEG-compression every screen is removed, the temporal variation of picture quality can be suppressed.
Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.
| Number | Date | Country | Kind |
|---|---|---|---|
| 2006-214814 | Aug 2006 | JP | national |