Video encoder and method

Abstract: When a program of a certain duration is converted into compressed data (encoded), it is desirable for the total number of data to fit in an available data space, for example, when recorded on an information carrier. More particularly in variable bit rate compression such as a video signal via MPEG-2, this is hard to forecast. For this purpose, a recording device according to the invention comprises a compression unit (22) whose bit rate is influenced by a system controller (45) via a control input (26) during the encoding process in dependence on the remaining part of the vacant data space on the information carrier (1) and the remaining duration of the program. When parameters influencing the bit rate are set in the compression unit (22), the system controller will take the complexity of the program derived during a previously encoded part of the program into account. Furthermore, a separate encoding device is described arranged for receiving time information and data space information and there is also described the control of the bit rate of a compression unit (22) in dependence on the time, data space and program complexity information.

Description: The invention relates to an encoding device for encoding a signal, the signal representing a program of a predefined duration, and the encoding device comprising a compression unit for compressing the signal to digital data, and a system controller for controlling the compression unit for influencing the bit rate of the digital data for fitting the program in a data space which is available for the program in dependence on a remaining part of the data space and a remaining part of the duration established during encoding. The invention further relates to a method of encoding a signal that represents a program of a predefined duration, the signal being converted by a compression process into digital data with a bit rate influenced for fitting the program in a vacant data space which is available for the program, in which method a remaining part of the vacant memory space and a remaining part of the duration are determined during the encoding process and the bit rate is influenced by settings of the compression process in dependence on the remaining part of the vacant data space and the remaining part of the duration. An encoding device, recording device, method and encoded signal are known from EP-A 0584991. This document discloses a system for encoding video information in digital data for recording a video program having a known duration (such as a film) on a disc, such as a high density optical disc, for example the so-termed DVD (Digital Video Disc). For this purpose, the system comprises a an MPEG like video compression unit arranged for motion compensation, DCT (Discrete Cosine Transform), quantization and variable length coding, as is customary for MPEG. The controller of the compression unit is arranged for controlling the encoding of the video program so as to fit the program within an available data space on the disc. The data space available for storage on the disc is filled by attuning the bitrate of the coded video program to the available data space to achieve a high average picture quality. The target bitrate to be achieved is calculated from the available data space and the time to be recorded. The actual bitrate is monitored and if it deviates from the target bitrate the compression settings are adjusted. In the event of video material with a lot of activity, the applied settings will often result in a higher actual bitrate than the target bitrate. The compression settings will then be adjusted. However in the first part of the recording time with such video material a more than proportional amount of data space will be filled. Therefore an adjustment of the target bitrate during the further recording time will be required. It is an object of the invention to provide means for directly converting a supplied signal into compressed data, so that the total quantity of compressed data of a program that has a predefined duration fills as much as possible the available data space while the (subjective) quality during the program is substantially constant after reconstruction by decompression of the compressed data. For this purpose, the encoding device according to the invention is as set out in claims 1-6. The method according to the invention is as set out in claims 7-11. By implementing these measures the actual bitrate will be vary less throughout the recording time. This is advantageous in that the subjective quality for the user will be more constant. By taking the complexity into account it will be prevented that when encoding a complex program the first part uses more than half of the available bits, while the second part needs to be compressed heavily to fit in the remaining data space; while for less than average complex material the opposite (a first part unnecessarily compressed and the second part having abundant space available) is prevented. A further advantage is that the measures avoid the last minutes of a program being heavily compressed because the available data space has almost been fully used, because more compressed data than average is generated for a selected quality for the respective program. A further embodiment for the encoding device according to the invention is characterized in that the system controller is arranged for establishing the program complexity in dependence on an actual bit rate during a previously encoded part of the program. This is advantageous in that thus the complexity of the program is determined from the actual program characteristics during an early part of the recording time and is used subsequently. A further embodiment for the encoding device according to the invention is characterized in that system controller is arranged for establishing the program complexity in dependence on peaks and valleys or variation of the actual bit rate during a previously encoded part of the program. This is advantageous in that thus the complexity is determined not only from the actual average bitrate, but also from further properties, which allows a more accurate prediction of the compression settings. A further embodiment for the encoding device according to the invention is characterized in that the system controller is arranged for establishing the program complexity in dependence on a program type. This is advantageous in that thus the influencing of the bit rate is effected from the start of the recording time, as the average complexity of such a program is known from the program type. A further embodiment for the encoding device according to the invention is characterized in that the system controller is arranged for determining the duration in dependence on an expected duration of the program and a margin for levelling peaks in the bit rate in a last part of the program and/or for the program overrunning its time. By adding a margin to the expected duration and using this total duration for influencing the bit rate, space is available for storing more data than expected. This is advantageous in that, for example, in a complex final scene in a video program, the bit rate need not be restricted unproportionally and in that sufficient data space remains available even if the program slightly overruns its time. These and other aspects of the invention will be apparent from and elucidated with reference to the Figures 1 to 4, in which Fig. 1 shows an information carrier of a rewritable type, Fig. 2 shows an encoding device, Fig. 3 shows a compression unit, and Fig. 4 shows a recording device. In the drawing Figures, elements corresponding to those already described carry like reference characters. Fig. 1 shows a disc-shaped information carrier 1 of a rewritable type such as, for example, a CD-E (Compact Disc Erasable). The information carrier comprises a track 9 intended for recording, which is arranged in a helical pattern of windings. The windings may also be arranged concentrically instead of helically. The track 9 is indicated on the information carrier by a servo pattern in which, for example, a pregroove enables a read/write head to follow the track 9 during the scanning. Furthermore, the servo pattern may contain information about the position along the track such as, for example, a time indication from the beginning of the track. The information carrier comprises a pick-up layer which can be inscribed optically or magneto-optically by a device for recording information blocks in the form of patterns of marks. The CD-E comprises, for example, a pick-up layer of phase change material. A description of the recording and reading of a CD and the use of a track and pregroove may be found in the title Principles of optical disc systems" by Bouwhuis et al, ISBN 0-85274-785-3. Fig. 2 shows an encoding device according to the invention. The device comprises a compression unit 22 which converts a signal fed through an input 21 into an encoded signal available on an output 23. The compression unit 22 is of a customary type, such as, for example, MPEG-2 for video signals according to ISO/IEC 13818-2 or for audio signals according to ISO/IEC 13818-3. The encoded signal contains digital data having a bit rate that can be set via a control input 26. Furthermore, the encoding device comprises a system controller 25 for controlling the encoding process. The system controller is coupled to the control input 26 of the compression unit 22 and sets the compression unit to a desired bit rate through this control input. Information relating to the duration of a program to be encoded is available for the system controller 25 via a time input 24, and information relating to the data space via a data space input 27. The time information is, for example, a start and end time of a program to be set by a user, or the duration of the program. The system controller calculates from this information the data space available for the encoded signal and sets the bit rate via the control input 26 so that the program is expected to fill the available data space completely. For example, the available data space is divided by the required duration, which duration is derived from the time information presented through the time input. This results in a bit rate (bits per second) at which the available data space will be completely filled with a program to be encoded. This bit rate is then under the given circumstances the maximum possible average bit rate at which the best possible reconstruction of the program is feasible on reproduction and at which the picture quality during the program is substantially constant. The system controller is arranged for adapting the settings of the compression unit in dependence on time information and/or data space information which is available during the encoding process. During the encoding process, the remaining time duration is found, for example, by establishing the elapsed time with a timer or the difference between an entered end time and the actual time of a clock. The remaining data space is determined by the system controller on the basis of the information from the data space input 27, for example, on the basis of address information of the part already used of the available data space. According to the invention the system controller is arranged to establish a program complexity as described below. The program complexity will be used to control the settings of the compression unit, so as to set a higher compression for a more complex program. If modified information relating to an altered duration of the program or to a modified available data space is applied to the system controller during the encoding process, the system controller will compute a new value for the bit rate and set same. This may occur, for example, if the program is to be recorded on a tape-like information carrier via a tape recording device and the measurement of the remaining available tape length at the start of the recording process is only known in an approximation. During the recording, the remaining tape length may be computed more accurately by the tape recording device and the bit rate may be adapted thereto. It is also possible for the duration of the program to be adapted, for example, in that the user of the system enters a new end time of the program during the recording. In a compression unit having a constant bit rate, the bit rate may be set to the computed value at the start of the program; a compression unit having a variable bit rate may be set such that a desired average bit rate will be obtained while the total quantity of data will fit in the data space. A variable bit rate compression unit is arranged for varying the bit rate in dependence on the contents of the signal. This is advantageous in that a (subjectively) higher, substantially constant quality of a reconstructed signal is obtained because more compressed data are generated for parts of the signal that are hard to compress, while the quantity of data generated on average continues to be restricted. Fig. 3 gives a diagrammatic representation of a compression unit for video information as is customary for MPEG-2 and known from ISO/IEC-13818-2. A digital video signal is applied to input 21 and directed to a DCT unit 32 via a difference unit 31 which DCT unit 32 performs a Discrete Cosine Transform which divides the picture into macroblocks. The coefficients obtained are led to a Q-unit 33 and quantized with a variable dividing factor in which operation the bits of the quotient are processed, whereas the rest is discarded. The quotient bits are led to the VLC unit 34 which encodes the quotients with a variable length. In this manner, an encoded picture signal having a variable bit rate arises on output 23. The average bit rate may be influenced by a controller 39, for example, by setting the dividing factor in the Q-unit so that a larger dividing factor results in a lower bit rate. Customary dividers lie between 2 and 16. A further reduction of the bit rate necessary for a certain picture quality is obtained by transmitting groups of pictures (GOP), in which an independent I-picture is followed by several difference pictures such as, forward forecast P-pictures or bidirectional forecast B-pictures. The controller 39 decides on the basis of the found activity in the presented pictures what type of picture is generated. Fig. 3 diagrammatically shows a switch 38 operated by the controller 39 which does not pass any information for an I-picture and does pass the stored information of a reconstructed picture based on the encoded signal for a P-picture. The difference picture is then determined in difference unit 31 for which motion compensation can also be used. A reconstructed picture as is also formed in a receiving device is formed via the IQ-unit (Inverse Quantization), the IDCT unit (Inverse Discrete Cosine Transform) in a picture memory 37. By the choice of I, B and P-pictures, the controller 39 has a further influence on the bit rate. A suitable criterion in this respect is, for example, the maximum instantaneous bit rate which is to be lower than the transmission capacity of the transport channel and a short-term average, which is to remain so low as not to exceed the buffer capacity in a receiving device. In such a compression unit which has a variable bit rate, the quantity of generated data depends on the contents of the presented signal. If the total quantity of generated data is the same, a higher average quality of the reconstructed signal is obtained than in a system that has a constant bit rate. According to the invention, the average bit rate can be controlled by setting parameters via the control input 26 of the controller 39. The long-term average bit rate is influenced via this control input 26, for example, in that the controller adapts the dividing factor or the choice of I/P/B pictures. Alternatively, a certain preprocessing (not shown in Fig. 3) may be used, such as noise filtering or spatial frequency content reduction, in which the filter parameters may be adapted to influence the bit rate. The encoder device will set the long-term average bit rate so that the program is expected to fill the available data space completely. Admittedly, the average bit rate of the variable bit rate compression unit may be influenced via the control input 26, but the actually generated bit quantity also depends on the actual picture content. In consequence, it is desired to calculate periodically the remaining data space, for example, by measuring the quantity of generated data and reducing the originally available data space by this quantity. New settings are thus constantly calculated in the compression unit. When parameters in a variable bit rate compression units are set, the average bit rate expected for a predefined setting may be started from. However, during the encoding process it is attractive to take account of the average bit rate that actually occurred during the previously encoded part of the program. This actual bitrate results from the complexity of the program, i.e. the general characteristics of the picture contents requiring an average bitrate of the actual program compressed at a predefined setting of the compression unit to achieve a predefined level of picture quality after decompression. Indeed, there may be expected that if in a first part of a program a certain bit rate has already been generated with a certain setting of the parameters, the bit rate to be expected in a next part of the same program will be correlated therewith. The complexity of the signal contents will generally be comparable during the program, so that a better forecast of the expected bit rate later in the program is possible by taking the previously occurring bit rate relative to the used settings of the compression unit into account. The complexity calculation may be derived from a running average over a certain length of time or an average over the total of the previously encoded part, while also taking into account the variation, peaks and valleys or a variance of the bit rate for which a higher bit rate may be used in the event of a large irregularity. In a further embodiment the complexity information of program types is comprised in the system controller, e.g. in a table in a memory. A general average bit rate over a large number of programs for a number of program types may be established beforehand or during previous encoding sessions, such as "sport" (high complexity) or "talk show" (low complexity). The program type may be known to the source of the program to be encoded, may be indicated in the signal or may be entered by the user. The system controller can use the complexity information from the memory or there may be calculated a weighted average of the bit rate that actually occurs and the complexity information from the memory. Fig. 4 shows a recording device according to the invention for recording the disc-shaped information carrier 1. The device comprises a compression unit 22 and a read/write unit 41 and a read/write head 42 for recording information on the information carrier 1. Information is fed through input 21 and converted in the compression unit 22 into an encoded signal which is subsequently converted into a write signal in the read/write unit 41. The write signal is coupled to the read/write head 42. The information carrier 1 rotates driven by driving means 44 which in their turn are driven via a motor signal 43 by the system controller 45. The read/write head 42 scans the track 9 with a beam and reads/writes herein patterns of marks that represent the information such as, for example, with the CD. Information read out and relating to the data space is applied to the system controller 45 by a signal bus 46. During the scanning operation, the read/write head 42 is positioned over the track 9 by a servo system of a customary type (not shown). The system controller 45 checks the scanning of the information carrier 1 via the driving means 44 and the servo system. After an information carrier 1 has been inserted into the device, the system controller 45 reads via the read/write head 42 and the read/write head 41 directory information from the information carrier which directory information is indicative of the available data space. If part of the information carrier has already been recorded previously, this part may be maintained or at the user's command be released for a new recording. If the information carrier as a whole is available, the size of the data space may also be derived from the type of the information carrier, for example, indicated on a separate position on the information carrier by a bar code. It is also possible for information relating to the data space to be contained in a servo pattern already introduced on the information carrier during manufacture, for example, in a wobble of the pregroove on a CD Recordable. The information relating to the duration is fed through time input 24 as is customary, for example, in a video recorder for entering start and end times of a program to be recorded. The system controller 45 may add a margin to the duration information thus fed, to level off peaks in the bit rate in a last part of the program and/or for the program overrunning its time. By adding a margin to the expected duration and using this total duration for influencing the bit rate, space is available for storing more data than expected. For example, in a complex final scene in the last minute of a video program, the bit rate would have to be unproportionally restricted if not more than exactly the space for an average last minute is available. The overrunning of time of a program may be announced, for example, by the respective source, such as, for example, via the PDC (Program Delivery Code) system in which a television transmitter co-transmits via the transmitted signal time information relating to altered start and end times. The invention may likewise be applied to rewritable information carriers of a different type from said disc-shaped type such as, for example, optical or magnetic tape, which can be written linearly or via helical scan. For implementing the invention, it must be possible to determine the available data space. At least the beginning of the empty space and the length thereof or the end are to be determined by a recording device. Alternatively, the user may indicate a certain free area. During the encoding process, the encoding device itself can update the generated quantity of data and therefore knows the remaining empty space. On said disc-shaped information carrier, such as a CD or a magnetic hard disk, the data space may be derived from address information. The invention may also be applied to information carriers on which the position along the track is established differently, such as, for example, via patterns or an auxiliary track previously recorded on the information carrier. Information carriers of this type comprise a part intended for being recorded and having a specific data storage capacity. This data storage capacity may be available fully or in part for storing a program. The quantity of data that may still be recorded on the carrier also depends on the data previously recorded (in so far as it has to be saved). On some information carriers, for example said CD-E, the total data space is known per type. In certain recording systems a so-termed Table Of Contents (TOC) or Directory (for example, according to ISO 9660) there is recorded on the information carrier, what space there is still left for storing data. With respect to tape-like information carriers, the data space available for data storage may also be derived from the total tape length and/or the position of previously recorded programs. In lieu of directly being recorded, the encoded signal may be distributed via other media, such as a network or satellite broadcast. In that case too it may be important to keep the total quantity of encoded data of a program within a predefined maximum for which the encoding device according to the invention is then used. For the respective distribution media it is then advantageous that the total required transmission capacity continues to be within predefined boundaries.

