A variable transfer rate coding apparatus codes moving picture signals of groups of pictures (GOPs). The picture signals are quantized under control of quantization step width and coded. A first code amount per GOP and a second code amount of picture data included GOP are obtained from the coded picture signals. In response to the first code amount, a total code amount of the picture signals of the GOPs are calculated and the total code amount is compared with a reference total code amount, to decide a first target code amount per GOP in order that the total code amount becomes a maximum amount within the reference total code amount. Further, in response to the first target code amount and the second code amount, a second target code amount of the picture data included in each GOP is determined in accordance with the maximum amount. The quantization step width is varied on the basis of the second target code amount.

Patent
   RE36761
Priority
Jun 24 1994
Filed
Sep 10 1998
Issued
Jul 04 2000
Expiry
Sep 10 2018
Assg.orig
Entity
Large
13
8
all paid
1. A variable transfer rate coding apparatus for coding moving picture signals of a plurality of groups of pictures, comprising:
a quantizer for quantizing the moving picture signals under control of quantization step width per group of pictures;
a coder for coding the quantized picture signals per group of pictures, the coding being executed twice per group of pictures by a first coding and a second coding executed after the first coding;
code amount obtaining means for obtaining a first code amount of the coded picture signals per group of pictures coded by the first coding and a second code amount of the coded picture signals per picture data or block-unit obtained by dividing the picture included per in each group of pictures coded by the first coding;
first determining means, in response to the first code amount, for calculating a temporal total code amount of the moving picture signals of the plurality of groups of pictures and comparing the temporal total code amount with a reference total code amount, to decide a first target code amount for the second coding per group of pictures in order that the total code amount a total code amount obtained by calculating the first target code amount becomes a maximum amount within the reference total code amount;
second determining means, in response to the first target code amount and the second code amount, for determining a second target code amount of for the picture data second coding per the picture or the block-unit included in each group of pictures in accordance with the maximum amount of the total code amount; and
control means for varying the quantization step width on the basis of the second target code amount for the second coding by the coder.
2. The variable transfer rate coding apparatus of claim 1, wherein the code amount obtaining means comprises:
first counting means, in response to the coded picture signals per group of pictures, for sequentially counting code amounts of blocks per picture;
second counting means, in response to the code amounts of blocks, for sequentially counting code amounts of pictures in each group; and
third counting means, in response to the code amounts of pictures, for counting the first code amounts,
wherein at least either of a code amount of a block or a picture is obtained as the second code amount.
3. The variable transfer rate coding apparatus of claim 1, wherein the first determining means comprises:
converting means for sequentially converting the first code amount per group of pictures into different code amounts by means of different conversion characteristics;
accumulating means for accumulating each different code amount per group of pictures over the groups of pictures to generate different total code amounts of the groups of pictures under the different conversion characteristics;
comparing means for comparing each of the different total code amounts with the maximum total code amount; and
third determining means for determining which one of the different total code amounts is the largest and the closest to the maximum total code amount, to output one of the conversion characteristics corresponding to the determined total code amount as the first target code amount, thus the second determining means converting the second code amount into the second target code amount by means of the outputted conversion characteristics.
4. The variable transfer rate coding apparatus of claim 1 further comprising comparing means for comparing the first code amount with the second target code amount to output quantization step width information for each block of a picture, thus the control means varying the quantization step width on the basis of the quantization step width information.
5. The variable transfer rate coding apparatus of claim 4, wherein the comparing means comprises:
detecting means, in response to the coded picture signals, for detecting a code amount of each block;
subtracting means for subtracting the detected code amount from the second target code amount;
first comparing means for comparing a subtraction result of the subtracting means with a reference positive value and outputting a first comparison signal when the subtraction result is positive and grater greater than the reference positive value;
second comparing means for comparing the subtraction result with a reference negative value and outputting a second comparison signal when the subtraction result is negative and grater greater than the reference negative value; and
means, in response to the first comparison signal, for outputting a first quantization step width information, thus the control means narrowing the quantization step width, while in response to the second comparison signal, for outputting a second quantization step width information, thus the control means widening the quantization step width.

