画像処理装置および画像処理方法
【課題】1つのメモリアクセスコントローラで複数のイメージメモリを制御し、且つインターフェースを最小限とすることができる画像処理装置および画像処理方法を提供する。
【解決手段】メモリアクセスコントローラ30は、機能1から画像データを受け取って入力する入力部IN1および複数の機能1、2、・・・、nのそれぞれに対応した複数の出力部OUT1、OUT2、・・・、OUTnを備え、機能2から画像データの送信要求を受け取った場合、メモリ1、2、・・・、nのうちの1つのメモリから画像データを読み出して、送信要求を受け取った機能2に出力部OUT2を介して出力する。
【解決手段】メモリアクセスコントローラ30は、機能1から画像データを受け取って入力する入力部IN1および複数の機能1、2、・・・、nのそれぞれに対応した複数の出力部OUT1、OUT2、・・・、OUTnを備え、機能2から画像データの送信要求を受け取った場合、メモリ1、2、・・・、nのうちの1つのメモリから画像データを読み出して、送信要求を受け取った機能2に出力部OUT2を介して出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部機器からの画像データをメモリに書き込み、書き込まれたデータを出力する画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
近年、ホストコンピュータと、複写機、スキャナ、プリンタ、デジタルカメラ等の外部機器の間にエンジニアリング・サブ・システム(以下ESSと称す)を接続し、ホストコンピュータで作成した画像等を複写機、プリンタ等に出力させたり、逆に、デジタルカメラ、スキャナ、複写機等で読み取った画像データをホストコンピュータに出力させたりするシステムが用いられている。これらの外部機器は互いにLANのようなネットワークを用いて複数台接続することができ、広域なシステムを構築することができる。
【0003】
このようなシステムでホストコンピュータから転送される画像データを複写機やプリンタ等の外部機器に出力するには、ホストコンピュータから転送される画像データをESS内のイメージメモリに一旦書き込み、書き込み終了後、画像データをイメージメモリから読み出し、所定の外部機器に画像データを転送する工程が必要となる。
【0004】
上記のような機能を有する従来のシステムでは、例えば、ホストコンピュータから転送された画像を複数の外部機器に同時に出力することができないので、複数のイメージメモリを備えるシステムが必要になる。即ち、同じ画像データを複数の外部機器に出力するために、ホストコンピュータから転送される画像データをESS内の複数のイメージメモリに書き込み、書き込み終了後、画像データをそれぞれのイメージメモリから読み出し、所定の外部機器のそれぞれに画像データを転送するといった工程を行う必要がある。例えば、特開平9−298651号公報には、複数のイメージメモリを複数のメモリアクセスコントローラで制御する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平9−298651号公報 (図1、段落0028等)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載された技術では、複数のイメージメモリを複数のメモリアクセスコントローラで制御している。このため、複数のイメージメモリと複数のメモリアクセスコントローラとを接続する回路やインターフェースが複雑になり、回路規模が大きくなるという課題がある。
【0007】
そこで、本発明は、1つのメモリアクセスコントローラで複数のイメージメモリを制御し、且つインターフェースを最小限とすることができる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の一態様によれば、複数の外部機器と接続され、前記複数の外部機器との画像データの入出力を実行する複数のイメージメモリを備えた画像処理装置であって、前記複数の外部機器のうちの1つの外部機器から画像データを受け取って入力する入力部と、前記入力部から入力された画像データを並列処理して前記複数のイメージメモリにそれぞれ出力して記憶させる並列処理部と、前記複数の外部機器のうちの1つの外部機器から前記並列処理部によって記憶された前記画像データの送信要求を受け取った場合、前記複数のイメージメモリのうちの1つのイメージメモリから前記画像データを読み出して、前記送信要求を受け取った外部機器に出力するための前記複数の外部機器のそれぞれに対応した複数の出力部とを有するメモリアクセスコントローラを備えることを特徴とする画像処理装置が提供される。
【0009】
また、本発明の一態様によれば、複数の外部機器と接続され、前記複数の外部機器との画像データの入出力を実行する複数のイメージメモリおよび当該複数のイメージメモリへのアクセスを制御するメモリアクセスコントローラを備えた画像処理装置で用いられる画像処理方法であって、前記メモリアクセスコントローラは、前記複数の外部機器のうちの1つの外部機器から画像データを受け取って入力する入力部および前記複数の外部機器のそれぞれに対応した複数の出力部を備え、前記入力部から入力された画像データを並列処理して前記複数のイメージメモリにそれぞれ出力して記憶させ、前記複数の外部機器のうちの1つの外部機器から前記画像データの送信要求を受け取った場合、前記複数のイメージメモリのうちの1つのイメージメモリから前記画像データを読み出して、前記送信要求を受け取った外部機器に前記出力部を介して出力することを特徴とする画像処理方法が提供される。
【発明の効果】
【0010】
本発明は、1つのメモリアクセスコントローラで複数のイメージメモリを制御し、且つインターフェースを最小限とすることができる。
【図面の簡単な説明】
【0011】
【図1】本発明の第1実施形態に係る画像処理装置の構成を示すブロック図。
【図2】同実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図3】同実施形態に係る画像処理装置を適用した画像処理方法について示したフローチャート。
【図4】本発明の第2実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図5】同実施形態に係る画像処理装置で用いられるメモリ仮想化処理を模式的に示す図。
【図6】本発明の第3実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図7】本発明の第4実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図8】本発明の第5実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図9】本発明の第6実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図10】本発明の第7実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図11】同実施形態に係る画像処理装置で用いられるメモリコントローラを専用チップ化した場合を模式的に示す図。
【発明を実施するための形態】
【0012】
以下、本発明の一実施形態について図面を参照しながら説明する。
【0013】
(第1実施形態)
まず、図1を参照して、本発明の第1実施形態に係る画像処理装置について説明する。本実施形態の画像処理装置10は、例えば、コンピュータ10として実現されている。本実施形態は、カメラ等のデバイスから画像データをコンピュータに入力して、入力された画像データを並列処理を行うことでコンピュータの複数のイメージメモリに一旦書き込み、書き込み終了後、画像データをイメージメモリから読み出し、複写機やプリンタ等の外部機器に出力する技術であり、画像データの入力を行うコンピュータのメモリコントローラの入力部を1つの入力部で行い、並列処理を行うことにより、複数のイメージメモリに出力することを特徴とする。また、メモリへ保存する必要がある汎用度の高い情報は撮像された画像データとなり、後述する機能1のみがメモリへの記憶処理を行う構成となる。他の処理を行う機能2、・・・、nは必要な画像データを対応するメモリから読み出し、様々な演算や画像の加工、画像の圧縮処理等を行う。なお、本実施形態では、機能の数と同数のメモリをそれぞれ対応させた構成について説明しているが、これに限定されるものではない。例えば、機能の数よりもメモリの数が少ない場合、アクセス負荷の少ないメモリから優先して画像データの読み出しを行うようにしてもよい。また、本実施形態では、カメラによって撮像された画像データを用いて説明を行っているが、例えばネットワークコントローラを介して受信したスキャナ、複写機等で取り込んだ画像データ、メモリカード等から取り込んだ画像データ等であってもよく、限定されるものではない。
【0014】
本コンピュータ10は、図1に示されているように、CPU111、ノースブリッジ113、グラフィクスコントローラ114、複数の(メイン)メモリ1・・・n、FPGA(Field Programmable Gate Array)20、LCD121、サウスブリッジ116、ハードディスクドライブ(HDD)117、BIOS−ROM119、カメラ126、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)120、キーボード(KB)125およびネットワークコントローラ130等を備えている。なお、複数のメモリ1・・・nは、後述する処理機能毎に専用に割り当てられたメモリである。
【0015】
CPU111は本コンピュータ10の動作を制御するプロセッサであり、ハードディスクドライブ(HDD)117から各メモリ1・・・nにロードされる、オペレーティングシステム(OS)、および各種アプリケーションプログラムを実行する。
【0016】
ノースブリッジ113はCPU111のローカルバスとサウスブリッジ116との間を接続するブリッジデバイスである。また、ノースブリッジ113は、グラフィックスコントローラ114との通信を実行する機能を有している。
【0017】
グラフィックスコントローラ114は、本コンピュータ10のディスプレイモニタとして使用されるLCD(ディスプレイ)121を制御する表示コントローラである。このグラフィックスコントローラ114によって生成される表示信号はLCD121に送られる。
【0018】
サウスブリッジ116は、LPC(Low Pin Count)バス上の各デバイス等を制御する。また、サウスブリッジ116は、ハードディスクドライブ(HDD)117等を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。
【0019】
エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)120は、電力管理のためのエンベデッドコントローラと、キーボード(KB)125を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)120は、ユーザによる電源ボタン21の操作に応じて本コンピュータ10をパワーオン/パワーオフする機能を有している。
【0020】
ネットワークコントローラ130は、LAN等のネットワークを介して複写機、スキャナ等から入力された画像データを受信する。
【0021】
カメラ126は、Webカメラ等の撮像素子を備えた撮像デバイスであり、撮像した画像データを取り込む処理を行う。
【0022】
FPGA20は、プログラミング可能なLSI(Large Scale Integration)であり、マイクロプロセッサやASIC(Application Specific Integrated Circuit)の設計図に基づいてシミュレーションすることができる。また、FPGA20は、メモリコントローラ(後述)を備えている。このメモリコントローラに外部機器(スキャナ、複写機等)およびカメラ126から画像データが入力された場合、メモリコントローラは、入力された画像データを複数のメモリ1・・・nに記憶させる処理を行う。また、メモリコントローラは、複数のメモリ1・・・nに記憶された画像データを受け取り、外部機器(スキャナ、複写機等)に出力する処理を行う。
【0023】
次に、図2は、本発明の画像処理装置が備えるFPGAの主要な構成を示したブロック図である。
【0024】
FPGA20は、メモリコントローラ30と、機能1、2、・・・nを備えている。メモリコントローラ30は、外部機器やカメラ126から画像データ等のデータ(以下、画像データと称する)を入力する1つの入力部であるIN1と、入力された画像データの並列処理を行う並列処理部31、並列処理が行われた画像データを各メモリ1、2、・・・、nに一括して出力する複数のインターフェース部であるBUS200−1、200−1、200−3と、メモリ1、2、・・・、nから出力された画像データをBUS200−1、200−1、200−3でそれぞれ受信して、機能1、2、・・・nのそれぞれに出力する複数の出力部であるOUT1、OUT2、・・・、OUTnとを備えている。
【0025】
また、メモリ1、2、・・・、nは、BUS200−1、200−2、200−3のそれぞれから出力された画像データを受信するインターフェースであるBUS100−1、100−2、100−3をそれぞれ備えている。
【0026】
さらに、機能1は、例えばカメラ126から入力された画像データをメモリコントローラ30のIN1に出力するための出力部であるOUT1と、メモリコントローラ30のOUT1から出力された画像データを入力するための入力部であるIN1とを備える。また、機能2、・・・、nは、それぞれ入力部であるIN2、・・・、nを備える。即ち、機能2、・・・、nは、メモリに画像データを出力する出力部を備えていないため、メモリから読み出した画像データの入力のみを行う。
【0027】
上述した機能1、2、・・・、nは、メモリコントローラ30から画像データが読み出された場合、機能1、2、・・・、nの対応するそれぞれの外部機器(複写機、プリンタ等)に画像データを送出する。なお、メモリ1、2、・・・、nから画像データを読み出す場合は、各機能1、2、・・・、nが画像データを要求した場合に、その都度、対応するメモリから画像データを読み出す処理を行う。
【0028】
以上のように構成された本発明の第1実施形態に係る画像処理装置を適用した画像処理方法について、図3のフローチャートを参照して説明する。
【0029】
まず、コンピュータ10のメモリコントローラ30は、例えば機能1に対応するカメラ126から画像データが入力されたか否かを判別する(ステップS101)。ステップS101で、メモリコントローラ30によってカメラ126から画像データが入力されたと判別された場合は(ステップS101のYES)、メモリコントローラ30の並列処理部31は、メモリコントローラ30のIN1を介して入力された画像データに対して並列処理を行う。並列処理部31によって並列処理が行われた画像データは、メモリコントローラ30のBUS200−1、200−2、・・・、200−nのそれぞれを介して、一括してメモリ1、2、・・・、nに出力する(ステップS102)。画像データを受信したメモリ1、2、・・・、nは、それぞれのメモリ1、2、・・・、nに受信した画像データを記憶する。
【0030】
続いて、機能2、・・・、nの内のいずれか1つの機能によって、画像データの読み出しを行う場合について説明する。例えば、外部機器として、機能2に対応したプリンタから読み出し要求を受信した場合について説明する(機能3には、複写機が対応しているとする)。また、機能2(機能3)に対応するメモリは、メモリ2(メモリ3)とする。メモリコントローラ30は、外部機器であるプリンタや複写機等から画像データの読み出しの要求があるか否かを判別する(ステップS103)。ステップS103で、メモリコントローラ30によって、プリンタからネットワークコントローラ130を介して画像データの読み出し要求があったと判別された場合は(ステップS103のYES)、メモリコントローラ30は、対応するメモリから画像データを読み出す(ステップS104)。ここで、プリンタ(機能2に対応)に対応するメモリは、メモリ2となり、メモリ2に記憶されている画像データを読み出す。メモリコントローラ30は、読み出した画像データを機能2を介して対応する機器であるプリンタに送出する(ステップS105)。
【0031】
なお、上述した実施形態では、カメラで撮像された画像データをプリンタに出力する場合について説明しているが、これに限定されることはなく、例えば、スキャナで入力された画像データを複写機やプリンタに出力する場合等にも適用することができ、画像データを入力および出力するデバイスは限定されるものではない。
【0032】
このように、上述した第1実施形態によれば、外部機器からメモリコントローラに入力される画像データの入力部を1つとし、入力された画像データに対して並列処理を行うことで、複数のイメージメモリに一括して出力することができるため、メモリコントローラの回路規模を最小限にして複数のイメージメモリに対して画像データの授受を行うことができる。また、複数のメモリには同じ画像データが記憶されていることになり、各処理機能は専用に設けられたメモリから必要な画像データを読み出すことができるため、特定メモリへのアクセス集中による処理時間の遅延を防ぐことができる。またメモリコントローラのインターフェースを従来と比べ削減することが可能となることから回路規模を抑制し、安価な回路構成を採用することができる。
【0033】
(第2実施形態)
次に、本発明の第2実施形態について、図4を参照して説明する。同図は、本発明の第2実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【0034】
本実施形態では、上述した第1実施形態と比べて、メモリコントローラ30内に、メモリ故障検知部32およびメモリ仮想化部33をさらに設けた点で異なる。なお、上述した第1実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【0035】
メモリコントローラ30が備えるメモリ故障検知部32は、メモリ1、2、・・・、nの中で異常を検知した場合、図4に示されるように、異常を検知したメモリの検知情報αをメモリ仮想化部33へ出力する。メモリ仮想化部33は、検知情報αに基づき、異常なメモリを特定し、正常なメモリへ自動的に処理を切り替える。メモリの異常検出は、メモリコントローラ30が各メモリ1、2、・・・、nと画像データの授受を行う場合等に、ベリファイ(データに誤りがないかどうかを検査する)処理を行う。このため、MTTF(mean time to failure)を向上させることができる。
【0036】
メモリ仮想化部33は、複数のメモリ1、2、・・・、nを単一メモリとして処理することができる。即ち、通常、複数のメモリを搭載する場合、メモリ個別に物理アドレスの制御を行わなければならない。搭載する処理機能(上述した機能1、2、・・・、n等)に対応させてメモリ数を変更する場合、その都度、物理アドレスの制御を変更する必要がある。複数のメモリを単一メモリとして処理する仮想化機能を設けることで、多様化する用途に対応でき、各メモリへのアクセス処理を高速化することができる。
【0037】
上述したメモリ仮想化処理は、例えば、図5に示されるように、行う。即ち、複数のメモリ1、2、・・・、nに対してメモリコントローラ30がアクセスを行う場合、メモリ1のアドレスは、0〜100であり、同様に、メモリ2のアドレスは、0〜100、・・・、メモリnのアドレスは、0〜100として構成されている。メモリコントローラ30のメモリ仮想化部33は、メモリコントローラ30からアクセスする場合、メモリ仮想化処理を行い、メモリコントローラ用アドレスとして、メモリ1、2、・・・、nに対して、0〜100n(100*n)の共通のアドレスを付与する。このように、共通のアドレスを付与することによって、例えば、メモリ2のアドレス100は、メモリ仮想化部33によって、メモリコントローラ用アドレス199として仮想化処理が行われアドレス変換される。即ち、メモリ1のアドレス0〜100+メモリ2のアドレス0〜100−1=199となる。なお、1を除算しているのは、メモリ1のアドレス100とメモリ2のアドレス0とが通しアドレス上では同じアドレスとして重なるためである。
【0038】
上述した第2実施形態によれば、第1実施形態と同様の効果を奏するのに加えて、複数のメモリを単一メモリとして処理する仮想化機能を設けることで、多様化する用途に対応でき、各メモリへのアクセス処理を高速化することができる。
【0039】
(第3実施形態)
次に、本発明の第3実施形態について、図6を参照して説明する。同図は、本発明の第3実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【0040】
本実施形態では、上述した第2実施形態と比べて、メモリコントローラ30内に、メモリアクセス負荷分散部34をさらに設けた点で異なる。なお、上述した第2実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【0041】
第1実施形態では、各機能に専用の個別メモリを割り当てる構成として、機能数と同じメモリ数を設けている。このような構成の場合、同一メモリへのアクセス集中が発生する場合がある。このため、メモリコントローラ30に同一メモリへのアクセス負荷を分散する負荷分散機能を設ける。
【0042】
メモリコントローラ30に設けられたメモリアクセス負荷分散部34は、各メモリ1、2、・・・、nのアクセス負荷を監視し、アクセス負荷の小さいメモリに優先的にアクセスを行うように制御を行う。このようなメモリアクセスの負荷分散処理を行うことにより、機能数と同じメモリ数を設けずとも、機能数よりも少ないメモリ数とすることが可能となる。なお、図6では、メモリの数がn−1個、機能の数がn個として示しているが、これに限定されることはなく、メモリの数がn−1個よりもさらに少ない構成とすることも可能である。
【0043】
(第4実施形態)
次に、本発明の第4実施形態について、図7を参照して説明する。同図は、本発明の第4実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【0044】
本実施形態では、上述した第3実施形態と比べて、メモリコントローラ30内に、信号変換部35をさらに設けた点で異なる。なお、上述した第3実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【0045】
本実施形態におけるメモリコントローラ30は、信号変換部35を備えている。信号変換部35は、パラレルバスとシリアルバスとの信号の変換を行う。また、メモリコントローラ30のIN1およびOUT1、OUT2、・・・、OUTnのそれぞれには、シリアルバス(Serial1,2,・・・,n)が設けられている。同様に、機能1、2、・・・、nのそれぞれには、シリアルバス(Serial)が設けられている。例えば、機能1のシリアルバス(Serial)から入力された画像データは、メモリコントローラ30のシリアルバス(Serial1)を介して信号変換部35に送られる。信号変換部35は、画像データをパラレルバスに対応した画像データに変換を行い、IN1に送出する。同様に、メモリ2から読み出した画像データは、メモリコントローラ30のOUT2を介して信号変換部35に送出される。信号変換部35は、画像データをシリアルバスに対応した画像データに変換を行い、シリアルバス(Serial2)を介して、機能2のシリアルバス(Serial)に送信される。
【0046】
上述した第1〜3実施形態では、メモリコントローラ30は、機能1、2、・・・、nと通信を行う場合に、パラレルバスインターフェースを用いて通信を行っている。即ち、メモリコントローラ30の入出力インターフェースは8ビット以上のパラレルバスを採用している。上述した第1〜3実施形態では、パラレルバス形式のインターフェースを用いているため、回路接続する必要のある信号ラインが多くなる。第4実施形態では、入出力インターフェースのパラレルバスをシリアルバスに変換する信号変機能を設ける。これにより、回路接続する信号ラインを2ビットとすることで、回路接続を簡素化することが可能となる。
【0047】
(第5実施形態)
次に、本発明の第5実施形態について、図8を参照して説明する。同図は、本発明の第5実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【0048】
本実施形態では、上述した第4実施形態と比べて、メモリコントローラ30内に、キャッシュメモリコントローラ36をさらに設け、コンピュータ10内にさらにキャッシュメモリ40を設けた点で異なる。なお、上述した第3実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【0049】
上述した第1〜4実施形態では、メモリコントローラ30は、画像データをメモリ1、2、・・・、nのそれぞれに記憶する処理を行っている。本実施形態では、メモリに保存された情報の中で特に利用頻度の高い画像データを、より処理スピードが高速なキャッシュメモリ40にキャッシュメモリコントローラ36を介して一時的に記憶させることにより、処理システム全体の高速化が可能となる。例えば、メモリ1、2、・・・、nには、動画データをそれぞれ記憶させ、キャッシュメモリ40には、動画データのうち、重要な人物が写っている場面の静止画を切り出して記憶させる。例えば画像処理を使ったセキュリティシステムで、監視エリア内を動画撮影して、順次メモリ1、2、・・・、nに動画データを記憶させた場合、記憶した動画データ中に、人物(侵入者)を検知した場合、侵入者を検知した状態の画像データ(静止画)は様々な処理に活用されるため、キャッシュメモリ40に記憶させる。このような構成とすることで、キャッシュメモリ40に記憶された画像データは、多くの読み出し処理に高速に対応することができる。
【0050】
(第6実施形態)
次に、本発明の第6実施形態について、図9を参照して説明する。同図は、本発明の第6実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【0051】
本実施形態では、上述した第5実施形態と比べて、メモリコントローラ30内に、キャッシュメモリコントローラ36に替えてフラッシュメモリコントローラ37を設け、コンピュータ10内にキャッシュメモリ40に替えてフラッシュメモリ50を設けた点で異なる。なお、上述した第5実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【0052】
上述した第5実施形態では、キャッシュメモリ40を用いているが、キャッシュメモリ40は揮発性メモリであり、電源遮断時にはデータが保持されない。本実施形態では、不揮発メモリであるフラッシュメモリ50を用いることで、電源遮断時においてもデータを保持することができる。例えば、このフラッシュメモリ50に、処理システムの動作履歴情報を常に保存することにより、メンテナンス時にその情報を参照し、瞬電等のシステム異常を早期発見することができる。また、例えば画像処理のセキュリティシステムにおいては、通常、ネットワーク経由で検知画像出力を行うが、通信異常時の代替保存先とすれば、システム停止や重要な情報を失うケースを回避できる。
【0053】
(第7実施形態)
次に、本発明の第7実施形態について、図10を参照して説明する。同図は、本発明の第7実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【0054】
本実施形態では、上述した第1〜6実施形態と比べて、メモリコントローラ300を専用チップ化し、他の機能(FPGA400の機能1、2、・・・、n)と分離することで、外部FPGA(分離されたメモリコントローラ300)として構成する点が異なる。
【0055】
このような構成とすることにより、採用できるFPGAのバリエーションを可変とすることで、トータル的に安価な回路を構築することが可能となる。即ち、図11に示されるように、専用チップ化されたメモリコントローラ300が専用チップA〜Dとして4種類用意されている場合について説明する。例えば、専用チップAは回路規模50(費用5千円)、専用チップBは回路規模100(費用1万円)、専用チップCは回路規模200(費用2万円)、専用チップDは回路規模300(費用3万円)であるとする。搭載を希望する処理システムの回路規模が120(メモリコントローラ300の占有する回路規模は30)である場合は、上述した第1〜6実施形態(専用チップ化していない場合)では、メモリコントローラ300(の占有する回路規模が30)は分割することはできず、回路規模120の全体を搭載できるFPGAを選択する必要がある。即ち、回路規模120の全体を搭載できるFPGAで選択可能なものは、C(回路規模200)またはD(回路規模300)となる。
【0056】
一方、本実施形態では、回路規模120の内、メモリコントローラ300(の占有する回路規模30)を分割することができる(専用チップ化により機能を分割する)。例えば、回路規模120を分割した場合は、メモリコントローラ300(回路規模30)と、残りの回路(回路規模90)との2つの回路とすることができる。このため、メモリコントローラ300(回路規模30)を搭載できるA(回路規模50)および、残りの回路(回路規模90)を搭載できるB(回路規模100)の2つを選択することで回路規模120を搭載することができる(さらに、機能1、2、・・・、nを備えたFPGA400を付加して構成する:図10参照)。このように、A(費用5千円)およびB(費用1万円)を組合わせて処理システムへ搭載した場合は、A+Bで費用が1万5千円で済む。一方、上述した分割できない場合におけるCまたはDの何れかに回路規模120を搭載する場合は、Cは費用2万円、Dは費用3万円となり、本実施形態は費用が1万5千円であるので、本実施形態を用いることにより、より安価とすることができる。また、専用チップにしない場合と比較して回路規模を小さくすることができ、回路接続する必要のある信号数を削減できるため、回路設計に余裕が生まれ、更にFPGAの選択バリエーションを高めることができる。
【0057】
なお、本実施形態の画像処理装置はコンピュータによって実現するのみならず、例えば、様々なコンシューマ画像処理装置によって実現することもできる。
【0058】
また、本発明は、上述した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述した実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【符号の説明】
【0059】
10…画像処理装置、20、400…FPGA、30…メモリコントローラ、31…並列処理部、32…メモリ故障検知部、33…メモリ仮想化部、34…メモリアクセス負荷分散部、35…信号変換部、36…キャッシュメモリコントローラ、37…フラッシュメモリコントローラ、40…キャッシュメモリ、50…フラッシュメモリ、111…CPU、126…カメラ、130…ネットワークコントローラ、300…メモリコントローラ(専用チップ)
【技術分野】
【0001】
本発明は、外部機器からの画像データをメモリに書き込み、書き込まれたデータを出力する画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
近年、ホストコンピュータと、複写機、スキャナ、プリンタ、デジタルカメラ等の外部機器の間にエンジニアリング・サブ・システム(以下ESSと称す)を接続し、ホストコンピュータで作成した画像等を複写機、プリンタ等に出力させたり、逆に、デジタルカメラ、スキャナ、複写機等で読み取った画像データをホストコンピュータに出力させたりするシステムが用いられている。これらの外部機器は互いにLANのようなネットワークを用いて複数台接続することができ、広域なシステムを構築することができる。
【0003】
このようなシステムでホストコンピュータから転送される画像データを複写機やプリンタ等の外部機器に出力するには、ホストコンピュータから転送される画像データをESS内のイメージメモリに一旦書き込み、書き込み終了後、画像データをイメージメモリから読み出し、所定の外部機器に画像データを転送する工程が必要となる。
【0004】
上記のような機能を有する従来のシステムでは、例えば、ホストコンピュータから転送された画像を複数の外部機器に同時に出力することができないので、複数のイメージメモリを備えるシステムが必要になる。即ち、同じ画像データを複数の外部機器に出力するために、ホストコンピュータから転送される画像データをESS内の複数のイメージメモリに書き込み、書き込み終了後、画像データをそれぞれのイメージメモリから読み出し、所定の外部機器のそれぞれに画像データを転送するといった工程を行う必要がある。例えば、特開平9−298651号公報には、複数のイメージメモリを複数のメモリアクセスコントローラで制御する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平9−298651号公報 (図1、段落0028等)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載された技術では、複数のイメージメモリを複数のメモリアクセスコントローラで制御している。このため、複数のイメージメモリと複数のメモリアクセスコントローラとを接続する回路やインターフェースが複雑になり、回路規模が大きくなるという課題がある。
【0007】
そこで、本発明は、1つのメモリアクセスコントローラで複数のイメージメモリを制御し、且つインターフェースを最小限とすることができる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の一態様によれば、複数の外部機器と接続され、前記複数の外部機器との画像データの入出力を実行する複数のイメージメモリを備えた画像処理装置であって、前記複数の外部機器のうちの1つの外部機器から画像データを受け取って入力する入力部と、前記入力部から入力された画像データを並列処理して前記複数のイメージメモリにそれぞれ出力して記憶させる並列処理部と、前記複数の外部機器のうちの1つの外部機器から前記並列処理部によって記憶された前記画像データの送信要求を受け取った場合、前記複数のイメージメモリのうちの1つのイメージメモリから前記画像データを読み出して、前記送信要求を受け取った外部機器に出力するための前記複数の外部機器のそれぞれに対応した複数の出力部とを有するメモリアクセスコントローラを備えることを特徴とする画像処理装置が提供される。
【0009】
また、本発明の一態様によれば、複数の外部機器と接続され、前記複数の外部機器との画像データの入出力を実行する複数のイメージメモリおよび当該複数のイメージメモリへのアクセスを制御するメモリアクセスコントローラを備えた画像処理装置で用いられる画像処理方法であって、前記メモリアクセスコントローラは、前記複数の外部機器のうちの1つの外部機器から画像データを受け取って入力する入力部および前記複数の外部機器のそれぞれに対応した複数の出力部を備え、前記入力部から入力された画像データを並列処理して前記複数のイメージメモリにそれぞれ出力して記憶させ、前記複数の外部機器のうちの1つの外部機器から前記画像データの送信要求を受け取った場合、前記複数のイメージメモリのうちの1つのイメージメモリから前記画像データを読み出して、前記送信要求を受け取った外部機器に前記出力部を介して出力することを特徴とする画像処理方法が提供される。
【発明の効果】
【0010】
本発明は、1つのメモリアクセスコントローラで複数のイメージメモリを制御し、且つインターフェースを最小限とすることができる。
【図面の簡単な説明】
【0011】
【図1】本発明の第1実施形態に係る画像処理装置の構成を示すブロック図。
【図2】同実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図3】同実施形態に係る画像処理装置を適用した画像処理方法について示したフローチャート。
【図4】本発明の第2実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図5】同実施形態に係る画像処理装置で用いられるメモリ仮想化処理を模式的に示す図。
【図6】本発明の第3実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図7】本発明の第4実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図8】本発明の第5実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図9】本発明の第6実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図10】本発明の第7実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図11】同実施形態に係る画像処理装置で用いられるメモリコントローラを専用チップ化した場合を模式的に示す図。
【発明を実施するための形態】
【0012】
以下、本発明の一実施形態について図面を参照しながら説明する。
【0013】
(第1実施形態)
まず、図1を参照して、本発明の第1実施形態に係る画像処理装置について説明する。本実施形態の画像処理装置10は、例えば、コンピュータ10として実現されている。本実施形態は、カメラ等のデバイスから画像データをコンピュータに入力して、入力された画像データを並列処理を行うことでコンピュータの複数のイメージメモリに一旦書き込み、書き込み終了後、画像データをイメージメモリから読み出し、複写機やプリンタ等の外部機器に出力する技術であり、画像データの入力を行うコンピュータのメモリコントローラの入力部を1つの入力部で行い、並列処理を行うことにより、複数のイメージメモリに出力することを特徴とする。また、メモリへ保存する必要がある汎用度の高い情報は撮像された画像データとなり、後述する機能1のみがメモリへの記憶処理を行う構成となる。他の処理を行う機能2、・・・、nは必要な画像データを対応するメモリから読み出し、様々な演算や画像の加工、画像の圧縮処理等を行う。なお、本実施形態では、機能の数と同数のメモリをそれぞれ対応させた構成について説明しているが、これに限定されるものではない。例えば、機能の数よりもメモリの数が少ない場合、アクセス負荷の少ないメモリから優先して画像データの読み出しを行うようにしてもよい。また、本実施形態では、カメラによって撮像された画像データを用いて説明を行っているが、例えばネットワークコントローラを介して受信したスキャナ、複写機等で取り込んだ画像データ、メモリカード等から取り込んだ画像データ等であってもよく、限定されるものではない。
【0014】
本コンピュータ10は、図1に示されているように、CPU111、ノースブリッジ113、グラフィクスコントローラ114、複数の(メイン)メモリ1・・・n、FPGA(Field Programmable Gate Array)20、LCD121、サウスブリッジ116、ハードディスクドライブ(HDD)117、BIOS−ROM119、カメラ126、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)120、キーボード(KB)125およびネットワークコントローラ130等を備えている。なお、複数のメモリ1・・・nは、後述する処理機能毎に専用に割り当てられたメモリである。
【0015】
CPU111は本コンピュータ10の動作を制御するプロセッサであり、ハードディスクドライブ(HDD)117から各メモリ1・・・nにロードされる、オペレーティングシステム(OS)、および各種アプリケーションプログラムを実行する。
【0016】
ノースブリッジ113はCPU111のローカルバスとサウスブリッジ116との間を接続するブリッジデバイスである。また、ノースブリッジ113は、グラフィックスコントローラ114との通信を実行する機能を有している。
【0017】
グラフィックスコントローラ114は、本コンピュータ10のディスプレイモニタとして使用されるLCD(ディスプレイ)121を制御する表示コントローラである。このグラフィックスコントローラ114によって生成される表示信号はLCD121に送られる。
【0018】
サウスブリッジ116は、LPC(Low Pin Count)バス上の各デバイス等を制御する。また、サウスブリッジ116は、ハードディスクドライブ(HDD)117等を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。
【0019】
エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)120は、電力管理のためのエンベデッドコントローラと、キーボード(KB)125を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)120は、ユーザによる電源ボタン21の操作に応じて本コンピュータ10をパワーオン/パワーオフする機能を有している。
【0020】
ネットワークコントローラ130は、LAN等のネットワークを介して複写機、スキャナ等から入力された画像データを受信する。
【0021】
カメラ126は、Webカメラ等の撮像素子を備えた撮像デバイスであり、撮像した画像データを取り込む処理を行う。
【0022】
FPGA20は、プログラミング可能なLSI(Large Scale Integration)であり、マイクロプロセッサやASIC(Application Specific Integrated Circuit)の設計図に基づいてシミュレーションすることができる。また、FPGA20は、メモリコントローラ(後述)を備えている。このメモリコントローラに外部機器(スキャナ、複写機等)およびカメラ126から画像データが入力された場合、メモリコントローラは、入力された画像データを複数のメモリ1・・・nに記憶させる処理を行う。また、メモリコントローラは、複数のメモリ1・・・nに記憶された画像データを受け取り、外部機器(スキャナ、複写機等)に出力する処理を行う。
【0023】
次に、図2は、本発明の画像処理装置が備えるFPGAの主要な構成を示したブロック図である。
【0024】
FPGA20は、メモリコントローラ30と、機能1、2、・・・nを備えている。メモリコントローラ30は、外部機器やカメラ126から画像データ等のデータ(以下、画像データと称する)を入力する1つの入力部であるIN1と、入力された画像データの並列処理を行う並列処理部31、並列処理が行われた画像データを各メモリ1、2、・・・、nに一括して出力する複数のインターフェース部であるBUS200−1、200−1、200−3と、メモリ1、2、・・・、nから出力された画像データをBUS200−1、200−1、200−3でそれぞれ受信して、機能1、2、・・・nのそれぞれに出力する複数の出力部であるOUT1、OUT2、・・・、OUTnとを備えている。
【0025】
また、メモリ1、2、・・・、nは、BUS200−1、200−2、200−3のそれぞれから出力された画像データを受信するインターフェースであるBUS100−1、100−2、100−3をそれぞれ備えている。
【0026】
さらに、機能1は、例えばカメラ126から入力された画像データをメモリコントローラ30のIN1に出力するための出力部であるOUT1と、メモリコントローラ30のOUT1から出力された画像データを入力するための入力部であるIN1とを備える。また、機能2、・・・、nは、それぞれ入力部であるIN2、・・・、nを備える。即ち、機能2、・・・、nは、メモリに画像データを出力する出力部を備えていないため、メモリから読み出した画像データの入力のみを行う。
【0027】
上述した機能1、2、・・・、nは、メモリコントローラ30から画像データが読み出された場合、機能1、2、・・・、nの対応するそれぞれの外部機器(複写機、プリンタ等)に画像データを送出する。なお、メモリ1、2、・・・、nから画像データを読み出す場合は、各機能1、2、・・・、nが画像データを要求した場合に、その都度、対応するメモリから画像データを読み出す処理を行う。
【0028】
以上のように構成された本発明の第1実施形態に係る画像処理装置を適用した画像処理方法について、図3のフローチャートを参照して説明する。
【0029】
まず、コンピュータ10のメモリコントローラ30は、例えば機能1に対応するカメラ126から画像データが入力されたか否かを判別する(ステップS101)。ステップS101で、メモリコントローラ30によってカメラ126から画像データが入力されたと判別された場合は(ステップS101のYES)、メモリコントローラ30の並列処理部31は、メモリコントローラ30のIN1を介して入力された画像データに対して並列処理を行う。並列処理部31によって並列処理が行われた画像データは、メモリコントローラ30のBUS200−1、200−2、・・・、200−nのそれぞれを介して、一括してメモリ1、2、・・・、nに出力する(ステップS102)。画像データを受信したメモリ1、2、・・・、nは、それぞれのメモリ1、2、・・・、nに受信した画像データを記憶する。
【0030】
続いて、機能2、・・・、nの内のいずれか1つの機能によって、画像データの読み出しを行う場合について説明する。例えば、外部機器として、機能2に対応したプリンタから読み出し要求を受信した場合について説明する(機能3には、複写機が対応しているとする)。また、機能2(機能3)に対応するメモリは、メモリ2(メモリ3)とする。メモリコントローラ30は、外部機器であるプリンタや複写機等から画像データの読み出しの要求があるか否かを判別する(ステップS103)。ステップS103で、メモリコントローラ30によって、プリンタからネットワークコントローラ130を介して画像データの読み出し要求があったと判別された場合は(ステップS103のYES)、メモリコントローラ30は、対応するメモリから画像データを読み出す(ステップS104)。ここで、プリンタ(機能2に対応)に対応するメモリは、メモリ2となり、メモリ2に記憶されている画像データを読み出す。メモリコントローラ30は、読み出した画像データを機能2を介して対応する機器であるプリンタに送出する(ステップS105)。
【0031】
なお、上述した実施形態では、カメラで撮像された画像データをプリンタに出力する場合について説明しているが、これに限定されることはなく、例えば、スキャナで入力された画像データを複写機やプリンタに出力する場合等にも適用することができ、画像データを入力および出力するデバイスは限定されるものではない。
【0032】
このように、上述した第1実施形態によれば、外部機器からメモリコントローラに入力される画像データの入力部を1つとし、入力された画像データに対して並列処理を行うことで、複数のイメージメモリに一括して出力することができるため、メモリコントローラの回路規模を最小限にして複数のイメージメモリに対して画像データの授受を行うことができる。また、複数のメモリには同じ画像データが記憶されていることになり、各処理機能は専用に設けられたメモリから必要な画像データを読み出すことができるため、特定メモリへのアクセス集中による処理時間の遅延を防ぐことができる。またメモリコントローラのインターフェースを従来と比べ削減することが可能となることから回路規模を抑制し、安価な回路構成を採用することができる。
【0033】
(第2実施形態)
次に、本発明の第2実施形態について、図4を参照して説明する。同図は、本発明の第2実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【0034】
本実施形態では、上述した第1実施形態と比べて、メモリコントローラ30内に、メモリ故障検知部32およびメモリ仮想化部33をさらに設けた点で異なる。なお、上述した第1実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【0035】
メモリコントローラ30が備えるメモリ故障検知部32は、メモリ1、2、・・・、nの中で異常を検知した場合、図4に示されるように、異常を検知したメモリの検知情報αをメモリ仮想化部33へ出力する。メモリ仮想化部33は、検知情報αに基づき、異常なメモリを特定し、正常なメモリへ自動的に処理を切り替える。メモリの異常検出は、メモリコントローラ30が各メモリ1、2、・・・、nと画像データの授受を行う場合等に、ベリファイ(データに誤りがないかどうかを検査する)処理を行う。このため、MTTF(mean time to failure)を向上させることができる。
【0036】
メモリ仮想化部33は、複数のメモリ1、2、・・・、nを単一メモリとして処理することができる。即ち、通常、複数のメモリを搭載する場合、メモリ個別に物理アドレスの制御を行わなければならない。搭載する処理機能(上述した機能1、2、・・・、n等)に対応させてメモリ数を変更する場合、その都度、物理アドレスの制御を変更する必要がある。複数のメモリを単一メモリとして処理する仮想化機能を設けることで、多様化する用途に対応でき、各メモリへのアクセス処理を高速化することができる。
【0037】
上述したメモリ仮想化処理は、例えば、図5に示されるように、行う。即ち、複数のメモリ1、2、・・・、nに対してメモリコントローラ30がアクセスを行う場合、メモリ1のアドレスは、0〜100であり、同様に、メモリ2のアドレスは、0〜100、・・・、メモリnのアドレスは、0〜100として構成されている。メモリコントローラ30のメモリ仮想化部33は、メモリコントローラ30からアクセスする場合、メモリ仮想化処理を行い、メモリコントローラ用アドレスとして、メモリ1、2、・・・、nに対して、0〜100n(100*n)の共通のアドレスを付与する。このように、共通のアドレスを付与することによって、例えば、メモリ2のアドレス100は、メモリ仮想化部33によって、メモリコントローラ用アドレス199として仮想化処理が行われアドレス変換される。即ち、メモリ1のアドレス0〜100+メモリ2のアドレス0〜100−1=199となる。なお、1を除算しているのは、メモリ1のアドレス100とメモリ2のアドレス0とが通しアドレス上では同じアドレスとして重なるためである。
【0038】
上述した第2実施形態によれば、第1実施形態と同様の効果を奏するのに加えて、複数のメモリを単一メモリとして処理する仮想化機能を設けることで、多様化する用途に対応でき、各メモリへのアクセス処理を高速化することができる。
【0039】
(第3実施形態)
次に、本発明の第3実施形態について、図6を参照して説明する。同図は、本発明の第3実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【0040】
本実施形態では、上述した第2実施形態と比べて、メモリコントローラ30内に、メモリアクセス負荷分散部34をさらに設けた点で異なる。なお、上述した第2実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【0041】
第1実施形態では、各機能に専用の個別メモリを割り当てる構成として、機能数と同じメモリ数を設けている。このような構成の場合、同一メモリへのアクセス集中が発生する場合がある。このため、メモリコントローラ30に同一メモリへのアクセス負荷を分散する負荷分散機能を設ける。
【0042】
メモリコントローラ30に設けられたメモリアクセス負荷分散部34は、各メモリ1、2、・・・、nのアクセス負荷を監視し、アクセス負荷の小さいメモリに優先的にアクセスを行うように制御を行う。このようなメモリアクセスの負荷分散処理を行うことにより、機能数と同じメモリ数を設けずとも、機能数よりも少ないメモリ数とすることが可能となる。なお、図6では、メモリの数がn−1個、機能の数がn個として示しているが、これに限定されることはなく、メモリの数がn−1個よりもさらに少ない構成とすることも可能である。
【0043】
(第4実施形態)
次に、本発明の第4実施形態について、図7を参照して説明する。同図は、本発明の第4実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【0044】
本実施形態では、上述した第3実施形態と比べて、メモリコントローラ30内に、信号変換部35をさらに設けた点で異なる。なお、上述した第3実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【0045】
本実施形態におけるメモリコントローラ30は、信号変換部35を備えている。信号変換部35は、パラレルバスとシリアルバスとの信号の変換を行う。また、メモリコントローラ30のIN1およびOUT1、OUT2、・・・、OUTnのそれぞれには、シリアルバス(Serial1,2,・・・,n)が設けられている。同様に、機能1、2、・・・、nのそれぞれには、シリアルバス(Serial)が設けられている。例えば、機能1のシリアルバス(Serial)から入力された画像データは、メモリコントローラ30のシリアルバス(Serial1)を介して信号変換部35に送られる。信号変換部35は、画像データをパラレルバスに対応した画像データに変換を行い、IN1に送出する。同様に、メモリ2から読み出した画像データは、メモリコントローラ30のOUT2を介して信号変換部35に送出される。信号変換部35は、画像データをシリアルバスに対応した画像データに変換を行い、シリアルバス(Serial2)を介して、機能2のシリアルバス(Serial)に送信される。
【0046】
上述した第1〜3実施形態では、メモリコントローラ30は、機能1、2、・・・、nと通信を行う場合に、パラレルバスインターフェースを用いて通信を行っている。即ち、メモリコントローラ30の入出力インターフェースは8ビット以上のパラレルバスを採用している。上述した第1〜3実施形態では、パラレルバス形式のインターフェースを用いているため、回路接続する必要のある信号ラインが多くなる。第4実施形態では、入出力インターフェースのパラレルバスをシリアルバスに変換する信号変機能を設ける。これにより、回路接続する信号ラインを2ビットとすることで、回路接続を簡素化することが可能となる。
【0047】
(第5実施形態)
次に、本発明の第5実施形態について、図8を参照して説明する。同図は、本発明の第5実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【0048】
本実施形態では、上述した第4実施形態と比べて、メモリコントローラ30内に、キャッシュメモリコントローラ36をさらに設け、コンピュータ10内にさらにキャッシュメモリ40を設けた点で異なる。なお、上述した第3実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【0049】
上述した第1〜4実施形態では、メモリコントローラ30は、画像データをメモリ1、2、・・・、nのそれぞれに記憶する処理を行っている。本実施形態では、メモリに保存された情報の中で特に利用頻度の高い画像データを、より処理スピードが高速なキャッシュメモリ40にキャッシュメモリコントローラ36を介して一時的に記憶させることにより、処理システム全体の高速化が可能となる。例えば、メモリ1、2、・・・、nには、動画データをそれぞれ記憶させ、キャッシュメモリ40には、動画データのうち、重要な人物が写っている場面の静止画を切り出して記憶させる。例えば画像処理を使ったセキュリティシステムで、監視エリア内を動画撮影して、順次メモリ1、2、・・・、nに動画データを記憶させた場合、記憶した動画データ中に、人物(侵入者)を検知した場合、侵入者を検知した状態の画像データ(静止画)は様々な処理に活用されるため、キャッシュメモリ40に記憶させる。このような構成とすることで、キャッシュメモリ40に記憶された画像データは、多くの読み出し処理に高速に対応することができる。
【0050】
(第6実施形態)
次に、本発明の第6実施形態について、図9を参照して説明する。同図は、本発明の第6実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【0051】
本実施形態では、上述した第5実施形態と比べて、メモリコントローラ30内に、キャッシュメモリコントローラ36に替えてフラッシュメモリコントローラ37を設け、コンピュータ10内にキャッシュメモリ40に替えてフラッシュメモリ50を設けた点で異なる。なお、上述した第5実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【0052】
上述した第5実施形態では、キャッシュメモリ40を用いているが、キャッシュメモリ40は揮発性メモリであり、電源遮断時にはデータが保持されない。本実施形態では、不揮発メモリであるフラッシュメモリ50を用いることで、電源遮断時においてもデータを保持することができる。例えば、このフラッシュメモリ50に、処理システムの動作履歴情報を常に保存することにより、メンテナンス時にその情報を参照し、瞬電等のシステム異常を早期発見することができる。また、例えば画像処理のセキュリティシステムにおいては、通常、ネットワーク経由で検知画像出力を行うが、通信異常時の代替保存先とすれば、システム停止や重要な情報を失うケースを回避できる。
【0053】
(第7実施形態)
次に、本発明の第7実施形態について、図10を参照して説明する。同図は、本発明の第7実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【0054】
本実施形態では、上述した第1〜6実施形態と比べて、メモリコントローラ300を専用チップ化し、他の機能(FPGA400の機能1、2、・・・、n)と分離することで、外部FPGA(分離されたメモリコントローラ300)として構成する点が異なる。
【0055】
このような構成とすることにより、採用できるFPGAのバリエーションを可変とすることで、トータル的に安価な回路を構築することが可能となる。即ち、図11に示されるように、専用チップ化されたメモリコントローラ300が専用チップA〜Dとして4種類用意されている場合について説明する。例えば、専用チップAは回路規模50(費用5千円)、専用チップBは回路規模100(費用1万円)、専用チップCは回路規模200(費用2万円)、専用チップDは回路規模300(費用3万円)であるとする。搭載を希望する処理システムの回路規模が120(メモリコントローラ300の占有する回路規模は30)である場合は、上述した第1〜6実施形態(専用チップ化していない場合)では、メモリコントローラ300(の占有する回路規模が30)は分割することはできず、回路規模120の全体を搭載できるFPGAを選択する必要がある。即ち、回路規模120の全体を搭載できるFPGAで選択可能なものは、C(回路規模200)またはD(回路規模300)となる。
【0056】
一方、本実施形態では、回路規模120の内、メモリコントローラ300(の占有する回路規模30)を分割することができる(専用チップ化により機能を分割する)。例えば、回路規模120を分割した場合は、メモリコントローラ300(回路規模30)と、残りの回路(回路規模90)との2つの回路とすることができる。このため、メモリコントローラ300(回路規模30)を搭載できるA(回路規模50)および、残りの回路(回路規模90)を搭載できるB(回路規模100)の2つを選択することで回路規模120を搭載することができる(さらに、機能1、2、・・・、nを備えたFPGA400を付加して構成する:図10参照)。このように、A(費用5千円)およびB(費用1万円)を組合わせて処理システムへ搭載した場合は、A+Bで費用が1万5千円で済む。一方、上述した分割できない場合におけるCまたはDの何れかに回路規模120を搭載する場合は、Cは費用2万円、Dは費用3万円となり、本実施形態は費用が1万5千円であるので、本実施形態を用いることにより、より安価とすることができる。また、専用チップにしない場合と比較して回路規模を小さくすることができ、回路接続する必要のある信号数を削減できるため、回路設計に余裕が生まれ、更にFPGAの選択バリエーションを高めることができる。
【0057】
なお、本実施形態の画像処理装置はコンピュータによって実現するのみならず、例えば、様々なコンシューマ画像処理装置によって実現することもできる。
【0058】
また、本発明は、上述した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述した実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【符号の説明】
【0059】
10…画像処理装置、20、400…FPGA、30…メモリコントローラ、31…並列処理部、32…メモリ故障検知部、33…メモリ仮想化部、34…メモリアクセス負荷分散部、35…信号変換部、36…キャッシュメモリコントローラ、37…フラッシュメモリコントローラ、40…キャッシュメモリ、50…フラッシュメモリ、111…CPU、126…カメラ、130…ネットワークコントローラ、300…メモリコントローラ(専用チップ)
【特許請求の範囲】
【請求項1】
複数の外部機器と接続され、前記複数の外部機器との画像データの入出力を実行する複数のイメージメモリを備えた画像処理装置であって、
前記複数の外部機器のうちの1つの外部機器から画像データを受け取って入力する入力部と、前記入力部から入力された画像データを並列処理して前記複数のイメージメモリにそれぞれ出力して記憶させる並列処理部と、前記複数の外部機器のうちの1つの外部機器から前記並列処理部によって記憶された前記画像データの送信要求を受け取った場合、前記複数のイメージメモリのうちの1つのイメージメモリから前記画像データを読み出して、前記送信要求を受け取った外部機器に出力するための前記複数の外部機器のそれぞれに対応した複数の出力部とを有するメモリアクセスコントローラを備えることを特徴とする画像処理装置。
【請求項2】
前記画像データを並列処理する場合、前記入力部から入力された画像データを一括して前記複数のイメージメモリにそれぞれ出力して記憶させることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記複数のイメージメモリを単一のメモリとして利用するためのメモリ仮想化部をさらに備え、
前記メモリ仮想化部は、前記複数のイメージメモリ内のそれそれのアドレスを、仮想的な単一のメモリの共通のアドレスに変換することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記複数のイメージメモリのそれぞれのアクセス負荷を監視してアクセスを分散させるアクセス分散部をさらに備え、
前記アクセス分散部は、前記複数のイメージメモリのそれぞれのアクセス負荷を監視して、アクセス負荷の低いメモリから優先的にアクセスを行う制御を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記複数のイメージメモリよりもデータの読み出しが高速なメモリをさらに備え、
前記画像データのうち利用頻度が高いデータを前記高速なメモリに記憶して利用することを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記高速なメモリは、不揮発性であることを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記複数のイメージメモリからエラーが検出された場合、エラーが検出されたメモリへのアクセスを正常なメモリへのアクセスに切り替えることを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記メモリコントローラを専用チップ化して、分離して構成可能とすることを特徴とする請求項1に記載の画像処理装置。
【請求項9】
前記メモリコントローラは、パラレルバスとシリアルバスとの信号変換を行う変換部をさらに備え、
前記変換部は、前記外部機器と前記画像データの授受を行う場合、前記パラレルバスに対応する信号を前記シリアルバスに対応する信号に変換することを特徴とする請求項1に記載の画像処理装置。
【請求項10】
複数の外部機器と接続され、前記複数の外部機器との画像データの入出力を実行する複数のイメージメモリおよび当該複数のイメージメモリへのアクセスを制御するメモリアクセスコントローラを備えた画像処理装置で用いられる画像処理方法であって、
前記メモリアクセスコントローラは、前記複数の外部機器のうちの1つの外部機器から画像データを受け取って入力する入力部および前記複数の外部機器のそれぞれに対応した複数の出力部を備え、前記入力部から入力された画像データを並列処理して前記複数のイメージメモリにそれぞれ出力して記憶させ、前記複数の外部機器のうちの1つの外部機器から前記画像データの送信要求を受け取った場合、前記複数のイメージメモリのうちの1つのイメージメモリから前記画像データを読み出して、前記送信要求を受け取った外部機器に前記出力部を介して出力することを特徴とする画像処理方法。
【請求項1】
複数の外部機器と接続され、前記複数の外部機器との画像データの入出力を実行する複数のイメージメモリを備えた画像処理装置であって、
前記複数の外部機器のうちの1つの外部機器から画像データを受け取って入力する入力部と、前記入力部から入力された画像データを並列処理して前記複数のイメージメモリにそれぞれ出力して記憶させる並列処理部と、前記複数の外部機器のうちの1つの外部機器から前記並列処理部によって記憶された前記画像データの送信要求を受け取った場合、前記複数のイメージメモリのうちの1つのイメージメモリから前記画像データを読み出して、前記送信要求を受け取った外部機器に出力するための前記複数の外部機器のそれぞれに対応した複数の出力部とを有するメモリアクセスコントローラを備えることを特徴とする画像処理装置。
【請求項2】
前記画像データを並列処理する場合、前記入力部から入力された画像データを一括して前記複数のイメージメモリにそれぞれ出力して記憶させることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記複数のイメージメモリを単一のメモリとして利用するためのメモリ仮想化部をさらに備え、
前記メモリ仮想化部は、前記複数のイメージメモリ内のそれそれのアドレスを、仮想的な単一のメモリの共通のアドレスに変換することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記複数のイメージメモリのそれぞれのアクセス負荷を監視してアクセスを分散させるアクセス分散部をさらに備え、
前記アクセス分散部は、前記複数のイメージメモリのそれぞれのアクセス負荷を監視して、アクセス負荷の低いメモリから優先的にアクセスを行う制御を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記複数のイメージメモリよりもデータの読み出しが高速なメモリをさらに備え、
前記画像データのうち利用頻度が高いデータを前記高速なメモリに記憶して利用することを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記高速なメモリは、不揮発性であることを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記複数のイメージメモリからエラーが検出された場合、エラーが検出されたメモリへのアクセスを正常なメモリへのアクセスに切り替えることを特徴とする請求項1に記載の画像処理装置。
【請求項8】
前記メモリコントローラを専用チップ化して、分離して構成可能とすることを特徴とする請求項1に記載の画像処理装置。
【請求項9】
前記メモリコントローラは、パラレルバスとシリアルバスとの信号変換を行う変換部をさらに備え、
前記変換部は、前記外部機器と前記画像データの授受を行う場合、前記パラレルバスに対応する信号を前記シリアルバスに対応する信号に変換することを特徴とする請求項1に記載の画像処理装置。
【請求項10】
複数の外部機器と接続され、前記複数の外部機器との画像データの入出力を実行する複数のイメージメモリおよび当該複数のイメージメモリへのアクセスを制御するメモリアクセスコントローラを備えた画像処理装置で用いられる画像処理方法であって、
前記メモリアクセスコントローラは、前記複数の外部機器のうちの1つの外部機器から画像データを受け取って入力する入力部および前記複数の外部機器のそれぞれに対応した複数の出力部を備え、前記入力部から入力された画像データを並列処理して前記複数のイメージメモリにそれぞれ出力して記憶させ、前記複数の外部機器のうちの1つの外部機器から前記画像データの送信要求を受け取った場合、前記複数のイメージメモリのうちの1つのイメージメモリから前記画像データを読み出して、前記送信要求を受け取った外部機器に前記出力部を介して出力することを特徴とする画像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−60137(P2011−60137A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2009−210915(P2009−210915)
【出願日】平成21年9月11日(2009.9.11)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願日】平成21年9月11日(2009.9.11)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]