This invention employs a scheme to allow an input video signal to undergo encoding, e.g., predictive encoding, DCT processing quantization at fixed quantization step size and variable length encoding to generate first encoded data to determine (calculate) allocated code quantity every frame or every gop on the basis of data quantity every predetermined time, e.g., every frame or every gop of the first encoded data and total quantity of usable data to encode the input video signal every predetermined time on the basis of the allocated code quantity to generate second encoded data. Thus, variable rate encoding such that encoding rate changes every predetermined time is realized. As a result, even if pictures (frames) of complicated are successive, there is no possibility that quantization step size is caused to be large with respect to these pictures as in the conventional apparatus. Thus, uniform high picture quality can be obtained through the entirety. Further, since second encoded data obtained in a manner as described above has variable rate, in the case where such encoded data is recorded onto picture recording media, limited memory capacity can be effectively used, and recording time of picture recording media can be prolonged. In addition, picture data of high picture quality uniform over the entirety can be reproduced from the picture recording media.

Patent
   RE43686
Priority
Apr 09 1993
Filed
Feb 10 2009
Issued
Sep 25 2012
Expiry
Apr 11 2014
Assg.orig
Entity
unknown
0
21
EXPIRED
0. 16. An encoding method for generating output encoded video data by encoding input video data, comprising the steps of:
receiving the code quantity of each picture of first encoded video data, said first encoded video data comprising each picture of the input video data encoded by a first encoder;
acquiring a total quantity of usable data that is a function of the data capacity of a recording medium for recording the encoded output video data;
determining a code quantity allocated to each picture based on the received code quantity and the total quantity of usable, the allocated code quantity being set larger for a complex picture and smaller for a simple picture, and the data quantity of the output encoded video data being equal to or less than the total quantity of the usable data; and
generating the output encoded video data by encoding the input video data for each picture based on the determined code quantity.
0. 18. An encoding method for generating output encoded video data by encoding input video data, comprising the steps of:
receiving the code quantity of each group of pictures (gop) of first encoded video data, said first encoded video data comprising each gop of the input video data encoded by a first encoder;
acquiring a total quantity of usable data that is a function of the data capacity of a recording medium for recording the encoded output video data;
determining a code quantity allocated to each gop based on the received code quantity and the total quantity of usable data, the allocated code quantity being set larger for a complex gop and smaller for a simple gop, and the data quantity of the output encoded video data being equal to or less than the total quantity of the usable data; and
generating the output encoded video data by encoding the input video data for each gop based on the determined code quantity.
0. 19. An encoding method for generating output encoded video data by encoding input video data, comprising the steps of:
receiving from an encoding control circuit data representing difficulty by which each group of pictures (gop) of first encoded video data was encoded, said first encoded video data comprising each gop of the input video data encoded by a first encoder;
acquiring a total quantity of usable data that is a function of the data capacity of a recording medium for recording the encoded output video data;
determining a code quantity allocated to each gop based on said difficulty and the total quantity of usable data, the allocated code quantity being set larger for a complex gop and smaller for a simple gop, and the data quantity of the output encoded video data being equal to or less than the total quantity of the usable data; and
generating the output encoded video data by encoding the input video data for each gop based on the determined code quantity.
0. 17. An encoding method for generating output encoded video data by encoding input video data, comprising the steps of:
receiving from an encoding control circuit data representing difficulty by which each picture of first encoded video data was encoded, said first encoded video data comprising each picture of the input video data encoded by a first encoder;
acquiring a total quantity of usable data that is a function of the data capacity of a recording medium for recording the encoded output video data;
determining a code quantity allocated to each picture based on said difficulty and the total quantity of usable data, the allocated code quantity being set larger for a complex picture and smaller for a simple picture, and the data quantity of the output encoded video data being equal to or less than the total quantity of the usable data; and
generating the output encoded video data by encoding the input video data for each picture based on the determined code quantity.
0. 20. A picture encoder to generate output encoded video data by encoding input video data, comprising:
a receiver configured to receive the code quantity of each picture of first encoded video data, said first encoded video data comprising each picture of the input video data encoded by a first encoder;
means for acquiring a total quantity of usable data that is a function of the data capacity of a recording medium for recording the encoded output video data;
a calculator configured to calculate a code quantity allocated to each picture based on the received code quantity and the total quantity of usable data, the allocated code quantity being set larger for a complex picture and smaller for a simple picture, and the data quantity of the output encoded video data being equal to or less than the total quantity of the usable data; and
an output encoder configured to generate the output encoded video data by encoding the input video data for each picture based on the determined code quantity.
0. 22. A picture encoder to generate output encoded video data by encoding input video data, comprising:
a receiver configured configuredto receiveto receive the code quantity of each group of pictures (gop) of first encoded video data, said first encoded video data comprising each gop of the input video data encoded by a first encoder;
means for acquiring a total quantity of usable data that is a function of the data capacity of a recording medium for recording the encoded output video data;
a calculator configured to calculate a code quantity allocated to each gop based on the received code quantity and the total quantity of usable data, the allocated code quantity being set larger for a complex gop and smaller for a simple gop, and the data quantity of the output encoded video data being equal to or less than the total quantity of the usable data; and
an output encoder configured to generate the output encoded video data by encoding the input video data for each gop based on the determined code quantity.
0. 23. A picture encoder to generate output encoded video data by encoding input video data, comprising:
a receiver configured to receive from an encoding control circuit data representing difficulty by which each group of pictures (gop) of first encoded video data was encoded, said first encoded video data comprising each gop of the input video data encoded by a first encoder;
means for acquiring a total quantity of usable data that is a function of the data capacity of a recording medium for recording the encoded output video data;
a calculator configured to calculate a code quantity allocated to each gop based on said difficulty and the total quantity of usable data, the allocated code quantity being set larger for a complex gop and smaller for a simple gop, and the data quantity of the output encoded video data being equal to or less than the total quantity of the usable data; and
an output encoder configured to generate the output encoded video data by encoding the input video data for each gop based on the determined code quantity.
0. 21. A picture encoder to generate output encoded video data by encoding input video data, comprising:
a receiver configured to receive from an encoding control circuit data representing difficulty by which each picture of first encoded video data was encoded, said first encoded video data comprising each picture of the input video data encoded by a first encoder;
means for acquiring a total quantity of usable data that is a function of the data capacity of a recording medium for recording the encoded output video data;
a calculator configured to calculate a code quantity allocated to each picture based on said difficulty and the total quantity of usable data, the allocated code quantity being set larger for a complex picture and smaller for a simple picture, and the data quantity of the output encoded video data being equal to or less than the total quantity of the usable data; and
an output encoder configured to generate the output encoded video data by encoding the input video data for each picture based on the determined code quantity.
0. 1. An encoding method, comprising the steps of:
receiving an input video signal;
selectively encoding at least a portion of said input video signal by intra-frame encoding or predictive encoding to generate first encoded data, said predictive encoding including forward predictive encoding and backward predictive encoding;
transform encoding said first encoded data to generate first coefficient data;
quantizing said first coefficient data by a fixed step size;
variable length encoding said first quantized data to generate a first bit stream;
determining an encoding rate of said first bit stream every gop as a function of a data quantity of intra-frame and forward-predictive encoded pictures only in the gop;
selectively encoding said input video signal by intra-frame or predictive encoding to generate second encoded data;
transform encoding said second encoded data to generate second coefficient data;
setting a variable step size according to the encoding rate determined every gop;
quantizing said second coefficient data by said variable step size;
variable length encoding said second quantized data to generate a second bit stream; and
outputting said second bit stream.
0. 2. An encoding apparatus, comprising:
means for receiving an input video signal;
means for selectively encoding at least a portion of said input video signal by intra-frame encoding or predictive encoding to generate first encoded data, said predictive encoding including forward predictive encoding and backward predictive encoding;
means for transform encoding said first encoded data to generate first coefficient data;
means for quantizing said first coefficient data by a fixed step size;
means for variable length encoding said first quantized data to generate a first bit stream;
means for determining an encoding rate of said first bit stream every gop as a function of a data quantity of intra-frame and forward-predictive encoded pictures only in the gop;
means for selectively encoding said input video signal by intra-frame or predictive encoding to generate second encoded data;
means for transform encoding said second encoded data to generate second coefficient data;
means for setting a variable step size according to the encoding rate determined every gop;
means for quantizing said second coefficient data by said variable step size;
means for variable length encoding said second quantized data to generate a second bit stream; and
means for outputting said second bit stream.
0. 3. A recording medium on which there is recorded a second bit stream obtained by:
receiving an input video signal;
selectively encoding at least a portion of said input video signal by intra-frame encoding or predictive encoding to generate first encoded data, said predictive encoding including forward predictive encoding and backward predictive encoding;
transform encoding said first encoded data to generate first coefficient data;
quantizing said first coefficient data by a fixed step size;
variable length encoding said first quantized data to generate a first bit stream;
determining an encoding rate of said first bit stream every gop as a function of a data quantity of intra-frame and forward-predictive encoded pictures only in the gop;
selectively encoding said input video signal by intra-frame or predictive encoding to generate second encoded data;
transform encoding said second encoded data to generate second coefficient data;
setting a variable step size according to the encoded data rate determined every gop;
quantizing said second coefficient data by said variable step size;
variable length encoding said second quantized data to generate a second bit stream; and
recording said second bit stream on said recording medium.
0. 4. An encoding method, comprising the steps of:
receiving an input video signal;
selectively encoding at least a portion of said input video signal by inter-frame encoding or predictive encoding to generate first encoded data, said predictive encoding including forward predictive encoding and backward predictive encoding;
transform encoding said first encoded data to generate first coefficient data;
quantizing said first coefficient data by a fixed step size;
variable length encoding said first quantized data to generate a first bit stream;
determining a difficulty of encoding said first bit stream every gop based on inter-frame and forward-predictive encoded pictures only in the gop;
calculating an encoding rate from said difficulty of encoding determined every gop;
selectively encoding said input video signal by intra-frame or predictive encoding to generate second encoded data;
transform encoding said second encoded data to generate second coefficient data;
quantizing the second coefficient data by a step size set according to said calculated encoding rate;
variable length encoding said second quantized data to generate a second bit stream; and
outputting said second bit stream.
0. 5. An encoding apparatus, comprising:
means for receiving an input video signal;
means for selectively encoding at least a portion of said input video signal by intra-frame encoding or predictive encoding to generate first encoded data, said predictive encoding including forward predictive encoding and backward predictive encoding;
means for transform encoding said first encoded data to generate first coefficient data;
means for quantizing said first coefficient data by a fixed step size;
means for variable length encoding said first quantized data to generate a first bit stream;
means for determining a difficulty of encoding said first bit stream every gop based on intra-frame and forward-predictive encoded pictures only in the gop;
means for calculating an encoding rate from said difficulty of encoding determined every gop;
means for selectively encoding said input video signal by intra-frame or predictive encoding to generate second encoded data;
means for transform encoding said second encoded data to generate second coefficient data;
means for quantizing the second coefficient data by a step size set according to said calculated encoding rate;
means for variable length encoding said second quantized data to generate a second bit stream; and
means for outputting said second bit stream.
0. 6. A recording medium on which there is recorded a second bit stream obtained by:
receiving an input video signal;
selectively encoding at least a portion of said input video signal by intra-frame encoding or predictive encoding to generate first encoded data, said predictive encoding including forward predictive encoding and backward predictive encoding;
transform encoding said first encoded data to generate first coefficient data;
quantizing said first coefficient data by a fixed step size;
variable length encoding said first quantized data to generate a first bit stream;
determining a difficulty of encoding said first bit stream every gop based on intra-frame and forward-predictive encoded pictures only in the gop;
calculating an encoding rate from said difficulty of encoding determined every gop;
selectively encoding said input video signal by intra-frame or predictive encoding to generate second encoded data;
transform encoding said second encoded data to generate second coefficient data;
quantizing the second coefficient data by a step size set according to said calculated encoding rate;
variable length encoding said second quantized data to generate a second bit stream; and
recording said second bit stream on said recording medium.
0. 7. An encoding method, comprising the steps of:
receiving an input video signal;
selectively encoding at least a portion of said input video signal by intra-frame or predictive encoding to generate first encoded data representing intra-frame or predictive encoded pictures, respectively;
transform encoding said first encoded data to generate first coefficient data;
quantizing said first coefficient data by a fixed step size;
variable length encoding said first quantized data to generate a first bit stream;
counting a data quantity of said first bit stream every predetermined time to indicate a difficulty of encoding;
determining said difficulty of encoding said first bit stream based on intra-frame and forward-predictive encoded pictures only;
calculating an allocated code quantity for each unit of predetermined time as a function of said difficulty of encoding so that said allocated code quantity is set to be larger for complex pictures and smaller for simple pictures;
selectively encoding said input video signal by intra-frame or predictive encoding to generate second encoded data;
transform encoding said second encoded data to generate second coefficient data;
quantizing said second coefficient data at a step size set in response to said allocated code quantity;
variable length encoding said second quantized data to generate a second bit stream; and
outputting said second bit stream.
0. 8. A method according to claim 7, wherein the fixed quantization step size equals one.
0. 9. A method according to claim 7, further comprising the step of storing said second bit stream in a buffer before it is output, wherein said quantization step size is further based on a quantity of said second bit stream stored in said buffer.
0. 10. A method according to claim 7, wherein said predetermined time is a frame.
0. 11. An encoding apparatus, comprising:
means for receiving an input video signal;
means for selectively encoding at least a portion of said input video signal by intra-frame or predictive encoding to generate first encoded data representing intra-frame or predictive encoded pictures, respectively;
means for transform encoding said first encoded data to generate first coefficient data;
means for quantizing said first coefficient data by a fixed step size;
means for variable length encoding said first quantized data to generate a first bit stream;
means for counting a data quantity of said first bit stream every predetermined time to indicate a difficulty of encoding;
means for determining said difficulty of encoding said first bit stream based on intra-frame and forward-predictive encoded pictures only;
means for calculating an allocated code quantity for each unit of predetermined time as a function of said difficulty of encoding so that said allocated code quantity is set to be larger for complicated pictures and smaller for simple pictures;
means for selectively encoding said input video signal by intra-frame or predictive encoding to generate second encoded data;
means for transform encoding said second encoded data to generate second coefficient data;
means for quantizing said second coefficient data at a step size set in response to said allocated code quantity;
means for variable length encoding said second quantized data to generate a second bit stream; and
means for outputting said second bit stream.
0. 12. An apparatus according to claim 11, wherein the fixed quantization step size equals one.
0. 13. An apparatus according to claim 11, further comprising a buffer for storing said second bit stream before it is output, wherein said quantization step size is further based on a quantity of said second bit stream stored in said buffer.
0. 14. An apparatus according to claim 11, wherein said predetermined time is a frame.
0. 15. A recording medium on which there is recorded a second bit stream obtained by:
receiving an input video signal;
selectively encoding at least a portion of said input video signal by intra-frame or predictive encoding to generate first encoded data representing intra-frame or predictive encoded pictures, respectively;
transform encoding said first encoded data to generate first coefficient data;
quantizing said first coefficient data by a fixed step size;
variable length encoding said first quantized data to generate a first bit stream;
counting a data quantity of said first bit stream every predetermined time to indicate a difficulty of encoding;
determining said difficulty of encoding said first bit stream based on intra-frame and forward-predictive encoded pictures only;
calculating an allocated code quantity for each unit of predetermined time as a function of said difficulty of encoding so that said allocated code quantity is set to be larger for complicated pictures and smaller for simple pictures;
selectively encoding said input video signal by intra-frame or predictive encoding to generate second encoded data;
transform encoding said second encoded data to generate second coefficient data;
quantizing said second coefficient data at a step size set in response to said allocated code quantity;
variable length encoding said second quantized data to generate a second bit stream; and
recording said second bit stream on said recording medium.