1. Field of the Invention

The present invention relates to a variable transfer rate control coding apparatus (variable bit coding apparatus) for efficiently coding signals by use of a smaller amount of codes in a digital recording apparatus, and more specifically to a coding apparatus for coding moving picture signals by controlling the transfer rate, that is, the code amount per unit time.

2. Description of the Prior Art

In the high efficiency coding of picture signals, the variable length coding technique is effective and reasonable, because a part of a picture having a small amount of picture data can be coded by use of a smaller amount of codes. In particular, in the case of the interpicture prediction coding in unit of frame or field of moving picture, the amount of codes (often referred to as code amount simply, hereinafter) can be extremely reduced in the motion-less portion of the moving picture. Therefore, it is possible to increase the transmission and recording efficiency when the transfer rate (the code amount per unit time) are varied according to the contents of picture, on condition that the quality of the moving picture is roughly kept constant.

FIG. 1 is a block diagram showing a prior art variable transfer rate coding apparatus. In this prior art coding apparatus, the coding processing is executed twice for the same moving picture signals. That is, the first coding is executed in a temporal coding to determine a target transfer rate (a target code amount per unit time), and the second coding is executed in an actual coding. <Temporal coding>

In FIG. 5, A designates a composing section provided for the temporal coding, by which temporal code amount of moving picture signals can be obtained. At this temporal coding, two selectors 11 and 18 are both switched to the a-side and the switch 26 is turned off.

Picture signals outputted by the picture signal source 1 are inputted to the predict subtracter 2 and the active detector 5.

Here, since the same picture signals are supplied twice to the coding section, all the picture signals before coding are recorded in a picture recording medium of a large capacity such as VTR. As the picture recording medium, any media such as memory elements, optical disk, HDD, etc. can be used, as far as the recording capacity is large enough.

In the predict subtracter 2, inter-frame prediction signals inputted by an inter-picture predictor 10 are subtracted from the picture signals. The subtracted results are inputted to the DCT 3 as the prediction residual signals.

The prediction residual signals are DCTed by the DCT 3. The DCTed signals are given to the quantizer 4. The quantizer 4 quantizes the DCTed signals according to quantization control data (quantization step width) inputted by the quantize controller 6. These quantized signals are inputted to the variable length coder 7 and the local decoder 8.

In the local decoder 8, the quantized signals are inversely quantized and further inversely DCTed, that is, the codes are decoded as reproduced prediction residual signals. The decoded signals are inputted to the adder 9. In the adder 9, the inter-frame prediction signals inputted by the inter-picture predictor 10 and the reproduced prediction residual signals inputted by the local decoder 8 are added to each other as reproduced picture signals. The reproduced picture signals are supplied to the inter-picture predictor 10.

In the inter-picture predictor 10, the reproduced picture signals are delayed by one frame for motion compensation to generate inter-frame prediction signals. The generated inter-frame prediction signals are supplied to the predict subtracter 2 and the adder 9.

In the activity detector 5, the degree of change of the picture data is detected on the basis of the dispersion of pixel values, the absolute addition of the prediction error values, the absolute addition of orthogonal transform coefficients, etc. Further, the data (necessary when the quantization step width is to be decided by the quantize controller 6) are generated according to the detected degree of change of the picture data for each of the sequential blocks (e.g., 8×8 pixels) partitioned from the picture signals. The generated data are supplied to the quantize controller 6.

Further, the sequential blocks partitioned from the picture signals are collected as a picture, and a plurality of pictures are collected as a picture unit GOP composed of a group of pictures, as depicted in FIG. 7.

