GB2344954A - Determining a target number of bits for each region within an image - Google Patents

Determining a target number of bits for each region within an image Download PDF

Info

Publication number
GB2344954A
GB2344954A GB9922507A GB9922507A GB2344954A GB 2344954 A GB2344954 A GB 2344954A GB 9922507 A GB9922507 A GB 9922507A GB 9922507 A GB9922507 A GB 9922507A GB 2344954 A GB2344954 A GB 2344954A
Authority
GB
United Kingdom
Prior art keywords
picture
encoding
bits
target number
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB9922507A
Other versions
GB2344954B (en
GB9922507D0 (en
Inventor
Ken Nakamura
Mitsuo Ikeda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of GB9922507D0 publication Critical patent/GB9922507D0/en
Publication of GB2344954A publication Critical patent/GB2344954A/en
Application granted granted Critical
Publication of GB2344954B publication Critical patent/GB2344954B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

An apparatus and a method for encoding moving images as well as a recording medium containing an encoding program, in particular an image encoding technology to provide a high efficiency encoding by determining a target number of bits for each region in an image to be encoded. When a picture contains a number of regions of different image types, the target number of encoding bits is determined in relation to the picture information in each region. An encoding section provided for each regions of the picture performs encoding according to the target number of encoding bits determined by the target number of bits determining section. Apparatus and method for encoding a plurality of image sequences wherein a target number of bits is determined for each sequence is also described.

Description

2344954 APPARATUS AND METHOD FOR ENCODING MOVING IMAGES AND RECORDING
MEDIUM CONTAINING COMPUTER-READABLE ENCODING PROGRAM
BACKGROUND OF THE INVENTION
Field of the Invention
The present invention relates to apparatuses and methods for encoding moving images, and relates in particular to an efficient technique of encoding moving images by determining a target number of bits for individual regions in a target image to be encoded and a recording medium containing computer-readable programs for executing the method.
The present invention is based on a Japanese Patent Application number Hei 10 270794, the content of which is hereby incorporated by reference.
Description of the Related Art
Moving picture experts group (MPEG) 2, test model 5 describes the following conventional method for controlling the encoding bits. In the following description, a picture is a processing unit equivalent to a frame or a field. A macro- block is comprised by
16x16 pixels, and is a minimum processing unit for controlling the encoding bits. The essential points are summarized below.
(1) A target number of bits for a picture to be encoded is determined from a complexity measure of a previously processed picture of a corresponding picture type, such as picture 1, picture P, or picture B and the remaining bits in the group of pictures (GOP) to be encoded in order to conform. the constraints of VBV (video buffering verifier) regulation.
A complexity measure is represented by a product of the number of generated bits for a picture and the average quantization parameter of the picture.
(2) Encoding is performed by rastering each macroblock in a picture from the left top to the right bottom in successive order. In this case, a quantization parameter (or a quantization step) for the discrete cosine transform (DCI) coefficient for the current 2 macroblock is determined according to the difference between the target number of bits and the number of generated bits within the picture from the first macroblock to the current macroblock. If the difference between the number of generated bits and the target number of bits is high, a large value is allocated to the quantization step so that the number of generated bits become low, and conversely, if the difference is low, the quantization step becomes small, and the number of generated bits become high. This process results effectively in controlling the number of generated bits for the current macroblock. In this process, a target number of bits for the first macroblock to the current macroblock is obtained by dividing the target number of bits for the entire picture by the total number of macroblocks, and multiplying the resulting figure by the number of macroblocks between the first macroblock and the current macroblock.
In the conventional technique, the target number of bits for next picture if determined by inter-frame rate control algorithm, and a quantization parameter for each macroblock within a picture is determined, according to the magnitude of the difference between the number of generated bits by encoding the first macroblock to the current macroblock, and the target number of bits for encoding the first macroblock to the current macroblock obtained from the target number of bits allocated to the entire picture.
Also, a target number of bits for encoding the first macroblock to the current macroblock is obtained by dividing the target number of bits for the entire picture by the total number of macroblocks, and multiplying the results by the number of macroblocks between the first macroblock and the current macroblock which have been processed to that point. For this reason, when the nature of the pattern to be subjected to the DCT process is highly non-uniform within the picture, it has been difficult to determine quantization parameters appropriate for such variations in the pattern. The result is that the number of generated bits in various macroblocks can be higher than is needed in some macroblocks while the number of generated bits is lower than is needed in other macroblocks, such that in those regions with insufficient number of generated bits, the picture quality is much degraded compared with other regions where the number of generated bits is sufficient.
3 Also, in the conventional technique, because the target number of bits for next picture if determined by inter-frame rate control algorithm, and the encoding process is predicated on rastering each macroblock, it was not applicable when several regions in a picture are to be encoded in parallel or concurrently.
On the other hand, conventionally, with encoding methods in which the image is divided into a plurality of regions and each region is encoded in parallel by a plurality of encoding sections, encoding apparatus and recording mediums therefor, the conventional rate control algorithm is not always suitable when bit allocation or the quantization step are considered, even when coding sections have determined the most suitable bit allocation or quantization step. This is because the individual coding sections which handle the coding of each region are different, even when the image content for each region within a picture concurrently varies depending on the region from complex to simple. In particuler, there is the problem that, since the control conditions for coding of bit rates and the like are usually not assigned with respect to individual coding sections but with respect to the entire coding system, for the above-mentioned reason, the coding efficiency of the entire coding system is not considered to be satisfactory.
Also, when the images are complex in a certain region, that region is short of sufficient bits for proper encoding, and conversely, when the images are simple in certain regions, comparatively higher number of bits are allocated to those regions, resulting in lowering the encoding efficiency and ultimately resulting in obvious visible degradation in the quality of the picture.
SUMMARY OF THE ITWEIMON
It is a first object of the present invention to solve the problem inherent in the conventional technology that, when the complexity of an image pattern for discrete cosine transform (DCT) process is highly non-uniform in each region within a picture, the 4 conventional technology is not able to provide different quantization parameters to suit the variations in local complexities.
Also, another object of the present invention is to solve the problem inherent in the conventional technology that, because the macroblocks within a picture is encoded by rastering the picture, the conventional technology is not suitable for an approach of dividing a picture appropriately into several regions and processing each region in parallel, because the conventional technology cannot control the number of generated bits according to the needs of each region to encode a region optimally.
Therefore, the present invention provides a method comprised by the steps of:
summing picture encoding information for each region of a picture upon completion of each picture to generate picture encoding information; and computing an appropriate target number of bits for each region according to the picture encoding information. Specifically, summing is performed for the number of generated bits and the average quantization parameter in each region, and a product of the two quantities is used to produce a complexity measure for each region; and a target number of encoding bits for each region is obtained from respective proportions. A unit encoding section is dedicated to each region to encode the region according to a respective target number of bits.
Such a method is applicable to the following cases including: when a picture is divided into regions and are to be processed in parallel, this process can be performed by single unit encoding section to provide encoding only, or by a plurality of dedicated encoding sections under a unified control.
The above methodologies provide superior quality images through suitable highly efficient encoding processes to produce superior images in encoding systems having various configurations.
In other words, the present invention provides superior quality images, because the target number of bits to each region in a picture is allocated by reflecting the historical nature of the image in each region so that the bits are allocated to different regions much more appropriately than in the conventional technology. Specifically, at the beginning of each encoding process for a picture: determining a target number of encoding bits to be allocated to each region provided within the picture, according to historical data of the individual regions, and controlling the number of generated bits according to the information obtained. It is necessary to newly provide means to determine a target number of bits for each region, but it is able to adopt the conventional inter- frame rate control algorithm directly, and it is not necessary to change the methodology for a rate control in each region so that the application of the method is relatively easy.
Also, after providing a target number of bits to each encoding section at the beginning of the encoding process, each encoding section can operate independently, therefore, the method is applicable to parallel processing of a plurality of regions within a picture by a plurality of encoding sections arranged in parallel, thereby enabling to provide rate control in a plurality of encoding sections operating in parallel.
Specifically, a picture is divided into regions by considering the complexity measures of various regions at the beginning of the process, and the regions can be parallel processed as described above, resulting in an image quality equal to or superior to the image quality obtained by using single encoding section. A unified rate control for a plurality ot image sequences can also be achieved by using the above method.
Accordingly, the present invention provides a moving picture encoding apparatus that produce high quality images at high efficiency, particularly for an encoding system having a plurality of encoding sections.
BRIEF DESCR11MON OF THE DRAWINGS Figure 1 is a block diagram of moving picture encoding apparatus in Embodiment 1.
Figure 2A is a flowchart of the operation of the moving picture encoding apparatus shown in Figure 1.
6 Figure 2B is a flowchart for the operation of the target rate determining section in the moving picture encoding apparatus shown in Figure 1.
Figure 3 is a block diagram of the moving picture encoding apparatus in Embodiment 2.
Figure 4A is a flowchart of the operation of the moving picture encoding apparatus shown in Figure 3.
Figure 4B is a flowchart for the operation of the target number of bits determining section in the moving picture encoding apparatus shown in Figure 3.
Figure 5 is a block diagram of the moving picture encoding apparatus in Embodiment 3.
Figure 6A is a flowchart of the operation of the moving picture encoding apparatus shown in Figure 5.
Figure 6B is a flowchart for the operation of the target number of bits determining section in the moving picture encoding apparatus shown in Figure 5.
Figure 7 is a block diagram of the moving picture encoding apparatus in Embodiment 4.
Figure 8A is a flowchart of the operation of the moving picture encoding apparatus shown in Figure 7.
Figure 8B is a flowchart for the operation of the target number of bits determining section in the moving picture encoding apparatus shown in Figure 7.
Figure 9 is a block diagram of the moving picture encoding apparatus in Embodiment 5.
Figure 10A is a flowchart of the operation of the moving picture encoding apparatus shown in Figure 9.
Figure 10B is a flowchart for the operation of the target number of bits determining section in the moving picture encoding apparatus shown in Figure 9.
Figure 11 is a block diagram of the moving picture encoding apparatus in Embodiment 6.
7 Figure 12A is a flowchart of the operation of the moving picture encoding apparatus shown in Figure 11.
Figure 12B is a flowchart for the operation of the target number of bits determining section in the moving picture encoding apparatus shown in Figure 11.
Figure 13 is a block diagram of the moving picture encoding apparatus in Embodiment 7.
Figure 14A is a flowchart of the operation of the moving picture encoding apparatus shown in Figure 13.
Figure 14B is a flowchart for the operation of the target number of bits determining section in the moving picture encoding apparatus shown in Figure 13.
Figure 15 is a block diagram of the moving picture encoding apparatus in Embodiment 8.
Figure 16A is a flowchart of the operation of the moving picture encoding apparatus shown in Figure 15.
Figure 16B is a flowchart for the operation of the target number of bits determining section in the moving picture encoding apparatus shown in Figure 15.
Figure 17 is a block diagram of the moving picture encoding apparatus in Embodiment 9.
Figure 18A is a flowchart of the operation of the moving picture encoding apparatus shown in Figure 17.
Figure 18B is a flowchart for the operation of the target number of bits determining section in the moving picture encoding apparatus shown in Figure 17.
Figure 19 is a block diagram of the moving picture encoding apparatus in Embodiment 10.
Figure 20A is a flowchart of the operation of the moving picture encoding apparatus shown in Figure 19.
Figure 20B is a flowchart for the operation of the target number of bits determining section in the moving picture encoding apparatus shown in Figure 19.
8 DESCRIPTION OF THE PREFERRED EMBODIMENTS
The following embodiments are presented for illustrative purposes only, and are not meant to limit the invention in any manner. Also, it should be noted that all the combinations of the features are not necessarily required as means for solving the problems related to the present invention.
Preferred embodiments will be presented in the following with reference to the drawings.
Embodiment 1 Figure 1 shows an example of the structure of the moving picture encoding apparatus in Embodiment 1. The encoding apparatus is comprised by: an input image dividing section 10; a plurality of unit encoding sections 11; a target number of bits determining section 12; and a bit stream reconstruction section 13. Also, the encoding method used here is based on those that can control encoding rates within a unit of one block, and adopted by those international encoding standards such as MPEG 1, MPEG 2 or H. 26x.
The operation of the encoding apparatus shown in Figure 1 will be explained with reference to the flowchart shown in Figure 2A.
First, each picture in the input image sequence 14 is divided in the input image dividing section 10 into a plurality of spatially divided pictures 15 (S10). This process is performed so as not to disturb the region within the individual macroblocks. The method of dividing can be chosen suitably so long as the region within a macroblock is not divided.
Each divided picture 15 is distributed to and encoded by the respective unit encoding section 11 (S11).
The following steps S12-S13 are performed concurrently in each unit encoding section 11, so that description applies equally to all unit encoding sections 11. Prior to
9 starting the encoding process, the unit encoding section 11 obtains, from the target number of bits determining section 12, a target number of bits 16 for the divided picture 15 to be encoded by the respective unit encoding section 11. Each unit encoding section 11 controls the encoding process in each macroblock so that the number of generated bits in the current 5 divided picture 15 matches the target number of bits 16 in the assigned divided picture (S12). Specifically, macroblock encoding is performed according to the method described in MPEG 2 test model 5.
When the encoding process is completed, the unit encoding section 11 transmits data such as the motion compensation prediction error variance 17 (if motion compensations are not required, the variance of input image is used) to the target number of bits determining section 12 (S13). Individual bit streams 18 output from the unit encoding sections 11 are reconstructed into a single bit stream 19 in the bit stream reconstruction section 13 (S14).
The following operations are performed in the target number of bits determining section 12, which will be explained with reference to the flowchart shown in Figure 2B.
An overall prediction error variance for the entire picture (undivided picture) is obtained from a sum of the prediction error variances output from all the unit encoding sections 11 (S 15). Next, a target number of bits for the next entire picture to be processed is determined from the remaining bits of the GOP being processed and the prediction error variance of the preceding entire picture (S16). The product of a ratio of the prediction error variance for each unit encoding section 11 to the sum of the prediction error variances and the target number of bits for entire picture mentioned above is made the target number of bits 16 of the unit encoding section 11. In this way, target numbers of bits for the divided picture to be processed by each unit encoding section 11 are determined, and then transmitted to each unit encoding section 11 as the target number of bits 16 for the divided picture to be processed by that unit encoding section 11 (S 18).
In the above process, prediction error variance for the next picture is obtained from the preceding picture, but it is possible to obtain prediction error variance data at the time of completion of motion compensation step for current picture, and a sum is obtained at that time so as to enable to perform quantization of the DCT coefficient for each unit encoding section 11, i.e., to control the encoding bits.
As described in this embodiment, by using the distribution pattern of the motion prediction error variances in respective divided pictures, it becomes possible to allocate more target bits to those divided pictures requiring a higher number of bits to provide optimum allocation of target bits. Also, this method can be used in an encoding system, having a plurality of parallel encoding sections to process individual regions (or divided pictures), to allocate bits to each divided picture to be processed by the respective encoding section, thereby enabling to generate superior quality images. Also, a target number of bits is determined in relation to a corresponding complexity measure of a picture in this embodiment, but other methods which might be considered include determining a target number of bits according to a ratio of the square roots of complexity measures, or using a threshold value of the number of bits allocated to an encoding section.
Embodiment 2 Figure 3 shows an example of the structure of the moving picture encoding apparatus in Embodiment 2, representing a moving picture encoding system for multiplexing and transmitting a plurality of moving pictures. The system is comprised by: a plurality of unit encoding sections 20 for encoding a plurality of input image sequences 23; a target number of bits determining section 21; and a multiplexing section (MUX section) 22.
The overall operation of the moving encoding apparatus shown in Figure 3 win be explained with reference to the flowchart shown in Figure 4A.
Pictures in each image sequence 23 are input in corresponding unit encoding sections 20 (S20), where they are encoded by following the steps described below. In this process, each unit encoding section 20 obtains its own target number of bits 24, for the assigned picture input into a respective unit encoding section 20, from the target number of 11 bits determining section 21, and the same process is carried out by all the unit encoding sections 20.
The unit encoding section 20 encodes individual macroblocks within the assigned picture while controlling the encoding process so that the number of generated bits matches the target number of bits 24 allocated to thereto (S21). Upon completing the encoding process for the picture, the unit encoding section 20 transmits data 25 such as the prediction error variance of motion compensation to the target number of bits determining section 21 (S22). However, if motion compensations are not required, the variance of input image is used. Bit streams 26 output from the unit encoding sections 20 are integrated into one bit stream 27 in the MUX section 22 (S23).
The target number of bits determining section 21 performs the following steps to determine the target number of bits 24 for the individual unit encoding sections 20, and the process will be explained with reference to the flowchart shown in Figure 4B.
A prediction error variance for the pictures in all the image sequences (hereinafter referred to as a prediction error variance for the whole picture) is obtained from a sum of the prediction error variances (or input signal variances) 25 output from all the unit encoding sections 20 (S24). A target number of bits for the next whole picture to be processed by the unit encoding sections 20 is then determined, based on the prediction error variance of a preceding whole picture of respective picture types and the remaining bits available for encoding the current GOP (S25).
A prediction error variance in each unit encoding section 20 is calculated and their sum is obtained simultaneously (S26). A ratio of the prediction error variance in a unit encoding section 20 to the sum of the prediction error variances from all the unit encoding sections 20 is multiplied by the target number of bits for the whole picture, and the resulting value is assigned to the unit encoding sections 20 as their target number of bits 24 for the next picture in the image sequence 23. In this way, target numbers of bits 24 for the picture to be processed by each unit encoding section 20 are determined, and then transmitted to 12 each unit encoding section 20 as the target number of bits for the picture to be processed by that unit encoding section 20 (S27).
In the above process, the prediction error variance for the next picture is obtained from the preceding picture, but it is possible to obtain prediction error variance data at the time of completion of motion compensation step for the current picture, and a sum is obtained simultaneously so as to enable to perform quantization of the DCT coefficient for each unit encoding section 20, i.e., to control the encoding bits.
In this embodiment, unified rate control of picture unit of a plurality of image sequences is realized by obtaining a ratio of the target number of bits to be allocated to each image sequence on the basis of a plurality of image sequences having different complexity measures. This approach enables to select an appropriate target number of bits, within an available amount of bits to be allocated, according to the need of each image sequence for the encoding bits, so that superior quality images can be produced for each image sequence using a limited number of allocated bits.
Embodiment 3 Figure 5 shows an example of the structure of the moving picture encoding apparatus in Embodiment 3. The encoding apparatus is comprised by: an input image dividing section 30; a plurality of unit encoding sections 31; a target number of bits determining section 32; and a bit stream reconstruction section 33. 'rhe encoding method used here is based on encoding methods that enable to provide rate control for each block, adopted by those international encoding standards such as MPEG 1, MPEG 2 or H. 26x.
The operation of the encoding apparatus shown in Figure 5 will be explained with reference to the flowchart shown in Figure 6A.
First, each picture in the input image sequence 34 is divided in the input image dividing section 30 into a plurality of spatially divided pictures 35 (S30). This process is performed so as not to disturb the region within the individual macroblocks. T'he method of dividing can be chosen suitably so long as the region within a macroblock is not divided.
13 Each sequence of divided pictures 35 is distributed to respective unit encoding section 31, and is encoded therein (S31).
The following steps S32-S33 are performed concurrently in each unit encoding section 31, therefore the description applies equally to all the unit encoding sections 31.
Prior to starting the encoding process, the unit encoding section 31 obtains a target number of bits 36 from the target number of bits determining section 32 for the next divided picture 35 to be encoded in the divided image sequence. Each unit encoding section 31 controls the encoding process in each macroblock so that the number of generated bits in the current divided picture 35 matches the current target number of bits 36 in the assigned divided image picture (S32). When the encoding process is completed for the current picture by following the above steps, the unit encoding section 31 transmits data such as the number of generated bits and an average quantization parameter 37 to the target number of bits determining section 32 (S33). Individual bit streams 38 output from the unit encoding sections 31 are reconstructed into a single bit stream 39 in the bit stream reconstruction section 33 (S34).
The following operations are performed in the target number of bits determining section 32, which will be explained with reference to the flowchart shown in Figure 6B.
A number of generated bits for the entire picture is obtained from a sum of the number of generated bits from all the unit encoding sections 31 (S35). Next, an average quantization parameter for the entire picture is obtained from a ratio of the average quantization parameter output from each unit encoding section 31 and the size of each divided pictures 35 (S36). A complexity measure for the entire picture is obtained by multiplying the number of generated bits for the entire picture with the average quantization parameter for the entire picture (S37). Next, a target number of bits 36 for the next entire picture to be processed is determined from the complexity measure of the preceding entire picture and the remaining bits of GOP being processed (S38). Next, a complexity measure of the next divided picture 35 to be processed by the unit encoding section 31 is computed by multiplying the number of generated bits output from the unit encoding section 31 by the 14 average quantization parameter, and simultaneously, a sum of the complexity measures of all the unit encoding sections 31 is calculated (S39). A ratio of the complexity measure of a unit encoding section 31 to the sum of the complexity measures of all the sections 31 is multiplied by the target number of bits 36 for the entire picture mentioned above, and the resulting figure is assigned to the unit encoding section 31 as the target number of bits for the next picture (S40). In this way, target numbers of bits 36 for the divided picture 35 to be processed by each unit encoding section 31 are determined, and then transmitted to each unit encoding section 31 as the target number of bits 36 for the divided picture to be processed by that unit encoding section 31 (S41).
In the above process, a measure of the picture complexity in various regions, for use in bit allocation, is given by a product of the number of generated bits and the average quantization parameter, but this indicator tends towards a constant value for a similar image pattern, regardless of the method of quantization used. Therefore, by allocating the bits for encoding on the basis of this ratio for the measure, the degree of quantization in various regions (each divided picture) tends to an average value so that the average quality of the entire image can be improved.
In this embodiment, although the complexity measure was indicated by a product of the number of generated bits and the average quantizationparameter, other measures such as an exponential value of the parameter or a sum of such values are equally effective.
Also, for those cases in which the allocated bits are extremely low, a lower limit may be imposed, in place of bit allocation method based on the complexity measure.
By applying the method of encoding according to complexity measures, it becomes possible to allocate bits appropriately for each picture processed by a system of parallel encoding sections to result in superior image quality of all the pictures processed by the individual encoding sections.
Embodiment 4 Figure 7 shows an example of the structure of the moving picture encoding apparatus in Embodiment 4, representing a moving picture encoding system for multiplexing and transmitting a plurality of moving pictures. The system is comprised by: a plurality of unit encoding sections 40 for encoding a plurality of input image sequences 43; 5 a target number of bits determining section 41; and a multiplexing section (MUX section) 42.
The overall operation of the moving encoding apparatus shown in Figure 7 will be explained with reference to the flowchart shown in Figure 8A.
Pictures in each image sequence 43 are input in corresponding unit encoding sections 40 (S50), where they are encoded by following the steps described below. In this process, each unit encoding section 40 obtains its own target number of bits 44 from the target number of bits determining section 41, for the input picture to be encoded.
Each unit encoding section 40 encodes individual macroblocks within the assigned picture while controlling the encoding process so that the number of generated bits matches the target number of bits 44 allocated to thereto (S51). When the encoding process is completed for the pictures by following the above steps, each unit encoding section 40 transmits data such as the number of generated bits and an average quantization parameter 45 to the target number of bits determining section 41 (S52). Individual bit streams 46 output from the unit encoding sections 40 are integrated into a single bit stream 47 in the MUX section 42 (S53).
The following operations are performed in the target number of bits determining section 41, which will be explained with reference to the flowchart shown in Figure 8B.
A number of generated bits for the pictures in all the image sequences (hereinafter, referred to as a number of bits for the whole picture) is obtained from a sum of the number of generated bits output from all the unit encoding sections 40 (S54). Next, an average quantization parameter for the pictures in all the image sequences (hereinafter, referred to as an average quantization parameter for the whole picture) is obtained from a ratio of the 16 average quantization parameters output from the unit encoding sections 40 and the size of each picture (S55).
A complexity measure for the whole picture is obtained by multiplying the number of generated bits for the whole picture with the average quantization parameter for the whole picture (S56). Next, a target number of bits for the whole picture to be processed is determined from the complexity measure of the preceding whole picture and a sum of the remaining bits of GOP being processed (S57). Next, a complexity measure is computed by multiplying the number of generated bits output from respective unit encoding section 40 with the average quantization parameter of each unit encoding section 40, and simultaneously, a sum of the complexity measures of all the unit encoding sections 31 is calculated (S58). A ratio of the complexity measure of a unit encoding section 40 to the sum of the complexity measures of all the unit encoding sections 40 is multiplied by the target number of bits for the whole picture mentioned above, and the resulting figure is assigned to the unit encoding sections 40 as the target number of bits 44 for the next picture in the image sequence 43 (S59). In this way, target numbers of bits 44 for the picture to be processed by each unit encoding section 40 are determined, and then transmitted to each unit encoding section 40 as the target number of bits for the picture to be processed by that unit encoding section 40 (S60).
In this embodiment, unified rate control of picture unit of a plurality of image sequences is available. In particular, a measure of the picture complexity, for use in bit allocation, is given by a product of the number of generated bits and the average quantization parameter, but this measure tends towards a constant value for a similar image pattern, regardless of the method of quantization used, thereby leading to a superior method for allocating encoding bits.
Embodiment 5 Figure 9 shows an example of the structure of the moving picture encoding apparatus in Embodiment 5. The encoding apparatus is comprised by: an input image 17 dividing section 50; a plurality of unit encoding sections 51; a target number of bits determining section 52; and a bit stream reconstruction section 53. The encoding method used here is based on encoding methods that enable to provide rate control for each block, adopted by those international encoding standards such as MPEG 1, MPEG 2 or H. 26x.
The operation of the encoding apparatus shown in Figure 9 will be explained with reference to the flowchart shown in Figure 10A.
First, each picture in the input image sequence 54 is divided in the input image dividing section 50 into a plurality of spatially divided pictures 55 (S70). This process is performed so as not to disturb the region within the individual macroblocks. The method of dividing can be chosen suitably so long as the region within a macroblock is not divided.
Each sequence of divided pictures 55 is distributed to respective unit encoding section 51 (S71). The following steps S72-S73 are performed concurrently in each unit encoding section 51.
The unit encoding section 5 1, prior to starting the encoding process, obtains a target number of bits 56 from the target number of bits determining section 52 for the next divided picture 55 to be encoded in the divided image sequence. Each unit encoding section 51 controls the encoding process in each macroblock so that the number of generated bits in an assigned divided picture matches the target number of bits 56 (S72).
When the encoding process is completed, the unit encoding section 51 transmits data such as the number of generated bits and an average quantization parameter 57 to the target number of bits determining section 52 (S73). Individual bit streams 58 output from the unit encoding sections 51 are reconstructed into a single bit stream 59 in the bit stream reconstruction section 53 (S74).
The following operations are performed in the target number of bits determining section 52, which will be explained with reference to the flowchart shown in Figure 10B.
A number of generated bits for the entire picture is obtained from a sum of the number of generated bits from all the unit encoding sections 51 (S75). Also, an average quantization parameter for the entire picture is obtained from a ratio of the average 18 quantization parameter output from each unit encoding section 51 and the size of each divided image 55 (S76). A complexity measure for the entire picture is obtained from a product of the number of generated bits for the entire picture and the the average quantization parameter for the entire picture (S77). Next, a target number of bits 56 for the entire picture to be processed is determined from the complexity measure of the entire picture in the preceding respective picture types and the remaining bits of GOP being processed (S78).
A complexity measure of each unit encoding section 51 is obtained by multiplying the number of generated bits for each unit encoding section 51 by the average quantization parameter, and simultaneously, a sum of the complexity measures of all the unit encoding sections 51 is calculated (S79). A ratio of the complexity measure of each unit encoding section 51 to the sum of the complexity measures is multiplied by the target number of bits for the entire picture mentioned above, and the resulting figure is used as the target number of bits 56 of the unit encoding section 51 (S80). In this way, target numbers of bits 56 for the picture to be processed by each unit encoding section 51 are determined, and then transmitted to each unit encoding section 51 as the target number of bits for the picture of the same picture type to be processed by that unit encoding section 51 (S81).
In this embodiment, a preceding picture as a reference for bit allocation is limited to those pictures of the same picture type, therefore, the bit allocation that consider the effect of differences in image pattern caused by respective picture types on DCT processing is available. Tberefore, it becomes possible to allocate bits appropriately for each picture processed by a system of parallel encoding sections to result in superior image quality of all the pictures processed by the individual encoding sections.
Embodiment 6 Figure 11 shows an example of the structure of the moving picture encoding apparatus in Embodiment 6. In the pervious embodiments, divided pictures are encoded by unit encoding sections arranged in parallel, but in this embodiment, one unit encoding 19 section encodes a plurality of divided pictures in time-division mode. The encoding apparatus is comprised by: an input image dividing section 60; an encoding section 61; a target number of bits determining section 62; and a bit stream reconstruction section 63. The encoding method used here is based on encoding methods that enable to provide rate control for each block, adopted by those international encoding standards such as MPEG 1, MPEG 2 or H. 26x.
Ile operation of the encoding apparatus shown in Figure 11 will be explained with reference to the flowchart shown in Figure 12A.
First, each picture in the input image sequence 64 is divided in the input image dividing section 60 into a plurality of spatially divided pictures 65 (S90). This process is performed so as not to disturb the region within the individual macroblocks. The method of dividing can be chosen suitably so long as the region within a macroblock is not divided.
Divided pictures 65 are transmitted successively to the encoding section 61 (S91), and are encoded in the encoding section 61. However, there is only one encoding section 61 so that the divided pictures 65 in the input image sequence 64 are encoded serially in the time division mode. Also, the encoding section 61 has a memory medium (not shown) necessary for performing inter-frame encoding of a plurality of image sequences.
The encoding section 61 obtains a target number of bits 66 for a divided pictures 65 to be processed from the target number of bits determining section 62 before starting encoding. The encoding section 61 controls the encoding process in each macroblock so that the number of generated bits in a divided picture to be encoded matches the target number of bits 66 (S92).
When the encoding process is completed for the time-division image, the encoding section 61 transmits data such as the number of generated bits and the average quantization parameter 67 to the target number of bits determining section 62 (S93). Ile above steps, S91-S93, are repeated until the entire time-division pictures 65 are processed. The bit stream 68 of the time-division pictures 65 output from the encoding section 61 is reconstructed into a single bit stream 69 in the bit stream reconstruction section 63(S94).
The following operations are performed in the target number of bits determining section 62, which will be explained with reference to the flowchart shown in Figure 12B.
A number of generated bits for the entire picture is obtained from a sum of the number of generated bits for the divided pictures 65 output from the encoding section 61 (S95). Next, an average quantization parameter for the entire picture is obtained from a ratio of the average quantization parameter output from the encoding section 61 and the size of each divided picture 65 (S96). A complexity measure for the entire picture is obtained by multiplying the number of generated bits for the entire picture with the average quantization parameter for the entire picture (S97). And, a target number of bits 66 for the entire picture to be processed is obtained from the complexity measure of the preceding entire picture and the remaining bits of GOP being processed (S98).
A complexity measure for the divided image is obtained by multiplying the number of generated bits output from the encoding section 61 by the average quantization parameter, and simultaneously, a sum of the complexity measures of the encoding section 61 is calculated (S99). A ratio of the complexity measure of the divided picture 65 to the sum of the complexity measures is multiplied by the target number of bits for the entire picture mentioned above to obtain a target number of bits 66 for the next divided picture 65 (S100). In this way, target numbers of bits 66 for the divided pictures are determined, and then transmitted to the encoding section 61 as the target number of bits for the picture of the same picture type to be processed by the encoding section 61 (S101).
In this embodiment, a preceding picture as a reference for bit allocation is limited to those pictures of the same picture type. Tberefore, the bit allocation that consider the effect of differences in image pattern caused by respective picture types on DCT processing is available, thereby the image quality of the pictures improve.
Embodiment 7 Figure 13 shows an example of the structure of the moving picture encoding apparatus in Embodiment 7. In this apparatus, an image to be processed is divided into a 21 plurality of regions, and the apparatus controls only the process of controlling the number of generated bits in individual regions. The encoding method used here is based on encoding methods that enable to provide rate control for each block, adopted by those international encoding standards such as MPEG 1, MPEG 2 or H. 26x. In this case, the number of generated bits is controlled by a quantization section 72, which determines the quantization parameter for DCI' coefficient.
The operation of the encoding apparatus shown in Figure 13 will be explained with reference to the flowchart shown in Figure 14A.
A motion compensation section 70 performs motion compensation for an input image sequence 75 (S 110), and the resulting prediction error image 76 is sent to the DCT section 71. The DCT section 71 obtains DCT coefficients 77, which are sent to respective quantization sections 72 assigned to individual regions (S111). Each of the quantization sections 72 first obtains a respective target number of bits 78 for its region from the target number of bits determining section 73 before starting the process of determining the quantization parameters for macroblocks within its region. As shown in Figure 13, the plurality of quantization sections 72 operate in parallel.
The quantization section 72 determines a quantization parameter for a macroblock so that the number of generated bits matches the target number of bits 78 assigned by the target number of bits determining section 73 (S112). When the quantization parameter is determined, the quantization section 72 transmits data such as the number of generated bits and an average quantization parameter 79 to the target number of bits determining section 73 (S113). A variable length encoding section 74 performs encoding according to the quantization parameters determined by the respective quantization section 72 to produce variable length bit streams (S114).
The following operations are performed in the target number of bits determining section 73, which will be explained with reference to the flowchart shown in Figure 14B.
A value of generated bits for the entire picture is obtained by the target number of bits determining section 73 from a sum of the number of generated bits in all the regions 22 (S115). Next, an average quantization parameter for the entire picture is obtained from the average quantization parameter of each region and the size of each region (S116). A complexity measure of the entire picture is obtained by multiplying the number of generated bits for the entire picture with the average quantization parameter for the entire picture (S 117). And, a target number of bits for the entire picture to be processed is obtained from the complexity measure of the preceding entire picture of respective picture types and the remaining of GOP being processed (S 118).
A complexity measure of each region is obtained by multiplying the number of generated bits for each region with the average quantization parameter, and simultaneously, a sum of the complexity measures of all the regions is calculated (S 119). A ratio of the complexity measure of a region and the sum of the complexity measures of all the regions is multiplied by the target number of bits for the entire picture to obtain a target number of bits 78 for the region (S120). In this way, target numbers of bits 78 for individual regions are determined, and then transmitted to each quantization section 72 as the target number of bits for the next picture of the same picture type (S121).
According to this embodiment, a target number of bits for each region is allocated by considering the historical pattern of motion in each region, and is allocated to the region for each processing of each picture. Therefore, the present method for allocating the bits to the entire picture is more appropriate than the conventional methodology, and results in superior quality images. More specifically, at the start of each encoding process for a picture, a target number of bits for individual regions in the picture is determined according to the historical information regarding that region of the picture so that the number of generated bits can be controlled according to the type and complexity of the picture in each region, thereby providing superior quality images.
Embodiment 8 Figure 15 shows an example of the structure of the moving picture encoding apparatus in Embodiment 8. In the previous embodiment, a plurality of quantization 23 sections are used to process a series of pictures. In this embodiment, only one quantization section 82 is used, and serial processing is performed using time-division processing to obtain the DCT coefficient. In this apparatus, an image to be processed is divided into a plurality of regions, and the apparatus controls only the process of controlling the number of generated bits in individual regions. The encoding method used here is based on encoding methods that enable to provide rate control for each block, adopted by those international encoding standards such as MPEG 1, MPEG 2 or H. 26x. In this case, the number of generated bits control section is represented by a quantization section 82, which determines the quantization parameter for DCT coefficient.
The operation of the encoding apparatus shown in Figure 15 will be explained with reference to the flowchart shown in Figure 16A.
A motion compensation section 80 performs motion compensation for an input image sequence 85 (S130), and the resulting prediction error image 86 is sent to the DCT section 81. The DCT section 81 obtains DCF coefficients 87, which are sent to the quantization sections 82 assigned to individual regions (S131). The quantization section 82 first obtains a respective target number of bits 88 for its region from the target number of bits determining section 83 before starting the process of determining the quantization parameter for macroblocks, within its region. As shown in Figure 13, there is one quantization section 82, and the quantization process in each region is performed by time- division processing explained in the following.
The quantization section 82 determines a quantization parameter for a macroblock so that the number of generated bits matches the target number of bits 88 assigned by the target number of bits determining section 83 (S132). When the quantization parameter is determined, the quantization section 82 transmits data such as the number of generated bits and an average quantization parameter 89 to the target number of bits determining section 83 (S133). The steps S132-133 are repeated until encoding all the regions is completed. A variable length encoding section 84 performs encoding according to the quantization 24 parameters determined by the quantization section 82 to produce variable length bit streams (S134).
The following operations are performed in the target number of bits determining section 83, which will be explained with reference to the flowchart shown in Figure 16B.
A number of generated bits for the entire picture is obtained by the target number of bits determining section 83 from a sum of number of generated bits in all the regions (S135). Next, an average quantization parameter for the entire picture is obtained from the average quantization parameter for each region and the size of each region (S136). A complexity measure of the entire picture is obtained by multiplying the number of generated bits for the entire picture with the average quantization parameter for the entire picture (S137). And, a target number of bits for the next entire picture to be processed is obtained from the complexity measure of the preceding entire picture of respective picture types and the remaining bits of GOP being processed (S138).
A complexity measure of each region is obtained by multiplying the number of generated bits for each region with its average quantization parameter, and simultaneously, a sum of the complexity measures of all the regions is calculated (S139). A ratio of the complexity measure of a region and the sum of the complexity measures of all the regions is multiplied by the target number of bits for the entire picture to obtain a target number of bits 89 for the region for the next picture (S140). In this way, target numbers of bits 88 for individual regions are determined, and then transmitted to the quantization section 82 as the target number of bits for the next picture of the same picture type (S141).
According to this embodiment, a target number of bits is allocated to each region by considering the historical pattern of motion in each region, and is allocated to the region at each processing of each picture. Therefore, the present method for allocating the bits to the entire picture is more appropriate than the conventional methodology, and results in superior quality images. More specifically, at the start of each encoding process for a picture, a target number of bits for individual regions in the picture is determined according to the historical infon-nation regarding that region of the picture so that the encoding rate can be controlled according to the type and complexity of the picture in each region, thereby providing superior quality images.
Embodiment 9 Figure 17 shows an example of the structure of the moving picture encoding apparatus in Embodiment 9, representing a moving picture encoding system for multiplexing and transmitting a plurality of moving pictures. The system is comprised by: a plurality of unit encoding sections 90 for encoding a plurality of input image sequence 93; a target number of bits determining section 91; and a multiplexing section (MUX section) 92.
Tle overall operation of the moving picture encoding apparatus shown in Figure 17 will be explained with reference to the flowchart shown in Figure 18A.
Pictures in each image sequence 93 are input in corresponding unit encoding sections 90 (S150), where they are encoded by following the steps described below. In this process, each unit encoding section 90 obtains its own target number of bits 94, for the input picture to be encoded, from the target number of bits determining section 91.
Each unit encoding section 90 encodes individual macroblocks within the assigned picture while controlling the encoding process so that the number of generated bits matches the target number of bits 94 allocated thereto (S151). When the encoding process is completed for the respective pictures, each unit encoding section 90 transmits data such as the number of bits generated bits and an average quantization parameter 95 to the target number of bits determining section 91 (S152). Individual bit streams 96 output from the unit encoding sections 90 are integrated into a single bit stream 97 in the MUX section 92 (S153).
The following operations are performed in the target number of bits determining section 91, which will be explained with reference to the flowchart shown in Figure 18B.
A number of generated bits for the pictures in all the image sequences (hereinafter, referred to as a number of bits for the whole picture) is obtained from a sum of the number of generated bits output from all the unit encoding sections 90 (S154). Next, an average 26 quantization parameter for the pictures in all the image sequences (hereinafter, referred to as an average quantization parameter for the whole picture) is obtained from a ratio of the average quantization parameters output from the unit encoding sections 90 and the size of each picture (S155). A complexity measure for the whole picture is obtained by multiplying the number of generated bits for the whole picture with the average quantization parameter for the whole picture (S156). And, a target number of bits for the whole picture to be processed is determined from the complexity measure of the preceding whole picture and a sum of the remaining bits of GOP being processed (S157).
Next, a complexity measure of each unit encoding section is computed by multiplying the number of generated bits output from respective unit encoding section 90 with the average quantization parameter of each unit encoding section 90, and simultaneously, a sum of the complexity measures of all the unit encoding sections 90 is calculated (S158). A ratio of the complexity measure of a unit encoding section 90 to the sum of the complexity measures of all the unit encoding sections 90 is multiplied by the target number of bits for the whole picture mentioned above, and the resulting figure is assigned to the unit encoding sections 90 as the target number of bits 94 for the next picture in the image sequence 93 (S159). In this way, target numbers of bits 94 for the picture to be processed by each unit encoding section 90 are determined, and then transmitted to each unit encoding section 90 as the target number of bits for the picture of the same picture type to be processed by that unit encoding section 90 (S160).
In this embodiment, unified rate control of picture unit of a plurality of image sequences is available. In particular, a measure of the picture complexity, for use in bit allocation, is given by a product of the number of generated bits and the average quantization parameter, but this measure tends towards a constant value for a similar image pattern, regardless of the method of quantization used, thereby leading to a superior method for allocating encoding bits. Also, variability in image complexity caused by changes in image type can be treated without difficulty by allocating the encoding bits according to the picture type as demonstrated in this embodiment.
27 Embodiment 10 Figure 19 shows an example of the structure of the moving picture encoding apparatus in Embodiment 10. T'his encoding apparatus performs encoding a plurality of video object sequences, already prepared in a fore-stage, under at a unified rate control, and specifically employs MPEG 4 as the encoding method.
The overall operation of the moving encoding apparatus shown in Figure 19 will be explained with reference to the flowchart shown in Figure 20A.
Video object planes (referred to as VOP) in each video object sequence 104 are encoded in the respective unit encoding section 101 (S170). It should be mentioned here that VOP corresponds to a picture in a normal image sequence.
At this time, each unit encoding section 101 first obtains a target numbeof bits 105 for the VOP to be processed from the target number of bits determining section 102. Each unit encoding section 101 encodes individual macroblocks within the VOP assigned while controlling the encoding process so that the number of generated bits to be encoded matches the target number of bits 105 from the target number of bits determining section 102 (S171). Upon completing the encoding process for the respective VOPs, each unit encoding section 101 transmits data such as the number of generated bits and an average quantization parameter 106 to the target number of bits determining section 102 (S172).
Individual bit streams 107 output from the unit encoding sections 101 are integrated into one bit stream 108 in the MUX section 103 (S173).
The following operations are performed in the target number of bits determining section 102, which will be explained with reference to the flowchart shown in Figure 20B.
A number of generated bits for the VOPs in all the object sequences (hereinafter, referred to as a number of bits for the whole VOP) is obtained from a sum of the number of generated bits output from all the unit encoding sections 101 (S174). Next, an average quantization parameter for the VOPs in all the object sequences (hereinafter, referred to as an average quantization parameter for the whole VOP) is obtained from a ratio of the 28 average quantization parameters output from the unit encoding sections 101 and the size of each VOP (S175). A complexity measure for the whole VOP is obtained by multiplying the number of generated bits for the whole VOP with the average quantization parameter for the whole VOP (S176). And, a target number of bits for the whole VOP to be processed is determined from the complexity measure of the preceding whole VOP and a sum of the usable remaining bits (S177).
Next, a complexity measure of each unit encoding section is computed by multiplying the number of generated bits output from respective unit encoding section 101 with the average quantization parameter of each unit encoding section 101, and simultaneously, a sum of the complexity measures of all the unit encoding sections 101 is calculated (S178). A ratio of the complexity measure of a unit encoding section 101 to the sum of the complexity measures of all the unit encoding sections 101 is multiplied by the target number of bits for the whole VOP mentioned above, and the resulting figure is assigned to the unit encoding sections 101 as the target number of bits 105 for the next VOP in the video object sequence 104 (S179). In this way, target numbers of bits 105 for the VOP to be processed by each unit encoding section 101 are determined, and then transmitted to each unit encoding section 101 as the target number of bits for the VOP of the same encoding type to be processed by that unit encoding section 101 (S180).
In this embodiment, it is possible to obtain unified rate control for each VOP in a plurality of video object sequences. In particular, although a product of the number of generated bits and the average quantization parameter is used to indicate a picture complexity, such measures tend to assume a constant value regardless of the method of quantization used, thereby leading to a superior method for allocating encoding bits.
In this embodiment, unified rate control of VOP unit of a plurality of video object sequences is available. In particular, a measure of the picture complexity, for use in bit allocation, is given by a product of the number of generated bits and the average quantization parameter, but this measure tends towards a constant value for a similar image 29 pattern, regardless of the method of quantization used, thereby leading to a superior method for allocating encoding bits suitably.
It should be noted that, in Embodiments 1, 3 and 5, input image sequences can be executed by computer means with the use of application programs provided in some computer-readable recording medium, such as CD-ROM and floppy discs. For example, encoding steps described in the flowcharts shown in Figures 2A 213, 6A, 613, 10A, 10B can be described in such a recording medium, so that the operations carried out by various sections such as: the input image dividing sections 10, 30, 50; unit encoding sections 11, 31, 51; target number of bits determining sections 12, 32, 52; stream reconstruction sections 13, 33, 53; that are presented in the block diagrams shown in Figures 1, 5 and 9.
Similarly, in Embodiments 2, 4, 9, and 10, input image sequences can be executed by computer means with the use of application programs provided in some computerreadable recording medium, such as CD-ROM and floppy discs. For example, encoding steps described in the flowcharts shown in Figures 4A, 4B, 8A, 8B, 18A, 18B, and 20A, 20B can be described in such a recording medium, so that the operations carried out by various sections such as: the unit encoding sections 20, 40, 90, 101; target number of bits determining sections 21, 41, 91, 102; MUX sections 22, 42, 92, 103; that are presented in the block diagrams shown in Figures 3, 7, 17 and 19. 20 Similarly, steps described in the flowcharts shown in Figures 12A, 12B and operations carried out by various sections shown in block diagrams in Figure 11 can be described in the recording medium. Relevant sections are, for example: input image dividing section 60, encoding section 61, and stream reconstruction section 63 that are 25 presented in the block diagram shown in Figure 11.
Similarly, in Embodiments 7, 8, the steps described in Figures 14A, 14B and Figures 16A, 16B can be described in the recording medium; operations carried out by the respective sections should be included in the recording medium. Relevant sections include, for example: motion compensation sections 70, 80; DCT sections 71, 81; quantization sections 72, 82, target number of bits determining sections 73, 83; variable length encoding sections 74, 84.
31

Claims (1)

  1. What is claimed is:
    1. A moving picture encoding apparatus for encoding a picture containing a plurality of regions and outputting a coded bit stream comprising:
    a target number of bits determining section for determining a target number of encoding bits for processing each region according to picture encoding information in each region; and an encoding section for encoding each region according to a respective target number of bits determined by said target number of bits determining section.
    2. A moving picture encoding apparatus for encoding a picture containing a plurality of regions by processing each region in parallel and outputting a coded bit stream comprising:
    a target number of bits determining section for determining a target number of encoding bits for processing each region according to picture encoding information in each region; and an encoding section provided for each region of said plurality of regions for processing each region in parallel according to a respective target number of bits determined for each region by said target number of bits determining section.
    3. A moving picture encoding apparatus for encoding a plurality of image sequences comprised by pictures, by processing one picture at a time synchronously comprising:
    a target number of bits determining section for determining a target number of encoding bits for each image sequence to process each picture located at a common point on a common time scale, according to picture encoding information associated with each picture being processed; and 32 an encoding section for encoding each picture in each image sequence according to a respective target number of bits determined by said target number of bits determining section.
    4. A moving picture encoding apparatus for encoding in parallel a plurality of image sequences comprised by pictures, by processing one picture at a time synchronously in each image sequence comprising:
    a target number of bits determining section for determining a target number of encoding bits for each image sequence to process each picture located at a common point on a common time scale for all image sequences, according to picture encoding information associated with each picture being processed; and an encoding section provided for each image sequence of said plurality of image sequences, for encoding each picture in parallel, according to a respective target number of bits for each image sequence determined by said target number of bits determining section.
    5. An apparatus according to one of claims 1 to 4, wherein said target number of bits determining section uses a complexity measure as a relative measure of complexity of said picture encoding information.
    6. An apparatus according to claim 5, wherein said complexity measure is expressed by a product of an average quantization parameter and a number of generated bits.
    7. A moving picture encoding apparatus for processing a picture containing a plurality of regions and outputting a coded bit stream comprising:
    a target number of bits determining section for determining a target number of bits for each region in said picture according to a complexity measure as a relative measure of picture encoding information for encoding each region; and 33 an encoding section for processing each region in said picture according to a respective target number of bits determined by said target number of bits determining section; wherein said complexity measure in a picture to be processed is computed by summing 5 picture encoding information in a picture of a same picture type.
    8. A moving picture encoding apparatus for encoding a picture containing a plurality of regions by processing each region in parallel and outputting a coded bit stream, comprising:
    a target number of bits determining section for determining a target number of bits for each region in said picture according to a complexity measure as a relative measure of picture encoding information for encoding each region; and an encoding section, provided for each region, for processing each region in parallel, according to a respective target number of bits for each region determined by said target number of bits determining section; wherein said complexity measure in a picture to be processed is computed by summing picture encoding information in a picture of a same picture type.
    9. A moving picture encoding apparatus for encoding a plurality of image sequences comprised by pictures by processing one picture at a time synchronously in each image sequence comprising:
    a target number of bits determining section for determining a target number of encoding bits for processing each picture located at a common point on a common time scale for all image sequences, according to a complexity measure associated with each picture in each image sequence; and an encoding section for encoding said pictures in each image sequence according to a respective target number of bits determined by said target number of bits determining section; 34 wherein a picture used for summing relative encoding information for obtaining said complexity measure has a same picture type as a picture to be encoded, and is chosen from a plurality of picture types including an intra-frame prediction type and an inter-frame prediction type. 5 10. A moving picture encoding apparatus for encoding in parallel a plurality of image sequences comprised by pictures, by processing one picture at a time synchronously in each image sequence comprising: a target number of bits determining section for determining a target number of encoding bits for processing each picture located at a common point on a common time scale for all image sequences, according to a complexity measure associated with each picture in each image sequence; and an encoding sections provided for each image sequence of said plurality of image sequences, to process each picture in parallel, according to a respective target number of bits for each image sequence determined by said target number of bits determining section; wherein a picture used for summing relative encoding information for obtaining said complexity measure has a same picture type as a picture to be encoded, and is chosen from a plurality of picture types including an intra-frame prediction type and an inter-frame prediction type.
    11. An apparatus according to one of claims 3, 4, 9 and 10, wherein said image sequence is represented by a video object sequence produced by an object encoding method.
    12. A method for encoding a moving picture containing a plurality of regions and outputting a coded bit stream, comprising the steps of:
    determining a target number of encoding bits for processing each region according to picture encoding information in each region; and encoding each region according to a respective target number of bits determined by said target number of bits determining section.
    13. A method for encoding a moving picture containing a plurality of regions, by processing each region in parallel and outputting a coded bit stream, comprising the steps of: determining a target number of encoding bits for processing each region according to picture encoding information in each region; and encoding each region in parallel according to a respective target number of bits for each region determined by said step for determining a target number of bits.
    14. A method for encoding in a plurality of image sequences comprised by pictures by processing one picture at a time synchronously comprising: determining a target number of encoding bits for processing a picture in each image sequence according to picture encoding information associated with pictures located at a common point on a common time scale for all image sequences; and encoding each picture in each image sequence according to a respective target number of bits determined by said step for determining a target number of bits.
    15. A method for encoding in parallel a plurality of image sequences comprised by pictures, by processing one picture at a time synchronously in each image sequence comprising:
    determining a target number of encoding bits for processing a picture in each image sequence, according to picture encoding information associated with pictures located at a common point on a common time scale for all image sequences; and encoding each picture in each image sequence in parallel, according to a respective target number of bits for each image sequence determined by said step for determining a target number of bits.
    36 16. A method according to one of claims 12 to 15, wherein said picture encoding information is a complexity measure.
    17. A method according to claim 16, wherein said complexity measure is expressed by a product of an average quantization parameter and a number of generated bits.
    18. A method for encoding moving pictures containing a plurality of regions in each picture and outputting a coded bit stream, comprising the steps of:
    determining a target number of bits for a region in a picture according to a complexity measure as a relative measure of picture encoding information; and encoding each region according to a respective target number of bits determined by said step for determining a target number of bits; wherein said complexity measure in a picture to be processed is computed by summing picture encoding information in a picture of a same picture type.
    19. A method for encoding moving pictures containing a plurality of regions in each picture, comprising the steps of: determining a target number of bits for a region in a picture according to a complexity measure as a relative measure of picture encoding information; and encoding each region in parallel, according to a respective target number of bits determined by said step for determining a target number of bits; wherein said complexity measure in a picture to be processed is computed by summing picture encoding information in a picture of a same picture type.
    20. A method for encoding a plurality of image sequences comprised by pictures by processing one picture at a time synchronously comprising:
    37 determining a target number of encoding bits for processing each picture located at a common point on a common time scale for all image sequences, according to a complexity measure associated with each picture in each image sequence; and encoding each picture in each image sequence, according to a respective target number of bits determined by said step for determining a target number of bits; wherein a picture used for summing relative encoding information for obtaining said complexity measure has a same picture type as a picture to be encoded, and is chosen from a plurality of picture types including an intra-frame prediction type and an inter-frame prediction type.
    21. A method for encoding in parallel an image sequence in a plurality of image sequences comprised by pictures, by processing one picture at a time synchronously in each image sequence, comprising the steps of.
    determining section for determining a target number of encoding bits for processing each picture located at a common point on a common time scale for all image sequences, according to a complexity measure associated with each picture in each image sequence; and encoding each picture in parallel, according to a respective target number of bits for each image sequence determined by said step for determining a target number of bits; wherein a picture used for summing relative encoding information for obtaining said complexity measure has a same picture type as a picture to be encoded, and is chosen from a plurality of picture types including an intra-frame prediction type and an inter-frame prediction type.
    22. A method according to one of claims 14, 15, 20 and 21, wherein said image sequence is represented by a video object sequence produced by an object encoding method.
    38 23. A computer-readable recording medium containing an application program, for encoding a picture comprised of a plurality of regions and outputting a coded bit stream, to execute the steps of:
    determining a target number of encoding bits for processing each region according to picture encoding information in each region; and encoding each region according to a respective target number of bits determined by said step for determining a target number of bits.
    24. A computer-readable recording medium containing an application program, for encoding a picture comprised of a plurality of regions by processing each region in parallel and outputting a coded bit stream, to execute the steps of:
    determining a target number of encoding bits for processing each region according to picture encoding information in each region; and encoding each region according to a respective target number of bits determined by said step for determining a target number of bits for each region.
    25. A computer-readable recording medium containing an application program, for encoding a plurality of image sequences by processing one picture at a time synchronously, to execute the steps of:
    determining section for determining a target number of encoding bits for processing each picture located at a common point on a common time scale for all image sequences, according to a complexity measure associated with each picture in each image sequence; and encoding each picture in each image sequence according to a respective target number of bits determined by said step for determining a target number of bits.
    39 26. A computer-readable recording medium containing an application program, for encoding in parallel a plurality of image sequences by processing one picture at a time synchronously in each image sequence, to execute the steps ofdetermining section for determining a target number of encoding bits for processing each picture located at a common point on a common time scale for all image sequences, according to a complexity measure associated with each picture in each image sequence; and encoding each picture in each image sequence in parallel, according to a respective target number of bits for each image sequence determined by said step for determining a target number of bits.
    27. A computer-readable recording medium according to one of claims 23 to 26, wherein said picture encoding information is a complexity measure.
    28. A computer-readable recording medium according claim 27, wherein said complexity measure is expressed by a product of an average quantization parameter and a number of generated bits in a given picture.
    29. A computer-readable recording medium containing an application program, for encoding a picture comprised of a plurality of regions and outputting a coded bit stream, to execute the steps of:, determining a target number of bits for a region in a picture according to a complexity measure as a relative measure of picture encoding information; and encoding each region according to a respective target number of bits determined by said step for determining a target number of bits; wherein said complexity measure in a picture to be processed is computed by summing picture encoding information in a picture of a same picture type.
    30. A computer-readable recording medium containing an application program, for encoding a picture comprised of a plurality of regions and outputting a coded bit stream, to execute the steps of: determining a target number of bits for a region in a picture according to a complexity measure as a relative measure of picture encoding information; and encoding each region in parallel, according to a respective target number of bits determined by said step for determining a target number of bits; wherein said complexity measure in a picture to be processed is computed by summing picture encoding information in a picture of a same picture type.
    31. A computer-readable recording medium containing an application program, for encoding a plurality of image sequences by processing one picture at a time synchronously, to execute the steps of: determining a target number of encoding bits for processing each picture located at a common point on a common time scale for all image sequences, according to a complexity measure associated with each picture in each image sequence; and encoding each image sequence, according to a respective target number of bits determined by said step for determining a target number of bits; wherein a picture used for summing relative encoding information for obtaining said complexity measure has a same picture type as a picture to be encoded, and is chosen from a plurality of picture types including an intra-frame prediction type and an inter-frame prediction type.
    32. A computer-readable recording medium containing an application program, for encoding in parallel an image sequence in a plurality of image sequences by processing one picture at a time synchronously in each image sequence, to execute the steps of:
    41 determining a target number of encoding bits for processing each picture located at a common point on a common time scale for all image sequences, according to a complexity measure associated with each picture in each image sequence; and encoding each image sequence in parallel, according to a respective target number of bits for each image sequence determined by said step for determining a target number of bits; wherein a picture used for summing relative encoding information for obtaining said complexity measure has a same picture type as a picture to be encoded, and is chosen from a plurality of picture types including an intra-frame prediction type and an inter-frame prediction type.
    33. A computer-readable recording medium according to one of claims 25, 26, 31 or 32, wherein said image sequence is represented by a video object sequence produced by an object encoding method. 15 34. A moving picture encoding apparatus substantially as herein described with reference to and as shown in the accompanying drawings.
    35. A method for encoding a moving picture substantially as herein described with reference to the accompanying drawings.
    36. A computer-readable recording medium containing an application program for encoding a picture substantially as herein described with reference to the accompanying drawings.
GB9922507A 1998-09-25 1999-09-24 Apparatus and method for encoding moving images and recording medium containing computer-readable encoding program Expired - Lifetime GB2344954B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27079498A JP3393595B2 (en) 1998-09-25 1998-09-25 Moving picture coding apparatus and moving picture coding method

Publications (3)

Publication Number Publication Date
GB9922507D0 GB9922507D0 (en) 1999-11-24
GB2344954A true GB2344954A (en) 2000-06-21
GB2344954B GB2344954B (en) 2003-04-09

Family

ID=17491108

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9922507A Expired - Lifetime GB2344954B (en) 1998-09-25 1999-09-24 Apparatus and method for encoding moving images and recording medium containing computer-readable encoding program

Country Status (3)

Country Link
JP (1) JP3393595B2 (en)
KR (1) KR100324471B1 (en)
GB (1) GB2344954B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2350515A (en) * 1999-05-24 2000-11-29 Motorola Ltd Video encoder

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4534106B2 (en) * 2000-12-26 2010-09-01 日本電気株式会社 Video encoding system and method
JP3914212B2 (en) * 2004-03-05 2007-05-16 日本電信電話株式会社 Moving picture coding apparatus, moving picture coding method, moving picture coding program, and computer-readable recording medium recording the program
JP6194334B2 (en) * 2015-06-10 2017-09-06 日本電信電話株式会社 Video encoding apparatus, video encoding method, and video encoding program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0655868A1 (en) * 1993-11-30 1995-05-31 Koninklijke Philips Electronics N.V. Device for encoding a video signal
EP0892555A2 (en) * 1997-07-18 1999-01-20 Mitsubishi Denki Kabushiki Kaisha Adaptive video coding method
US5986712A (en) * 1998-01-08 1999-11-16 Thomson Consumer Electronics, Inc. Hybrid global/local bit rate control
US6023296A (en) * 1997-07-10 2000-02-08 Sarnoff Corporation Apparatus and method for object based rate control in a coding system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06268981A (en) * 1993-03-11 1994-09-22 Hitachi Denshi Ltd Picture data encoding device
JPH06303590A (en) * 1993-04-13 1994-10-28 Matsushita Electric Ind Co Ltd Encoding method and decoding method for parallel processing picture
AU2337099A (en) * 1998-01-26 1999-08-09 Tiernan Communications, Inc. Method and apparatus for advanced television signal encoding and decoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0655868A1 (en) * 1993-11-30 1995-05-31 Koninklijke Philips Electronics N.V. Device for encoding a video signal
US6023296A (en) * 1997-07-10 2000-02-08 Sarnoff Corporation Apparatus and method for object based rate control in a coding system
EP0892555A2 (en) * 1997-07-18 1999-01-20 Mitsubishi Denki Kabushiki Kaisha Adaptive video coding method
US5986712A (en) * 1998-01-08 1999-11-16 Thomson Consumer Electronics, Inc. Hybrid global/local bit rate control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2350515A (en) * 1999-05-24 2000-11-29 Motorola Ltd Video encoder

Also Published As

Publication number Publication date
KR20000023222A (en) 2000-04-25
KR100324471B1 (en) 2002-02-27
GB2344954B (en) 2003-04-09
GB9922507D0 (en) 1999-11-24
JP2000102003A (en) 2000-04-07
JP3393595B2 (en) 2003-04-07

Similar Documents

Publication Publication Date Title
KR950004118B1 (en) Apparatus and method of quantizer size control
JP5318134B2 (en) Multi-pass video encoding
US5530478A (en) Image data compressing apparatus
WO2007143876A1 (en) Method and apparatus for adaptively determining a bit budget for encoding video pictures
US6963610B2 (en) Moving image coding device, moving image coding method and program thereof employing pre-analysis
CN108200431B (en) Bit allocation method for video coding code rate control frame layer
CN101507277A (en) Image encoding/decoding method and apparatus
CN1823531B (en) Method and apparatus for encoding moving pictures
JPH09200760A (en) Method and circuit for deciding quantizing interval for video encoder
MX2011000261A (en) Image encoding device, image decoding device, image encoding method, and image decoding method.
CN110225343B (en) Code rate control method and device for video coding
CN109997360A (en) The method and apparatus that video is coded and decoded based on perception measurement classification
EP2659677B1 (en) Video coding
JP4295828B2 (en) Encoding with region information
GB2344954A (en) Determining a target number of bits for each region within an image
JP4270754B2 (en) Data compression assembly having multiple data compression channels
US10616585B2 (en) Encoding data arrays
CN115314722B (en) Video code rate distribution method, system, equipment and storage medium
CN108924555A (en) A kind of code rate control bit distribution method suitable for video segment
JP3313118B2 (en) Complexity judgment device
CN110708548A (en) Method for bit allocation in panoramic video frame
JPH07212795A (en) Method and equipment for picture coding
JP4153454B2 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, and computer-readable recording medium recording the program
JP2007088678A (en) Image coding apparatus
JPH04336894A (en) Moving picture coder

Legal Events

Date Code Title Description
PE20 Patent expired after termination of 20 years

Expiry date: 20190923