(57)【特許請求の範囲】
【請求項１】
複数の外部機器と接続し、前記複数の外部機器との間で画像データの入出力を実行するための複数のイメージメモリを備えた画像処理装置であって、
前記複数のイメージメモリに対する前記画像データの入出力を制御するメモリコントローラを有し、
前記メモリコントローラは、
前記複数の外部機器のうちの１つの外部機器からの画像データを受け取って入力する入力部と、
前記入力部から入力された画像データを並列処理して前記複数のイメージメモリのそれぞれに出力して記憶させる並列処理部と、
前記複数の外部機器のうちの１つの外部機器から前記並列処理部によって記憶された前記画像データの送信要求を受け取った場合、前記複数のイメージメモリのうちの１つのイメージメモリから前記画像データを読み出して、前記送信要求を受け取った外部機器に出力するための前記複数の外部機器のそれぞれに対応した複数の出力部と
を備えることを特徴とする画像処理装置。
【請求項２】
前記並列処理部は、
前記画像データを並列処理する場合に、前記入力部から入力された画像データを一括して前記複数のイメージメモリのそれぞれに出力して記憶させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記メモリコントローラは、
前記複数のイメージメモリを単一のメモリとして利用するためのメモリ仮想化部をさらに備え、
前記メモリ仮想化部は、前記複数のイメージメモリ内のそれぞれのアドレスを、仮想的な単一のメモリの共通のアドレスに変換することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記メモリコントローラは、
前記複数のイメージメモリのそれぞれのアクセス負荷を監視してアクセスを分散させるアクセス分散部をさらに備え、
前記アクセス分散部は、前記複数のイメージメモリのそれぞれのアクセス負荷を監視して、アクセス負荷の低いメモリから優先的にアクセスを行う制御を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記メモリコントローラは、
前記複数のイメージメモリよりもデータの読み出しが高速なメモリをさらに備え、
前記画像データのうち利用頻度が高いデータを前記高速なメモリに記憶して利用することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記高速なメモリは、不揮発性であることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記メモリコントローラは、
前記複数のイメージメモリからエラーが検出された場合、エラーが検出されたメモリへのアクセスを正常なメモリへのアクセスに切り替えることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記メモリコントローラを専用チップ化して、分離して構成可能とすることを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記メモリコントローラは、
パラレルバスとシリアルバスとの信号変換を行う変換部をさらに備え、
前記変換部は、前記外部機器と前記画像データの授受を行う場合、前記パラレルバスに対応する信号を前記シリアルバスに対応する信号に変換することを特徴とする請求項１に記載の画像処理装置。
【請求項１０】
複数の外部機器と接続し、前記複数の外部機器との間で画像データの入出力を実行するための複数のイメージメモリおよび当該複数のイメージメモリに対する入出力を制御するメモリコントローラを備えた画像処理装置で用いられる画像処理方法であって、
前記メモリコントローラは、
前記複数の外部機器のうちの１つの外部機器から画像データを受け取って入力し、
前記入力部から入力された画像データを並列処理して前記複数のイメージメモリのそれぞれに出力して記憶させ、
前記複数の外部機器のうちの１つの外部機器から前記画像データの送信要求を受け取った場合に、前記複数のイメージメモリのうちの１つのイメージメモリから前記画像データを読み出して、前記送信要求を受け取った外部機器に出力することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部機器からの画像データをメモリに書き込み、書き込まれたデータを出力する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
近年、ホストコンピュータと、複写機、スキャナ、プリンタ、デジタルカメラ等の外部機器の間にエンジニアリング・サブ・システム（以下ＥＳＳと称す）を接続し、ホストコンピュータで作成した画像等を複写機、プリンタ等に出力させたり、逆に、デジタルカメラ、スキャナ、複写機等で読み取った画像データをホストコンピュータに出力させたりするシステムが用いられている。これらの外部機器は互いにＬＡＮのようなネットワークを用いて複数台接続することができ、広域なシステムを構築することができる。
【０００３】
このようなシステムでホストコンピュータから転送される画像データを複写機やプリンタ等の外部機器に出力するには、ホストコンピュータから転送される画像データをＥＳＳ内のイメージメモリに一旦書き込み、書き込み終了後、画像データをイメージメモリから読み出し、所定の外部機器に画像データを転送する工程が必要となる。
【０００４】
上記のような機能を有する従来のシステムでは、例えば、ホストコンピュータから転送された画像を複数の外部機器に同時に出力することができないので、複数のイメージメモリを備えるシステムが必要になる。即ち、同じ画像データを複数の外部機器に出力するために、ホストコンピュータから転送される画像データをＥＳＳ内の複数のイメージメモリに書き込み、書き込み終了後、画像データをそれぞれのイメージメモリから読み出し、所定の外部機器のそれぞれに画像データを転送するといった工程を行う必要がある。例えば、特開平９−２９８６５１号公報には、複数のイメージメモリを複数のメモリアクセスコントローラで制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−２９８６５１号公報  （図１、段落００２８等）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載された技術では、複数のイメージメモリを複数のメモリアクセスコントローラで制御している。このため、複数のイメージメモリと複数のメモリアクセスコントローラとを接続する回路やインターフェースが複雑になり、回路規模が大きくなるという課題がある。
【０００７】
そこで、本発明は、１つのメモリアクセスコントローラで複数のイメージメモリを制御し、且つインターフェースを最小限とすることができる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態の画像処理装置は、複数の外部機器と接続し、前記複数の外部機器との間で画像データの入出力を実行するための複数のイメージメモリを備えた画像処理装置であって、前記複数のイメージメモリに対する前記画像データの入出力を制御するメモリコントローラを有し、前記メモリコントローラは、前記複数の外部機器のうちの１つの外部機器からの画像データを受け取って入力する入力部と、前記入力部から入力された画像データを並列処理して前記複数のイメージメモリのそれぞれに出力して記憶させる並列処理部と、前記複数の外部機器のうちの１つの外部機器から前記並列処理部によって記憶された前記画像データの送信要求を受け取った場合、前記複数のイメージメモリのうちの１つのイメージメモリから前記画像データを読み出して、前記送信要求を受け取った外部機器に出力するための前記複数の外部機器のそれぞれに対応した複数の出力部とを備えた構成である。
【発明の効果】
【００１０】
本発明は、１つのメモリアクセスコントローラで複数のイメージメモリを制御し、且つインターフェースを最小限とすることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態に係る画像処理装置の構成を示すブロック図。
【図２】同実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図３】同実施形態に係る画像処理装置を適用した画像処理方法について示したフローチャート。
【図４】本発明の第２実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図５】同実施形態に係る画像処理装置で用いられるメモリ仮想化処理を模式的に示す図。
【図６】本発明の第３実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図７】本発明の第４実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図８】本発明の第５実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図９】本発明の第６実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図１０】本発明の第７実施形態に係る画像処理装置のメモリコントローラ他の主要な構成を示すブロック図。
【図１１】同実施形態に係る画像処理装置で用いられるメモリコントローラを専用チップ化した場合を模式的に示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について図面を参照しながら説明する。
【００１３】
（第１実施形態）
まず、図１を参照して、本発明の第１実施形態に係る画像処理装置について説明する。本実施形態の画像処理装置１０は、例えば、コンピュータ１０として実現されている。本実施形態は、カメラ等のデバイスから画像データをコンピュータに入力して、入力された画像データを並列処理を行うことでコンピュータの複数のイメージメモリに一旦書き込み、書き込み終了後、画像データをイメージメモリから読み出し、複写機やプリンタ等の外部機器に出力する技術であり、画像データの入力を行うコンピュータのメモリコントローラの入力部を１つの入力部で行い、並列処理を行うことにより、複数のイメージメモリに出力することを特徴とする。また、メモリへ保存する必要がある汎用度の高い情報は撮像された画像データとなり、後述する機能１のみがメモリへの記憶処理を行う構成となる。他の処理を行う機能２、・・・、ｎは必要な画像データを対応するメモリから読み出し、様々な演算や画像の加工、画像の圧縮処理等を行う。なお、本実施形態では、機能の数と同数のメモリをそれぞれ対応させた構成について説明しているが、これに限定されるものではない。例えば、機能の数よりもメモリの数が少ない場合、アクセス負荷の少ないメモリから優先して画像データの読み出しを行うようにしてもよい。また、本実施形態では、カメラによって撮像された画像データを用いて説明を行っているが、例えばネットワークコントローラを介して受信したスキャナ、複写機等で取り込んだ画像データ、メモリカード等から取り込んだ画像データ等であってもよく、限定されるものではない。
【００１４】
本コンピュータ１０は、図１に示されているように、ＣＰＵ１１１、ノースブリッジ１１３、グラフィクスコントローラ１１４、複数の（メイン）メモリ１・・・ｎ、ＦＰＧＡ（Field Programmable Gate Array）２０、ＬＣＤ１２１、サウスブリッジ１１６、ハードディスクドライブ（ＨＤＤ）１１７、ＢＩＯＳ−ＲＯＭ１１９、カメラ１２６、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２０、キーボード（ＫＢ）１２５およびネットワークコントローラ１３０等を備えている。なお、複数のメモリ１・・・ｎは、後述する処理機能毎に専用に割り当てられたメモリである。
【００１５】
ＣＰＵ１１１は本コンピュータ１０の動作を制御するプロセッサであり、ハードディスクドライブ（ＨＤＤ）１１７から各メモリ１・・・ｎにロードされる、オペレーティングシステム（ＯＳ）、および各種アプリケーションプログラムを実行する。
【００１６】
ノースブリッジ１１３はＣＰＵ１１１のローカルバスとサウスブリッジ１１６との間を接続するブリッジデバイスである。また、ノースブリッジ１１３は、グラフィックスコントローラ１１４との通信を実行する機能を有している。
【００１７】
グラフィックスコントローラ１１４は、本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ（ディスプレイ）１２１を制御する表示コントローラである。このグラフィックスコントローラ１１４によって生成される表示信号はＬＣＤ１２１に送られる。
【００１８】
サウスブリッジ１１６は、ＬＰＣ（Low Pin Count）バス上の各デバイス等を制御する。また、サウスブリッジ１１６は、ハードディスクドライブ（ＨＤＤ）１１７等を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。
【００１９】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２０は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）１２５を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２０は、ユーザによる電源ボタン２１の操作に応じて本コンピュータ１０をパワーオン／パワーオフする機能を有している。
【００２０】
ネットワークコントローラ１３０は、ＬＡＮ等のネットワークを介して複写機、スキャナ等から入力された画像データを受信する。
【００２１】
カメラ１２６は、Ｗｅｂカメラ等の撮像素子を備えた撮像デバイスであり、撮像した画像データを取り込む処理を行う。
【００２２】
ＦＰＧＡ２０は、プログラミング可能なＬＳＩ（Large Scale Integration）であり、マイクロプロセッサやＡＳＩＣ（Application Specific Integrated Circuit）の設計図に基づいてシミュレーションすることができる。また、ＦＰＧＡ２０は、メモリコントローラ（後述）を備えている。このメモリコントローラに外部機器（スキャナ、複写機等）およびカメラ１２６から画像データが入力された場合、メモリコントローラは、入力された画像データを複数のメモリ１・・・ｎに記憶させる処理を行う。また、メモリコントローラは、複数のメモリ１・・・ｎに記憶された画像データを受け取り、外部機器（スキャナ、複写機等）に出力する処理を行う。
【００２３】
次に、図２は、本発明の画像処理装置が備えるＦＰＧＡの主要な構成を示したブロック図である。
【００２４】
ＦＰＧＡ２０は、メモリコントローラ３０と、機能１、２、・・・ｎを備えている。メモリコントローラ３０は、外部機器やカメラ１２６から画像データ等のデータ（以下、画像データと称する）を入力する１つの入力部であるＩＮ１と、入力された画像データの並列処理を行う並列処理部３１、並列処理が行われた画像データを各メモリ１、２、・・・、ｎに一括して出力する複数のインターフェース部であるＢＵＳ２００−１、２００−１、２００−３と、メモリ１、２、・・・、ｎから出力された画像データをＢＵＳ２００−１、２００−１、２００−３でそれぞれ受信して、機能１、２、・・・ｎのそれぞれに出力する複数の出力部であるＯＵＴ１、ＯＵＴ２、・・・、ＯＵＴｎとを備えている。
【００２５】
また、メモリ１、２、・・・、ｎは、ＢＵＳ２００−１、２００−２、２００−３のそれぞれから出力された画像データを受信するインターフェースであるＢＵＳ１００−１、１００−２、１００−３をそれぞれ備えている。
【００２６】
さらに、機能１は、例えばカメラ１２６から入力された画像データをメモリコントローラ３０のＩＮ１に出力するための出力部であるＯＵＴ１と、メモリコントローラ３０のＯＵＴ１から出力された画像データを入力するための入力部であるＩＮ１とを備える。また、機能２、・・・、ｎは、それぞれ入力部であるＩＮ２、・・・、ｎを備える。即ち、機能２、・・・、ｎは、メモリに画像データを出力する出力部を備えていないため、メモリから読み出した画像データの入力のみを行う。
【００２７】
上述した機能１、２、・・・、ｎは、メモリコントローラ３０から画像データが読み出された場合、機能１、２、・・・、ｎの対応するそれぞれの外部機器（複写機、プリンタ等）に画像データを送出する。なお、メモリ１、２、・・・、ｎから画像データを読み出す場合は、各機能１、２、・・・、ｎが画像データを要求した場合に、その都度、対応するメモリから画像データを読み出す処理を行う。
【００２８】
以上のように構成された本発明の第１実施形態に係る画像処理装置を適用した画像処理方法について、図３のフローチャートを参照して説明する。
【００２９】
まず、コンピュータ１０のメモリコントローラ３０は、例えば機能１に対応するカメラ１２６から画像データが入力されたか否かを判別する（ステップＳ１０１）。ステップＳ１０１で、メモリコントローラ３０によってカメラ１２６から画像データが入力されたと判別された場合は（ステップＳ１０１のＹＥＳ）、メモリコントローラ３０の並列処理部３１は、メモリコントローラ３０のＩＮ１を介して入力された画像データに対して並列処理を行う。並列処理部３１によって並列処理が行われた画像データは、メモリコントローラ３０のＢＵＳ２００−１、２００−２、・・・、２００−ｎのそれぞれを介して、一括してメモリ１、２、・・・、ｎに出力する（ステップＳ１０２）。画像データを受信したメモリ１、２、・・・、ｎは、それぞれのメモリ１、２、・・・、ｎに受信した画像データを記憶する。
【００３０】
続いて、機能２、・・・、ｎの内のいずれか１つの機能によって、画像データの読み出しを行う場合について説明する。例えば、外部機器として、機能２に対応したプリンタから読み出し要求を受信した場合について説明する（機能３には、複写機が対応しているとする）。また、機能２（機能３）に対応するメモリは、メモリ２（メモリ３）とする。メモリコントローラ３０は、外部機器であるプリンタや複写機等から画像データの読み出しの要求があるか否かを判別する（ステップＳ１０３）。ステップＳ１０３で、メモリコントローラ３０によって、プリンタからネットワークコントローラ１３０を介して画像データの読み出し要求があったと判別された場合は（ステップＳ１０３のＹＥＳ）、メモリコントローラ３０は、対応するメモリから画像データを読み出す（ステップＳ１０４）。ここで、プリンタ（機能２に対応）に対応するメモリは、メモリ２となり、メモリ２に記憶されている画像データを読み出す。メモリコントローラ３０は、読み出した画像データを機能２を介して対応する機器であるプリンタに送出する（ステップＳ１０５）。
【００３１】
なお、上述した実施形態では、カメラで撮像された画像データをプリンタに出力する場合について説明しているが、これに限定されることはなく、例えば、スキャナで入力された画像データを複写機やプリンタに出力する場合等にも適用することができ、画像データを入力および出力するデバイスは限定されるものではない。
【００３２】
このように、上述した第１実施形態によれば、外部機器からメモリコントローラに入力される画像データの入力部を１つとし、入力された画像データに対して並列処理を行うことで、複数のイメージメモリに一括して出力することができるため、メモリコントローラの回路規模を最小限にして複数のイメージメモリに対して画像データの授受を行うことができる。また、複数のメモリには同じ画像データが記憶されていることになり、各処理機能は専用に設けられたメモリから必要な画像データを読み出すことができるため、特定メモリへのアクセス集中による処理時間の遅延を防ぐことができる。またメモリコントローラのインターフェースを従来と比べ削減することが可能となることから回路規模を抑制し、安価な回路構成を採用することができる。
【００３３】
（第２実施形態）
次に、本発明の第２実施形態について、図４を参照して説明する。同図は、本発明の第２実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【００３４】
本実施形態では、上述した第１実施形態と比べて、メモリコントローラ３０内に、メモリ故障検知部３２およびメモリ仮想化部３３をさらに設けた点で異なる。なお、上述した第１実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【００３５】
メモリコントローラ３０が備えるメモリ故障検知部３２は、メモリ１、２、・・・、ｎの中で異常を検知した場合、図４に示されるように、異常を検知したメモリの検知情報αをメモリ仮想化部３３へ出力する。メモリ仮想化部３３は、検知情報αに基づき、異常なメモリを特定し、正常なメモリへ自動的に処理を切り替える。メモリの異常検出は、メモリコントローラ３０が各メモリ１、２、・・・、ｎと画像データの授受を行う場合等に、ベリファイ（データに誤りがないかどうかを検査する）処理を行う。このため、ＭＴＴＦ（mean time to failure）を向上させることができる。
【００３６】
メモリ仮想化部３３は、複数のメモリ１、２、・・・、ｎを単一メモリとして処理することができる。即ち、通常、複数のメモリを搭載する場合、メモリ個別に物理アドレスの制御を行わなければならない。搭載する処理機能（上述した機能１、２、・・・、ｎ等）に対応させてメモリ数を変更する場合、その都度、物理アドレスの制御を変更する必要がある。複数のメモリを単一メモリとして処理する仮想化機能を設けることで、多様化する用途に対応でき、各メモリへのアクセス処理を高速化することができる。
【００３７】
上述したメモリ仮想化処理は、例えば、図５に示されるように、行う。即ち、複数のメモリ１、２、・・・、ｎに対してメモリコントローラ３０がアクセスを行う場合、メモリ１のアドレスは、０〜１００であり、同様に、メモリ２のアドレスは、０〜１００、・・・、メモリｎのアドレスは、０〜１００として構成されている。メモリコントローラ３０のメモリ仮想化部３３は、メモリコントローラ３０からアクセスする場合、メモリ仮想化処理を行い、メモリコントローラ用アドレスとして、メモリ１、２、・・・、ｎに対して、０〜１００ｎ（１００＊ｎ）の共通のアドレスを付与する。このように、共通のアドレスを付与することによって、例えば、メモリ２のアドレス１００は、メモリ仮想化部３３によって、メモリコントローラ用アドレス１９９として仮想化処理が行われアドレス変換される。即ち、メモリ１のアドレス０〜１００＋メモリ２のアドレス０〜１００−１＝１９９となる。なお、１を除算しているのは、メモリ１のアドレス１００とメモリ２のアドレス０とが通しアドレス上では同じアドレスとして重なるためである。
【００３８】
上述した第２実施形態によれば、第１実施形態と同様の効果を奏するのに加えて、複数のメモリを単一メモリとして処理する仮想化機能を設けることで、多様化する用途に対応でき、各メモリへのアクセス処理を高速化することができる。
【００３９】
（第３実施形態）
次に、本発明の第３実施形態について、図６を参照して説明する。同図は、本発明の第３実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【００４０】
本実施形態では、上述した第２実施形態と比べて、メモリコントローラ３０内に、メモリアクセス負荷分散部３４をさらに設けた点で異なる。なお、上述した第２実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【００４１】
第１実施形態では、各機能に専用の個別メモリを割り当てる構成として、機能数と同じメモリ数を設けている。このような構成の場合、同一メモリへのアクセス集中が発生する場合がある。このため、メモリコントローラ３０に同一メモリへのアクセス負荷を分散する負荷分散機能を設ける。
【００４２】
メモリコントローラ３０に設けられたメモリアクセス負荷分散部３４は、各メモリ１、２、・・・、ｎのアクセス負荷を監視し、アクセス負荷の小さいメモリに優先的にアクセスを行うように制御を行う。このようなメモリアクセスの負荷分散処理を行うことにより、機能数と同じメモリ数を設けずとも、機能数よりも少ないメモリ数とすることが可能となる。なお、図６では、メモリの数がｎ−１個、機能の数がｎ個として示しているが、これに限定されることはなく、メモリの数がｎ−１個よりもさらに少ない構成とすることも可能である。
【００４３】
（第４実施形態）
次に、本発明の第４実施形態について、図７を参照して説明する。同図は、本発明の第４実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【００４４】
本実施形態では、上述した第３実施形態と比べて、メモリコントローラ３０内に、信号変換部３５をさらに設けた点で異なる。なお、上述した第３実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【００４５】
本実施形態におけるメモリコントローラ３０は、信号変換部３５を備えている。信号変換部３５は、パラレルバスとシリアルバスとの信号の変換を行う。また、メモリコントローラ３０のＩＮ１およびＯＵＴ１、ＯＵＴ２、・・・、ＯＵＴｎのそれぞれには、シリアルバス（Serial1,2,・・・,n）が設けられている。同様に、機能１、２、・・・、ｎのそれぞれには、シリアルバス（Serial）が設けられている。例えば、機能１のシリアルバス（Serial）から入力された画像データは、メモリコントローラ３０のシリアルバス（Serial1）を介して信号変換部３５に送られる。信号変換部３５は、画像データをパラレルバスに対応した画像データに変換を行い、ＩＮ１に送出する。同様に、メモリ２から読み出した画像データは、メモリコントローラ３０のＯＵＴ２を介して信号変換部３５に送出される。信号変換部３５は、画像データをシリアルバスに対応した画像データに変換を行い、シリアルバス（Serial2）を介して、機能２のシリアルバス（Serial）に送信される。
【００４６】
上述した第１〜３実施形態では、メモリコントローラ３０は、機能１、２、・・・、ｎと通信を行う場合に、パラレルバスインターフェースを用いて通信を行っている。即ち、メモリコントローラ３０の入出力インターフェースは８ビット以上のパラレルバスを採用している。上述した第１〜３実施形態では、パラレルバス形式のインターフェースを用いているため、回路接続する必要のある信号ラインが多くなる。第４実施形態では、入出力インターフェースのパラレルバスをシリアルバスに変換する信号変機能を設ける。これにより、回路接続する信号ラインを２ビットとすることで、回路接続を簡素化することが可能となる。
【００４７】
（第５実施形態）
次に、本発明の第５実施形態について、図８を参照して説明する。同図は、本発明の第５実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【００４８】
本実施形態では、上述した第４実施形態と比べて、メモリコントローラ３０内に、キャッシュメモリコントローラ３６をさらに設け、コンピュータ１０内にさらにキャッシュメモリ４０を設けた点で異なる。なお、上述した第３実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【００４９】
上述した第１〜４実施形態では、メモリコントローラ３０は、画像データをメモリ１、２、・・・、ｎのそれぞれに記憶する処理を行っている。本実施形態では、メモリに保存された情報の中で特に利用頻度の高い画像データを、より処理スピードが高速なキャッシュメモリ４０にキャッシュメモリコントローラ３６を介して一時的に記憶させることにより、処理システム全体の高速化が可能となる。例えば、メモリ１、２、・・・、ｎには、動画データをそれぞれ記憶させ、キャッシュメモリ４０には、動画データのうち、重要な人物が写っている場面の静止画を切り出して記憶させる。例えば画像処理を使ったセキュリティシステムで、監視エリア内を動画撮影して、順次メモリ１、２、・・・、ｎに動画データを記憶させた場合、記憶した動画データ中に、人物（侵入者）を検知した場合、侵入者を検知した状態の画像データ（静止画）は様々な処理に活用されるため、キャッシュメモリ４０に記憶させる。このような構成とすることで、キャッシュメモリ４０に記憶された画像データは、多くの読み出し処理に高速に対応することができる。
【００５０】
（第６実施形態）
次に、本発明の第６実施形態について、図９を参照して説明する。同図は、本発明の第６実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【００５１】
本実施形態では、上述した第５実施形態と比べて、メモリコントローラ３０内に、キャッシュメモリコントローラ３６に替えてフラッシュメモリコントローラ３７を設け、コンピュータ１０内にキャッシュメモリ４０に替えてフラッシュメモリ５０を設けた点で異なる。なお、上述した第５実施形態と同様の構成には、同符号を付し、詳細な説明を省略する。
【００５２】
上述した第５実施形態では、キャッシュメモリ４０を用いているが、キャッシュメモリ４０は揮発性メモリであり、電源遮断時にはデータが保持されない。本実施形態では、不揮発メモリであるフラッシュメモリ５０を用いることで、電源遮断時においてもデータを保持することができる。例えば、このフラッシュメモリ５０に、処理システムの動作履歴情報を常に保存することにより、メンテナンス時にその情報を参照し、瞬電等のシステム異常を早期発見することができる。また、例えば画像処理のセキュリティシステムにおいては、通常、ネットワーク経由で検知画像出力を行うが、通信異常時の代替保存先とすれば、システム停止や重要な情報を失うケースを回避できる。
【００５３】
（第７実施形態）
次に、本発明の第７実施形態について、図１０を参照して説明する。同図は、本発明の第７実施形態に係る画像処理装置の主要な構成を含む画像処理装置の構成について示したブロック図である。
【００５４】
本実施形態では、上述した第１〜６実施形態と比べて、メモリコントローラ３００を専用チップ化し、他の機能（ＦＰＧＡ４００の機能１、２、・・・、ｎ）と分離することで、外部ＦＰＧＡ（分離されたメモリコントローラ３００）として構成する点が異なる。
【００５５】
このような構成とすることにより、採用できるＦＰＧＡのバリエーションを可変とすることで、トータル的に安価な回路を構築することが可能となる。即ち、図１１に示されるように、専用チップ化されたメモリコントローラ３００が専用チップＡ〜Ｄとして４種類用意されている場合について説明する。例えば、専用チップＡは回路規模５０（費用５千円）、専用チップＢは回路規模１００（費用１万円）、専用チップＣは回路規模２００（費用２万円）、専用チップＤは回路規模３００（費用３万円）であるとする。搭載を希望する処理システムの回路規模が１２０（メモリコントローラ３００の占有する回路規模は３０）である場合は、上述した第１〜６実施形態（専用チップ化していない場合）では、メモリコントローラ３００（の占有する回路規模が３０）は分割することはできず、回路規模１２０の全体を搭載できるＦＰＧＡを選択する必要がある。即ち、回路規模１２０の全体を搭載できるＦＰＧＡで選択可能なものは、Ｃ（回路規模２００）またはＤ（回路規模３００）となる。
【００５６】
一方、本実施形態では、回路規模１２０の内、メモリコントローラ３００（の占有する回路規模３０）を分割することができる（専用チップ化により機能を分割する）。例えば、回路規模１２０を分割した場合は、メモリコントローラ３００（回路規模３０）と、残りの回路（回路規模９０）との２つの回路とすることができる。このため、メモリコントローラ３００（回路規模３０）を搭載できるＡ（回路規模５０）および、残りの回路（回路規模９０）を搭載できるＢ（回路規模１００）の２つを選択することで回路規模１２０を搭載することができる（さらに、機能１、２、・・・、ｎを備えたＦＰＧＡ４００を付加して構成する：図１０参照）。このように、Ａ（費用５千円）およびＢ（費用１万円）を組合わせて処理システムへ搭載した場合は、Ａ＋Ｂで費用が１万５千円で済む。一方、上述した分割できない場合におけるＣまたはＤの何れかに回路規模１２０を搭載する場合は、Ｃは費用２万円、Ｄは費用３万円となり、本実施形態は費用が１万５千円であるので、本実施形態を用いることにより、より安価とすることができる。また、専用チップにしない場合と比較して回路規模を小さくすることができ、回路接続する必要のある信号数を削減できるため、回路設計に余裕が生まれ、更にＦＰＧＡの選択バリエーションを高めることができる。
【００５７】
なお、本実施形態の画像処理装置はコンピュータによって実現するのみならず、例えば、様々なコンシューマ画像処理装置によって実現することもできる。
【００５８】
また、本発明は、上述した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述した実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【符号の説明】
【００５９】
１０…画像処理装置、２０、４００…ＦＰＧＡ、３０…メモリコントローラ、３１…並列処理部、３２…メモリ故障検知部、３３…メモリ仮想化部、３４…メモリアクセス負荷分散部、３５…信号変換部、３６…キャッシュメモリコントローラ、３７…フラッシュメモリコントローラ、４０…キャッシュメモリ、５０…フラッシュメモリ、１１１…ＣＰＵ、１２６…カメラ、１３０…ネットワークコントローラ、３００…メモリコントローラ（専用チップ）
【図１】
0005390316.tif 000002
【図２】
0005390316.tif 000003
【図３】
0005390316.tif 000004
【図４】
0005390316.tif 000005
【図５】
0005390316.tif 000006
【図６】
0005390316.tif 000007
【図７】
0005390316.tif 000008
【図８】
0005390316.tif 000009
【図９】
0005390316.tif 000010
【図１０】
0005390316.tif 000011
【図１１】
0005390316.tif 000012