To the quantize controller 6, a reference quantization step width (a predetermined fixed value) is inputted through the selector 18 switched to the a-side. Further, the data used to set the quantization step width is supplied from the activity detector 5 to the quantize controller 6.

On the basis of these data, in the case of a picture whose picture contents change violently, the quantization step width is set to a large value by the quantize controller 6. Further, in the case of a picture whose picture contents change slightly, the quantization step width is set to a small value by the quantize controller 6. <Total code amount control>

The variable length coder 7 codes the signals quantized by the quantizer 4 in way of variable length, and outputs the coded data whose data amount is compressed.

The data coded by the variable length coder 7 are inputted to the temporal code amount counter 19 via the selector 11 switched to the a-side.

FIG. 6 shows a practical construction of the temporal code amount counter 19. In FIG. 6, the temporal code amount counter 19 comprises a block code amount counter 30, a picture code amount counter 31, a GOP code amount counter 32, a block end detector 33 for detecting an end of each block, a picture end detector 34 for detecting an end of each picture, and a GOP end detector 35 for detecting an end of each GOP.

To a terminal 29 of the temporal code amount counter 19, coded data of the sequential blocks are supplied from the variable length coder 7 through the selector 11 switched to the a-side. The supplied coded data are inputted to the block code amount counter 30.

On the basis of the coded data supplied to the block code amount counter 30, the code amount for each of the sequential blocks is counted by the operation of both the block code amount counter 30 and the block end detector 33, to generate the code amount data for each of the sequential blocks.

The counted code amount data for the blocks are sequentially inputted to and stored in the block temporal code amount memory 36 of the temporal code amount memory 20 via a transmission line 41. Further, the code amount data for each block is read from the temporal block code amount memory 36, and then inputted to the picture code amount counter 31 of the temporal code amount counter 19 through a line 43.

On the basis of the coded data supplied to the picture code amount counter 31, the code amount for each of sequential pictures is counted by the operation of both the picture code amount counter 31 and the picture end detector 34, to generate the sequential code amount data for the pictures.

The counted code amount data for the pictures are sequentially inputted to and stored in the picture temporal code amount memory 37 of the temporal code amount memory 20 via a transmission line 40. Further, the code amount data for each picture is read from the picture temporal code amount memory 37, and then inputted to the GOP code amount counter 32 of the temporal code amount counter 19 through a line 42.

On the basis of the coded data supplied to the GOP code amount counter 32, the code amount for each of sequential GOPs is counted by the operation of both the GOP code amount counter 32 and the GOP end detector 35, to generate the sequential code amount data for the GOPs.

The counted code amount data for the GOPs are sequentially inputted to and stored in the GOP temporal code amount memory 38 of the temporal code amount memory 20 via a transmission line 39.

The code amount data stored in the temporal code amount memory 20 (i.e., block temporal code amount memory 36, the picture temporal code amount memory 37 and the GOP temporal code amount memory 38) as described above are read therefrom at the second coding of the picture signals supplied from the picture signal source 1.

Further, in FIG. 6, the temporal code amount counter 19 and the temporal code amount memory 20 are constructed in such a way that the code amounts of three stages (block, picture and GOP) are counted separately by the temporal code amount counter 19 and further stored separately in the temporal code amount memory 20. Without being limited thereto, it is also possible to separate the code amounts to five-stage hierarchies such as block, macro-block, slice, picture and GOP and to count and store the respective code amounts of the five stages, separately, as with the case of the ISO 11172-2 (International Standard of Motion Picture). In more general expression, it is possible to separate, count and store the code amount into N-stage hierarchies (N: a positive integer), individually.

Further, at the first coding of the picture signals supplied from the picture signal source 1, the sequential temporal code amount data of the GOPs outputted from the temporal code amount counter 19 through the line 39 are supplied to the code amount converter 113 and converted into target code amount data in accordance with the conversion characteristics stored therein. FIG. 12 shows an example of the code amount converter 113.

