JP3840045B2 - Data processing method and data processing apparatus - Google Patents
Data processing method and data processing apparatus Download PDFInfo
- Publication number
- JP3840045B2 JP3840045B2 JP2000237269A JP2000237269A JP3840045B2 JP 3840045 B2 JP3840045 B2 JP 3840045B2 JP 2000237269 A JP2000237269 A JP 2000237269A JP 2000237269 A JP2000237269 A JP 2000237269A JP 3840045 B2 JP3840045 B2 JP 3840045B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- input
- data
- processing
- processor
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、例えば、インターネットやデジタル放送などで音楽や映像などのデータを受信しながらリアルタイムに再生する(ストリーミング)際のマルチタスクによるデータ処理方法およびそれを用いたデータ処理装置に関する。
【0002】
【従来の技術】
複数のタスクを単一の処理装置(プロセッサ)で処理する場合、時間分割して処理することが行われている。ある時刻には1個のタスクが実行されており、このタスクの実行が中断されると、制御プログラムに制御が移され、制御プログラムは次に実行するタスクを決定する。従来の方式では、制御プログラムは、実行可能なタスクの中で、各タスクの優先順位を示す、あらかじめ数値化された値の大小に基づいて、次に実行するタスクを決定する。詳細な決定アルゴリズムは幾通りかあるが、代表的なものは次の通りである。実行可能なタスクの中で、最も優先度の高いものが1個ある場合は、それが選択される。最も優先度の高いものが2個以上ある場合には、それらがサイクリックに順番に実行されるように決定される。
【0003】
優先順位を示す数値は、タスクの実行中に固定であるものや変化するものがある。変化するものは、タスク自身が値を変更するのが普通の方法である。つまりプログラムの実行位置に応じて、高い優先度が必要になった場合には優先度を上げ、低い優先度でも良くなった場合には優先度を下げるのである。
【0004】
ところが、インターネットやデジタル放送などで音楽や映像などのデータを受信しながらリアルタイムに再生する(ストリーミング)際には、連続的に入力されてくる音声データなどストリーミング・データを処理するプログラムにおいては、未処理のデータが格納されるバッファの占有量など、プログラムの実行位置でなく、外的要因に応じて、優先度を変化させる必要がある。すなわち、未処理の入力データが少ないときは処理を急がないが、未処理の入力データが多いときは処理を急がないと入力データがオーバーフローしてしまい、データが欠落してしまう。あるいは、一定の遅延以内で処理を行わないと、出力データに時間的切れ目が生じてしまい、音声データならば音がとぎれるという間題が発生する。
【0005】
【発明が解決しようとする課題】
従来のマルチタスク処理は、固定の優先順位や、プログラム自身が設定する優先度に基づいて処理対象のタスクの切り換えを制御するものであり、複数の処理の入出力系統の現状(入出力バッファ内のデータ量)を評価してタスクの優先度を定める必要のあるストリーミングを行う際には適していないという問題点があった。
【0006】
そこで、本発明は、複数の処理の入出力系統の現状が時々刻々と変化するような複数の処理対象データに対するマルチタスク処理を可能にし、ストリーミングに適したマルチタスクデータ処理方法およびそれを用いた処理装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、複数の処理対象データに対し複数の異なる処理をマルチタスク処理にて実行するためのデータ処理方法であって、処理対象のタスクを切り換えるにあたって、各タスクについて前記複数の処理の入出力系統の現状に対する評価を行ってそれぞれの優先度を算出し、この優先度に基づき次の処理対象のタスクを決定することにより、複数の処理の入出力系統の現状が時々刻々と変化するような複数の処理対象データに対するデータ処理をマルチタスク処理にて実行することが可能となる。
【0008】
好ましくは、各タスクについて前記複数の処理の入出力系統の現状に対する評価を行うための関数を用いて、それぞれのタスクの優先度を算出する。
【0009】
本発明は、複数の処理対象データに対し複数の異なる処理をマルチスク処理にて実行する処理装置において、処理対象のタスクを切り換えるにあたって、各タスクについて前記複数の処理の入出力系統の現状に対する評価を行ってそれぞれの優先度を算出する算出手段を具備し、この算出された優先度に基づき次の処理対象のタスクを決定することにより、複数の処理の入出力系統の現状が時々刻々と変化するような複数の処理対象データに対するデータ処理をマルチタスク処理にて実行することが可能となる。
【0010】
好ましくは、各タスクについて前記複数の処理の入出力系統の現状に対する評価を行うための関数を用いて、それぞれのタスクの優先度を算出する。
【0011】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
【0012】
図1は、本実施形態に係るデータ処理装置(以下、簡単に処理装置と呼ぶ)1の要部の構成を概念的に示したものである。処理対象のデータが複数(ここでは、例えばn系列)あり(入力データIDATA_1〜IDATA_n)、それらはそれぞれ入力バッファIBF_1〜入力バッファIBF_nに入力される。これら入力データは、例えば、複数チャネルのオーディオ信号やビデオ信号などである。これらのデータは、マクロ的にはほぼ一定のレートで入力されることが多いが、ミクロ的には入力バッファに転送する側の性質に依存するものであり、バースト的に入力される場合もありうる。
【0013】
図1における処理装置1において、各入力データに対する処理が遅れると、入力バッファがオーバーフローしてしまうため、それが起こらないように処理しなければならない。
【0014】
処理装置1は、ハードウェア的には単一のプロセッサで構成されており、この上で複数(ここでは、例えばm個)のタスク(タスク(1)〜タスク(m))が動作するものとする。
【0015】
タスク(1)〜タスク(m)は、入力バッファIBF_1〜IBF_nに格納されているデータを逐次処理していくための処理プログラムである。
【0016】
入力バッファIBF_1〜IBF_nに格納されている入力データIDATA_1〜IDATA_nは、タスク(1)〜タスク(m)で処理されて、複数(ここでは、例えばs系列)の出力データODATA_1〜ODATA_sとして出力され、それそれ出力バッファOBF_1〜OBF_sに格納される。なお、出力バッファがそのまま入力バッファに対応することもあるが、ここでは、説明の簡単のため、それぞれ別個に設けられているものとする。なお、m=nおよびまたはn=sであってもよい。
【0017】
図1の処理装置1は単一のプロセッサで構成されているので、同時には1個のタスクしか実行されず、m個のタスクは時間分割されて実行されることになる。なお、ここでは、単一のプロセッサで構成された処理装置の場合を例にとり説明するが、一般的には、mより少ない複数のプロセッサで構成された処理装置でも同様である。
【0018】
各タスクへの時間割り当てを決めるのは、制御プログラム2である。タスクの時間割り当ては次のようにして行われる。ある時刻にタスク(k)(1≦k≦mの整数)が実行されているとする。
【0019】
タスク(k)はある条件に従って処理が中断される。この条件は、従来の一般的なマルチタスク制御方式においては、タスク(k)の実行が始まってから一定時間が経過したときである。すなわち、時間を固定長のタイム・スロットに分割し、各タイム・スロット毎にタスクを割り当てる方式である。
【0020】
本発明においても、このような方式を用いることも可能である。また、この方式を用いない場合としては、タスク(k)が自ら実行を中断する方式が考えられる。後者の方式による利点は、自らの都合で中断を行えるため、処理上区切りがよいところで中断することにより、タスク切り替え時の時間が短くなり、効率がよいことである。すなわち逆に言えば、前者のように強制的に中断される方式では、後で再開するときに必要な中間データが大きくなり、中断時にそれらを保存したり、再開時にそれらを復元したりするのに、より多くの時間を費やすことになる。後者の方式における処理上の区切りとは、例えば、入力データが圧縮符号化されたオーディオ信号の場合には、フレームの区切りとすると都合がよい。
【0021】
本実施形態では、前者の予め定められた時間経過したときタスクの処理を中断させてタスクをり換える方式であっても、後者のタスク自身が例えばフレームの区切りをきっかけに処理を中断してときタスクを切り換える方式であっても適用可能である。
【0022】
以下、図2に示すフローチャートを参照して、制御プログラム2のマルチタスク制御処理動作について説明する。
【0023】
タスク(k)が処理装置のプロセッサにより実行され、その実行が中断されると、制御プログラム2に処理が移される。制御プログラム2は、OS(オペレーションシステム)が存在するシステムの場合には、通常、OSの一部である。制御プログラム2は、ある条件により次に実行するタスクを決定するものである。
【0024】
従来の制御プログラムにおいては、各タスクに優先度を示す数値が設定されており、実行可能なタスクの中で、それらの数値の最も大きいものが次に実行されるタスクとして選択される。ここで、実行可能とは、図1のような処理系の場合には、各タスクに対応する処理の入出力系統において、その入力バッファが空でなく、かつ対応する出力バッファがフルでないことである。
【0025】
しかしながら、図1に示す処理系では、各タスクにあらかじめ優先度をつけておくことや、タスク実行時に自分自身の優先度を設定しておくことは望ましくない。なぜなら、ここでの優先度のあるべき姿は、入力バッファがオーバーフローしないことや、出力バッファが空にならないことであり、これらの条件は当該タスクが実行していない場合にも時々刻々と変化するからである。すなわち優先度と表す数値が時々刻々と変化するようになっている必要がある。
【0026】
本発明では、時々刻々と変化する優先度を実現するために、各タスク(1)〜タスク(m)のそれぞれにステータス関数st_1〜st_mを対応付け、制御プログラム2が次に実行すべきタスクを選択する時点(タスクの切り換え時)において、すなわち、今まで実行していたタスクが中断した後に、各タスク(1)〜タスク(m)のそれぞれに対応したステータス関数st_1〜st_mを呼び(ステップS1)、各ステータス関数により、例えば、後述する算出方法にて優先度を算出した結果を取得する(ステップS2)。
【0027】
制御プログラムは、各ステータス関数から得られた値、すなわち、各タスクの優先度から、次に実行すべきタスクとして、最も優先度の高いタスクを選択する。ここでは、その選択されたタスクをタスク(k)とする(ステップS3)。制御プログラムは、タスクの切り換え時に、プロセッサに、この選択されたタスク(k)を次の処理対象として実行させる。
【0028】
各ステータス関数st_1〜st_mは、それらに対応したタスクの入出力系統の現状を評価し、それに応じた優先度を返すように作られている。また各タスクが実行可能か実行不可能かの情報も返すようにすることも可能なようになっている。ここで実行不可能とは、例えば入力バッファ占有量が空か、出力バッファ占有量がフルの場合である。
【0029】
制御プログラム2は、ステップS3において、これらすべてのステータス関数を呼んだ後、実行可能なタスクの内で最も優先度が高いものを、次に実行するタスクとして選択する。
【0030】
次に、ステータス関数の優先度の算出方法について、ここでは2例を挙げて説明する。なお、ステータス関数の優先度の算出方法は、ここに挙げるもののみに限るものではない。
【0031】
第1の算出方法としては、各ステータス関数は、それに対応した入力バッファの占有量を調べ、その占有量をある規則に従って優先度に変換する。ある規則とは、例えば、占有量とあらかじめ予想される入力データのレートから、オーバーフローするまでの時間を推測し、その時間が短いほど優先度が高くなり、その時間が長いほど優先度が低くなるようなテーブルにより変換する。
【0032】
第2の算出方法としては、各ステータス関数は、それに対応したタスクが処理を完了しているデータのタイム・スタンプを調べ、その時刻と実際の時刻との差を優先度に変換して返す。この場合は、入力データIDATA_1〜IDATA_nがすべてタイム・スタンプを持ったデータであることが条件である。また、処理装置1には現在時刻を表す時計またはカウンタが具備されているものとする。この例では、実時間に対する遅延が最も大きいものに最も高い優先度が与えられる。
【0033】
以上説明したように、上記実施形態によれば、各タスクにその対応する処理の入出力系統の現状に対する評価を行うためのステータス関数を対応づけ、制御プログラム2は、処理対象のタスクの切り換えるにあたって、各タスクのステータス関数から返ってきた値をタスクの優先度として用いて、次の処理対象のタスクを決定することにより、複数の処理の入出力系統の現状が時々刻々と変化するような複数の処理対象データに対するデータ処理をマルチタスク処理にて実行することが可能となり、例えば、ストリーミングの際に、処理が所定の時刻に間に合うように行われ、入力バッファがオーバーフローしたり、出力がとぎれたりすることがなくなる。
【0034】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題(の少なくとも1つ)が解決でき、発明の効果の欄で述べられている効果(のなくとも1つ)が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0035】
【発明の効果】
以上説明したように、本発明によれば、複数の処理の入出力系統の現状が時々刻々と変化するような複数の処理対象データに対するデータ処理をマルチタスク処理にて実行することが可能となり、ストリーミングに適したマルチタスクデータ処理を実現できる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るデータ処理装置の要部の構成を概念的に示した図。
【図2】制御プログラムのマルチタスク制御処理動作を説明するためのフローチャート。
【符号の説明】
IDATA_1〜IDATA_n…入力データ
IBF_1〜IBF_n…入力バッファ
St_1〜St_m…ステータス関数
ODATA_1〜ODATA_s…出力データ
OBF_1〜OBF_s…出力バッファ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a multitasking data processing method and a data processing apparatus using the same, for example, when data such as music or video is received (streamed) in real time while receiving data such as music or video over the Internet or digital broadcasting.
[0002]
[Prior art]
When a plurality of tasks are processed by a single processing device (processor), processing is performed in a time-sharing manner. One task is executed at a certain time, and when the execution of this task is interrupted, control is transferred to the control program, and the control program determines a task to be executed next. In the conventional method, the control program determines a task to be executed next based on the magnitude of a previously digitized value indicating the priority of each task among the executable tasks. There are several detailed decision algorithms, but typical ones are as follows. If there is one task with the highest priority among the executable tasks, it is selected. If there are two or more items having the highest priority, it is determined so that they are executed in a cyclic order.
[0003]
The numerical value indicating the priority order may be fixed or change during the execution of the task. For things that change, it is normal for the task itself to change the value. That is, according to the execution position of the program, the priority is raised when a high priority is required, and the priority is lowered when a lower priority is acceptable.
[0004]
However, when receiving data such as music or video on the Internet or digital broadcasting and playing it in real time (streaming), a program that processes streaming data such as continuously input audio data is not available. It is necessary to change the priority according to an external factor, not the execution position of the program, such as an occupation amount of a buffer in which processing data is stored. That is, when there is little unprocessed input data, the process is not urgent, but when there is a lot of unprocessed input data, if the process is not urgent, the input data overflows and data is lost. Alternatively, if processing is not performed within a certain delay, there will be a time break in the output data, and there will be a problem that sound is interrupted if it is audio data.
[0005]
[Problems to be solved by the invention]
Conventional multitask processing controls the switching of tasks to be processed based on a fixed priority order or a priority set by the program itself. The amount of data) is not suitable for streaming that requires task priorities to be determined.
[0006]
Therefore, the present invention enables multitask processing for a plurality of processing target data whose current state of input / output systems of a plurality of processing changes from moment to moment, and uses a multitask data processing method suitable for streaming and the same An object is to provide a processing apparatus.
[0007]
[Means for Solving the Problems]
The present invention is a data processing method for executing a plurality of different processes on a plurality of processing target data by multitask processing, and when switching the processing target task, input / output of the plurality of processes for each task By evaluating the current status of the system, calculating the priority of each, and determining the next processing target task based on this priority, the current status of the input / output systems of multiple processes changes from moment to moment. Data processing for a plurality of processing target data can be executed by multitask processing.
[0008]
Preferably, the priority of each task is calculated using a function for evaluating the current state of the input / output systems of the plurality of processes for each task.
[0009]
In the processing device that executes a plurality of different processes on a plurality of processing target data by multi-sk processing, the present invention evaluates the current state of the input / output system of the plurality of processes for each task when switching the processing target task. And calculating means for calculating the respective priorities, and determining the next task to be processed based on the calculated priorities, so that the current status of the input / output systems of the plurality of processes changes from moment to moment. Data processing for such a plurality of processing target data can be executed by multitask processing.
[0010]
Preferably, the priority of each task is calculated using a function for evaluating the current state of the input / output systems of the plurality of processes for each task.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0012]
FIG. 1 conceptually shows a configuration of a main part of a data processing apparatus (hereinafter simply referred to as a processing apparatus) 1 according to the present embodiment. There are a plurality of data to be processed (here, for example, n series) (input data IDATA_1 to IDATA_n), which are respectively input to the input buffer IBF_1 to the input buffer IBF_n. These input data are, for example, a plurality of channels of audio signals and video signals. These data are often input at a substantially constant rate on a macro scale, but microscopically, it depends on the nature of the transfer side to the input buffer, and may be input in bursts. sell.
[0013]
In the
[0014]
The
[0015]
Task (1) to task (m) are processing programs for sequentially processing the data stored in the input buffers IBF_1 to IBF_n.
[0016]
The input data IDATA_1 to IDATA_n stored in the input buffers IBF_1 to IBF_n are processed by the tasks (1) to (m) and output as a plurality of (here, for example, s series) output data ODATA_1 to ODATA_s. They are stored in the output buffers OBF_1 to OBF_s accordingly. Although the output buffer may correspond to the input buffer as it is, it is assumed here that each is provided separately for the sake of simplicity of explanation. Note that m = n and / or n = s.
[0017]
Since the
[0018]
It is the
[0019]
The task (k) is interrupted according to certain conditions. This condition is when a certain time has elapsed from the start of the execution of task (k) in the conventional general multitask control system. In other words, the time is divided into fixed-length time slots, and tasks are assigned to each time slot.
[0020]
In the present invention, such a method can also be used. Further, as a case where this method is not used, a method in which task (k) suspends its execution can be considered. The advantage of the latter method is that it can be interrupted at its own convenience, and by interrupting at a point where processing is good, the task switching time is shortened and efficiency is improved. In other words, if the method is forcibly interrupted as in the former case, the intermediate data required when restarting later will be large, and will be saved at the time of interruption or restored at the time of restart. And spend more time. For example, when the input data is an audio signal in which the input data is compression-encoded, it is convenient to use a frame delimiter in the latter method.
[0021]
In this embodiment, even if the former task is interrupted when the former predetermined time has passed and the task is replaced, the latter task itself interrupts the processing due to a frame break, for example. Even a method of switching tasks can be applied.
[0022]
The multitask control processing operation of the
[0023]
When the task (k) is executed by the processor of the processing device and the execution is interrupted, the processing is transferred to the
[0024]
In the conventional control program, a numerical value indicating the priority is set for each task, and among the executable tasks, the task having the largest numerical value is selected as the task to be executed next. Here, in the case of the processing system as shown in FIG. 1, in the processing system as shown in FIG. 1, in the input / output system of processing corresponding to each task, the input buffer is not empty and the corresponding output buffer is not full. is there.
[0025]
However, in the processing system shown in FIG. 1, it is not desirable to prioritize each task in advance or set its own priority when executing the task. This is because the priority should be that the input buffer does not overflow and the output buffer does not become empty. These conditions change from moment to moment even when the task is not running. Because. In other words, the numerical value representing the priority needs to be changed every moment.
[0026]
In the present invention, in order to realize the priority that changes from moment to moment, the status functions st_1 to st_m are associated with each of the tasks (1) to (m), and the task to be executed next by the
[0027]
The control program selects a task with the highest priority as a task to be executed next from the value obtained from each status function, that is, the priority of each task. Here, the selected task is defined as task (k) (step S3). The control program causes the processor to execute the selected task (k) as the next processing target when switching tasks.
[0028]
Each of the status functions st_1 to st_m is configured to evaluate the current state of the input / output system of the task corresponding to them and return a priority corresponding thereto. It is also possible to return information about whether each task can be executed or not. Here, execution is impossible, for example, when the input buffer occupation amount is empty or the output buffer occupation amount is full.
[0029]
In step S3, after calling all these status functions, the
[0030]
Next, a method for calculating the priority of the status function will be described here with two examples. Note that the method of calculating the priority of the status function is not limited to the method described here.
[0031]
As a first calculation method, each status function examines the occupation amount of the input buffer corresponding to the status function, and converts the occupation amount into priority according to a certain rule. A certain rule is, for example, estimating the time to overflow from the occupation amount and the rate of input data expected in advance. The shorter the time, the higher the priority, and the longer the time, the lower the priority. Convert by such a table.
[0032]
As a second calculation method, each status function examines a time stamp of data that has been processed by a task corresponding to the status function, and converts the difference between the time and the actual time into a priority and returns it. In this case, it is a condition that all the input data IDATA_1 to IDATA_n is data having a time stamp. Further, it is assumed that the
[0033]
As described above, according to the above embodiment, the status function for evaluating the current state of the input / output system of the corresponding process is associated with each task, and the
[0034]
In addition, this invention is not limited to the said embodiment, In the implementation stage, it can change variously in the range which does not deviate from the summary. Further, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriate combinations of a plurality of disclosed constituent requirements. For example, even if some constituent elements are deleted from all the constituent elements shown in the embodiment, the problem (at least one of them) described in the column of the problem to be solved by the invention can be solved, and the column of the effect of the invention If at least one of the effects described in (1) is obtained, a configuration from which this configuration requirement is deleted can be extracted as an invention.
[0035]
【The invention's effect】
As described above, according to the present invention, it becomes possible to execute data processing for a plurality of processing target data such that the current state of input / output systems of a plurality of processing changes from time to time in multitask processing, Multitask data processing suitable for streaming can be realized.
[Brief description of the drawings]
FIG. 1 is a diagram conceptually showing a configuration of a main part of a data processing apparatus according to an embodiment of the present invention.
FIG. 2 is a flowchart for explaining a multitask control processing operation of a control program.
[Explanation of symbols]
IDATA_1 to IDATA_n: input data IBF_1 to IBF_n ... input buffer St_1 to St_m ... status functions ODATA_1 to ODATA_s ... output data OBF_1 to OBF_s ... output buffer
Claims (4)
所定のレートで入力する入力データを記憶する複数の入力バッファと、
前記複数の入力バッファに記憶されたデータを処理する複数のタスクを前記プロセッサで時分割に実行するための制御を行う制御手段と、
前記プロセッサで実行される各タスクにより処理した結果出力される出力データを記憶する複数の出力バッファと、
を備えたデータ処理装置におけるデータ処理方法であって、
前記プロセッサで前記複数のタスクのうちの1つの実行が中断されたとき、前記制御手段が各入力バッファに記憶されたデータ量、及び当該入力バッファに入力する入力データのレートから、当該入力バッファがオーバーフローするまでの時間を計算する計算ステップと、
前記制御手段が、各入力バッファに記憶されたデータを処理するタスクに対し、当該入力バッファについて計算された前記時間が短いほど高い優先度を決定するステップと、
前記制御手段が、前記複数のタスクのうちの前記優先度の最も高いタスクを、前記プロセッサの次の処理対象として選択する選択ステップと、
前記制御手段が、選択されたタスクを前記プロセッサに実行させるステップと、
を有するデータ処理方法。A processor;
A plurality of input buffers for storing input data to be input at a predetermined rate;
Control means for performing control to execute a plurality of tasks for processing data stored in the plurality of input buffers in a time-sharing manner by the processor;
A plurality of output buffers for storing output data output as a result of processing by each task executed by the processor;
A data processing method in a data processing apparatus comprising:
When execution of one of the plurality of tasks is interrupted by the processor, the input buffer is determined based on the amount of data stored in each input buffer by the control means and the rate of input data input to the input buffer. A calculation step for calculating the time to overflow,
The control means determines a higher priority for the task of processing data stored in each input buffer as the time calculated for the input buffer is shorter ;
A selection step in which the control means selects a task having the highest priority among the plurality of tasks as a next processing target of the processor;
The control means causing the processor to execute a selected task;
A data processing method.
所定のレートで入力する入力データを記憶する複数の入力バッファと、
前記複数の入力バッファに記憶されたデータを処理する複数のタスクを前記プロセッサで時分割に実行するための制御を行う制御手段と、
前記プロセッサで実行される各タスクにより処理した結果出力される出力データを記憶する複数の出力バッファと、
を備えたデータ処理装置において、
前記制御手段は、
前記プロセッサで前記複数のタスクのうちの1つの実行が中断されたとき、各入力バッファに記憶されたデータ量、及び当該入力バッファに入力する入力データのレートから、当該入力バッファがオーバーフローするまでの時間を計算する手段と、
各入力バッファに記憶されたデータを処理するタスクに対し、当該入力バッファについて計算された前記時間が短いほど高い優先度を決定する手段と、
前記複数のタスクのうちの前記優先度の最も高いタスクを、前記プロセッサの次の処理対象として選択する選択手段と、
を備え、選択されたタスクを前記プロセッサに実行させることを特徴とするデータ処理装置。A processor;
A plurality of input buffers for storing input data to be input at a predetermined rate;
Control means for performing control to execute a plurality of tasks for processing data stored in the plurality of input buffers in a time-sharing manner by the processor;
A plurality of output buffers for storing output data output as a result of processing by each task executed by the processor;
In a data processing apparatus comprising:
The control means includes
When the execution of one of the plurality of tasks is interrupted by the processor, the amount of data stored in each input buffer and the rate of input data input to the input buffer until the input buffer overflows. A means of calculating time;
Means for determining a higher priority for the task of processing the data stored in each input buffer as the time calculated for the input buffer is shorter ;
Selecting means for selecting a task having the highest priority among the plurality of tasks as a next processing target of the processor;
A data processing apparatus comprising: causing the processor to execute a selected task.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000237269A JP3840045B2 (en) | 2000-08-04 | 2000-08-04 | Data processing method and data processing apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000237269A JP3840045B2 (en) | 2000-08-04 | 2000-08-04 | Data processing method and data processing apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002049497A JP2002049497A (en) | 2002-02-15 |
| JP3840045B2 true JP3840045B2 (en) | 2006-11-01 |
Family
ID=18729162
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000237269A Expired - Fee Related JP3840045B2 (en) | 2000-08-04 | 2000-08-04 | Data processing method and data processing apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3840045B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109947570A (en) * | 2019-03-21 | 2019-06-28 | 北京地平线机器人技术研发有限公司 | The creation method of video processing duties item and the dispatching method of input video stream |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9323571B2 (en) * | 2004-02-06 | 2016-04-26 | Intel Corporation | Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor |
| JP4878054B2 (en) * | 2009-03-03 | 2012-02-15 | 日本電信電話株式会社 | Video analysis apparatus, video analysis method, and video analysis program |
| JP7257772B2 (en) | 2018-10-31 | 2023-04-14 | ルネサスエレクトロニクス株式会社 | System using semiconductor device |
| JP7122942B2 (en) | 2018-10-31 | 2022-08-22 | ルネサスエレクトロニクス株式会社 | semiconductor equipment |
| US11789771B2 (en) * | 2019-09-28 | 2023-10-17 | Tencent America LLC | Method and apparatus for a step-enabled workflow |
| US12293218B2 (en) * | 2019-09-28 | 2025-05-06 | Tencent America LLC | Method and apparatus for a step-enabled workflow |
-
2000
- 2000-08-04 JP JP2000237269A patent/JP3840045B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109947570A (en) * | 2019-03-21 | 2019-06-28 | 北京地平线机器人技术研发有限公司 | The creation method of video processing duties item and the dispatching method of input video stream |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002049497A (en) | 2002-02-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2003058382A (en) | Preferential execution controlling method in information processing system, device and program therefor | |
| US8370846B2 (en) | Task execution device and method | |
| US6349321B1 (en) | Data processing system and scheduling method | |
| JP5173712B2 (en) | Multithreaded processor | |
| KR20060023514A (en) | Information processing apparatus, process control method, and computer program | |
| JP2006523881A (en) | Resource management method and apparatus | |
| JP3840045B2 (en) | Data processing method and data processing apparatus | |
| JP3802521B2 (en) | Encoding apparatus, encoding control method, and encoding control program | |
| US7877752B2 (en) | Method and system for efficient audio scheduling for dual-decode digital signal processor (DSP) | |
| US20070016908A1 (en) | Parallel operation apparatus | |
| US20020124043A1 (en) | Method of and system for withdrawing budget from a blocking task | |
| JPH02311932A (en) | Preference control system | |
| JP2002290384A (en) | Active / backup switching device for digital broadcast program transmission system | |
| JP2008216472A (en) | Speech decoding apparatus and speech decoding system | |
| US8615165B2 (en) | Video-recording and replaying apparatus, I/O scheduling method, and program | |
| JP2002099435A (en) | Multitask control method and information processing apparatus | |
| JPS62285140A (en) | Information processor | |
| JPH1063515A (en) | Scheduling method of multitask control | |
| JP2002189604A (en) | Multitask processing method and processing apparatus | |
| JP6815563B1 (en) | Data processing execution device, data processing execution method and data processing execution program | |
| JP2002099434A (en) | Control device | |
| JPH05241860A (en) | Time slice optimization system | |
| US8782648B2 (en) | Information processing system and related method thereof | |
| JP2011182169A (en) | Apparatus and method for encoding | |
| JP2884764B2 (en) | Signal processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050712 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050726 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050914 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060328 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060524 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060801 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060804 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090811 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100811 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100811 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110811 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |