JPH1115960A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH1115960A
JPH1115960A JP10028127A JP2812798A JPH1115960A JP H1115960 A JPH1115960 A JP H1115960A JP 10028127 A JP10028127 A JP 10028127A JP 2812798 A JP2812798 A JP 2812798A JP H1115960 A JPH1115960 A JP H1115960A
Authority
JP
Japan
Prior art keywords
function
processing
data
image processing
address
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.)
Withdrawn
Application number
JP10028127A
Other languages
English (en)
Inventor
Katsuhisa Muramatsu
克久 村松
Marshall Chris
クリス・マーシャル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nikon Corp
Original Assignee
Nikon Corp
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 Nikon Corp filed Critical Nikon Corp
Publication of JPH1115960A publication Critical patent/JPH1115960A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

Abstract

(57)【要約】 【課題】 複数の処理を任意の順番で実行させることが
できるようにする。 【解決手段】 所定の処理を行う各関数には、処理手順
と次の関数を呼び出すためのアドレスが記述されてい
る。例えば、画像処理関数Aが呼び出されると、画像処
理関数Aは、この関数の処理を実行した後、次に、画像
処理関数Cを呼び出す。画像処理関数Cは、この関数の
処理を実行した後、次に、画像処理関数Bを呼び出す。
画像処理関数Bは、この関数の処理を実行した後、リタ
ーンする。そして、画像処理関数Cがリターンし、最後
に、画像処理関数Aがリターンし、すべての処理を終了
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理装置に
関し、例えば、各関数が次に実行すべき関数を呼び出す
ようにすることにより、最適な処理を高速に行うことが
できるようにしたデータ処理装置に関する。
【0002】
【従来の技術】スキャナ等からの画像データの取り込み
は、取り込んだ画像データを記憶するメモリの記憶容量
等の制限のために、画像データをいくつかの領域に分割
し、各領域毎に行われる。
【0003】このようにして取得された画像データは、
何らかの画像処理が行われた後に、表示装置に表示され
たり、所定の用紙に印刷される。画像処理には、ガンマ
補正処理、解像度変換処理、輪郭調整処理等があり、状
況に応じて適切な順番で呼び出さなければならない。そ
こで、予め、処理を呼び出す順番を決定し、画像データ
を取り込んだ後は、その順番に従って処理を行うように
することが考えられる。その場合の処理手順について、
図6に示したフローチャートを参照して説明する。
【0004】最初に、ステップS1において、最適な処
理手順を判定し、図7に示すような処理順序データを生
成する。図7に示すように、処理順序データは、配列型
の変数(配列変数)からなり、各要素には、呼び出すべ
き関数が記憶されているメモリ上のアドレスが格納され
ている。この例では、配列変数の最初の要素に、画像処
理関数Aのメモリ上でのアドレスが格納され、次の要素
には、画像処理関数Cのメモリ上でのアドレスが格納さ
れる。配列変数の次の要素には、画像処理関数Dのメモ
リ上でのアドレスが格納され、次の要素には、画像処理
関数Bのメモリ上でのアドレスが格納される。
【0005】次に、ステップS2において、次の画像
を、例えばスキャナ等の入力装置から取得する。このと
き、上述したように、画像データを分割した各領域毎に
入力する。ステップS3においては、ステップS1にお
いて作成された処理順序データに従って、入力した所定
の領域の画像データに対して、画像処理が順次、実行さ
れる。この例の場合、ステップS1において、図7に示
したような処理順序データが生成されるので、画像処理
関数A乃至Dが、画像処理関数A,C,D,Bの順で呼
び出され、実行される。
【0006】次に、ステップS4において、画像データ
のすべての領域に対して、上記画像処理を行ったか否か
が判定される。画像データのすべての領域に対して、ま
だ画像処理を行っていないと判定された場合、ステップ
2に戻り、ステップS2以降の処理が繰り返し実行され
る。一方、画像データのすべての領域について、上記画
像処理を行ったと判定された場合、処理を終了する。
【0007】
【発明が解決しようとする課題】しかしながら、配列変
数の各要素に呼び出すべき関数のメモリ上でのアドレス
を格納し、配列変数の各要素に格納されたアドレスに対
応する関数を順に呼び出すことによって、関数を実行さ
せるようにすると、関数と関数の間に新たな関数を挿入
して実行させるような場合、時間を要する課題があっ
た。
【0008】例えば、図7に示した配列変数の2番目の
要素に、画像処理関数Eを挿入する場合、図8に示すよ
うに、一旦、配列変数の2番目以降の要素に格納された
アドレスを1つずつ移動させてから、空いた2番目の要
素に新たな画像処理関数Eを挿入する。このため時間を
要する。
【0009】途中の関数を削除する場合にも、削除した
関数に対応するアドレスが格納されていた配列変数の要
素を埋めるために、その後のアドレスを順に移動させる
必要があり、時間を要する課題があった。
【0010】また、動的に配列変数を確保するようにし
た場合、新たなデータを追加するときのオーバヘッドが
大きくなる課題があった。
【0011】さらに、配列変数の各要素に呼び出すべき
関数のメモリ上でのアドレスを格納する場合、配列変数
の要素数には制限があるため、呼び出す関数の数も制限
され、所定数以上の関数を実行させることができない課
題があった。
【0012】例えば、図7に示した配列変数の場合、6
以上の関数を実行させることができない。
【0013】本発明はこのような状況に鑑みてなされた
ものであり、データに対して最適な複数の処理を高速に
行うことができるようにするものである。
【0014】
【課題を解決するための手段】請求項1に記載のデータ
処理装置は、所定の処理を実行し、処理の終了後、次の
関数を呼び出すように記述された関数を記憶する記憶手
段(例えば、図1の画像処理関数記憶部13)と、各関
数に記述された処理を実行する実行手段(例えば、図1
の画像処理部2)と、各関数に記述された次に呼び出す
べき関数を変更する変更手段(例えば、図1のが画像処
理部2)とを備え、前記関数には、次に呼び出すべき関
数の前記記憶手段上でのアドレスが記述され、前記実行
手段は、前記関数によって前記記憶手段の前記アドレス
に記憶されている次の関数が呼び出されたとき、前記次
の関数の処理を実行することを特徴とする。
【0015】また、関数は、所定の処理を実行した後、
次の関数を呼び出すか否かを判定する判定手段(例え
ば、図2のステップS13)をさらに設けるようにする
ことができる。
【0016】また、判定手段は、次の関数を呼び出すか
否かを示す情報に従って判定を行うようにすることがで
きる。
【0017】また、実行手段は、各関数の処理を所定の
情報に従って所定の回数だけ繰り返し実行するようにす
ることができる。
【0018】また、変更手段は、関数に記述されている
次に呼び出すべき関数の記憶手段上でのアドレスを、他
の関数の記憶手段上でのアドレスに変更するようにする
ことができる。
【0019】また、データは、画像データであるように
することができる。
【0020】また、データは、音声データであるように
することができる。
【0021】請求項1に記載のデータ処理装置において
は、記憶手段が、所定の処理を実行し、処理の終了後、
次の関数を呼び出すように記述された関数を記憶し、実
行手段が、各関数に記述された処理を実行し、変更手段
は、各関数に記述された次に呼び出すべき関数を変更す
る。前記関数には、次に呼び出すべき関数の前記記憶手
段上でのアドレスが記述され、前記実行手段は、前記関
数によって前記記憶手段の前記アドレスに記憶されてい
る次の関数が呼び出されたとき、前記次の関数の処理を
実行する。
【0022】
【発明の実施の形態】図1は、本発明のデータ処理装置
を適用した画像処理装置の一実施の形態の構成例を示す
ブロック図である。画像処理装置1を構成する画像処理
部2は、各種の画像処理関数を記憶する画像処理関数記
憶部13等より構成され、制御部3からの指令に従っ
て、スキャナ5より画像データを読み込み、画像処理関
数記憶部13に記憶されている各種の画像処理関数の中
の所定のものを順次、実行することにより、読み込んだ
画像データに対して画像処理を施すようになされてい
る。
【0023】制御部3は、CPU(central processing
unit)、ROM(read only memory)、RAM(rando
m access memory)等により構成され、ROMに記憶さ
れている制御プログラムに従って、各部を制御するよう
になされている。例えば、画像処理部2に対して各種の
処理命令を供給し、画像処理部2が行った処理結果を取
得するようになされている。VRAM(video random a
ccess memory)4は、制御部3を介して画像処理部2よ
り供給される処理結果を記憶し、表示装置6に供給する
ようになされている。表示装置6は、VRAM6より供
給された処理結果に対応する画像を表示するようになさ
れている。
【0024】次に、図2のフローチャートを参照して、
各関数の動作について説明する。最初に、ステップS1
1において、関数は、その関数における画像処理を実行
する。次に、ステップS12において、必要に応じて、
次の関数を呼び出すか否かを判定する。即ち、次の関数
を実行するか否かを示すフラグに従って、判定を行う。
例えば、フラグの値が1であるとき、次の関数を実行
し、フラグの値が0であるとき、リターンする。このフ
ラグは、画像処理部2によって設定される。
【0025】ステップS12において、次の関数を呼び
出すと判定された場合、ステップS13に進み、次の関
数の呼び出しを行う。ステップS13の処理が終了した
場合、または、ステップS12において、次の関数を呼
び出さないと判定された場合、この関数の処理を終了
し、リターンする。
【0026】図3は、図2を参照して上述したような処
理を実行する関数A,C,Bが、この順で呼び出され、
各関数の処理が実行される様子を示している。最初、画
像処理部2により、画像処理関数Aが呼び出され、画像
処理関数Aの処理が実行される。そして、この処理が終
了すると、次の関数の呼び出しが行われる。この例の場
合、画像処理関数Cが呼び出される。
【0027】画像処理関数Cが呼び出されると、画像処
理関数Cの処理が実行される。そして、処理が終了する
と、次の関数の呼び出しが行われる。この例の場合、画
像処理関数Bが呼び出される。画像処理関数Bが呼び出
されると、画像処理関数Bの処理が実行され、リターン
する。そして、画像処理関数Cは、次の関数の呼び出し
が終了したのでリターンする。さらに、画像処理関数A
は、次の関数の呼び出しが終了したので、リターンす
る。以上のようにして、画像処理関数A,C,Bが、こ
の順で呼び出され、実行される。
【0028】図4は、各関数の他の動作例を示すフロー
チャートである。最初に、ステップS21において、関
数は、その関数における画像処理を実行する。次に、ス
テップS22において、必要に応じて、次の関数を呼び
出すか否かを判定する。即ち、次の関数を実行するか否
かを示すフラグに従って、判定を行う。例えば、フラグ
の値が1であるとき、次の関数を実行し、フラグの値が
0であるとき、リターンする。このフラグは、画像処理
部2によって設定される。
【0029】ステップS22において、次の関数を呼び
出すと判定された場合、ステップS23に進み、次の関
数の呼び出しを行う。一方、ステップS22において、
次の関数の呼び出しを行わないと判定された場合、ステ
ップS24に進み、ステップS21における処理(前の
処理)を繰り返すか否かが判定される。
【0030】例えば、画像処理部2によって所定のフラ
グに繰り返し回数が設定される。そして、ステップS2
1における処理を実行する度に、そのフラグの値を1だ
けデクリメントする。そして、ステップS24におい
て、このフラグの値が0より大きければ前の処理を再
度、実行すると判定し、このフラグの値が0以下であれ
ば、前の処理を再度、実行しないと判断する。
【0031】ステップS24において、前の処理を再
度、実行すると判定された場合、ステップS21に戻
り、ステップS21以降の処理が繰り返し実行される。
そして、所定のフラグに設定された回数だけ前の処理が
繰り返し実行される。ステップS23における処理が終
了した場合、または、ステップS24において、前の処
理を再度、実行しないと判定された場合、この関数の処
理を終了し、リターンする。
【0032】これにより、図5に示すように、例えば、
画像処理関数Cの処理を3回だけ繰り返し実行させるよ
うにすることができる。即ち、画像処理部2は、画像処
理関数Cの処理回数を指定する所定のフラグに3を設定
しておく。これにより、画像処理関数Cは、図4を参照
して上述したように、このフラグに従って、この関数の
処理を3回だけ繰り返し実行する。
【0033】これは、例えば、画像データがR(赤)、
G(緑)、B(青)の画像データからなる場合、各画像
データに対して順に同一の画像処理を3回だけ繰り返し
実行するような場合に有効である。
【0034】以上のように、関数の中に次の関数を呼び
出すアドレスを設定することにより、任意の数の関数を
所定の順番で実行させるようにすることができる。ま
た、実行可能な関数の数は、関数を記憶するメモリ等の
記憶容量が許す限り可能である。また、新たな関数を所
定の関数の後に挿入する処理は、挿入する直前に位置す
る関数が呼び出す関数のアドレスを、挿入する新たな関
数のアドレスに置き換えるだけで実現することができ
る。また、挿入する新たな関数が呼び出す関数のアドレ
スには、挿入する直後に位置する関数のアドレスをセッ
トするようにする。
【0035】また、関数自身が次の関数を呼び出すの
で、最初の関数を呼び出すだけで、その後は、関数を呼
び出す順序を制御する必要がなく、プログラムを簡単に
することができる。
【0036】なお、上記実施の形態においては、画像デ
ータに対して、複数種類の処理を施す場合について説明
したが、音声データやその他のデータに対して複数種類
の処理を施す場合にも本発明を適用することができる。
【0037】
【発明の効果】請求項1に記載のデータ処理装置によれ
ば、記憶手段が、所定の処理を実行し、処理の終了後、
次の関数を呼び出すように記述された関数を記憶し、実
行手段が、各関数に記述された処理を実行し、変更手段
が、各関数に記述された次に呼び出すべき関数を変更
し、実行手段は、関数によって次の関数が呼び出された
とき、次の関数の処理を実行するようにしたので、容易
に任意の複数の処理を所定の順番で実行させることがで
きる、また、各関数によって次に呼び出される関数を変
更することにより、容易に関数を実行する順番を変更し
たり、新たな関数を挿入することができる。
【図面の簡単な説明】
【図1】本発明のデータ処理装置を適用した画像処理装
置の一実施の形態の構成例を示すブロック図である。
【図2】図1の画像処理関数記憶部13に記憶されてい
る各関数の動作を説明するフローチャートである。
【図3】各関数が次の関数を呼び出す様子を示す図であ
る。
【図4】各関数の他の動作例を示すフローチャートであ
る。
【図5】関数が同一の処理を3回だけ行った後、次の関
数を呼び出す様子を示す図である。
【図6】処理順序データに従って、複数の関数を所定の
順番で実行させる従来の処理手順を説明するフローチャ
ートである。
【図7】処理順序データの構成例を示す図である。
【図8】処理手順データに新たなデータを挿入する様子
を示す図である。
【符号の説明】
1 画像処理装置 2 画像処理部 3 制御部 4 VRAM 5 スキャナ 6 表示装置 13 画像処理関数記憶部

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 所定のデータに対して、複数種類の処理
    の中の1または複数の前記処理を所定の順序で行うデー
    タ処理装置において、 所定の前記処理を実行し、前記処理の終了後、次の関数
    を呼び出すように記述された関数を記憶する記憶手段
    と、 各関数に記述された処理を実行する実行手段と、 各関数に記述された次に呼び出すべき関数を変更する変
    更手段とを備え、 前記関数には、次に呼び出すべき関数の前記記憶手段上
    でのアドレスが記述され、前記実行手段は、前記関数に
    よって前記記憶手段の前記アドレスに記憶されている次
    の関数が呼び出されたとき、前記次の関数の処理を実行
    することを特徴とするデータ処理装置。
  2. 【請求項2】 前記関数は、所定の処理を実行した後、
    次の関数を呼び出すか否かを判定する判定手段をさらに
    備えることを特徴とする請求項1に記載のデータ処理装
    置。
  3. 【請求項3】 前記判定手段は、次の関数を呼び出すか
    否かを示す所定の情報に従って判定を行うことを特徴と
    する請求項2に記載のデータ処理装置。
  4. 【請求項4】 前記実行手段は、各関数の処理を所定の
    情報に従って所定の回数だけ繰り返し実行することを特
    徴とする請求項1,2または3に記載のデータ処理装
    置。
  5. 【請求項5】 前記変更手段は、各関数に記述されてい
    る次に呼び出すべき関数の前記記憶手段上でのアドレス
    を、他の関数の前記記憶手段上でのアドレスに変更する
    ことを特徴とする請求項1乃至4のいずれかに記載のデ
    ータ処理装置。
  6. 【請求項6】 前記データは、画像データであることを
    特徴とする請求項1乃至5のいずれかに記載のデータ処
    理装置。
  7. 【請求項7】 前記データは、音声データであることを
    特徴とする請求項1乃至5のいずれかに記載のデータ処
    理装置。