Here, when the temporal code amounts of the sequential GOPs (groups of pictures each composed of a plurality of pictures) supplied from the temporal code amount counter 19 to the code amount converter 113 at the first coding are denoted by T1i (i designates a numeral from 1 to n indicative of the order of the sequential GOPs), and when the target code amounts obtained by converting the temporal code amounts T1i on the basis of the conversion characteristics fg of the code amount converter 113 are denoted by T2i, the relationship between T2i, fg and T1i can be expressed by the following formula:

T2i=fg (T1i) (1)

Further, as the conversion characteristics fg, it is possible to use the characteristics obtained on the basis of the ratio of the total temporal code amount S1 to the target code amount S2 at the second coding operation as expressed by the following formula (e.g., as shown in FIG. 8):

fg (x)=k·S1/S2·x (2)

where k is a constant (k>0).

Further, since the picture quality deteriorates with decreasing amount of generated codes of the GOP, it is also preferable to use the conversion characteristics such that a large code amount can be determined when the amount of the generated codes is small, as expressed by the following formula (e.g., as shown in FIG. 9):

fg (x)=a·x·b (3)

where denotes the power, and a and b denote a constant, respectively (a >0, 0 <b <1).

Further, the upper limit of the target code amounts T2i is determined by the capacity of the recording medium for recording coded data or the restriction of the decoding apparatus.

A plurality of the converters 161 to 164 of the code amount converter 113 shown in FIG. 12 are provided with mutually different conversion characteristics fg1, fg2, fg3, . . . (FIGS. 8 and 9 show an example of the conversion characteristics) so that different target code amounts can be outputted on the basis of the temporal code amounts inputted thereto. Further, as the target total code amount to be set, the total capacity of the recording medium used to record the coded data obtained by coding the picture signals can be used, for instance.

Therefore, the same coded data of the same picture signals are supplied from the input terminal 158 to the n-units of the circuit arrangements of the converter 161, the accumulate adder 165 and the comparator 169; the converter 162, the accumulate adder 166 and the comparator 170; the converter 163, the accumulate adder 167 and the comparator 171; . . . ; and the converter 164, the accumulate adder 168 and the comparator 172 of the code amount converter 113.

That is, the temporal code amount data of the sequential GOPs as described above are converted by the n-units of the converters 161 to 164 having different conversion characteristics to obtain the different converted code amount data which is determined on the basis of the recordable capacity of the recording medium. The different converted code amount data for each GOP are added by the n-units of the different accumulate adders 165 to 168, respectively to obtain the n-units of the different accumulated code amount data for the whole picture signals. The n-units of the different accumulated coded data are compared with the determined target total code amount. Therefore, the n-units of the outputs of the n-unit comparators 169 to 172 have different comparison results with respect to the same determined target total code amount, respectively.

The discriminator 173 discriminates or selects the conversion characteristics for converting the temporal code amount for the whole picture signals into the maximum code amount, from among the n-unit outputs of the comparators 169 to 172 provided separately in the code amount converter 113, within a range of the same set target total code amount. The transfer rate data corresponding to the discriminated conversion characteristics discriminated as above are given to the target transfer rate setter 15 of FIG. 5 through an output terminal 159. <Actual coding>

In FIG. 5, the section enclosed by B serves the actual coding, by which the picture signals the same as used for the first coding (temporal coding) already explained are outputted from the picture signal source 1 for the second coding. In this case, the two selectors 11 and 18 are both switched to the b-side, respectively and the switch 26 is turned on.

At the second coding, the picture signals outputted by the picture signal source 1 are inputted to the predict subtracter 2 and the activity detector 5, in the same way as with the case of the first coding already explained.

In the predict subtracter 2, the inter-frame prediction signal inputted by the inter-picture predictor 10 is subtracted from the picture signals, and the subtracted results are inputted to the orthogonal converter 3 as the prediction residual signals.

