JP2016009339A - 画像処理装置、その制御方法およびプログラム - Google Patents

画像処理装置、その制御方法およびプログラム Download PDF

Info

Publication number
JP2016009339A
JP2016009339A JP2014129708A JP2014129708A JP2016009339A JP 2016009339 A JP2016009339 A JP 2016009339A JP 2014129708 A JP2014129708 A JP 2014129708A JP 2014129708 A JP2014129708 A JP 2014129708A JP 2016009339 A JP2016009339 A JP 2016009339A
Authority
JP
Japan
Prior art keywords
reconfiguration
unit
partial
circuit
function
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.)
Granted
Application number
JP2014129708A
Other languages
English (en)
Other versions
JP6598432B2 (ja
JP2016009339A5 (ja
Inventor
康智 田中
Yasutomo Tanaka
康智 田中
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014129708A priority Critical patent/JP6598432B2/ja
Priority to US14/736,313 priority patent/US9313364B2/en
Priority to CN201510349848.XA priority patent/CN105323404B/zh
Publication of JP2016009339A publication Critical patent/JP2016009339A/ja
Publication of JP2016009339A5 publication Critical patent/JP2016009339A5/ja
Application granted granted Critical
Publication of JP6598432B2 publication Critical patent/JP6598432B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32609Fault detection or counter-measures, e.g. original mis-positioned, shortage of paper
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00026Methods therefor
    • H04N1/00034Measuring, i.e. determining a quantity by comparison with a standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00071Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for characterised by the action taken
    • H04N1/00082Adjusting or controlling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00954Scheduling operations or managing resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)
  • Stored Programmes (AREA)
  • Image Processing (AREA)

Abstract

【課題】再構成可能回路を有する画像処理装置において、再構成可能回路を部分再構成しながら使用する場合、部分再構成が失敗する可能性を考慮した実装をする必要がある。
【解決手段】回路構成を部分的に再構成可能な再構成可能回路を有する画像処理装置とその制御方法において、再構成可能回路に構成する回路構成情報を記憶しておき、ジョブの実行に必要な機能に対応する、記憶されている回路構成情報を特定し、その特定された回路構成情報を用いて再構成可能回路の部分再構成部を構成することにより、再構成可能回路に、必要な機能を部分的に再構成する。そして再構成に成功すると再構成可能回路を使用してジョブを実行し、再構成に失敗すると再構成を再度実行する。
【選択図】 図4

Description

本発明は、画像処理装置、その制御方法およびプログラムに関する。
論理回路を変更可能なPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等の再構成可能回路が良く知られている。一般的に、PLDやFPGAは起動時に、ROM等の不揮発性メモリに格納された回路構成情報を、内部の揮発性メモリであるコンフィギュレーションメモリへ書き込むことにより論理回路の切り替えを行う。また、コンフィギュレーションメモリ内の情報は電源切断時に消去されるため、電源投入時には再度、不揮発性メモリから回路構成情報をコンフィギュレーションメモリに書き込むことで、論理回路の再構成を行う必要がある。このように、一度だけ、PLDやFPGAの論理回路の構成を行う方法を静的再構成という。
一方で、回路が動作中に論理回路を変更できるFPGA等が開発されてきており、動作中に論理回路を変更する方法を動的再構成という。また、FPGAには、チップ全体ではなく特定の領域だけを書き換えることが可能なものがあり、このような書き換えを部分再構成という。特に、動作中の論理回路の動作を停止させずに、他の論理回路部分を部分再構成することを動的部分再構成という。
動的部分再構成では、動的再構成時にコンフィギュレーションメモリ全体を書き換えるのではなく、コンフィギュレーションメモリ領域の一部のみを書き換えることで、FPGA内の論理回路を部分的に再構成できる。このような動的部分再構成技術を用いることで、FPGA内の一つの領域に複数の論理回路を実装できるため、ハードウェアリソースを時分割多重化した論理回路を実現できる。その結果、少ないハードウェアリソースで、用途に合わせた様々な機能をハードウェアによる高い演算性能を保ったままで柔軟に実現することが可能となる。
この動的部分再構成を用いた技術として、例えば特許文献1には、パイプライン処理において、パイプラインの先頭の回路から順に再構成可能回路上に再構成して、機能を切り替えながらデータ処理する手法が開示されている。
近年のMFP(Multi Function Printer)等の画像処理装置は、ユーザからの要求に応じた複数の処理(コピージョブ、プリントジョブ、SENDジョブ等)を選択でき、各処理に応じた画像処理はハードウェア又はソフトウェアにより実行される。この画像処理装置の画像処理用のハードウェアにFPGA等の再構成可能回路を採用した場合、上述した様な機能毎に、FPGAの回路構成を動的かつ部分的に切り替えて実現できる。その結果、少ないハードウェアリソースで様々な画像処理機能が実現可能となる。但し、部分再構成を行う構成において、デバイスの故障や電気的なノイズ、書き込みタイミング等の何らかの要因により部分再構成が失敗した場合、必要な回路が構成されないことになり、意図したデータ処理が実現できなくなってしまう。
特開2011−186981号公報
上述したように、再構成可能回路を部分再構成しながら使用する場合、部分再構成が失敗すると、その装置のパフォーマンスが劣化してしまう。例えば、特定の画像処理機能が必要なため、ある画像処理機能の部分再構成に何等かの要因で失敗してしまった場合、その画像処理機能を使用することができず処理が停止してしまうことになり、画像処理装置のパフォーマンスが劣化してしまう。そのため、再構成可能回路を部分再構成しながら使用する構成では、部分再構成が失敗する可能性を考慮した実装をする必要がある。
本発明の目的は、上記従来技術の問題点を解決することにある。
本発明の特徴は、回路構成を部分的に再構成可能な再構成可能回路を有する画像処理装置において、再構成可能回路の再構成が失敗した場合に、装置のパフォーマンス劣化を可能な限り抑えることができる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
回路構成を部分的に再構成可能な再構成可能回路を有する画像処理装置であって、
前記再構成可能回路に構成する回路構成情報を記憶する記憶手段と、
ジョブの実行に必要な機能に対応する、前記記憶手段に記憶されている回路構成情報を特定する特定手段と、
前記特定手段により特定された前記回路構成情報を用いて前記再構成可能回路の部分再構成部を構成することにより、前記再構成可能回路に前記機能を部分的に再構成する再構成手段と、
前記再構成手段による再構成に成功すると前記再構成可能回路を使用して前記ジョブを実行し、前記再構成手段による再構成に失敗すると前記再構成手段による再構成を再実行するように制御する制御手段とを有することを特徴とする。
本発明によれば、回路構成を部分的に再構成可能な再構成可能回路を有する画像処理装置において、再構成可能回路の再構成が失敗した場合に、装置のパフォーマンス劣化を可能な限り抑えることができるという効果がある。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態に係る画像処理装置の構成を説明するブロック図。 実施形態に係る画像処理装置の部分再構成に特に関わる構成を説明するブロック図。 実施形態に係るコンフィギュレーション用ROMに格納されているコンフィギュレーションデータのデータ構成を説明する図。 本発明の実施形態に係る画像処理装置の処理を説明するフローチャート。 本実施形態に係る画像処理装置による図4のS403のFPGAの部分再構成実行処理の詳細を説明するフローチャート。 実施形態に係る画像処理装置による図5のS506の処理の詳細を説明するフローチャート。 実施形態に係る画像処理装置による図4のS405で実行する全面再構成の処理を説明するフローチャート。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
図1は、本発明の実施形態に係る画像処理装置100の構成を説明するブロック図である。
画像処理装置100は、画像処理装置100を使用するユーザが操作するキーやタッチパネル等を有する操作部103と、原稿を走査して原稿の画像を読み取るスキャナ部109と、画像データに基づいて用紙に画像を印刷するプリンタ部107とを有する。スキャナ部109は、スキャナ部109を制御するCPU(不図示)や原稿の読取を行うための照明ランプや走査ミラー(いずれも不図示)等を有する。プリンタ部106は、プリンタ部106を制御するCPU(不図示)や画像形成や定着を行うための感光体ドラムや定着器(いずれも不図示)等を有する。
また画像処理装置100は、画像処理装置100の動作を統括的に制御するCPU101を備え、このCPU101は、画像処理装置100の各ユニットを制御するための制御プログラムを実行する。またROM104は、CPU101が実行する制御プログラムや各データを記憶している。RAM111は、CPU101が動作するためのシステムワークメモリや画像データを一時記憶するための画像メモリを提供している。メモリコントローラ110はRAM111へのデータの書き込み、及びRAM111からのデータの読み出しを制御する。メモリコントローラ110は、システムバス120及び画像バス121に接続され、RAM111へのアクセスを制御する。
FPGA(Field Programmable Gate Array)140は再構成可能回路で、この画像処理装置100の画像処理回路等を構成する。実施形態では、再構成可能回路としてFPGAを例に説明しているが、FPGA以外の再構成可能回路であってもよい。コンフィグコントローラ130は、CPU101の制御の下で、FPGAの回路構成(コンフィギュレーション)を制御する。コンフィギュレーション用ROM150は、FPGA140の回路を構成するための回路構成情報(コンフィグデータ)を格納する。FPGA140の回路構成情報の書き換えは、動的に書き換え可能で、かつ部分的に書き換え可能である。即ち、FPGA140の再構成部の一部に構成された回路が動作している間に、その回路が占める部分と重ならない別の部分に、別の回路を構成することができる。
ネットワークI/F102は、ネットワーク上の不図示の汎用コンピュータ等と通信(送受信)を行う。プリンタI/F106は、画像バス121とプリンタ部107とを接続し、プリンタ部107とのインタフェースを制御する。スキャナI/F108は、スキャナ部109から入力された画像データを画像バス121に出力して、スキャナ部109とのインタフェースを制御する。USBI/F114は、USBインターフェースを介して画像処理装置100と接続された不図示の汎用コンピュータやUSBデバイス等と通信(送受信)を行う。FAXI/F115は公衆回線網と接続し、不図示の画像処理装置やファクシミリ装置と通信(送受信)を行う。ROMI/F112は、CPU101が実行するプログラム等のROM104からのデータの読み出しを制御する。操作部I/F113は、CPU101と操作部103とのインタフェースを制御する。ここでFPGA140及びスキャナI/F108及びプリンタI/F106は、処理対象の画像データを転送するための画像バス121に接続される。またネットワークI/F102,USBI/F114,FAXI/F115,操作部I/F113,ROMI/F112、コンフィグコントローラ130、FPGA140は、システムバス120を介してCPU101と接続されている。CPU101は、FPGA140、スキャナI/F108、プリンタI/F106へのパラメータ設定をシステムバス120を介して行う。
次に、図2を参照して本実施形態に係る画像処理装置100における部分再構成に関する構成について説明する。
図2は、実施形態に係る画像処理装置100の部分再構成に特に関わる構成を説明するブロック図である。図2において、図1で説明した箇所は同じ参照番号で示している。
FPGA140は内部に、4つの部分再構成部(PR1〜PR4)201〜204を有する。各部分再構成部は、その回路構成を動的に再構成することが可能である。実施形態では、画像処理機能を持つ回路を部分再構成部に構成する例について説明をしているが、もちろん画像処理機能以外の回路を部分再構成部に構成できることは言うまでもない。
コンフィグコントローラ130は、コンフィグレーション用ROM150に記憶されているコンフィグレーションデータを、FPGA140の指示された部分再構成部に書き込む。コンフィグコントローラ130は、再構成管理部205とエラー検知部206とを有する。再構成管理部205は、部分再構成部201〜204のそれぞれを管理する。例えば、部分再構成部201〜204のそれぞれが現在の処理に使用されているか等、各部分再構成部の空き状況を管理する。その上で、各部分再構成部が書き換え可能かどうかを判定する。再構成管理部205は、CPU101からの指示と、各部分再構成部が書き換え可能かどうかの判定結果とに基づいて、部分再構成部201〜204のそれぞれへのコンフィギュレーションデータの書き換えを行う。
エラー検知部206は、部分再構成部201〜204のそれぞれの部分再構成が正常に終了しなかった場合のエラーを検知する。例えば、部分再構成部201の書き換えを実施した際に、何等かの要因で、コンフィギュレーションデータの書き換えに失敗したときに再構成可能回路(FPGA)が出力するエラー信号をモニタする。エラー検知部206は、このエラー信号を検知すると再構成管理部205に通知する。エラー検知部206により、エラーが検知された場合の処理は、図4〜図7を参照して後述する。
次に、図3を参照して、実施形態に係る画像処理装置100におけるFPGA140の部分再構成部201〜204を構成するコンフィギュレーションデータの格納方法について説明する。
図3は、実施形態に係るコンフィギュレーション用ROM150に格納されているコンフィギュレーションデータのデータ構成を説明する図である。
コンフィギュレーション用ROM150には、FPGA140の部分再構成部201〜204の部分再構成に必要な複数のコンフィギュレーションデータが、部分再構成部に対応付けて格納されている。部分再構成部201(PR1)用のコンフィギュレーションデータ300は、部分再構成部201に論理回路を構成するコンフィギュレーションデータを表している。図3においては、部分再構成部201に構成可能な機能がA,B,C,Dの4つである場合を例にしている。コンフィギュレーションデータ301は、PR1に機能Aの回路を構成するためのコンフィギュレーションデータである。同様に、コンフィギュレーションデータ302〜304はそれぞれ、PR1に機能B、機能C、機能Dの回路構成をそれぞれ構成するためのコンフィギュレーションデータである。
またコンフィギュレーションデータ310は、部分再構成部(PR2)202に論理回路を構成するコンフィギュレーションデータを表している。PR2用のコンフィギュレーションデータ310でも、機能A,B,C,Dの4つの機能のコンフィギュレーションデータを格納しており、コンフィギュレーションデータ311は、PR2に機能Aの回路を構成するためのコンフィギュレーションデータである。同様に、コンフィギュレーションデータ312〜314はそれぞれ、PR2に機能B、機能C、機能Dの回路構成をそれぞれ構成するためのコンフィギュレーションデータである。
またコンフィギュレーションデータ320は、部分再構成部(PR3)203に論理回路を構成するコンフィギュレーションデータを表している。PR3用のコンフィギュレーションデータ320でも、機能A,B,C,Dの4つの機能のコンフィギュレーションデータを格納しており、コンフィギュレーションデータ321は、PR3に機能Aの回路を構成するためのコンフィギュレーションデータである。同様に、コンフィギュレーションデータ322〜324はそれぞれ、PR3に機能B、機能C、機能Dの回路構成をそれぞれ構成するためのコンフィギュレーションデータである。
またコンフィギュレーションデータ330は、部分再構成部(PR4)204に論理回路を構成するコンフィギュレーションデータを表している。PR4用のコンフィギュレーションデータ330でも、機能A,B,C,Dの4つの機能のコンフィギュレーションデータを格納しており、コンフィギュレーションデータ331は、PR3に機能Aの回路を構成するためのコンフィギュレーションデータである。同様に、コンフィギュレーションデータ332〜334はそれぞれ、PR4に機能B、機能C、機能Dの回路構成をそれぞれ構成するためのコンフィギュレーションデータである。
上述したように、各部分再構成部ごとにコンフィギュレーションデータを用意する必要がある。例えば、機能Aの回路構成を、部分再構成部(PR1)201と部分再構成部(PR2)202に構成する場合を考える。この場合、例え同じ機能Aであっても、PR1用の機能Aのコンフィギュレーションデータ301、PR2用の機能Aのコンフィギュレーションデータ311というように、部分再構成部によって異なるコンフィギュレーションデータを用意する必要がある。
そのため、各部分再構成部用のコンフィギュレーションデータを多く備えておけば、各部分再構成部を色々な機能に使用できるが、コンフィギュレーションROM150に格納するデータ容量が大きくなる。一方で、機能毎にコンフィギュレーションする再構成部を限定すれば、各部分再構成部に構成できる機能が限定されるが、コンフィギュレーションデータの量を少なくできるのでコンフィギュレーションROM150の容量を削減することができる。
本実施形態では、FPGA140は4つの部分再構成領域を持ち、部分再構成領域に構成される機能がA,B,C,Dの4つの場合を例に説明する。もちろん、部分再構成の領域と、そこに構成する機能を4つに限定した理由は、説明をわかりやすくするためだけであり、4つに限定される必要はない。
図4は、本発明の実施形態に係る画像処理装置100による処理を説明するフローチャートである。尚、図4のフローチャートの各手順は、CPU101がROM104に格納された制御プログラムを実行することにより実行される。
まずS401でCPU101は、ジョブを受信するとS402へ進み、CPU101は、その受信したジョブを実行するに際して、FPGA140に構成しなければならない機能を特定する。例えば、受信したジョブを実行するために機能Aが必要である場合、そのジョブを実行するための機能として機能Aを特定する。次にS403に進みCPU101は、S402で特定した機能を、FPGA140の部分再構成部に構成する。このS403では、CPU101の制御の下で、コンフィグコントローラ130が、その機能を構成するのに必要なコンフィギュレーションデータをコンフィギュレーションROM150から読み出し、FPGA140の部分再構成部に書き込む。S403の部分再構成実行処理の詳細は図5を参照して後述する。
次にS404に進みCPU101は、S403において、S402で特定した機能を実行できるように、FPGA140の部分再構成部の構成に成功したか否かを判定する。ここでCPU101は、コンフィグコントローラ130の再構成管理部205がエラー検知部206から取得した検知結果を基に、部分再構成部の構成に成功したかどうかを判定する。S404でCPU101は、S402で特定したジョブの実行に必要な全ての機能が、FPGA140の部分再構成部に構成できたと判定した場合はS407へ進む。S407でCPU101は、そのFPGA140に構成された機能を用いて、受信したジョブの処理を行ってこの処理を終了する。
一方、S404で部分再構成部の構成に失敗したと判定したときはS405に進む。S405でCPU101は、ジョブの実行に必要な機能の部分再構成がエラー終了しているため、コンフィグコントローラ130により、FPGA140の全面再構成を実行させる。S405で実行するFPGA140の全面再構成の実行フローについては図7を参照して後述する。S405の処理が終了するとS406に進みCPU101は、FPGA140の全面再構成が正常終了したかを判定する。ここでもCPU101は、コンフィグコントローラ130の再構成管理部205がエラー検知部206から取得した検知結果を基に成功したかどうかを判定する。S406でCPU101は、FPGA140の全面再構成が正常終了したと判定するとS407へ進み、エラー終了した場合S408へ進んでエラーを通知してこの処理を終了する。このエラー通知は、CPU101の指示の下に操作部103の表示部にエラーの旨を表示し、電源の再投入等を促す。
これにより、受信したジョブを実行するのに必要な機能を再構成可能回路(FPGA)に構成し、その機能が構成された再構成可能回路を使用して、そのジョブを実行することができる。
次に図5を参照して、部分再構成実行の処理について詳細に説明する。
図5は、本実施形態に係る画像処理装置100による図4のS403のFPGAの部分再構成実行処理の詳細を説明するフローチャートである。尚、図5のフローチャートの各手順はCPU101又はCPU101の指示の下でコンフィグコントローラ130が実行する。
まずS501でCPU101は、再構成を行う部分再構成部と、コンフィギュレーション用ROM150に格納されているコンフィギュレーションデータの中から、その部分再構成部に構成する機能に対応するコンフィギュレーションデータを特定する。例えば部分再構成部(PR1)201に機能Aの回路を構成する場合、コンフィギュレーション用ROM150に格納されているコンフィギュレーションデータの中からPR1用機能Aのコンフィグレーションデータ301を特定する。ここでCPU101は、再構成管理部205からの情報に基づいて、FPGA140でジョブの処理に使用されていない書き換え可能な部分再構成部を特定する。
次にS502に進みCPU101は、コンフィグコントローラ130に対して部分再構成を実行するように指示する。具体的には、S501で特定したコンフィギュレーションデータと、書き込み対象の部分再構成部とを指示する。ここでは例えば、コンフィギュレーションデータを、部分再構成部(PR1)201に書き込むように指示する。そしてS503に進みCPU101は、コンフィグコントローラ130からの応答に基づいて、S502の部分再構成が正常終了したかどうかを判定する。この判定には、FPGA140が出力する部分再構成が正常終了を示す信号を再構成管理部205がモニタし、エラー検知部206がエラーを検知しない場合に正常終了と判定する。S503でCPU101が部分再構成が正常終了したと判定するとS508に進み、CPU101は、そのジョブを実行するのに必要な全ての機能の部分再構成が終了したかを判定する。全ての機能の部分再構成が終了したときは、この処理を終了して図4のS404へ進む。一方、S508でCPU101が、そのジョブを実行するのに必要な全ての機能の部分再構成が終了していないと判定するとS501に戻り、残りの必要な機能の部分再構成を実行する。
一方、S503でCPU101は、部分再構成が正常終了していないと判定するとS504に進む。S504では、S502で実行した部分再構成が何等かの原因により失敗しているため、CPU101は、コンフィグコントローラ130に対して、S502で実施した部分再構成の再実行を指示する。そしてS505に進みCPU101は、前述のS503と同様に、S504で実行した部分再構成の再実行が正常終了したかどうかを判定する。S505でCPU101が、部分再構成の再実行が正常終了したと判定したときはS508に進むが、そうでないときはS506に進む。尚、S505において、部分再構成が正常終了しなかったと判定した場合、CPU101は、S504とS505の処理を複数回実行してもよい。
S506でCPU101は、コンフィグコントローラ130に対して、その機能を実行するコンフィグレーションデータを書き込む部分再構成部を、他の処理を実行していない部分再構成部に切り替えるように指示する。更に、その切り替えた部分再構成部に、対応するコンフィグレーションデータを書き込むように指示する。例えば、部分再構成部(PR1)201に機能Aの回路を構成しようとした際に失敗した場合、部分再構成部(PR2)202が空いていれば、そこに機能Aの回路の再構成を実施する。このS506における、部分再構成部を切り替えて部分再構成を実行する処理は、図6を参照して後述する。そしてS507に進みCPU101は、S506で実行した部分再構成部を切り替えた部分再構成が成功したかを判定する。この判定もS503,S505と同様に、構成管理部205とエラー検知部206がFPGAの正常終了、エラー終了を表す信号をモニタすることにより行われる。S507でCPU101が、部分再構成が正常終了したと判定した場合はS508へ進み、エラー終了した場合は、部分再構成の処理を終了して図4のS404へ進む。
このようにして、FPGAのある部分再構成部へのコンフィグレーションデータの書き込みに失敗した場合は、そのFPGAの別の部分再構成部へ、同じ機能を実行するコンフィグレーションデータを書き込むことができる。これによりFPGAのある部分再構成部への、ある機能のコンフィグレーションに失敗しても、他の部分再構成部に同じ機能を構成できる。
次に図6を参照して、部分再構成部を切り替えて部分再構成を実行する処理を詳細に説明する。
図6は、実施形態に係る画像処理装置100による図5のS506の処理の詳細を説明するフローチャートである。尚、図6のフローチャートの各手順はCPU101又はCPU101の指示の下でコンフィグコントローラ130が実行する。
先ずS601でCPU101は、再構成管理部205からの情報に基づいて、FPGA140の部分再構成部の中で、空いている部分再構成部があるかどうかを判定する。S601でCPU101が、FPGA140の部分再構成部の中で空いている部分再構成部があると判定した場合はS602に進み、空いている領域がなかった場合はS604へ進む。S602でCPU101は、その空いている部分再構成部に書き込むコンフィグレーションデータを特定する。例えば、部分再構成部(PR2)が空いていて、そこに機能Aを構成する場合は、コンフィギュレーション用ROM150の中からPR2用機能Aのコンフィグレーションデータ311を特定する。そしてS603に進みCPU101は、S602で特定したコンフィグレーションデータを、S601で見つけた、空いている部分再構成部に書き込んで部分再構成を実行して、この処理を終了する。尚、S602で、空いている部分再構成部に対応する、当該機能を実行するコンフィグレーションデータがコンフィグレーション用ROM150に記憶されていない場合が考えられる。その場合は、その機能を実行するコンフィグレーションデータが記憶されている他の空いている部分再構成部を探すようにしても良い。
一方、S604でCPU101は、FPGA140の部分再構成部に空いている部分再構成部がなかったため、FPGA140の部分再構成部の中に、書き換え可能な部分再構成部があるか否かを判定する。ここで、書き換え可能な部分再構成部とは、その部分再構成部に既に何らかのコンフィギュレーションデータが書き込まれているが、現在の処理にでは使用されていない部分再構成部である。S604でCPU101は、FPGA140の部分再構成部の中に、書き換え可能な部分再構成部があると判定するとS605に進むが、書き換え可能な部分再構成部がなかった場合は、この処理終了して図5のS507へ進む。
S605でCPU101は、FPGA140の部分再構成部の中に、書き換え可能な部分再構成部があるため、S604で特定した書き換え可能な部分再構成部に構成するコンフィグレーションデータを特定する。例えば、部分再構成部(PR3)203に機能Aを構成する場合は、コンフィギュレーション用ROM150の中のPR3用機能Aのコンフィグレーションデータ331を特定する。そしてS606に進みCPU101は、S605で特定したコンフィグレーションデータを、S604で見つけた、書き換え可能な部分再構成部に上書きして、この処理を終了する。尚、S605で、書き換え可能な部分再構成部に対応する、当該機能を実行するコンフィグレーションデータがコンフィグレーション用ROM150に記憶されていない場合が考えられる。その場合は、その機能を実行するコンフィグレーションデータが記憶されている他の書き換え可能な部分再構成部を探すようにしても良い。
これによれば、FPGAのある部分再構成部のコンフィグレーションに失敗したときは、そのFPGAの空いている(コンフィグレーションが未実行の)部分再構成部、或いはコンフィグレーションされているが、現在使用されていない部分再構成部を探す。そしてそのような部分再構成部が見つかると、その部分再構成部に対応し、かつそこに構成したい機能に対応するコンフィグレーションデータを特定して、その特定したコンフィグレーションデータでFPGAのコンフィグレーションを実行することができる。
次に図7を参照して、図4のS405の全面再構成を実行する処理について詳細に説明する。
図7は、実施形態に係る画像処理装置100による図4のS405で実行する全面再構成の処理を説明するフローチャートである。尚、図7のフローチャートの各手順はCPU101と、CPU101の指示の下でコンフィグコントローラ130が処理を実行することにより達成される。
S701でCPU101は、FPGA140の部分再構成部に構成されているコンフィグデータの種類をコンフィグコントローラ130から取得してRAM111に記憶する。ここで部分再構成部に構成されているコンフィグデータの種類を記憶するのは、全面再構成後に部分再構成を実行し、FPGA140の回路構成を全面再構成前と同じ状態にするためである。次にS702に進みCPU101は、FPGA140の全面再構成を実行する。ここではFPGA140の部分再構成部201〜204それぞれに対して、FPGA140が有する機能A〜Dを構成する。例えば、部分再構成部201に機能A,部分再構成部202に機能B,部分再構成部203に機能C,部分再構成部204に機能Dを構成する。次にS703に進みCPU101は、S701で記憶した全面再構成前の状態と同じになるように必要に応じて部分再構成を実行する。ここでは例えば、部分再構成部201に機能Bを、部分再構成部202に機能Aを構成する。尚、S702において、S701で記憶したFPGA140の部分再構成部に構成されているコンフィグデータの種類に基づいてFPGA140の全面再構成を実行すれば、S703の処理を省略できる。
以上説明したように本実施形態によれば、動的部分再構成が可能なFPGAを備えた画像処理装置において、動的部分再構成に失敗した場合でも、パフォーマンス劣化を可能な限り抑えるリカバリー制御が実行可能となる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
100…画像処理装置、101…CPU,104…ROM,111…RAM,120…システムバス、121…画像バス、130…コンフィグコントローラ、140…FPGA,150…コンフィギュレーション用ROM,205…再構成管理部、206…エラー検知部。

Claims (10)

  1. 回路構成を部分的に再構成可能な再構成可能回路を有する画像処理装置であって、
    前記再構成可能回路に構成する回路構成情報を記憶する記憶手段と、
    ジョブの実行に必要な機能に対応する、前記記憶手段に記憶されている回路構成情報を特定する特定手段と、
    前記特定手段により特定された前記回路構成情報を用いて前記再構成可能回路の部分再構成部を構成することにより、前記再構成可能回路に前記機能を部分的に再構成する再構成手段と、
    前記再構成手段による再構成に成功すると前記再構成可能回路を使用して前記ジョブを実行し、前記再構成手段による再構成に失敗すると前記再構成手段による再構成を再実行するように制御する制御手段と、
    を有することを特徴とする画像処理装置。
  2. 前記再構成可能回路は、回路構成を再構成可能な複数の部分再構成部を有し、
    前記記憶手段は、複数の機能に対応する複数の回路構成情報のそれぞれを、前記複数の部分再構成部のそれぞれに対応付けて記憶していることを特徴とする請求項1に記載の画像処理装置。
  3. 前記制御手段は、前記再構成手段による再構成に失敗すると、前記再構成可能回路の他の空いている部分再構成部を、当該空いている部分再構成部に対応しかつ前記機能に対応する回路構成情報を用いて構成するように前記再構成手段を制御することを特徴とする請求項2に記載の画像処理装置。
  4. 前記制御手段は、前記再構成手段による再構成に失敗すると、前記再構成可能回路の前記ジョブで使用されない部分再構成部を、当該使用されない部分再構成部に対応しかつ前記機能に対応する回路構成情報で上書きして構成するように前記再構成手段を制御することを特徴とする請求項2に記載の画像処理装置。
  5. 前記制御手段は、前記再構成手段による再構成に失敗し、前記再構成可能回路の他の空いている部分再構成部に対応しかつ前記機能に対応する回路構成情報が前記記憶手段に記憶されていない場合、前記機能に対応する回路構成情報が前記記憶手段に記憶されている前記再構成可能回路の他の空いている部分再構成部に対して、前記再構成手段による再構成を実行するように制御することを特徴とする請求項3に記載の画像処理装置。
  6. 前記制御手段は、前記再構成手段による再構成に失敗し、前記再構成可能回路の前記ジョブで使用されない部分再構成部に対応しかつ前記機能に対応する回路構成情報が前記記憶手段に記憶されていない場合、前記機能に対応する回路構成情報が前記記憶手段に記憶されている前記ジョブで使用されない他の部分再構成部に対して、前記再構成手段による再構成を実行するように制御することを特徴とする請求項4に記載の画像処理装置。
  7. 前記制御手段が、前記再構成手段による再構成を再実行しても当該再構成に失敗した場合、前記記憶手段に記憶されている回路構成情報を用いて前記再構成可能回路の全ての部分再構成部を構成する全面再構成手段を更に有することを特徴とする請求項2乃至6のいずれか1項に記載の画像処理装置。
  8. 前記再構成可能回路は、前記複数の部分再構成部のそれぞれを動的に再構成できるFPGA(Field Programmable Gate Array)であることを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
  9. 回路構成を部分的に再構成可能な再構成可能回路を有する画像処理装置を制御する制御方法であって、
    ジョブの実行に必要な機能に対応する、前記再構成可能回路に構成する回路構成情報を記憶するメモリに記憶されている回路構成情報を特定する特定工程と、
    前記特定工程で特定された前記回路構成情報を用いて前記再構成可能回路の部分再構成部を構成することにより、前記再構成可能回路に前記機能を部分的に再構成する再構成工程と、
    前記再構成工程による再構成に成功すると前記再構成可能回路を使用して前記ジョブを実行し、前記再構成工程による再構成に失敗すると前記再構成工程による再構成を再実行するように制御する制御工程と、
    を有することを特徴とする画像処理装置の制御方法。
  10. コンピュータを、請求項1乃至8のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
JP2014129708A 2014-06-24 2014-06-24 画像処理装置、その制御方法およびプログラム Active JP6598432B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014129708A JP6598432B2 (ja) 2014-06-24 2014-06-24 画像処理装置、その制御方法およびプログラム
US14/736,313 US9313364B2 (en) 2014-06-24 2015-06-11 Image processing apparatus and control method for the same
CN201510349848.XA CN105323404B (zh) 2014-06-24 2015-06-23 图像处理装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014129708A JP6598432B2 (ja) 2014-06-24 2014-06-24 画像処理装置、その制御方法およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019146823A Division JP6864721B2 (ja) 2019-08-08 2019-08-08 情報処理装置、およびその制御方法

Publications (3)

Publication Number Publication Date
JP2016009339A true JP2016009339A (ja) 2016-01-18
JP2016009339A5 JP2016009339A5 (ja) 2017-08-03
JP6598432B2 JP6598432B2 (ja) 2019-10-30

Family

ID=54870808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014129708A Active JP6598432B2 (ja) 2014-06-24 2014-06-24 画像処理装置、その制御方法およびプログラム

Country Status (3)

Country Link
US (1) US9313364B2 (ja)
JP (1) JP6598432B2 (ja)
CN (1) CN105323404B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019009115A1 (ja) 2017-07-04 2019-01-10 日立オートモティブシステムズ株式会社 電子制御システム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10270709B2 (en) 2015-06-26 2019-04-23 Microsoft Technology Licensing, Llc Allocating acceleration component functionality for supporting services
JP6308821B2 (ja) * 2014-03-13 2018-04-11 キヤノン株式会社 画像処理装置
JP6478525B2 (ja) * 2014-08-25 2019-03-06 キヤノン株式会社 画像処理装置と、その制御方法、及びプログラム
US10198294B2 (en) 2015-04-17 2019-02-05 Microsoft Licensing Technology, LLC Handling tenant requests in a system that uses hardware acceleration components
US9792154B2 (en) 2015-04-17 2017-10-17 Microsoft Technology Licensing, Llc Data processing system having a hardware acceleration plane and a software plane
US10296392B2 (en) 2015-04-17 2019-05-21 Microsoft Technology Licensing, Llc Implementing a multi-component service using plural hardware acceleration components
US10511478B2 (en) 2015-04-17 2019-12-17 Microsoft Technology Licensing, Llc Changing between different roles at acceleration components
US10216555B2 (en) * 2015-06-26 2019-02-26 Microsoft Technology Licensing, Llc Partially reconfiguring acceleration components
WO2017188416A1 (ja) * 2016-04-28 2017-11-02 Necソリューションイノベータ株式会社 回路装置、回路書き換え方法、及びコンピュータ読み取り可能な記録媒体
JP2022040721A (ja) * 2020-08-31 2022-03-11 富士フイルムビジネスイノベーション株式会社 情報処理装置、及びプログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000252814A (ja) * 1999-03-02 2000-09-14 Fuji Xerox Co Ltd 情報処理システム
JP2001136058A (ja) * 1999-11-04 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> 論理回路データ生成方法及び装置及び論理回路データ生成プログラムを格納した記憶媒体
JP2006099305A (ja) * 2004-09-29 2006-04-13 Hitachi Ltd プログラマブルlsiのコンフィグレーション制御方法
JP2006262227A (ja) * 2005-03-18 2006-09-28 Konica Minolta Holdings Inc ハードウェアコンフィグレーション装置
JP2009025953A (ja) * 2007-07-18 2009-02-05 Fuji Xerox Co Ltd 演算処理装置及び演算処理プログラム
JP2009129163A (ja) * 2007-11-22 2009-06-11 Fuji Xerox Co Ltd データ処理装置及びデータ処理プログラム
JP2009140353A (ja) * 2007-12-07 2009-06-25 Toshiba Corp 再構成可能な集積回路、及びこれを用いた自己修復システム
JP2013171435A (ja) * 2012-02-21 2013-09-02 Nippon Telegr & Teleph Corp <Ntt> サービス提供システム、サービス提供方法、リソースマネージャ、プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7248757B2 (en) * 2003-12-15 2007-07-24 Canon Kabushiki Kaisha Method, device and computer program for designing a circuit having electric wires and optical connections
JP3967737B2 (ja) * 2004-07-20 2007-08-29 株式会社東芝 プログラマブル論理回路装置およびプログラマブル論理回路の再構築方法
US7734895B1 (en) * 2005-04-28 2010-06-08 Massachusetts Institute Of Technology Configuring sets of processor cores for processing instructions
US8856926B2 (en) * 2008-06-27 2014-10-07 Juniper Networks, Inc. Dynamic policy provisioning within network security devices
JP5477551B2 (ja) * 2009-08-20 2014-04-23 株式会社リコー 反射型光学センサ及び画像形成装置
JP5504985B2 (ja) * 2010-03-11 2014-05-28 富士ゼロックス株式会社 データ処理装置
JP5589479B2 (ja) * 2010-03-25 2014-09-17 富士ゼロックス株式会社 データ処理装置
US20110314075A1 (en) * 2010-06-18 2011-12-22 Nokia Corporation Method and apparatus for managing distributed computations within a computation space
US9455715B2 (en) * 2011-06-30 2016-09-27 Alterm Corporation Apparatus for improving reliability of electronic circuitry and associated methods
CN102508729B (zh) * 2011-09-29 2014-12-03 中国航天科技集团公司第五研究院第五一三研究所 Fpga内rom映射区动态刷新纠错方法
JP2013154606A (ja) * 2012-01-31 2013-08-15 Canon Inc 印刷装置及びその制御方法
JP5953947B2 (ja) * 2012-06-04 2016-07-20 株式会社Ihi 耐環境被覆されたセラミックス基複合材料部品及びその製造方法
JP5943736B2 (ja) * 2012-06-28 2016-07-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
JP6004883B2 (ja) * 2012-10-16 2016-10-12 キヤノン株式会社 画像形成装置及びその制御方法、並びにプログラム
JP6308821B2 (ja) * 2014-03-13 2018-04-11 キヤノン株式会社 画像処理装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000252814A (ja) * 1999-03-02 2000-09-14 Fuji Xerox Co Ltd 情報処理システム
JP2001136058A (ja) * 1999-11-04 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> 論理回路データ生成方法及び装置及び論理回路データ生成プログラムを格納した記憶媒体
JP2006099305A (ja) * 2004-09-29 2006-04-13 Hitachi Ltd プログラマブルlsiのコンフィグレーション制御方法
JP2006262227A (ja) * 2005-03-18 2006-09-28 Konica Minolta Holdings Inc ハードウェアコンフィグレーション装置
JP2009025953A (ja) * 2007-07-18 2009-02-05 Fuji Xerox Co Ltd 演算処理装置及び演算処理プログラム
JP2009129163A (ja) * 2007-11-22 2009-06-11 Fuji Xerox Co Ltd データ処理装置及びデータ処理プログラム
JP2009140353A (ja) * 2007-12-07 2009-06-25 Toshiba Corp 再構成可能な集積回路、及びこれを用いた自己修復システム
JP2013171435A (ja) * 2012-02-21 2013-09-02 Nippon Telegr & Teleph Corp <Ntt> サービス提供システム、サービス提供方法、リソースマネージャ、プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019009115A1 (ja) 2017-07-04 2019-01-10 日立オートモティブシステムズ株式会社 電子制御システム
CN110809755A (zh) * 2017-07-04 2020-02-18 日立汽车系统株式会社 电子控制系统
US11392368B2 (en) 2017-07-04 2022-07-19 Hitachi Astemo, Ltd. Electronic control system for updating circuit
CN110809755B (zh) * 2017-07-04 2023-09-29 日立安斯泰莫株式会社 电子控制系统

Also Published As

Publication number Publication date
CN105323404A (zh) 2016-02-10
JP6598432B2 (ja) 2019-10-30
US20150373225A1 (en) 2015-12-24
US9313364B2 (en) 2016-04-12
CN105323404B (zh) 2019-05-03

Similar Documents

Publication Publication Date Title
JP6598432B2 (ja) 画像処理装置、その制御方法およびプログラム
US7750676B2 (en) Embedded system and control method therefor
JP5943736B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2016035692A (ja) 画像処理装置、システム、情報処理方法及びプログラム
US10122883B2 (en) Image processing apparatus including circuit configuration and method of controlling the same
JP2016103755A (ja) 情報処理装置、情報処理装置を備えた画像処理装置、その制御方法及びプログラム
KR20140139973A (ko) 하이버네이션 기능을 구비한 화상 형성장치 및 그 제어방법과, 기억매체
US9509878B2 (en) Image processing apparatus and method for controlling the same, and storage medium
JP2015149025A (ja) 画像処理装置およびその制御方法、並びにプログラム
US9760285B2 (en) Image processing system and image processing apparatus for configuring logical circuit on circuit according to configuration data
JP2017120966A (ja) 情報処理装置、情報処理方法およびプログラム
JP6864721B2 (ja) 情報処理装置、およびその制御方法
JP2017118450A (ja) データ処理装置、その制御方法、及びプログラム
JP2020171002A (ja) 情報処理装置及びその制御方法
EP3547194A1 (en) Apparatus and method for secure boot
WO2018179739A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP7263067B2 (ja) 情報処理装置および情報処理装置の制御方法
JP2013164711A (ja) 演算装置及びその診断制御方法
JP2021086564A (ja) 動的再構成制御装置、動的再構成制御方法、及びプログラム
JP2017062697A (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
JP2015139009A (ja) 画像処理装置、その制御方法及びプログラム
JP2015197863A (ja) 画像処理装置及びその制御方法、並びにプログラム
JP6337548B2 (ja) 論理集積回路
JP2015106751A (ja) 画像処理装置、その制御方法およびプログラム
JP5447112B2 (ja) 画像形成装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170621

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190808

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190816

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: 20190902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191001

R151 Written notification of patent or utility model registration

Ref document number: 6598432

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151