(57)【要約】【課題】実行オブジェクトファイルを工数を少なく、かつ正確に生成する画像処理システムを提供する。【解決手段】複数のレジスタを備えるＳＩＭＤプロセッサで画像処理プログラムを作成する画像処理システムに、レジスタに格納されているソースプログラムＳＲＣ１１をレジスタが未定義のまま翻訳してオブジェクトファイルＯＢＪ１１を生成してまとめるライブラリＬＩＢ１１と、そのライブラリＬＩＢ１１と、レジスタが未定義のまま翻訳してソースプログラム（別のソースプログラム）ＳＲＣ２１，２２，２３より生成された複数の別のオブジェクトファイル（別のオブジェクトファイル）ＯＢＪ２１，２２，２３を関連付けて実行オブジェクト（実行可能オブジェクトファイル）ＥＸＥ１１を作成する解決情報を付与する定義ファイルＰＲＭ１とを備える。【選択図】図１
2005141465.tif 000002
【特許請求の範囲】
【請求項１】
複数のレジスタを備えるＳＩＭＤプロセッサで画像処理プログラムを作成する画像処理システムにおいて、
前記レジスタに格納されているソースプログラムをレジスタが未定義のまま翻訳してオブジェクトファイルを生成してまとめるライブラリと、
該ライブラリと、レジスタが未定義のまま翻訳して別のソースプログラムより生成された複数の別のオブジェクトファイルを関連付けて実行可能オブジェクトファイルを作成する解決情報を付与する定義ファイルと、
を備えることを特徴とする画像処理システム。
【請求項２】
前記実行可能オブジェクトファイルをデバッグするデバッガを備え、
前記別のオブジェクトファイルに設定された参照禁止情報をもとに前記デバッガにて前記実行可能オブジェクトファイルを前記デバッガでデバッグすることを特徴とする請求項１に記載の画像処理システム。
【請求項３】
前記実行可能オブジェクトファイルを実行するときに、前記定義ファイルをロードしたときのみ前記デバッグを行うことを特徴とする請求項２に記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のレジスタを備えるＳＩＭＤプロセッサで画像処理プログラムを作成する画像処理システムに関する。
【背景技術】
【０００２】
図４は、従来の一般的な画像処理システムにおけるライブラリの多重生成方法を示した図である。ここでは、ソースプログラムＳＲＣ１からエディタＥＤＴ１を用いて他のソースプログラムＳＲＣ２，ＳＲＣ３とそれぞれ関連付けしたソースプログラムＳＲＣ１−１，ＳＲＣ１−２はアセンブル、ライブラリＬＢＬ１を実行してライブラリＬＢＬ１−１，ＬＢＬ１−２を生成する。他のソースプログラムＳＲＣ２，ＳＲＣ３と一緒にリンクして実行オブジェクトＥＸＥ１を得る。他のソースプログラムにオブジェクトＯＢＪ１−１，ＯＢＪ１−２を関連付けるためには、プログラムの開発に工数がかかるという問題があった。
【０００３】
複数のレジスタセットを持つ、ＳＩＭＤプロセッサにおいて画像を処理するライブラリは任意レジスタセットを組合せて作成される。作成した画像処理ライブラリを使用する場合、作成時に決定した任意レジスタセットを用いて使用しなければ処理は出来ない。個々の画像処理ライブラリの決定された任意レジスタセットを使用する為に各処理間で整合処理が必要となり無関係な処理が発生して、処理時間、不要なレジスタを消費してしまうという問題がある。
【０００４】
これに対して、同一記述のソースプログラムからＦＰＵ（浮動小数点演算プロセッサ）の有無に応じたオブジェクトを生成可能とするべく、プログラム開発工数の削減に寄与する技術が開示されている（例えば特許文献１）。
【特許文献１】特開２００１−１５４８５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ソースプログラムは、一般にテキストベースで記述されており参照して容易に変更することができ、誤って変更してしまう可能性があるという問題がある。一方、参照（公開）できないプログラムについては変更できないという問題がある。
そこでこの発明の目的は、実行オブジェクトファイルを工数を少なく、かつ正確に生成する画像処理システムを提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、複数のレジスタを備えるＳＩＭＤプロセッサで作成する画像処理システムにおいて、
複数のレジスタを備えるＳＩＭＤプロセッサで画像処理プログラムを作成する画像処理システムにおいて、
前記レジスタに格納されているソースプログラムをレジスタが未定義のまま翻訳してオブジェクトファイルを生成してまとめるライブラリと、
該ライブラリと、レジスタが未定義のまま翻訳して別のソースプログラムより生成された複数の別のオブジェクトファイルを関連付けて実行可能オブジェクトファイルを作成する解決情報を付与する定義ファイルと、
を備えることを特徴とする。
【０００７】
請求項１の発明によれば、レジスタに格納されているソースプログラムをレジスタが未定義のまま翻訳してオブジェクトファイルを生成してまとめるライブラリと、そのライブラリと、レジスタが未定義のまま翻訳して別のソースプログラムより生成された複数の別のオブジェクトファイルを関連付けて実行可能オブジェクトファイルを作成する解決情報を付与する定義ファイルとを備えるので、複数のレジスタセットを持つ、ＳＩＭＤプロセッサ用の画像処理ライブラリを複数のレジスタセット分の組合せのライブラリが不要となり、ライブラリ管理が効率的になる。また、固定レジスタセットと比べて不必要な処理が減少し、処理時間を高速化する。
【０００８】
請求項２に記載の発明は、請求項１に記載の画像処理システムにおいて、前記実行可能オブジェクトファイルをデバッグするデバッガを備え、
前記別のオブジェクトファイルに設定された参照禁止情報をもとに前記デバッガにて前記実行可能オブジェクトファイルを前記デバッガでデバッグすることを特徴とする。
【０００９】
請求項２の発明によれば、実行可能オブジェクトファイルをデバッグするデバッガを備え、別のオブジェクトファイルに設定された参照禁止情報をもとにデバッガにて実行可能オブジェクトファイルをデバッガでデバッグするので、個別に生成された画像処理ライブラリの参照ができなくなるので、セキュリティの高いライブラリを提供することが可能となる。
【００１０】
請求項３に記載の発明は、請求項２に記載の画像処理システムにおいて、前記実行可能オブジェクトファイルを実行するときに、前記定義ファイルをロードしたときのみ前記デバッグを行うことを特徴とする。
【００１１】
請求項３の発明によれば、実行可能オブジェクトファイルを実行するときに、定義ファイルをロードしたときのみデバッグを行うので、他のオブジェクトファイルではデバッグ機能を実行しない。
【発明の効果】
【００１２】
請求項１に記載の発明によれば、レジスタに格納されているソースプログラムをレジスタが未定義のまま翻訳してオブジェクトファイルを生成してまとめるライブラリと、そのライブラリと、レジスタが未定義のまま翻訳して別のソースプログラムより生成された複数の別のオブジェクトファイルを関連付けて実行可能オブジェクトファイルを作成する解決情報を付与する定義ファイルとを備えるので、複数のレジスタセットを持つ、ＳＩＭＤプロセッサ用の画像処理ライブラリを複数のレジスタセット分の組合せのライブラリが不要となり、ライブラリ管理が効率的になる。また、固定レジスタセットと比べて不必要な処理が減少し、処理時間を高速化することができる。したがって、実行オブジェクトファイルを工数を少なく、かつ正確に生成する画像処理システムを提供することができる。
【００１３】
請求項２に記載の発明によれば、実行可能オブジェクトファイルをデバッグするデバッガを備え、別のオブジェクトファイルに設定された参照禁止情報をもとにデバッガにて実行可能オブジェクトファイルをデバッガでデバッグするので、デバッガ参照不可情報にしたがって、個別に生成された画像処理ライブラリの参照できなくなるので、セキュリティの高いライブラリを提供することができる。
【００１４】
請求項３に記載の発明によれば、実行可能オブジェクトファイルを実行するときに、定義ファイルをロードしたときのみデバッグを行うので、他のオブジェクトファイルにはデバッグを実行せず、より一層セキュリティの高いライブラリを提供することができる。
【発明を実施するための最良の形態】
【００１５】
この発明の画像処理システムに備える画像処理ライブラリシステムについて図１，２を用いて説明する。
複数のレジスタセットを備えるＳＩＭＤプロセッサで画像処理プログラムを作成する際に、レジスタに格納されているソースプログラムＳＲＣ１１ではレジスタを未定義のレジスタラベルとして認識する。ここで、レジスタラベルはレジスタ名を代行するラベルであり、アセンブル時に、この未定義レジスタラベルは解決されずそのままアセンブラＡＳＭ１１でアセンブル（翻訳）して未定義レジスタラベルを含むオブジェクトファイルＯＢＪ１１が生成される。
【００１６】
ライブラリアン時にも、未定義レジスタラベルは解決されない状態のままライブラリアンＬＢＬ１１でライブラリして未定義レジスタラベルを含むライブラリＬＩＢ１１にまとめられる。このライブラリＬＩＢ１１では、未解決オブジェクトと未定義レジスタラベルとが関連付けられている。
【００１７】
一方、画像処理プログラムとしてオブジェクトファイルＯＢＪ１１以外のオブジェクトファイルを別途作成する際には、上記ライブラリＬＩＢ１作成時に用いた未定義レジスタラベルとは異なるレジスタラベルを使用してソースプログラム群ＳＲＣ２１，２２，２３を作成し、アセンブラＡＳＭ２１によって上記オブジェクトファイルＯＢＪ１１とは別の複数のオブジェクトファイルＯＢＪ２１、２２，２３に翻訳して生成される。この場合、未定義レジスタラベルはアセンブラＡＳＭ２１にて解決されても良いし、未定義のままでも良い。
【００１８】
そして、未定義レジスタラベルがある場合には、解決情報を定義ファイルＰＲＭ１からリンカＬＮＫ１１に与えるとともに、ライブラリＬＩＢ１１の未定義レジスタラベルに解決情報を付与してライブラリＬＩＢ１１から新たなオブジェクトＬＩＢ１１’を生成する。また、ライブラリを呼び出した側の呼び出しアドレスに新たに生成されたオブジェクトＬＩＢ１１’の配置アドレスを設定する。
【００１９】
このライブラリＬＩＢ１１から新たに生成されたオブジェクトファイルＬＩＢ１１’と未定義レジスタラベルの解決情報と配置アドレスを未定義レジスタテーブルＵＤＴ１に格納する。以降同一の条件が発生した時は、この未定義レジスタテーブル（定義ファイル）ＵＤＴ１を参照して条件一致したライブラリを使用する。
【００２０】
画像処理プログラムの別のオブジェクトファイルＯＢＪ２１，２２，２３とライブラリＬＩＢ１１のリンクにおいて、オブジェクトファイルＯＢＪ２１がライブラリＬＩＢ１１を使用する場合の未定義レジスタラベルは条件Ａ、オブジェクトファイルＯＢＪ２２，２３とライブラリＬＩＢ１１を使用する場合の未定義レジスタラベルは条件Ｂとする。このようにライブラリＬＩＢ１１の使用箇所によって未定義レジスタラベルの解決情報を設定・付与し、オブジェクトファイルＯＢＪ２１とライブラリＬＩＢ１１では条件ＡのライブラリＬＩＢ１１−１が生成、関連付けられ、オブジェクトファイルＯＢＪ２２，２３とライブラリＬＩＢ１１では条件ＢのライブラリＬＩＢ１１−２が生成、関連付けられる。
【００２１】
このようにしてライブラリの未定義レジスタラベルに解決情報が任意に与え、新たなオブジェクトファイルを生成して、異なるレジスタを使用した同一処理が行なわれ、一つの実行可能オブジェクトＥＸＥ１１が生成される。
【００２２】
このようにして作成された、実行オブジェクトファイル（実行可能オブジェクトファイル）ＥＸＥ１１とリンク時に未定義レジスタラベルを解決して作成された未定義レジスタテーブル（定義ファイル）ＵＤＴ１をエミュレータデバッガＤＢＧ１１でデバッグ時にロードする。エミュレータデバッガＤＢＧ１１は、この未定義レジスタテーブルＵＤＴ１をダウンロードしたときのみデバッグを実行し、他のオブジェクトファイルではデバッグを実行しないように設定する。なお、実行オブジェクトファイルＥＸＥ１１と未定義レジスタテーブルＵＤＴ１は同一のファイルであることが望ましい。
【００２３】
デバッガＤＢＧ１１は未定義レジスタテーブルＵＤＴ１１により未定義レジスタラベルによって新たに生成されたオブジェクトファイルＬＩＢ１１−１が開始アドレス０Ｃ０００Ｈ、終了アドレス０Ｃ０ＦＦＨ、オブジェクトファイルＬＩＢ１１−２が開始アドレス０Ｃ８００Ｈ、終了アドレス０Ｃ８ＦＦＨであることを認識する。そして、デバッガＤＢＧ１１はコード参照を含むメモリ参照命令が発生した場合に、上記アドレス０Ｃ０００Ｈ〜０Ｃ０ＦＦＨ、０Ｃ８００Ｈ〜０Ｃ８ＦＦＨと一致する場合にはアクセスを禁止するように参照禁止情報Ｓ１を設定する。
【００２４】
一方、上記アドレス０Ｃ０００Ｈ〜０Ｃ０ＦＦＨ、０Ｃ８００Ｈ〜０Ｃ８ＦＦＨ以外の場合には、アセンブル、リンクした実行可能オブジェクトを実際に実行する、ターゲットＴＧＴ１１（例えばコピー機など）に実行指令を送る。
【図面の簡単な説明】
【００２５】
【図１】この発明の画像処理システムの概略ブロック図である。
【図２】図１の実行オブジェクトの生成を詳細に説明するための図である。
【図３】図１の実行オブジェクトのデバッグを詳細に説明するための図である。
【図４】従来の画像処理システムの概略ブロック図である。
【符号の説明】
【００２６】
ＡＳＭ１１，ＡＳＭ２１    アセンブラ
ＤＢＧ１１    エミュレータデバッガ（デバッガ）
ＥＸＥ１１    実行オブジェクトファイル（実行可能オブジェクトファイル）
ＬＩＢ１１，ＬＩＢ１１−１，ＬＩＢ１１−２    ライブラリ
ＬＢＬ１１    ライブラリアン
ＬＮＫ１１    リンカ
ＯＢＪ１１    オブジェクト
ＯＢＪ２１，ＯＢＪ２２，ＯＢＪ２３    別のオブジェクト
ＰＲＭ１    定義ファイル
ＳＲＣ１１，ＳＲＣ２１，ＳＲＣ２２，ＳＲＣ２３    ソースプログラム
Ｓ１    参照禁止情報
ＴＧＴ１１    ターゲット
ＵＤＴ１    未定義レジスタテーブル（定義ファイル）
【図１】
2005141465.tif 000003
【図２】
2005141465.tif 000004
【図３】
2005141465.tif 000005
【図４】
2005141465.tif 000006