Further, in the same way as with the case of the first coding, the prediction residual signals are DCTed (discrete cosine transformed) by the orthogonal converter 3, and then introduced to the quantizer 4. In the quantizer 4, the DCTed prediction signals are quantized in accordance with the quantization control data (quantization step width) inputted by the quantize controller 6. These quantized signals are inputted to the variable length coder 7 and the local decoder 8, respectively.

Further, in the same way as with the case of the first coding, the quantized signals are inversely quantized and further inversely DCTed by the local decoder 8, the decoded signals are inputted to the adder 9 as the reproduced prediction residual signals. In the adder 9, the inter-frame prediction signals inputted from the inter-picture predictor 10 and the reproduced prediction residual signals inputted from the local decoder 8 are added, and then supplied to the inter-picture predictor 10 as the reproduced picture signals.

Further, in the same way as with the case of the first coding, in the inter-picture predictor 10, the reproduced picture signals are delayed by one frame for motion compensation to generate the inter-frame prediction signals. The generated inter-frame prediction signals are supplied to the prediction subtracter 2 and the adder 9.

In the activity detector 5, in the same way as at the first coding, data for setting the quantization step width to be decided by the quantize controller 6 are generated in correspondence to the change rate of the picture data for each sequential block (e.g., 8×8 pixels) partitioned by the picture signals. The generated data are supplied to the quantize controller 6.

To the quantize controller 6, data used for setting the quantization step width to be supplied in correspondence to the first block of each picture are supplied from the quantize scale setter 25 through the selector 18 switched to the b-side in the second coding. Further, in the period during which the data for setting the quantization step width is not supplied from the quantize scale setter 25 to the quantize controller 6, data for setting the quantization step width are supplied from the code amount comparator 24 (as shown in FIG. 11 in practice) to the quantize controller 6 via the switch 26.

The coded data outputted from the coder 7 at the second coding are inputted to and written in the buffer 16 in sequence and also inputted to the code amount comparator 24 via the selector 11 switched to the b-side. Further, the coded data written in the buffer 16 are read at a read speed determined on the basis of the transfer rate data inputted from the target transfer rate setter 15, as the coded data of variable transfer rate. The obtained coded data are outputted to another decoding apparatus (not shown) from the coded data output terminal 28.

Further, in the code amount comparator 24, target code amount data inputted from the target code amount memory 23 (described later) and the code amount of the coded data at the second coding are compared to output data (quantization step width control data) used for setting the quantization step width. The outputted data is supplied to the quantize controller 6 via the switch 26.

The quantization step width control data are inputted to the quantize controller 6 from the activity detector 5, the quantize scale setter 25, and the code amount comparator 24, respectively, in order that the maximum total code amount of the coded data for the whole picture signals can be determined within the range less than the target total code amount (e.g., the total memory capacity of the recording medium used to record the coded data of the whole picture) at the second coding.

Further, in the quantize step width setter 25, the quantization step width control data are generated for only the first block of each picture. In the code amount comparator 24, the quantization step width control data are generated for each block used when the quantize step width setter 25 does not generate the quantization step width control data.

In the code amount comparator 24, the target code amount data supplied from the target code amount memory 23 are compared with the code amount for each block (obtained by detecting the code amount of the coded data outputted by the variable length coder 7 at the second coding), and generates the quantization step width control data for each block used when the quantize step width setter 25 does not generate the quantization step width control data.

FIG. 11 is a block diagram showing an actual example of the code amount comparator 24.

In FIG. 11, the coded data outputted from the variable length coder 7 are inputted to a terminal 47. Further, the target code amount data for each of the sequential blocks is inputted from the target code amount memory 23 to a terminal 49. The data inputted to the terminal 49 is inputted to a subtracter 54 as a minuend.

A block code amount detector 21 detects the code amount for each of the sequential blocks on the basis of the coded data inputted to the terminal 47. The detected code amount data for each block is inputted to a subtracter 54 as a subtrahend.