JP10028127A 1997-06-20 1998-02-10 データ処理装置 Withdrawn JPH1115960A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87962797A 1997-06-20 1997-06-20
US08/879,627 1997-06-20

Publications (1)

Publication Number Publication Date
JPH1115960A true JPH1115960A (ja) 1999-01-22

Family

ID=25374535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10028127A Withdrawn JPH1115960A (ja) 1997-06-20 1998-02-10 データ処理装置

Country Status (2)

Country Link
US (1) US20040153751A1 (ja)
JP (1) JPH1115960A (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8238624B2 (en) * 2007-01-30 2012-08-07 International Business Machines Corporation Hybrid medical image processing
US8331737B2 (en) * 2007-04-23 2012-12-11 International Business Machines Corporation Heterogeneous image processing system
US8462369B2 (en) * 2007-04-23 2013-06-11 International Business Machines Corporation Hybrid image processing system for a single field of view having a plurality of inspection threads
US8326092B2 (en) * 2007-04-23 2012-12-04 International Business Machines Corporation Heterogeneous image processing system
US8675219B2 (en) * 2007-10-24 2014-03-18 International Business Machines Corporation High bandwidth image processing with run time library function offload via task distribution to special purpose engines
US9135073B2 (en) * 2007-11-15 2015-09-15 International Business Machines Corporation Server-processor hybrid system for processing data
US20090132582A1 (en) * 2007-11-15 2009-05-21 Kim Moon J Processor-server hybrid system for processing data
US20090150556A1 (en) * 2007-12-06 2009-06-11 Kim Moon J Memory to storage communication for hybrid systems
US9332074B2 (en) * 2007-12-06 2016-05-03 International Business Machines Corporation Memory to memory communication and storage for hybrid systems
US8229251B2 (en) * 2008-02-08 2012-07-24 International Business Machines Corporation Pre-processing optimization of an image processing system
US8379963B2 (en) * 2008-03-28 2013-02-19 International Business Machines Corporation Visual inspection system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU592914B2 (en) * 1986-12-19 1990-01-25 Pfu Limited System for processing various types of information in easily usable form
US5995996A (en) * 1993-06-15 1999-11-30 Xerox Corporation Pipelined image processing system for a single application environment

Also Published As

Publication number Publication date
US20040153751A1 (en) 2004-08-05

Similar Documents

Publication Publication Date Title
JP2883784B2 (ja) マイクロコンピュータ
JPH1115960A (ja) データ処理装置
KR100297145B1 (ko) 그래픽 처리장치 및 그래픽 처리방법
JPH04242433A (ja) マイクロプロセッサ
JP2820048B2 (ja) 画像処理システムとその記憶装置およびそのアクセス方法
US6629160B1 (en) Direct memory access controller
JPH021014A (ja) 電子機器
JP4037941B2 (ja) 制御装置
JPH06259115A (ja) プログラマブルコントローラ
US20010045954A1 (en) Data processing apparatus and recording medium
JPH0863141A (ja) カラー画像表示方法及びこれを用いたビデオゲーム装置
JPH05224711A (ja) プログラマブルコントローラの制御方法
JPH0313988A (ja) 液晶ディスプレイ制御方式
JPS5837547B2 (ja) Crtディスプレイ装置における表示方式
JPH11134291A (ja) バス制御装置およびバス制御方法
JPH01236309A (ja) 数値制御装置の表示装置
JPH02181831A (ja) プログラム制御方法
JPH10171509A (ja) プロセス制御装置
JPH0782313B2 (ja) 表示制御装置
JPS63104191A (ja) 描画処理装置
JPH08305341A (ja) 画像データ処理方法および装置
JPS6231463A (ja) Dmaコントロ−ラ
JPH09160786A (ja) マイクロプロセッサ
JPH05250167A (ja) プログラムロード方式
JPH07107311A (ja) 画像表示方法及び装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050510