説明

画像データ処理装置及びプログラム

【課題】処理すべき画像の画像特徴を判定した後にその画像特徴に対応する回路構成を再構成可能回路上に再構成する方式よりも、処理の高速化を図る。
【解決手段】再構成実績管理部32Aには、画像データ内で既に処理した各ブロックで使用された各回路構成の使用実績(例えば使用頻度)が記録されている。ブロックを処理するごとに、再構成実績管理部32Aは使用実績を更新し、プリロード判定部36Aが、その使用実績を参照して、次のブロックで用いられる可能性の高い回路構成を判定する。そして、次のブロックの処理が開始される前に、判定された回路構成に対応する構成データを、構成メモリ16にロードする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データ処理装置及びプログラムに関する。
【背景技術】
【0002】
特許文献1に開示される装置は、入力データ特性判定部、回路構成制御部、回路構成情報格納部、再構成可能な符号化処理部を備え、前記入力データ特性判定部は、入力データの部分領域ごとにデータ特性を判定し、前記回路構成制御部は、前記データ特性に応じて、前記回路構成情報格納部中の回路構成情報により、前記再構成可能な符号化処理部内部の回路構成を変更する。
【0003】
特許文献2に開示される装置は、画像処理すべき画像データより画像特徴とその画像特徴を有する領域とを判定する画像特徴判定回路と、回路データをリコンフィギュラブル回路に設定するリコンフィギュラブル回路制御部と、処理の実行を制御する制御手段とを備えている。リコンフィギュラブル回路制御部は、画像特徴判定回路によって判定された画像特徴に応じた回路データをリコンフィギュラブル回路に設定し、制御手段は、リコンフィギュラブル回路制御部で設定された回路データに基づいて再構成されたリコンフィギュラブル回路による前記判定された領域の画像データに対する画像処理の実行を制御する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−033161号公報
【特許文献2】特開2008−242850号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、処理すべき画像の画像特徴を判定した後にその画像特徴に対応する回路構成を再構成可能回路上に再構成する方式よりも、処理の高速化を図ることを目的とする。
【課題を解決するための手段】
【0006】
請求項1に係る発明は、画像データの処理単位ごとにその処理単位の画像特徴を判定し、その画像特徴に基づきその処理単位のための回路構成データを選択する構成選択手段と、前記画像データ内の処理単位のうち、現在の処理対象の処理単位より前に処理された処理単位についての前記構成選択手段による回路構成データの選択結果の情報に基づき、複数の回路構成データのうち前記現在の処理対象の処理単位のために選択される可能性が高い順にあらかじめ定めた数の回路構成データを予測し、予測した回路構成データを、前記構成選択手段が前記現在の処理対象の処理単位のための回路構成データを選択するより前に、再構成可能プロセッサの回路構成メモリにロードするロード手段と、前記現在の処理対象の処理単位について前記構成選択手段が選択した回路構成データが前記回路構成メモリの中に既にロードされていれば、前記再構成可能回路の回路構成を当該回路構成データに応じて再構成し、前記現在の処理対象の処理単位について前記構成選択手段が選択した回路構成データが前記回路構成メモリの中にロードされていなければ、当該回路構成データを前記回路構成メモリにロードした後、前記再構成可能回路の回路構成を当該回路構成データに応じて再構成するよう制御する制御手段と、を備える画像データ処理装置である。
【0007】
請求項2に係る発明は、前記ロード手段は、前記画像データ内の処理単位のうち前記現在の処理対象の処理単位より前に処理された各処理単位についての前記構成選択手段による回路構成データの選択結果を集計して回路構成データごとの選択頻度を求め、選択頻度が多い回路構成データから順に、前記現在の処理対象の処理単位のために選択される可能性が高いと判定する、ことを特徴とする請求項1に記載の画像データ処理装置である。
【0008】
請求項3に係る発明は、前記ロード手段は、前記画像データのうちあらかじめ定められた数の処理単位についての前記選択結果の集計を完了するごとに、前記回路構成データごとの選択回数の集計結果を初期化する、ことを特徴とする請求項2に記載の画像データ処理装置である。
【0009】
請求項4に係る発明は、前記ロード手段は、前記現在の処理対象の処理単位の直前の、少なくとも1ライン分の各処理単位についての前記構成選択手段による回路構成データの選択結果を記憶しており、記憶している各処理単位についての前記選択結果のうち、前記現在の処理対象の処理単位に位置的に近接する各処理単位についての前記選択結果に係る回路構成データを、前記現在の処理対象の処理単位のために選択される可能性が高い順のあらかじめ定めた数の回路構成データとして前記回路構成メモリにロードする、ことを特徴とする請求項1に記載の画像データ処理装置である。
【0010】
請求項5に係る発明は、コンピュータを、画像データの処理単位ごとにその処理単位の画像特徴を判定し、その画像特徴に基づきその処理単位のための回路構成データを選択する構成選択手段、前記画像データ内の処理単位のうち、現在の処理対象の処理単位より前に処理された処理単位についての前記構成選択手段による回路構成データの選択結果の情報に基づき、複数の回路構成データのうち前記現在の処理対象の処理単位のために選択される可能性が高い順にあらかじめ定めた数の回路構成データを予測し、予測した回路構成データを、前記構成選択手段が前記現在の処理対象の処理単位のための回路構成データを選択するより前に、再構成可能プロセッサの回路構成メモリにロードするロード手段、前記現在の処理対象の処理単位について前記構成選択手段が選択した回路構成データが前記回路構成メモリの中に既にロードされていれば、前記再構成可能回路の回路構成を当該回路構成データに応じて再構成し、前記現在の処理対象の処理単位について前記構成選択手段が選択した回路構成データが前記回路構成メモリの中にロードされていなければ、当該回路構成データを前記回路構成メモリにロードした後、前記再構成可能回路の回路構成を当該回路構成データに応じて再構成するよう制御する制御手段、として機能させるためのプログラムである。
【発明の効果】
【0011】
請求項1又は5に係る発明によれば、処理すべき画像の画像特徴を判定した後にその画像特徴に対応する回路構成を再構成可能回路上に再構成する方式よりも、処理の高速化を図ることができる。
【0012】
請求項2に係る発明によれば、現在の処理対象の処理単位よりも前に処理された各処理単位での選択頻度から、当該処理対象の処理単位に用いられる可能性が高い回路構成データを判定することができる。
【0013】
請求項3に係る発明によれば、回路構成データの選択頻度の集計結果に、現在の処理対象とは離れた部分が影響を与えることを防止できる。
【0014】
請求項2に係る発明によれば、現在の処理対象の処理単位に対して位置的に近い各処理単位での選択結果から、当該処理対象の処理単位に用いられる可能性が高い回路構成データを判定することができる。
【図面の簡単な説明】
【0015】
【図1】実施形態の装置のハードウエア構成の一例を示す図である。
【図2】実施形態の装置の内部構成の一例を示す図である。
【図3】再構成実績管理部内の実績データの一例を示す図である。
【図4】構成メモリ管理部内のデータの一例を示す図である。
【図5】実施形態の処理手順の一例を示すフローチャートである。
【図6】実施形態の装置の内部構成の別の一例を示す図である。
【図7】変形例における再構成実績管理部内の実績データの一例を示す図である。
【図8】変形例の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
本実施形態の画像データ処理装置では、例えば印刷対象の画像などといった画像データに対する画像データ圧縮その他の画像処理を、DRP(Dynamic Reconfigurable Processor:動的再構成可能プロセッサ)を用いて実行する。
【0017】
図1に、実施形態の画像データ処理装置のハードウエア構成の一例を示す。この例では、画像データ処理装置は、DRP10により構成されている。
【0018】
DRP10は、内部の論理回路の構成を動的(例えば1クロックの間)に変更(再構成)可能なプロセッサである。DRP10の一例としては、例えば特開2009−3765号公報に紹介されているDAP・DNAアーキテクチャのプロセッサがあるが、もちろんこれに限定されるものではない。DRP10は、再構成可能回路部12、再構成制御部14及び構成メモリ16を備える。
【0019】
再構成可能回路部12は、多数の論理回路要素を備えており、それら各論理回路要素の機能パラメータや論理回路要素同士の接続関係を動的に再構成(リコンフィギュレーション)可能となっている。再構成可能回路部12としては、例えば、特開2009−3765号公報に紹介されているDNAなど、様々な既存の又はこれから開発される回路を用いることができる。例えば、DNAは、PE(プロセッサエレメント)と呼ぶ論理回路要素を多数備えるアレイであり、それらPE間の接続構成を構成(コンフィギュレーション)データに従って高速(例えば1クロックの間)に組み替え可能となっている。
【0020】
再構成制御部14は、再構成可能回路部12を含むDRP10全体の動作制御を行う機能モジュールであり、例えば、汎用のプロセッサにて制御のためのプログラムを実行することにより実現される。再構成可能回路部12内の論理回路要素の接続関係を制御することで、再構成可能回路部12上にデータ処理のための回路を再構成する。また、再構成制御部14は、再構成可能回路部12上に再構成された回路に対してホストシステム(DRP10に対して処理を依頼する上位のシステム)からの指示に応じて入力データを供給したり、その回路からの出力データをホストシステムに返したりする制御を行う。なお、特開2009−3765号公報で紹介されたDAP・DNAアーキテクチャをこの実施形態に採用した場合、再構成制御部14はDAPと呼ばれる汎用プロセッサコアで制御プログラムを実行することにより実現される(但し、これは一例に過ぎない)。
【0021】
再構成可能回路部12内の回路の再構成は、構成(コンフィギュレーション)メモリ16に記憶された構成(コンフィギュレーション)データに従って行われる。構成データは、再構成可能回路部12の回路構成を規定するデータである。構成メモリ16には、複数の構成データが記憶される。構成メモリ16内の複数の構成データのうち1つが選択されてアクティブ状態となると、その構成データが規定する回路構成が再構成可能回路部12内に再構成されることになる。構成メモリ16に記憶可能な構成データの数は限られており、例えば図2の例では3つである(但し、これはあくまで一例に過ぎない)。DRP10は、ホストシステムからの指示に応じて、構成メモリ16に新たな構成データを追加したり、構成メモリ16内の構成データを他の構成データに置き換えたり、削除したりする機能を備える。
【0022】
再構成可能回路部12及び再構成制御部14は、共有バス18を介して、ランダム・アクセス・メモリなどの高速アクセス可能なメモリ20に接続されている。メモリ20は、再構成制御部14及び再構成可能回路部12の作業領域として用いられる記憶装置であり、例えば、複数の構成データ22や、ホストシステムから供給された処理対象の画像データ24などを記憶している。メモリ20内に記憶される構成データ22の数は、構成メモリ16内に記憶できる数よりも多い。構成メモリ16には、メモリ20内に記憶された構成データ22のうちから選ばれた限られた数の構成データがロードされる。なお、図示例では、メモリ20はDRP内に内蔵されているが、これはあくまで一例に過ぎず、再構成制御部14及び再構成可能回路部12がDRP10の外部のメモリにアクセスする構成であってもよい。
【0023】
本実施形態では、処理対象の画像データをあらかじめ定められたサイズのブロックごとに分け、それら各ブロックをラスター走査順にDRP10にて画像処理する。ブロックは、例えば数画素×数画素程度のサイズの画素の集まりである。ここでは、画像データに対してある1つの画像処理(例えば圧縮符号化)を行うこと想定する。1つの画像処理でも、画像内のブロックごとに画像の性質(特徴)が異なるので、ブロックごとにそのブロックの画像の特徴に合わせて処理内容を変える。例えば、圧縮符号化の場合、文字と判定されたブロックにはファクシミリ等で用いられるG4圧縮を用い、写真画像と判定されたブロックにはJPEG圧縮を用いるなどという処理の使い分けを行うのである。実施形態の装置では、DRP10内部の回路構成を各ブロックの画像の特徴に合わせて切り替えることで、個々のブロックの画像特徴に適応した画像処理を実現する。ここで、画像特徴の種類を細分しそれぞれに応じた処理を行うようにすると、そのための回路構成(構成データ)の種類が構成メモリ16内に記憶可能な数を超えてしまう。このため、使用する可能性のあるすべての構成データをメモリ20内に持たせておき、その中から必要なものを随時構成メモリ16にロードすることになる。
【0024】
ここで、本実施形態では、過去の実績に基づき必要となる構成データをいわば予測し、その予測に基づいて、あるブロックの処理の際に必要となる可能性の高い構成データを構成メモリ16上に、事前に、すなわちそのブロックの画像特徴を判定する前にロードする。このように、本実施形態では、予測に基づく事前のロードにより、各ブロックを処理する時点で構成メモリ16内に必要となる可能性の高い構成データが常に揃っているよう、構成メモリ16を保守するのである。このような事前のロードのことを、以下では「プリロード」と呼ぶ。プリロードは、他のブロックがDRP10上で処理されている間に行われるので、プリロードに要する時間は実質上隠蔽される。予測が外れた場合正しい構成データを改めてロードするための時間が余計にかかるものの、予測の的中率がある程度以上あれば、プリロードによるロード時間の隠蔽により、トータルのロード時間の短縮が見込まれる。
【0025】
このプリロードのための制御を担う部分を、図1ではプリロード制御部30A又は30Bで示した破線のブロックで示している。それら両者を破線のブロックで示したのは、それら両者のうち一方があればよいからである。すなわち、本実施形態の装置構成としては、プリロード制御部30Aを再構成制御部14内に持つ構成と、プリロード制御部30Bを再構成可能回路部12内に持つ構成の2つが考えられる。
【0026】
図2に、プリロード制御部30Aを再構成制御部14内に持つ場合の、DRP10の内部構成の例を示す。
【0027】
図2の例では、再構成可能回路部12内には、データ入力部42、画像特徴判定部44、割込発生部46、データ出力部48及び画像処理部50が再構成されている。これら各機能モジュール42〜50は、再構成可能回路部12内の回路要素の組合せにより実現されている。図2に示した再構成可能回路部12の内部構成は、構成メモリ16内に記憶された複数の構成データ22のうちの1つに基づき構成されたものである。ここでは、構成メモリ16内の複数の構成データ22の各々は、例えば、同じ画像処理(例えば圧縮処理)についての、画像特徴の種類ごとに対応する回路構成をそれぞれ規定するものとする。図2に示した再構成可能回路部12内の回路構成は、それら複数の画像特徴の種類のうちの1つの種類「特徴D」に対応するものであり、構成データDにより規定されているものである。このうち、データ入力部42、画像特徴判定部44、割込発生部46、及びデータ出力部48は、画像特徴の種類に依存しない共通の回路であり、画像処理部50のみが個々の画像特徴ごとの固有の回路となっている。なお、構成メモリ16内には、ある特定の画像処理(例えば画像圧縮)のための画像特徴ごとの複数の構成データ22に加え、他の1以上の画像処理(例えば色空間変換)のための構成データが記憶されていてもよい。
【0028】
図2に示した再構成可能回路部12内の回路構成のうち、データ入力部42は、メモリ20から処理対象の画像データ24の入力を受け付ける機能モジュールである。この画像の入力は、あらかじめ定めたサイズ(例えばm画素×n画素。m、nは自然数)のブロック単位で行われる。画像特徴判定部44は、データ入力部42から画像のブロックを受け取り、そのブロックの画像特徴を判定する。すなわち、画像特徴判定部44は、複数の構成データ22の各々に対応する画像特徴の中から、そのブロックの画像が最も当てはまる画像特徴を判定する。判定結果の画像特徴を示すデータが、割込発生部46に渡される。割込発生部46は、画像特徴判定部44から受け取った判定結果データを再構成制御部14に通知する。また、割込発生部46は、1つ前のブロックについての画像特徴の判定結果を保持しており、これと、画像特徴判定部44から今回受け取った判定結果とを比較し、両者が異なっている場合は、再構成制御部14に対し、割込信号(再構成命令)を発する(両者が同一の場合は割込信号は発しない)。
【0029】
画像処理部50は、特定の画像特徴(図示例では構成データDに対応する特徴D)のための画像処理のための回路構成である。画像処理部50は、データ入力部42から入力された処理対象の画像のブロックを、画像特徴判定部44を介して受け取り、このブロックのデータをその回路構成により処理する。画像処理部50の処理結果のデータは、データ出力部48から共有バス18を介してメモリ20に書き込まれる。
【0030】
次に再構成制御部14の内部の機能構成の例を説明する。図2に示すように、再構成制御部14は、指示部15とプリロード制御部30Aとを備える。
【0031】
指示部15は、構成メモリ16に対して、構成データのロード指示や再構成可能回路部12の再構成の指示を行う機能モジュールである。
【0032】
指示部15は、再構成可能回路部12の割込発生部46から再構成命令を受けた場合、例えば構成メモリ管理部34を参照して、再構成すべき回路構成の構成データが構成メモリ16内にあるかどうかを判定する。ここで、再構成すべき回路構成が何であるかは、再構成命令のデータ内に示されていてもよい。また、割込発生部46から通知される画像特徴の判定結果から、再構成すべき回路構成を特定してもよい。そして、再構成すべき回路構成の構成データが構成メモリ16内にあれば、その構成データをアクティブ状態にする(すなわち回路構成をその構成データのものへと再構成する)ように構成メモリ16に指示する。また、再構成すべき回路構成の構成データが構成メモリ16内になければ、その構成データをロードし、ロードしたその構成データをアクティブ状態にするよう構成メモリ16に指示する。なお、以上に説明した再構成命令を受けた場合の指示部15の動作は、従来の再構成制御部が行う動作と同様のものである。
【0033】
また、指示部15は、プリロード制御部30Aから構成データのプリ(事前)ロード指示を受けると、構成メモリ16に対して、その構成データをメモリ20からロードするよう指示する。
【0034】
プリロード制御部30Aは、再構成実績管理部32A、構成メモリ管理部34、及びプリロード判定部36Aを有する。
【0035】
再構成実績管理部32Aは、処理対象の画像データ24内の各ブロックについての画像特徴判定部44の判定結果の実績、すなわち各ブロックの処理のためにどの構成データが用いられたのかを表す実績データを記憶する。再構成実績管理部32Aは、再構成可能回路部12内の割込発生部46から受け取った画像特徴の判定結果に応じて、その実績データを更新する。
【0036】
図3に、実績データのデータ内容の一例を示す。図3の実績データは、複数の構成データ22の各々について、当該構成データが使用された頻度と、その頻度のそれら複数の構成データ22内での順位と、の情報を含んでいる。頻度は、画像データを順に処理していく過程で累積されていく。
【0037】
構成メモリ管理部34は、構成メモリ16にどの構成データが記憶されているかを記憶する。構成メモリ管理部34は、例えば、指示部15が構成メモリ16に対して送ったロードの指示から、構成メモリ管理部34内のデータを更新すればよい。
【0038】
図4に、構成メモリ管理部34のデータ内容の一例を示す。この例では、構成メモリ16内の構成データ用の各格納領域の番号(「メモリ番号」と呼ぶ)に対応づけて、その格納領域に格納されている構成データの識別情報が登録されている。
【0039】
プリロード判定部36Aは、再構成実績管理部32A内のデータに基づき、構成メモリ16に対してプリロードする構成データを判定する。指示部15は、プリロード判定部36Aが判定した構成データを構成メモリ16にロードする。
【0040】
次に、図5を参照して、図2のDRP10が実行する処理の手順の一例を説明する。この手順では、まず処理対象の画像データ24についての画像処理の実行を開始する際、初期化処理を実行する(S10)。初期化処理では、再構成制御部14の指示部15が、複数の構成データ22のうち初期値として指定されている構成データを構成メモリ16にロードする。この初期ロードにより、構成メモリ16内の各格納領域にそれぞれ構成データが格納されることになる。そして、ロードした構成データのうちあらかじめ定められたものに従って、再構成可能回路部12を再構成する。また、初期化処理では、再構成実績管理部32A内の実績データをリセットする。すなわち、各構成データについての頻度をすべて0にし、順位をすべて空値(ヌル)にする。この初期化処理は、例えば画像データのあらかじめ定められた単位ごと(例えば1ページごと)に行う。
【0041】
初期化(S10)の後、再構成制御部14は、再構成可能回路部12に対して処理対象の画像データ24の処理開始を指示する。すると、再構成可能回路部12内に構成されているデータ入力部42が、メモリ20から処理対象の画像データ24の先頭のブロックを入力する(S12)。すると、画像特徴判定部44が、そのブロックがいずれの画像特徴に該当するのか(言い換えればそのブロックを処理すべき回路構成を表す構成データはどれか)を判定する(S14)。この判定の結果は、例えば割込発生部46を介して、再構成制御部14側に通知される。割込発生部46は、直前のブロックについての画像特徴の判定結果と、画像特徴判定部44から今回受け取った判定結果とを比較する(S16)。ここで、最初のブロックについては、直前のブロックの判定結果として、現在アクティブになっている構成データに対応する画像特徴がセットされているようにすればよい(この場合S16の判定結果は肯定、すなわち「同じ」)。
【0042】
S16で直前のブロックの判定結果と今回のブロックの判定結果が同じであった場合は、S22に進み、画像処理部50に今回のブロックのデータを供給して画像処理を行わせる。そして、処理対象の画像データ24に未処理のブロックが残っていれば(S24)、S12に戻ってデータ入力部42が次のブロックの入力を受け付ける。
【0043】
S16で、直前のブロックの判定結果と今回のブロックの判定結果が異なっていた場合、割込発生部46は、今回の判定結果に対応する回路構成に再構成するよう、再構成制御部14に再構成命令を送る。再構成命令を受けた再構成制御部14では、指示部15が、構成メモリ管理部34を参照して、今回の判定結果に対応する構成データが構成メモリ16内にあるかどうかを判定する(S18)。あれば、指示部15は、その再構成命令に対応する構成データをアクティブにするよう構成メモリ16に指示する(S20)。これにより、再構成可能回路部12内の回路構成が、例えば1クロック(数ナノ秒オーダーの時間)の間に、今回のブロックの画像特徴に対応した画像処理部50を有するものへと変化する。そして、画像処理部50に今回のブロックのデータを供給して画像処理を行わせ(S22)、処理対象の画像データ24に未処理のブロックが残っていれば(S24)、S12に戻ってデータ入力部42が次のブロックの入力を受け付ける。
【0044】
S18で今回の判定結果に対応する構成データが構成メモリ16内にないと判定した場合、これは後述するプリロード制御(S32〜S38)による、過去の実績に基づく予測に従ったプリロードが外れたことを意味する。この場合、指示部15は、再構成実績管理部32A及び構成メモリ管理部34を参照して、構成メモリ16内の構成データのうち頻度の順位が最下位に該当するものを求める。そして、構成メモリ16内のその最下位の構成データの格納領域に、今回の判定結果に対応する構成データをロードする(S26)。すなわち、構成メモリ16内には、基本的には、再構成実績管理部32A内の実績データに示される頻度の上位から順に、あらかじめ定められた数(すなわち構成メモリ16内の構成データの格納可能数。図示例では3個)の構成データが保持されているが、そのうちの最下位の構成データを、今回処理すべきブロックの特徴に応じた構成データに置き換えるのである。そして、指示部15は、その新たにロードした構成データをアクティブにするよう構成メモリ16に指示する(S28)。これにより、再構成可能回路部12内の回路構成が、今回のブロックの画像特徴に対応した画像処理部50を有するものへと変化する。そして、画像処理部50に今回のブロックのデータを供給して画像処理を行わせ(S22)、処理対象の画像データ24に未処理のブロックが残っていれば(S24)、S12に戻ってデータ入力部42が次のブロックの入力を受け付ける。再構成可能回路部12の回路構成を、現在の構成から構成メモリ16内に既にある別の構成データの構成に切り替えるのには1クロック程度(例えば数ナノ秒)の時間しか要さないのに対し、予測が外れたときのS26での構成データのロードには数マイクロ秒程度の時間を要する。また、S26で、今回のブロックに対応する構成データを構成メモリ16内に登録した後、指示部15は、構成メモリ管理部34内に記憶したデータのうち、頻度が最下位の構成データの識別情報を、今回新たにロードした構成データの識別情報に置き換える(S30)。
【0045】
以上のようなS10〜S30の処理を、1つの画像データ(例えば1ページの画像)の先頭のブロックから末尾のブロックまで、ラスター走査順に繰り返す。
【0046】
また、S14の判定の後、判定結果を受け取った再構成実績管理部32Aは、実績データ(図3参照)のうち、当該判定結果の構成データの頻度を更新(例えば1増加)し(S32)、その頻度の更新に伴って各構成データの頻度の順位を更新する(いわば、頻度の順にソートする)(S34)。そして、プリロード判定部36Aは、この順位の更新により、実績データのうちの上位のあらかじめ定められた数(すなわち構成メモリ16内の構成データの格納数。図示例では3)の構成データの順位が、順位更新の前と比べて変化したかどうかを判定する(S36)。この結果、変化があれば、その変化により上位のあらかじめ定められた数の中に新たに入った構成データを、構成メモリ16内の頻度が最下位の構成データに置き換えるべくロード(プリロード)する(S38)。なお、S36の判定を行った時点で、再構成可能回路部12の回路構成が構成メモリ16内の最下位の構成データに基づき再構成されており、且つその回路構成がブロックの画像データを画像処理している場合には、S38のプリロードの処理は、その画像処理が終了するのを待って実行すればよい。S36で、実績データの上位の順に変更がない場合は、S38の処理は行わない。
【0047】
このようにS32〜S38の流れにより、構成メモリ16内には、過去に使用された頻度の高い順に、あらかじめ定められた数の構成データが格納されることになる。過去に多く使用されたものほど、この次のブロックに使用される可能性も高いと言える。したがって、S32〜S38は、構成データ群のうち、次のブロックに使用される可能性が上位のものを構成メモリ16にあらかじめロード(プリロード)する処理と言える。このS32〜S38の処理は、S14の後、特にS22で再構成可能回路部12が画像データのブロックを画像処理している間に、その画像処理と並列的に行う。これにより、S32〜S38の処理に要する時間のうちの少なくとも一部分(最も好適な例では、その時間全部)が、S14の判定から当該ブロックの画像処理の完了までの時間の中に隠蔽されることになる。
【0048】
また、1つの変形例として、S34の後、再構成実績管理部32A内の全構成データの頻度の合計があらかじめ定めた閾値に到達したかどうかを判定し(S40)、到達した場合には再構成実績管理部32A内の実績データを初期化してもよい(S42)。初期化では、例えば、すべての構成データの頻度を0に設定すればよい。S40の閾値は、例えば処理対象である1ページの画像データのうちの、あらかじめ定めた行数分のブロック数としてもよい。すなわち、この例では、1ページの画像データを画像処理する中で、あらかじめ定めた行数ごとに実績データをリセットするのである。これは、1ページ内の例えば、上部、中程、下部などといった部分ごとに、その部分内に含まれる主たる画像内容の種類(例えばテキスト、写真、図形など)が互いに異なる場合があるためである。例えば、テキストが多い部分を処理している間は実績データ内のテキストに対応するいくつかの構成データの頻度が多くなるが、その次の部分が写真の多い部分であると、前のテキストが多い部分の頻度が当該次の部分に影響すると、プリロードの的中率(すなわち、S18の判定結果が「肯定」になる率)が低下する。そこで、この例では、1ページを複数の部分に区切って、S40〜S42にて部分ごとに実績データの頻度をリセットすることで、ある部分の画像内容の傾向が他の部分のプリロード制御に影響を与えないようにした。
【0049】
なお、図5では、S40〜S42の流れをS36〜S38の流れと並列に示したが、例えばS40〜S42の処理をS36よりも先に実行してもよく、またこの場合においてS42の初期化を行った場合にはS36及びS38の処理を行わないようにしてもよい。なお、S40〜S42の処理も、S22の画像処理と並列的に実行する。
【0050】
以上に説明した図2〜図5の例は、プリロード制御部30Aを再構成制御部14内に設けた例であった。次に、図6を参照して、プリロード制御部30Aと同様の機能を備えるプリロード制御部30Bを、再構成可能回路部12内に構成する例を説明する。なお、図6において、既に説明した図2に示した要素と同様の要素については、同一の符号を付し、重複説明は省略する。
【0051】
図6の例では、再構成可能回路部12内に、プリロード制御部30Bの回路が構成されている。プリロード制御部30B内には、再構成実績管理部32B、構成メモリ管理部34、及びプリロード判定部36Bの回路構成が含まれる。これら各要素32B〜36Bの機能は、図2のプリロード制御部30A内の各要素32A〜36Aと同様でよい。すなわち、再構成実績管理部32Bは、各構成データの使用頻度及び頻度順位を示す実績データを保持しており、画像特徴判定部44の判定結果に応じて内部の実績データにおける各構成データの頻度や順位を更新する。また、構成メモリ管理部34は、構成メモリ16内に格納された各構成データの識別情報を保持している(図4参照)。構成メモリ管理部34は、プリロード判定部36Bの判定結果、及び割込発生部46による割込の指示から、構成メモリ16内の構成データの組合せに変更があると判断される場合に、その変更に合わせて、保持している構成データの識別情報の組合せを更新する。
【0052】
プリロード判定部36Bは、画像特徴判定部44の判定結果に応じて、再構成実績管理部32Bの実績データ内の上位のあらかじめ定めた数(構成メモリ16内の構成データの格納数分)の構成データの組合せに変化が生じた場合、その変化により新たに上位に加わった構成データを、構成メモリ16内の最下位の構成データに置き換えるよう、再構成制御部14に対してプリロード命令を発する。再構成制御部14の指示部15は、そのプリロード命令に応じて、その新たに上位に加入した構成データを構成メモリ16内にプリロードする。このプリロードに応じて、構成メモリ管理部34内のデータが構成メモリ16内の記憶データを反映するように更新される。また、割込発生部46は、あるブロックについての画像特徴判定部44の判定結果が、1つ前のブロックについての判定結果と異なる場合は、再構成制御部14に対して、今回の判定結果に対応する構成データへの再構成を命令する。この命令に応じ、指示部15は、今回の判定結果に対応する構成データが構成メモリ16内にある場合には、その構成データをアクティブ状態にする指示を構成メモリ16に発し、ない場合には、その構成データを構成メモリ16内の頻度が最下位のものの格納領域にロードし、ロードした構成データをアクティブ状態にする指示を発する。
【0053】
なお、メモリ20内の複数の構成データ22の各々は、データ入力部42、画像特徴判定部44、割込発生部46、データ出力部48及び画像処理部50の他に、プリロード制御部30Bの回路構成を規定するデータも含んでいる。
【0054】
図6の構成のDRP10の処理手順は、図5に例示した手順と同様でよい。
【0055】
次に、図7及び図8を参照して、過去の実績に基づくプリロード制御の別の例を説明する。
【0056】
大まかに言えば、図7及び図8の変形例では、処理対象のブロックについて画像特徴を判定する前に、処理対象のブロックの画像上での近傍の各ブロックで用いられた構成データ群が構成メモリ16内に既に保持されているようにする。1つの例では、ページの画像内で処理対象のブロックの1ライン(行)上のブロックのうち、処理対象のブロックの直上及び斜め上の各ブロックに用いられた構成データを構成メモリ16にプリロードしておく。あるブロックの画像の性質は、近傍のブロックの画像の性質に似通っている可能性が高いので、処理対象のブロックの近傍のブロック群で用いられた構成データが、処理対象のブロックでも用いられる可能性は高い。この例では、ラスター走査順に進む処理の中で、過去に処理したブロックで用いられた構成データの種類を記憶しておき、そのうち現在の処理対象のブロックに位置的に近いブロックのために用いた構成データを、その処理対象ブロックで用いられる可能性が高い構成データとしてプリロードするのである。
【0057】
この例では、再構成実績管理部32A又は32Bに保持する実績データが、図3の例とは異なり、図7に示すようなものとなる。すなわち、図7に例示する実績データは、処理対象のブロックの直前の1ライン(主走査方向の1ライン)分の各ブロックの処理に用いた各構成データの識別情報を有している。なお、ここでいう「ライン」は、ブロックがラスター走査の主走査方向に沿って並んだものである。すなわち、ラインの高さは、ブロックの高さに等しい。図7における「ブロック番号」は、ラスター走査の主走査方向に沿ったブロック位置を示す番号であり、末尾の番号Nは1ライン当たりのブロック数である。図7の実績データは、処理対象ブロックの直前1ライン分の情報を保持しているので、ページの画像における処理対象ブロックの直上のブロックやその近傍のブロックに用いられた構成データが実績データから求められる。この変形例では、このように求めた近傍のブロックで用いられた構成データを、構成メモリ16にプリロードする。
【0058】
図7及び図8の変形例のDRP10の構成は、図2又は図6に例示したものと同様でよい。この変形例の処理手順の一例を、図8を参照しつつ説明する。なお、以下では、図2の装置構成(プリロード制御部30Aが再構成制御部14にある構成)の場合の手順を説明するが、図6に示す装置構成(プリロード制御部30Bが再構成可能回路部12内にある構成)の場合もほぼ同じ内容の処理でよい。
【0059】
図8の手順のうち、S10〜S24の処理は、図5の手順の場合と同様である。図8の例では、S18で今回のブロックのための構成データが構成メモリ16内にないと判定された場合、構成メモリ16内の構成データのうち、当該構成データに対応するブロックの画像内での位置が次の処理対象のブロックから最も遠いものを、次の処理対象のブロックに対応する構成データに置き換える(S26a)。処理対象のブロックに近いブロックほど処理対象に似ている可能性が高いので、次のブロックから位置的に最も遠いブロックは、次のブロックに対する似ている可能性が他よりも相対的に低い。そこで、次のブロックを考慮して、S26aの処理を行うのである。なお、図8の処理では、現在の処理対象のブロックのライン内での順番(ライン内での位置)を表す順番カウンタを管理している。このため、再構成実績管理部32Aに記憶された処理対象ブロックの直前1行の各ブロックの構成データの識別情報のうち、そのカウンタが示す番号と同じブロック番号の構成データは、処理対象ブロックの直上のブロックで用いられた構成データを示す。構成メモリ16内の構成データのうち、対応するブロックの番号が例えばこの直上のブロックの番号から最も離れたものを、S26aでの置き換え対象とすればよい。S26aのロードの後は、図5の手順と同様S28で再構成を行ってS22に進み、またS30にて構成メモリ管理部34を更新する。
【0060】
また、図8の処理では、S14の後、プリロード判定部36Bは、再構成実績管理部32B内の実績データ(図7参照)のなかで、次の順番、すなわち「順番カウンタ+1」の順番に対応する構成データが構成メモリ16内にあるかどうかを、構成メモリ管理部34を参照して判定する(S50)。次の順番に対応する構成データが構成メモリ16内に無ければ、その構成データを構成メモリ16にプリロードするよう指示部15に指示する(S52)。プリロード先は、S26aのロード先と同様、構成メモリ16内の構成データのうち、対応するブロックの画像内での位置が次の処理対象のブロックから最も遠いものとすればよい。このプリロードに合わせて、構成メモリ管理部34のデータ内容も更新する。このプリロードの後S54に進む。S50で次の順番に対応する構成データが構成メモリ16内にあると判定した場合は、S52は実行せずにS54に進む。
【0061】
S54では、順番カウンタが示すブロック位置が主走査方向の1ラインの末尾(すなわち番号の最大値N)に達したかどうかを判定し、達していなければ番号カウンタの値を1増加させる(S58)。達していれば、順番カウンタの示す値を1にリセットする(S56)。
【0062】
また、再構成実績管理部32Aは、S14の後、保持している実績データの更新を行う。この更新処理では、保持している直前1ライン分の実績データのうち最も古いもの、すなわち現在の処理対象のブロックと同じ順番に対応する構成データの識別番号を、S14の判定結果に対応するものに置き換える(S60)。
【0063】
図8の手順でも、S50〜S60の処理は、再構成可能回路部12にて処理対象ブロックの画像処理を行っている間に実行する。
【0064】
図8の手順では、構成メモリ16内には、処理対象のブロックの直上のブロックとその近傍のブロックに対応する構成データが保持されており、処理対象のブロックの特徴がそれら保持されている構成データに適合する可能性は高い。
【0065】
この変形例では、処理対象のブロックに対して位置的に近いブロックの構成データが構成メモリ16内に保持されていればよい。位置的に近いブロックは、上に例示されたものに限らない。例えば、一例として、処理対象ブロックと同じライン内で1つ前のブロックの構成データを構成メモリ16内に残すようにしてもよい。また、処理対象ブロックの直上のブロックで用いられる構成データと、処理対象ブロックの直上のラインのうち、その直上ブロックよりも順番が後のブロックで用いられる構成データとが構成メモリ16内にプリロードされるようにしてもよい。
【0066】
また、再構成実績管理部32Aに保持させる過去の構成データの使用実績は、1ライン分に限るわけではなく、もっと多くてもよい。
【0067】
本実施形態では、処理対象の画像に応じて、図5及び図8の手順のうちの一方を選択して用いるようにしてもよい。例えば、テキストのみの画像を処理する場合には図8の手順を用い、テキスト以外の画像(例えば写真)が含まれる場合には図5の手順を用いるようにしてもよい。処理対象の画像がテキストのみか、そうでないかは、DRP10にその画像の処理を依頼する上位システムが、例えば、その画像を表すページ記述言語のデータを解析して求めてもよいし、ユーザが入力してもよい。
【0068】
また、以上に例示したプリロード制御部30A又は30Bの機能は、DRP10を制御する上位装置に、例えばソフトウエアとして実装してもよい。
【符号の説明】
【0069】
10 DRP、12 再構成可能回路部、14 再構成制御部、15 指示部、16 構成メモリ、18 共有バス、20 メモリ、22 構成データ、24 処理対象の画像データ、30A プリロード制御部、30B プリロード制御部、32A 再構成実績管理部、32B 再構成実績管理部、34 構成メモリ管理部、36A プリロード判定部、36B プリロード判定部、42 データ入力部、44 画像特徴判定部、46 割込発生部、48 データ出力部、50 画像処理部。