The subtracter 54 subtracts the code amount data (subtrahend) for each block from the target block code amount data (minuend) for each block. The subtracted results are inputted to two comparators 55 and 56. A positive threshold value set to a threshold value setter 51 is inputted to the comparator 55, and a negative threshold value set to a threshold value setter 50 is inputted to the comparator 56.

When the output of the subtracter 54 is positive (i.e., the target block code amount is larger than the generated block code amount and further larger than the positive threshold value set in the threshold value setter 51), a comparison result of the comparator 55 is inputted to a discriminator 57. On the other hand, when the output of the subtracter 54 is negative (i.e., the target block code amount is smaller than the generated block code amount and further smaller than the negative threshold value set in the threshold value setter 50), a comparison result of the comparator 56 is inputted to the discriminator 57.

Further, when the output of the subtracter 54 lies between the positive threshold value set to the threshold value setter 51 and the negative threshold value set to the threshold value setter 50, that is, when a difference between the target block code amount and the generated block code amount is less than a predetermined value, the outputs of both the comparators 55 and 56 are set to zero. The discriminator 57 outputs the quantization step width control data for each block to the quantize controller 6 via the output terminal 48 and the switch 26.

When the two outputs of the two comparators 55 and 56 are both zero, the quantization step width control data inputted from the discriminator 57 to the quantize controller 6 as described above dose not change the quantization step width. Further, when the target block code amount is larger than the generated block code amount and thereby the comparison result of the comparator 55 is inputted to the discriminator 57, the control data decreases the quantization step width. Further, when the target block code amount is smaller than the generated block code amount and thereby the comparison result of the comparator 56 is inputted to the discriminator 57, the control data increases the quantization step width.

On the basis of the reference quantization step width (a predetermined fixed value) and the picture code amount data supplied by the target code amount memory 23, the quantize step width setter 25 generates the quantization step width control data for the first block of each picture, and inputs the generated control data to the quantize controller 6 via the selector 18. The quantize comparator 24 generates the quantization step width control data for each block when the quantize step width setter 25 does not generates the quantization step width data, and the generated control data are inputted to the quantize controller 6 via the switch 26. The switch 26 is turned on only when the quantization step width control data are transmitted.

The quantize step width setter 25 and the code amount comparator 24 generate the quantization step width control data by use of the target code amount data supplied by the target code amount memory 23. The target code amount data stored in the target code amount memory 23 can be obtained by converting the code amount data for each block and the code amount data for each picture of the picture signals stored in the temporal code amount memory 20 into the target code amounts by the converter 22.

Now, the code amount data obtained by the temporal code amount counter 19 at the first coding (i.e., the code amount data for each block, the code amount data for each picture, and the code amount data for each picture unit (GOP) composed of a plurality of pictures of picture signals) have been stored in the temporal code amount memory 20. The data for each GOP of these code amount data are given also to the code amount converter 113. The given data are used to decide the code amount conversion characteristics for converting a plurality of the temporal code amount data for each GOP in such a way that the maximum total code amount of the coded data of the whole picture signals can be obtained within the range less than the target total code amount (e.g., the total memory capacity of the recording medium used to record the coded data of the whole picture signals), as already explained with reference to FIG. 12.

As described above, when the data of the temporal code amount T1i (i denotes numerals 1 to n indicative of the order of the sequential GOPs) obtained at the first coding are supplied to the code amount converter 113, the code amount converter 113 decides the code amount conversion characteristics fg so that the total code amount of the coded data of the whole picture signals becomes the maximum total code amount data T2 (target code amount) within the target total code amount (e.g., the total memory capacity of the recording medium used to record the coded data of the whole picture signals). The code amount converter 113 supplies the target code amount T2i (i denotes numerals 1 to n indicative of the order of the sequential GOPs) to the target transfer rate setter 15. The supplied data T2i are stored in the target transfer rate setter 15.

