This invention relates to a system for encoding/decoding a motion picture, which system is capable of sequentially encoding/decoding the motion picture formed of a plurality of successive frames or decoding in the unit of frame by the use of a processor implemented with MOS transistors laminated on a semiconductor substrate and permitting the processor to control the operating frequency and the substrate bias voltage or the operating voltage, the substrate bias voltage, and the power-supply voltage, and a method for encoding/decoding the motion picture.
In recent years, it has become feasible to transmit and receive a motion picture via a transmission line and accumulate the motion picture in an accumulation medium. Since the motion picture generally has a large volume of information, the technique for encoding/decoding the motion picture has been indispensable when the motion picture is transmitted by using a transmission line furnished with a limited transmission bit rate or when the motion picture is accumulated in an accumulation medium furnished with a limited capacity for accumulation. MPEG (Moving Picture Experts Group), whose standardization is now being promoted by ISO/IEC and H.26X, is an example of the method for encoding/decoding the motion picture. It is the technique for encoding/decoding a plurality of successive frames which form the motion picture, enabling the motion picture to be encoded in a decreased volume of information by curtailing the redundancy by virtue of the temporal relation and the spatial relation of the motion picture and decoding the encoded motion picture into the original motion picture.
The encoding/decoding technique mentioned above has been implemented on such information equipments as personal computers and portable telephones furnished with a built-in micro-computer. By actuating the processor in a computer with a prescribed program of encoding/decoding process, information equipments can function as a system for encoding a motion picture in the case of transmitting the motion picture or as a system for decoding the motion picture in the case of receiving the motion picture. Since the process for encoding/decoding the motion picture, however, tends to consume higher power consumption because it entails a comparatively large amount of operation, decreasing the power consumption in the encoding/decoding process by using software of higher flexibility than hardware has come to a big issue.
Now, the conventional means for decreasing the power consumption by the use of software in the system for encoding/decoding the motion picture will be described below. The conventional means for decreasing the power consumption is disclosed, for example, in the Non-Patent Document 1 identified below.
Non-Patent Document 1: “An LSI for VDD-Hopping and MPEG4 System Based on the Chip” (H. Kawaguchi, G. Zhang, S. Lee, and T. Sakurai) inserted in Collection of Summaries, pp 918-921, of IEEE International Symposium on Circuits and System 2001 (May, 2001).
Non-Patent Document 1 depicts a method for controlling the power-supply voltage and the operating frequency for accomplishing the decrease of power consumption in the case of encoding the motion picture (particularly MPEG) on a processor which is capable of dynamically varying the power-supply voltage and the operating frequency. Alternatively mentioned, the invention of Non-Patent Document 1 is aimed at decreasing the power consumption by controlling the operating frequency and the power-supply voltage of the processor in due respect of the variation which is induced in the amount of operation of encoding/decoding the motion picture in the unit of frame as by the intensity of motion in the motion picture in the case of encoding the motion picture as illustrated in
The encoding process has the time for processing one frame restricted to a time Tf as in accordance with the regulations of the method of encoding (such as MPEG) and is required to complete the encoding process of one frame within the duration of this processing time Tf. The processing time Tf (seconds) for one frame is divided at fixed intervals into N portions, the individual intervals (time) are defined as time slots Tslot (Tslot=Tf/N), and a residual time TRi after the elapse from the time slot Tslot 1 to the time slot Tslot i is defined as TRi=Tf−Tslot×i. The number of blocks of a motion picture to be processed in one time slot Tslot (the process for encoding the motion picture is carried out in the unit of block) is denoted as R (namely, the product R×N represents the number of blocks in one frame) and the time spent in processing (R×i) blocks (namely the time actually spent for processing the group of blocks to be processed from the time slot Tslot 1 through the time slot Tslot I) is denoted as Tacc (i+1). The time that elapses till the power-supply voltage and the operating frequency are stabilized in the case of varying voltage is denoted as Trd. Incidentally, a real time slot RTslot i represents the processing time actually required for the process that is to be completed within the time slot Tslot i. With reference to
On the occasion of dynamically varying the operating clock frequency and the power-supply voltage, therefore, the relevant operation can be performed invariably at a lower operating frequency and a lower power-supply voltage by selecting the smallest of the operating frequencies capable of processing a group of a prescribed the number of blocks within a prescribed duration of time and the decrease of power consumption can be attained by controlling the voltage in conformity with the necessary processing.
Incidentally, for the process (the process of one frame, for example) which is required to terminate within a fixed processing time (the processing time Tf for one frame, for example), it is preferred to effect the process by operating the processor at fixed power-supply voltage and operating frequency throughout the entire processing time for one frame. Specifically, by causing the processor to be operated at a fixed operating frequency Ff throughout the entire length of the processing time Tf of one frame under the conditions satisfying the expression Ff=Kf/Tf (cycles/second), wherein Tf denotes the processing time (second) for one frame, Kf for the amount of operation (cycle), and Ff for the operating frequency, it is made possible to attain the decrease of power consumption as compared with the case of having the operating frequency Ff vary many times within the processing time. The proof of this decrease in power consumption will appear in Proof 2 inserted in the first mode of embodiment cited herein below.
In Non-Patent Publication 1, however, though one frame constitutes the synchronizing unit of the processing time Tf, the power-supply voltage and the operating frequency are varied in up to N times within one frame, a fact which proves lack of due consideration to the reduction of power consumption. That is, the decrease of power consumption in the process for encoding/decoding the motion picture by the use of a processor capable of controlling the power-supply voltage and the operating frequency in may stages as in the conventional procedure has required the power-supply voltage and the operating frequency to be varied may times during the course of processing one frame. Since the frames individually constitute the unit for restricting the processing time as described above, it is preferable to control the processing of one frame at a fixed frequency of the lowest possible value which renders the processing feasible. The conventional procedure that suffers the power-supply voltage and the operating frequency to vary in up to N times during the course of processing one frame, therefore, has been unable to decrease sufficiently the power consumption.
As another primary factor which impedes the decrease of power consumption by the processor, the subthreshold leakage current of the MOS transistor which partakes in the configuration of the processor may be cited. The subthreshold leakage current is a minute current that flows when the gate-to-source voltage of the MOS transistor formed on a semiconductor substrate is lower than the threshold voltage. The electric power consumed by this subthreshold leakage current tends to become predominant as MOS transistors are scaled down and constitutes one primary factor for impeding the decrease of power consumption in the system for encoding/decoding the motion picture by the use of a processor implemented with MOS transistors laminated on a semiconductor substrate.
This subthreshold leakage current can be decreased so much as to realize the decrease of power consumption in the processor by operating the processor at a fixed operating frequency Ff throughout the entire course of the processing time Tf as compared with the case of having the operating frequency Ff of the processor vary many times within the processing time Tf of one frame. The proof of this decrease of the power consumption will appear in Proof 1 inserted in the first mode of embodiment cited herein below. The invention of Non-Patent Document 1 mentioned above suffers the operating frequency to vary in up to N times within one frame, though one frame constitutes the synchronizing unit of the processing time Tf. Threfore, it proves to be disadvantageous from the viewpoint of not merely the power-supply voltage but also the subthreshold leakage current.
Meanwhile, as regards the MOS transistor, it has been known that the subthreshold leakage current can be controlled by regulating the substrate bias voltage of the semiconductor region in which the MOS transistor is formed.
The leakage current which flows in the processor consists of GIDL (Gate-Induced Drain Leakage), DIBL (Drain-Induced Barrier Lowering), gate leakage, and other electric currents besides the charging and discharging electric currents and the subthreshold leakage current. These electric currents tend to increase as MOS transistors are scaled down and constitute one factor for impeding the decrease of power consumption of the processor.
Thus, the present invention is aimed at solving the problems mentioned above and is directed toward providing a system for encoding/decoding a motion picture, which system is capable of decreasing the subthreshold leakage current, further permitting decrease of such electric currents as GIDL, DIBL, and gate leakage, and promoting effective decrease of power consumption, and a method for encoding/decoding the motion picture.
The present inventors, regarding the processor which is a semiconductor device implemented with MOS transistors laminated thereon, have been ascertained that the decrease of power consumption by the processor can be realized by regulating the substrate bias voltage consequently controlling the subthreshold leakage current. The method of controlling the substrate bias voltage and the effect of this control in decreasing the power consumption will be described in detail below. By the processor being formed on a triple-well structure, for example, it is made possible to control a substrate bias voltage Vbn of an n-channel MOS transistor, control a substrate bias voltage Vbp of a p-channel MOS transistor, and effect control of the substrate bias voltage.
The present inventors have been enabled by controlling the substrate bias voltage in accordance with the foregoing results to perfect this invention which is directed toward repressing the subthreshold leakage current and realizing the decrease of power consumption.
Specifically, the method/system of this invention for encoding/decoding a motion picture concerns a motion picture encoding/decoding system/method, which incorporates a means/step of encoding/decoding motion picture for sequentially encoding/decoding in the unit of frame a motion picture formed of a plurality of successive frames by the use of a processor implemented with MOS transistors laminated on a semiconductor substrate and enables the processor to control an operating frequency and a substrate bias voltage and which is characterized by comprising a means/step of calculating necessary operation volume for calculating the volume of operation necessary for encoding/decoding the present frame, ie one arbitrary frame ready to be encoded or decoded, and a means/step of deciding substrate bias voltage and operating frequency for deciding a substrate bias voltage and an operating frequency capable of encoding/decoding the volume of necessary operation within a time allocated in advance to the process for encoding/decoding the present frame and permitting the processor to rely on the means/step of encoding/decoding motion picture to perform the process of encoding/decoding the present frame while operating steadily in the unit of frame with the substrate bias voltage and the operating frequency decided by the means/step of deciding substrate bias voltage and operating frequency.
In the regulations of the encoding/decoding procedure (such as MPEG), the processing time is allocated in advance to the present frame. In accordance with the present invention, the means/step of calculating necessary operation volume serves to calculate the volume of operation necessary for encoding/decoding the present frame, the means/step of deciding substrate bias voltage and operating frequency serves to decide a substrate bias voltage and an operating frequency capable of encoding/decoding the volume of necessary operation mentioned above within the time allocated in advance to the process of encoding/decoding the present frame, and the processor serves to use the means/step of encoding/decoding motion picture for performing the process of encoding/decoding the present frame while operating steadily with the operating frequency and the substrate bias voltage calculated as described above. Since the processor is consequently actuated with fixed substrate bias voltage and operating frequency on each of the frames and enabled to perform the process of encoding/decoding, it is made possible to repress the subthreshold leakage current Ist and promote the decrease of power consumption as compared with the conventional technique which suffers the substrate bias voltage and the operating frequency to vary many times during the process of encoding/decoding the present frame because the operating frequency and the power-supply voltage are decided for each of a prescribed the number of blocks formed by dividing a frame. The substrate bias and the operating frequency of the processor are controlled by the means/step of controlling substrate bias and the means/step of controlling operating frequency, respectively.
If the subthreshold leakage current is repressed excessively, the excess will possibly result in rather inhibiting the decrease of power consumption. For the purpose of promoting the decrease of power consumption more effectively, therefore, it is preferable to control the power-supply voltage in addition to the substrate bias voltage. Now, the relation between the operating frequency and the power-supply voltage-substrate bias voltage will be described in detail below. It is assumed that the current which is consumed in a peripheral device comprising the processor 1 and/or a local decoding memory is represented by the following formula.
I=Icd+Ist
In this formula, Icd denotes a charging/discharging current represented by the following formula.
Icd=a×C×f×VDD
wherein a denotes a coefficient, C the number of transistors of the processor, f an operating frequency, and VDD a power-supply voltage. Meanwhile, Ist denotes a subthreshold leakage current represented by the following formula.
Ist=I0×10ˆ((Vgs−Vt)/S)
wherein I denotes a constant, Vgs a voltage between a gate and a source, Vt a threshold voltage (Ttn or −Vtp), and S a subthreshold swing. The threshold voltage is represented by the following formula using a substrate bias voltage.
Vt=Vt0+γ√(δ−VBB)
wherein Vt0, γ, and δ each denote a constant and VBB denotes a substrate bias voltage (Vbn or −Vbp). Meanwhile, the operating frequency is represented by the following formula using a power-supply voltage and a threshold voltage.
f=K×(VDD−Vt)ˆα/VDD
wherein K and a each denote a coefficient. The power consumption P in the circuit is represented by the following formula.
P=Pcd+Pst
wherein Pcd=VDD×Icd, ie a dynamic electric power due to a charging/discharging current and Pst=VDD×Ist, ie a static leakage current due to a subthreshold leakage current.
The inventors, concerning the processor which is a semiconductor device implemented with MOS transistors laminated thereon, have been further ascertained that the decrease of power consumption of the processor can be realized by controlling the substrate bias voltage and the power-supply voltage thereby repressing GIDL (Gate-Induced Drain Leakage), DIBL (Drain-Induced Barrier Lowering), the gate leakage, and other current besides the charging/discharging current and the subthreshold leakage current. The GIDL is a current that flows from the drain toward the substrate owing to the phenomenon of tunneling. Also, the DIBL is a current that flows because the barrier of the source is lowered and the carrier is injected from the source into the channel surface when the drain voltage of the MOS transistor is high. The gate leakage is a current that flows from the gate toward the channel owing to the phenomenon of tunneling occurring in the gate oxide film of the MOS transistor. The DIBL is a function solely of power-supply voltage and the GIDL, gate leakage, and other electric currents are functions of power-supply voltage and substrate bias voltage. When these leakage currents are taken into consideration, the electric power consumption P in the processor is represented by the following formula;
P=Pcd+Pst+PGIDL+PDIBL+Pgl+Pother
wherein Pcd denotes a charging/discharging electric power, Pst an electric power consumed by subthreshold leakage, PGIDL an electric power consumed by GIDL, PDIBL an electric power consumed by DIBL, Pgl an electric power consumed by gate leakage, and Pother other electric power consumptions. The electric power consumption P constitutes a function of power-supply voltage and substrate bias voltage. Even in this case, the decrease of power consumption can be promoted more effectively by causing the processor to be actuated with such power-supply voltage and substrate bias voltage as minimize the total power consumption relative to a prescribed operating frequency.
The present inventors have been enabled by controlling not only the substrate bias voltage but also the power-supply voltage in accordance with the foregoing results to perfect this invention which is directed toward moderately repressing the subthreshold leakage current, charging/discharging current, and other leakage currents.
Specifically, the method/system of this invention for encoding/decoding a motion picture concerns a motion picture encoding/decoding system/method, which incorporates a means/step of encoding/decoding motion picture for sequentially encoding/decoding a motion picture formed of a plurality of successive frames in the unit of frame by the use of a processor implemented with MOS transistors laminated on a semiconductor substrate and enables the processor to control an operating frequency, a substrate bias voltage, and a power-supply voltage and which is characterized by comprising a means/step of calculating necessary operation volume for calculating the volume of operation necessary for encoding/decoding the present frame, ie one arbitrary frame ready to be encoded or decoded, and a power-supply voltage-means/step of deciding substrate bias voltage and operating frequency for deciding a power-supply voltage, a substrate bias voltage, and an operating frequency capable of encoding/decoding the volume of necessary operation within a time allocated in advance to the process for encoding/decoding the present frame and permitting the processor to rely on the means/step of encoding/decoding motion picture to perform the process of encoding/decoding the present frame while operating steadily in the unit of frame with the substrate bias voltage, the power-supply voltage, and the operating frequency decided by the means/step of deciding power-supply voltage, substrate bias voltage and operating frequency.
Since the electric power consumption P is affected greatly by not merely the subthreshold leakage current Ist but also the charging/discharging current Icd and other leakage currents as described above, it is made possible to repress moderately the subthreshold leakage current Ist and the charging/discharging current Icd and other leakage currents and realize the decrease of power consumption more effectively by controlling the power-supply voltage in conjunction with the substrate bias voltage. According to this invention, the processor is expected to perform the process of encoding/decoding while operating with fixed power-supply voltage, substrate bias voltage, and operating frequency for each of the frames. It is enabled to promote the decrease of power consumption as compared with the conventional technique which suffers the power-supply voltage and the operating frequency to vary many times during course of the encoding/decoding process because the operating frequency, the power-supply voltage, and the substrate bias voltage are decided for each of the prescribed the number of blocks formed by dividing a frame. Since the control is affected on not only the substrate bias voltage but also the power-supply voltage, the subthreshold leakage current Ist, the charging/discharging current, and other leakage currents are moderately repressed and the decrease of power consumption is realized more effectively. Here, the power-supply voltage and the substrate bias voltage which fit a fixed operating frequency are preferred to be in such a combination as minimizes the electric power consumption P.
The motion picture encoding/decoding system/method of the present invention is characterized by the processor allowing the operating frequency thereof to vary in r steps (r denoting an integer of not less than 2) and the means/step of calculating operating frequency and substrate bias voltage which calculates the operating frequency Fe necessary for processing the necessary operation volume Kp with the time Te by the formula Fe=Kp/Te using the necessary operation volume Kp of the present frame calculated by the means/step of calculating necessary operation volume and the time Te allocated to the processing of the present frames selecting from the operating frequencies available for the operation of the processor an operating frequency exceeding the necessary operating frequency Fe mentioned above and approximating most closely to the operating frequency Fe, and deciding a substrate bias voltage suitable for the selected operating frequency. The motion picture encoding/decoding system/method of the present invention is characterized by the processor allowing the operating frequency thereof to vary in r steps (r denoting an integer of not less than 2) and the means/step of deciding power-supply voltage, substrate bias voltage and operating frequency calculating the operating frequency Fe necessary for processing the necessary operation volume Kp with the time Te by the formula Fe=Kp/Te using the necessary operation volume Kp of the present frame calculated by the means/step of calculating necessary operation volume and the time Te allocated to the processing of the present frame, selecting from the operating frequencies available for the operation of the processor an operating frequency exceeding the necessary operating frequency Fe mentioned above and approximating most closely to the operating frequency Fe, and deciding a substrate bias voltage and a power-supply voltage suitable for the selected operating frequency.
According to these inventions, after the operating frequency Fe necessary for processing the necessary operation volume Kp within the time Te has been calculated by the formula Fe=Kp/Te, the calculation for selecting from operating frequencies available for the operation of the processor an operating frequency exceeding the necessary operating frequency Fe mentioned above and approximating most closely to this operating frequency Fe is carried out, the decision of a substrate bias voltage suitable for the selected operating frequency F or the decision of a power-supply voltage and a substrate bias voltage suitable for the selected operating frequency is made as well, and the operation of the processor is steadily continued and meanwhile the process for encoding/decoding the present frame is carried out by the means/step of encoding/decoding motion picture. Alternatively mentioned, the decrease of power consumption is efficiently attained even when the processor in use has the feasible operating frequency thereof vary stepwise because the process for encoding/decoding the present frame is performed by the means/step of encoding/decoding implemented on the processor while the processor is fixedly operated with the smallest operating frequency capable of processing the necessary operation volume Kp within the time Te allocated to the present frame and the substrate bias voltage suitable for that operating frequency among other operating frequencies and substrate bias voltages available for the operation of the processor or because the process for encoding/decoding the present frame is performed by the means/step of encoding/decoding implemented on the processor while the processor is fixedly operated with the smallest operating frequency capable of processing the necessary operation volume Kp within the time Te allocated to the present frame and the substrate bias voltage and the substrate bias voltage suitable for that operating frequency among other operating frequencies, power-supply voltages, and substrate bias voltages available for the operation of the processor.
The motion picture encoding/decoding system/method of the present invention is characterized by being furnished with a means/step of avoiding failure situation capable of avoiding the failure situation which occurs when the necessary operation volume calculated by the means/step of calculating necessary operation volume mentioned above is smaller than the operation volume that is actually necessary.
When the necessary operation volume calculated by the means/step of calculating necessary operation volume has a smaller value than the actually necessary operation volume, the failure situation imparting the image of very poor quality ensues because the process for encoding/decoding the present frame is not completed within the time fixed in advance. This invention avoids the occurrence of such failure situation because it is furnished with at least one means/step of avoiding failure situation.
The motion picture encoding/decoding system/method of the present invention is characterized by being at least furnished, as the means/step of avoiding failure situation mentioned above, with a first means/step of avoiding failure situation capable of adding a prescribed amount to the necessary operation volume calculated by the aforementioned means/step of calculating necessary operation volume.
According to this invention, since the means/step of avoiding failure situation adds the prescribed value to the necessary operation volume, the possibility that the necessary operation volume calculated by the means/step of calculating necessary operation volume will satisfy the actual operation volume can be heightened and the failure situation which occurs because the necessary operation volume is smaller than the actual operation volume can be avoided.
The motion picture encoding/decoding system/method of the present invention is characterized by the fact that the aforementioned first means/step of avoiding failure situation multiplies the necessary operation volume calculated by the means/step of calculating necessary operation volume to m folds (m denoting a real the number of not less than 1) or adds a real number n greater than 0 to the necessary operation volume.
According to this invention, since the first means/step of avoiding failure situation multiplies the necessary operation volume to m folds or adds a value of n to the necessary operation volume, the adjustment of the value of m or n results in enabling the necessary operation volume calculated by the means/step of calculating necessary operation volume to exceed the real operation volume and approximate closely to the real operation volume and allowing the failure situation to be avoided.
The motion picture encoding/decoding system/method of the present invention is characterized by being furnished, as the aforementioned means/step of avoiding failure situation, with a second means/step of avoiding failure situation which is capable of judging whether or not the necessary operation volume calculated by the aforementioned means/step of calculating necessary operation volume is smaller than the operation volume actually necessary for the process of encoding/decoding performed by the aforementioned means/step of encoding/decoding motion picture and performing the process of avoiding the failure situation when the necessary operation volume is judged to be smaller.
According to this invention, since the second means/step of avoiding failure situation judges whether or not the necessary operation volume calculated by the aforementioned means/step of calculating necessary operation volume is smaller than the actually necessary operation volume and performs the process of avoiding the failure situation when the necessary operation volume is judged to be smaller, the process for avoiding the failure situation is carried out only when the failure situation occurs certainly and the failure situation can be avoided efficiently.
The motion picture encoding system/method of this invention is characterized by being at least furnished, as the aforementioned second means/step of avoiding failure situation, with a means/step of invalidating block which is capable of performing a process of interrupting at a prescribed timing the encoding operation being performed by the means/step of encoding motion picture, discerning the presence or the absence of a macro block which has escaped the encoding process, and performing a process of invalidating the macro block when the presence of this macro block is detected.
When the macro block which has escaped the process of encoding occurs in the duration of time allocated in advance to the process for encoding the present frame, specifically at a prescribed timing such as the timing that leaves behind the time for the process of invalidating all the macro blocks, for example, the possibility that the failure situation will occur is high. According to this invention, the failure situation can be avoided because the means/step of invalidating block, ie the second means/step of avoiding failure situation, interrupts at a prescribed timing the encoding operation being performed by the means/step of encoding motion picture, judges that the necessary operation volume calculated by the aforementioned means/step of calculating necessary operation volume is smaller than the actually necessary operation volume when the macro block which has escaped the process of encoding is present, and performs the process for invalidating the macro block.
The motion picture encoding/decoding system/method of the present invention is characterized by being at least furnished, as the aforementioned second means/step of avoiding failure situation, with a means/step of judging an operation residue which is capable of interrupting at a prescribed timing the process for encoding/decoding being performed by the means/step of encoding/decoding motion picture, adding to the operating frequency of the processor at the time of the interruption when the residue of the necessary operation volume of the present frame calculated by the means/step of calculating necessary operation volume is smaller than the residue of the operation volume actually necessary for the process for encoding/decoding the present frame by the means/step of encoding/decoding, and actuating the processor with the substrate bias voltage suitable for the operating frequency. The motion picture encoding/decoding system/method of the present invention is characterized by being at least furnished, as the aforementioned second means/step of avoiding failure situation, with a means/step of judging an operation residue which is capable of interrupting the process for encoding/decoding being performed at a prescribed timing by the means/step of encoding/decoding motion picture, adding to the operating frequency of the processor at the time of the interruption when the residue of the necessary operation volume of the present frame calculated by the means/step of calculating necessary operation volume is smaller than the residue of the operation volume actually necessary for the process for encoding/decoding the present frame by the means/step of encoding/decoding, and actuating the processor with the power-supply voltage and the substrate bias voltage suitable for the operating frequency.
According to these inventions, the speed of calculation of the processor is enhanced, the volume of feasible operation is increased, and the possibility of avoiding the failure situation is heightened because the means/step of judging an operation residue, ie the second means/step of avoiding failure situation, interrupts at a prescribed timing the process for encoding/decoding being performed by the means/step of encoding/decoding motion picture, adds to the operating frequency of the processor at the time of the interruption when the residue of the necessary operation volume of the present frame calculated by the means/step of calculating necessary operation volume is smaller than the residue of the operation volume actually necessary for the process for encoding/decoding the present frame by the means/step of encoding/decoding, and actuates the processor with the substrate bias voltage suitable for the operating frequency or actuate the processor with the power-supply voltage and the substrate bias voltage suitable for the operating frequency. When the interruption is repeated to a plurality of rounds, the possibility of avoiding the failure situation is further heightened because the operating frequency and the substrate bias voltage or the operating frequency, the power-supply voltage, and the substrate bias voltage can be increased stepwise in conformity with the conditions of process.
The motion picture encoding/decoding system/method of the present invention is characterized, on the assumption that of a plurality of successive frames, those which are subjected to a process of encoding prior to the present frame will be named previous frames, by the fact that the aforementioned means/step of calculating necessary operation volume in the case of encoding a motion picture performs the calculation of the necessary operation volume by using not less than one important factor selected from the group consisting of amounts of movement between the present frame and the previous frame, amount of activity of the present frame, amount of activity of the previous frame, average value of the quantizing step size of the previous frame, difference between the average value of the quantizing step size of the previous frame and the average value of the quantizing step size of the frame directly before the previous frame, the number of macro-block matching of the previous frame, the number of valid blocks of the previous frame, the number of valid coefficients of the previous frame, amount of operation actually required for encoding the previous frame, the number of bits occurring in the previous frame, encoding bit rate of the present frame, kind of the present frame as to discrimination between intra-frame encoding and inter-frame encoding, and necessary operation volume calculated by the means/step of calculating necessary operation volume. The motion picture encoding/decoding system set forth in claim 13 of the present invention is characterized, on the premise of the invention set forth in any of claims 1 to 10 of the invention and on the assumption that of a plurality of successive frames, those which are subjected to a process of encoding prior to the present frame will be named previous frames, by the fact that the aforementioned means/step of calculating necessary operation volume in the case of encoding a motion picture performs the calculation of the necessary operation volume by using not less than one important factor selected from the group consisting of the number of bits of the encoded data of the present frame, kind of the present frame as to discrimination between intra-frame encoding and inter-frame encoding, average value of the size of movement vector of the present frame or the previous frame, dispersion of the size of movement vector of the present frame or the previous frame, the number of valid blocks of the present frame or the previous frame, the number of valid coefficients of the present frame or the previous frame, bit rate of the present frame or the previous frame, amount of signs of the present frame or the previous frame, average value of the quantizing step size of the present frame or the previous frame, difference in the average value of the quantizing step size (difference in the quantizing step size between the present frame and the frame directly before the present frame or difference between the quantizing step size of the frame directly before and the quantizing step size of the frame before the present frame across an intervening frame), amount of operation actually required for decoding the previous frame, and necessary operation volume of the previous frame calculated by the means/step of calculating necessary operation amount.
The plurality of important factors mentioned above are invariably such elements as affect the necessary operation volume in the process for encoding/decoding. According to this invention, the necessary operation volume calculated by the means/step of calculating necessary operation volume approximates closely to the volume of operation actually spent for the process of encoding/decoding because at least one of the important factors mentioned above is used essentially by the means/step of calculating necessary operation volume in calculating the necessary operation volume. As a result, the possibility that the decrease of power consumption will be impeded because the calculated necessary operation volume is unduly larger than the actual volume of operation is not very great and the failure situation manifested in the failure of the process of encoding/decoding to terminate within the allocated time because the necessary operation volume is smaller than the actual volume of operation does not easily occur even without recourse to the means/step of avoiding failure situation mentioned above.
According to the motion picture encoding/decoding system and the motion picture encoding/decoding method of this invention, the decrease of power consumption can be realized by performing a calculation for estimating the necessary operation volume required for encoding/decoding the present frame ready to be encoded or decoded (the frame to be encoded or decoded in the future) and controlling the calculation with a fixed operating frequency within a time allocated to the process of the present frame thereby enabling the substrate bias voltage-operating frequency or the power-supply voltage, substrate bias voltage and operating frequency to be dynamically controlled in the unit of frame as described above.
Further, owing to the provision of the means/step of avoiding failure situation, the failure situation which occurs when the necessary operation volume calculated by the means/step of calculating necessary operation volume is smaller than the actually required volume of operation can be avoided and the motion picture resulting from the process for encoding/decoding can be prevented from being degraded.
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
Now, the motion picture encoding/decoding system and the motion picture encoding/decoding method of this invention will be described below. The motion picture encoding/decoding system of this invention causes a processor 1 specifically described herein below to perform a process for encoding a motion picture and decoding a motion picture and functions as a motion picture encoding system in the case of encoding a motion picture and as a motion picture decoding system in the case of decoding a motion picture. The motion picture encoding/decoding system of this invention may perform the process for encoding/decoding in the unit of frame or in the unit of time, or may perform solely the process for decoding or solely the process for encoding. Hereinafter, for the sake of convenience, the process for encoding a motion picture and the process for decoding a motion picture will be separately described in detail with reference respectively to the time-varying encoding system in the case of encoding and the time-varying decoding system in the case of decoding. The processes performed by the individual means to be specifically described herein below correspond to the individual steps of the method for encoding/decoding a motion picture according to this invention.
A motion picture encoding system S1 in the first mode of embodiment of this invention is aimed at decreasing power consumption by controlling an operating frequency, a substrate bias voltage, and a power-supply voltage thereby repressing moderately a subthreshold leakage current, a charging/discharging current and other leakage currents. This system S1 is realized in a portable telephone having a microcomputer incorporated therein or in a computer, ie an information terminal device such as for a personal computer. Particularly it functions as part of a multi-media signal processing part in the computer and sequentially encodes a motion picture formed of a prescribed number of successive frames in the unit of frame.
The processor 1 is a semiconductor device on a triple-well structure as illustrated in
The means of controlling power-supply voltage, substrate bias voltage and operating frequency 4 is composed of a means of controlling power-supply voltage provided as with a DC-DC converter, a means of generating substrate bias voltage Vbn intended to control the substrate bias voltage of the n-channel MOS transistor, a means of generating substrate bias voltage Vbp intended to control the substrate bias voltage of the p-channel MOS transistor, and a means of controlling operating frequency provided as with a PLL. It is provided, however, that the component elements of the means of controlling power-supply voltage, substrate bias voltage and operating frequency 4 may exist outside the system S1 performing the process of encoding a motion picture and control the power-supply voltage or the substrate bias voltage or the operating frequency from outside the motion picture encoding system S1. The processor 1, the memories 6 and 7, and the means of controlling power-supply voltage, substrate bias voltage and operating frequency 4 are mutually connected via a wiring.
The processor 1 is provided, as means to operate on the processor 1, with a means of calculating necessary operation volume 2, a means of calculating power-supply voltage, substrate bias voltage and operating frequency 3, a means of encoding motion picture 5, and two means of avoiding the failure situation 9 and 11. The two means of avoiding the failure situation 9 and 11 are intended to avoid the failure situation which occurs when the necessary operation volume calculated by the means of calculating necessary operation volume 2 is smaller than the operation volume actually required for the process of encoding performed by the means of encoding 5 and are specifically the first means of avoiding the failure situation 11 functioning as part of the means of calculating necessary operation volume 2 and the means of invalidating blocks 9 serving as the second means of avoiding the failure situation. Incidentally, the sign 101 denotes an input image data sign 102 a command of power-supply voltage, substrate bias voltage and operating frequency, the sign 103 a local decoded data for the previous frame, the sign 105 a supply of power-supply voltage, substrate bias voltage and operating frequency, the sign 106 a frame encoded data, sign 107 an information of the average value of the quantizing step size of the previous-frame, the sign 108 kind of each of the frame as to discrimination between an intra-coding frame and an inter-coding frame, the sign 109 an information of the encoding bit rate of a motion picture, the sign 110 an amount of activity of the previous frame, the sign 11 the number of macro-block matching of the previous frame, the sign 112 the number of valid blocks of the previous frame, the sign 112 the number of valid coefficients of the previous frame, the sign 114 a difference between the average value of the quantizing step size of the previous frame and the average value of the quantizing step size of the frame directly before the previous frame, the sign 115 an amount of operation actually required for encoding the previous frame, the sign 116 a necessary operation volume of the previous frame calculated by the means of calculating necessary operation volume 2, and the sign 117 the number of processed macro blocks, ie the number of macro blocks having undergone the process for encoding. The element memory 8 constitutes a memory region for storing part of the plurality of important factors used in the means of calculating necessary operation volume 2 to be specifically described herein below (the kind 108 as to the discrimination between an intra-frame coding and an inter-frame coding, the coding bit rte 109, the amount 110 of activity of the frame, and the necessary operation volume 116 calculated by the means of calculating necessary operation volume 2). The processed macro-block number register 10 is a register for temporarily accumulating the information the number 117 of macro blocks having undergone the process for encoding. While MPEG-4 is adopted as a method of encoding herein for the means of encoding motion picture 5, such other methods of encoding as H. 26×, MPEG-1, and MPEG-2 are also available.
The processor 1 is provided with a processor core 1a, an instruction cache memory 1b, and a data cache memory 1c. The means of calculating necessary operation volume 2, the means of deciding power-supply voltage, substrate bias voltage and operating frequency 3, the means of encoding motion picture 5, and the means of avoiding failure situation 9 and 11 are realized by the fact that the programs stored in the memories MR are executed on the processor core 1a as required. The instruction cache memory 1b and the data cache memory 1c are provided for the purpose of promoting the acceleration of the process of program executed on the processor core 1a.
The local decoding frame memory 6, the element memory 8, and the processed macro-block number register 10 are condensed in a memory MR shown in
The two input frame memories 7a and 7b correspond to the frame memory 7 shown in
A circuit of controlling power-supply voltage, substrate bias voltage and operating frequency 4a is capable of intercommunicating with a PLL 4b, a DC-DC converter 4c, a MOS-grade substrate bias voltage generating circuit 4d, and a p MOS-grade substrate bias voltage generating circuit 4e. They are functioning collectively as the means of controlling power-supply voltage, substrate bias voltage and operating frequency 4. The circuit of controlling power-supply voltage, substrate bias voltage and operating frequency 4a receives a command of power-supply voltage, substrate bias voltage and operating frequency 102 with a signal 100e from the processor core 1a, transmits a signal 100u to the PLL 4b based on the command 102, transmits a signal 100v to the DC-DC converter 4c, and transmits signals 100w and 100x respectively to substrate bias voltage generating circuits 4d and 4e. The PLL 4b transmits an operating frequency signal 100a based on the signal 100u, the DC-DC converter supplies a power-stipply voltage 100b based on the signal 100v, and the substrate bias voltage generating circuits 4d and 4e supply an nMOS substrate bias voltage 100c and a pMOS substrate bias voltage 100d based respectively on the signals 100w and 100x. Consequently, the operating frequency, the power-supply voltage, and the substrate bias voltage are controlled with respect to the component elements included in the control area CA indicated by a dotted line in
An encoded data 106 which has been encoded by the means of encoding motion picture 5 operating on the processor 1 is transmitted as the signal 100m to a bit stream interface BI via a bus B1 and produced as a signal 100n and also transmitted as to the memory MR functioning as the local decoding frame memory 6. Then, the data such as an image is read out as the signal 100q from the memory via the bus B1 and transmitted to a display interface DI. The signal 100q received in the display interface DI is produced as a video data by a signal 100t. The video data is produced and displayed as a motion picture via a monitor connected to the display interface DI.
While the circuit of controlling power-supply voltage, substrate bias voltage and operating frequency 4 via display interface DI, and the bit stream interface BI are always operated with a fixed power-supply voltage, the signals 100e, 100q, and 100m transmitted and received among them have their signal levels vary in conformity with the changes in the power-supply voltages of the component elements included in the control area CA (the processor 1, the memories MR, the input frame memories 7a, 7b, and so on). For the purpose of absorbing their influences, the circuit of controlling power-supply voltage, substrate bias voltage and operating frequency 4 via display interface DI, and the bit stream interface BI are preferably provided with a level converter serving to correct signal levels of the signals 100e, 100q, and 100m to be received.
Now, the operation of the motion picture encoding system S1 of the present mode of embodiment will be explained with reference to
(Step 1) The input image data is stored for a while in the input frame memory 7, ie a memory area for temporarily storing frames, with the object of enabling the frames to be synchronized with the input image data.
(Step 2: Step of calculating necessary operation volume) The means of calculating necessary operation volume 2 gains access to the input frame memory 7, acquires the input image data 101 of the present frame, and calculates the necessary operation volume Kp necessary for the process of encoding the present frame. Though various methods are conceivable for the calculation of the necessary operation volume Kp, it is preferable to effect the calculation, for example, by using at least one of the important factors capable of affecting the volume of operation for the process of encoding the present frame. As concrete examples of the important factor which is available for the process of encoding a motion picture wherein the substance of the process resides in compensating a motion, the value of strain calculated with the total absolute differential value using the amounts of motion of the present frame and the previous frame, the value calculated with the total absolute differential value of adjoining picture elements as the amounts of activity of the individual frames, the number of macro-block matching, the number of valid blocks, the number of valid coefficients, the encoding bit rate, the number of generated bits, the amount of operation actually required for encoding the previous frame, and the necessary operation volume of the previous frame calculated by the means of calculating necessary operation volume 2 may be cited in view of the fact that the amount of operation is large for an image of violent motion and the amount of operation is small for an image devoid of motion. Here, on the assumption that the individual important factors are such that the value of one important factor alone varies and the values of the other important factors do not vary, the necessary operation volume for the one important factor is increased relatively when this factor has a larger value and the necessary operation volume for the one important factor is decreased relatively when this factor has a smaller value. Then, the necessary operation volume Kp is decreased relatively when the present frame undergoes an intra-frame encoding than when it undergoes an inter-frame encoding and the necessary operation volume Kp is increased relatively when the present frame undergoes an inter-frame encoding than when it undergoes an intra-frame encoding. Alternatively mentioned, since the plurality of important factors affect the necessary operation volume required for the process of encoding the present frame, the necessary operation volume Kp calculated by the means of calculating necessary operation volume 2 assumes a value approximating more closely to the volume of operation actually used in the process of encoding when the means of calculating necessary operating volume 2 performs the relevant calculation so that the necessary operation volume Kp (cycles) may increase or decrease in conformity with these important factors.
In the present mode of embodiment, the value of motion of an input image is estimated (calculated) by performing the relevant calculation using the function G and comparing the input image data 101 of the present frame stored in the input frame memory 7 with a locally decoded data 103 of the decoded previous frame accumulated in the local decoding frame memory 6. The locally decoded data 103 of the previous frame is formed during the process for encoding the previous frame to be encoded before the present frame by decoding with a local decoder the encoded data 106 of the previous frame formed by encoding the previous frame and then stored in the local decoding frame memory 6. As one example of the estimation (calculation) of the value of the motion, the estimation effected by using the total absolute differential value may be cited. Now, the method for determining a total absolute differential value Σ and the necessary operation volume Kp will be explained below. Incidentally, as the image data of the previous frame, though the local decoded data 106 decoded by the local decoder after being encoded may be used, the input image data of the previous frame may be used as it is.
The amounts of motion of the present frame and the previous frame are determined by performing on all the (or sampled) picture elements the calculation of the total absolute differential value Z=Σ|X(i, j)−Y(i,j)| on the assumption that X(i,j) (wherein i denotes the coordinates of the image in the horizontal direction and j the coordinates in the vertical direction) denotes the input image data 101 of the present frame accumulated in the input frame memory 7 and Y(i,j) (wherein i denotes the coordinates of the image in the horizontal direction and j the coordinates in the vertical direction) denotes the locally decoded data 103 of the previous frame accumulated in the local decoding frame memory 6 which will be specifically described herein below. The sign Z denotes the value of this total absolute differential value. Meanwhile, the amount of activity of a frame is determined by calculating the total absolute differential value W of an adjoining picture element in X(i,j), namely Wh=Σ|X(i, j)−X(i−1,j)| in the horizontal direction and Wv=Σ|X(i, j)−X(i,j−1)| in the vertical direction, on all the (or sampled) input images. The sign W denotes the value of the total absolute differential value of the adjoining picture image (namely the amounts of activity of the individual frames).
Let Z stand for the total absolute differential value, Wa for the amount of activity of the present frame, Wb for the amount of activity of the previous frame (the frame in the past), Qprev for the average quantizing step size of the previous frame (the average value of the quantizing step size), M for the number of macro-block matching of the previous frame, B for the number of valid blocks of the previous frame, C for the number of valid coefficients of the previous frame, S for the amount of operation actually required for encoding the previous frame, BR for the encoding bit rate of the present frame, ΔQprev for the difference between the average value of the quantizing step size of the previous frame and the average value of the quantizing step size of the frame directly before the previous frame, D for the number of actually generated bits of the previous frame, and Kp′ for the necessary operation volume of the previous frame calculated by the means of calculating necessary operation volume, and the necessary operation volume Kp will be calculated in accordance with the formula,
Kp=G(Z, Wa, Wb, Qprev, M, B, C, S, Br, ΔQprev, D, Kp′)
Thus, at least one of these important factors is used. It is provided, however, that G denotes the function that is derived from at least one important factor selected from the group consisting of Z, Wa, Wb, Qprev, M, B, C, S, Br, ΔQprev, D, and Kp′. As one example of the function, the formula
Kp=j+αM+βB+γC+δZ+εQprev
may be cited, but not exclusively. As the important factor to be used for calculating the necessary operation volume Kp, the kind I of the present frame as to discrimination between intra-frame encoding and inter-frame encoding is used. The necessary operation volume Kp assumes a small value when the present frame undergoes intra-frame encoding and the necessary operation volume Kp assumes a large value when the frame undergoes inter-frame encoding. That is, when the means of calculating necessary operation volume 2 uses the total absolute differential value Z, it calculates the total absolute differential value, Z=Σ|Xij−Yij|, and subsequently calculates the necessary operation volume, Kp=G(Z, Wa, Wb, Qprev, M, B, C, S, Br, ΔQprev, D, Kp′).
Now, the function G mentioned above will be explained below. When the image produces a large (small) change between the previous frame and the present frame, namely when the total absolute differential value Z is large (small), the number of macro-block matching executed in the present frame becomes large (small) and the volume of operation necessary for the process of detecting the motion of the present frame (which depends on the number of macro-block matching to be executed) becomes large (small). When the amount Wa of activity of the present frame is large (small), this fact means that the present frame contains a high frequency component of the image in a large (small) amount. In this case, the number of valid blocks and the number of valid coefficients generated in the process for encoding the present frame become large (small) and the volume of operation necessary for the IDCT processing of the present frame (which depends on the number of valid blocks to be generated), the volume of operation necessary for the IQ processing (which depends on the number of valid coefficients to be generated), and the volume of operation necessary for the VLD processing (which depends on the number of valid coefficients to be generated) become large (small). As a result, the function G mentioned above is formed so as to set Kp at a large (small) value when such parameters as Z and Wa are large (small).
Since the motion picture has a large correlation between the successive frames, the number of macro-block matching executed by the process of encoding, the number of valid blocks and the number of valid coefficients generated in the process for encoding, the volume of operation required in the process for encoding, and the amount of activity assume immensely approximating values between the temporally successive frames. When M, B, C, S, and Wb are large (small), therefore, the probability that the number of macro-block matching, the number of valid blocks, the number of coefficients, the volume of operation necessitated for the process of encoding, and the amount of activity will become large (small) is high even in the present frame. Further, the formula S≈Kp′ is satisfied when the necessary operation volume estimated by the means of calculating necessary operation volume assumes a value approximating closely to the volume of operation actually required for the process of encoding. As a result, the function G mentioned above is formed so as to set Kp at a large (small) value when such parameters as M, B, C, S, Wb, and Kp′ are large (small).
When the target bit rate is large (small), the value of the quantizing step size is set at a small (large) value, the number of valid blocks and the number of valid coefficients generated in the process of encoding become large (small). When the number of bits generated by the previous frame is large (small) as compared with the target bit rate, the value of the quantizing step size of the present frame is set at a small (large) value and the number of valid blocks and the number of valid coefficients generated in the process of encoding become small (large). The function G mentioned above, therefore, is formed so as to set Kp at a large (small) value when the encoding bit rate BR of the present frame is large (small) and set Kp at a small (large) value when the number D of bits actually generated in the previous frame is large (small) as compared with the BR. The Kp calculated by the function G mentioned above is enabled to assume a value approximating closely to the volume of operation actually necessitated for encoding the present frame by taking into consideration the average quantizing step size Qprev of the previous frame and the difference ΔQprev between the average value of the quantizing step size of the previous frame and the average value of the quantizing step size of the frame directly before the previous frame.
Also, for the purpose of rendering the failure situation difficult to occur, the means of calculating necessary operation volume 2 is preferred to be provided with a first means of avoiding failure situation 11. The first means of avoiding failure situation 11 performs a process such that the first means of avoiding failure situation 11 included in the means of calculating necessary operation volume 2 causes the necessary operation volume Kp to be increased by a prescribed value and consequently allows the calculated necessary operation volume Kp to have a room. To be specific, the necessary operation volume Kp is multiplied to m folds (m denoting a real the number of not less than 1). On the assumption of m=1.1, for example, the calculated necessary operation volume Kp is allowed to contain a room of 10%. The necessary operation volume Kp may add to itself a real number n (n denoting a real number exceeding 0) and may have a room of a certain value without reference to the value of the calculated necessary operation volume. In accordance with the foregoing example, the necessary operation volume Kp to be calculated finally can be determined by the following formulas.
Kp=G(Z)×m
Kp=G(Z)+n
The following formula derived from combining these two formulas is equally conceivable. If the calculated necessary operation volume Kp is nevertheless smaller than the real necessary operation volume Km of the present frame, the failure situation will be avoided by performing a process in the means of invalidating blocks 9, ie a second means of avoiding failure situation which will be specifically described herein below.
Incidentally, the encoding bit rate 109 of a motion picture, the kind 108 of the present frame and the previous frame as to discrimination between an intra-frame encoding and an inter-frame encoding, the amount 110 of activity of the previous frame, and the necessary operation volume 116 of the previous frame calculated by the means of calculating necessary operation volume have been stored in advance in the element memory 8 which is a memory area for storing important factors and are read in the means of calculating necessary operation volume 2 and used therein when the necessary operation volume Kp is calculated. The average value 107 of the quantizing step size of the previous frame, the number of macro-block matching of the previous frame, the number 112 of valid blocks of the previous frame, the number 113 of valid coefficients of the previous frame, the difference 114 between the average value of the quantizing step size of the previous frame and the average value of the quantizing step size of the frame directly before that frame, and the volume of operation 115 actually required for encoding the previous frame are fed back from the means of encoding motion picture 5 to the means of calculating necessary operation volume 2 when the previous frame is subjected to the process of encoding. In the means of calculating necessary operation volume 2, only one of these important factors may be used or a plurality of such important factors may be used in combination.
(Step 3: Step of deciding power-supply voltage, substrate bias voltage and operating frequency) The means of deciding power-supply voltage, substrate bias voltage and operating frequency 3 performs a calculation for estimating the operating frequency Fe (cycles/second) for the sake of the process of the present frame based on the value of the necessary operation volume Kp. Since the smallest unit of the processing time specified by the encoding method is one frame and since the operating frequency Fe (cycles/second) necessitated for the present frame, capable of encoding the aforementioned necessary operation volume Kp within the time Te (seconds), is expressed by the formula, Fe=Kp/Te, wherein Te denotes the time (seconds) allocated to the process for encoding the present frame, the means of deciding power-supply voltage, substrate bias voltage and operating frequency 3 calculates the operating frequency, Fe=Kp/Te. A time of Te allocated to the process for encoding the present frame, however, is the time that remains after subtracting a time Tp for estimating the volume of operation for the present frame and a time Ts for changing the operating frequency, power-supply voltage and substrate bias voltage of the processor from the time Tf for restricting the process of one frame. When the power-supply voltage, substrate bias voltage and operating frequency supported by the peripheral devices including the processor 1 and/or the local decoding memory 6 and so on are changeable in n steps (n denoting an integer of not less than 2) as shown in
The relation of power-supply voltage, substrate bias voltage and operating frequency of
(Step 4) The means of controlling power-supply voltage, substrate bias voltage and operating frequency 4 supplies the values of the power-supply voltage VDD(n) and the substrate bias voltages Vbn(n) and Vbp(n) and the operating frequency F(n) designated by the means of deciding power-supply voltage, substrate bias voltage and operating frequency 3 to the peripheral devices including the processor 1 and/or the local decoding memory 6 and so on (sign 105) and effects a control directed toward causing the processor to be steadily operated with the power-supply voltage VDD(n) and the substrate bias voltages Vbn(n) and Vbp(n) and the operating frequency F(n). As a result, the peripheral devices including the processor 1 and/or the local decoding memory 6 and so on are enabled to operate with the power-supply voltage VDD(n) and the substrate bias voltages Vbn (n) and Vbp(n) and the operating frequency F(n) which are fixed. To be specific, the means of controlling power-supply voltage built in the means of controlling power-supply voltage, substrate bias voltage and operating frequency 4 effects a control directed toward enabling the processor 1 to operate steadily with the power-supply voltage VDD(n), the means of generating substrate bias voltage Vbn effects a control directed toward enabling the processor 1 to operate steadily with the substrate bias voltage Vbn(n) for the n-channel MOS transistor, the means of generating substrate bias voltage Vbp effects a control directed toward enabling the processor 1 to operate steadily with the substrate bias voltage Vbp(n) for the p-channel MOS transistor, and the means of controlling operating frequency effects a control directed toward enabling the processor 1 to operate steadily with the operating frequency F(n).
The method for applying the substrate bias voltages Vbn and Vbp will be specifically explained below. On the assumption that the potential difference between the substrate bias voltage Vbn(n) and a ground potential Vss for the n-channel MOS transistor is denoted by Vbbn(n) and the potential difference between the substrate bias voltage Vbp(n) and a power-supply voltage Vdd(n) is denoted by Vbbp(n), the relation of the following formulas is satisfied.
Vbn(n)=Vbbn(n)+Vss
Vbp(n)=Vbbp(n)+Vdd(n)
The voltages Vbbn(n) and Vbbp(n) and the power-supply voltage Vdd(n) can be set independently. It is provided, however, that the sign Vbbn(n) denotes a voltage applied to the pn junction between the source and the substrate of the n-channel MOS transistor so that this voltage may not surpass a diffusion potential Vφ and the sign Vbbp(n) denotes a voltage applied to the pn junction between the source and the substrate of the p-channel transistor so that this voltage may not fall short of a diffusion potential −Vφ. The diffusion potential Vφ is usually 0.6 V.
(Step 5: Step of encoding motion picture) The means of encoding motion picture 5 is realized on the processor 1 of a computer by the motion picture encoding program Prg1 and effect a process of encoding by gaining access to the input image data stored in the input frame memory 7 in the unit for encoding a motion picture through the medium of the processor 1. That is, the means of encoding motion picture 5 receives the input image data 101 of the present frame from the input frame memory 7, encodes it, and generates the encoded data 106. At the step 4, the peripheral devices including the processor 1 and/or the local decoding memory 6 and so on are in a state of operating with the fixed power-supply voltage VDD(n), substrate bias voltages Vbn(n) and Vbp(n) and operating frequency F(n) which are supplied from the means of controlling power-supply voltage, substrate bias voltage and operating frequency 4. At the step 5, therefore, the means of controlling power-supply voltage, substrate bias voltage and operating frequency 4 steadily operates the peripheral devices including the processor 1 and/or the local decoding memory 6 and so on with the operating frequency F(n), the power-supply voltage VDD(n), and the substrate bias voltages Vbn(n) and Vbp(n), and the means of encoding motion picture 5 encodes the present frame by the use of the processor 1. It is made possible to promote the decrease of power consumption by causing the peripheral devices including the processor 1 and/or the local decoding memory 6 and so on to operate steadily with a high frequency for an image of high activity (the input image data 101 of the present frame) and with a low frequency for an image of low activity. Furthermore, the means of encoding motion picture 5 has a local decoder that is functioned as decoding the encoded data 106 and the encoded data 106 of the present frame is decoded by the local decoder and accumulated as the locally decoded data 103 in the local decoding frame memory 6. This locally decoded data 103 of the present frame is used when the necessary operation volume Kp for the next frame is calculated. The encoded data 106 of the present frame is either transmitted through a transmission line or accumulated in an accumulating medium.
Incidentally, the control of the substrate bias voltage may be restricted to at least either of the substrate bias voltage Vbp of the p-channel MOS transistor and the substrate bias voltage Vbn of the n-channel MOS transistor, depending on the operating frequency F.
Furthermore, the encoding system S1 is preferred to be provided with a means of avoiding failure situation. For the purpose of solving the problem of the failure situation that the process of the present frame is not completed within the time allocated to the process when the necessary operation volume Kp calculated by the means of calculating necessary operation volume 2 is smaller than the real necessary operation volume of the present frame, the encoding system S1 is provided with the second means of avoiding failure situation which judges whether or not the necessary operation volume calculated by the means of calculating necessary operation volume 2 is smaller than the volume of operation actually required and, when the calculated volume is judged to be smaller, carries out an operation of avoiding the failure situation. In the present mode of embodiment, the means of invalidating blocks 9 is provided as the second means of avoiding failure situation. The means of invalidating blocks 9, while the means of encoding motion picture 5 is executing a routine for encoding the input image data 101 of the present frame at the step 5, interrupts the encoding routine at a prescribed timing, discontinues the interruption for a while in the course of the processing time, judges whether or not the process of encoding the present frame has been terminated, judges that the necessary operation volume calculated by the means of calculating necessary operation volume is smaller than the volume of operation actually required when the presence of a macro block having escaped the process of encoding is detected, and performs a process of invalidating the macro block. Here, if the process of encoding remains yet to be completed when the interruption is made at the point of time at least incapable of inducing the failure situation, the means of invalidating blocks 9 is enabled to preclude the failure situation that the process of encoding cannot be completed within the allocated time as by performing a process of invalidating blocks which resides in changing the remaining process to a process allowing a copious cut, for example.
Now, the means of invalidating blocks 9 will be specifically explained below.
Incidentally, the failure situation may be avoided by using a process which comprises increasing the operating frequency of the processor 1 and adopting a substrate bias voltage and a power-supply voltage suitable for that operating frequency as specifically described herein below, in the place of the process of invalidating blocks. In this case, the interruption is effected with such timing that the time allocated in advance to the process of encoding the present frame allows a room enough for accomplishing the encoding of all the macro blocks remaining yet to be encoded.
(Proof 1) Now, the fact that the invention of the subject patent application is capable of decreasing the amount of electric power consumed by the subthreshold leakage current as compared with the conventional technique which encodes one frame while changing the operating frequency of the processor a plurality of times will be proved. It is assumed that the substrate bias voltage and the operating frequency of the processor 1 are varied in P steps, the necessary operation volume for any one frame is denoted by Kt, and the time allocated to that frame is denoted by Tt as shown in
Pst=VDD×Io×10ˆ(−Vt/S)
wherein Io denotes a constant, VDD denotes a power-supply voltage, Vgs denotes a voltage between gate and source, Vt denotes a threshold voltage, and S denotes a subthreshold swing. When an electric power Pst1 consumed by the subthreshold leakage current of Case 1 and an electric power Pst2 consumed by the threshold leakage current of Case 2 are calculated in accordance with this formula; the following results are obtained.
Pst1=VDD×Io×10ˆ(−Vt/S)×Tt
Pst2=VDD×Io×10ˆ(−Vt1/S)×T1+Io×10ˆ(−Vt2/S)×T2
Consequently, the following formula is satisfied.
Pst1:Pst2=10ˆ(−Vt/S)×Tt:(10ˆ(−Vt/S)×.T1+10ˆ(−Vt/S)×T2)
When h=1.5, Ta=1/3×Tt, T=2/3×Tt, Vt1=3×S, Vt=S, and Vt2=S, and Vt=2×S are assumed, for example, the relation Pst1<Pst2 is satisfied by the following formula.
Pst1:Pst2=10−2:(10−3/3+10−1×2/3)≈0.01:0.07
Thus, it is seen that, though the volume of operation Kt is invariable when a fixed volume of operation is performed in a fixed time, the electric power consumption is smaller when the processor is operated with the smallest operating frequency that allows the process to be completed within the time while the substrate bias voltage thereof is fixed throughout the whole length of the processing time as in Case 1 than when the operating frequency is varied as observed conventionally during the course of the processing time as in Case 2. It is consequently evident that the present invention which performs the process of encoding one frame while operating the processor 1 with fixed substrate bias voltage and operating frequency promotes the decrease of power consumption as compared with the conventional technique which suffers the operating frequency to vary many times during the course of encoding one frame because the substrate bias voltage and the operating frequency are decided for each of the blocks.
(Proof 2)
Now, the fact that this invention is capable of promoting the decrease of power consumption as compared with the conventional technique which encodes one frame while suffering the power-supply voltage and the operating frequency of the processor to vary a plurality of times will be proved below. In the case of performing a specific volume Kt of operation within a specific time Tt, for example, the decrease of power consumption can be realized by performing the control with a fixed frequency throughout the whole length of the specific time and setting the frequency Ft according to the following formula.
Ft=Kt/Tt
The power-supply voltage and the operating frequency of the processor 1 are made variable in P steps as shown in
P=α×C×f×VDD2×t
wherein α denotes a coefficient, C denotes the number of transistors of the processor, f denotes an operating frequency, VDD denotes a power-supply voltage, and t denotes an operating time. When an electric power consumption Pa in Case 1 and an electric power consumption Pb in Case 2 are calculated in accordance with this formula, the following results are obtained.
Pa=α×C×Ft×VDD2×Tt
Pb=α×C×(h×Ft)×VDD12×T1+α×C×(h×Ft/2)×VDD22×T2
Consequently, the following formula is satisfied.
Pa:Pb=VDD2×Tt:(h×.VDD12×T1+(h/2)×VDD22×T2)
When h=1.5, T1=1/3×Tt, T2=2/3×Tt, VDD=1, VDD1=1.5, and VDD2=0.75 are assumed, for example, the relation Pa<Pb is satisfied by the following formula.
Pa:Pb=12:(1.5×1.52/3+(1.5/2)×0.752×(2/3)≈1:1.41
Thus, it is seen that, though the volume of operation Kt is invariable when a fixed volume of operation is performed in a fixed time, the electric power consumption is smaller when the processor is operated with the smallest operating frequency that allows the process to be completed within the time while the substrate bias voltage thereof is fixed throughout the whole length of the processing time as in Case 1 than when the operating frequency is varied as observed conventionally during the course of the processing time as in Case 2. It is consequently evident that the present invention which performs the process of encoding one frame while operating the processor 1 with fixed power-supply voltage and operating frequency promotes the decrease of power consumption as compared with the conventional technique which suffers the power-supply voltage and the operating frequency to vary many times during the course of encoding one frame because the power-supply voltage and the operating frequency are decided for each of the blocks.
The operating frequency, the power-supply voltage and the substrate bias voltage which serve the process for the present frame are calculated by the means of deciding power-supply voltage, substrate bias voltage and operating frequency 3 based on the value calculated by the means of calculating necessary operation volume 2. When the value of the calculated necessary operation volume Kp is smaller than the necessary operation volume Km actually necessitated for the process for the present frame, however, the operating frequency calculated based on the value of the necessary operation volume Kp is also smaller than the operating frequency actually necessary for the process of the present frame.
Then, the motion picture encoding system S2, similarly to the aforementioned motion picture S1, imparts regularly spaced interruptions in N times to the means of encoding motion picture 5, induces temporary interruptions in the encoding process and, at the points of time of these interruptions, causes the means of judging residual operation volume 29 to compare a residual operation volume Ki which is the residue of the necessary operation volume of the present frame calculated by the means of calculating necessary operation volume 2 with the residue of the volume of operation actually necessitated for the process of encoding a prescribed frame performed by the means of encoding motion picture 5. Specifically, in the i'th interruption, the means of judging residual operation volume 29 determines the residual time Ti allocated to the process of the present frame and the operating frequency F of the processor 1 and calculates the residual operation volume Ki in accordance with the formula Ki=Ti×F. The means of judging residual operation volume 29 preserves the first through (i−1)'th times of interruption T1, T2, . . . , T(i−1) and the operating frequencies F1, F2, . . . , F(i−1) of the processor at the points of time of the interruptions and calculates volumes of operation Kpm spent for the process of the present frame from the time of starting the process of the present frame till the time of occurrence of the i'th interruption in accordance with the formula Kpm=Σ{Fj×(T(j+1)−Tj)}using the aforementioned values. Fj denotes the operating frequency, j=0, 1, . . . , (i−1), of the processor set at the time of starting the process of the present frame. The means of judging residual operation volume 29 subsequently judges which of the formulas, Ki≧Kpm×(MB−MBi)/MBi and Ki<Kpm×(MB−MBi)/MBi), is satisfied. When the residual operation volume Ki found by calculation and the volume of operation Kpm spent for the process of the present frame satisfy the formula, Ki≧Kpm×(MB−MBi)/MBi, the process of interruption terminates and the encoding routine returns. The means of encoding motion picture 5 continues the process of the present frame till the time of occurrence of the (i+1)′th interruption. When the residual operation volume Ki found by calculation and the volume of operation Kpm spent for the process of the present frame satisfy the formula, Ki<Kpm×(MB−MBi)/MBi, the means of judging residual operation volume 29 judges that the necessary operation volume calculated by the means of calculating necessary operation volume 2 is smaller than the actually necessary operation volume and instructs the means of controlling power-supply voltage, substrate bias voltage and operating frequency 4 to raise by one step the operating frequency supported by the processor 1 and/or the peripheral devices including the local decoding memory 6 and so on shown in
The motion picture decoding system S3 of the third mode of embodiment of this invention is intended to decode a motion picture that has been encoded.
The operation of the motion picture decoding system S3 will be described below with reference to
Kp=G(FB, MVa, MVv, B, C, BR, Q, ΔQ, I, E, P)
wherein FB denotes the number of bits of the encoded data of the present frame or the previous frame, MVa denotes the average value of the size of the moving vector of the present frame or the previous frame, MVv denotes the dispersion of the size of the moving vector of the present frame or the previous frame, B denotes the number of valid blocks of the present frame or the previous frame, C denotes the number of valid coefficients of the present frame or the previous frame, BR denotes the bit rate of the present frame or the previous frame, Q denotes the average value of the quantizing step size of the present frame or the previous frame, AQ denotes the difference of the average values of the quantizing step sizes of the present frame and the previous frame or the difference of the average values of the quantizing step sizes of the previous frame and the frame directly before the previous frame, I denotes the kind of the present frame as to discrimination among an I picture, a P picture, and a B picture, E denotes the volume of operation required for decoding the previous frame, and P denotes the necessary operation volume of the previous frame calculated by the means of calculating necessary operation volume.
Now, the aforementioned function G will be explained below. The volume of operation required for decoding the present frame depends on the numbers of times of IDCT process, IQ process, and VLD process executed in decoding the present frame. The number of times of IDCT process executed depends on the number of valid blocks contained in the present frame and the numbers of times of IQ process and VLD process executed depend on the number of valid coefficients contained in the present frame. That is, the volume of operation necessary for the process of decoding becomes large (small) when the number of valid blocks and the number of coefficients contained in the present frame is large (small). The function G mentioned above, therefore, is formed so as to set Kp at a large (small) value when B and C are large (small).
When the image produces a large (small) change between the previous frame and the present frame, the average value MVa of the size of the moving vector and the dispersion MVv of the size of the moving vector become large (small). At this time, the number of valid blocks and the number of coefficients of the present frame become large (small) and the volume of operation necessary for the process of encoding becomes large (small). The function G mentioned above, therefore, is formed so as to set Kp at a large (small) value when MVa and MVv are large (small).
When the present frame consists of an I picture, the volume of operation necessary for the process of decoding becomes small because the addition of an estimated image and a differential image otherwise required in forming a decoded data does not need to be made. The function G mentioned above, therefore, is formed so as to set Kp at a small value when the present frame consists of an I picture.
When the number FB of bits and the frame rate BR of the encoded data are large (small), the number of valid blocks and the number of valid coefficients become large (small). The function G mentioned above, therefore, is formed so as to set Kp at a large (small) value when FB and BR are large (small). Since the quantizing step size has the value thereof vary during the control of the bit rate, the Kp which the aforementioned function G calculates can be made to approach closely to the volume of operation actually necessitated for decoding the present frame by taking into consideration the average value Q of the quantizing step size and the difference AQ in the average values of the quantizing step size.
Since the motion picture has a large correlation among the successive frames, MVa, MVv, B, C, BR, FB, and Q severally assume closely approximating values between the present frame and the previous frame. When these parameters are used in the function G mentioned above, therefore, the values involved in the present frame may be used or the values involved in the previous frame may be used. When the values involved in the present frame are used, the input encoded data is received, the data is partly decoded, and the resultant value is withdrawn and put to use. At this time, the use of the values derived from the present frame brings a merit of enabling the estimated necessary operation volume Kp to approximate more closely to the volume of operation actually necessary for the process of decoding. The use of the values derived from the previous frame brings a merit of enabling the process of decoding to be performed on only the received portion of data while continuing the reception of the input encoded data because the estimated necessary operation volume Kp can be calculated before the input encoded data of the present frame is received.
Furthermore, since the motion picture has a large correlation among the successive frames, the volume of operation necessary for the process of decoding the present frame assumes a value approximating closely to the volume of operation E which was actually necessary for the process of decoding the previous frame. Besides, the relation P≈E is satisfied when the necessary operation volume estimated by the means of calculating necessary operation volume assumes a value approximating closely to the volume of operation actually required for the process of decoding. By taking into consideration E and P, therefore, the Kp which the function G mentioned above calculates is enabled to assume a value approximating closely to the volume of operation actually necessary for decoding the present frame.
In the means of calculating necessary operation volume 32, only one of these important factors may be used or a plurality of such important factors may be used in combination. To be specific, since the plurality of important factors affect the necessary operation volume for the process of decoding the present frame, the necessary operation volume Kp calculated by the means of calculating necessary operation volume 32 is enabled to assume a value approximating closely to the volume of operation actually used for the process of decoding by causing the means of calculating necessary operation volume 32 to carry out a computation such that the necessary operation volume Kp (cycle) may be increased or decreased in conformity with these important factors.
The means of calculating power-supply voltage, substrate bias voltage and operating frequency 3 (the step of deciding power-supply voltage, substrate bias voltage and operating frequency) and the means of controlling power-supply voltage, substrate bias voltage and operating frequency 4 equal to those used in the aforementioned first mode of embodiment. The means of decoding motion picture 35 decodes the input encoded data 301 of the present frame and produces a decoded data 306 (the step of decoding motion picture). When the means of decoding motion picture 35 implements the process for decoding, the means of controlling power-supply voltage, substrate bias voltage and operating frequency 4 is relied on to carry out the process of decoding while keeping the processor 1 operated with fixed power-supply voltage and substrate bias voltage and operating frequency. For each of the frames, the necessary operation volume is calculated prior to the process of decoding the relevant frame and the decoding of the frame is carried out while the operation of the processor is continued with the fixed operating frequency and power-supply voltage and substrate bias voltage. This procedure, therefore, is capable of promoting the decrease of power consumption as compared with the conventional technique that suffers the operating frequency and the power-supply voltage to vary for each prescribed number of blocks resulting from dividing a frame. The decoded data 306 is displayed as a motion picture on the image display part of a portable telephone or a personal computer or stored in such a memory medium as a hard disk.
The motion picture decoding system S3 is also provided as a second means of avoiding failure situation with the means of judging residual operation volume 39. While the means of judging residual operation volume 39 is nearly equal to that of the aforementioned second mode of embodiment, it is different from it in respect that it serves to judge not the volume of operation of the process of encoding but the volume of operation of the process of decoding. By the means of judging residual operation volume 39, it is made possible to avoid the failure situation. The motion picture decoding system S3, similarly to that of the aforementioned first mode of embodiment, may be provided with the first means of avoiding failure situation. Incidentally, no process of invalidating blocks is carried out in the process of decoding.
The motion picture encoding system of this invention may be provided with the first means of avoiding failure situation 11, the means of invalidating blocks 9 as the second means of avoiding failure situation, and the means of judging residual operation volume 29 and 39 as the second means of avoiding failure situation independently of one another. Otherwise, it may be provided with these means as suitably combined. When the system is not enabled to avoid the failure situation even by providing the system with the first and both of the second means of avoiding failure situation altogether and inducing the first means of avoiding failure situation 11 to increase the necessary operation volume, the failure may be overcome by causing the means of judging residual operation volume 29 and 39 as the second means of avoiding failure situation to increase the operating frequency and allowing the system to operate with the power-supply voltage and the substrate bias voltage suitable for the increased operating frequency. When the failure persists even if the failure situation is avoided, the failure situation may be suppressed by causing the means of invalidating blocks 9 serving as the second means of avoiding failure situation to facilitate the process of encoding. The aforementioned motion picture encoding/decoding program may be realized with the hardware that is endowed with the same function as the program.
While the aforementioned first through third modes of embodiment are intended to control the power-supply voltage, substrate bias voltage, and operating frequency, the present mode of embodiment is directed toward promoting the decrease of power consumption by controlling the substrate bias voltage and the operating frequency.
A means of deciding substrate bias voltage and operating frequency 43 performs a calculation for selecting the operating frequency F(n) satisfying F(n)>Fe and F(n−1)<Fe as well as the operating frequency for effecting the process of encoding the present frame, performs a calculation for selecting substrate bias voltages Vbn(n) Vbp(n) suitable for the operating frequency F(n), and instructs the means of controlling substrate bias voltage-operating frequency 44 of the substrate bias voltage and operating frequency so as to have the processor 1 and/or the peripheral devices including the local decoding memory 6 and so on operate with the operating frequency F(n) and the substrate bias voltages Vbn(n) and Vbp(n) (sign 402). The means of controlling substrate bias voltage and operating frequency 44 supplies the processor 1 and/or the peripheral devices including the local decoding memory 6 and so on with the values of the substrate bias voltages Vbn(n) and Vbp(n) and the operating frequency F(n) received from the means of calculating substrate bias voltage and operating frequency 43 (sign 405) and effects a control such that the processor 1 may be steadily operated with the substrate bias voltages Vbn(n) and Vbp(n) and the operating frequency F(n). As a result, the processor 1 and/or the peripheral devices including the local decoding memory 6 and so on are enabled to operate with the fixed substrate bias voltages Vbn(n) and Vbp(n) and operating frequency F(n). The other points of the present mode of embodiment nearly equal those of the first mode of embodiment.
The second mode of embodiment and the third mode of embodiment may each constitute a system for controlling the substrate bias voltage and the operating frequency without controlling the power-supply voltage. When they are furnished with a means of judging residual operation volume (not shown), they instruct the means of controlling substrate bias voltage and operating frequency 44 to raise by one step the operating frequency supported by the processor 1 and/or the peripheral devices including the local decoding memory 6 and so on shown in
Example 1 concerning the motion picture encoding system S1 of the first mode of embodiment will be explained below. For this explanation, a motion picture data consisting of 75 frames was used and the 32nd frame was selected as an example of the frame to be encoded. The frames were each formed of 144 lines and 176 rows of picture elements. For the process of encoding, MPEG4 was used.
First, the motion picture encoding system S1 gained access to the input frame memory 7, acquired the 31st frame, and calculated the necessary operation volume Kp of that frame through the medium of the means of calculating necessary operation volume 2. The necessary operation volume Kp specifically resulted from calculating a total absolute differential value Z in accordance with the following formula using the 30th frame as the previous frame.
Z=Σ|Xij−Yij|=50705
Subsequently, an amount of activity W of the 31st frame as the present frame was calculated in accordance with the following formula.
Horizontal direction Wh=Σ|X(i,j)−X(1,j)|=137412
Vertical direction Wv==Σ|X(i,j)−X(i,j−1)|=109176
Further, the number of macro-block matching of the previous frame M=102, the average quantizing step size (the average value of quantizing step size) of the previous frame Qprev=3, the number of valid blocks of the previous frame B=98, the number of valid coefficients of the previous frame C=610, the amount of operation actually necessitated for encoding the previous frame S=10022474, and the encoding bit rate of the present frame BR=65536 were obtained. The difference between the average value of the quantizing step size of the previous frame and the average value of the quantizing step size of the 20th frame immediately before the previous frame ΔQprev=0 was calculated. The number of bits actually generated in the previous frame D=56797 was also obtained. Subsequently, the necessary operation volume Kp was calculated in accordance with the following formula using the relevant important factors.
Kp=j+αM+βB+γC+δZ+εQprev
Thus, the necessary operation volume Kp=10315571 was obtained in the present Example 1.
Further, a calculation for increasing the necessary operation volume Kp was carried out in accordance with the following formula using the aforementioned necessary operation volume Kp=10315571 calculated from the relevant important factors. In the following explanation, the case of using the aforementioned formula Kp=G(Z)×m was cited as an example.
Kpf=10315571×1.1=11347129
Next, the operating frequency was calculated in accordance with the following formula.
Fe=Kpf/Te=11347129/(1/15)=171 MHz
By calculating F(n) satisfying F(n)>Fe and F(n−1)<Fe as well, the operating frequency F(4)=200 MHz was selected from among the operating frequencies of the processor 1 variable in 5 steps and the power-supply voltage VDD(4)=0.9V and the substrate bias voltages Vbn(4)=0.2V and Vbp(4)=0.7V conforming to the operating frequency were selected. The means of controlling power-supply voltage, substrate bias voltage and operating frequency 4 was so instructed that at least the processor 1 might be operated with the operating frequency F=200 MHz and the power-supply voltage VDD=0.9V and the substrate bias voltages Vbn=0.2V and Vbp=0.7V. The means of controlling power-supply voltage, substrate bias voltage and operating frequency 4 performed a control for enabling at least the processor 1 to operate steadily with the operating frequency F=200 MHz and the power-supply voltage VDD=0.9V and the substrate bias voltages Vbn=0.2V and Vbp=0.7V. The means of encoding motion picture 5 acquired a frame F from the input frame memory 7 and performs a process of encoding and form an encoded data by using the processor 1 in a state of being operated steadily with the operating frequency F=200 MHz and the power-supply voltage VDD=0.9V and the substrate bias voltages Vbn=0.2V and Vbp=0.7V mentioned above.
Furthermore, the means of invalidating blocks 9, while executing an encoding routine, calculated the time for interruption in accordance with the following formula and effected the interruption.
Further, the means of invalidating blocks 9 judged whether or not Mbi<MB was satisfied at the timing of this interruption. In the present Example 1, since MBi<MB was satisfied and the process of encoding the present frame was not completed at the timing of Ti=0.06664, all the remaining macro blocks were treated as invalid blocks and the encoding routine was resumed. Here, Ks stands for the number of cycles required for processing one macro block as an invalid block.
Example 2 concerning the motion picture encoding system S2 of the second mode of embodiment will be explained. Example 2 presumed to carry out four interruptions in the process of encoding. The means of judging residual operation volume 29 calculated Ki=Ti×F and Kpm=ΣFj×(T(j+1)−Ti) during the first and the second interruption, further calculated Kpm×(MB−MBi) as the residue of the actually necessary volume of operation, and judged which of the formulas, Ki≧Kpm×(MB−MBi)/MBi and Ki<Kpm×(MB−MBi)/MBi, was satisfied. In the present Example 2, since K1≧Kpm×(MB−MB1)/MB1 and K2≧Kpm×(MB−MB2)/MB2 were satisfied, the process of interruption was terminated and the means of encoding motion picture 5 continued the process of encoding till the third interruption. These calculation and judgment were carried out similarly during the third interruption was the subsequent interruption. In the present Example 2, since K3<Kpm×(MB−MB3)/MB3 was satisfied, the means of controlling power-supply voltage, substrate bias voltage and operating frequency 4 was instructed to use the frequency F(5)=250 MHz and the voltages VDD(5)=1.0V, Vbn(5)=0.5V, and Vbp(5)=0.5V resulting from raising by one step the operating frequency and the power-supply voltage and the substrate bias voltage respectively as the operating frequency and the power-supply voltage and the substrate bias voltage.
Number | Date | Country | Kind |
---|---|---|---|
2003-409641 | Dec 2003 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP04/18312 | 12/8/2004 | WO | 8/11/2006 |