【特許請求の範囲】
【請求項1】
画像データの処理単位ごとにその処理単位の画像特徴を判定し、その画像特徴に基づきその処理単位のための回路構成データを選択する構成選択手段と、
前記画像データ内の処理単位のうち、現在の処理対象の処理単位より前に処理された処理単位についての前記構成選択手段による回路構成データの選択結果の情報に基づき、複数の回路構成データのうち前記現在の処理対象の処理単位のために選択される可能性が高い順にあらかじめ定めた数の回路構成データを予測し、予測した回路構成データを、前記構成選択手段が前記現在の処理対象の処理単位のための回路構成データを選択するより前に、再構成可能プロセッサの回路構成メモリにロードするロード手段と、
前記現在の処理対象の処理単位について前記構成選択手段が選択した回路構成データが前記回路構成メモリの中に既にロードされていれば、前記再構成可能回路の回路構成を当該回路構成データに応じて再構成し、前記現在の処理対象の処理単位について前記構成選択手段が選択した回路構成データが前記回路構成メモリの中にロードされていなければ、当該回路構成データを前記回路構成メモリにロードした後、前記再構成可能回路の回路構成を当該回路構成データに応じて再構成するよう制御する制御手段と、
を備える画像データ処理装置。
【請求項2】
前記ロード手段は、前記画像データ内の処理単位のうち前記現在の処理対象の処理単位より前に処理された各処理単位についての前記構成選択手段による回路構成データの選択結果を集計して回路構成データごとの選択頻度を求め、選択頻度が多い回路構成データから順に、前記現在の処理対象の処理単位のために選択される可能性が高いと判定する、ことを特徴とする請求項1に記載の画像データ処理装置。
【請求項3】
前記ロード手段は、前記画像データのうちあらかじめ定められた数の処理単位についての前記選択結果の集計を完了するごとに、前記回路構成データごとの選択回数の集計結果を初期化する、ことを特徴とする請求項2に記載の画像データ処理装置。
【請求項4】
前記ロード手段は、前記現在の処理対象の処理単位の直前の、少なくとも1ライン分の各処理単位についての前記構成選択手段による回路構成データの選択結果を記憶しており、記憶している各処理単位についての前記選択結果のうち、前記現在の処理対象の処理単位に位置的に近接する各処理単位についての前記選択結果に係る回路構成データを、前記現在の処理対象の処理単位のために選択される可能性が高い順のあらかじめ定めた数の回路構成データとして前記回路構成メモリにロードする、
ことを特徴とする請求項1に記載の画像データ処理装置。
【請求項5】
コンピュータを、
画像データの処理単位ごとにその処理単位の画像特徴を判定し、その画像特徴に基づきその処理単位のための回路構成データを選択する構成選択手段、
前記画像データ内の処理単位のうち、現在の処理対象の処理単位より前に処理された処理単位についての前記構成選択手段による回路構成データの選択結果の情報に基づき、複数の回路構成データのうち前記現在の処理対象の処理単位のために選択される可能性が高い順にあらかじめ定めた数の回路構成データを予測し、予測した回路構成データを、前記構成選択手段が前記現在の処理対象の処理単位のための回路構成データを選択するより前に、再構成可能プロセッサの回路構成メモリにロードするロード手段、
前記現在の処理対象の処理単位について前記構成選択手段が選択した回路構成データが前記回路構成メモリの中に既にロードされていれば、前記再構成可能回路の回路構成を当該回路構成データに応じて再構成し、前記現在の処理対象の処理単位について前記構成選択手段が選択した回路構成データが前記回路構成メモリの中にロードされていなければ、当該回路構成データを前記回路構成メモリにロードした後、前記再構成可能回路の回路構成を当該回路構成データに応じて再構成するよう制御する制御手段、
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−234337(P2012−234337A)
【公開日】平成24年11月29日(2012.11.29)
【国際特許分類】
【出願番号】特願2011−102130(P2011−102130)
【出願日】平成23年4月28日(2011.4.28)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】