As described above, in the second coding stage, the code amount data is stored in the target transfer rate setter 15 in such the state that the temporal code amount T1i for each GOP is converted into the target code amount T2i. In addition, the temporal code amount data for each sequential block, the temporal code amount data for each sequential picture, and the temporal code amount data for each GOP have been stored in the temporal code amount memory 20. Further, the target code amount T2i for each GOP stored in the target transfer rate setter 15 has been obtained by converting the temporal code amount T1i generated at the first coding by the code amount converter 113 in accordance with appropriate conversion characteristics fg.

The above-mentioned appropriate conversion characteristics fg can be obtained from the formula (1) as

fg (x)=T2(i)/T1(i)·x

where i denotes numerals 1 to n indicative of the order of the sequential GOPs.

That is, at the second coding of the coding apparatus according to the present invention, data of the target code amount T2i of each GOP stored in the target transfer rate setter 15, the temporal code amount for each block stored in the temporal code amount memory 20, the temporal code amount for each picture stored in the memory 20, and the temporal code amount for each GOP stored in the memory 20 are all supplied to the target code amount converter 22. The target code amount converter 22 converts the code amount data for each block and for each picture stored in the temporal code amount memory 20 into the target code amount data for each block and for each picture. These data are once stored in the target code amount memory 23, thereafter, the necessary data of these stored data are supplied to the quantize scale setter 25 and the code amount comparator 24.

FIG. 10 is an illustration for assistance in explaining the operation of the converter 22 for converting the temporal code amount for each block and the temporal code amount for each picture into the predetermined target code amounts having the relationship T2/T1, where the temporal GOP code amount is denoted by T1(i) and the target GOP code amount is denoted by T2(i).

In FIG. 10, Tp1(0), Tp1(1), . . . denote the temporal code amounts of the sequential pictures, and Tp2(0), Tp2(1), . . . denote the target code amounts of the sequential pictures. In this example, FIG. 10 indicates that the temporal code amount T1(i) of one GOP can be converted into the target code amount T2(i) of one GOP, where the temporal code amounts of a plurality of pictures for constituting one GOP having the temporal code amount T1(i) are denoted by Tp1(0), Tp1(1), . . . .

In other words, when the code amounts are converted in accordance with the conversion characteristics expressed by fg=T2(i)/T1(i), the temporal code amounts Tp1(0), Tp1(1), . . . of the sequential pictures for constituting the single GOP are also converted in accordance with the conversion characteristics expressed by fg=T2(i) /T1(i), with the result that the target code amounts of the sequential pictures can be expressed as Tp2(0), Tp2(1),

Further, in FIG. 10, Tb1(0), Tb1(1), . . . denote the temporal code amounts of the sequential blocks, and Tb2(0), Tb2(1), . . . denote the target code amounts of the sequential blocks. FIG. 10 indicates that the temporal code amount Tp1(i) of one picture can be converted into the target code amount Tp2(i) of one picture, where the temporal code amounts of a plurality of blocks for constituting one picture having the temporal code amount Tp1(i) are denoted by Tb1(0), Tb1(1) . . . .

In other words, when the code amounts are converted in accordance with the conversion characteristics expressed by fg=Tp2(i)/Tpl(i)=T2(i)/T1(i), the temporal code amounts Tb(0), Tb1(1), . . . of the sequential blocks for constituting the single picture are also converted in accordance with the conversion characteristics expressed by fg=Tp2(i) /Tpl(i)=T2(i) /T1(i), with the result that the target code amounts of the sequential blocks can be expressed as Tb2(0), Tb2(1),

Further, in the conversion characteristics of the target code amount converter 22 shown in FIG. 10, although the ratio of the temporal code amount to the target code amount of the upper hierarchy is applied to the lower hierarchy so as to be divided in proportional relationship. Without being limited only thereto, it is also possible to adopt the weighted division in accordance with the formula (3) as already described.