Claims: An encoding device for encoding a signal, the signal representing a program of a predefined duration, and the encoding device comprising a compression unit (22) for compressing the signal to digital data, and a system controller (25) for controlling the compression unit (22) for influencing the bit rate of the digital data for fitting the program in a data space which is available for the program in dependence on a remaining part of the data space and a remaining part of the duration established during encoding, characterized in that said influencing is based on a program complexity of the actual program, and in that the system controller (25) is arranged for establishing the program complexity from general characteristics of the picture contents, whereby the compression unit (22) is controlled such that the digital data has a variable bit rate, but that it is prevented that when encoding a complex program a first part uses substantially more of the data space than the amount proportional to the duration of the first part, while a second part needs to be compressed substantially more heavily to fit in the remaining data space. The encoding device as claimed in Claim 1, characterized in that the general characteristics comprise a running average of the bit rate over a certain length of time or an average of the bit rate over the total of the previously encoded part The encoding device as claimed in Claim 1, characterized in that the general characteristics comprise a variation of the bit rate or peaks and valleys of the bit rate during a previously encoded part of the program. The encoding device as claimed in Claim 1, 2 or 3, characterized in that the general characteristics comprise a program type. The encoding device as claimed in Claim 1, 2, 3 or 4, characterized in that the system controller (25) is arranged for determining the duration in dependence on an expected duration of the program and a margin for levelling off peaks in the bit rate in a last part of the program and/or for the program overrunning its time. A recording device comprising an encoding device as claimed in Claim 1, 2, 3, 4 or 5, for recording a signal on an information carrier (1), wherein the signal represents the program, and the device comprises recording means (41, 42) for recording the signal on the information carrier. A method of encoding a signal that represents a program of a predefined duration, the signal being converted by a compression process into digital data with a bit rate in which method the bit rate is influenced for fitting the program in a data space which is available for the program, and in which method a remaining part of the data space and a remaining part of the duration are determined during the encoding process and the bit rate is influenced by settings of the compression process in dependence on the remaining part of the data space and the remaining part of the duration, characterized in that said influencing is based on a program complexity of the actual program, and in that the program complexity is established from general characteristics of the picture contents, whereby the compression process is controlled such that the digital data has a variable bit rate, but that it is prevented that when encoding a complex program a first part uses substantially more of the data space than the amount proportional to the duration of the first part, while a second part needs to be compressed substantially more heavily to fit in the remaining data space. The method as claimed in Claim 7, characterized in that the general characteristics comprise a running average of the bit rate over a certain length of time or an average of the bit rate over the total of the previously encoded part. The method as claimed in Claim 7, characterized in that the general characteristics comprise a variation of the bit rate or peaks and valleys of the bit rate during a previously encoded part of the program. The method as claimed in Claim 7, 8 or 9, characterized in that the general characteristics comprise a program type. The method as claimed in Claim 7, 8, 9 or 10, characterized in that the duration is determined in dependence on an expected duration of the program and a margin for levelling off peaks in the bit rate in a last part of the program and/or for the program overrunning its time.

Inventors: BRUELS WILHELMUS HENDRIKUS ALF, BRUELS, WILHELMUS HENDRIKUS ALFONSUS, Brüls, Wilhelmus Hendrikus Alfonsus
Applicants: KONINKL PHILIPS ELECTRONICS NV, KONINKLIJKE PHILIPS ELECTRONICS N.V.
Application year: 1997
Main classification: H04N7
IPC codes: G11B27, H04N7, H04N5, G06T9, G11B20, H03M7