1. Field of the Invention
The present invention relates to a video encoding/decoding method and apparatus, in particular, a video encoding/decoding method and apparatus configured so that an effect of making picture quality improve is obtained, by setting and sending filter coefficient information of a loop filter on an encoding side and using it on a decoding side.
2. Description of the Related Art
In a video encoding/decoding method for orthogonal-transforming an image in units of a pixel block and quantizing a transform coefficient, picture quality degradation as referred to as block distortion occurs in a decoded image. In contrast, a deblocking filter described in G. Bjontegaard, “Deblocking filter for 4×4 based coding, ITU-T Q.15/SG16 VCEG document, Q15-J-27, May 2000 (Referring to as “Deblocking filter for 4×4 based coding” hereinafter) allows to make the block distortion inconspicuous visually and provide a subjectively good image by applying a lowpass filter to a block boundary. A block diagram of an encoding/decoding apparatus provided with a deblocking filter in “Deblocking filter for 4×4 based coding” is shown in
The deblocking filter is referred to as a loop filter as it is used in a loop of the encoding and decoding apparatus like a deblocking filter processor 901 of
However, the deblocking filter is for processing to reduce degradation occurring due to visual representation by gradating the block border. Error with respect to an input image is not always reduced. Conversely, a small texture may be lost, and picture quality may fall. Further, there is a problem that picture quality degradation occurring due to the filter has an effect to prediction image because a filtered image is used for prediction of an image to be encoded next as a reference image.
On one hand, unlike the loop filter, a filter acting on only an image to be output with a decoder is referred to as a post filter. The post-filter has a feature that since it does not use a filtered image as a reference image, the filter has no affect to prediction image. JP-A 2001 275110 (KOKAI) provides a video decoding method of changing use of a deblocking filter or use of a post filter dynamically. A block diagram of an encoding/decoding apparatus for changing loop filtering and post filtering as described in JP-A 2001-275110 (KOKAI) is shown in
In the video decoding method described in JP-A 2001-275110 (KOKAI), a deblocking filter processor 902 provided in the video decoding apparatus of
On one hand, S. Wittmann and T. Wdi, “Post-filter SEI message for 4:4:4 coding”, JVT of ISO/IEC MPEG & ITU-T VCEG, JVT-S030, April 2006 (“Post-filter SEI message for 4:4:4 coding” is referred to as hereinafter) describes a video encoding/decoding method for setting and encoding filter coefficient information of a post-filter on the encoding side, and performing post filter processing using the filter coefficient information decoded on the decoding side. A block diagram of a video encoding/decoding apparatus in “Post-filter SEI message for 4:4:4 coding” is shown in
The post-filter setting adjuster 905 provided on the video encoding apparatus of
The video encoding/decoding manner in “Post-filter SEI message for 4:4:4 coding” makes it possible to improve picture quality of the output image to which the post filter is applied to on the decoding side, by setting filter coefficient information on the encoding side so that an error between the decoded image and the input image reduces. However, the method of “Post-filter SEI message for 4:4:4 coding” is not for using an image improved in picture quality as a reference and cannot provide an effect improving an encoding efficiency on the encoding side.
As described above, the method disclosed by “Deblocking filter for 4×4 based coding” is not always for improving picture quality and has a problem of propagating picture quality degradation occurring due to the filter to a prediction image.
Further, the method disclosed by JP-A 2001-275110 (KOKAI) is for changing loop filtering and post filtering only on the decoding side and has a problem of causing mismatch between the encoding side and the decoding side.
Further, the method disclosed by “Post-filter SEI message for 4:4:4 coding” is for processing of improving picture quality of an image to output on the decoding side, and cannot provide an effect of improving an encoding efficiency by improving picture quality of a reference image to be used for prediction.
It is an object that the present invention provides a video encoding/decoding method and apparatus for encoding filter coefficient information set on an encoding side and decoding the filter coefficient information on a decoding side, which make it possible to improve an encoding efficiency by changing loop filter processing by similar processing on the encoding side and the decoding side, and by improving picture quality of a reference image to be used for prediction while suppressing the spread of picture quality degradation.
One aspect of the invention provides a video encoding method for using an encoded image as a reference image for prediction of an image to be encoded next, comprising applying a filter to a local decoded image of an encoded image to generate a restored image, setting filter coefficient information of the filter, encoding the filter coefficient information, encoding specific information indicating the local decoded image used as a reference image or the restored image, and storing either the local decoded image or the restored image as a reference image in a memory based on the specific information.
Another aspect of the present invention provides a video decoding method for using a decoded image as a reference image for prediction of an image to be decoded next, comprising applying a filter to the decoded image to generate a restored image, decoding filter coefficient information of the filter, decoding specific information indicating the decoded image used as a reference image or the restored image, and storing the decoded image or the restored image as a reference image in a memory based on the specific information.
There will now be explained an embodiment of the present invention referring to drawing hereinafter.
A video encoding apparatus concerning the first embodiment is explained referring to
A video encoding apparatus 1000 shown in
The prediction signal generator 101 receives an encoded reference image signal 19 stored in the buffer 108 and carries out given prediction processing to output a prediction image signal 11. The prediction processing may use, for example, temporal prediction by motion prediction/motion compensation or special prediction from an encoded pixel in a frame.
The subtracter 102 calculates a difference between an acquired input image signal 10 and the prediction image signal 11 to output a prediction error image signal 12. The transform/quantization module 103 acquires at first the prediction error image signal and performs transform processing. The transform/quantization module 103 performs orthogonal transform on the prediction error image signal 12 using, for example, DCT (discrete cosine transform) to generate a transform coefficient. As another embodiment, the transform coefficient may be generated by using techniques such as wavelet transform or independent component analysis. Subsequently, the transform/quantization module 103 performs quantization on the generated transform coefficient based on a quantization parameter set to the encoding controller 109 described below, and outputs a quantized transform coefficient 13. The quantized transform coefficient 13 is input to the inverse transform/dequantization module 105 at the same time as it is input to the entropy encoder 104.
The inverse transform/dequantization module 105 dequantizes the quantized transform coefficient according to a quantization parameter set at the encoding controller 109 and subjects the obtained transform coefficients to inverse transform (for example, inverse discrete cosine transform) and outputs a prediction error image signal 15. The adder 106 adds the prediction error image signal 15 acquired from the inverse transform/dequantization module 105 and the prediction image signal 11 generated with the prediction signal generator 101 and output a local decoded image signal 16.
The loop filter processor 107 acquires a local decoded image signal 16 and an input image signal 10, and outputs a reference image signal 19, filter coefficient information 17, and specific information indicating that a local decoded image or a restored image is used as a reference image, concretely switching information 18 for switching between the local decoded image and the restored image. Detailed description on the loop filter processor 107 will be described below. The reference image buffer 108 temporally stores the reference image signal 19 acquired from the loop filter processor 107. The reference image signal 19 stored in the reference image buffer 108 is referred to in generating the prediction image signal 11 with the prediction signal generator 101.
On one hand, the entropy encoder 104 receives the filter coefficient information 17 and the switching information 18 as well as quantized transform coefficient 13, and further other encoding parameters such as prediction mode information, block size switching information, a motion vector, and a quantization parameter, and subjects them to entropy coding (for example, Huffman encoding or arithmetic coding) to output encoded data 14. The encoding controller 109 performs a feedback control of the number of encoded bits, a quantization control, and a mode control, in other words, controls the whole of encoding.
Subsequently, the loop filter processor 107 of the video encoding apparatus concerning the first embodiment will be described in detail in conjunction with
The loop filter processor 107 shown in
The switching filter processor 111 comprises a filter processor 113 and a loop filter switch module 114 inside it. It receives the local decoded image 16, the filter coefficient information 17 and the switching information 18 and outputs the reference image signal 19. The switching information generator 112 receives the input image signal 10 and the reference image signal 19 from the switching filter processor 111, and generates the switching information 18 according to a given switching determination method. The generated switching information 18 is input to the switching filter processor 111 and the entropy encoder 104. The switching determination method will be described hereinafter.
The filter processor 113 receives the local decoded image signal 16 and the filter coefficient information 17, and performs filter processing on the local decoded image signal 16 according to the filter coefficient information 17 to generate a restored image signal 20. The generated restored image signal 20 is input to the loop filter switch module 114 described below. The loop filter switch module 114 receives the switching information 18, and switches between the terminal A and the terminal B with the inner switch SW according to the switching information 18 to output the local decoded image signal 16 or the restored image signal 20 as the reference image signal 19.
The above is configuration of the video encoding apparatus concerning the first embodiment.
There will be described in detail an operation of the loop filter of the video encoding apparatus concerning the first embodiment in conjunction with
At first, when the input image signal 10 is input to the video encoding apparatus 1000 of
The above serial processing is conventional encoding processing in the video encoding as referred to as so-called hybrid coding performing prediction processing and transform processing.
There will now be described in detail an operation of a loop filter which is characteristic processing in the video encoding apparatus 1000 concerning the first embodiment.
At first, the filter setting module 110 inside the loop filter processor 107 of
Next, the switching filter processor 111 of
At first, about a case that the local decoded image signal 16 is used as the reference image signal 19 and a case that the restored image signal 20 is used as the reference image signal 19, the switching information generator 112 performs switching determination processing and outputs the switching information 18 for determining which of the local decoded image signal 16 or the restored image signal 20 is used as the reference image signal 19. The inner switch SW of the loop filter switch module 114 is switched based on the generated switching information 18 to output the reference image signal 19. Detailed description of operations from the step S1101 to the step S1109 in the loop filter processor 107 is described hereinafter.
At first, the switch SW of the loop filter switch module 114 of
Next, the switching information generator 112 of
Next, the following switching determination processing is done based on SSDA and SSDB (step S1104). If SSDA is not more than SSDB, 0 is set to loop_filter_flag which is the switching information 18 (step S1105). Conversely if SSDA is more than SSDB, 1 is set to loop_filter_flag (step S1106). An example of the reference image when the switching determination processing is done in units of a macroblock obtained by partitioning the image in units of 16×16 pixels is shown in
Next, the loop filter switch module 114 of
The above is operations from step S1101 to step S1109 in the loop filter processor 107.
At last, the filter coefficient information 17 generated with the filter setting module 110 and the switching information 18 generated with the switching information generator 112 are encoded with the entropy encoder 104, and multiplexed to a bit stream along with quantized transform coefficient 13, prediction mode information, block size switching information, a motion vector, quantization parameter, etc., and then transmitted to a video decoding apparatus to be described below (step S1110).
There will now be described in detail an overview of a syntax structure used in the present embodiment about the encoding method of the filter coefficient information 17 and the switching information 18 referring to
A syntax is formed mainly from three parts, and the high level syntax (1900) contains syntax information of a higher layer higher than a slice. A slice level syntax (1903) recites information which is necessary for every slice and a macroblock level syntax (1907) recites transform coefficient data, prediction mode information and a motion vector which are needed for every macroblock. Each syntax comprises further detailed syntaxes. A high level syntax (1900) is configured with a sequence level syntax and a picture level syntax such as a sequence parameter set syntax (1901) and a picture parameter set syntax (1902), etc. The slice level syntax (1903) comprises a slice header syntax (1904), a slice data syntax (1905), a loop filter data syntax (1906), etc. Further, a macroblock level syntax (1907) comprises a macroblock layer syntax (1908), a macroblock prediction syntax (1909), etc.
The loop filter data syntax (1906) recites filter coefficient information 17 which is a parameter on the loop filter of the present embodiment and the switching information 18 as shown in
The above is explanation on an operation concerning the loop filter of the video encoding apparatus 1000.
Next, a video decoding apparatus corresponding to the video encoding apparatus 1000 is explained. The video decoding apparatus concerning the first embodiment is explained referring to
A video decoding apparatus 2000 shown in
The entropy decoder 201 decodes a code string of each syntax of encoded data 14 with respect to each of the high level syntax, slice level syntax and macroblock level syntax according to the syntax structure shown in
The inverse transform/dequantization module 202 receives the quantized transform coefficient 13, and subjects it to dequantization and inverse orthogonal transform (for example, inverse discrete cosine transform) to output prediction error image signal 15. The inverse orthogonal transform is explained here. However, when wavelet transform is done in the video encoding apparatus 1000, the inverse transform/dequantization module 202 executes corresponding inverse quantization and inverse wavelet transform.
The prediction signal generator 203 acquires a decoded reference image signal 19 stored in the reference image buffer 206, and carries out given prediction processing to output a prediction image signal 11. The prediction processing may use, for example, temporal prediction by motion compensation or special prediction from the decoded pixel in a frame. However, it should be noted that prediction processing similar to the video encoding apparatus 1000 is executed.
The adder 204 adds the acquired prediction error image signal 15 and the prediction image signal 11 to produce a decoded image signal 21.
The switching filter processor 205 receives the decoded image signal 21, filter coefficient information 17 and switching information 18, and outputs a reference image signal 19. The switching filter processor 205 is described in detail below.
The reference image buffer 206 temporally stores the reference image signal 19 acquired from the switching filter processor 205. The reference image signal 19 stored in the reference image buffer 206 is referred to when the prediction image signal 11 is generated with the prediction signal generator 203.
The decoding controller 207 performs control of decoding timing and controls the whole decoding.
Next, the switching filter processor 205 of the video decoding apparatus concerning the first embodiment is described in detail referring to
The switching filter processor 205A shown in
The filter processor 208 receives a decoded image signal 21 and filter coefficient information 17 reconstructed with the entropy decoder 201, and filters the decoded image signal 21 according to the filter coefficient information 17 to generate a restored image signal 20. The generated restored image 20 is input to a loop filter switch module 209 described below, and output as an output image signal 22 at the timing that the decoding controller 207 manages.
The loop filter switch module 209 receives switching information 18 reconstructed with the entropy decoder 201 and switches between the terminal A and the terminal B by the inner switch SW according to the switching information 18 to output the decoded image signal 21 or the restored image signal 20 as the reference image signal 19.
The above is configuration of the video decoding apparatus concerning the first embodiment.
Next, there will be described in detail an operation of the loop filter of the video decoding apparatus concerning the first embodiment referring to
At first, when encoded data 14 is input to the video decoding apparatus 2000 of
A series of processing described above is conventional decoding processing of the video encoding as referred to as so-called hybrid encoding which performs prediction processing and transform processing.
There will now be described in detail an operation concerning the loop filter which is characteristic processing of the video decoding apparatus 2000 concerning the first embodiment referring to
At first, the entropy decoder 201 performs entropy-decoding on the filter coefficient information 17 and the switching information 18 according to the syntax structure of
Next, the filter processor 208 of
The loop filter switch module 209 receives the switching information 18 in units of a macroblock according to the syntax of
The above is explanation on an operation concerning the loop filter of the video decoding apparatus 2000.
In this way, according to the video encoding apparatus related to the first embodiment, picture quality of the restored image can be improved by setting the filter coefficient information of the loop filter so that an error between the input image and the prediction signal is minimum. Further, since the loop filter switch module 114 switches which of the local decoded image signal 16 or the restored image signal 20 is used as a reference image for every local region, propagation of picture quality degradation is prevented without using the restored image signal 20 as a reference image with respect to the regions degraded in picture quality due to filtering, and prediction precision can be improved by using the restored image signal 20 as a reference image with respect to the regions improving in picture quality.
Further, according to the video decoding apparatus 2000 related to the first embodiment, since the filter processing and switching processing are performed by using the filter coefficient information and switching information similar to the video encoding apparatus 1000, it can be guaranteed that the reference image of the video decoding apparatus 2000 is synchronized with the reference image of the video encoding apparatus 1000.
In addition, the switching filter processor 205A of the video decoding apparatus 2000 concerning the first embodiment outputs the reference image signal 19 as the image signal 22, but the decoded image signal 21 may be output as the output image signal 22 like the switching filter processor 205B of
Further, a post filter switching module 210 may be provided newly like the switching filter processor 205D of
In addition, the video encoding apparatus 1000 and video decoding apparatus 2000 concerning the first embodiment perform filter processing on the local decoded image signal 16, but they may use the local decoded image signal 16 which has been subjected to conventional deblocking filter processing.
In addition, this video encoding apparatus 1000 and video decoding apparatus 2000 can be realized by using general-purpose computer equipment as basic hardware. In other words, the prediction signal generator 101, subtracter 102, transform/quantization module 103, entropy encoder 104, inverse transform/dequantization module 105, adder 106, loop filter processor 107, reference image buffer 108, encoding controller 109, filter setting module 110, switching filter processor 111, switching information generator 112, filter processor 113, loop filter switch module 114, entropy decoder 201, inverse transform/dequantization module 202, prediction signal generator 203, adder 204, loop filter processor 205, reference image buffer 206, decoding controller 207, filter processor 208, loop filter switch module 209, and realizing post filter switching module 210 can be realized by making a processor mounted on the computer equipment execute a program. At this time, the video encoding apparatus 1000 and video decoding apparatus 2000 may be realized by installing the program in the computer equipment beforehand or by distributing the program by storing in a storing medium such as CD-ROM or running through a network and installing this program in the computer equipment appropriately. Further, the reference image buffer 108 and the reference image buffer 206 can be realized by utilizing appropriately a memory built-in or externally mounted on the computer equipment, a hard disk, or a storing medium such as CD-R, CD-RW, DVD-RAM, DVD-R.
A video encoding apparatus concerning the second embodiment is explained referring to
Components of
A video encoding apparatus 3000 shown in
Since the subtracter 102, transform/quantization module 103, entropy encoder 104, inverse transform/dequantization module 105, adder 106 and encoding controller 109 operate similarly to components of the same reference numbers as those of the video encoding apparatus 1000 of
The switching information generation predictor 301A comprises a reference switching predictor 305A and a switching information generator 112 inside it as shown in
The loop filter processor 302 comprises a filter setting module 110 and a filter processor 113 as shown in
The loop filter processor 302 receives the local decoded image signal 16 and the input image signal 10, and outputs a restored image signal 20 and filter coefficient information 17. The local decoded image buffer 303 receives the local decoded image signal 16 generated with the adder 106, and temporally stores it.
The local decoded image signal 16 stored in the local decoded image buffer 303 is input to the switching information generation predictor 301A. The restored image buffer 304 receives the restored image signal 20 generated with the loop filter processor 302, and temporally stores it. The restored image signal 20 stored in the restored image buffer 304 is input to the switching information generation predictor 301A.
The reference switching predictor 305A comprises a prediction signal generator 101 and a loop filter switch module 114 as shown in
The above is configuration of the video encoding apparatus concerning the second embodiment.
There will be described in detail an operation of the video encoding apparatus concerning the second embodiment referring to
At first, prediction, transform, quantization, entropy encoding are done similarly to conventional hybrid encoding and the video encoding apparatus 1000 concerning the first embodiment, and local decoding is performed in the encoding apparatus to produce a local decoded image signal 16. Next, the generated local decoded image signal 16 is temporally stored in the local decoded image buffer 303 (step S3100). The filter setting module 110 in a loop filter processor 302 receives the local decoded image signal 16 and an input image signal 10 and sets filter coefficient information 17 (step S3101). A two-dimensional Wiener filter used for image restoration conventionally is used here, a filter coefficient is designed so that a mean square error between the image obtained by subjecting the local decoded image signal 16 to filter processing and the input image signal 10 is minimum, and a value indicating the designed filter coefficient and a filter size are set as the filter coefficient information 17. The set filter coefficient information 17 is output to the filter processor 113 of the loop filter processor 302 similarly, and output to the entropy encoder 104.
The filter processor 113 of the loop filter processor 302 filters the local decoded image signal 16 using the filter coefficient information 17 acquired from the filter setting module 110 to produce a restored image signal 20 (step S3102). The generated restored image signal 20 is temporally stored in the restored image buffer 304 (step S3103).
The filter coefficient information 17 generated with the filter setting module 110 is encoded with the entropy encoder 104, multiplexed to a bit stream along with the quantized transform coefficient 13, prediction mode information, block size switching information, a motion vector, quantization parameter, etc., and transmitted to the video decoding apparatus 4000 described below (step S3104). In this time, the filter coefficient information 17 is recited, as shown in
Next, the switching information generation predictor 301A performs given prediction processing using the local decoded image signal 16 or the restored image signal 20 as a reference image, and outputs a prediction image signal 11 (steps S3105 to 3113). At first, the reference switching predictor 305A acquires a prediction image when the local decoded image is used as a reference image and a prediction image when the restored image is used as a reference image respectively, and the switching information generator 112 performs switching determination processing based on them and produces switching information 18 for determining which of the local decoded image or the restored image is used as a reference image. The reference switching predictor 305A switches the inner switch SW of the loop filter switch module 114 of
At first, the reference switching predictor 305A connects the switch SW of the loop filter switch module 114 of
The switching information generator 112 calculates a residual square-sum SSDA of the prediction image derived from the local decoded image signal 16 and the input image signal 10, and a residual square-sum SSDB of the prediction image derived from the restored image signal 20 and the input image signal 10 (step S3107). Assuming the prediction image derived from the local decoded image signal 16 is Fi, and the prediction image derived from the restored image signal 20 is Gi, the SSDA and the SSDB are expressed by an equation similar to [equation 2].
The switching information generator 112 performs the following switching determination processing based on the SSDA and SSDB (step S3108). If SSDA is not more than SSDB, 0 is set to loop_filter_flag which is the switching information 18 (step S3109). In contrast, if SSDA is a higher value than SSDB, 1 is set to loop_filter_flag (step S3110). Here, the switching determination processing is done for every macroblock, and the switching information 18 is output in units of a macroblock. As another embodiment, the switching determination processing may be determined in units of a frame or a slice or in units of a block of the size different from the macroblock. In this case, the switching information 18 also is output in a unit corresponding to a determination result.
Further, when prediction processing in the prediction signal generator 101 is motion prediction, the switching determination processing may use a conventional method as the motion prediction processing. For example, a cost J expressed by the following equation, in which the number of encoded bits R of parameter information such as switching information, a reference image index, a motion vector is added to a residual square-sum D, is calculated with respect to each of the local decoded image and the restored image, and the determination may be performed using the cost J.
J=D+λ×R [Equation 3]
λ of [equation 3] is given by a constant and determined based on a quantization width and a value of a quantization parameter. The switching information, reference image index and motion vector by which the cost J calculated in this way has the minimum value are encoded. Further, in the present embodiment, the residual square-sum is used, but as another embodiment, a residual absolute value sum may be used, or these may be subjected to Hadamard transform, and an approximate value may be used. Further, the cost may be obtained using activity of the input image, and a cost function may be obtained using a quantization width, a quantization parameter. Further, the prediction processing is limited to motion prediction. If the prediction processing is a prediction necessary for some parameters, the cost J may be calculated by the equation by defining the number of encoded bits of the parameter as R.
Next, the loop filter switch module 114 of
The above is the operation from step 3105 to step 3113 in the switching information generation predictor 301A.
At last, the entropy encoder 104 encodes the switching information 18, and multiplexes it to a bit stream along with the quantized transform coefficient 13, prediction mode information, block size switching information, a motion vector, a quantization parameter, and transmits it to the video decoding apparatus 4000 described below (step S3114). In this time, loop_filter_flag which is the switching information 18 is recited in the macroblock layer syntax (1908) belonging to the macroblock level syntax (1907) in the syntax structure of
The above is explanation on an operation concerning the loop filter of the video encoding apparatus 3000.
Next, a video decoding apparatus corresponding to the video encoding apparatus 3000 is explained. The video decoding apparatus concerning the second embodiment is explained referring to
The video decoding apparatus 4000 shown in
The entropy decoder 201, inverse transform/dequantization module 202, adder 204, filter processor 208 and decoding controller 206 operate similarly to components of the same reference numbers as those of the video decoding apparatus 2000 concerning the first embodiment, and thus further explanation is omitted here.
The reference switching predictor 401A comprises a prediction signal generator 203 and a loop filter switch module 209 as shown in
The decoded image buffer 402 acquires the decoded image signal 21 generated with the adder 204, and temporally stores it. The decoded image signal 21 stored in the decoded image buffer 402 is input to the reference switching predictor 401A. The restored image buffer 403 acquires the restored image signal 20 generated with the filter processor 208, and temporally stores it. The restored image signal 20 stored in the restored image buffer 403 is input to the reference switching predictor 401A.
The above is a configuration of the video decoding apparatus concerning the second embodiment.
Next, there will be described in detail an operation of the video decoding apparatus concerning the second embodiment referring to
At first, when the encoded data 14 is input to the video decoding apparatus 4000, the entropy decoder 201 decodes the transform coefficient 13, prediction mode information, block size switching information, a motion vector, a quantization parameter, etc., as well as filter coefficient information 17, switching information 18 according to the syntax structure of
The loop filter data syntax (1906) belonging to the slice level syntax (1903) in the syntax structure of
Further, the macroblock layer syntax (1908) belonging to the macroblock level syntax (1907) in the syntax structure of
The transform coefficient 13 decoded with the entropy decoder 201 is subjected to entropy decoding, inverse quantization, and inverse transform similarly to conventional hybrid encoding or the video decoding apparatus 2000 concerning the first embodiment, and is added to the prediction image signal 11 output from the reference switching predictor 401A, whereby the decoded image signal 21 is output. The decoded image signal 21 is output to the filter processor 208, and temporally stored in the decoded image buffer 402 (step S4101).
The filter processor 208 acquires the filter coefficient information 17 reconstructed with the entropy decoder 201 (step S4102). Further, the filter processor 208 receives the decoded image signal 21, and filters the decoded image using the filter coefficient information 17 to produce the restored image signal 20 (step S4103). The filter processor 208 outputs the generated restored image signal 20 as an output image signal 22, and temporally stores it in the restored image buffer 403 (step S4104).
Next, the reference switching predictor 401A generates the prediction image signal 11 using the decoded image signal 21 or the restored image signal 20 as a reference image (step 4105-4108). There will be explained an operation from step 4105 to step 4108, hereinafter.
At first, the reference switching predictor 401A of
The above is an operation from step S4105 to step S4108 in the reference switching predictor 401A.
The reference switching predictor 401A acquires the switching information 18 in units of a macroblock according to the syntax of
The above is explanation on an operation concerning the loop filter of the video decoding apparatus 4000.
In this way, according to the video encoding apparatus related to the second embodiment, the picture quality of the reference image can be improved by doing the filter processing by setting filter coefficient information of the loop filter so that an error between the input image and the prediction signal is minimum. Further, by switching either the local decoded image signal 16 or the restored image signal 20 as a reference image for the prediction processing with the loop filter switch module 114 provided inside the switching information generation predictor 301A, propagation of picture quality degradation is prevented without using the restored image signal 20 as a reference image with respect to the regions degraded in picture quality due to filtering, and prediction precision can be improved by using the restored image signal 20 as a reference image with respect to the regions improving in picture quality.
Further, according to the video decoding apparatus 4000 related to the second embodiment, by performing the filter processing and switching of the reference image using the filter coefficient information and the switching information similarly to the video encoding apparatus 3000, it can be guaranteed that the reference image in the video decoding apparatus 4000 synchronizes with the reference image in the video encoding apparatus 3000.
In addition, the video decoding apparatus 4000 concerning the second embodiment outputs the restored image 20 generated with the filter processor 208 as the output image signal 22, but, as other embodiments, may output the decoded image signal 21 as the output image signal 22. Further, the video encoding apparatus 3000 and video decoding apparatus 4000 concerning the second embodiment performs filter processing on the local decoded image signal 16, but they may use the local decoded image signal 16 subjected to conventional deblocking filter processing.
Further, in the video encoding/decoding apparatus concerning the second embodiment, the restored image signal 20 temporally stored in the restored image buffer is acquired with the reference switching predictor 401A in the above embodiment and used, but the restored image may be generated in the reference image switching predictor by providing the filter processor inside the reference switching predictor without using the restored image buffer as another embodiment. Diagrams of a video encoding apparatus and a video decoding apparatus in such an embodiment are shown in
The video encoding apparatus 3001 of
In this way, the construction of the video encoding apparatus 3001 and video decoding apparatus 4001 can reduce a memory size necessary for the restored image buffer and realize the same operation as the video encoding apparatus 3000 and video decoding apparatus 4000.
In addition, this video encoding apparatuses 3000, 3001 and the video decoding apparatuses 4000, 4001 also can be realized by using general-purpose computer equipment as a base hardware. In other words, the switching information generation predictor 301, the loop filter processor 302, the local decoded image buffer 303, the restored image buffer 304, the reference switching predictor 305, the prediction signal generator 101, the subtracter 102, the transform/quantization module 103, the entropy encoder 104, the inverse transform/dequantization module 105, the adder 106, the encoding controller 109, the filter setting module 110, the switching information generator 112, the filter processor 113, the loop filter switch module 114, the reference switching predictor 401, the decoded image buffer 402, the restored image buffer 403, the entropy decoder 201, the inverse transform/dequantization module 202, the prediction signal generator 203, the adder 204, the decoding controller 206, the filter processor 208 and the loop filter switch module 209 can be realized by making a processor mounted on the computer equipment execute a program. In this time, the video encoding apparatuses 3000, 3001 and video decoding apparatuses 4000, 4001 may be realized by installing the program in the computer equipment beforehand, or may be realized by distributing the program by storing it in a storing medium such as CD-ROM or running through a network and installing this program in the computer equipment appropriately. Further, the local decoded image buffer 303, the restored image buffer 304, the decoded image buffer 402 and the restored image buffer 403 can be realized by using a memory built-in the computer equipment or mounted outside it, a hard disk or a memory medium such as CD-R, CD-RW, DVD-RAM, DVD-R, appropriately.
A video encoding apparatus concerning the third embodiment is explained referring to
The video encoding apparatus 5000 shown in
The prediction signal generator 101, subtracter 102, transform/quantization module 103, entropy encoder 104, inverse transform/dequantization module 105, adder 106, reference image buffer 108 and encoding controller 109 operate similarly to the components of the same reference numbers in the video encoding apparatus 1000 of
The loop filter processor 501 receives a local decoded image signal 16 and an input image signal 10, and outputs a reference image signal 19 and filter coefficient information 17. The loop filter processor 501 is described in detail below.
Next, the loop filter processor 501 of the video encoding apparatus concerning the third embodiment is described in detail referring to
The loop filter processor 501 shown in
The switching information generator 503 is controlled with the encoding controller 109, receives the local decoded image signal 16, and produces switching information 18 according to a given switching determination method. The generated switching information 18 is input to the switching filter processor 111. The switching determination method is described hereinafter.
The above is a configuration of the video encoding apparatus concerning the third embodiment.
Next, there will be described in detail an operation of the loop filter of the video encoding apparatus concerning the third embodiment referring to
At first, the filter setting module 110 shown in
Next, the switching information generator 503 provided inside the switching information generation filter processor 502 shown in
Next, the following switching determination processing is done using SAD and the threshold value T set to the encoding controller 109 beforehand (step S5103). If SAD is not more than T, 0 is set to loop_filter_flag which is the switching information 18 (step S5104). In contrast, if SAD is more than T, 1 is set to loop_filter_flag which is the switching information 18 (step S5104). The switching information 18 is obtained in units of a pixel, but, as another embodiment, the switching determination processing may be determined in units of a frame or a slice or in units of a macroblock or a block of the size different from the macroblock. In that case, the switching information 18 is output in a unit corresponding to it.
Further, the sum of absolute difference of an object pixel and a peripheral pixel is used here, but, as other embodiments, a sum of squared difference may be used. If it is an index that can be calculated from the local decoded image, an index such as an activity, a space frequency, an edge intensity, an edge direction may be used. Further, the index is calculated from the local decoded image here, but the index may be calculated from a restored image obtained by subjecting the local decoded image to filter processing. Further, as another embodiment, the switching determination processing may be done based on a quantization parameter which is part of encoded information or a block size, a prediction mode, a motion vector, a transform coefficient, etc.
Next, the switching filter processor 111 shown in
At last, the filter coefficient information 17 generated with the filter setting module 110 is encoded with the entropy encoder 104, and multiplexed to a bit stream along with the quantized transform coefficient 13, prediction mode information, block size switching information, a motion vector, a quantization parameter, and then transmitted to the video decoding apparatus 6000 to be described below (step S5109). In this time, the filter coefficient information 17 is recited in the loop filter data syntax (1906) belonging to the slice level syntax (1903) in the syntax structure of
The above is explanation on an operation concerning the loop filter of the video decoding apparatus 5000.
Next, the video decoding apparatus corresponding to the video encoding apparatus 6000 is explained. The video decoding apparatus concerning the third embodiment is explained referring to
The video decoding apparatus 6000 shown in
The entropy decoder 201, inverse transform/dequantization module 202, prediction signal generator 203, adder 204, reference image buffer 206 and decoding controller 207 operate similarly to components of the same reference numbers in the video decoding apparatus 2000 of
The switching information generation filter processor 601 acquires the decoded image signal 21 and the filter coefficient information 17, and outputs the reference image signal 19 and the image signal 22. The switching information generation filter processor 601 is described in detail hereinafter.
Next, the switching information generation filter processor 601 of the video decoding apparatus concerning the third embodiment is described in detail using
The switching information generation filter processor 601 shown in
The switching information generator 602 is controlled with the decoding controller 207, acquires the decoded image signal 21, and generates the switching information 18 according to a given switching determination method. The generated switching information 18 is input to the switching filter processor 205. The switching determination method is described hereinafter.
The above is a configuration of the video decoding apparatus concerning the third embodiment.
The operation of the video decoding apparatus concerning the third embodiment is described in detail using
At first, the entropy decoder 201 decodes the filter coefficient information 17 according to the syntax structure of
The loop filter data syntax (1906) belonging to the slice level syntax (1903) in the syntax structure of
The filter_coeff [cy][cx] of
The switching information generation filter processor 601 acquires the decoded filter coefficient information 17 (step S6101). Further, the switching information generation filter processor 601 acquires the decoded image signal 21 acquired from the adder 204 (step S6102). The switching information generator 602 provided inside the switching information generation filter processor 601 shown in
Using SAD and the threshold value T set to the decoding controller 207 beforehand, the following switching determination processing is done (step S6104).
It should be noted that the threshold value T uses the same value as the threshold value T set with the video encoding apparatus 5000. If SAD is not more than T, 0 is set to loop_filter_flag which is the switching information 18 (step S6105). If SAD is more than T, 1 is set to loop_filter_flag which is the switching information 18 (step S6106). The switching information 18 is obtained in units of a pixel here, but, as another embodiment, the switching determination processing may be determined in units of a frame or a slice or in units of a macroblock or a block of the size different from the macroblock. In that case, the switching information 18 is output in a unit corresponding to it.
Further, the absolute difference value sum of an object pixel and a peripheral pixel is used here, but, as other embodiments, a difference square-sum may be used. If it is an index that can be calculated from the local decoded image, an index such as an activity, a space frequency, an edge intensity, an edge direction may be used. Further, the index is calculated from the decoded image here, but the index may be calculated from the restored image obtained by subjecting the decoded image to filter processing.
Further, as another embodiment, the switching determination processing may be done based on a quantization parameter which is part of encoded information or a block size, a prediction mode, a motion vector, a transform coefficient, etc. In any event, it should be noted that the switching information generator 602 in the video decoding apparatus 6000 must do switching determination processing similar to the switching information generator 503 in the video encoding apparatus 5000.
The switching filter processor 205 shown in
As described above, the switching information generation filter processor 601 generates the switching information 18 by an operation similar to the switching information generation filter processor 502 of
The above is explanation on an operation concerning the loop filter of the video decoding apparatus 6000.
In this way, according to the video encoding apparatus related to the third embodiment, the picture quality of the reference image can be improved by doing the filter processing by setting filter coefficient information of the loop filter so that an error between the input image and the prediction signal is minimum. Further, by switching which of the local decoded image 16 and the restored image signal 18 is to be held as a reference image for every local region, using an index calculated from the local decoded image signal 16, the propagation of picture quality degradation due to filtering can be prevented and encoding efficiency can be improved.
Further, according to the video decoding apparatus related to the third embodiment, by performing the filter processing using the filter coefficient information similar to the video encoding apparatus, and doing the similar switching determination processing, it can be guaranteed that the reference image in the video encoding apparatus synchronizes with the reference image in the video decoding apparatus.
Further, according to the video encoding apparatus and video decoding apparatus concerning the third embodiment, generating the switching information based on the index capable of calculating from the local decoded image on the encoding side allows the similar switching information to be calculated from the decoded image on the decoding side. Therefore, the number of encoded bits when the switching information is encoded can be reduced.
In addition, with reference to the video decoding apparatus 6000 concerning the third embodiment, the decoded image 21 or the reference image 19 may be output as the output image signal 22 if the switching filter processor 205 is configured as shown in
Further, when the switching filter processor 205 is configured as shown in
In addition, the video encoding apparatus 5000 concerning the third embodiment and video decoding apparatus 6000 performs filer processing on the local decoded image signal 16, but they may use the local decoded image signal subjected to conventional deblocking filter processing. In addition, the video encoding apparatus 5000 and video decoding apparatus 6000 can be realized by using general-purpose computer equipment as a basic hardware. In other words, the loop filter processor 501, switching information generation filter processor 502, switching information generator 503, prediction signal generator 101, subtracter 102, transform/quantization module 103, entropy encoder 104, inverse transform/dequantization module 105, adder 106, reference image buffer 108, encoding controller 109, filter setting module 110, switching filter processor 111, switching information generation filter processor 601, switching information generator 602, entropy decoder 201, inverse transform/dequantization module 202, prediction signal generator 203, adder 204, switching filter processor 205, reference image buffer 206 and decoding controller 207 can realize by making a processor mounted on the computer equipment execute a program. In this time, the video encoding apparatus 5000 and the video decoding apparatus 6000 may be realized by installing the program in the computer equipment beforehand, or may be realized by distributing the program by storing it in a storing medium such as CD-ROM or running through a network and installing this program in the computer equipment appropriately. Further, the reference image buffer 108 and reference image buffer 206 can be realized by utilizing appropriately a memory built-in or externally mounted on the computer equipment, a hard disk, or a storing medium such as CD-R, CD-RW, DVD-RAM, DVD-R.
The first embodiment illustrates an example of setting the switching information in units of a macroblock of 16×16 pixels. On one hand, the unit in which the switching information in the present embodiment is set is not limited to the macroblock unit but may use a sequence, a frame or a slice or a pixel block that is obtained by partitioning a frame.
In the present embodiment, there will be explained a method for changing a size of a pixel block appropriately by defining a unit for setting switching information as every pixel block in the encoding and decoding method concerning the first embodiment.
The switching filter processor 111 of the encoding apparatus and decoding apparatus concerning the fourth embodiment is described using
The switching filter processor 111 of
The region setting information 23 is information for controlling a timing at which the switch SW is switched according to a block size, and indicates a block size when a frame is partitioned into rectangular blocks.
The region setting information 23 may use a self value of the block size, and also it may be an index in a region size prescribed table for determining the block size prepared before.
An example of the region size prescribed table is shown in
Next, the syntax including the region setting information 23 concerning the present embodiment is described using
Further, as another embodiment, a partition method to a basic block size may be used as region setting information. For example, like the region size prescribed table of
In this way, according to the video encoding and decoding methods concerning the fourth embodiment, the block partition can have a diversity by setting and encoding the region setting information for partitioning a frame into regions. Setting the switching information to each of partitioned blocks allows a switching timing of filter processing to be controlled for each frame or for each local region of the frame adaptively.
When the block size is switched adaptively, the number of encoded bits necessary for encoding the switching information increases as the block size decreases or the frame is partitioned finely, resulting in degrading an encoding efficiency.
Therefore, a plurality of region size prescribed tables described above may be prepared for, and switched based on given information contributing to the number of encoded bits of the image to which a loop filter is applied and provided from both of the encoding and decoding sides. For example, a plurality of region size prescribed tables are prepared on the encoding controller and the decoding controller, for example, as shown in
Further, when the picture type is used in a conventional manner, the number of encoded bits tends to be in I picture>P picture>B picture. Therefore, the region size prescribed table which prepared for a block of large size is used for the B picture encoded in a small number of bits.
Further, about the quantization parameter, the number of encoded bits of the transform coefficient decreases as the value of the quantization parameter increases. Therefore, the region size prescribed table which prepared for a block of relatively large size is used.
By switching a plurality of region size prescribed tables which differ in block size as discussed above, it is possible to select a block size more adaptively using a limited index number. Further, a balance between the number of encoded bits of transform coefficient or encoded parameter and the number of encoded bits necessary for the switching information can be controlled effectively.
As further another embodiment, the block information may use a block size synchronized with a motion compensation block size and a transform block size used for encoding and decoding in generating a local decoded image or a decoded image. In this case, a switching timing of filter processing can be changed without reciting block information in the loop filter data syntax (1906), and thus the number of encoded bits needed for the block information can be reduced.
Further, a case that a frame is partitioned into rectangular blocks is described here, but if there is a partition method capable of realizing the same region partition for both of the encoding apparatus and decoding apparatus, it is not limited to the rectangular block.
Next, a video encoding method concerning a fifth embodiment is described with reference tot
A loop filter processor 107 of
On one hand, in the present embodiment, the switching information 18 is set for each of local regions obtained by partitioning a frame, and a region to be used for setting a filter is selectively acquired based on the switching information 18.
An operation of the loop filter of the video encoding apparatus concerning the fifth embodiment is described in detail using a flowchart of
In the flowchart of
At first, 0 is set to the setting number of times r of filter coefficient information (step S7100), and loop_filter_flag which is the switching information is set to 1 with respect to all regions (step S7101). Next, r is incremented by only one (step S7102).
Thereafter, the filter setting module 110 of
Next, the switching filter processor 111 of
After loop_filter_flag was set to all regions of the frame, the above serial processing is repeated till the setting number of times r of filter coefficient information reaches the predetermined maximum value R of the number of times of setting filter coefficient information (step S7106). According to the video encoding method concerning the fifth embodiment in this way, the setting of filter coefficient information on and after the second time makes it possible to set a filter making a mean square error minimize for a limited region in which loop_filter_flag is set to 1. For example, when the reference image provided by the switching information set in the first time is as shown
In addition, the present invention is not limited to the above first to third embodiments as is, and can be realized by modifying components without departing from the scope of the invention. Further, various kinds of invention can be formed by an appropriate combination of a plurality of components disclosed by the embodiment. For example, some components may be deleted from all components shown in the embodiment. Further, components over different embodiments may be combined appropriately.
There will be explained a video encoding apparatus and video decoding apparatus related to the sixth embodiment.
In the case of the video encoding apparatus, a local decoded picture signal, switching information, filter information and encoded information are input to a local decoded image filter processor 701 of
The filter boundary determination processor 702 uses the encoded information from the local decoded picture signal or the decoding image set signal, and determines a pixel to be subjected to deblocking filter processing from among pixels on the boundary of the block that is a unit of transform processing or motion compensation to control the switch 703 and switch 705. In this time, the filter boundary determination processor 702 connects the switch 703 and switch 705 to the terminal A when it determined that the input pixel is a block boundary pixel, and the deblocking filter processor 704 subjects the pixel signal to deblocking filter processing. When it is determined that the input pixel is not a block boundary pixel, switch 703 and switch 705 is connected to terminal B, and the image restoration filter processor 706 subjects the input pixel to image restoration filter processing.
The deblocking filter processor 704 uses a filter coefficient generated beforehand or filter coefficient information given from the outside of the local decoded image filter processor 701 and subjects a pixel determined as a block boundary by the block boundary determination processor 702 to such filter processing (for example, averaging procedure of a pixel signal) as to cancel a block distortion occurring due to transform processing or motion compensation processing.
The image restoration filter processor 706 performs restoration processing on the local decoded image with respect to a pixel determined as not a block boundary by the block boundary determination processor 702, based on the filter coefficient information given from the outside of the local decoded image filter processor 701. The image restoration filter processor 706 is assumed to be replaced with the switching filter processor 111, 205A, 205B, 205C or 205D of
According to the sixth embodiment in this way, a block boundary area can be subjected to filter processing taken into consideration a difference of a nature of the decoded image signal due to a block distortion caused by transform processing or motion compensation processing, and improve a restoration performance of the whole image.
Next, the video encoding apparatus and decoding apparatus related to the seventh embodiment will be described referring to
The video encoding apparatus 7000 shown in
The subtracter 102, transform/quantization module 103, entropy encoder 104, inverse transform/dequantization module 105, adder 106 and encoding controller 109 operate similarly to components of the same reference numbers of the video encoding apparatus 3000 of
Further, the filter setting/switching information generator 802 operates similarly to the filter setting module 110 and switching information generator 112 in the loop filter processor 107 of
As a concrete operation, the video encoding apparatus 7000 transforms, quantizes, and entropy-encode a prediction error, and also local-decodes it by dequantization and inverse transform, similarly to the conventional hybrid encoding or the video encoding apparatus 1000 concerning the first embodiment or the video encoding apparatus 3000 concerning the second embodiment. The deblocking filter 801 subjects the local decoded signal to filter processing to eliminate a distortion on the block boundary with the deblocking filter 801, and then stores the filtered local decoded signal in the decoded image buffer 803. The filter setting/switching information generator 802 receives the filtered local decoded image signal and the input image signal, and produces a filter coefficient and switching information. The filter setting/switching information generator 802 outputs the generated filter coefficient information to the decoded image buffer 803, and outputs to the entropy encoder 104. The entropy encoder 104 encodes the filter coefficient and switching information generated with the filter setting/switching information generator 802, and also multiplexes the quantized transform coefficient with a bit stream along with the prediction mode information, block size switching information, motion vector information, quantization parameter, etc., and transmits to the video decoding apparatus 8000 to be described below. In this time, the filter coefficient information and the switching information are transmitted as encoded information of the input image according to syntax of
The decoded image buffer 803 stores the local decoded image referred to with the prediction image generator 804 and the filter coefficient corresponding to the local decoded image, and the switching information.
The prediction image generator 804 uses the local decoded image, filter coefficient, switching information managed with the decoded image buffer 803, and the motion vector information generated with the motion vector generator 805, and generates the motion-compensated prediction image. The subtracter 102 generates a prediction error signal between the generated prediction image and the input image. On one hand, the motion vector information is encoded with the entropy encoder 104 and multiplexed with other information.
The video decoding apparatus concerning the seventh embodiment is explained referring to
The entropy decoder 201, inverse transform/dequantization module 202, adder 204 and decoding controller 206 operate similarly to the components of the same references in the video decoding apparatus 2000 concerning the first embodiment, and thus further explanation is omitted.
As a concrete operation, it dequantizes and inverse-transforms a signal decoded with the entropy-decoder 201 to produce a prediction error signal, and generates a decoded image by adding it to a prediction image with the adder 204, similarly to the conventional hybrid encoding or the video decoding apparatus 2000 concerning the first embodiment or the video encoding apparatus 4000 concerning the second embodiment. The deblocking filter 811 subjects the decoded signal to filter processing to eliminate a distortion on a block boundary, and then outputs a decoded image and it is stored in the decoded image buffer 813.
The decoded image buffer 813 stores the decoded image referred to with the prediction image generator 814, the filter coefficient and the switching information corresponding to the decoded image decoded with the entropy decoder 201. The prediction image generator 813 generates a prediction image subjected to restoration filter processing and motion compensation from the motion vector information decoded with the entropy-decoder 2, the decoded image from the decoded image buffer 402, the filter coefficient, and the switching information.
The configuration such as the video encoding apparatus and the video decoding apparatus as shown in
The prediction image generator 804 shown in
The prediction image generator 804 shown in
The interpolation picture generator 834 generates an interpolation picture of a decimal point pixel position based on the motion vector information. The feature of this time is that the input is the pixel bit length of M-bit whereas the output is the pixel bit length of L-bit wherein L≧N. The switch 835 is a switch controlled with the encoding controller 109 or the decoding controller 206 based on the encoded information, and switches whether or not the weighted prediction is done. When switch 835 is switched to the terminal A, the weighted prediction image generator 836 generates a prediction image based on a weighted prediction equation given in H.262/AVC, etc. The feature of this time is that the processing is done so that the output of the pixel bit length of N-bit is obtained with respect to the input of the pixel bit length of L-bit. When the switch 835 is switched to the unit B, the bit degenerate module 847 performs rounding processing so that the input of L-bit is N-bit wherein L≧N.
When the inner of the prediction image generator 804 is configured so as to make the pixel bit length longer than the pixel bit length of the decoded image, a rounding error of calculation in the restoration processing, interpolation processing and weighted prediction processing is reduced, resulting in that generation of the prediction image can be realized with beneficial encoding efficiency.
There will be described a method for switching a pixel block size adaptively using region setting information indicating a size of a pixel block or a partition manner where a unit of setting switching information is a pixel block, in the fourth embodiment. In the present embodiment, there is described, as a method for switching pixel block sizes in a frame appropriately, a method for partitioning a parent block of a predetermined size into child blocks of small sizes hierarchically referring to
A method for partitioning a parent block into child blocks hierarchically using a quad-tree structure is described here.
Next, a method for expressing a partition tree of quad-tree structure is described.
The size of the children block in the parent block is determined by a parent block size and a depth of the hierarchical layer.
Next, the syntax including region setting information concerning the present embodiment is described using
The loop filter data syntax (1906) in the syntax structure of
Next, max_layer_level is a value indicating the maximum of depth of the available hierarchical layer. In the present embodiment, max_layer_level is encoded in units of a slice as shown in the syntax of
Further, the parent block size is indicated by filter_block_size in the present embodiment, but may be indicated by a value indicating a size of minimum child block. In that case, the parent block size is calculated by a given equation using max_layer_level and filter_block_size. As an example, assuming that filter_block_size is B, and max_layer_level is L, the parent block size P can be expressed by P=B×2L.
Next, NumOfParentBlock is the total of parent blocks in a slice, and NumOfChildBlock [layer] is the total of children blocks of the hierarchical layer indicated by a layer in a parent block. As an example, in the case of quad-tree structure, NumOfChildBlock [0]=1, NumOfChildBlock [1]=4, NumOfChildBlock [2]=16, NumOfChildBlock [3]=64, and NumOfChildBlock [layer] can be expressed in 4layer.
Next, valid_block_flag and block_partitioning_flag are explained. It is assumed that valid_block_flag is 0 or 1, and the initial value of valid_block_flag is set to 0. The block_partitioning_flag is block partitioning information, and set to 1 in the case of partitioning and to 0 in the case of non-partition as explained in the above.
In this way, according to the video encoding and decoding method concerning the eighth embodiment, a basic parent block can be partitioned into child blocks hierarchically by using the hierarchical layer block partitioning information as the region partitioning information, and it is possible to control switching timing of the filter processing appropriately for each local region in the frame by setting the switching information to each of partitioned child blocks. Further, when a unit for setting the switching information is variable in a frame in this way, it is possible to set the switching information efficiently by partitioning finely a region on which the loop filter largely influences picture quality and by partitioning coarsely a region on which the loop filter hardly influences picture quality.
Further, the partitioning method based on the quad-tree structure is described as a partitioning method of parent block here, but if there is a partitioning method which can realize the same region partitioning for both of the encoding apparatus and decoding apparatus, it is not limited to the quad-tree structure.
Further, there is described a case of partitioning a parent block into rectangular blocks hierarchically here, but if there is a partitioning method which can realize the same region partitioning for both of the encoding apparatus and decoding apparatus, it is not limited to the rectangular block.
According to the present invention, in video encoding/decoding of encoding filter coefficient information set on an encoding side and using the filter coefficient information by decoding it on a decoding side, switching loop filter processing by the same processing for the encoding side and decoding side can make picture quality of a reference image used for prediction improve while suppressing propagation of degradation of picture quality and make encoding efficiency improve.
The video encoding and decoding method and apparatus related to the present invention are employed by image compression processing in communication media, a storage media and a broadcast media.
Number | Date | Country | Kind |
---|---|---|---|
2008-58375 | Mar 2008 | JP | national |
2008-175694 | Jul 2008 | JP | national |
This is a Continuation Application of PCT Application No. PCT/JP2008/073636, filed Dec. 25, 2008, which was published under PCT Article 21(2) in Japanese. This application is based upon and claims the benefit of priority from prior Japanese Patent Applications No. 2008-058375, filed Mar. 7, 2008; and No. 2008-175694, filed Jul. 4, 2008, the entire contents of both of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2008/073636 | Dec 2008 | US |
Child | 12853956 | US |