WO2004093458A1 - 動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理方法 - Google Patents

動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理方法 Download PDF

Info

Publication number
WO2004093458A1
WO2004093458A1 PCT/JP2004/005394 JP2004005394W WO2004093458A1 WO 2004093458 A1 WO2004093458 A1 WO 2004093458A1 JP 2004005394 W JP2004005394 W JP 2004005394W WO 2004093458 A1 WO2004093458 A1 WO 2004093458A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
amount
previous frame
encoding
operating frequency
Prior art date
Application number
PCT/JP2004/005394
Other languages
English (en)
French (fr)
Inventor
Masahiko Yoshimoto
Kentaro Kawakami
Miwako Kanamori
Hideo Ohira
Original Assignee
Kanazawa University Technology Licensing Organization Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kanazawa University Technology Licensing Organization Ltd. filed Critical Kanazawa University Technology Licensing Organization Ltd.
Priority to EP04727707A priority Critical patent/EP1615438A4/en
Priority to CA002522870A priority patent/CA2522870A1/en
Priority to US10/553,651 priority patent/US20060174303A1/en
Priority to JP2005505451A priority patent/JPWO2004093458A1/ja
Priority to AU2004229732A priority patent/AU2004229732A1/en
Publication of WO2004093458A1 publication Critical patent/WO2004093458A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to a moving picture coding or decoding processing system and a moving picture coding or decoding processing method.
  • the present invention relates to a moving picture coding or decoding processing system for coding or decoding moving pictures using a processor whose operating frequency and operating voltage can be changed, and a moving picture coding or decoding. It relates to a chemical treatment method. Background art
  • Such coding / decoding technology is applied to information terminal equipment such as a personal computer or a mobile phone incorporating a microcomputer, and is used for a computer based on a program describing coding / decoding means.
  • information terminal equipment such as a personal computer or a mobile phone incorporating a microcomputer
  • a processor or the like By operating a processor or the like, it functions as a moving image encoding system when transmitting moving images, and as a moving image decoding system when receiving moving images.
  • the powerful moving picture encoding or decoding processing requires a relatively large amount of computation, so that power consumption tends to increase, and software that is more versatile than hardware is used. Thus, reducing power consumption in code / decode processing has become a major issue.
  • Non-Patent Document 1 A conventional means for reducing power consumption is disclosed in, for example, Non-Patent Document 1 below.
  • Non-Patent Document 1 Proceedings of IEEE International Symposium on Circuits and System 2001 (May, 2001) pp918-921 "An LSI for VDD-Hopping and MPEG4 System Based on the Chip” (H. Kawaguchi, G. Zhang , S. Lee, and ⁇ . Sakurai)
  • FIG. 10 is a diagram showing a conventional technique for reducing the power consumption of a moving image (moving image) encoding processing system shown in Non-Patent Document 1. Note that the means for reducing the power consumption is the same in the moving picture decoding processing system.
  • the operating voltage and operating frequency are controlled to reduce power consumption when processing moving image coding (especially MPEG) on a processor capable of dynamically changing the operating voltage and operating frequency.
  • the method is shown. That is, in the conventional example, as shown in FIG. 11, when performing moving picture encoding, the amount of calculation of moving picture encoding or decoding in frame units depends on the intensity of motion in the moving picture. Note that the power consumption is reduced by controlling the operating frequency and operating voltage of the processor.
  • the processing time of one frame is limited by the time Tf due to the regulations of the encoding method (MPEG, etc.), and it is necessary that the encoding process of one frame be completed within the processing time Tf. Is done.
  • Tf time slot
  • TR i Tf—T slot X i.
  • the number of video blocks to be processed in one ⁇ 0 time slot T slot (video coding is processed on a block-by-block basis) is R (that is, RXN is the number of blocks in one frame), and RX i) Time taken for block processing (ie time slot Let Tacc (i + 1) be the time actually required for processing the blocks to be processed from Tslotl to time slot Tslot i. The time until the operating voltage and operating frequency stabilize when the voltage is changed is defined as Trd. The actual time slot RTsloti indicates the processing time actually required for the processing to be completed in the time slot Tsloti.
  • Fig 10 first, for the processing of the blocks assigned to time slot Tslotl and time slot Tslot 2, even if the load is maximum, sufficient processing is performed in time slots Tslot 1 and Tslot 2. Operate at the clock frequency f max that can be completed. If the time Tacc3 required for the processing is equal to Tacc3 (Tf-TR2), that is, if the allocated block group has completed processing in time slots Tslot1 and Tslot2, it is allocated to the next time slot Tslot3.
  • Tacc3 Tacc3
  • the processing times Tfl, Tf2, and Tf3 of FIG. 10 indicate the processing times when the operation is performed at the operating frequencies f1, f2, and f3 when the load is the maximum in the time slot Tslot3.
  • the operation frequency and the operation frequency can be comprehensively changed.
  • Required to operate with lower operating voltage Power consumption is reduced by controlling the voltage according to the processing.
  • the processor is set to a certain processing time through the processing time of one frame. It is preferable to perform processing by operating at an operating voltage and an operating frequency. That is, assuming that the processing time of one frame is Tf (second), the amount of operation Kf (cycle), and the operating frequency Ff, the operating frequency Ff is set to Kf / Tf (cycle / second), By operating the processor at a constant operating frequency F f throughout the processing time T f, power consumption can be reduced as compared with the case where the operating frequency F f is changed many times within the processing time T f . This proof is given in a first embodiment described later.
  • the operating voltage and operating frequency are changed up to N times in one frame, even though the unit of the processing time Tf is synchronized with one frame. Electricity was not enough.
  • the low power consumption of moving picture coding or decoding in a processor that can control the operating voltage and operating frequency in multiple stages as in the conventional example is achieved by reducing the operating voltage many times during the processing of one frame. And the operating frequency had to be changed.
  • the control is performed at a minimum constant frequency that allows processing during the processing of one frame. For this reason, in the conventional example in which the operating voltage and the operating frequency are changed up to N times during the processing of one frame, it was not possible to sufficiently reduce the power consumption.
  • the present invention has been made to solve the above-described problems, and a moving image encoding or decoding processing system and a moving image capable of significantly reducing power consumption as compared with the conventional technology. It is to propose an image encoding or decoding processing program. Disclosure of the invention
  • the moving picture coding or decoding processing system of the present invention comprises a plurality of frames.
  • a processor that encodes or decodes a moving image composed of frames in units of frames, calculates the necessary amount of computation K p necessary for encoding or decoding one frame, and encodes the one frame.
  • the operating frequency F at which the necessary amount of computation Kp can be encoded or decoded within the time T e allocated to the decoding or decoding process in advance, and the operating frequency F and the operating frequency are determined.
  • the encoding or decoding process of the one frame is performed while operating the processor at an operating voltage V suitable for F, and furthermore, a failure phenomenon that occurs when the required computation amount Kp is smaller than the actually required computation amount is described.
  • the moving picture coding or decoding processing method provides a method for coding or decoding a moving picture composed of a plurality of frames in one frame by using a processor for coding or decoding in a frame unit.
  • the required operation amount Kp is calculated, and the operating frequency at which the required operation amount Kp can be encoded or decoded within the time T e previously allocated to the encoding or decoding processing of the one frame.
  • the encoding or decoding processing of the one frame is performed while operating the processor at the operating frequency F and the operating voltage V suitable for the operating frequency F, and further, the necessary amount of computation It is characterized by comprising one or more failure avoidance steps for avoiding a failure phenomenon that occurs when Kp is smaller than the actually required amount of computation.
  • the processing time is assigned in advance to the current frame.
  • the required operation amount Kp required for encoding or decoding one frame is calculated, and within a time T e previously allocated to the encoding process or decoding process for the one frame.
  • An operating frequency F at which the necessary amount of computation Kp can be encoded or decoded is determined, and the code or decoding operation is performed while the processor is constantly operated at the operating frequency F and the operating voltage V suitable for the operation frequency. Processing is performed. Therefore, the encoding or decoding processing is performed while the processor is constantly operated at the minimum operating voltage and operating frequency necessary for encoding or decoding for each frame, and the predetermined division of the frame is performed.
  • the operating frequency and operating voltage are determined for each number of blocks, so that Power consumption can be reduced as compared with the conventional technology in which the operating voltage and the operating frequency are changed. Furthermore, if the required amount of computation Kp is smaller than the actually required amount of computation, the encoding or decoding of the current frame is not completed within a predetermined time, resulting in poor image quality.
  • the present invention includes one or more failure avoidance means for avoiding the failure phenomenon, so that the occurrence of the failure phenomenon is avoided.
  • the moving picture coding or decoding processing method is characterized in that a frame to be coded before the one frame among a plurality of continuous frames is set as a previous frame.
  • the required calculation amount ⁇ is calculated using one or more elements of the required calculation amount of the previous frame.
  • the video encoding / decoding processing system / method according to the present invention is configured such that a frame to be decoded before the one frame among a plurality of continuous frames is a preceding frame.
  • the number of bits of the coded data of the one frame, and the type of whether the one frame has been subjected to intra-frame coding or inter-frame coding is a preceding frame.
  • the average value of the magnitude of the motion vector of the one frame or the previous frame, the variance of the magnitude of the motion vector of the one frame or the previous frame, the number of effective blocks of the one frame or the previous frame The number of effective coefficients of the one frame or the previous frame, the bit rate of the one frame or the previous frame, the code of the one frame or the previous frame Signal amount, the average value of the quantization step size of the one frame or the previous frame, and the difference of the average value of the quantization step size (the difference between the quantization step size of the one frame and the previous frame, or 1 (The difference between the quantization step size of the previous frame and the quantization step size of the previous frame), the amount of computation actually required to decode the previous frame, and the required computation amount of the previous frame. It is characterized in that the required operation amount Kp is calculated using the elements.
  • Each of the plurality of elements is an element that affects the operation amount of the encoding or decoding processing.
  • the required computation amount Kp is calculated by using one or more of the elements, so that the calculated required computation amount Kp is actually Becomes a value closer to the calculation amount of. Therefore, it is possible to reduce the rate of occurrence of a failure event that the required computation amount Kp is smaller than the actual computation amount and the encoding or decoding process is not completed in time. In addition, the possibility that the calculated required amount of calculation Kp is too large than the actual amount of calculation and the reduction in power consumption is hindered is reduced.
  • the video encoding or decoding processing system / method of the present invention is characterized in that the failure avoiding means Z step includes a first failure avoiding means Z step for increasing a required operation amount Kp.
  • the failure avoidance means increases the required computation amount by a predetermined value, it is highly likely that the calculated required computation amount Kp satisfies the actual computation amount, and the failure phenomenon can be avoided. it can.
  • the first failure avoiding means / step is characterized in that the required computation amount Kp is multiplied by m (m is a real number not less than 1) or the required computation amount Kp is added with a real number n larger than 0.
  • calculation is performed by adjusting the values of m and n in order to multiply the required operation amount Kp by m or add n to the required operation amount Kp by the first failure avoidance means / step.
  • the calculated required calculation amount Kp can be set to a value larger than the actual calculation amount and approximate to the real calculation amount, and the failure phenomenon can be avoided.
  • the moving image encoding or decoding processing system / method of the present invention As a step, if the encoding processing of the one frame is not completed within the time previously allocated to the encoding or decoding processing of the one frame, the failure phenomenon of performing the processing of avoiding the failure phenomenon is avoided. And at least one second failure avoiding means Z step for performing the following processing.
  • a process for avoiding a failure phenomenon is performed by increasing the required computation amount Kp regardless of whether or not a failure phenomenon has occurred.
  • the process for avoiding the failure phenomenon is performed in the process, the process for avoiding the failure phenomenon is performed only when the failure phenomenon occurs, and the failure phenomenon can be efficiently avoided.
  • the second failure avoiding means Z step interrupts the encoding processing at a predetermined timing, and if there is a macroblock that has not been encoded, performs the invalid block processing on the macroblock. It is characterized. In the decryption processing, no invalid block processing is performed.
  • the second breakup avoiding means / step interrupts the video encoding or decoding processing at the above timing, for example, when there is a macroblock which is not encoded. Since it is determined that the encoding process of the one frame is not completed within the time T e and a failure occurs, and the invalid blocking process is performed on the macro block, the failure phenomenon is avoided. Can be.
  • the second failure avoiding means / step interrupts the encoding / decoding processing at a predetermined timing, and at the time of the interruption, the remaining amount of the necessary computation amount Kp is: If it is smaller than the remaining amount of operation actually required for the encoding or decoding process, it is specially equipped with at least the remaining operation amount judging means to increase the operating frequency and operating voltage of the processor. .
  • the moving image encoding or decoding processing is interrupted at a predetermined timing, and the remaining amount is compared. If the remaining amount of the required operation amount ⁇ is small compared with the remaining amount of the actually required operation amount, the code or decoding operation is not completed within the time Te. Judge that a breakdown phenomenon will occur, and increase the operating frequency and operating voltage of the processor.
  • the calculation speed of the processor is increased, so that the amount of processing that can be performed is increased and the failure phenomenon can be avoided.
  • the number of interrupts is plural, the operating frequency and the operating voltage can be increased stepwise according to the processing state, and the possibility of avoiding the breakdown phenomenon is further increased.
  • the operating frequency F e is calculated from the possible operating frequency at which the processor can operate.
  • the operating frequency F which is equal to or higher than the required operating frequency F e and which is closest to the operating frequency F e is determined, and the operating voltage V suitable for the determined operating frequency F is determined.
  • Encode or decrypt while operating at operating voltage V That is, the possible operating frequency at which the processor can operate and Among the operating voltages, the minimum operating frequency F and operating voltage V capable of processing the required amount of computation Kp within the time T e while operating the processor while encoding or decoding the one frame on the processor. Since power processing is performed, power consumption can be reduced efficiently even if a processor with available operating frequencies prepared in stages is used.
  • FIG. 1 is a schematic block diagram showing the operation of the video coding system of the first embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an implementation example of the video encoding processing system according to the embodiment.
  • FIG. 3 is a diagram showing a moving image coding processing program for causing a computer to function as the moving image coding processing system of the above embodiment, and a schematic flowchart of a moving image coding processing method realized by the program. .
  • FIG. 4 is a diagram showing the relationship between the encoding processing time and the remaining calculation amount in the video encoding system according to the embodiment.
  • FIG. 5 is a conceptual diagram showing an operating voltage and an operating frequency of a processor used in the moving picture coding processing system of the above embodiment.
  • FIG. 6 is a diagram illustrating the effectiveness of the present invention.
  • FIG. 7 is a schematic block diagram showing an operation of the moving picture coding processing system according to the second embodiment of the present invention.
  • FIG. 8 is a diagram showing a schematic flowchart of a moving picture coding processing program that causes a computer to function as the moving picture coding processing system of the above embodiment.
  • FIG. 9 is a schematic block diagram showing the operation of the video decoding processing system according to the third embodiment of the present invention.
  • FIG. 10 is a diagram showing a conventional method for reducing the power consumption of the moving picture coding processing system.
  • Fig. 11 is a conceptual diagram showing a state in which the amount of video coding or decoding computation differs for each frame.
  • the moving picture coding processing system is realized by a computer which is an information terminal device such as a mobile phone or a personal computer having a built-in microcomputer.
  • a computer which is an information terminal device such as a mobile phone or a personal computer having a built-in microcomputer.
  • This is a system that functions as a part of a digital signal processing unit and the like, and that sequentially encodes a moving image composed of a predetermined number of continuous frames in frame units.
  • FIG. 1 is a schematic block diagram showing the operation of the moving picture coding processing system S1 of the present embodiment.
  • the moving picture coding processing system S1 is provided with an operating voltage and an operating frequency of r stages (r is an integer of 2 or more) (that is, it can be operated at an operating voltage and operating frequency of r stages) and a program.
  • a processor 1 capable of changing an operating voltage and an operating frequency according to an operation voltage, an operating voltage and an operating frequency control means 4 including a DC-DC converter ⁇ PLL and the like to control an operating power supply voltage and an operating frequency of the processor 1; (Particularly, a multimedia signal processing unit in the computer) including at least a local decoding frame memory 6, an input frame memory 7, an element memory 8, and a processed macroblock number register 10 which are storage areas for storing the data of .
  • the operating voltage and operating frequency of the local decoding memory 6 and the input frame memory 7 may be controlled by the operating voltage and operating frequency control means 4 in the same manner as in the processor 1.
  • the elements included in the control area CA indicated by the dotted line (processor 1, local decoding frame memory 6, element memory 8, processed macroblock number register 10, input frame memories 7a, 7b, etc. ), The operating frequency and operating voltage are controlled.
  • the processor 1 includes, as means operating on the processor 1, a necessary operation amount calculating means 2, an operating voltage / operating frequency calculating means 3, a moving picture coding means 5, and two failure avoiding means 9, 1 1. .
  • the two failure avoidance means 9, 11 1 are arranged so that the required computation amount calculated by the required computation amount calculation means 2 is actually necessary for the encoding process by the encoding means 5. This is a means for avoiding a failure phenomenon that occurs when a value smaller than the calculation amount is calculated, and the first failure prevention means 11 and the second failure prevention means functioning as a part of the necessary calculation amount calculation means 2.
  • reference numeral 101 denotes input image data
  • reference numeral 102 denotes an operating voltage and an operating frequency instruction
  • reference numeral 103 denotes local decoded data of a previous frame
  • reference numeral 105 denotes an operating voltage and operating frequency supply
  • 106 is the encoded data of the frame
  • 107 is the information of the average value of the quantization step size of the previous frame
  • 108 is the intra-frame coding or inter-frame coding for each frame.
  • code 109 is information on the coding bit rate of the moving image
  • code 110 is the amount of activity in the previous frame
  • code 111 is the number of macroblock matching in the previous frame
  • code 112 Is the number of effective blocks of the previous frame
  • code 1 13 is the number of effective coefficients of the previous frame
  • code 1 14 is the average of the quantization step size of the previous frame and the average of the quantization step size of the previous frame Value difference
  • sign 1 1 5 The amount of processing actually required for the code of the previous frame
  • code 1 16 is the required amount of calculation of the previous frame calculated by the required calculation amount calculation means 2
  • code 1 17 is the macroblock for which the encoding process has been completed. Is the number of processing macroblocks.
  • the element memory 8 is a part of a plurality of elements used in the required operation amount calculation means 2 described later (a type 1 08 or an intra-frame encoding or an inter-frame encoding, This is a storage area for storing the code rate 109, the amount of frame activity 110, and the required computation amount 1 16) calculated by the required computation amount calculation means 2.
  • the processed macroblock number register 10 is a register for temporarily storing information on the number of encoded macroblocks 1 17.
  • MP EG-4 is used as the encoding method for the moving picture encoding means 5
  • other encoding methods such as H.26X, MPEG-1, and MP EG-2 are used. Also good ,.
  • FIG. 2 shows an implementation example of the moving picture coding processing system S1.
  • the system S1 mainly includes a processor 1, peripheral devices such as various memories MR, 7a and 7b, various interfaces CI, DI, and BI, and an operating voltage and operating frequency control circuit 4a. It is realized by one piece of hardware.
  • the above components can communicate with each other via paths Bl, B2, and the like.
  • the processor 1 includes a processor core 1a, an instruction cache memory 1b, and a data cache memory 1c.
  • Necessary operation amount calculation means 2, operating voltage / operating frequency determination means 3, moving picture coding means 5, failure avoidance means 9, 11 are used to execute programs stored in memory MR on processor core 1a as necessary. It is realized by being executed in.
  • the instruction cache memory 1b and the data cache memory 1c are cache memories provided to speed up the processing of a program executed on the processor core 1a.
  • the local decoding frame memory 6, the element memory 8, the processed macroblock number register 10 are aggregated in the FIG. 2 memory MR, and the average quantization step size of the previous frame 1 107, each frame
  • the type of intra-frame or inter-frame encoding is 108
  • the bit rate of video coding is 109
  • the amount of activity of the previous frame (past frame) is 110
  • the previous frame The number of block matchings 1 1 1, the number of effective blocks in the previous frame 1 1 2, the number of effective coefficients in the previous frame 1 1 3, the average value of the quantization step size of the previous frame, and the value of the previous frame Difference of average value of quantization step size 1 1 4, amount of processing actually required for encoding of previous frame 1 15, required amount of computation of previous frame 1 16 calculated by required computation amount calculation means, processing Macrob Click Number 1 1 7 is stored as data in the memory 1 f.
  • the local decoded data 103 is transmitted and received as signals 100 j, 100 k, and 100 1 between the memory MR and the processor core 1
  • the two input frame memories 7a and 7b correspond to the frame memory 7 of FIG.
  • Video data (input image data 101) input from the camera interface CI is input to the input frame memory 7a (or the input frame memory 7b) via the bus B2.
  • Input frame memory (# 0) 7a and input frame memory (# 1) 7b is replaced every time one frame is processed. That is, in the processing of the i-th frame, the input image data is written to the input frame memory (# 1) 7b by the signal 100h, and the signal 100 is used for the encoding processing by the moving image encoding means.
  • the input frame memory (# 0) 7a by o In the processing of the (i + 1) th frame, the input frame memory (# 0) 7a by the signal 100i
  • the input image data is written into the input frame memory (# 1) 7b by the signal 100p for encoding processing by the moving image encoding processing means. Therefore, when the input image data is written to the input frame memory (# 1) 7b by the signal 100h, the signal 100 Op does not occur, and conversely, the image is read by the signal 100p. When it is output, no signal 100h is generated.
  • the input frame memory (# 0) 7a is used to control the operating frequency and operating voltage in the processing of the (i + 1) -th frame. Be eligible.
  • the input image from the camera interface CI which always has a constant operating frequency
  • the data write operation and the read operation of the input image data whose operating frequency fluctuates based on the calculated value of the required operation amount can be executed without hindering each other.
  • the operating voltage / operating frequency control circuit 4a is capable of transmitting and receiving signals to and from the PLL 4b and the DC-DC converter 4c, and these function as operating voltage / operating frequency control means 4.
  • Operating voltage The operating frequency control circuit 4a receives the operating voltage and operating frequency instruction 102 by the signal 100e from the processor core 1a, and sends the instruction to the PLL 4b based on the instruction 102. Sends a signal 100 u, DC—DC Transmits a signal of 100 V to converter 4c.
  • the PLL 4b transmits an operating frequency signal 100a based on the signal 100u, and the DC-DC converter 4c supplies an operating voltage 100b based on the signal 100V.
  • Signal 100 e, 100 j, 100 k, 100 1, 100 m, 100 ⁇ , ⁇ ⁇ ⁇ ⁇ , 100 q, lOO r, 100 s is the operating frequency signal output by PLL4 b 100 a, DC-DC converter 4
  • the frequency and signal level change according to the value of the power supply 100 b output by c.
  • the encoded data 106 after encoding by the moving image encoding means 5 operating on the processor 1 is transmitted as a signal 100 m to the bit stream interface BI via the bus B 1 and output as a signal 100 n, Sent to the memory MR functioning as the local decoding frame memory 6. Further, image data and the like are read out from the memory via the bus B1 as a signal 100q and transmitted to the display interface DI.
  • the signal 100q received by the display interface DI is output as video data based on the signal 100t.
  • the video data is output and displayed as a moving image via a monitor connected to the display interface DI.
  • Operating voltage and operating frequency control circuit 4a, display interface DI, and bit stream interface BI always operate at a constant operating voltage, but the signals 100e, 100q, and 100m transmitted and received between them operate in the control area CA.
  • the signal level fluctuates according to the change in the operating voltage of the elements (processor 1, memory MR, input frame memories 7a, 7b, etc.) included in.
  • the operating voltage and operating frequency control circuit 4a, display interface DI, and bit stream interface BI are equipped with level converters that correct the signal levels of the received signals 100e, 100q, and 100m. It is desirable.
  • the moving picture coding processing system S1 is realized by causing a computer (particularly, a multimedia signal processing unit in the computer) to function as the following predetermined means by a moving picture coding processing program Prg1.
  • a computer particularly, a multimedia signal processing unit in the computer
  • Prg1 a moving picture coding processing program
  • any one of the frames to be encoded from among the sequentially encoded frames is defined as the current frame (that is, the frame to be encoded next with reference to the time when a certain frame is encoded, In other words, the frame that has not been encoded at this point in time and is scheduled to be encoded in the future), one frame encoded earlier than the current frame (the frame encoded in the past) (Frame) is set as the previous frame, and the process of encoding the current frame will be described, but the same process is performed for any frame.
  • FIG. 3 is a diagram showing a schematic flowchart of the video encoding processing program Prg1.
  • the moving picture coding processing program Prg1 causes the computer to function as the following units in Steps 1 to 5 described later.
  • Step 1 The image information of the current frame is input to the input frame memory 7.
  • Step 2 It functions as the required calculation amount calculation means 2 for calculating the required calculation amount K P of the current frame.
  • Step 3 Function as an operating voltage / operating frequency calculating means 3 for calculating the operating frequency F and the operating voltage V of the processor according to the calculated required operation amount ⁇ .
  • Step 4 Operate as the operating voltage / operating frequency control means 4 for controlling the operation of the processor 1 at the calculated operating frequency F and operating voltage V.
  • Step 5 Function as the moving picture coding means 5 for coding the picture information of the current frame. As described above, the processing of Steps 1 to 5 is performed on all the frames in the order of the frames input to the input frame memory 7 (that is, the order of encoding), thereby encoding the moving image. . The details will be described below.
  • Step 1 The input image data is temporarily stored in an input frame memory 7, which is a storage area for temporarily storing frames, in order to synchronize the frames. You.
  • Step 2 The required computation amount calculation means 2 accesses the input frame memory 7 to obtain the input image data 101 of the current frame, and calculates the required computation amount Kp required for the encoding processing of the current frame.
  • the required calculation amount of the frame is included.
  • the required calculation amount is made relatively large, and when the value of one element is small, the required calculation amount is made relatively small as compared with the case where the value is large.
  • the required computation amount Kp is relatively small compared to the case of inter-frame coding, and when the current frame is inter-frame coding, frame ⁇ ⁇ frame
  • the required calculation amount Kp is made relatively large as compared with.
  • the required computation amount calculation means 2 determines the required computation amount Kp according to these elements. By performing the calculation so as to increase or decrease the (cycle), the required operation amount Kp calculated by the required operation amount calculation means 2 becomes a value closer to the operation amount when the encoding process is actually performed.
  • the calculation is performed using the function G, and the input frame memory is calculated.
  • the input image data 101 of the current frame stored in 7 is compared with the local decoded data 103 of the previous frame that has been decoded and stored in the local decoded frame memory 6, and the Predicts (calculates) the magnitude of the motion of the image.
  • the local decoded data 103 of the previous frame is obtained by encoding the encoded data 106 of the previous frame formed by encoding the previous frame in the encoding process of the previous frame in which encoding is performed before the current frame. It is formed by decoding by a local decoder and stored in the local decoding frame memory 6.
  • a sum of absolute differences is used as an example of prediction (calculation) of the magnitude of the motion.
  • the following describes how to calculate the sum of absolute differences ⁇ and the required amount of computation Kp.
  • the local decoded data 106 decoded by a local decoder after encoding may be used, but the input image data of the input previous frame is used as it is. You may.
  • the input image data 101 of the current frame stored in the input frame memory 7 is stored in X (i: j) (i is the horizontal coordinate of the image, j is the vertical coordinate) and stored in the local decoding frame memory 6 described later.
  • the accumulated local decoded data 103 of the previous frame is Y (i, j) (where i is the horizontal coordinate of the image and j is the vertical coordinate)
  • the sum of the absolute differences is Z
  • the activity amount of the current frame is W a
  • the activity amount of the previous frame (past frame) is W b
  • the average quantization step size of the previous frame is Qprev
  • the number of macroblock matchings in the previous frame is M
  • the number of effective blocks in the previous frame is B
  • the effective coefficient of the previous frame is C is the number
  • s is the amount of processing actually required for the code of the previous frame
  • s is the coding bit rate of the current frame
  • BR is the average value of the quantization step size of the previous frame
  • quantization of the previous frame is If ⁇ Qprev is the difference between the average values of the step sizes, D is the actual number of bits generated in the previous frame, and Kp 'is the calculated amount of computation in the previous frame, one or more of these elements are Using the required computational amount Kp
  • Kp G (Z, Wa, Wb, Qprev, M, B, C, S, BR, ⁇ Qprev, D, Kp ')... (Equation 1)
  • G is a function derived from one or more elements of Z, Wa, Wb, Qprev, M, B, C, S, BR, Q, Qprev, D, and Kp '.
  • Z Wa, Wb, Qprev, M, B, C, S, BR, Q, Qprev, D, and Kp '.
  • Kp j + ⁇ +] 3 ⁇ + ⁇ + ⁇ ⁇ + ⁇ AQprev-. ⁇ (Equation 2), but is not limited to this.
  • type I which indicates whether the current frame is intra-frame encoding or inter-frame encoding.
  • the required operation amount Kp when the current frame is an intraframe code is small, and the required operation amount Kp when the current frame is interframe encoding is a large value.
  • the function G will be described. If the change of the image between the previous frame and the current frame is large (small size), that is, if the sum of absolute differences Z is large (small size), the number of macroblock pi matching performed in the current frame is large ( Therefore, the amount of calculation (depending on the number of executed macroblock matchings) required for the motion detection processing of the current frame becomes larger (smaller).
  • the activity amount Wa of the current frame is large (small)
  • the current frame contains many (small) high-frequency components of the image.
  • the function G is configured to set Hp large (small) when parameters such as M, B, C, S, Wb, and Hp 'are large (small).
  • the target bit rate is large (small)
  • the value of the quantization step size is set small (large), and as a result, the number of effective blocks and the number of effective coefficients generated in the encoding process become large (small).
  • the value of the quantization step size of the current frame is set smaller (larger) and the effective block generated in the encoding process is set. And the number of effective coefficients become smaller (larger).
  • the above function G sets the actual number of generated bits D of the previous frame larger than BR so that Hp is set large (small).
  • the threshold is small (small level)
  • the difference between the average quantization step size of the previous frame Qp rev and the average value of the quantization step size of the previous frame and the average value of the quantization step size of the immediately preceding frame By considering AQp rev, H p calculated by the function G can be set to a value close to the amount of calculation required to actually encode the current frame.
  • the first failure avoidance means 11 included in the necessary computation amount calculation means 2 increases the required computation amount Kp by a predetermined value and calculates A process is performed to give a margin to the required calculation amount Kp.
  • a real number 11 n is a real number greater than or equal to 0
  • a fixed value can be provided with a margin regardless of the calculated required operation amount value.
  • the failure phenomenon is avoided by performing processing in the processing completion determination means 9 which is second failure avoidance means described later.
  • the required calculation amount 116 of the previous frame calculated by the required calculation amount calculation means is stored in advance in the element memory 8 which is a storage area where the elements are stored. Read into 2 and used.
  • the average value of the quantization step size of the previous frame 107, the number of macroblock matchings of the previous frame 111, the number of effective blocks of the previous frame 1 12, the number of effective coefficients of the previous frame 1 13, and the quantization step size of the previous frame The difference between the average value and the average value of the quantization step size of the immediately preceding frame 114, and The processing amount 115 actually required for the coding of the frame is fed back from the moving picture coding means 5 to the necessary calculation amount calculating means 2 when the coding processing of the previous frame is performed.
  • the necessary operation amount calculation means 2 only one of these elements may be used, or a plurality of elements may be used in combination.
  • the operating voltage / operating frequency calculation means 3 performs a calculation for predicting the operating frequency F e (cycle da seconds) for the processing of the current frame based on the value of the required operation amount Kp. That is, the minimum unit for which the processing time is defined by the encoding system is one frame, and if the time allocated to the encoding process of the current frame is Te (seconds), it is necessary for the current frame.
  • the time T e allocated to the encoding processing of the predetermined frame is the time limit of the processing of one frame, the power, the time for estimating the calculation amount for the predetermined frame, ⁇ , the operating frequency of the processor, and the operating power. This is the time obtained by subtracting the time T s for changing the voltage / substrate bias voltage.
  • Step 4 The operating voltage / operating frequency control means 4 converts the values of the operating voltage V (r) and the operating frequency F (r) instructed by the operating voltage / operating frequency Control is supplied to peripheral devices including the processor 1 and / or the local decoding memory 6 (reference numeral 105), and the processor 1 is operated at a constant operating voltage V (r) and operating frequency F (r). Do. As a result, peripheral devices including the processor 1 and / or the local decoding memory 6 operate at a constant operating voltage V (r) and operating frequency F (r).
  • the moving picture coding means 5 is a means realized on the processor 1- of the computer by the moving picture coding processing program P rg 1 and is stored in the input frame memory 7 using the processor 1. This is a means for accessing the input image data in units of video coding and performing coding processing. That is, the moving picture encoding unit 5 acquires the input image data 101 of the current frame from the input frame memory 7 and encodes it to generate encoded data 106.
  • the peripheral devices including the processor 1 and / or the local decoding memory 6 operate at the constant operating voltage V (r) and the operating frequency F (r) supplied from the operating voltage / operating frequency control means 4.
  • the operating voltage ⁇ operating frequency control means 4 uses the operating frequency F (r) and the operating voltage V (r) for the processor 1 and / or the local decoding memory.
  • Moving image encoding means 5 that performs encoding using the processor 1 while the peripheral devices including 6 and the like are operated at a constant rate encodes the current frame. For example, for a rapidly moving image (input image data 101 of the current frame), peripheral devices including the processor 1 and / or the local decoding memory 6 are constantly operated at a high frequency to obtain an image with little movement. On the other hand, low power consumption can be achieved by constant operation at a low frequency.
  • the moving picture coding means 5 includes a local decoder having a function of decoding the coded data 106, and the coded data 106 of the current frame is decoded by the local decoder to form a locally decoded frame. It is stored in the memory 6 as the locally decoded data 103.
  • the local decoded data 103 of the current frame is used when calculating the required computation amount Kp for the frame to be encoded next to the current frame.
  • Encoded data of current frame 1 0 6 is transmitted through a transmission path or stored in a storage medium.
  • the processing completion judging means 9 is configured to execute the code encoding processing routine at a predetermined timing when the moving picture encoding means 5 executes the encoding processing routine of the input image data 101 of the current frame in step 5. And interrupts the processing within the processing time, and determines whether the encoding processing of the current frame has been completed or not. If there is a macro block that has not been encoded, the required computation amount calculated by the required computation amount calculation means is smaller than the actually required computation amount, and the processing is not completed within the time Te. Since it can be determined that there is a high possibility that a failure phenomenon will occur, invalid block processing is performed on the macroblock.
  • the processing completion determination means 9 disables the remaining processing by changing the processing to a processing that can greatly reduce the remaining processing.
  • FIG. 4 shows the relationship between the time at which an interrupt is performed and the remaining amount of computation.
  • the number of macroblocks in one frame is set to MB, and the amount of computation required to process one macroblock as an invalid macroblock is calculated. Ks.
  • the calculation amount Ks required for processing as an invalid macroblock is much smaller than the calculation amount required for normal processing of one macroblock, and the same processing is performed for macroblocks of any frame. I do.
  • the interrupting time may be calculated by the operating voltage / operating frequency calculator 3.
  • Processing is performed for all unprocessed macroblocks as invalid blocks, and the process returns to the encoding processing routine.
  • the interrupt is performed at the timing of the time T i, the calculation amount for processing at least all the MAC blocks as invalid blocks is secured, so that the failure phenomenon can always be avoided.
  • the breakdown phenomenon may be avoided by increasing the operating frequency and operating voltage of the processor 1 as described later instead of the invalid blocking processing.
  • an interrupt is performed at a timing that allows enough time to encode all the unprocessed macro blocks within the time allocated in advance to the encoding processing of the current frame.
  • the operating voltage of processor 1 and The operating frequency is variable in P stages as shown in Fig. 5, the required computation amount of any one frame is Kt, and the time allocated to the processing of that frame is Tt.
  • the operating frequency is set to Ft
  • the operating voltage when operating the processor 1 at the operating frequency Ft is set to VDD
  • the processing of the required calculation amount Kt is completed at time Tt (I.e., when the operating frequency is constant) is Case 1
  • the initial operating frequency is set to h * Ft, as shown in Fig 6 (b), and the processor is operated at the operating frequency h * Ft.
  • the operation voltage of the processor is changed to h * FtZ2 when the time T1 has elapsed, and the operation voltage for operating the processor 1 at the operation frequency h * FtZ2 is set to V2.
  • Case 2 The case where the processing of the required operation amount Kt ends at time T 1 + T 2 (that is, the case where the operating frequency is switched once) is defined as Case 2, and the arbitrary one frame is defined for each Casel and Case2.
  • FIG. 7 is a schematic block diagram showing the operation of the video encoding system S2 according to the second embodiment.
  • the video coding processing system S2 of the present embodiment is different from the video coding processing system S1 of the first embodiment in that the processing completion determination means 9 and the processing completion determination means 9 are used as second failure avoidance means. At least a calculation remaining amount determining means 29 is provided in place of the used macro block number register 10.
  • FIG. 8 is a diagram showing a schematic flowchart of a moving picture coding processing program Prg2 and a moving picture coding processing method realized thereby.
  • the program Prg2 is a program that causes a computer to function as a moving image encoding processing system S2 including various means, and includes a second failure avoidance step that is executed by interrupting the encoding process (Step 5).
  • the moving picture coding processing system S 2 is different from the moving picture coding processing system S 1, in that the operating frequency and operation of operating the peripheral device including the processor 1 and / or the local decoding memory 6 are different.
  • the problem described above is solved by controlling the dynamic operating voltage and operating frequency to change the voltage.
  • the dynamic operating voltage and operating frequency control will be described in detail.
  • the operating frequency and operating voltage for the processing of the current frame are calculated by the operating voltage / operating frequency calculating means 3 based on the values calculated by the necessary operation amount calculating means 2.
  • the calculated value of the required computation amount Kp is smaller than the required computation amount Km actually required for processing the current frame, the calculated value is calculated based on the value of the required computation amount Kp.
  • the operating frequency and operating voltage are also lower than the operating frequency and operating voltage that are actually suitable for processing the current frame.
  • the moving picture coding means 5 is provided with N times of interrupt processing at equal intervals to perform coding.
  • the calculation remaining amount determination means 29 calculates the calculation remaining amount K i which is the remaining amount of the necessary calculation amount of the current frame calculated by the necessary calculation amount calculation means 2, and In the encoding processing of a predetermined frame by the moving picture encoding means 5, the amount of operation actually required is compared with the remaining amount of operation.
  • F0 is the operating frequency of the processor set at the start of processing of the current frame
  • j 0, 1,..., (I-1).
  • the calculation remaining amount determining means 29 determines whether Ki ⁇ KpmX (MB-MBi) / MBi or Ki ⁇ KpmX (MB-MBi) / MBi.
  • the video encoding means 5 performs (i + 1) times Processing of the current frame is continued until the time of the first interrupt processing.
  • the calculation remaining amount determination means 29 is necessary when the calculated remaining calculation amount K i and the calculation amount Kpn ⁇ 3 ⁇ 43 ⁇ 4 ⁇ K i ⁇ KpmX (MB -MB i) ZMB i used for processing the current frame are satisfied. It is determined that the required amount of operation calculated by the operation amount calculation means 2 is smaller than the actually required amount of operation, and an instruction is given to the operating voltage / operating frequency control means 4 to increase the operating voltage and operating frequency by one step (sign 104). Here, an instruction may be given to increase the operating voltage and the operating frequency by two or more steps.
  • MB is the total number of macroblocks included in the current frame
  • MBi is the number of macroblocks that have been code-processed in the current frame at the i-th interrupt processing occurrence time.
  • K i ⁇ KpmX (MB -MB i) / MB i and the formulas K i and KpmX (MB -MB i) / MB i K i ⁇ Kpm X (B LB L i) / BL i and K i ⁇ K pm X (BL—BL i) / BL i may be used.
  • BL represents the total number of blocks included in the current frame
  • BLi represents the number of processed blocks of the current frame at the i-th interrupt processing occurrence time.
  • the system S2 may also include the first failure avoidance unit 11.
  • the video decoding processing system S3 is a system that decodes an encoded video.
  • FIG. 9 is a schematic block diagram showing the operation of the video decoding processing system S3.
  • the moving picture decoding processing system S3 of the present embodiment is a processor in which the operating voltage and the operating frequency are prepared in r stages (r is an integer of 2 or more) and the operating voltage and the operating frequency can be changed by a program. 1 and the said Operating voltage and operating frequency controlling means for controlling the operating voltage and operating frequency of processor 1; local decoding frame memory 36 for storing the decrypted data of the previous frame; and determination of the remaining amount of operation to be performed on processor 1 Means 39.
  • the operating voltage and operating frequency of the local decoding memory 36 may be controlled by the operating voltage and operating frequency control means 4 in the same manner as the processor 1.
  • the processor 1 includes a required operation amount calculating unit 32 operating on the processor 1, an operating voltage / operating frequency calculating unit 3 ′ operating on the processor 1, and a moving image decoding unit 3 operating on the processor 1. 5 is provided.
  • Reference numeral 301 denotes input encoded data
  • reference numeral 102 denotes operating voltage / operating frequency instruction
  • reference numeral 105 denotes operating voltage / operating frequency supply
  • reference numeral 303 denotes decoded data.
  • the same reference numerals as those in the embodiment denote portions having the same function or a function equivalent thereto.
  • the point that decoding is performed instead of encoding and the points other than the following are the same as in the second embodiment.
  • any one of the sequentially decoded frames to be decoded i.e., the next frame to be decoded based on the point in time when a certain frame is decoded
  • the frame that has not been decoded yet at this point and is to be decoded in the future is replaced with the current frame, and one frame decoded before the current frame (decoded in the past).
  • the process of decoding the current frame is described with the previous frame as the previous frame, but the same process is performed for any frame.
  • the moving picture decoding processing program P rg 3 that makes the computer function as the moving picture decoding processing system S 3 is almost the same as the moving picture coding processing program P rg 1, but in Step 5, the A computer (specifically, a processor 1 built in the computer) functions as moving image decoding means 35 for decoding the encoded data.
  • the input coded data 301 input to the video decoding processing system S3 is input to the required computation amount calculation means 32.
  • the necessary calculation amount calculation means 32 calculates the amount of information (the number of bits) FB generated for one frame of the code data 301, ie, the coded data 310 of the current frame. A calculation is performed to predict the required calculation amount K ⁇ .
  • the required computation amount ⁇ ⁇ is
  • Kp G (FB, MVa, MV v, B, C, BR, Q, m ⁇ 2, I, E, P) ⁇ ⁇ ⁇ (Equation 11)
  • FB is the number of bits of the encoded data of the current frame or the previous frame
  • MVa is the average value of the motion vector size of the current frame or the previous frame
  • MVv is the motion vector of the current frame or the previous frame.
  • B is the number of effective blocks in the current or previous frame
  • C is the number of effective coefficients in the current or previous frame
  • BR is the bit rate of the current or previous frame
  • Q is the quantum of the current or previous frame.
  • AQ is the difference between the average values of the quantization step sizes of the current frame and the previous frame or the average value of the quantization step sizes of the previous frame and the frame before the previous frame.
  • E is the amount of computation actually required to decode the previous frame
  • P is the required performance. It represents a necessary calculation amount of the previous frame calculated by the amount computing means.
  • the amount of computation required for decoding the current frame depends on the number of times the IDCT processing, IQ processing, and VLD processing are executed in decoding the current frame.
  • the number of executions of the IDCT processing depends on the number of effective blocks included in the current frame
  • the number of executions of the IQ processing and the VLD processing depends on the number of effective coefficients included in the current frame. In other words, when the number of effective blocks and the number of effective coefficients included in the current frame are large and small, the amount of computation required for the decoding process is large (small). Therefore, the function G is configured to set Hp large (small) when B and C are large (small).
  • the function G is configured to set Hp large (small) when MVa and MVv are large (small).
  • the function G is configured to set Hp small when the current frame is an I picture.
  • the function G is? If 8 ⁇ 8 1 is large (small level), configure to set Hp large (small). Also, since the value of the quantization step size is changed when controlling the bit rate, for example, when Q or ⁇ ⁇ ⁇ is large (small), the quantization step size is set to a small (large) Hp. By considering the average value Q of the size and the difference ⁇ Q between the average values of the quantization step sizes, the value of H p calculated by the above function G is close to the amount of computation necessary to actually decode the current frame. It can be.
  • MVa, MVv, B, C, BR, FB, and Q have similar values between the current frame and the previous frame. Therefore, when these parameters are used in the function G, the values in the current frame may be used, or the values in the previous frame may be used.
  • the prediction operation amount Hp can be set to a value closer to the operation amount necessary for the actual decoding process by using the value in the current frame.
  • the predicted operation amount Hp can be calculated before receiving the input coded data of the current frame.
  • the decryption processing can be performed simultaneously.
  • the amount of computation required for decoding the current frame is the amount of computation E that was actually required in the decoding process for the previous frame. And a value close to.
  • the predicted operation amount calculated by the necessary operation amount calculation means is a value close to the operation amount required for the actual decryption processing, it becomes PE. Therefore, the necessary computation amount of the current frame is set to a value obtained by increasing or decreasing E or P according to the magnitude of parameters such as FB, MVa, MVv, B, C, BR, Q, and Q.
  • E and P Hp calculated by the function G can be set to a value close to the amount of calculation necessary to actually decode the current frame.
  • the required computation amount calculation means 32 only one of these elements may be used, or a plurality of these elements may be used in combination. That is, since these multiple elements are elements that affect the required computation amount required for the decoding processing of the current frame, the required computation amount calculation means 3 2 power
  • the required computation amount K p (Saital) is calculated so that the required computation amount K p calculated by the required computation amount calculation means 32 is closer to the computation amount when the decoding process is actually performed. Become.
  • the operating voltage / operating frequency calculating means 3 and the operating voltage / operating frequency control means 4 are the same as in the first embodiment.
  • the moving image decoding means 35 decodes the input coded data 301 of the current frame to generate decoded data 306.
  • the decoding processing is performed by the operating voltage / operating frequency control means 4 while operating the processor 1 at a constant operating voltage and operating frequency. For each frame, the required calculation amount is calculated before decoding the frame, and the frame is decoded while operating the processor at a constant operating frequency and operating voltage corresponding to the required calculation amount.
  • the decrypted data 306 is displayed as a moving image on the image display unit of the mobile phone computer, or stored in a storage medium such as a disk or hard disk.
  • the remaining computation Equipped with an amount judgment means 39 is almost the same as that of the second embodiment, except that the calculation remaining amount judging means 39 judges the calculation amount of the decoding process instead of the coding operation amount.
  • the calculation remaining amount judging means 39 can avoid the failure phenomenon. Note that, as in the first embodiment, it is also possible to provide a processing completion determining means as first failure avoiding means. Note that there is no processing completion means in the decryption processing, and no invalid block processing is performed.
  • the moving picture coding processing system includes a first failure avoiding means 11, a processing completion determining means 9 as a second failure avoiding means 9, and a calculation remaining amount determination as a second failure avoiding means.
  • the means 29 and 39 may be provided independently, or may be provided by appropriately combining the respective means.
  • the first and second failure avoidance means are all provided, and if the failure cannot be avoided even if the required amount of computation is increased by the first failure avoidance means 11, the second failure avoidance means If the operating voltage and operating frequency are raised by means of the remaining calculation means 29 and 39 as means, and furthermore the failure cannot be avoided, the processing completion determination means as second failure avoidance means 9 may be used to perform a failure avoiding process such as simply performing an encoding process.
  • the moving picture coding processing program may be realized by hardware having the same function as the program.
  • a first embodiment of the moving picture coding system S 1 according to the first embodiment will be described.
  • the moving picture data composed of five frames is used as a c- encoding target.
  • the second frame will be described as an example.
  • Each frame is composed of a pixel array of 144 rows and 176 columns.
  • MPEG-4 is used for the encoding process.
  • the processor 1 of the video coding system S1 has an operating frequency of 189 MHz to 405 MHz, an operating voltage of 1.06 V to 1.8 V, an operating frequency of 27 MHz and It is variable in 9 steps at equal intervals for each voltage of 0.0925V.
  • the video encoding system S 1 accesses the input frame memory 7 and 3 Obtain the second frame, and calculate the required calculation amount Kp of the frame by the required calculation amount calculation means 2. Specifically, the required amount of computation ⁇ is calculated using the following equation, using the 31st frame as the previous frame.
  • the activity amount W of the 32nd frame which is the current frame is calculated by the following equation.
  • the average quantization step size of the previous frame (average quantization step size) Qprev 4
  • Number of effective coefficients of previous frame C 6 0 1 1
  • amount of processing actually required for coding of previous frame S 1 544 7 1 0 5
  • coding bit rate of current frame BR 6 5 5 3 Get 6.
  • the required operation amount Kp is calculated by the following formula using each element.
  • the above equation 3 will be described as an example.
  • an operating frequency of 243 MHz and an operating voltage of 1.25 V are selected as the operating frequencies satisfying this operating frequency.
  • the operating voltage / operating frequency control means 4 controls at least the processor 1 to operate constantly at an operating voltage of 243 MHz and an operating frequency of 1.25 V.
  • the moving picture coding means 5 obtains the frame F from the input frame memory 7, and uses the port processor 1 which is constantly operated at the above operating frequency of 243 MHz and operating voltage of 1.25 V. Encoding processing is performed to generate encoded data.
  • the processing completion determining means 9 calculates an interruption time by the following formula and performs an interruption.
  • the processing completion judging means 9 judges whether or not Mbi and MB at the timing of this interrupt.
  • T i 0.06665
  • MB i is MB
  • all remaining macro blocks are processed as invalid blocks. Return to the encoding routine.
  • the current frame to be coded or decoded (encoded or decoded in the future) (The frame to be processed)
  • a calculation is performed to predict the required amount of computation required for encoding or decoding
  • control is performed almost constant at the minimum operating frequency within the time allocated to the processing of the current frame. Since the operating voltage and operating frequency are dynamically controlled in frame units, low power consumption can be achieved.
  • the provision of the failure avoidance means makes it possible to avoid a failure phenomenon that occurs when the calculated required computational amount is smaller than the actually required computational amount, and the encoded or decoded moving image becomes poor. Can be prevented.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本発明は、従来技術と比較して低消費電力化を図ることができる動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理方法を提案することを目的とする。一のフレームの符号化又は復号化に必要な必要演算量Kpを計算し、当該一のフレームの符号化又は復号化処理に予め割り当てられている時間Te内に当該必要演算量Kpを符号化又は復号化処理可能な動作周波数Fを決定し、当該動作周波数F、及び、当該動作周波数Fに適する動作電圧Vで当該プロセッサを動作させながら当該一のフレームの符号化又は復号化処理を行い、さらに、必要演算量Kpが実際に必要な演算量よりも小さい場合に起きる破綻現象を回避する破綻回避手段を一つ以上備える。

Description

明 細 書
動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理方法 技術分野
本発明は、 動作周波数及び動作電圧が変更可能なプロセッサを使用して、 動画 像の符号化又は複号化を行う動画像符号化又は複号化処理システム及ぴ動画像符 号化又は複号化処理方法に関する。 背景技術
近年、 伝送路を通じて動画像の送受信を行うことや、 動画像を蓄積メディアに 蓄積することが可能となっている。 一般に、 動画像は情報量が大きいため、 伝送 ビットレートの限られた伝送路を用い動画像を伝送する場合、 あるいは蓄積容量 の限られた蓄積メディアに動画像を蓄積する場合には、 動画像を符号ィ匕 ·復号化 する技術が必要不可欠である。 動画像の符号ィヒ '復号化方式として、 IS0/IECが標 準化を進めている MP E G (Moving Picture Experts Group)や H. 2 6 Xがある。 これらは動画像を構成する経時的に連続した複数のフレームの符号化又は復号化 を行うものであり、 動画像の時間的相関、 空間的相関を利用した冗長性の削減を 行うことにより動画像の情報量を減らして符号ィヒし、 符号化された動画像を再度 元の動画像に複号化する技術である。
かかる符号ィヒ ·復号ィヒ技術はパーソナルコンピュータやマイクロコンピュータ を内蔵する携帯電話等の情報端末機器等に適用されており、 符号ィヒ ·復号化の手 段を記述したプログラムに基づいてコンピュータのプロセッサ等を動作させるこ とにより、 動画像を送信等する場合は動画像符号化処理システムとして、 動画像 を受信等する場合は動画像複号化処理システムとして機能させている。 しかしな がら、 力かる動画像符号化又は復号ィ匕処理は比較的に演算量が多いため消費電力 が大きくなる傾向にあり、 ハードウェアよりも汎用性の高いソフトウェアを使用 して、 符号ィヒ ·復号ィヒ処理における低消費電力化を図ることが大きな課題となつ ている。
以下に、 ソフトウェアを使用した動画像符号ィ匕又は復号ィヒ処理システムにおけ る従来の低消費電力化の手段を説明する。 従来の低消費電力化の手段としては、 例えば下記の非特許文献 1に開示されている。
(非特許文献 1 ) IEEE International Symposium on Circuits and System 200 1 (May, 2001)の予稿集 pp918- 921 " An LSI for VDD-Hopping and MPEG4 System B ased on the Chip" (H. Kawaguchi, G. Zhang, S. Lee, and Γ. Sakurai)
F i g 1 0は、 非特許文献 1で示された、 動画像 (動画像) 符号化処理システ ムについて従来の低消費電力化を行う手法を示した図である。 なお、 低消費電力 化の手段は、 動画像復号ィ匕処理システムにおいても同様である。
本従来例では、 動的に動作電圧及び動作周波数を変更可能なプロセッサ上で、 動画像符号ィ匕 (特に MPEG) を処理する場合の低消費電力化を行うための動作電圧 及び動作周波数の制御方法を示している。 すなわち本従来例は、 F i g 1 1に示 すように、 動画像符号化を行う場合に、 動画像内の動きの激しさなどによりフレ ーム単位に動画像符号化又は復号化の演算量が異なることに注目し、 プロセッサ の動作周波数及び動作電圧を制御して低消費電力化を図るものである。
符号化処理は、 1フレームの処理時間が符号化方式 (MPEGなど) の規定などに より時間 Tfに制約されており、 その処理時間 Tf内に 1フレームの符号化処理が 完了することが必要とされる。 1フレームの処理時間 Tf (秒) に対して、 それを 一定間隔に N個に分割し、 一つ一つの間隔 (時間) をタイムスロット T slot (T s lot = Tf/N) と定義し、 また、 タイムスロット Tslot 1からタイムスロット Ts lot iが終了した時点の残時間 T R iを T R i = Tf—T slot X iと定義する。 一^ 0 のタイムスロット T slotで処理する動画像のブロック数 (動画像の符号化はプロ ック単位に処理が行われる) を R (すなわち R X Nが 1フレームのブロック数と なる) とし、 (R X i ) ブロック処理にかかった時間 (すなわちタイムスロッ ト Tslotlからタイムスロット Tslot iまでに処理すべきプロック群に対して実際 に処理にかかった時間) を Tacc(i+1)とする。 電圧変更した場合に動作電圧及ぴ 動作周波数が安定するまでの時間を Trdとする。 なお、実タイムスロット RTslo t iはタイムスロット Tslot i内に完了されるべき処理に対して実際に要した処 理時間を示す。 F i g 1 0では、 まずタイムスロット Tslotl及ぴタイムスロッ ト Tslot 2に割り当てられたプロック群の処理に対しては、 負荷が最大の場合で もそのタイムスロット Tslot 1, Tslot 2内に十分に処理が完了可能なクロック 周波数 f maxで動作させる。 その処理にかかった時間 Tacc3が Tacc3く (Tf一 TR2) である場合、 すなわち、 割り当てられたブロック群がタイムスロット Ts lot 1, Tslot 2内で処理が完了した場合、 次のタイムスロッ ト Tslot3に割り当 てられたブロック群の処理に使用可能な処理時間 T tar 3は Ttar 3 = Tf— Tacc 3-TR 3— Trdであり、この処理時間 Ttar 3内に Tslot 3に割り当てられたブ 口ック群の処理が完結すればよいので、 このプロック群に対しては動作周波数を 下げて動作させる。 F i g 1 0の処理時間 Tfl, Tf2, Tf3は、 タイムスロット Tslot 3において負荷が最大の場合に、 各動作周波数 f 1, f 2, f 3で動作さ せたときの処理時間を示す。 動作周波数としては、 F i g 1 0において f 2 = f m ax/ 2の動作周波数を選択すれば、 負荷が最大の場合でもタイムス口ット Tslot 1からタイムスロット Tslot 3までに完了されるべき処理時間が (Tf-TR 3 ) 以内である、 次のタイムスロット Tslot4に処理が入り込むことはなレ、。 一方、 動作周波数 f 3= f max/ 3を選択した場合は、 処理時間 T f 3が処理時間 T tar 3 を超えてしまう。 したがって、 このタイムスロッ ト T slot 3で処理すべきブ口ッ ク群に対しては f 2 = f max/ 2の動作周波数及びその動作周波数に適する動作 電圧で動作させる。 同様にして、 タイムスロット Tslot毎にこの処理を行う。 これにより、 動的に動作クロック周波数及び動作電圧を変更するに際し、 所定 時間内に所定数のブロック群を処理可能な動作周波数のうち最小の動作周波数を 選択することにより、 総合的に動作周波数及び動作電圧を下げて動作させ、 必要 処理に応じて電圧を制御することにより、 低消費電力化が図られている。
ところで、 ある一定の処理時間 (例えば、 ここでは 1フレームの処理時間 Tf) に完了すべき処理 (例えば、 ここでは 1フレームの処理) に対しては、 1フレー ムの処理時間を通してプロセッサを一定の動作電圧及び動作周波数で動作させて 処理することが好ましい。 すなわち、 1フレームの処理時間を Tf (秒) とし、 演 算量 Kf (サイクル) とし、 動作周波数 F f とすると、 動作周波数 F f = Kf/Tf (サイクル/秒) に設定し、 1フレームの処理時間 Tfを通してプロセッサを一定 の動作周波数 F f で動作させることにより、 その処理時間 T f 内で動作周波数 F f を何回も変動させる場合と比較して、 より低消費電力化が可能となる。 この証 明は後述する第 1の実施の形態で行う。
し力 しながら、本従来例では、処理時間 Tfの同期する単位が 1フレームである にもかかわらず、 1フレーム内で最大 N回の動作電圧及び動作周波数の変更が行 われており、 低消費電力が十分に図られていなかった。 すなわち、 本従来例のよ うに多段階に動作電圧及び動作周波数を制御可能なプロセッサでの動画像符号化 又は複号化処理の低消費電力化は、 1フレームの処理中に何回も動作電圧及び動 作周波数を変更する必要があった。 一方、 上述のように、 処理時間の制約の単位 がフレームであるため、 1フレームの処理中は処理を可能にする最低限の一定の 周波数で制御するのが好ましい。 そのため、 1フレームの処理中に最大 N回動作 電圧及び動作周波数が変更される本従来例では十分な低消費電力化ができていな かった。
そこで本発明は、 前記のような課題を解決するためのものであり、 前記従来技 術と比較して大幅に低消費電力化を図ることができる動画像符号化又は復号化処 理システム及び動画像符号化又は復号化処理プログラムを提案することにある。 発明の開示
すなわち、 本発明の動画像符号化又は複号化処理システムは、 複数のフレ から構成される動画像をフレーム単位で符号化又は複号化するプロセッサを備え、 一のフレームの符号化又は復号ィヒに必要な必要演算量 K pを計算し、 当該一のフ レームの符号ィヒ又は復号化処理に予め割り当てられている時間 T e内に当該必要 演算量 K pを符号化又は復号化処理可能な動作周波数 Fを決定し、 当該動作周波 数 F、 及び、 当該動作周波数 Fに適する動作電圧 Vで当該プロセッサを動作させ ながら当該一のフレームの符号化又は復号化処理を行い、 さらに、 必要演算量 K pが実際に必要な演算量よりも小さい場合に起きる破綻現象を回避する破綻回避 手段を一つ以上備えることを特徴とする。 また、 本発明の動画像符号化又は復号 化処理方法は、 複数のフレームから構成される動画像をフレーム単位で符号ィ匕又 は復号化するプロセッサを使用して、 一のフレームの符号化に必要な必要演算量 K pを計算し、 当該一のフレームの符号化又は復号化処理に予め割り当てられて いる時間 T e内に当該必要演算量 K pを符号化又は復号化処理可能な動作周波数 Fを決定し、 当該動作周波数 F、 及ぴ、 当該動作周波数 Fに適する動作電圧 Vで 当該プロセッサを動作させながら当該一のフレームの符号化又は復号化処理を行 レ、、 さらに、 必要演算量 K pが実際に必要な演算量よりも小さい場合に起きる破 綻現象を回避する破綻回避ステップを一つ以上備えることを特徴とする。
符号化 ·復号化方式 (MPEG等) の規定においては、 現フレームに対して予め処 理時間が割り当てられている。 本発明によれば、 一のフレームの符号化又は復号 化に必要な必要演算量 K pが計算され、 当該一のフレームの符号化処理又は復号 化処理に予め割り当てられている時間 T e内に前記必要演算量 K pを符号化処理 又は復号化処理可能な動作周波数 Fが決定され、 当該動作周波数 F及ぴそれに適 する動作電圧 Vでプロセッサを一定に動作させながら符号ィヒ又は復号ィヒ処理が行 われる。 したがって、 フレームごとに符号化又は復号化に必要な最低限の動作電 圧及び動作周波数でプロセッサを一定に動作させながら、 符号化又は復号化処理 が行われることとなり、 フレームを分割して成る所定数のプロックごとに動作周 波数及び動作電圧が決定されることで一のフレームの符号ィヒ ·複号化処理中に何 度も動作電圧及び動作周波数が変更される従来技術と比較して、 低消費電力化を 図ることができる。 さらに、 必要演算量 K pが実際に必要な演算量よりも小さい 値である場合には、 予め定められた時間内に現フレームの符号化又は複号化処理 が完了せず、 画像が劣悪になる破綻現象が起こるが、 本発明は破綻現象を回避す る一つ以上の破綻回避手段を備えるため破綻現象の発生が回避される。
本発明の動画像符号化又は復号化処理システムノ方法は、 連続する複数のフレ ームのうち前記一のフレームより前に符号化処理されるフレームを前フレームと すると、 動画像符号ィ匕処理を行う場合において、 前記一のフレームと前フレーム との動き量、 前記一のフレームのアクティビティの量、 前フレームのァクテイビ ティの量、 前フレームの量子化ステップサイズの平均値、 前フレームの量子化ス テップサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値 の差、 前フレームのマクロブロックマッチング回数、 前フレームの有効ブロック 数、 前フレームの有効係数の数、 前フレームの符号ィヒに実際に要した演算量、 前 フレームの発生ビット数、 前記一のフレームの符号ィ匕ビットレート、 前記一のフ レームについてフレーム内符号化又はフレーム間符号化のいずれであるかの種類 前フレームの必要演算量のうち、 一つ以上の要素を使用して必要演算量 Κ ρを計 算することを特徴とする。
本発明の動画像符号ィヒ又は復号ィヒ処理システム/方法は、 連続する複数のフレ ームのうち前記一のフレームより前に復号化処理されるフレームを前フレームと すると、 動画像復号化処理を行う場合において、 前記一のフレームの符号化デー タのビット数、 前記一のフレームがフレーム内符号ィヒされたものであるか又はフ レーム間符号ィヒされたものであるかの種類、 前記一のフレーム若しくは前フレー ムの動きべクトルの大きさの平均値、 前記一のフレーム若しくは前フレームの動 きべクトルの大きさの分散、 前記一のフレーム若しくは前フレームの有効ブロッ ク数、 前記一のフレーム若しくは前フレームの有効係数の数、 前記一のフレーム 若しくは前フレームのビットレート、 前記一のフレーム若しくは前フレームの符 号量、 前記一のフレーム若しくは前フレームの量子化ステップサイズの平均値、 量子化ステップサイズの平均値の差 (前記一のフレームと 1つ前のフレームの量 子化ステップサイズの差, もしくは 1つ前のフレームの量子化ステップサイズと 2つ前のフレームの量子化ステップサイズの差)、前フレームの復号化に実際に要 した演算量、 前フレームの必要演算量のうち、 一つ以上の要素を使用して必要演 算量 K pを計算することを特徴とする。
前記複数の要素はそれぞれ符号化又は複号化処理の演算量に影響を与える要素 である。 本発明によれば、 前記要素のうち一つ以上が使用されて必要演算量 K p が計算されるため、 算出された必要演算量 K pが現実に符号ィヒ又は復号化処理を 行ったときの演算量により近い値となる。 したがって、 必要演算量 K pが現実の 演算量よりも小さくて符号化又は復号化処理が時間内に完了しないという破綻現 象の発生率を低くすることができる。 また、 算出された必要演算量 K pが現実の 演算量よりも大き過ぎて低消費電力化が阻害される可能性が少なくなる。
本発明の動画像符号化又は復号化処理システム/方法は、 前記破綻回避手段 Z ステップとして、 必要演算量 K pを増加させる第 1の破綻回避手段 Zステップを 備えることを特徴とする。
本発明によれば、 破綻回避手段が必要演算量を所定値だけ増加させるため、 算 出された必要演算量 K pが現実の演算量を満たす可能性が高くなり、 破綻現象を 回避することができる。
前記第 1の破綻回避手段/ステップは、 必要演算量 K pを m倍 (mは 1以上の 実数) 又は必要演算量 K pに 0より大きい実数 nを加算することを特徴とする。 本発明によれば、 第 1の破綻回避手段/ステップによって、 必要演算量 K pを m倍又は必要演算量 K pに nを加算するため、 mや nの値を調節することで、 算 出された必要演算量 K pを、 現実の演算量よりも大きく且つ現実の演算量に近似 した値とすることができ、 破綻現象を回避することができる。
本発明の動画像符号化又は復号化処理システム/方法は、 前記破綻回避手段/ ステップとして、 前記一のフレームの符号化又は復号ィ匕処理に予め割り当てられ ている時間内に当該一のフレームの符号化処理が終了しない場合には破綻現象を 回避する処理を行う破綻現象を回避する処理を行う第 2の破綻回避手段 Zステッ プを少なくとも一つ備えることを特徴とする。
上記第 1の破綻回避手段 Zステップにおいては、 破綻現象の発生の有無に関わ らず、 必要演算量 K pを増加させることにより破綻現象を回避する処理が行われ る。 本発明によれば、 第 2の破綻回避手段/ステップにより、 前記一のフレーム の符号ィ匕又は復号ィ匕処理に予め割り当てられている時間内に当該一のフレームの 符号化処理が終了しない場合には破綻現象を回避する処理が行われるため、 破綻 現象が起こる場合にのみ破綻現象を回避する処理が行われ、 効率的に破綻現象を 回避することができる。
前記第 2の破綻回避手段 Zステツプは、 所定のタイミングで符号化処理に割り 込みを行い、 符号化がなされていないマクロブロックがある場合は、 当該マクロ ブロックに対して無効ブロック化処理を行うことを特徴とする。 なお、 復号化処 理においては、 無効ブロック化処理を行わない。
たとえば、 一のフレームの符号化処理に予め割り当てられた時間 T eのうち、 総てのマクロブロックを無効ブロック化する処理時間を残した所定のタイミング において、 符号化されていないマクロブロックがある場合は、 前記算出された必 要演算量 K pが実際に必要な演算量よりも小さいために破綻現象が生じる可能性 が高い。 本発明によれば、 第 2の破淀回避手段/ステップにより、 例えば上記タ イミングで動画像符号ィ匕又は復号ィ匕処理に割り込みを行い、 符号ィヒがなされてい ないマクロブロックがある場合は、 時間 T e内に当該一のフレームの符号化処理 が完了せずに破綻現象が発生すると判断し、 当該マクロプロックに対して無効ブ 口ック化処理を行うため、 破綻現象を回避することができる。
前記第 2の破綻回避手段/ステップは、 所定のタイミングで符号ィ匕又は復号ィ匕 処理に割り込みを行い、 その割り込み時点において、 必要演算量 K pの残量が、 符号ィヒ又は復号ィヒ処理に実際に必要な演算量の残量よりも小さい場合は、 プロセ ッサの動作周波数及び動作電圧を上げる演算残量判断手段を少なくとも備えるこ とを特敷とする。
符号ィヒ又は復号ィヒ処理の途中において、 算出された必要演算量 Κ ρの残量が、 符号ィ匕又は復号ィヒ処理において実際に必要な演算量の残量よりも小さい場合は、 前記算出された必要演算量 Κ ρが符号化又は復号化処理に実際に必要な演算量よ りも小さいために破綻現象が生じる可能性が高い。 そこで、 第 2の破綻回避手段 ステップにより、 所定のタイミングで動画像符号化又は複号化処理に割り込み を行い、 上記残量を比較する。 そして、 実際に必要な演算量の残量と比較して必 要演算量 Κ ρの残量が小である場合は、 時間 T e内に符号ィヒ又は復号ィヒ処理が完 了せずに破綻現象が生じると判断し、 プロセッサの動作周波数及び動作電圧を上 げる。 これにより、 プロセッサの計算速度が高くなるため処理可能な処理量が増 加し、 破綻現象を回避可能となる。 割り込みの回数を複数回とすると、 処理状態 に合わせて動作周波数及び動作電圧を段階的に上げることができ、 破綻現象を回 避できる可能性がさらに高められる。
前記プロセッサは、 動作可能な可能動作周波数が r段階 ( rは 2以上の整数) に用意されており、前記時間 T e内に必要演算量 Kpを処理するに必要な動作周波 数 F eを F e = K p ZT eで計算し、 前記プロセッサが動作可能な可能動作周波 数から前記必要な動作周波数 F e以上であり且つその動作周波数 F eに最も近い 動作周波数 Fを決定することを特徴とする。
本発明によれば、時間 T eで必要演算量 Kpを処理するに必要な動作周波数 F e が F e =K p /T eで計算された後に、 前記プロセッサが動作可能な可能動作周 波数から前記必要な動作周波数 F e以上であり且つその動作周波数 F eに最も近 い動作周波数 Fを決定するとともに、 決定された動作周波数 Fに適する動作電圧 Vが決定され、 プロセッサがその動作周波数 F及び動作電圧 Vで動作しながら符 号化又は複号化を行う。 すなわち、 プロセッサが動作可能な可能動作周波数及び 動作電圧のうち、時間 T e内に必要演算量 Kpを処理可能な最小の動作周波数 F及 び動作電圧 Vにより、 プロセッサを動作させながら、 そのプロセッサ上で上記一 のフレームの符号化又は復号ィヒ処理が行われるため、 可能動作周波数が段階的に 用意されたプロセッサが使用されても、 低消費電力化が効率的に行われる。 図面の簡単な説明
F i g 1は、 本発明の第 1の実施の形態の動画像符号ィヒ処理システムの動作を 示した概略ブロック図である。 F i g 2は、 上記実施の形態の動画像符号化処理 システムの実装例を示す図である。 F i g 3は、 上記実施の形態の動画像符号化 処理システムとしてコンピュータを機能させる動画像符号ィヒ処理プログラムと、 それにより実現される動画像符号化処理方法の概略フローチャートを示す図であ る。 F i g 4は、 上記実施の形態の動画像符号ィ匕処理システムにおける符号化処 理時間と演算残量の関係を示す図である。 F i g 5は、 上記実施の形態の動画像 符号化処理システムに使用されるプロセッサの動作電圧 ·動作周波数を示す概念 図である。 F i g 6は、 本発明の有効性を説明する図である。 F i g 7は、 本発 明の第 2の実施の形態の動画像符号化処理システムの動作を示した概略プロック 図である。 F i g 8は、 上記実施の形態の動画像符号化処理システムとしてコン ピュータを機能させる動画像符号化処理プログラムの概略フローチャートを示す 図である。 F i g 9は、 本発明の第 3の実施の形態の動画像復号化処理システム の動作を示した概略ブロック図である。 F i g 1 0は、 動画像符号化処理システ ムについて従来の低消費電力化を行う手法を示した図である。 F i g 1 1は、 フ レーム単位に動画像符号ィヒ又は復号化の演算量が異なる状態を示す概念図である c 発明を実施するための最良の形態
以下、 本発明の動画像符号化又は復号化処理システム及び処理方法について符 号化処理と複号化処理に分けて詳述する。 (第 1の実施の形態)
本発明の第 1の実施の形態の動画像符号化処理システムは、 例えばマイクロコ ンピュータが内蔵された携帯電話やパーソナルコンピュータ等の情報端末機器で あるコンピュータにより実現され、 特に、 そのコンピュータ内においてマルチメ ディァ信号処理部などの一部として機能するシステムであり、 連続する所定数の フレームから構成される動画像をフレーム単位で順次符号化を行うシステムであ る。
F i g 1は、 本実施の形態の動画像符号化処理システム S 1の動作を示した概 略ブロック図である。 動画像符号化処理システム S 1は、 動作電圧及ぴ動作周波 数が r段階 (rは 2以上の整数) に用意され (すなわち、 r段階の動作電圧及び 動作周波数で動作可能であり) 且つプロダラムにより動作電圧及び動作周波数を 変更可能なプロセッサ 1と、 D C— D Cコンバータゃ P L Lなどを備えて前記プ 口セッサ 1の動作電源電圧及び動作周波数を制御する動作電圧 ·動作周波数制御 手段 4と、 所定のデータを記憶する記憶領域である局部復号フレームメモリ 6と 入力フレームメモリ 7と要素メモリ 8と処理済みマクロブロック数レジスタ 1 0 とを少なくとも備えるコンピュータ (特にコンピュータ内のマルチメディア信号 処理部) である。 ただし、 局部復号メモリ 6および入力フレームメモリ 7等につ いても動作電圧 ·動作周波数制御手段 4により、プロセッサ 1と同様に動作電圧 · 動作周波数が制御されてもよレ、。 本実施の形態では、 点線で示される制御領域 C Aに含まれる要素 (プロセッサ 1、 局部復号フレームメモリ 6、 要素メモリ 8、 処理済みマクロブロック数レジスタ 1 0、 入力フレームメモリ 7 a , 7 b、 等) について、 動作周波数と動作電圧が制御されるようになっている。
プロセッサ 1は、 プロセッサ 1上で動作する手段として、 必要演算量計算手段 2と、 動作電圧 '動作周波数計算手段 3と、 動画像符号化手段 5と、 二つの破綻 回避手段 9、 1 1を備える。 二つの破綻回避手段 9, 1 1は、 必要演算量計算手 段 2で算出された必要演算量が、 符号化手段 5による符号化処理に実際に必要な 演算量よりも小さい値を算出した場合に起きる破綻現象を回避するための手段で あり、 必要演算量計算手段 2の一部として機能する第 1の破綻回避手段 1 1と第 2の破綻回避手段としての処理完了判断手段 9である。 なお、 符号 1 0 1は入力 画像データ、 符号 1 0 2は動作電圧及ぴ動作周波数指示、 符号 1 0 3は前フレー ムの局部復号データ、 符号 1 0 5は動作電圧 ·動作周波数供給、 符号 1 0 6はフ レームの符号化データ、 符号 1 0 7は前フレームの量子化ステップサイズの平均 値の情報、 符号 1 0 8は各フレームについてフレーム内符号化であるかフレーム 間符号ィヒであるかの種類、 符号 1 0 9は動画像の符号ィ匕ビットレートの情報、 符 号 1 1 0は前フレームのァクテイビティ量、 符号 1 1 1は前フレームのマクロブ 口ックマッチング回数、 符号 1 1 2は前フレームの有効ブロック数、 符号 1 1 3 は前フレームの有効係数の数、 符号 1 1 4は前フレームの量子化ステップサイズ の平均値とその一つ前のフレームの量子化ステップサイズの平均値の差、 符号 1 1 5は前フレームの符合ィヒに実際に要した処理量、 符号 1 1 6は必要演算量計算 手段 2により算出された前フレームの必要演算量、 符号 1 1 7は符号化処理が完 了したマクロブロックの数である処理マクロブロック数である。要素メモリ 8は、 後述する必要演算量計算手段 2において使用される複数の要素のうち一部の要素 (フレーム内符号ィ匕であるかフレーム間符号ィ匕であるかの種類 1 0 8や、 符号ィヒ ビッ トレート 1 0 9や、 フレームのァクティビティの量 1 1 0や、 必要演算量計 算手段 2により算出された必要演算量 1 1 6 ) が記憶される記憶領域である。 処 理済マクロブロック数レジスタ 1 0は、 符号化処理済みのマクロブロック数 1 1 7の情報を一時的に蓄積するレジスタである。 動画像符号化手段 5には符号ィ匕方 式として MP E G— 4が使用されるが、 H. 2 6 Xや M P E G— 1、 MP E G— 2などの他の符号化方式が使用されていても良レ、。
F i g 2に動画像符号化処理システム S 1の実装例を示す。 システム S 1は、 主にプロセッサ 1と、 周辺装置として各種メモリ MR, 7 a , 7 bや各種インタ フェース C I , D I, B Iと、 動作電圧 ·動作周波数制御回路 4 a等を備えたハ 一ドウエアにより実現される。 上記各構成要素は、 パス B l, B 2等を介して互 いに通信可能となっている。
プロセッサ 1は、 プロセッサコア 1 aと、 命令キャッシュメモリ 1 bと、 デー タキャッシュメモリ 1 cとを備える。 必要演算量計算手段 2, 動作電圧 ·動作周 波数決定手段 3, 動画像符号化手段 5 , 破綻回避手段 9, 1 1は、 メモリ MRに 格納されたプログラムが必要に応じてプロセッサコア 1 a上で実行されることに より実現される。 命令キャッシュメモリ 1 bおよびデータキャッシュメモリ 1 c は、 プロセッサコア 1 a上で実行されるプログラムの処理の高速化を図るために 設けられたキャッシュメモリである。
局部復号フレームメモリ 6 , 要素メモリ 8 , 処理済みマクロブロック数レジス タ 1 0は、 F i g 2のメモリ MRに集約されるとともに、 前フレームの量子化ス テップサイズの平均値 1 0 7 , 各フレームについてフレーム内符号化であるかフ レーム間符号化であるかの種類 1 0 8, 動画像符号化のビットレート 1 0 9, 前 フレーム (過去のフレーム) のアクティビティの量 1 1 0 , 前フレームのマク口 ブロックマッチング回数 1 1 1, 前フレームの有効ブロック数 1 1 2 , 前フレー ムの有効係数の数 1 1 3 , 前フレームの量子化ステップサイズの平均値とその一 つ前のフレームの量子化ステップサイズの平均値の差 1 1 4 , 前フレームの符号 化に実際に要した処理量 1 1 5, 必要演算量計算手段により算出された前フレー ムの必要演算量 1 1 6, 処理済みマクロブロック数 1 1 7はメモリ 1 f にデータ として格納される。 局部復号データ 1 0 3は、 バスコントローラ B Cを介してメ モリ MRとプロセッサコア 1 a間で信号 1 0 0 j , 1 0 0 k , 1 0 0 1として送 受信される。
二つの入力フレームメモリ 7 a, 7 bは、 F i g 1のフレームメモリ 7に相当 する。 カメラインタフェース C Iから入力されたビデオデータ (入力画像データ 1 0 1 ) は、 バス B 2を介して入力フレームメモリ 7 a (又は入力フレームメモ リ 7 b ) に入力される。 入力フレームメモリ ( # 0 ) 7 aと入力フレームメモリ (# 1) 7 bは 1フレームの処理が終わるごとに用途が入れ替わる。 すなわち、 i番目のフレームの処理で、 信号 1 0 0 hにより入力フレームメモリ (# 1) 7 bに入力画像データが書き込まれ、 動画像符号化処理手段による符号化処理のた めに信号 1 00 oにより入力フレームメモリ (# 0) 7 aから入力画像データが 読み出されたとき、 ( i + 1)番目のフレームの処理では、信号 1 0 0 iにより入 カフレームメモリ (# 0) 7 aに入力画像データが書き込まれ、 動画像符号化処 理手段による符号ィ匕処理のために、 信号 1 0 0 pにより入力フレームメモリ (# 1) 7 bから入力画像データが読み出される。 したがって、 信号 1 0 0 hにより 入力フレームメモリ (# 1) 7 bに入力画像データが書き込まれているときは信 号 1 0 O pが発生せず、 逆に信号 1 0 0 pにより画像が読み出されているときは 信号 1 0 0 hが発生しない。同様に、信号 1 00 iにより入力フレームメモリ (# 0) 7 aに入力画像データが書き込まれているときは信号 1 0 0 oが発生せず、 信号 1 00 oにより入力フレームメモリ (# 0) 7 aから入力画像データが読み 出されているときは信号 1 0 0 iが発生しない。 このとき、 i番目のフレームの 処理においては入力フレームメモリ (# 0) 7 a力 ( i + 1) 番目のフレームの 処理においては入力フレームメモリ (# 1) 7 bが動作周波数, 動作電圧の制御 対象となる。 上記説明のように、 入力フレームメモリを 2フレーム分用意し、 そ れぞれの動作周波数を独立に設定できるようにすることで、 常に一定の動作周波 数であるカメラインタフエース C Iからの入力画像データの書き込み動作と、 必 要演算量の算出値に基づいて動作周波数が変動する入力画像データの読み出し動 作を、 互いに妨げることなく実行することができる。
動作電圧 ·動作周波数制御回路 4 aは、 P L L 4 b, DC— DCコンバータ 4 cと互いに信号を送受信可能となっており、 これらは動作電圧 ·動作周波数制御 手段 4として機能している。 動作電圧 '動作周波数制御回路 4 aは、 プロセッサ コア 1 aからの信号 1 0 0 eにより動作電圧 ·動作周波数指示 1 0 2を受け、 そ の指示 1 0 2に基づいて P L L 4 bに対して信号 1 00 uを発信し、 DC— DC コンバータ 4 cに対して信号 100 Vを発信する。 P L L 4 bは信号 100 uに 基づいて動作周波数信号 100 aを発信し、 D C— D Cコンバータ 4 cは信号 1 00 Vに基づいて動作電圧 100 bを供給する。 これにより、 F i g 2において 点線で示される制御領域 CAに含まれる要素 (プロセッサ 1、 メモリ MR、 入力 フレームメモリ 7 a, 7 b、 バスコントローラ BC等) について、 動作周波数と 動作電圧が制御される。 信号 100 e, 100 j , 100 k, 100 1 , 100 m, 100 ο, Ι Ο Ο ρ, 100 q, l O O r, 100 sは、 PLL4 bが出力 する動作周波数信号 100 a, DC— DCコンバータ 4 cが出力する電源電圧供 給 100 bの値に応じて周波数と信号レベルが変ィヒする。
プロセッサ 1上で動作する動画像符号化手段 5による符号化後の符号化データ 106は、 バス B 1を介してビットストリームインタフェース B Iに信号 100 mとして送信されて信号 100 nとして出力されるとともに、 局部復号フレーム メモリ 6として機能するメモリ MRに送信される。 また、 画像のデータなどは、 バス B 1を介してメモリから信号 100 qとして読み出され、 ディスプレイイン タフエース D Iに送信される。 ディスプレイインタフェース D Iに受信された信 号 100 qは、 信号 100 tによるビデオデータとして出力される。 ビデオデー タは、 ディスプレイインタフェース D Iと接続されるモニタを介して、 動画像と して出力 ·表示される。
動作電圧 ·動作周波数制御回路 4 a, ディスプレイインタフェース D I, ビッ トストリームインタフェース B Iは常に一定の動作電圧で動作するが、 これらの 間で送受信される信号 100 e, 100 q, 100 mは制御領域 C Aに含まれる 要素 (プロセッサ 1やメモリ MRや入力フレームメモリ 7 a, 7 b等) の動作電 圧の変更に応じて信号レベルが変動する。この影響を吸収するために、動作電圧 · 動作周波数制御回路 4 a, ディスプレイインタフェース D I, ビットストリーム インタフェース B Iは、 受信した信号 100 e, 100 q, 100mの信号レべ ルを補正するレベルコンバータを備えることが望ましい。 次に、 F i g 1に従って本実施の形態の動画像符号化処理システム S 1の動作 を説明する。 動画像符号化処理システム S 1は、 動画像符号化処理プログラム P r g 1によりコンピュータ (特にコンピュータ内のマルチメディア信号処理部) を下記の所定の手段として機能させることにより実現される。 以下、 順次符号化 されるフレームのうちこれから符号化される任意の一のフレームを現フレーム (すなわち、 あるフレームが符号ィ匕された時点を基準とすると次に符号ィ匕される フレームであり、 換言すると、 その時点において未だに符号ィ匕処理されておらず 未来に符号ィヒ処理が行われる予定であるフレーム) 、 現フレームより前に符号ィ匕 された一のフレーム (過去に符号化されたフレーム) を前フレームとし、 現フレ ームを符号ィヒする処理について説明するが、 いずれのフレームについても同様の 処理が行われる。
F i g 3はその動画像符号化処理プログラム P r g 1の概略フローチャートを 示す図である。 動画像符号化処理プログラム P r g 1は、 後述するステツプ 1か らステップ 5においてコンピュータを下記の各手段として機能させる。 (ステツ プ 1 ) 現フレームの画像情報を入力フレームメモリ 7に入力する。 (ステップ 2 ) 現フレームの必要演算量 KPを計算させる必要演算量計算手段 2として機能させ る。 (ステップ 3 ) 算出された必要演算量 Κρに応じてプロセッサの動作周波数 F 及び動作電圧 Vを計算させる動作電圧 ·動作周波数計算手段 3として機能させる。
(ステップ 4 ) 算出された動作周波数 F及び動作電圧 Vでプロセッサ 1を動作さ せる制御を行わせる動作電圧 ·動作周波数制御手段 4として機能させる。 (ステ ップ 5 ) 現フレームの画像情報を符号化させる動画像符号化手段 5として機能さ せる。 以上、 ステップ 1からステップ 5の処理を入力フレームメモリ 7に入力さ れるフレームの順番 (すなわち、 符号化される順番) に、 すべてのフレームに対 して行うことで、 動画像の符号化を行う。 以下、 詳細に説明する。
(ステップ 1 ) 入力された入力画像データは、 フレームの同期をとるため、 フ レームを一時的に記憶する記憶領域である入力フレームメモリ 7に一旦格納され る。
(ステップ 2 ) 必要演算量計算手段 2は、 入力フレームメモリ 7にアクセスし て現フレームの入力画像データ 1 0 1を取得し、 現フレームの符号化処理に必要 な必要演算量 Kpを計算する。 必要演算量 Κρの計算方法は様々な方法が考えられ るが、 たとえば、 現フレームの符号化処理の演算量に影響を与える要素を一つ以 上使用して計算することが望ましい。 要素としては、 例えば、 動画像符号化処理 において、 処理内容が動き補償である場合は、 動きの激しい映像では演算量が多 く、 一方、 動きの少ない映像では演算量が少ないことに注目して、 現フレームと 前フレームとの動き量として差分絶対値和で計算される歪み値や、 また、 各々の フレームのアクティビティ量として隣接画素差分絶対値和で計算される値や、 マ クロブロックマッチング回数や、 有効ブロック数や、 有効係数の数や、 符号化ビ ットレートや、 発生ビッ ト数や、 前フレームの符号化に実際に要した演算量や、 必要演算量計算手段 2により算出された前フレームの必要演算量が挙げられる。 ここで、 各要素それぞれについて、 一つの要素の値のみ変化し、 他の要素の値が 変化しなレ、と仮定したときに、 その一つの要素の値が大きい場合は小さい場合に 比較して必要演算量が相対的に大きくなるようにし、 その一つの要素の値が小さ い場合は大きい場合と比較して必要演算量が相対的に小さくなるようにする。 ま た、 現フレームがフレーム内符号化である場合はフレーム間符号化である場合と 比較して必要演算量 Kpが相対的に小さく、 フレーム間符号化である場合はフレー ム內フレームである場合と比較して必要演算量 Kpが相対的に大きくなるように する。 すなわち、 これらの複数の要素は現フレームの符号ィヒ処理のために必要な 必要演算量に影響を与える要素であるため、 必要演算量計算手段 2が、 これらの 要素に応じて必要演算量 Kp (サイクル)を増減するように計算を行うことにより、 必要演算量計算手段 2により計算される必要演算量 Kpが現実に符号化処理を行 つたときの演算量により近い値となる。
たとえば、 本実施の形態では、 関数 Gを使用して計算し、 入力フレームメモリ 7に記憶されている現フレームの入力画像データ 1 0 1と、 局部復号フレームメ モリ 6に蓄積されている復号ィ匕された前フレームの局部復号データ 1 0 3とを比 較して、 入力画像の動きの大きさの予測 (計算) を行う。 この前フレームの局部 復号データ 1 0 3は、 現フレームよりも前に符号化が行われる前フレームの符号 化処理において、 前フレームを符号化して形成した前フレームの符号化データ 1 0 6を、 ローカルデコーダで復号化することにより形成され、 局部復号フレーム メモリ 6に記憶されている。 動きの大きさの予測 (計算) の一例として、 例えば 差分絶対値和を用いる。 以下に、差分絶対値和∑と必要演算量 Kpの求め方を説明 する。 なお、 前フレームの画像データとしては、 符号化後にローカルデコーダに より復号ィ匕された局部復号データ 1 0 6を使用しても良いが、 入力された前フレ ームの入力画像データをそのまま使用しても良い。
入力フレームメモリ 7に蓄積された現フレームの入力画像データ 1 0 1を X (i: j) (iは画像の水平方向の座標、 jは垂直方向の座標) 、 後述する局部復号フレー ムメモリ 6に蓄積された前フレームの局部復号データ 1 0 3を Y (i, j) (iは画像 の水平方向の座標、 jは垂直方向の座標) とすると、 現フレームと前フレームとの 動き量は、 差分絶対値和 z =∑ I x (i, j) - Y (i, j) Iをすベての (またはサンプ ルした) 画素に対して計算する。 この差分絶対値和の値を zとする。 一方、 フレ ームのァクティビティ量においては、 X (i, j)において隣接画素差分絶対値和 w、 つまり、水平方向 Wh =∑ I X (i, j)一 X (i— 1, j) I、垂直方向 Wv =∑ I X (i, j) — X (i, j - 1) Iを計算することにより求められ、 全ての (又はサンプルした) 入力 画像に対して計算する。 この隣接画素差分絶対値和の値 (すなわち各フレームの アクティビティ量) を Wとする。
差分絶対値和を Z、 現フレームのアクティビティ量を W a、 前フレーム (過去 のフレーム) のアクティビティ量を W b、 前フレームの平均量子化ステップサイ ズ (量子化ステップサイズの平均 ί直) を Qprev、 前フレームのマクロブロックマ ツチング回数を M、 前フレームの有効ブロック数を B、 前フレームの有効係数の 数を c、 前フレームの符号ィヒに実際に要した処理量を s、 現フレームの符号化ビ ットレートを BR、 前フレームの量子化ステップサイズの平均値とその一つ前の フレームの量子化ステップサイズの平均値の差を Δ Qprev、 前フレームの実際の 発生ビット数を D、 算出された前フレームの必要演算量を Kp' とおくと、 これ らの要素のうち一つ以上の要素を使用して、 必要演算量 Kpは、
Kp=G (Z, Wa, Wb, Qprev, M, B, C, S, BR, Δ Qprev, D, Kp' ) … (数式 1)
で計算される。 ただし、 Gは Z, Wa , Wb, Qprev, M, B, C, S, BR, 厶 Qprev, D, Kp' のうち、一以上の要素から導き出される関数である。 その一 例としては、
Kp = j + αΜ+ ]3 Β + θ+ δ Ζ+ ε AQprev - . · (数式 2) が挙げられるが、 これに限られるわけではない。 また、 必要演算量 Kpの計算に使 用される要素として、 現フレームがフレーム内符号化であるかフレーム間符号化 であるかの種類 Iが使用される。 現フレームがフレーム内符号ィヒである場合の必 要演算量 Kpは小さい値と、 フレーム間符号化である場合の必要演算量 Kpは大き い値となる。 すなわち、 必要演算量計算手段 2は、 差分絶対値和 Zを使用すると きは差分絶対値和 Z =∑ I Xij-Yij Iを計算した後に、必要演算量 Kp=G (Z, Wa , Wb, Qprev, M, B, C, S, BR, Δ Qprev, D, Kp ' ) を計算する。 以下、 上記関数 Gについて説明する。 前フレームと現フレームの間で画像の変 化が大きい (小さレ、) 場合、 すなわち差分絶対値和 Zが大きい (小さレ、) 場合、 現フレームで実行されるマクロブ πックマッチングの回数は大きく (小さく) な り、 現フレームの動き検出処理に必要な演算量 (実行されるマクロブロックマツ チング回数に依存する) が大きく (小さく) なる。 また、 現フレームのァクティ ビティ量 Waが大きい (小さい)場合、現フレームは画像の高周波成分を多く (少 なく) 含むことを意味し、 この場合、 現フレームの符号化処理で発生する有効プ ロックの数、 有効係数の数は大きく (小さく) なり、 現フレームの I D C T処理 に必要な演算量 (発生する有効ブロックの数に依存する) 、 I Q処理に必要な演 算量 (発生する有効係数の数に依存する) 、 VLC処理に必要な演算量 (発生す る有効係数の数に依存する) は大きく (小さく) なる。 したがって、 上記関数 G は Z, Waなどのパラメータが大きい (小さレ、) 場合、 Hpを大きく (小さく) 設定するように構成する。
動画像は連続するフレーム間での相関が大きいため、 符号化処理で実行される マクロプロックマツチング回数、 符号化処理で発生する有効プロック数、 有効係 数の数、 符号化処理で必要となる演算量、 アクティビティ量は、 時間的に連続す るフレーム間で非常に近い値となる。 したがって、 M, B, C, S, Wbが大き い (小さい) 場合、 現フレームにおいてもマクロブロックマッチング回数、 有効 ブロック数、 有効係数の数、 符号化処理に必要となる演算量、 アクティビティ量 が大きく (小さく) なる確率が高い。 さらに、 必要演算量計算手段で算出される 予測演算量が実際の符号ィヒ処理に要した演算量に近い値となる場合、 S Hp ' となる。 したがって、 上記関数 Gは M, B, C, S, Wb, Hp' などのパラメ ータが大きい (小さい) 場合、 Hpを大きく (小さく) 設定するように構成する。 ターゲットビットレートが大きい (小さい) 場合、 量子化ステップサイズの値 は小さく (大きく) 設定され、 その結果、 符号化処理で発生する有効ブロックの 数、 有効係数の数は大きく (小さく) なる。 また、 前フレームの発生ビット数が ターゲットビッ トレートと比較して大きい (小さレ、) 場合、 現フレームの量子化 ステップサイズの値は小さく (大きく) 設定され、 符号化処理で発生する有効ブ ロックの数, 有効係数の数は小さく (大きく) なる。 したがって、 上記関数 Gは 現フレームの符号ィ匕ビットレート BRが大きい (小さい)場合、 Hpを大きく (小 さく) 設定するように、 前フレームの実際の発生ビット数 Dが BRと比較して大 きい (小さレヽ) 場合、 Hpを小さく (大きく) 設定するように構成する。 さらに、 前フレームの平均量子化ステップサイズ Qp r e vや前フレームの量子化ステツ プサイズの平均値とその一つ前のフレームの量子化ステップサイズの平均値の差 AQp r e vを考慮することで、 上記関数 Gが算出する H pが実際に現フレーム を符号化するために必要となる演算量に近い値とすることができる。
(第 1の破綻回避ステツプ) また、 さらに破綻現象を生じにくくするため、 必 要演算量計算手段 2に含まれる第 1の破綻回避手段 11が必要演算量 K pを所定 値だけ増加させ、 算出された必要演算量 Kpに余裕を持たせる処理を行う。 具体 的には、 必要演算量 Kpを m倍 (mは 1以上の実数) する。 たとえば m=l.1 と すると、 算出した必要演算量 Kpに対し、 10%の余裕を持たせることができる。 また、 必要演算量 Kpに実数 11 (nは 0以上の実数) を加算しても良く、 算出さ れた必要演算量の値に関わらず一定の値で余裕を持たせることができる。 上述の 例を用いると、 最終的に算出される必要演算量 Kpは、
Kp=G (Z) Xm · · · (数式 3)
Kp=G (Z) +n ' · · (数式 4)
により求められる。 2式を組み合わせて、
Kp=G (Z) Xm+n · · · (数式 5)
としてもよい。 それでも算出された必要演算量 Kpが現実の現フレームの必要 演算量 Kmより小さければ、 後述する第 2の破綻回避手段である処理完了判断手 段 9において処理を行うことにより破綻現象を回避する。
なお、 動画像の符号化ビットレート 109や、 現フレーム及び前フレームにつ いてフレーム内符号ィヒであるかフレーム間符号ィ匕であるかの種類 108や、 前フ レームのアクティビティの量 1 10や、 必要演算量計算手段により算出された前 フレームの必要演算量 116は要素が記憶される記憶領域である要素メモリ 8に 予め記憶されており、必要演算量 Kpの計算時に必要演算量計算手段 2に読み込ま れて使用される。 前フレームの量子化ステップサイズの平均値 107、 前フレー ムのマクロブロックマッチング回数 1 11、前フレームの有効ブロック数 1 12、 前フレームの有効係数の数 1 13、 前フレームの量子化ステップサイズの平均値 とその一つ前のフレームの量子化ステップサイズの平均値との差 114、 及び前 フレームの符号ィヒに実際に要した処理量 1 15は前フレームの符号化処理が行わ れたときに動画像符号化手段 5から必要演算量計算手段 2にフィードバックされ る。 必要演算量計算手段 2においては、 これらの要素のうち一つの要素のみを使 用しても良いし、 複数の要素を組み合わせて使用しても良い。
(ステップ 3 ) 動作電圧 ·動作周波数計算手段 3は、 必要演算量 Kpの値をもと に、 現フレームの処理に対する動作周波数 F e (サイクルダ秒) を予測する計算 を行う。 すなわち、 符号ィ匕方式により処理時間が規定されている最小単位は 1フ レームであり、 現フレームの符号ィ匕処理に割り当てられた時間を T e (秒) とす ると、 現フレームに必要とされる動作周波数 F e (サイクル Z秒) 、 すなわち時 間 Te (秒) 内に前記必要演算量 Kpを符号化処理可能な動作周波数 F e (サイク ル /秒) は F e=Kp/Teで表されることから、 動作電圧 ·動作周波数計算手 段 3は動作周波数 F e=Kp /Ί eを計算する。 ただし、 所定フレームの符号化 処理に割り当てられた時間 T eは、 1フレームの処理の制限時間 Τ ί力、ら、所定フ レームに対する演算量を予測する時間 Τ ρ及びプロセッサの動作周波数 ·動作電 圧 ·基板バイアス電圧を変更する時間 T sを引いた時間である。 F i g 5に示す ように、 プロセッサ 1および (又は) 局部復号メモリ 6等を含めた周辺装置がサ ポートする動作電圧 ·動作周波数が r段階 (rは 2以上の整数) で変更可能な場 合、 動作電圧 ·動作周波数計算手段 3は、 F (r) > F eであり、 且つ F ( r—
1 ) < F eとなる動作周波数 F ( r ) を現フレームの符号化処理を行う動作周波 数として選択する計算を行い、 その動作周波数 F (r) に適する動作電圧 V (r) を選択する計算を行い、 プロセッサ 1および (又は) 局部復号メモリ 6等を含め た周辺装置をその動作周波数 F (r ) と動作電圧 V (r) で動作させるように、 動作電圧 ·動作周波数を動作電圧 ·動作周波数制御手段 4に指示する (符号 10
2) 。
(ステップ 4) 動作電圧 ·動作周波数制御手段 4は、 動作電圧 ·動作周波数計 算手段 3から指示を受けた動作電圧 V (r) 及び動作周波数 F (r) の値をプロ セッサ 1および (又は) 局部復号メモリ 6等を含めた周辺装置に供給し (符号 1 0 5 ) 、 その動作電圧 V ( r ) 及び動作周波数 F ( r ) でプロセッサ 1を一定に 動作させる制御を行う。 これにより、 プロセッサ 1および (又は) 局部復号メモ リ 6等を含めた周辺装置は、 一定の動作電圧 V ( r ) 及び動作周波数 F ( r ) で 動作することになる。
(ステップ 5 ) 動画像符号化手段 5は、 動画像符号化処理プログラム P r g 1 によりコンピュータのプロセッサ 1-上で実現される手段であり、 プロセッサ 1を 使用して入力フレームメモリ 7に格納された入力画像データを動画像符号化を行 う単位でアクセスし、 符号化処理を行う手段である。 すなわち、 動画像符号化手 段 5は、入力フレームメモリ 7から現フレームの入力画像データ 1 0 1を取得し、 符号化して符号化データ 1 0 6を生成する。 ステップ 4において、 プロセッサ 1 および (又は) 局部復号メモリ 6等を含めた周辺装置は動作電圧 ·動作周波数制 御手段 4から供給された一定の動作電圧 V ( r ) 及び動作周波数 F ( r ) で動作 している状態となっているため、 ステップ 5では、 動作電圧 '動作周波数制御手 段 4がその動作周波数 F ( r ) 及び動作電圧 V ( r ) でプロセッサ 1および (又 は) 局部復号メモリ 6等を含めた周辺装置を一定に動作させながら、 そのプロセ ッサ 1を使用して符号化を行う動画像符号化手段 5が現フレームの符号化を行う こととなる。 たとえば動きの激しい画像 (現フレームの入力画像データ 1 0 1 ) に対してはプロセッサ 1および (又は) 局部復号メモリ 6等を含めた周辺装置を 高い周波数で一定に動作させ、 動きの少ない画像に対しては低い周波数で一定に 動作させることにより低消費電力化を図ることが可能になる。 さらに、 動画像符 号化手段 5は、 符号化データ 1 0 6を復号する機能を有するローカルデコーダを 備えており、 現フレームの符号化データ 1 0 6はローカルデコーダにより復号さ れて局部復号フレームメモリ 6に局部復号データ 1 0 3として蓄積される。 この 現フレームの局部復号データ 1 0 3は現フレームの次に符号化されるフレームに ついて必要演算量 Kpを計算する際に使用される。現フレームの符号化データ 1 0 6は伝送路を通じて送信されたり、 蓄積メディアに蓄積される。
(第 2の破綻回避ステップ) さらに、 上記必要演算量計算手段 2で算出された 必要演算量 Kpが現実の現フレームの必要演算量よりも小さい場合、現フレームの 処理に割り当てられた時間 T e内に処理が完了せず、破綻現象が生じる。そこで、 本システム S 1は、 前記一のフレームの符号化又は復号ィヒ処理に予め割り当てら れている時間 T e内に当該一のフレームの符号化処理が完了しない場合には破綻 現象を回避する処理を行う第 2の破綻回避手段を備える。 本実施の形態では、 第 2の破綻回避手段として処理完了判断手段 9を備える。 処理完了判断手段 9は、 ステップ 5において動画像符号ィ匕手段 5が現フレームの入力画像データ 1 0 1の 符号化処理ルーチンを実行している際に、 所定のタイミングで符号ィヒ処理ルーチ ンに割り込みを行い、 処理時間内で一時中断し、 現フレームの符号化処理が終了 しているか終了していないかを判定する。 符号化がなされていないマクロブ口ッ クがある場合は、 前記必要演算量計算手段で算出された必要演算量が実際に必要 な演算量よりも小さく、 時間 T e内に処理が完了せずに破綻現象が生じる可能性 が高いと判断できるため、 当該マクロブロックに対して無効プロック化処理を行 う。 ここでは、 処理完了判断手段 9により、 少なくとも破綻現象が起きない時点 で割り込みを行った際に符号ィ匕処理が完了していなければ、 残りの処理を大幅に 削減できる処理に変更するなどの無効プロック化処理を行うことにより、 時間内 に符号化処理が完了できないという破綻現象を回避できるようにしている。
以下に、 処理完了判断手段 9について具体的に説明する。 F i g 4は割り込み を行う際の時間と演算残量の関係を示している。 動作周波数 Fで動作する現フレ ームの処理に割り当てられた時間 T e内で、 1フレームのマクロブロック数を M Bとし、 1つのマクロブロックを無効マクロブロックとして処理する際に必要な 演算量を Ks とする。 ただし、 無効マクロブロックとして処理する際に必要な演 算量 Ksは、 1マクロプロックの通常の処理に要する演算量に比べはるかに小さい 値であり、 どのフレームのマクロブロックに対しても同様の処理を行う。 処理完 了判断手段 9は、 割り込みを行う時間 Ti を Ti = Te— KsXMB/Fで算出す る。 割り込みを行う時間は、 前記動作電圧 ·動作周波数計算手段 3が計算しても 良い。 次に、 処理完了判断手段 9は、 時間 Ti のタイミングで符号ィヒ処理ルーチ ンに割り込みを行い、 処理済マクロプロック数レジスタ 10から符号化処理が終 了したマクロプロックの数 MBi (符号 117) の読み出しを行って、 MBi=M Bである力 \ MBi<MBであるかを判断し、 符号化処理完了の有無を判定する。 MBi=MBであれば、現フレームの符号化処理が完了しているので、そのまま割 り込みルーチンを終了して符号化処理ルーチンに戻る。 MBi<MBであれば、現 フレームの符号ィヒ処理が終了していないので、 必要演算量計算手段 2で算出され た必要演算量が実際に必要な演算量よりも小さいと判断し、 符号化未処理のマク ロブ口ック総てを無効プロックとして処理を行い、 符号化処理ルーチンに戻る。 時間 T iのタイミングで割り込みを行う時点で、 少なくとも全てのマク口ブロッ クを無効ブロックとして処理する演算量は確保されているため、 必ず破綻現象を 回避することができる。
なお、 無効ブロック化処理に換えて、 後述するようにプロセッサ 1の動作周波 数及び動作電圧を上げることにより、 破綻現象を回避しても良い。 この場合は、 現フレームの符号化処理に予め割り当てられている時間内に、 符号化未処理のマ クロプロック総てを符号化できる程度の時間を残したタイミングで割り込みを行
5o
(証明)
以下に、 プロセッサの動作電圧及ぴ動作周波数を複数回変更しながら一のフレ ームを符号化する従来技術と比較して、 本願発明がより低消費電力化を図ること ができることを証明する。 たとえば、 ある特定の時間 Ttにある特定の演算量 Kt を行う場合、 その特定の時間の間は、 同一周波数で制御を行い、 周波数 Ftを Ft=Kt/Tt - · · (数式 6)
に設定すると低消費電力を実現できる。 たとえば、 プロセッサ 1の動作電圧及び 動作周波数は F i g 5に示すように P段階に可変とし、 任意の一のフレームの必 要演算量を Ktとし、 そのフレームの処理に割り当てられる時間を Ttとする。 F i g 6 (a) に示すように、 動作周波数を Ftと設定し、 プロセッサ 1を動作周波 数 Ftで動作させるときの動作電圧を VDDとし、時間 Ttで必要演算量 Ktの処理 が終了する場合 (すなわち、 動作周波数が一定の場合) を Case 1とし、 F i g 6 (b) に示すように、 初期値の動作周波数を h * Ftと設定し、 プロセッサを動作 周波数 h * Ftで動作させるときの動作電圧を V 1とし、時間 T 1が経過した時点 でプロセッサの動作周波数を h * F t Z 2に変更し、 プロセッサ 1を動作周波数 h *F tZ2で動作させるときの動作電圧を V2とし、 時間 T 1 +T 2で必要演 算量 Ktの処理が終了する場合 (すなわち、 動作周波数の切り替えが 1回行われる 場合) を Case 2とし、 各 Casel, Case2について前記任意の一のフレームを符号化す る場合を考えてみる。 どちらも同一の演算量、 すなわち Kt (サイクル) となる。 一方、 消費電力は、
P = a XCX f XVDD2X t · · · (数式 7)
a :係数、 C :プロセッサのトランジスタ数
f :動作周波数、 VDD :動作電圧、 t :動作時間
で表される。 これを用いて Case 1の消費電力 P aと Case 2の消費電力 P bを計算 すると、
P a = a XCXFtXV2XTt · · · (数式 8 )
P b = a XCX (h X Ft) X V 12 X T 1 + ci X C X (h X Ft/2) XV 2
2XT2 · · · (数式 9)
となり、
P a : P b=V2XTt: (h X V 12XT 1 + (h/2) X V 22XT 2) · · · (数式 1 0)
となる。 ここでたとえば h = l. 5、 T l = l/3 XT t、 Tb = 2/3 XT t、 V= 1, Vl = l. 5, V2 = 0. 75とすると、 P a : P b = 12 : (1. 5 X 1. 52/3 + (1. 5/2) X 0. 752X (2 /3) =1 : 1. 41 · · · (数式 1 1)
となり、 P a<Pbとなる。 すなわち、 決められた演算量を一定時間で処理する 場合、 同一演算量 K tにもかかわらず、 Case 1の場合のように、 その時間内で処 理が終了可能な最小の動作周波数により、 その処理時間を通してプロセッサを一 定に動作させるほうが、 従来のように処理時間中に動作周波数を変更する Case 2 場合よりも低消費電力であることがわかる。 したがって、 一定の動作電圧及び動 作周波数でプロセッサ 1を動作させながら一のフレームの符号化処理を行う本発 明によれば、 プロックごとに動作電圧及ぴ動作周波数が決定されるため一のフレ ームの符号化中に何度も動作電圧及び動作周波数が変更される従来技術と比較し て、 低消費電力化が図られることがわかる。
(第 2の実施の形態)
F i g 7は、 第 2の実施の形態の動画像符号化処理システム S 2の動作を示し た概略プロック図である。 本実施の形態の動画像符号ィヒ処理システム S 2は、 前 記第 1の実施の形態の動画像符号化処理システム S 1において、 第 2の破綻回避 手段として、 処理完了判断手段 9と処理済マクロプロック数レジスタ 10に替え て演算残量判断手段 29を少なくとも備える。 F i g 8はその動画像符号化処理 プログラム P r g 2と、 それにより実現される動画像符号ィ匕処理方法の概略フロ 一チャートを示す図である。 プログラム P r g 2は、 コンピュータを各手段を備 える動画像符号化処理システム S 2として機能させるプログラムであり、 符号化 処理 (ステップ 5) に割り込んで実行される第 2の破綻回避ステップを備える。 動画像符号化処理システム S 2は、 前記動画像符号化処理システム S 1とは異な り、 プロセッサ 1および (又は) 局部復号メモリ 6等を含めた周辺装置を動作さ せている動作周波数及び動作電圧を変更する動的動作電圧 ·動作周波数制御を行 うことで、 上述の問題を解決するというものである。 以下、 動的動作電圧 ·動作 周波数制御について詳述する。 現フレームの処理に対する動作周波数及び動作電圧は必要演算量計算手段 2に より算出された値をもとに動作電圧 ·動作周波数計算手段 3により算出される。 し力 し、 算出された必要演算量 K pの値が現実に現フレームの処理に必要な必要 演算量 K mよりも小さレ、場合、 必要演算量 K pの値をもとに算出された動作周波 数及び動作電圧もまた、 現実に現フレームの処理に適した動作周波数及び動作電 圧より小さい値となる。
(第 2の破綻回避ステップ) 動画像符号化処理システム S 2では、 前記動画像 符号化処理システム S 1と同様に動画像符号ィヒ手段 5に N回の割り込み処理を等 間隔に設けて符号ィヒ処理を一時中断し、 その割り込みの時点において、 演算残量 判断手段 29が、 必要演算量計算手段 2で算出された現フレームの必要演算量の 残量である演算残量 K iと、 動画像符号化手段 5による所定のフレームの符号化 処理において実際に必要な演算量の残りの演算量とを比較する。 すなわち、 i回 目の割り込み処理では、 演算残量判断手段 29は、 現フレームの処理に割り当て られている残りの時間 T iとプロセッサ 1の動作周波数 Fを測定し、 演算残量 K iを数式 K i = T i X Fで計算する。 また、 演算残量判断手段 29は、 1回目か ら (i一 1) 回目までの割り込み処理時刻 T 1, Τ2, · · ·, T (i _l)、 お よび、 各割り込み時刻でのプロセッサの動作周波数 F 1, F 2, · · ·, F ( i - 1 ) を保持し、 これらの値をもとに現フレームの処理開始時刻から i回目の割り 込み処理発生時刻までに、 現フレームの処理に費やされた演算量 K p mを数式 K pm=∑F j X (T ( j + 1) -T j ) を用いて計算する。 ただし、 F 0は現フ レームの処理開始時に設定されていたプロセッサの動作周波数、 j =0, 1,···, (i一 1) である。 つぎに、 演算残量判断手段 29は、 K i≥KpmX (MB— MB i ) /MB iであるか K i <KpmX (MB -MB i ) /MB iであるかを 判断する。 計算された演算残量 K iおよぴ現フレームの処理に費やされた演算量 1: 111が数式1: i≥KpmX (MB -MB i ) /MB iを満たすとき、 割り込み 処理を終了し、符号化処理ノレ一チンに戻る。動画像符号化手段 5は、 ( i + 1 ) 回 目の割り込み処理発生時刻まで、 現フレームの処理を継続する。 演算残量判断手 段 29は、 計算された演算残量 K iおよび現フレームの処理に費やされた演算量 Kpn^¾¾^K i <KpmX (MB -MB i ) ZMB iを満たすとき、 必要演算 量計算手段 2で算出された必要演算量が実際に必要な演算量よりも小さいと判断 し、 動作電圧 ·動作周波数制御手段 4に対し動作電圧および動作周波数を一段階 上げる指示をする (符号 104)。 ここで、動作電圧及び動作周波数を二段階以上 上げるように指示しても良い。 なお、 MBは現フレームに含まれるマクロブロッ クの総数、 MB iは i回目の割り込み処理発生時刻における現フレームの符号ィヒ 処理済みマクロブロック数を表す。 以上の処理を設けることにより、 現フレーム の処理の途中でプロセッサの動作周波数を上げることができるため、 現フレーム の処理開始時にプロセッサに設定された動作周波数が、 現フレームの処理に必要 な演算量を実現するために必要な動作周波数より小さく設定されたとしても、 破 綻現象を生ずることなく現フレームの処理を終了することができるようになる。 なお、 動画像符号化手段 5への割り込み時刻は等間隔の N回に限らず、 任意の間 隔の N回で行ってもよい。 また、 数式 K i≥KpmX (MB -MB i ) /MB i および数式 K iく KpmX (MB -MB i ) /MB iのかわりに、 K i≥Kpm X (B L-B L i ) /B L iおよび K i≥ K p m X (BL— BL i) /BL iを 用いてもよい。 ここで B Lは現フレームに含まれるブロックの総数、 BL iは i 回目の割り込み処理発生時刻における現フレームの処理済みブロック数を表す。 なお、 本システム S 2についても第 1の破綻回避手段 1 1を備えても良い。
(第 3の実施の形態)
本発明の第 3の実施の形態の動画像復号化処理システム S 3は、 符号化された 動画像を復号化するシステムである。 F i g 9は動画像復号化処理システム S 3 の動作を示した概略プロック図である。 本実施の形態の動画像復号化処理システ ム S 3は、 動作電圧及ぴ動作周波数が r段階 ( rは 2以上の整数) に用意され且 つプログラムにより動作電圧及び動作周波数を変更可能なプロセッサ 1と、 前記 プロセッサ 1の動作電圧及び動作周波数を制御する動作電圧 ·動作周波数制御手 段 4と、 前フレームの複号化データを記憶する局部復号フレームメモリ 3 6と、 プロセッサ 1上で動作する演算残量判断手段 3 9とを備える。 ただし, 局部復号 メモリ 3 6は動作電圧 ·動作周波数制御手段 4により, プロセッサ 1と同様に動 作電圧 ·動作周波数が制御されてもよい。 プロセッサ 1は、 プロセッサ 1上で動 作する必要演算量計算手段 3 2と、 プロセッサ 1上で動作する動作電圧 ·動作周 波数計算手段 3'と、プロセッサ 1上で動作する動画像復号化手段 3 5とを備える。 符号 3 0 1は入力符号化データ、 符号 1 0 2は動作電圧 ·動作周波数指示、 符号 1 0 5は動作電圧 ·動作周波数供給、 符号 3 0 6は復号化データであり、 第 1の 実施の形態と同一符号は同一機能又はそれ相当の機能を有する部分である。 符号 化ではなく復号化を行う点及び下記以外の点は第 2の実施の形態と同様である。
F i g 9に従って、 動画像復号化処理システム S 3の動作を説明する。 以下、 順次復号化されるフレームのうちこれから復号化される任意の一のフレーム (す なわち、 あるフレームが復号ィヒされた時点を基準とすると次に複号化されるフレ ームであり、 換言すると、 その時点において未だに復号ィ匕処理されておらず未来 に復号化処理が行われる予定であるフレーム) を現フレーム、 現フレームより前 に復号化された一のフレーム (過去に復号化されたフレーム)を前フレームとし、 現フレームを復号化する処理について説明するが、 いずれのフレームについても 同様の処理が行われる。 コンピュータを動画像復号化処理システム S 3として機 能させる動画像復号化処理プログラム P r g 3は、 前記動画像符号化処理プログ ラム P r g 1とほぼ同様であるが、 ステップ 5において、 現フレームの符号化デ 一タを復号化させる動画像復号化手段 3 5としてコンピュータ (詳しくはコンビ ユータに内蔵されるプロセッサ 1 ) を機能させる。 動画像復号化処理システム S 3に入力されてきた入力符号化データ 3 0 1は、 必要演算量計算手段 3 2に入力 される。 必要演算量計算手段 3 2は符号ィヒデータ 3 0 1のーフレーム分 (すなわ ち、現フレームの符号化データ 3 0 1 ) の発生情報量(ビット数) F Bを計算し、 必要計算量 K ρを予測する計算を行う。 必要演算量 Κ ρは、
Kp=G (FB, MVa, MV v, B, C, BR, Q, 厶<2, I , E, P) · · · (数式 1 1)
で表される。 ここで、 FBは現フレームもしくは前フレームの符号ィ匕データの ビット数、 MVaは現フレームもしくは前フレームの動きベク トルの大きさの平 均値、 MVvは現フレームもしくは前フレームの動きべクトルの大きさの分散、 Bは現フレームもしくは前フレームの有効プロック数、 Cは現フレームもしくは 前フレームの有効係数の数、 BRは現フレームもしくは前フレームのビットレー ト、 Qは現フレームもしくは前フレームの量子化ステップサイズの平均値、 AQ は現フレームと前フレームの量子化ステップサイズの平均値の差もしくは前フレ ームと前々フレームの量子化ステップサイズの平均値の差、 Iは現フレームが I ピクチャであるか Pピクチャであるか Bピクチャであるかの種類、 Eは前フレー ムの復号化に実際に要した演算量、 Pは必要演算量計算手段により算出された前 フレームの必要演算量を表す。
現フレームの複号化に必要な演算量は、 現フレームの復号ィ匕で実行される I D CT処理、 I Q処理、 VLD処理の実行回数に依存する。 また、 IDCT処理の 実行回数は現フレームに含まれる有効ブ口ックの数に、 I Q処理および VLD処 理の実行回数は現フレームに含まれる有効係数の数に依存する。 すなわち、 現フ レームに含まれる有効ブロックの数や有効係数の数が大きレ、 (小さレ、) 場合は、 復号化処理に必要な演算量は大きく (小さく) なる。 したがって、上記関数 Gは、 B, Cが大きい (小さレ、) 場合、 Hpを大きく (小さく) 設定するように構成す る。
前フレームと現フレームの間で画像の変化が大きい (小さい) 場合、 動きべク トルの大きさの平均値 MVaや動きべクトルの大きさの分散 MVvが大きく (小 さく) なるが、 このとき現フレームの有効ブロックの数や有効係数の数は大きく (小さく) なり、 符号化処理に必要な演算量は大きく (小さく) なる。 したがつ て、 上記関数 Gは、 MV aや MV vが大きい (小さく) 場合、 H pを大きく (小 さく) 設定するように構成する。
現フレームが Iピクチャの場合、 復号化データを生成するときに予測画像と差 分画像の加算を行わなくてよいので、 復号化処理に必要な演算量は小さくなる。 したがって、 上記関数 Gは、 現フレームが I ピクチャの場合、 H pを小さく設定 するように構成する。
符号化データのビット数 F Bやフレームレート B Rが大きい (小さい) 場合、 有効ブロックの数や有効係数の数は大きく (小さく) なる。 したがって、 上記関 数 Gは、 ?8ゃ8 1 が大きぃ (小さレヽ) 場合、 H pを大きく (小さく) 設定する ように構成する。 また、 量子化ステップサイズはビットレートの制御に際して値 が変更されるため、 例えば Qや Δ Οが大きレヽ (小さい) 場合、 H pを小さく (大 きく ) 設定するなどのように、 量子化ステツプサイズの平均値 Qや量子化ステッ プサイズの平均値の差 Δ Qを考慮することで、 上記関数 Gが算出する H pが実際 に現フレームを復号ィ匕するために必要な演算量に近い値とすることができる。 動画像は連続するフレーム間での相関が大きいため、 MV a, MV v , B , C, B R, F B, Qは現フレームと前フレームとで近い値となる。 したがって、 これ らのパラメータを上記関数 Gで使用する場合は、 現フレームでの値を用いても良 いし、 前フレームでの値を用いても良い。 現フレームでの値を用いる場合は、 入 力符号化データを受信した後、 このデータの一部を復号ィ匕し、 値を取り出して用 いる。 このとき、 現フレームでの値を用いることで予測演算量 H pを実際の復号 化処理に必要な演算量により近い値にすることができるメリットがある。 前フレ ームでの値を用いる場合、 現フレームの入力符号化データを受信する前に予測演 算量 H pを算出することができるため、 入力符号ィヒデータを受信しながら、 受信 済みのデータ分について復号ィ匕処理を同時に行うことができるメリットがある。 また、 動画像は連続するフレーム間での相関が大きいため、 現フレームの復号 化処理に必要な演算量は前フレームの復号化処理で実際に必要であった演算量 E と近い値となる。 さらに、 必要演算量計算手段で算出される予測演算量が実際の 復号ィ匕処理に要した演算量に近い値となる場合、 P Eとなる。 したがって、 現 フレームの必要演算量を Eや Pを F B , MV a , MV v , B, C , B R, Q, 厶 Qなどのパラメータの大小に応じて増減させた値とする等のように、 Eや Pを考 慮することで、 上記関数 Gが算出する H pが実際に現フレームを復号ィ匕するため に必要な演算量に近い値とすることができる。
必要演算量計算手段 3 2においては、 これらの要素のうち一つの要素のみを使 用しても良いし、 複数組み合わせて使用しても良い。 すなわち、 これらの複数の 要素は現フレームの復号化処理のために必要な必要演算量に影響を与える要素で あるため、必要演算量計算手段 3 2力 これらの要素に応じて必要演算量 K p (サ イタル) を増減させるように計算を行うことにより、 必要演算量計算手段 3 2に より計算される必要演算量 K pが現実に復号化処理を行ったときの演算量により 近いィ直となる。
動作電圧 ·動作周波数計算手段 3及び動作電圧 ·動作周波数制御手段 4は、 前 記第 1の実施の形態と同様である。 動画像復号化手段 3 5は、 現フレームの入力 符号化データ 3 0 1を復号化して復号ィヒデータ 3 0 6を生成する。 動画像復号化 手段 3 5による復号化処理に際しては、 動作電圧 ·動作周波数制御手段 4により 一定の動作電圧及び動作周波数でプロセッサ 1を動作させながら複号化処理が行 われる。 フレームごとに、 そのフレームの復号化処理の前に必要な必要演算量が 算出され、 その必要演算量に応じた一定の動作周波数及び動作電圧でプロセッサ を動作させながらそのフレームの復号化が行われるため、 フレームを分割して成 る所定数のブロックごとに動作周波数及び動作電圧を変更する従来技術と比較し て、 低消費電力化を図ることができる。 復号化データ 3 0 6は、 携帯電話ゃパソ コンの画像表示部に動画像として表示されたり、 ノ、ードディスク等の記憶媒体に 記憶される。
動画像複号化処理システム S 3においても、 第 2の破綻回避手段として演算残 量判断手段 3 9を備える。 演算残量判断手段 3 9は、 上記第 2の実施の形態とほ ぼ同様であるが、 符号ィヒ処理の演算量ではなく復号ィヒ処理の演算量について判断 する点で異なる。 演算残量判断手段 3 9により、 破綻現象を回避することができ る。 なお、 上記第 1の実施の形態のように、 第 1の破綻回避手段として処理完了 判断手段を備えるようにすることも可能である。 なお、 復号化処理において処理 完了手段は備えず、 無効プロック化処理は行わない。
本発明の動画像符号ィ匕処理システムは、 第 1の破綻回避手段 1 1と、 第 2の破 綻回避手段としての処理完了判断手段 9と、 第 2の破綻回避手段としての演算残 量判断手段 2 9 , 3 9を、 それぞれ単独で備えても良く、 また、 各手段を適宜組 み合わせて備えても良い。 たとえば、 第 1と各第 2の破綻回避手段を総て備える ようにし、 第 1の破綻回避手段 1 1により必要演算量を増加させても破綻を回避 できなレヽ場合は、 第 2の破綻回避手段としての演算残量判断手段 2 9, 3 9によ り動作電圧及び動作周波数を上げ、 さらに、 それでも破綻現象を回避不可能な場 合は、 第 2の破綻回避手段としての処理完了判断手段 9により符号化処理を簡易 に行うなどの破綻回避処理を行うようにしても良い。 また、 上記動画像符号化処 理プログラムは、 プログラムと同様の機能を備えるハードウェアで実現されても 良い。
(実施例 1 )
第 1の実施の形態の動画像符号ィ匕システム S 1についての実施例 1を説明する c 符号化の対象として 7 5枚のフレームから成る動画像データを使用し、 符号化さ れるフレームとして 3 2番目のフレームを例に説明する。 各フレームは 1 4 4行 1 7 6列の画素配列で構成されている。 符号化処理としては、 MP E G— 4を使 用する。 動画像符号化システム S 1のプロセッサ 1は、 動作周波数 1 8 9 MH z 〜 4 0 5 MH z、 動作電圧 1 . 0 6 V〜1 . 8 0 Vであり、 動作周波数 2 7 MH z及び動作電圧 0 . 0 9 2 5 Vごとに等間隔で 9段階に可変となっている。
まず、 動画像符号化システム S 1は、 入力フレームメモリ 7にアクセスして、 3 2番目のフレームを取得し、 必要演算量計算手段 2により、 そのフレームの必 要演算量 Kpを計算する。 必要演算量 Κρは、 具体的には、 まず、 前フレームと して 3 1番目のフレームを使用し下記の数式により差分絶対値和 Ζを算出する。
Figure imgf000037_0001
次に、 現フレームである 3 2番目のフレームのアクティビティ量 Wを下記の数 式により算出する。
水平方向 Wh 7 6 0 3 2
垂直方向 Wv
Figure imgf000037_0002
1 2 6 7 20
さらに、 前フレームのマクロブロックマッチング回数 M= 1 5 8 0、 前フレー ムの平均量子化ステップサイズ (量子化ステップサイズの平均値) Qprev=4、 前フレームの有効ブロック数 B= 3 9 9、 前フレームの有効係数の数 C= 6 0 1 1、 前フレームの符号化に実際に要した処理量 S= 1 544 7 1 0 5、 現フレー ムの符号化ビッ卜レート B R = 6 5 5 3 6を得る。 また、 前フレームの量子化ス テツプサイズの平均値とその一つ前の 3 0番目のフレームの量子化ステップサイ ズの平均値の差 AQprev=— 1を算出する。 また、 前フレームの実際の発生ビッ ト数 D= 5 6 7 9 7を得る。 つぎに、 各要素を使用して下記の数式により必要演 算量 Kpを算出する。
Kp = j + Μ+ β B + γ C+ δ Z+ e AQprev
以上より、 本実施例 1では必要演算量 K p = 1 44 8 1 0 5 6が得られる。 さらに、 各要素から算出された上記必要演算量 Kp = 1 44 8 1 0 5 6から下 記の式で必要演算量 Kpを増加させる計算を行う。 なお、 ここでは上記数式 3を 例に説明する。
Kp f = 1 44 8 1 0 5 6 X 1. 1 = 1 5 9 2 9 1 6 2
つぎに、 下記の数式により動作周波数を計算する。
F e =Κρ ί/Ύ e = 1 5 9 2 9 1 6 2/ (1/1 5) = 2 3 9 MH z
F (r) >F eであり且つ F (r— 1) く F eとなる F (r ) を計算し、 プロ セッサ 1の 9段階に可変な動作周波数のうち、 この動作周波数を満たす動作周波 数として、 動作周波数 243 MH z及び動作電圧 1. 25 Vを選択する。 少なく ともプロセッサ 1を動作周波数 F (r ) =243MHz及びこれに対応する動作 電圧 V (r) =1. 25 Vで動作させるように、 動作電圧 '動作周波数制御手段 4に指示する。 動作電圧 ·動作周波数制御手段 4は、 少なくともプロセッサ 1を 動作電圧 243MHz及び動作周波数 1. 25 Vで一定に動作させる制御を行う。 動画像符号化手段 5は、 入力フレームメモリ 7からフレーム Fを取得し、 上記動 作周波数 243MH z及び動作電圧 1. 25 Vで一定に動作させられた状態のプ 口セッサ 1を使用して、 符号化処理を行レ、符号化データを生成する。
さらに、 符号化処理ルーチンを実行している際に、 処理完了判断手段 9は、 下 記の数式により割り込み時間を算出し、 割り込みを行う。
T i =T e -KsXMB/F
=0. 06666— 37 X 99/(243000000)
= 0. 06665
さらに処理完了判断手段 9は、 この割り込みのタイミングにおいて Mb iく M Bであるか否かを判断する。 本実施例 1では、 T i =0. 06665のタイミン グでは M B iく M Bであり、 現フレームの符号化処理が終了していなかつたので、 残りのマクロプロック全てを無効ブロックとして処理を行い、 符号化処理ルーチ ンに戻る。
(実施例 2 )
第 2の実施の形態の動画像符号化システム S 2についての実施例 2を説明する t 本実施例 2では、 符号化処理において 4回の割り込みを行うように設定されてい る。 演算残量判断手段 29は、 第 1回目と第 2回目の割り込み時において、 K i =T i XF及び Kpm=∑F j X (T (j + 1) -T j ) を計算し、 さらに実際 に必要な演算量の残量として KpmX (MB -MB i) を計算し、 K i≥Kpm X (MB— MB i ) /MB iであるか K iく ΚϋπιΧ (MB -MB i ) /MB i であるかを判断する。 本実施例 2では K i≥K p m X (MB -MB i ) /MB i であったため、 割り込みを終了し、 第 3回目の割り込みまで動画像符号化手段 5 が符号化処理を続行する。 つぎの割り込みである第 3回目の割り込み時において も同様に計算及び判断を行う。 本実施例 2では K i < K p m X (MB -MB i ) ZMB iであったため、 動作周波数及び動作電圧を一段階上げた周波数 Fp+1= 2 7 0 MH z及び電圧 Vp+1= 1 . 3 4を動作周波数及び動作電圧として、 動作 電圧 ·動作周波数制御手段 4に指示する。 産業上の利用可能性
以上説明したように、 本発明の動画像符号化又は復号化処理システムと動画像 符号化又は復号ィヒ処理方法によれば、 これから符号化又は復号化する現フレーム (未来に符号化又は復号化するフレーム) に対して、 符号化又は復号化に要する 必要演算量を予測する計算を行い、 その現フレームの処理に割り当てられた時間 内は最小限の動作周波数でほぼ一定に制御することにより、 フレーム単位に動作 電圧 ·動作周波数がダイナミックに制御されるため、 低消費電力を実現すること ができる。
また、 破綻回避手段を備えるため、 算出された必要演算量が実際に必要な演算 量よりも小さい場合に起きる破綻現象を回避することができ、 符号化又は復号化 処理された動画像が劣悪になるのを防止することができる。

Claims

請 求 の 範 囲
1 . 複数のフレームから構成される動画像をフレーム単位で符号化又は復号化す るプロセッサを備え、 一のフレームの符号化又は復号化に必要な必要演算量 K p を計算し、 当該一のフレームの符号ィヒ又は復号ィヒ処理に予め割り当てられている 時間 T e内に当該必要演算量 K pを符号化又は復号ィヒ処理可能な動作周波数 Fを 決定し、 当該動作周波数 F、 及び、 当該動作周波数 Fに適する動作電圧 Vで当該 プロセッサを動作させながら当該一のフレームの符号化又は復号化処理を行レ、、 必要演算量 K pが実際に必要な演算量よりも小さい場合に起きる破綻現象を回 避する破綻回避手段を一つ以上備えることを特徴とする動画像符号化又は復号 化処理システム。
2 . 連続する複数のフレームのうち前記一のフレームより前に符号化処理される フレームを前フレームとすると、 動画像符号化処理を行う場合において、 前記一 のフレームと前フレームとの動き量、 前記一のフレームのァクティビティの量、 前フレームのァクティビティの量、 前フレームの量子化ステップサイズの平均値. 前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化 ステップサイズの平均値の差、 前フレームのマクロプロックマッチング回数、 前 フレームの有効ブロック数、 前フレームの有効係数の数、 前フレームの符号化に 実際に要した演算量、 前フレームの発生ビット数、 前記一のフレームの符号化ビ ッ トレート、 前記一のフレームについてフレーム内符号化又はフレーム間符号化 のいずれであるかの種類、 前フレームの必要演算量のうち、 一つ以上の要素を使 用して必要演算量 K pを計算することを特徴とする請求の範囲 1に記載の動画 像符号化又は複号化処理システム。
3 . 連続する複数のフレームのうち前記一のフレームより前に復号化処理される フレームを前フレームとすると、 動画像復号化処理を行う場合において、 前記一 のフレームの符号化データのビット数、 前記一のフレームがフレーム内符号化さ れたものであるか又はフレーム間符号化されたものであるかの種類、 前記一のフ レーム若しくは前フレームの動きべク トルの大きさの平均値、 前記一のフレーム 若しくは前フレームの動きべク トルの大きさの分散、 前記一のフレーム若しくは 前フレームの有効ブロック数、 前記一のフレーム若しくは前フレームの有効係数 の数、 前記一のフレーム若しくは前フレームのビットレート、 前記一のフレーム 若しくは前フレームの符号量、 前記一のフレーム若しくは前フレームの量子化ス テップサイズの平均値、量子化ステップサイズの平均値の差 (前記一のフレームと 1つ前のフレームの量子化ステップサイズの差, もしくは 1つ前のフレームの量 子化ステップサイズと 2つ前のフレームの量子化ステップサイズの ¾)、前フレー ムの復号ィ匕に実際に要した演算量、 前フレームの必要演算量のうち、 一つ以上の 要素を使用して必要演算量 K pを計算することを特徴とする請求の範囲 1に記載 の動画像符号化又は復号ィ匕処理システム。
4 · 前記破綻回避手段として、 必要演算量 K pを増加させる第 1の破綻回避手段 を備えることを特徴とする請求の範囲 1乃至請求の範囲 3のいずれか 1つに記載 の動画像符号ィ匕又は復号ィヒ処理システム。
5 . 前記第 1の破綻回避手段は、 必要演算量 K pを m倍 (mは 1以上の実数) 又 は必要演算量 K pに 0より大きい実数 nを加算することを特徴とする請求の範囲 4記載の動画像符号ィヒ又は復号化処理システム。
6 . 前記破綻回避手段として、 前記一のフレームの符号化又は復号化処理に予め 割り当てられている時間 T e内に当該一のフレームの符号化処理が完了しない場 合には破綻現象を回避する処理を行う第 2の破綻回避手段を備えることを特徴と する請求の範囲 1乃至請求の範囲 5のいずれか 1つに記載の動画像符号化又は復 号化処理システム。
7 . 前記第 2の破綻回避手段は、 所定のタイミングで符号ィヒ処理に割り込みを行 い、 符号化がなされていないマクロブロックがある場合は、 当該マクロブロック に対して無効プロック化処理を行うことを特徴とする請求の範囲 6記載の動画像 符号化又は復号化処理システム。
8 . 前記第 2の破綻回避手段は、 所定のタイミングで符号ィヒ又は復号ィヒ処理に割 り込みを行い、 その割り込み時点において、 必要演算量 K pの残量が、 符号化又 は復号ィヒ処理に実際に必要な演算量の残量よりも小さい場合は、 プロセッサの動 作周波数及び動作電圧を上げることを特徴とする請求の範囲 6記載の動画像符号 化又は複号化システム。
9 . 前記プロセッサは、 動作可能な可能動作周波数が r段階 ( rは 2以上の整数) に用意されており、 前記時間 T e内に必要演算量 K pを処理するに必要な動作周 波数 F eを F e = K p /T eで計算し、 前記プロセッサが動作可能な可能動作周 波数から前記必要な動作周波数 F e以上であり且つその動作周波数 F eに最も近 い動作周波数 Fを決定することを特徴とする請求の範囲 1乃至請求の範囲 8のい ずれか 1つに記載の動画像符号ィヒ又は復号ィヒ処理システム。
1 0 . 複数のフレームから構成される動画像をフレーム単位で符号化又は復号化 するプロセッサを使用して、 一のフレームの符号化に必要な必要演算量 K pを計 算し、 当該一のフレームの符号ィヒ又は復号ィヒ処理に予め割り当てられている時間 T e内に当該必要演算量 K pを符号化又は復号化処理可能な動作周波数 Fを決定 し、 当該動作周波数 F、 及び、 当該動作周波数 Fに適する動作電圧 Vで当該プロ セッサを動作させながら当該一のフレームの符号化又は復号ィ匕処理を行い、 必要演算量 K pが実際に必要な演算量よりも小さい場合に起きる破綻現象を回 避する破綻回避ステツプを一つ以上備えることを特徴とする動画像符号化又は復 号化処理方法。
1 1 . 連続する複数のフレームのうち前記一のフレームより前に符号ィ匕処理され るフレームを前フレームとすると、 動画像符号化処理を行う場合において、 前記 一のフレームと前フレームとの動き量、前記一のフレームのァクティビティの量、 前フレームのァクティビティの量、前フレームの量子化ステップサイズの平均値、 前フレームの量子化ステップサイズの平均値とその一つ前のフレームの量子化ス テツプサイズの平均値の差、 前フレームのマクロブロックマッチング回数、 前フ レームの有効ブロック数、 前フレームの有効係数の数、 前フレームの符号化に実 ■ 際に要した演算量、 前フレームの発生ビット数、 前記一のフレームの符号化ビッ トレート、 前記一のフレームについてフレーム内符号ィ匕又はフレーム間符号ィ匕の いずれであるかの種類、 前フレームの必要演算量のうち、 一つ以上の要素を使用 して必要演算量 K pを計算することを特徴とする請求の範囲 1 0記載の動画像符 号化又は復号化処理方法。
1 2 . 連続する複数のフレームのうち前記一のフレームより前に復号化処理され るフレームを前フレームとすると、 動画像復号化処理を行う場合において、 前記 一のフレームの符号化データのビット数、 前記一のフレームがフレーム内符号化 されたものであるか又はフレーム間符号ィヒされたものであるかの種類、 前記一の フレーム若しくは前フレームの動きべクトルの大きさの平均値、 前記一のフレー ム若しくは前フレームの動きべクトルの大きさの分散、 前記一のフレーム若しく は前フレームの有効ブロック数、 前記一のフレーム若しくは前フレームの有効係 数の数、 前記一のフレーム若しくは前フレームのビットレート、 前記一のフレー ム若しくは前フレームの符号量、 前記一のフレーム若しくは前フレームの量子化 ステツプサイズの平均値、量子化ステツプサイズの平均値の差 (前記一のフレーム と 1つ前のフレームの量子化ステップサイズの差, もしくは 1つ前のフレームの 量子化ステップサイズと 2つ前のフレームの量子化ステップサイズの差)、前フレ 一ムの復号化に実際に要した演算量、 前フレームの必要演算量のうち、 一つ以上 の要素を使用して必要演算量 K pを計算することを特徴とする請求の範囲 1 0記 載の動画像符号ィヒ又は複号化処理方法。
1 3 . 前記破綻回避ステップとして、 必要演算量 K pを増加させる第 1の破綻回 避ステップを備えることを特徴とする請求の範囲 1 0乃至請求の範囲 1 2のいず れか 1つに記載の動画像符号化又は複号化処理方法。
1 4 . 前記第 1の破綻回避ステップは、 前記第 1の破綻回避手段は、 必要演算量 を!!!倍 (mは 1以上の実数) 又は必要演算量 K pに 0より大きい実数 nを加 算することを特徴とする請求の範囲 1 3記載の動画像符号化又は複号化処理方法。
1 5 . 前記破錠回避ステップとして、 前記一のフレームの符号化又は復号化処理 に予め割り当てられている時間 T e内に当該一のフレームの符号化処理が完了し ない場合には破綻現象を回避する処理を行う第 2の破綻回避ステップを備えるこ とを特徴とする請求の範囲 1 0乃至請求の範囲 1 4のいずれか 1つに記載の動画 像符号化又は複号化処理方法。
1 6 . 前記第 2の破綻回避ステップは、 所定のタイミングで符号ィヒ処理に割り込 みを行い、 符号化がなされていないマクロブロックがある場合は、 当該マクロブ ロックに対して無効プロック化処理を行うことを特徴とする請求の範囲 1 5記載 の動画像符号化又は複号化処理方法。
1 7 . 前記第 2の破綻回避ステップは、 所定のタイミングで符号ィヒ又は複号化処 理に割り込みを行い、 その割り込み時点において、 必要演算量 K pの残量が、 符 号化又は復号化処理に実際に必要な演算量の残量よりも小さい場合は、 プロセッ サの動作周波数及び動作電圧を上げることを特徴とする請求の範囲 1 5又は請求 の範囲 1 6記載の動画像符号化又は複号化処理方法。
1 8 . 前記プロセッサは、 動作可能な可能動作周波数が r段階 ( rは 2以上の整 数) に用意されており、前記時間 T e内に必要演算量 Kpを処理するに必要な動作 周波数 F eを F e K p /T eで計算し、 前記プロセッサが動作可能な可能動作 周波数から前記必要な動作周波数 F e以上であり且つその動作周波数 F eに最も 近い動作周波数 Fを決定することを特徴とする請求の範囲 1 0乃至請求の範囲 1
7のいずれか 1つに記載の動画像符号化又は復号化処理方法。
PCT/JP2004/005394 2003-04-15 2004-04-15 動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理方法 WO2004093458A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP04727707A EP1615438A4 (en) 2003-04-15 2004-04-15 CODING OR DECODING PROCESSING SYSTEM FOR MOVABLE IMAGES AND CODING OR DECODER PROCESSING METHOD FOR MOVABLE IMAGES
CA002522870A CA2522870A1 (en) 2003-04-15 2004-04-15 System for encoding or decoding motion picture and metthod for encoding or decoding motion picture
US10/553,651 US20060174303A1 (en) 2003-04-15 2004-04-15 Moving picture encoding or decoding processing system and mobin g picture encoding or decoding processing method
JP2005505451A JPWO2004093458A1 (ja) 2003-04-15 2004-04-15 動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理方法
AU2004229732A AU2004229732A1 (en) 2003-04-15 2004-04-15 Moving picture encoding or decoding processing system and mobin G picture encoding or decoding processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003-110824 2003-04-15
JP2003110824 2003-04-15

Publications (1)

Publication Number Publication Date
WO2004093458A1 true WO2004093458A1 (ja) 2004-10-28

Family

ID=33295966

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/005394 WO2004093458A1 (ja) 2003-04-15 2004-04-15 動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理方法

Country Status (8)

Country Link
US (1) US20060174303A1 (ja)
EP (1) EP1615438A4 (ja)
JP (1) JPWO2004093458A1 (ja)
KR (1) KR20060009840A (ja)
CN (1) CN1774929A (ja)
AU (1) AU2004229732A1 (ja)
CA (1) CA2522870A1 (ja)
WO (1) WO2004093458A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251553A (ja) * 2006-03-15 2007-09-27 Matsushita Electric Ind Co Ltd リアルタイム処理装置及びその方法
JP2009200672A (ja) * 2008-02-20 2009-09-03 Sony Corp 画像信号処理装置、画像信号処理方法、およびプログラム
JP2009302597A (ja) * 2008-06-10 2009-12-24 Fujitsu Ltd 画像復号装置
JP2012075145A (ja) * 2006-08-29 2012-04-12 Nvidia Corp ビデオ復号時に動的周波数調整する方法及び装置
JP4932846B2 (ja) * 2005-11-11 2012-05-16 エムテクビジョン カンパニー リミテッド イメージ処理方法及び装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2490102A3 (en) * 2006-08-31 2015-06-24 ATI Technologies ULC Video decodere and/or battery-powered device with reduced power consumption and methods thereof
US8112640B2 (en) * 2006-10-02 2012-02-07 Samsung Electronics Co., Ltd. Method of controlling voltage of power supplied to 3D graphics data processor and the 3D graphics data processor using the method
US20090180701A1 (en) * 2008-01-10 2009-07-16 Seungyeob Choi Video Data Encoding System
US8442111B2 (en) * 2008-11-24 2013-05-14 Nvidia Corporation Optimal power usage in encoding data streams
US8880789B2 (en) * 2008-12-10 2014-11-04 Nvidia Corporation Optimal power usage in decoding a content stream stored in a secondary storage
SG11201502927XA (en) 2012-10-16 2015-05-28 Razer Asia Pacific Pte Ltd Computing systems and methods for controlling a computing system
CN103051899B (zh) * 2012-12-31 2015-12-02 青岛中星微电子有限公司 一种视频解码的方法及装置
CN113115039B (zh) * 2021-04-13 2022-12-02 展讯通信(上海)有限公司 工作频率确定方法、装置和电子设备
US11949877B2 (en) * 2021-10-01 2024-04-02 Microsoft Technology Licensing, Llc Adaptive encoding of screen content based on motion type

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0254317A (ja) * 1988-08-19 1990-02-23 Asahi Optical Co Ltd 電子制御カメラのcpu動作速度制御装置
JPH0823514A (ja) * 1994-07-07 1996-01-23 Hitachi Ltd ディジタル映像信号復号装置
JPH099251A (ja) * 1995-06-20 1997-01-10 Hitachi Ltd 並列画像符号化方法およびその装置
JPH10248063A (ja) * 1997-03-04 1998-09-14 Toshiba Corp 携帯型情報端末装置
JPH1168881A (ja) * 1997-08-22 1999-03-09 Sony Corp データストリーム処理装置及び方法
JPH1175200A (ja) * 1997-09-01 1999-03-16 Hitachi Ltd 動画像符号化装置及びこれを用いた簡易復号化画像モニタ方法,制御方法
JPH11239352A (ja) * 1997-12-10 1999-08-31 Matsushita Electric Ind Co Ltd 画像処理方法及び画像処理装置、並びにデータ記憶媒体
JPH11252549A (ja) * 1998-02-27 1999-09-17 Toshiba Corp 画像符号化/復号化装置
JPH11332093A (ja) * 1998-02-05 1999-11-30 Alcatel Cit 電子回路用最適化電源システム
JP2000299840A (ja) * 1999-04-13 2000-10-24 Nec Corp 映像記録方式
JP2001045491A (ja) * 1999-08-03 2001-02-16 Hitachi Ltd 符号化画像の復号・表示装置
JP2001197149A (ja) * 2000-01-05 2001-07-19 Mitsubishi Electric Corp マルチメディア情報通信装置、およびマルチメディア情報通信方法
JP2002010271A (ja) * 2000-04-20 2002-01-11 Matsushita Electric Ind Co Ltd ビデオ符号化装置
JP2003078770A (ja) * 2001-08-30 2003-03-14 Canon Inc 画像処理方法及びその装置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0254317A (ja) * 1988-08-19 1990-02-23 Asahi Optical Co Ltd 電子制御カメラのcpu動作速度制御装置
JPH0823514A (ja) * 1994-07-07 1996-01-23 Hitachi Ltd ディジタル映像信号復号装置
JPH099251A (ja) * 1995-06-20 1997-01-10 Hitachi Ltd 並列画像符号化方法およびその装置
JPH10248063A (ja) * 1997-03-04 1998-09-14 Toshiba Corp 携帯型情報端末装置
JPH1168881A (ja) * 1997-08-22 1999-03-09 Sony Corp データストリーム処理装置及び方法
JPH1175200A (ja) * 1997-09-01 1999-03-16 Hitachi Ltd 動画像符号化装置及びこれを用いた簡易復号化画像モニタ方法,制御方法
JPH11239352A (ja) * 1997-12-10 1999-08-31 Matsushita Electric Ind Co Ltd 画像処理方法及び画像処理装置、並びにデータ記憶媒体
JPH11332093A (ja) * 1998-02-05 1999-11-30 Alcatel Cit 電子回路用最適化電源システム
JPH11252549A (ja) * 1998-02-27 1999-09-17 Toshiba Corp 画像符号化/復号化装置
JP2000299840A (ja) * 1999-04-13 2000-10-24 Nec Corp 映像記録方式
JP2001045491A (ja) * 1999-08-03 2001-02-16 Hitachi Ltd 符号化画像の復号・表示装置
JP2001197149A (ja) * 2000-01-05 2001-07-19 Mitsubishi Electric Corp マルチメディア情報通信装置、およびマルチメディア情報通信方法
JP2002010271A (ja) * 2000-04-20 2002-01-11 Matsushita Electric Ind Co Ltd ビデオ符号化装置
JP2003078770A (ja) * 2001-08-30 2003-03-14 Canon Inc 画像処理方法及びその装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"Low-power High-speed LSI Circuits & Technology", 31 January 1998 (1998-01-31), pages 397 - 406, XP002986891 *
KAWAGUCHI H. ET AL.: "An LSI for Vdd-Hopping and MPEG4 System Based on the Chip", THE 2001 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, vol. 4, 6 May 2001 (2001-05-06), pages 918 - 921, XP010542007 *
LEE W. ET AL.: "TP 6.1: A 1V DSP for Wireless Communications", IEEE INTERNATIONAL SOLID-STATE CIRCUITS CONFERENCE, 1997. DIGEST OF TECHNICAL PAPERS, 44TH ISSCC, 6 February 1997 (1997-02-06), pages 92 - 93, 437, XP000753027 *
OSAKO F. ET AL.: "A Dynamic Computation Resource Scalable Algorithm for Software Video CODEC", THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS RONBUNSHI D-II, vol. J80-D-II, no. 2, February 1997 (1997-02-01), pages 444 - 458, XP000987340 *
See also references of EP1615438A4 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4932846B2 (ja) * 2005-11-11 2012-05-16 エムテクビジョン カンパニー リミテッド イメージ処理方法及び装置
JP2007251553A (ja) * 2006-03-15 2007-09-27 Matsushita Electric Ind Co Ltd リアルタイム処理装置及びその方法
JP2012075145A (ja) * 2006-08-29 2012-04-12 Nvidia Corp ビデオ復号時に動的周波数調整する方法及び装置
TWI413418B (zh) * 2006-08-29 2013-10-21 Nvidia Corp 於視訊解碼時動態頻率調整之方法、系統、與時鐘頻率控制器
TWI448161B (zh) * 2006-08-29 2014-08-01 Nvidia Corp 於視訊解碼時動態頻率調整之方法、系統、與時鐘頻率控制器
JP2009200672A (ja) * 2008-02-20 2009-09-03 Sony Corp 画像信号処理装置、画像信号処理方法、およびプログラム
JP4513034B2 (ja) * 2008-02-20 2010-07-28 ソニー株式会社 画像信号処理装置、画像信号処理方法、およびプログラム
JP2009302597A (ja) * 2008-06-10 2009-12-24 Fujitsu Ltd 画像復号装置

Also Published As

Publication number Publication date
CA2522870A1 (en) 2004-10-28
CN1774929A (zh) 2006-05-17
EP1615438A1 (en) 2006-01-11
JPWO2004093458A1 (ja) 2006-07-13
US20060174303A1 (en) 2006-08-03
EP1615438A4 (en) 2007-05-02
KR20060009840A (ko) 2006-02-01
AU2004229732A1 (en) 2004-10-28

Similar Documents

Publication Publication Date Title
US6925126B2 (en) Dynamic complexity prediction and regulation of MPEG2 decoding in a media processor
WO2004093458A1 (ja) 動画像符号化又は復号化処理システム及び動画像符号化又は復号化処理方法
JP3772183B2 (ja) 動画像符号化処理システム、動画像復号化処理システム、動画像符号化処理プログラム、及び、動画像復号化処理プログラム
US20030095603A1 (en) Reduced-complexity video decoding using larger pixel-grid motion compensation
US20110216829A1 (en) Enabling delta compression and modification of motion estimation and metadata for rendering images to a remote display
US20060256866A1 (en) Method and system for providing bi-directionally predicted video coding
JP4635016B2 (ja) 情報処理装置およびインター予測モード判定方法
US20090060045A1 (en) Moving picture encoding apparatus and moving picture encoding method
JPWO2006082690A1 (ja) 画像符号化方法および画像符号化装置
US20120195356A1 (en) Resource usage control for real time video encoding
EP3051816B1 (en) Cache fill in an image processing device
KR20040075039A (ko) 복잡도 제약된 데이터 압축에서 동적 제어
JP2003061100A (ja) マルチチャネル画像符号化器及びその符号化方法
TWI543627B (zh) 自適應視頻解碼方法、複雜度自適應視頻解碼器以及自適應音頻/視頻播放系統
EP1374598A2 (en) Scalable mpeg-2 video decoder with selective motion compensation
US8848798B2 (en) Information processing apparatus and inter-prediction mode determination method
WO2006004065A1 (ja) 動画像符号化処理システム、動画像符号化又は復号化処理システム、動画像符号化処理方法、及び、動画像符号化又は復号化処理方法
WO2005096634A1 (ja) マルチタスク処理システム、及び、マルチタスク処理方法
JP2001128179A (ja) 動画像符号化装置および方法
WO2006072993A1 (ja) 圧縮符号化装置、伸張復号化装置
WO2005062621A1 (ja) 動画像符号化又は復号化処理システム、及び、動画像符号化又は復号化処理方法
JP3772184B2 (ja) 動画像符号化処理システム、動画像復号化処理システム、動画像符号化処理方法、及び、動画像復号化処理方法
JP2008263549A (ja) 動画像符号化装置および動画像符号化方法
JP5056600B2 (ja) 画像復号装置
Hsieh et al. Bandwidth-constrained motion estimation for real-time mobile video application

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1020057019372

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2522870

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 20048101219

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2005505451

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2004727707

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2004229732

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2004229732

Country of ref document: AU

Date of ref document: 20040415

Kind code of ref document: A

WWP Wipo information: published in national office

Ref document number: 2004229732

Country of ref document: AU

WWP Wipo information: published in national office

Ref document number: 2004727707

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2006174303

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10553651

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1020057019372

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 10553651

Country of ref document: US