The present invention relates to an information processing device, a broadcast reception device, and a software data update method.
In digital broadcasting, to provide a variety of services, in addition to video information and audio information, additional information is transmitted for purposes such as data broadcasts that provide text information and still pictures and bidirectional interactive functions based on input of information from the viewer. The application programs used to implement the provision of these services are more highly functional and more multifunctional then in the past. In broadcast reception devices, a general-purpose operating system (OS) is generally used to execute the application programs. In the present application, the term ‘software’ will be used to designate programs in general, including the OS and application programs, and the electronic data representing the software will be referred to as ‘software data’.
In an information processing device of this type, which uses an OS to perform broadcast reception, the items of software data corresponding to the services such as the above that are particular to digital broadcasting are transferred from the nonvolatile memory in which they are stored to a working RAM (Random Access Memory) and executed by a CPU (Central Process Unit). In the execution of the software, first a preparatory process (initialization process) necessary for launching the software is carried out, after which the processing of the individual functions is carried out. For some of the functions implemented by the software, a long time may be needed for the transfer process from the nonvolatile memory to RAM and for the initialization process. As a way to shorten the lengthy transfer process time, compression and decompression processes may be carried out on the software data.
The difference between the quantity of data before and after compression, divided by the quantity of data before compression, is referred to as the compression ratio. Data compression processes are classified as lossy compression processes, in which the data that have been compressed and then decompressed differ from the original data, and lossless compression processes, in which the data that have been compressed and then decompressed are identical to the original data. In general, with lossy compression a high compression ratio can be achieved but the original data cannot be restored, so lossy compression is used for data such as audio data, video data, and other data where the decompressed data do not have to match the original data exactly. For data such as the software data of programs, however, lossless compression processes are used because the original data can be restored.
In the compression and decompression of software data, first the software data are losslessly compressed and the compressed software data are saved in the nonvolatile memory. At device startup, the compressed software data are read from the nonvolatile memory and transferred to the RAM, and the transferred software data are executed after being decompressed and written into the RAM. Compared with the case in which compression and decompression are not performed, extra time is required for the decompression process at startup, but the quantity of software data that is transferred is reduced, so less time is required for the transfer. If an appropriate compression process is selected, the time required for the data transfer process as a whole, from the start of the process of transferring the compressed software data to the completion of the decompression of the software data, can be shorter than the transfer process time of non-compressed software data, and shortening of the startup time can therefore can be anticipated.
Various compression algorithms and compression tools have been devised for lossless compression processing, and these compression algorithms and tools have differing compression ratios. Among these compression algorithms and compression tools, there are some, such as gzip (GNU ZIP) and bzip2, that permit the compression ratio to be changed at the time of compression. In general, when the compression ratio is increased, more calculation becomes necessary in the compression or decompression process. Therefore, when a device is started up with software data on which a compression process with a high compression ratio has been carried out, the amount of computation required for the process of decompressing the software data at the time of startup increases and the load on the CPU becomes greater. Accordingly, when the startup process involves the compression and decompression of software data, if a compression process with a high compression ratio is executed, the data transfer time is shortened, but since the time required for the decompression process is lengthened, it may extend beyond the transfer processing time for non-compressed software data. Raising the software data compression ratio thus does not necessarily enable the transfer processing time to be shortened.
Devices and methods for shortening the overall transfer processing time have therefore been devised. In a conventional information processing device, data are compressed in section units that match the section units in which the data are transferred, whereby at startup, the data transfer timing matches the timing of the decompression process, random access performance is improved, and a higher compression ratio is realized.
Patent reference 1: Japanese patent application publication No. 2010-277495
After an information processing device is powered on, however, the CPU is under an elevated processing load because of initialization processing tasks and the like. When a decompression process is performed while the CPU is under an elevated processing load because of initialization processing tasks and the like, the time until the software data become usable is lengthened in comparison with the case in which the decompression process is simply performed alone. The higher the compression ratio, the more the required transfer time can be shortened, but the required time for decompression of the software data is also lengthened. Another problem that may occur is that the other initialization processing tasks of the device are held up.
The present invention addresses the above problems with the object of providing an information processing device, a broadcast reception device, and a software data update method that can shorten the time from power-on until given functions become executable.
An information processing device according to the present invention includes: a processing load information measurement unit for measuring a processing load imposed by a transfer process and a decompression process when executed according to a given schedule by a computation unit, the transfer process including reading compressed software data from a first storage unit in which the compressed software data are stored and, before the computation unit executes the software data, writing the software data into a second storage unit in which the software data are temporarily stored, the decompression process decompressing the software data read from the first storage unit; a compression process determination unit for, on a basis of processing load information obtained by measurement in the processing load information measurement unit, selecting a candidate compression type and compression ratio to be applied to the software data when written into the first storage unit, calculating the processing load on the computation unit when the computation unit executes the transfer process and the decompression process on the software data, to which the selected compression type and compression ratio have been applied, and calculating a data transfer efficiency, and determining that the selected compression type and compression ratio will be used in a compression process for compressing the software data if, from the calculated processing load and data transfer efficiency, data transfer time can be shortened; and a data compression unit for causing execution of the compression process using the compression type and compression ratio determined by the compression process determination unit and a process of writing the compressed software data, on which the compression process has been executed, into the first storage unit.
A broadcast reception device according to the present invention includes: a broadcast signal decoding unit for decrypting a received broadcast signal, separating a video signal, an audio signal, and a data broadcast signal from the decrypted signal, and generating video information, audio information, and data broadcast screen information from the video signal, the audio signal, and the data broadcast signal; an audio-video output unit for outputting the video information, the audio information, and the data broadcast screen information generated by the broadcast signal decoding unit; a first storage unit for storing, in a compressed form, software data for driving the broadcast signal decoding unit and the audio-video output unit; a second storage unit into which the software data are written after having been read from the first storage unit; a computation unit for executing the software data written into the second storage unit and driving the broadcast signal decoding unit, the audio-video output unit, the first storage unit, and the second storage unit; a processing load information measurement unit for measuring a processing load imposed by a transfer process and a decompression process when executed according to a given schedule by the computation unit, the transfer process including reading the software data from the first storage unit and writing the software data into the second storage unit, the decompression process decompressing the software data read from the first storage unit; and a data transfer control unit having a compression process determination unit for, on a basis of processing load information obtained by measurement in the processing load information measurement unit, selecting a candidate compression type and compression ratio to be applied to the software data when written into the first storage unit, calculating the processing load on the computation unit when the computation unit executes the transfer process and the decompression process on the software data, to which the selected compression type and compression ratio have been applied, and calculating a data transfer efficiency, and determining that the selected compression type and compression ratio will be used in a compression process for compressing the software data if, from the calculated processing load and data transfer efficiency, data transfer time can be shortened; and a data compression unit for causing execution of the compression process using the compression type and compression ratio determined by the compression process determination unit and a process of writing the compressed software data, on which the compression process has been executed, into the first storage unit.
A software update method according to the present invention includes: a processing load information measurement process for measuring a processing load imposed by a transfer process and a decompression process when executed according to a given schedule by a computation unit, the transfer process including reading compressed software data from a first storage unit in which the compressed software data are stored and, before the computation unit executes the software data, writing the software data into a second storage unit in which the software data are temporarily stored, the decompression process decompressing the software data read from the first storage unit; a candidate selection process for, on a basis of processing load information obtained by measurement in the processing load information measurement process, selecting a candidate compression type and compression ratio to be applied to the software data when written into the first storage unit; a calculation process for calculating the processing load on the computation unit and the data transfer efficiency; a determination process for determining that the selected compression type and compression ratio will be used in a process of compressing the software data if, from the processing load and data transfer efficiency calculated by the calculation process, data transfer time can be shortened; and a data compression process for causing execution of the compression process using the compression type and compression ratio determined by the compression process determination unit and a process of writing the compressed software data, on which the compression process has been executed, into the first storage unit.
A software update method according to the present invention includes: a measurement process for measuring a processing load imposed on a computation unit when a decompression process is carried out on compressed software read from a first storage unit storing software data; an inference process for inferring a time required for the computation unit to execute the decompression process under the imposed processing load, for various compression types and compression ratios; a determination process for determining the compression type and compression ratio with the shortest inferred time in the inference process as the compression type and compression ratio to be applied to the software stored in the first storage unit; and a data compression process for causing execution of a compression process using the determined compression type and compression ratio, and a writing process for writing the compressed software data, on which the compression process has been executed, into the first storage unit.
Because an information processing device according to the present invention includes: a processing load information measurement unit for measuring a processing load imposed by a transfer process and a decompression process when executed according to a given schedule by a computation unit, the transfer process including reading compressed software data from a first storage unit in which the compressed software data are stored and, before the computation unit executes the software data, writing the software data into a second storage unit in which the software data are temporarily stored, the decompression process decompressing the software data read from the first storage unit; a compression process determination unit for, on a basis of processing load information obtained by measurement in the processing load information measurement unit, selecting a candidate compression type and compression ratio to be applied to the software data when written into the first storage unit, calculating the processing load on the computation unit when the computation unit executes the transfer process and the decompression process on the software data, to which the selected compression type and compression ratio have been applied, and calculating a data transfer efficiency, and determining that the selected compression type and compression ratio will be used in a compression process for compressing the software data if, from the calculated processing load and data transfer efficiency, the data transfer time can be shortened; and a data compression unit for causing execution of the compression process using the compression type and compression ratio determined by the compression process determination unit and a process of writing the compressed software data, on which the compression process has been executed, into the first storage unit, the combined time including the time taken to transfer software data from a nonvolatile memory to a random access memory and the time taken to decompress the software data, if the software data are compressed, can be shortened.
Because a broadcast reception device according to the present invention includes: a broadcast signal decoding unit for decoding a received broadcast signal, separating a video signal, an audio signal, and a data broadcast signal from the decoded signal, and generating video information, audio information, and data broadcast screen information from the video signal, the audio signal, and the data broadcast signal; an audio-video output unit for outputting the video information, the audio information, and the data broadcast screen information generated by the broadcast signal decoding unit; a first storage unit for storing, in a compressed form, software data for driving the broadcast signal decoding unit and the audio-video output unit; a second storage unit into which the software data are written after having been read from the first storage unit; a computation unit for executing the software data written into the second storage unit and driving the broadcast signal decoding unit, the audio-video output unit, the first storage unit, and the second storage unit; a processing load information measurement unit for measuring a processing load imposed by a transfer process and a decompression process when executed according to a given schedule by the computation unit, the transfer process including reading the software data from the first storage unit and writing the software data into the second storage unit, the decompression process decompressing the software data read from the first storage unit; and a data transfer control unit having a compression process determination unit for, on a basis of processing load information obtained by measurement in the processing load information measurement unit, selecting a candidate compression type and compression ratio to be applied to the software data when written into the first storage unit, calculating the processing load on the computation unit when the computation unit executes the transfer process and the decompression process on the software data, to which the selected compression type and compression ratio have been applied, and calculating a data transfer efficiency, and determining that the selected compression type and compression ratio will be used in a compression process for compressing the software data if, from the calculated processing load and data transfer efficiency, data transfer time can be shortened, and a data compression unit for causing execution of the compression process using the compression type and compression ratio determined by the compression process determination unit and a process of writing the compressed software data, on which the compression process has been executed, into the first storage unit, the combined time including the time taken to transfer software data from a nonvolatile memory to a random access memory and the time taken to decompress the software data, if the software data are compressed, can be shortened.
Because a software update method according to the present invention includes: a processing load information measurement process for measuring a processing load imposed by a transfer process and a decompression process when executed according to a given schedule by a computation unit, the transfer process including reading compressed software data from a first storage unit in which the compressed software data are stored and, before the computation unit executes the software data, writing the software data into a second storage unit in which the software data are temporarily stored, the decompression process decompressing the software data read from the first storage unit; a candidate selection process for, on a basis of processing load information obtained by measurement in the processing load information measurement process, selecting a candidate compression type and compression ratio to be applied to the software data when written into the first storage unit; a calculation process for calculating the processing load on the computation unit and the data transfer efficiency; a determination process for determining that the selected compression type and compression ratio will be used in a process of compressing the software data if, from the processing load and data transfer efficiency calculated by the calculation process, data transfer time can be shortened; and a data compression process for causing execution of the compression process using the compression type and compression ratio determined by the compression process determination unit and a process of writing the compressed software data, on which the compression process has been executed, into the first storage unit, the combined time including the time taken to transfer software data from a nonvolatile memory to a random access memory and the time taken to decompress the software data, if the software data are compressed, can be shortened.
Because a software update method according to the present invention includes: a measurement process for measuring a processing load imposed on a computation unit when a decompression process is carried out on compressed software read from a first storage unit storing software data; an inference process for inferring a time required for the computation unit to execute the decompression process under the imposed processing load, for various compression types and compression ratios; a determination process for determining the compression type and compression ratio with the shortest inferred time in the inference process as the compression type and compression ratio to be applied to the software when stored in the first storage unit; and a data compression process for causing execution of a compression process using the determined compression type and compression ratio and a writing process for writing the compressed software data, on which the compression process has been executed, into the first storage unit, the combined time including the time taken to transfer software data from a nonvolatile memory to a random access memory and the time taken to decompress the software data, if the software data are compressed, can be shortened.
a) and 5(b) are explanatory diagrams illustrating the load on, or usage ratio of, the main control unit of the broadcast reception device.
a) and 6(b) are explanatory diagrams illustrating the data transfer efficiency of the broadcast reception device.
a) and 7(b) are explanatory diagrams showing information about the processing load on the broadcast reception device according to the first embodiment over time.
a) and 8(b) are explanatory diagrams showing information about the processing load over time when the compression type and compression ratio of the broadcast reception device according to the first embodiment are changed.
a) and 9(b) are explanatory diagrams illustrating processing time for different cases of compression type and compression ratio in a broadcast reception device according to the second embodiment.
In
The broadcast reception device 100 is also provided with an operation input unit 110 having a control button 7 for direct input of user's instructions to the broadcast reception device 100, a remote control 8 for similar but remote input of the user's instructions and a remote control reception unit 7 for receiving instructions from the remote control 8. The configuration of the operation input unit 110 is not limited to the example in
Some or all of the functions of the data transfer unit 102 in the main control unit 101 may be implemented by the main control unit 101, so they are assigned to the main control unit 101 in
All functions of the data transfer unit 102, such as the data transfer process scheduling function and the function of copying data between the auxiliary storage unit 107 and main storage unit 108, may be executed by the main control unit 101, or the data copying function may be executed by a component provided separately from the main control unit 101. If the data copying function is implemented by a component provided separately from the main control unit 101, the load on the main control unit 101 while the data transfer process is being executed changes. That configuration will be described later. Some or all of the functions of the data compression/decompression unit 103 of the main control unit 101 may similarly be implemented by component means provided separately from the main control unit 101. That changes the load on the main control unit 101 while the data decompression process is being executed at startup.
The operation input unit 110 is provided as a means for input of a power-on instruction from an operation performed by the user, but the main control unit 101 may also be configured to start the initialization process without the intervention of the operation input unit 110, at a startup time specified beforehand in a power-on instruction given to the main control unit 101, for example, in which case the operation input unit 110 is not required.
In step S2, the main control unit 101 executes an initialization process that is necessary for the execution of subsequent processes. In this step, the main control unit 101 activates the processing load measurement storage unit 104 (processing load information measurement unit) and starts measuring the load status of the main control unit 101 while the subsequent steps are executed. Information about the load on the main control unit 101 over time, as measured by the processing load measurement storage unit 104, is stored in the main storage unit 108 or elsewhere.
In step S3, the main control unit 101 selects software data to be used in the startup process of the broadcast reception device 100. The software data may be selected in accordance with a transfer/decompression schedule that was created by the transfer/decompression scheduling unit 106 in the main control unit 101 during or before the most recent startup and is stored in the auxiliary storage unit 107; a list of software data stored in the auxiliary storage unit 107 may also be searched, and software data found in this way may be added for the selection.
Whether to perform a data transfer of the software data selected in step S3 from the auxiliary storage unit 107 to the main storage unit 108 is decided in step S4. If there are software data to be used in the startup process, step S5 is executed next. If the selected software data have already been transferred to the main storage unit 108 or if there were no software data to be selected, the startup process ends. When the startup process ends, measurement by the processing load measurement storage unit 104 ends. If there were no software data to be selected, the startup process is carried out only insofar as it can be executed with the initialization process by the main control unit 101 in step S2 alone. If there are multiple items of software data to be selected, then after steps S5 to S8 are executed, step S3 is executed again to select the software data to be launched next.
In step S5, data transfer of the corresponding software data from the auxiliary storage unit 107 to the main storage unit 108 is performed by using the functions of the data transfer unit 102 in the main control unit 101. The starting time of the data transfer process depends on the transfer/decompression schedule stored in the auxiliary storage unit 107. Whether the software data that have been transferred to the main storage unit 108 are compressed data is determined in step S6. If the data are compressed data, the decompression process for the corresponding software data is executed in step S7 at the decompression process starting time specified in the transfer/decompression schedule; if they are not compressed data, step S7 is skipped. In step S8, the startup process begins, using the software data that have been decompressed in the main storage unit 105 and are ready for the startup process. Then the process returns to step S3 in order to select the next item of software data to be used in the startup process.
To simplify the description, the flowchart in
In the flowchart in
It was stated that when the initialization process of the main control unit 101 is executed in step S2 in the flowchart in
If the flowchart in
In step S12, the compression type and compression ratio of the software data at the most recent startup are obtained and provisionally set as the values to be used at the next startup. The compression type represents the type of the compression algorithm or compression tool to be used in compression or decompression, and the compression ratio represents the compression ratio to be used with the corresponding compression type. In some cases, a plurality of compression ratios can be specified for a single compression type. In step S13, the information about the processing load on the main control unit 101 over time stored in the main storage unit 108 or elsewhere is obtained. The information about the processing load on the main control unit 101 over time includes values of the load status of the main control unit 101 at successive times and information such as the starting times and ending times of the data transfer process and decompression process for the software data. In step S14, on the basis of the information about the processing load on the main control unit 101 over time at the most recent startup obtained in step S13, the load status of the main storage unit 101, when the data transfer process from the auxiliary storage unit 107 to the main storage unit 108 was executed for the software data at the most recent startup and when the decompression process was executed for compressed software data, is analyzed, and the load on the main control unit and the data transfer efficiency are calculated for each process.
a) and 5(b) are explanatory diagrams illustrating the load on or usage ratio of the main control unit 101 of the broadcast reception device. The load on the main control unit calculated here is, for example, a cumulative value of the usage ratio of the main control unit 101 during a process. In
a) and 6(b) are explanatory diagrams illustrating the data transfer efficiency of the broadcast reception device. The data transfer efficiency calculated here is, for example, the proportion of the processing time during which data were actually transferred. In
Next, in step S15 in the flowchart in
In step S16, whether there is a candidate is determined. If there is no candidate, the new candidate selection process stops, and the flow proceeds to step S20. If there is a candidate, the flow proceeds to step S17. If the compression ratio can be set in a variable manner, then it may be possible for candidate selection to proceed endlessly. In that case, a selection stop flag is set in the following step S18 to prevent the selection process from proceeding beyond a given limit; when the selection stop flag is set, the selection of a new candidate stops in step S16, and the flow proceeds to step S20.
In step S17, the load on and data transfer efficiency of the main control unit when the newly selected candidate compression type and compression ratio are used are calculated (calculation process). After the compression type and compression ratio have been selected and the software data to be compressed have been identified, the load on and data transfer efficiency of the main control unit can be calculated by, for example, the following procedure.
From information such as the compression type and compression ratio used for the corresponding software data at the most recent startup, the size of the compressed software data, and the amount of data transferred from the auxiliary storage unit 107 to the main storage unit 108 per unit time, the processing load on the main control unit 101 during the data transfer process and during the decompression process when the data transfer process for the software data is executed without being affected by other processes is determined.
Next, from the information such as the compression type and compression ratio used for the corresponding software data at the most recent startup, the size of the compressed software data, and the amount of data transferred from the auxiliary storage unit 107 to the main storage unit 108 per unit time, the processing load on the main control unit 101 during the data transfer process and during the decompression process when the data transfer process for the software data is executed without being affected by other processes is determined.
a) and 8(b) are explanatory diagrams showing information about the processing load over time when the compression type or compression ratio of the broadcast reception device according to the first embodiment is changed.
Finally, the processing load of the data transfer process and decompression process alone when the newly selected compression type and compression ratio are used, as obtained in
In step S18 in
As described above, the compression types and compression ratios that can be executed by the broadcast reception device 100 are selected; the compression type and compression ratio with the shortest overall data transfer processing time for the corresponding software data are determined; and a transfer/decompression schedule appropriate for them can be obtained. After the candidate compression type and compression ratio to be used at the next startup have been determined, the process proceeds from step S16 to step S20. If the compression ratio can be set in a variable manner, then candidates can be selected limitlessly in step S15, but in this case, when the difference from the overall data transfer processing time with the current candidate compression type and compression ratio does not exceed a certain threshold value in step S18, instead of proceeding to step S19, the number of times this process has been performed may be incremented, and when it is determined in step S18 that the difference in time does not exceed the threshold value a certain number of times or more, instead of next selecting a new candidate compression type and compression ratio in step S15, the process can next proceed from step S16 to step S20.
In step S20 in
As described above, when the procedure in the flowchart in
If the procedure in the flowchart in
By measuring the information about the processing load on the main control unit 101 over time while the data transfer process and decompression process are being executed on the software data to be used at startup and by selecting the optimum compression type and compression ratio for the corresponding software data through the use of the measured time-wise information as described above, it becomes possible to execute the data transfer process and decompression process for the software data in a shorter time at the next startup than at the most recent startup.
In the first embodiment, if the broadcast reception device 100 supports a finite number of compression types and compression ratios and uses a finite number of software data items at startup, and if the startup procedure of the broadcast reception device 100 is the same, then there are a comparatively small, finite number of combinations of compression types and compression rates for each item of software data, and the broadcast reception device 100 can derive the shortest startup time from among the combinations by multiple repetitions of the procedure that determines the optimum compression type and compression ratio at the next startup in the flowchart in
If the derived combination of compression types and compression ratios that minimize the startup times of the individual items of software data is always used, the software data of the program that executes the procedure illustrated in the flowchart in
Information processing devices and broadcast reception devices in which the present invention is applied can shorten the time until given functions become executable after power is switched on, even if the processing load on the CPU after power-on is high, and the effect of enabling a quick, high-speed startup can be obtained.
In the first embodiment, the compression type and compression ratio were determined on the basis of the data transfer processing time and decompression processing time for each compression type or compression ratio. The startup time can be reduced further, however, by using the information about the processing load on the main control unit 101 over time to make these determinations. Some broadcast reception devices 100 have means that, like the DMA controller 3 and DMA scheduler 2 in
a) and 9(b) are explanatory diagrams illustrating processing time for different cases of compression type and compression ratio in a broadcast reception device according to the second embodiment. Taking four compression processes having different compression types and compression ratios,
b) is similar to
The processing load on the computation unit (main control unit 101) while the decompression process is carried out for software data stored in a compressed state in the auxiliary storage unit is measured; the time required by the computation unit to execute the decompression process in the measured processing load state is inferred for each compression type and compression ratio; the compression type and compression ratio with the shortest inferred time are determined as the compression type and compression ratio to be applied to the software stored in the auxiliary storage unit; and the compression process using the determined compression type and compression ratio and the process of writing the software data compressed by executing the compression process into the auxiliary storage unit are executed. Accordingly, the total time, including the time for transfer of the software data from the nonvolatile memory to the random access memory and the decompression time, if the software data have been compressed, can be reduced. To simplify the description in the comparison of
1 CPU, 2 DMA scheduler, 3 DMA controller, 4 nonvolatile memory, 5 RAM, 6 remote control reception unit, 7 control button, 8 remote control, 11 tuner, 12 descrambler, 13 demultiplexer, 14 video information decoder, 15 audio information decoder, 16 data broadcast processor, 17 graphics generator, 18 video combiner, 19 video scaler, 20 analog converter, 100 broadcast reception device, 101 main control unit, 102 data transfer unit, 103 data compression/decompression unit, 104 processing load measurement storage unit, 105 compression process determination unit, 106 transfer/decompression scheduling unit, 107 auxiliary storage unit, 108 main storage unit, 110 operation input unit, 111 broadcast signal decoding unit, 112 audio-video output unit
Number | Date | Country | Kind |
---|---|---|---|
2012-238156 | Oct 2012 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2013/006207 | 10/21/2013 | WO | 00 |