The encoding control circuit 30 determines allocated code quantity allocated every GOP on the basis of difficulty (code quantity generated) GOP dj every GOP and total quantity of usable data, and delivers this allocated code quantity to second encoding circuit 40.

In actual terms, when the number of GOPs is assumed to be M, total quantity of usable data is assumed to be B, allocated code quantity with respect to the j-th GOP is GOP bj, and this allocated code quantity GOP bj is caused to be in proportion to difficulty as indicated by the following formula (6), data total quantity B is determined by adding allocated code quantities GOP bj of all GOPs as indicated by the following formula (7). In the formula (6), a is constant.

GOPb j = a × GOPd j B = j = 0 M - 1 GOPb j ( 6 )

Accordingly, constant a can be determined By the following formula (8). Substituting this constant a into the formula (6),

B = j = 0 m - 1 a × GOPb j = a × j = 0 m - 1 GOPd j ( 7 )
allocated code quantity GOPbj with respect to the j-th GOP can be determined by the following formula (9).

a = B j = 0 M - 1 GOPd j ( 8 ) GOPb j = GOPd j × ( B j = 0 M - 1 GOPd j ) ( 9 )

Thus, encoding control circuit 30 increases allocated code quantity GOP bj with respect to, e.g., GOP in which pictures of complicated pattern are included or having low correlation between frames, and decreases allocated code quantity GOP bj with respect to GOP in which pictures of simple pattern are included or having high correlation between frames.

