The present invention relates to a device which performs image encoding such as moving picture encoding.
Conventional moving picture encoding schemes include those of the Moving picture expert group (MPEG) such as MPEG-1, MPEG-2, and MPEG-4 standards. These standards are defined so as to cover various picture sizes and media. For example, MPEG-1/MPEG-2 is used for media such as DVDs, which have a comparatively big picture size, and MPEG-4 is used for media such as mobile phones, which have a comparatively small picture size.
In moving picture encoding, each picture is segmented into processing units called macroblocks (MB). An MB is composed of four luminance component blocks and two chrominance component blocks. These luminance component blocks are composed of four luminance components of Y0, Y1, Y2, and Y3, and these chrominance component blocks are composed of two components of C0 and C1. Each of these Y and C component blocks is composed of 8×8 pixel values or components.
In this way, the use of a CBP code in an MPEG moving picture encoding makes it possible to reduce a coding amount at the time of performing variable length coding.
Conventionally, when realizing moving picture encoding processing according to the MPEG standards, separate image encoding devices are required for MPEG-1/MPEG-2 and MPEG-4 encoding respectively. This is because MPEG-1/MPEG-2 requires to perform CBP judgment processing on components quantized just before, but MPEG-4 requires to perform such CBP judgment processing on components on which AC/DC prediction processing has been performed, and thus MPEG-1/MPEG-2 and MPEG-4 each has a different processing structure.
However, nowadays, a single semiconductor integrated circuit is required to realize plural kinds of moving picture encoding processing. Furthermore, cost reduction is also necessary. In this circumstances, mounting a different image encoding device separately for each moving picture encoding processing having a different processing structure exerts a great influence on an increase in the size of a semiconductor integrated circuit which 5 includes an image encoding device and is capable of realizing a moving picture processing. This makes it difficult to realize cost reduction. In addition, MPEG-4 involves a problem of requiring longer processing time than that of MPEG-1/2, because AC/DC prediction processing is performed in MPEG-4, but it is not performed in MPEG-1/2.
The present invention is to solve the above-mentioned problem, and has an object to realize reduction in cost and processing time by allowing a single image encoding device to perform MPEG-1/MPEG-2 and MPEG-4 processing, so that the size of a whole semiconductor integrated circuit is reduced.
In order to achieve the above-mentioned object, an image encoding device of the present invention includes: a prediction processing unit which performs prediction processing on m components among N components which constitute a quantized block; a first judging unit which judges whether or not (N−m) components among the N components include a non-zero component in a first operation mode, and to judge whether or not (N−n) components among the N components include a non-zero component in a second operation mode; a second judging unit which judges whether or not the m components on which the prediction processing has been performed by the prediction processing unit include a non-zero component in the first operation mode, and to judge whether or not n components include a non-zero component in the second operation mode; and a generating unit which generates a code indicating whether or not all the components of the block are 0 components based on the judgments made by the first and second judging units.
With this structure, it is possible to realize image encoding processing with prediction processing of the components in a first mode and image encoding processing without prediction processing of the components in a second mode, by using a single image encoding device. As a result, it becomes possible to realize reduction in size and cost of semiconductor integrated circuits.
Furthermore, these two judging units make judgments, in parallel, on whether or not a non-zero component is included, not making such judgments on each component. Thus, it is possible to realize reduction in processing time.
Here, the generating unit may generate 1-bit code on a per block basis.
Here, the prediction processing unit may be disabled to perform prediction processing in the second operation mode.
Here, the prediction processing unit may output the n components transparently to the second judging unit in the second operation mode.
Here, the prediction processing may be AC/DC prediction processing.
Here, the N may be 64, and the m may be 15.
With this structure, it becomes possible to realize MPEG-4 encoding with AC/DC prediction processing and MPEG-1/2 encoding without AC/DC prediction processing by using a single device.
Here, the N may be 64, and the n may be 32.
With this structure, the first and second judging units share in half the components which constitute a block.
In addition, an image encoding method and a program of the present invention each has the same means and advantages as those described above.
With an image encoding device of the present invention, it becomes possible to perform plural kinds of moving picture encoding processing such as MPEG-1/MPEG-2 and MPEG-4 using a single image encoding device. Furthermore, it becomes possible to reduce processing time.
In the case of a first mode, the prediction processing unit 22 inputs necessary components among the 64 components quantized by the quantizing unit 102 so as to perform coefficient prediction. This coefficient prediction is for selectively perform the AC/DC prediction processing using 15 components described as a conventional art and prediction processing using N1 components. N1 represents the number of components used for prediction processing in a first mode. In addition, in the case of a second mode, the quantizing unit 102 inputs N2 components handled by the second CBP judging unit 24 among the 64 components quantized by the quantizing unit 102 so as to output them to the second CBP judging unit 24 as they are. N2 represents the number of components handled by the second CBP judging unit 24 in a second mode, and N2 is 32 in this embodiment.
In the case of a first mode, the first CBP judging unit 23 receives (64−N1) components which are not used for prediction processing performed by the prediction processing unit 22, and judges whether each component is a non-zero component. In the case of a second mode, the first CBP judging unit 23 receives (64−N2) components which are not inputted to the prediction processing unit 22, and judges whether each component is a non-zero component.
In the case of a first mode, the second CBP judging unit 24 receives N1 components which have been subjected to prediction processing from the prediction processing unit 22, and judges whether each component is a non-zero component. In the case of a second mode, the second CBP judging unit 24 receives N2 components which have been inputted to the prediction processing unit 22 and outputted from the prediction processing unit 22 as they are, and judges whether each component is a non-zero component.
In the case where all the judgments made by the first CBP judging unit 23 and the second CBP judging unit 24 show 0 components, the CBP generating unit 25 generates a CBP code of 0 on a per block basis. In the case where at least one of the judgments shows a non-zero component, it generates a CBP code of 1. The generated CBP code is outputted to the variable length coding unit 104.
In the case of a first mode, the variable length coding unit 104 receives N1 components on which prediction processing has been performed, (64−N1) components from the quantizing unit 102, and a CBP code from the CBP generating unit 25, and generates a variable length code.
This structure makes it possible to realize a structure which performs MPEG-1/MPEG-2 image encoding by omitting prediction processing by the prediction processing unit 22 in a second mode. Furthermore, it becomes possible to realize a structure which performs MPEG-4 image encoding in the case where the prediction processing unit 22 performs AC/DC prediction processing as prediction processing in a first mode. This structure makes it possible to perform plural kinds of moving picture encoding standards of MPEG-1/MPEG-2/MPEG-4 using a single image encoding device. Note that the prediction processing unit 22 is capable of selecting prediction processing on N1 components in addition to AC/DC prediction processing.
In the other case where the judgment shows performing MPEG-1/2 image encoding (a second mode), the image encoding device makes the prediction processing unit 22 into a transparent mode in which no prediction processing is performed (S32), and performs the MPEG-1/2 image encoding processing (S33).
Further, the CBP generating unit 25 generates a CBP code of 0 in the case where all the judgments made by the first CBP judging unit 23 and the second CBP judging unit 24 show all 0 components, and generates a CBP code of 1 in the case where at least one of the judgments shows a non-zero component.
In this way, it is possible to realize the MPEG-4 processing structure of
Further, the CBP generating unit 25 generates a CBP code of 0 in the case where all of the judgments made by the first CBP judging unit 23 and the second CBP judging unit 24 show 0 components, and generates a CBP code of 1 in the case where at least one of the judgments shows a non-zero component.
In this way, since the prediction processing unit 22 does not perform prediction processing in the case of a second mode, it is possible to realize the structure which performs MPEG-1/MPEG-2 image encoding. At this time, the first CBP judging unit 23 makes CBP judgments on these 32 components made into half among the 64 quantized components, and the second CBP judging unit 24 makes CBP judgments on the remaining 32 components. In other words, the first CBP judging unit 23 and the second CBP judging unit 24 can make CBP judgments in parallel. Therefore, it becomes possible to reduce processing time.
Note that N2, which is the number of components that the first CBP judging unit 23 and the second CBP judging unit 24 make CBP judgments, may be changed between 0 to 64 inclusive.
The present invention is suitable for encoding devices which encode pictures and decode the pictures, and for web servers which distribute moving pictures, network terminals which receive the moving pictures, digital cameras which are capable of recording and reproducing the moving pictures, mobile phones with a camera, DVD recording/reproducing apparatuses, PDAs, personal computers and the like.
Number | Date | Country | Kind |
---|---|---|---|
2004/219249 | Jul 2004 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP05/02916 | 2/23/2005 | WO | 00 | 1/25/2007 |