In the coding apparatus according to the present invention, since the code amounts can be divided appropriately so that the picture quality can be equalized, it is possible to improve the picture quality. In addition, since the fluctuations in quantization step width due to the quantization step width control operation can be reduced whenever a changes, it is possible stabilize the picture quality in the intra-frames and inter-frames, while reducing the average code amounts.

Fujiwara, Mitsuaki

Patent Priority Assignee Title
10382750, Nov 18 2005 Apple Inc. Region-based processing of predicted pixels
6904174, Dec 11 1998 Intel Corporation Simplified predictive video encoder
7231091, Sep 21 1998 Intel Corporation Simplified predictive video encoder
7649940, Aug 09 2001 Sony Corporation Image encoding apparatus and method
8031777, Nov 18 2005 Apple Inc Multipass video encoding and rate control using subsampling of frames
8102911, Jun 06 2006 Godo Kaisha IP Bridge 1 Picture coding device
8233535, Nov 18 2005 Apple Inc Region-based processing of predicted pixels
8295343, Nov 18 2005 Apple Inc Video bit rate control method
8780997, Nov 18 2005 Apple Inc Regulation of decode-side processing based on perceptual masking
9049451, Nov 18 2005 Apple Inc. Region-based processing of predicted pixels
9183642, Jan 18 2010 British Telecommunications public limited company Graphical data processing
9207900, Dec 14 2009 British Telecommunications public limited company Rendering graphical data for presenting for display at a remote computer
9706201, Nov 18 2005 Apple Inc. Region-based processing of predicted pixels
Patent Priority Assignee Title
5038209, Sep 27 1990 AT&T Bell Laboratories; American Telephone and Telegraph Company Adaptive buffer/quantizer control for transform video coders
5231484, Nov 08 1991 International Business Machines Corporation; INTERNATIONAL BUSINESS MACHINES CORPORATION A CORPORATION OF NEW YORK Motion video compression system with adaptive bit allocation and quantization
5245427, Feb 21 1991 ACER INC Motion image data compression coding apparatus and image data compression coding method
5291282, Apr 19 1990 OLYMPUS OPTICAL CO , LTD A CORPORATION OF JAPAN Image data coding apparatus and method capable of controlling amount of codes
5515105, Sep 17 1993 Daewoo Electronics Co., Ltd. Video signal coder using variance controlled quantization
5530479, Nov 25 1993 ACER INC Method of compression-coding a motion picture and an apparatus for same
5543844, Nov 25 1992 Matsushita Electric Industrial Co., Ltd. Method and apparatus for coding image data
JP6141298,
//
Executed onAssignorAssigneeConveyanceFrameReelDoc
Sep 10 1998Victor Company of Japan, Ltd.(assignment on the face of the patent)
Oct 01 2011Victor Company of Japan, LTDJVC Kenwood CorporationMERGER SEE DOCUMENT FOR DETAILS 0280020001 pdf
Date Maintenance Fee Events
Feb 26 2001ASPN: Payor Number Assigned.
Oct 11 2001M183: Payment of Maintenance Fee, 4th Year, Large Entity.
Oct 14 2005M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Oct 07 2009M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Jul 04 20034 years fee payment window open
Jan 04 20046 months grace period start (w surcharge)
Jul 04 2004patent expiry (for year 4)
Jul 04 20062 years to revive unintentionally abandoned end. (for year 4)
Jul 04 20078 years fee payment window open
Jan 04 20086 months grace period start (w surcharge)
Jul 04 2008patent expiry (for year 8)
Jul 04 20102 years to revive unintentionally abandoned end. (for year 8)
Jul 04 201112 years fee payment window open
Jan 04 20126 months grace period start (w surcharge)
Jul 04 2012patent expiry (for year 12)
Jul 04 20142 years to revive unintentionally abandoned end. (for year 12)