When second encoding circuit 40 is supplied with picture data through delay element 43 at step ST1, as shown in FIG. 6, for example, it judges, at step ST2, whether or not picture data being inputted is the leading picture of GOP. If so, the processing operation proceeds to step ST3. If not so, the processing operation proceeds to step ST4.

At step ST3, second encoding circuit 40 reads in allocated code quantity with respect to GOP currently subjected to encoding from encoding control circuit 30. Then, the processing operation proceeds to step ST4.

At the step ST4, second encoding circuit 40 implements predictive encoding processing and DCT processing, and quantizes coefficient data by quantization step size based on allocated code quantity thereafter to allow it to undergo variable length encoding. Then, the processing operation proceeds to step ST5.

Here, quantization scale setting circuit 33 sets allocated code quantity every frame from delivered allocated code quantity every GOP by taking into consideration picture type (I picture, P picture, B picture) in actual encoding, e.g., picture type shown in FIG. 4. In a more practical sense, allocated code quantity with respect to I picture is increased, allocated code quantity with respect to B picture is decreased, and allocated code quantity with respect to P picture is caused to be intermediate therebetween.

At the subsequent step ST5, whether or not encoding processing has been completed with respect to all frames (sequence) to which the same picture size or the same transfer rate is applied is judged. If so, the processing is completed. In contrast, if not so, the processing operation returns to step ST1. Thus, a variable rate encoding such that encoding rate changes every GOP is realized. Even if pictures (frames) of complicated pattern are successive, there is no possibility that quantization step size is caused to be large with respect to these pictures as in the conventional apparatus. As a result, it is possible to obtain uniform high picture quality over the entirety. Further, since allocated code quantity every GOP is determined on the basis of two pictures in this embodiment, higher speed processing can be carried out as compared to the above-described embodiment. It is to be noted that it is a matter of course to determine allocated code quantities of respective GOPs on the basis of data quantities of all pictures within GOP.

It should be noted that this invention is not limited to the above-described embodiments. While, e.g., transform coding employs DCT in the above-described embodiments, so called Strato transform, Haar transform or Wavelet transform, etc. may be employed.

As is clear from the foregoing description, this invention employs a scheme to allow an input video signal to undergo encoding, e.g., predictive encoding, DCT processing, quantization at fixed quantization step size and variable length encoding to generate first encoded data to determine (calculate) allocated code quantity every frame or every GOP on the basis of data quantity every predetermined time, e.g., every frame or every GOP of the first encoded data and total quantity of usable data to encode the input video signal every predetermined time on the basis of the allocated code quantity to generate second encoded data. Thus, variable rate encoding such that encoding rate changes every predetermined time is realized. As a result, even if pictures (frames) of complicated are successive, there is no possibility that quantization step size is caused to be large with respect to these pictures as in the conventional apparatus. Thus, uniform high picture quality can be obtained over the entirety.

Further, since second encoded data obtained in a manner as described above has variable rate, in the case where such encoded data is recorded onto picture recording media, limited memory capacity can be effectively used, and recording time of picture recording media can be prolonged. In addition, picture data of high picture quality uniform through the entirety can be reproduced from the picture recording media.

Oda, Tsuyoshi

Patent Priority Assignee Title
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
5073820, Oct 31 1989 Olympus Optical Co., Ltd. Image data coding apparatus and coding method
5136377, Dec 11 1990 MULTIMEDIA PATENT TRUST C O Adaptive non-linear quantizer
5144424, Oct 15 1991 THOMSON CONSUMER ELECTRONICS, INC A CORPORATION OF DE Apparatus for video data quantization control
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
5287200, May 14 1990 Eastman Kodak Company Block adaptive linear predictive coding with multi-dimensional adaptive gain and bias
5379355, Aug 24 1992 Ricoh Company Ltd. Data encoding using one or more adaptive decision trees
5396567, Nov 16 1990 Siemens Aktiengesellschaft Process for adaptive quantization for the purpose of data reduction in the transmission of digital images
5404168, Feb 25 1992 Sony Corporation Method and apparatus for encoding an image signal using a multi-stage quantizing number determiner
5410351, Jul 31 1991 Sony Corporation Video signal transmission system and method
5426463, Feb 22 1993 RCA Thomson Licensing Corporation Apparatus for controlling quantizing in a video signal compressor
5434623, Dec 20 1991 Ampex Corporation Method and apparatus for image data compression using combined luminance/chrominance coding
5461422, May 23 1994 Industrial Technology Research Institute Quantizer with automatic pre-threshold
5719986, May 02 1995 Sony Corporation Video signal encoding method
EP475251,
EP493130,
EP5009576,
EP509516,
EP520789,
EP535960,
EP613306,
/
Executed onAssignorAssigneeConveyanceFrameReelDoc
Feb 10 2009Sony Corporation(assignment on the face of the patent)
Date Maintenance Fee Events


Date Maintenance Schedule
Sep 25 20154 years fee payment window open
Mar 25 20166 months grace period start (w surcharge)
Sep 25 2016patent expiry (for year 4)
Sep 25 20182 years to revive unintentionally abandoned end. (for year 4)
Sep 25 20198 years fee payment window open
Mar 25 20206 months grace period start (w surcharge)
Sep 25 2020patent expiry (for year 8)
Sep 25 20222 years to revive unintentionally abandoned end. (for year 8)
Sep 25 202312 years fee payment window open
Mar 25 20246 months grace period start (w surcharge)
Sep 25 2024patent expiry (for year 12)
Sep 25 20262 years to revive unintentionally abandoned end. (for year 12)