(57)【特許請求の範囲】
【請求項１】
画像処理を行う第１画像処理手段と、該第１画像処理手段とデータ配列の方式が異なる第２画像処理手段と、画像データを記憶する記憶手段と、画像データのデータ配列を変換する変換手段であってデータ配列が変換された画像データをＤＭＡ転送するＤＭＡ転送機能を備える変換手段と、前記第１画像処理手段で画像処理する画像データのＤＭＡ転送を制御する第１ＤＭＡコントローラと、前記第２画像処理手段で画像処理する画像データのＤＭＡ転送を制御する第２ＤＭＡコントローラとを備えた画像処理装置におけるデータ処理方法において、
設定手段が、前記第１画像処理手段で画像処理された画像データを前記記憶手段にＤＭＡ転送させるためのアドレスを前記第１ＤＭＡコントローラに設定する第１設定ステップと、
前記設定手段が、前記第２画像処理手段で画像処理された画像データを前記変換手段にＤＭＡ転送させるためのアドレスを前記第２ＤＭＡコントローラに設定する第２設定ステップと、
前記設定手段が、前記変換手段によりデータ配列が変換された画像データを前記記憶手段にＤＭＡ転送させるためのアドレスを前記変換手段に設定する第３設定ステップと、
前記第１画像処理手段が、画像データに対する画像処理を実行する第１画像処理ステップと、
該第１画像処理ステップで画像処理された画像データを、前記第１設定ステップにより設定されたアドレスに基づいて前記第１画像処理手段から前記記憶手段にＤＭＡ転送する第１転送ステップと、
前記第２画像処理手段が、画像データに対する画像処理を実行する第２画像処理ステップと、
該第２画像処理ステップで画像処理された画像データを、前記第２設定ステップにより設定されたアドレスに基づいて前記第２画像処理手段から前記変換手段にＤＭＡ転送する第２転送ステップと、
前記変換手段が、該第２転送ステップでＤＭＡ転送された画像データに対するデータ配列の変換を実行する変換ステップと、
前記変換手段が、前記設定手段により設定されたアドレスに基づいて前記変換ステップにて前記データ配列が変換された画像データを前記変換手段から前記記憶手段にＤＭＡ転送する第３転送ステップと、
を備えることを特徴とするデータ処理方法。
【請求項２】
画像処理を行う第１画像処理手段と、
画像処理を行う第２画像処理手段であって、前記第１画像処理手段とデータ配列の方式が異なる第２の画像処理手段と、
画像データを記憶する記憶手段と、
画像データのデータ配列を変換する変換手段であって、データ配列が変換された画像データをＤＭＡ転送するＤＭＡ転送機能を備える変換手段と、
前記第１画像処理手段で画像処理する画像データのＤＭＡ転送を制御する第１ＤＭＡコントローラと、
前記第２画像処理手段で画像処理する画像データのＤＭＡ転送を制御する第２ＤＭＡコントローラと、
前記第１画像処理手段で画像処理された画像データを前記記憶手段にＤＭＡ転送させるためのアドレスを前記第１ＤＭＡコントローラに設定し、前記第２画像処理手段で画像処理された画像データを前記変換手段にＤＭＡ転送させるためのアドレスを前記第２ＤＭＡコントローラに設定し、前記変換手段によりデータ配列が変換された画像データを前記記憶手段にＤＭＡ転送させるためのアドレスを前記変換手段に設定する設定手段とを有し、
前記第１ＤＭＡコントローラは、前記設定手段により設定されたアドレスに基づいて前記第１画像処理手段で画像処理された画像データを前記第１画像処理手段から前記記憶手段にＤＭＡ転送するよう制御し、
前記第２ＤＭＡコントローラは、前記設定手段により設定されたアドレスに基づいて前記第２画像処理手段で画像処理された画像データを前記第２画像処理手段から前記変換手段にＤＭＡ転送するよう制御し、
前記変換手段は、前記設定手段により設定されたアドレスに基づいて前記変換手段により前記データ配列が変換された画像データを前記変換手段から前記記憶手段にＤＭＡ転送するように制御することを特徴とする画像処理装置。
【請求項３】
前記変換手段と前記第１ＤＭＡコントローラと前記第２ＤＭＡコントローラとが接続された第１バスと、
前記記憶手段と前記設定手段とが接続された第２バスと、
前記第１バスと前記第２バスとを接続して相互にデータを転送するための接続手段とを備えたことを特徴とする請求項２に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理方法および画像処理装置に関し、より詳細には、データ配列の方法が異なる信号処理回路が混在する場合に、データ転送の整合をはかるデータ処理方法および画像処理装置に関する。
【０００２】
【従来の技術】
各種のデータを保持するホストコンピュータなどから、ビットマップやページ記述言語で記述された画像を、ネットワークを介して受信し、紙などの記録媒体上に画像として記録するための画像形成装置が知られている。
【０００３】
画像形成装置である複写機には、デジタル化された画像を扱うことができ、デジタル信号である画像データに対して、解像度変換や圧縮伸張を行うことが可能なものがある。また、画像データは、ＨＤＤ（Hard Disk Drive）などの不揮発性記録媒体に記録される。これら解像度変換回路、圧縮伸張回路、またはＨＤＤなどを接続するためのインターフェース部分は、あらかじめ定められている。
【０００４】
複写機を構成する際に、いくつかの機能ブロックに分割し、統一されたインタフェースを使用することが行われている。これにより、１つの機能ブロックを他の機種でも使用することができ、また、機能ブロックを機種ごとに設定することによって、開発費の増加を防ぎ、開発日程を短縮することが行われつつある。
【０００５】
【発明が解決しようとする課題】
しかしながら、画像処理などを行うＣＰＵには、Big EndianとLittle Endianの２種類があり、両者は、データバス上のアドレスの割付が異なっている。これに伴って、Little EndianのＣＰＵ用に設計された機能ブロックと、Big EndianのＣＰＵ用に設計された機能ブロックとが存在する。Little EndianのＣＰＵ用に設計された画像処理を行う信号処理回路と、Big EndianのＣＰＵ用に設計された画像処理を行う信号処理回路が混在して使用された場合、ソフトウェアでＣＰＵを介してアクセスしようとしたアドレスと、信号処理回路が割り当てられたアドレスとに不一致が発生するという問題があった。その結果、誤ったアドレスにデータが書き込まれたり、また、誤ったアドレスのデータが読み出されることになる。
【０００６】
また、画像処理を行う信号処理回路によって、１番目の画素を示すデータが、データバス上のＭＳＢ（Most Significant Bit）であるか、ＬＳＢ（Least Significant Bit）であるかが異なっている場合がある。これにより、データバスを介して、画素を示すデータの読み出す順序が入れ替わり、結果的に誤ったデータを処理してしまうという問題があった。
【０００７】
さらに、データバス上で画像データの整合をそれぞれの信号処理回路ごとに行うために、ソフトウェアによってデータの並びを変更する方法がある。しかし、データバスを介したデータ送受信の度にデータ処理を要し、複写機全体の処理時間が増大してしまうという問題がある。
【０００８】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、データ配列の方法が異なる信号処理回路が混在する場合でも、ハードウェアで整合をとることにより、画像処理などの機能を拡張し易いシステムを提供することができるデータ処理方法および画像処理装置を提供することにある。
【０００９】
【課題を解決するための手段】
本発明は、このような目的を達成するために、請求項１に記載の発明は、画像処理を行う第１画像処理手段と、該第１画像処理手段とデータ配列の方式が異なる第２画像処理手段と、画像データを記憶する記憶手段と、画像データのデータ配列を変換する変換手段であってデータ配列が変換された画像データをＤＭＡ転送するＤＭＡ転送機能を備える変換手段と、前記第１画像処理手段で画像処理する画像データのＤＭＡ転送を制御する第１ＤＭＡコントローラと、前記第２画像処理手段で画像処理する画像データのＤＭＡ転送を制御する第２ＤＭＡコントローラとを備えた画像処理装置におけるデータ処理方法において、設定手段が、前記第１画像処理手段で画像処理された画像データを前記記憶手段にＤＭＡ転送させるためのアドレスを前記第１ＤＭＡコントローラに設定する第１設定ステップと、前記設定手段が、前記第２画像処理手段で画像処理された画像データを前記変換手段にＤＭＡ転送させるためのアドレスを前記第２ＤＭＡコントローラに設定する第２設定ステップと、前記設定手段が、前記変換手段によりデータ配列が変換された画像データを前記記憶手段にＤＭＡ転送させるためのアドレスを前記変換手段に設定する第３設定ステップと、前記第１画像処理手段が、画像データに対する画像処理を実行する第１画像処理ステップと、該第１画像処理ステップで画像処理された画像データを、前記第１設定ステップにより設定されたアドレスに基づいて前記第１画像処理手段から前記記憶手段にＤＭＡ転送する第１転送ステップと、前記第２画像処理手段が、画像データに対する画像処理を実行する第２画像処理ステップと、該第２画像処理ステップで画像処理された画像データを、前記第２設定ステップにより設定されたアドレスに基づいて前記第２画像処理手段から前記変換手段にＤＭＡ転送する第２転送ステップと、前記変換手段が、該第２転送ステップでＤＭＡ転送された画像データに対するデータ配列の変換を実行する変換ステップと、前記変換手段が、前記設定手段により設定されたアドレスに基づいて前記変換ステップにて前記データ配列が変換された画像データを前記変換手段から前記記憶手段にＤＭＡ転送する第３転送ステップと、を備えることを特徴とする。
【００１０】
請求項２に記載の発明は、画像処理を行う第１画像処理手段と、画像処理を行う第２画像処理手段であって、前記第１画像処理手段とデータ配列の方式が異なる第２の画像処理手段と、画像データを記憶する記憶手段と、画像データのデータ配列を変換する変換手段であって、データ配列が変換された画像データをＤＭＡ転送するＤＭＡ転送機能を備える変換手段と、前記第１画像処理手段で画像処理する画像データのＤＭＡ転送を制御する第１ＤＭＡコントローラと、前記第２画像処理手段で画像処理する画像データのＤＭＡ転送を制御する第２ＤＭＡコントローラと、前記第１画像処理手段で画像処理された画像データを前記記憶手段にＤＭＡ転送させるためのアドレスを前記第１ＤＭＡコントローラに設定し、前記第２画像処理手段で画像処理された画像データを前記変換手段にＤＭＡ転送させるためのアドレスを前記第２ＤＭＡコントローラに設定し、前記変換手段によりデータ配列が変換された画像データを前記記憶手段にＤＭＡ転送させるためのアドレスを前記変換手段に設定する設定手段とを有し、前記第１ＤＭＡコントローラは、前記設定手段により設定されたアドレスに基づいて前記第１画像処理手段で画像処理された画像データを前記第１画像処理手段から前記記憶手段にＤＭＡ転送するよう制御し、前記第２ＤＭＡコントローラは、前記設定手段により設定されたアドレスに基づいて前記第２画像処理手段で画像処理された画像データを前記第２画像処理手段から前記変換手段にＤＭＡ転送するよう制御し、前記変換手段は、前記設定手段により設定されたアドレスに基づいて前記変換手段により前記データ配列が変換された画像データを前記変換手段から前記記憶手段にＤＭＡ転送するように制御することを特徴とする。
【００１１】
請求項３に記載の発明は、請求項２において、前記変換手段と前記第１ＤＭＡコントローラと前記第２ＤＭＡコントローラとが接続された第１バスと、前記記憶手段と前記設定手段とが接続された第２バスと、前記第１バスと前記第２バスとを接続して相互にデータを転送するための接続手段とを備えたことを特徴とする。
【００１９】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。
【００２０】
［第１の実施例］
図１は、本発明にかかる画像処理装置の全体構成の一例を示すブロック図である。画像処理装置全体の制御を行うＣＰＵ１０１と、プログラム作業領域を提供するＲＡＭ（Random Access Memory）１０２と、プログラムが格納されたＲＯＭ（Read Only Memory）１０３とがＣＰＵバス１１９に接続されている。また、信号処理手段として、プリンタ１０６に接続されたプリンタＩ／Ｆ１０５と、スキャナ１０８に接続されたスキャナＩ／Ｆ１０７と、ＩＤＥ（Integrated Device Electronics）方式のＨＤＤ１１０に接続されたＩＤＥ−Ｉ／Ｆ１０９と、圧縮伸張回路１１３と第１ＤＭＡＣ（Direct Memory Access Controller）１１２を含む圧縮伸張ブロック１１１と、解像度変換回路１１６と第２ＤＭＡＣ１１５を含む解像度変換ブロック１１４とが内部バス１２０に接続されている。ＣＰＵバス１１９と内部バス１２０は、相互接続手段であるブリッジ回路１０４によって接続され、データの割付を変換する変換手段である変換回路１２１が内部バス１２０に接続されている。
【００２１】
このような構成により、ＣＰＵ１０１は、ＲＯＭ１０３に格納されたプログラムによって起動され、ＨＤＤ１１０内部に格納されているプログラムを順次読み込むことで、画像形成装置内部の制御を行う。ＣＰＵ１０１は、必要なデータをＲＡＭ１０２に一時的に記憶し、演算処理を行う。また、画像データもＲＡＭ１０２に一時的に記憶される。
【００２２】
ブリッジ回路１０４は、ＣＰＵ１０１が接続されたＣＰＵバス１１９と、Ｉ／Ｏブロックが接続された内部バス１２０とを切り離すために用いられる。例えば、プリンタＩ／Ｆ１０５と第２ＤＭＡＣ１１５との間で、内部バス１２０を介して画像データを転送している間に、ＣＰＵ１０１は、ＣＰＵバス１１９上でＲＡＭ１０２に対して、演算処理のためのＲ／Ｗ動作を行うこと可能とする。
【００２３】
プリンタＩ／Ｆ１０５は、ＲＡＭ１０２に格納されている画像データを取り出し、プリンタ１０６へ転送するためのＤＭＡＣ機能を含む。プリンタ１０６は、現在バブルジェットや電子写真方式など複数種類のものが製造されているが、プリンタＩ／Ｆ１０５を改良することにより、他のＣＰＵ１０１やＲＡＭ１０２などの他の部分はそのまま使用することができる。
【００２４】
スキャナＩ／Ｆ１０７は、スキャナ１０８から受け取った画像データをＲＡＭ１０２へ転送するためのＤＭＡＣ機能を含む。仮に、スキャナの動作周波数が異なるものが接続された場合であっても、スキャナＩ／Ｆ１０７の内部に、同期用のＦＩＦＯを搭載することにより、他のＣＰＵ１０１やＲＡＭ１０２などの他の部分はそのまま使用することができる。
【００２５】
ＩＤＥ−Ｉ／Ｆ１０９は、ＨＤＤ１１０を接続するためのインタフェース回路である。ＣＰＵ１０１が、ＨＤＤ１１０に対するＲ／Ｗ動作を行った場合には、ＨＤＤ１１０からデータを読み出しまたはデータを書き込み、ＣＰＵ１０１へ応答する。また、ＣＰＵ１０１を介さず、直接ＨＤＤ１１０とＲＡＭ１０２の間でデータを送受信することも可能である。ＨＤＤ１１０には、ＣＰＵ１０１が制御動作をする上で必要なプログラムが格納されており、また画像データなどの情報を記憶するためにも用いられる。
【００２６】
圧縮伸張ブロック１１１は、画像データの圧縮、伸張を行う機能ブロックである。第１ＤＭＡＣ１１２は、ＲＡＭ１０２内部に格納されている画像データを取り出し、圧縮伸張回路１１３へ転送する。圧縮伸張回路１１３で圧縮または伸張し終わった画像データは、第１ＤＭＡＣ１１２によって再び、ＲＡＭ１０２へ格納される。
【００２７】
解像度変換ブロック１１４は、画像データの解像度を変換する機能ブロックである。第２ＤＭＡＣ１１５は、ＲＡＭ１０２内部に格納されている画像データを取り出し、解像度変換回路１１６へ転送する。解像度変換回路１１６で、解像度を変換し終わった画像データは、第２ＤＭＡＣ１１５によって再び、ＲＡＭ１０２へ格納される。
【００２８】
ネットワークＩ／Ｆ１１７は、例えばEthernetのプロトコルに対応し、ネットワーク上に接続されているホストコンピュータ１１８からのパケットデータを受信し、ホストコンピュータ１１８が送信してきたデータを取り出して、やはり内蔵されているＤＭＡＣを使用して、貯えたデータをＲＡＭ１０２へ転送するためのものである。一時貯えられたデータは、ＣＰＵ２０１から直接読みだすことも、他のＩ／Ｏブロックから読み出すことも可能である。またＣＰＵ１０１からの書き込み動作に応答して、ネットワーク上の任意のホストコンピュータ１１８にパケットデータを送信することも可能である。
【００２９】
変換回路１２１は、データバス上のデータの割付を変換する。第１ＤＭＡＣ１１２と、第２ＤＭＡＣ１１５と、ＩＤＥ−Ｉ／Ｆ１０９と、スキャナＩ／Ｆ１０７と、プリンタＩ／Ｆ１０５とから書き込まれたデータに対して、データの割付を変換する。変換されたデータは、予め設定されたアドレスに対して書き込まれる。また、第１ＤＭＡＣ１１２と、第２ＤＭＡＣ１１５と、ＩＤＥ−Ｉ／Ｆ１０９と、スキャナＩ／Ｆ１０７と、プリンタＩ／Ｆ１０５とからデータが読み出された場合には、予め設定されたアドレスからデータを読み出し、データの割付を変換した上で、第１ＤＭＡＣ１１２、第２ＤＭＡＣ１１５、ＩＤＥ−Ｉ／Ｆ１０９、スキャナＩ／Ｆ１０７、またはプリンタＩ／Ｆ１０５に返すことが可能である。
【００３０】
図２は、本発明にかかるデータ転送方法の一例を示したフローチャートである。ＣＰＵ１０１がLittle Endianであり、内部バス１２０に接続された圧縮伸張回路ブロック１１１もLittle EndianのＣＰＵ用に設計されたものであると仮定する。この場合、ＣＰＵ１０１がＲＡＭ１０２に書き込んだデータを圧縮伸張回路ブロック１１１が読み出したり、逆に圧縮伸張回路ブロック１１１がＲＡＭ１０２に書き込んだデータをＣＰＵ１０１が読み出したとしても、図１のＣＰＵバス１１９および内部バス１２０は、Little Endianであり、データ配列の変換を行う必要がない。従って、圧縮伸張回路ブロック１１１の第１ＤＭＡＣ１１２を使用して、ＲＡＭ１０２からデータを読み出す場合には、ＣＰＵ１０１は、第１ＤＭＡＣ１１２に対して、圧縮伸張回路ブロック１１１で圧縮伸張処理を行う元の画像データが格納されており、ブリッジ回路１０４を介してアクセスできるＲＡＭ１０２のアドレス設定を行う（Ｓ２０１）。次に圧縮伸張回路ブロック１１１で圧縮伸張処理を施した画像データを、再びＲＡＭ１０２に格納するための、ブリッジ回路１０４を介してアクセス可能なアドレスを設定する（Ｓ２０２）。
【００３１】
次に、ＣＰＵ１０１は、圧縮伸張ブロック１１１の第１ＤＭＡＣ１１２に転送するデータの長さを設定し（Ｓ２０３）、第１ＤＭＡＣ１１２にＤＭＡ開始の起動をかける（Ｓ２０４）。起動がかけられた第１ＤＭＡＣ１１２は、ブリッジ回路１０４を介して、データをＲＡＭ１０２へ書き込み、またはＲＡＭ１０２からデータを読み出す。この動作をＣＰＵ１０１が予め第１ＤＭＡＣ１１２に指定した転送長分だけ転送し、転送が終了した時点で、第１ＤＭＡＣ１１２は、ＣＰＵ１０１に対して割り込みを出力する（Ｓ２０５）。第１ＤＭＡＣ１１２からの割り込みを受信したＣＰＵ１０１は、データ転送の動作を終了する。データ転送の方向に関して、ＣＰＵ１０１が圧縮伸張ブロック１１１の第１ＤＭＡＣ１１２に予め設定しておくことにより制御される。
【００３２】
図３は、内部バス上のアドレス割付の一例を示す図である。ＲＡＭ１０２のメモリ容量が２５６Ｂｙｔｅであり、内部バス１２０でのアドレスバスが３２ｂｉｔである場合ついて説明する。４Ｇｂｙｔｅのアドレス空間のうち、００００＿００００ｈから０ＦＦＦ＿ＦＦＦＦｈの空間が、内部バス１２０からＲＡＭ１０２へデータ書き込み、またはＲＡＭ１０２からデータを読み出しするために割り当てられたアドレス空間とする。ＣＰＵ１０１は、０００＿００００ｈから０ＦＦＦ＿ＦＦＦＦｈまでの値を、圧縮伸張回路ブロック１１１の第１ＤＭＡＣ１１２に設定する。
【００３３】
ＣＰＵがLittle Endianであり、内部バス１２０に接続された解像度変換回路ブロック１１４がBig EndianのＣＰＵ用に設計されたものであると仮定する。解像度変換ブロック１１４内部の第２ＤＭＡＣ１１５を使用して、解像度変換回路１１６に１次記憶されている解像度変換を行ったデータを、ＲＡＭ１０２へ転送する場合について説明する。この場合には、変換回路１２１を使用してデータ配列の変換を行う。本実施例においては、データ配列の変換の考え方は、一例として、アクセスの種類により変換方法を変えることとした。
【００３４】
図４は、バイト・アクセス時におけるデータ配列の変換を説明するための概略図である。変換回路１２１において、Byte Laneを逆に変換することにより、データ配列の変換を行う。例えば、Big Endian系の第２ＤＭＡＣ１１５が、ＲＡＭ１０２の０番地にＡＡｈを書き込んだ場合、Byte Laneが変換されて、Little Endian系の０番地にＡＡｈが書き込まれることになる。
【００３５】
図５は、ハーフワード・アクセス時におけるデータ配列の変換を説明するための概略図である。ハーフワード・アクセス（１６ｂｉｔアクセス）が発生した場合は、変換回路１２１において、１６ｂｉｔ単位でデータ配列を変換する。例えば、Big Endian系の第２ＤＭＡＣ１１５が、ＲＡＭ１０２の０番地にＡＡＢＢｈを書き込んだ場合、データ配列が変換されて、Little Endian系の０番地にＡＡＢＢｈが書き込まれ、ソフトウェアからみて整合がとれていることになる。
【００３６】
図６は、ワード・アクセス時におけるデータ配列の変換を説明するための概略図である。ワード・アクセス（３２ｂｉｔアクセス）が発生した場合は、データ配列の変換動作は行わず、そのままデータを出力する。例えば、Big Endian系の第２ＤＭＡＣ・１１５が、ＲＡＭ１０２の０番地にＡＡＢＢＣＣＤＤｈを書き込んだ場合、Little Endian系のやはり０番地にＡＡＢＢＣＣＤＤｈが書き込まれることになり、ソフトウェアからみて整合がとれていることになる。
【００３７】
［第２の実施例］
図７は、オフセット・アドレスを使用した、本発明にかかるデータ転送方法の一例を示したフローチャートである。解像度変換ブロック１１４からＲＡＭ１０２にデータを転送する場合について説明する。ＣＰＵ１０１は、変換回路１２１に対してオフセット・アドレスを設定し（Ｓ７０１）、第２ＤＭＡＣ１１５に対してデータを転送する先のアドレスを指定する（Ｓ７０２）。このとき、第２ＤＭＡＣ１１５は、変換回路１２１へデータを転送するように設定が行われる。ＣＰＵ１０１は、第２ＤＭＡＣ１１５に対して、データの長さを設定した後（Ｓ７０３）、第２ＤＭＡＣ１１５にＤＭＡ開始の起動をかける（Ｓ７０４）。起動がかけられた第２ＤＭＡＣ１１５は、解像度変換回路１１６からデータを引き抜き、ＣＰＵ１０１に指定された通りに変換回路１２１に対してデータを転送する。この動作をＣＰＵ１０１が予め第２ＤＭＡＣ１１５に指定した転送長分だけ転送し、転送が終了した時点で、第２ＤＭＡＣ１１５は、ＣＰＵ１０１に対して割り込みを出力する（Ｓ７０５）。割り込み信号を受信したＣＰＵ１０１は、データ転送動作を終了する。
【００３８】
図８は、本発明にかかる変換回路の一例を示したブロック図である。変換回路１２１に割り当てられたアドレスを記憶するアドレスラッチ部８０２と、オフセット・アドレスを記憶するオフセットアドレスレジスタ８０３と、アドレスラッチ部８０２とオフセットアドレスレジスタ８０３の出力からアドレスを生成するアドレス生成ブロック８０４とが内部バス１２０に接続されている。また、データ配列を変換するデータ転換部８０５と、変換されたデータを一時的に保持するＦＩＦＯ８０１とがデータバスに接続されている。
【００３９】
このような構成により、ＣＰＵ１０１からオフセット・アドレスを設定された変換回路１２１は、オフセットアドレスレジスタ８０３にその値を記憶する。変換回路１２１が第２ＤＭＡＣ１１５などの他のデバイスから、データを転送された場合に、変換回路１２１に割り当てられた内部バス１２０におけるアドレス３２ｂｉｔをアドレスラッチ部８０２に一時的に記憶する。アドレス生成ブロック８０４は、アドレスラッチ部８０２に記憶されたアドレスの下位２８ｂｉｔと、オフセットアドレスレジスタ８０３に記憶されたオフセット・アドレス４ｂｉｔを、アドレスの上位４ｂｉｔとして連結し、３２ｂｉｔのアドレスを生成する。
【００４０】
例えば、図３に示した内部バス１２０上のアドレス割付で、変換回路１２１が、２０００＿００００ｈから２ＦＦＦ＿ＦＦＦＦｈに割り当てられていたとする。ＣＰＵ１０１が、オフセットアドレスレジスタ８０３に０ｈを書き込んでおいた場合に、第２ＤＭＡＣ１１５が２０００＿００００ｈへデータの書き込みを行うと、変換回路１２１のアドレス生成ブロック８０４は、００００＿００００ｈを生成する。このようにして、変換回路１２１は、ＲＡＭ１０２の先頭アドレスへデータを転送することができる。
【００４１】
変換回路１２１は、第２ＤＭＡＣ１１５から転送されたデータを、データ変換部８０５にてデータ配列を変換し、変換されたデータをＦＩＦＯ８０１に一時的に保持する。データ変換部８０５では、図４、図５、図６に示したデータ配列の変換を行い、ＦＩＦＯ８０１へデータを送出する。第２ＤＭＡＣ１１５からのデータ転送が終了すると、変換回路１２１は、内部バス１２０のバスマスタとして動作を開始する。変換回路１２１は、アドレス生成ブロック８０４で生成されたアドレスを内部バス１２０のアドレスバスに出力し、データバスにはＦＩＦＯ８０１に保持されたデータを送出する。上述したように、アドレスは、ブリッジ回路１０４を介して割り当てられたＲＡＭ１０２のアドレス空間を示しており、ＲＡＭ１０２へ第２ＤＭＡＣ１１５から転送されたデータを、転送することができる。
【００４２】
以上説明したように、Big Endian系で設計された回路と、Little Endian系で設計された回路が混在したシステムであっても、ＣＰＵと画像処理などを行う回路回路が同じデータ配列である場合はそのままデータ転送を行い、ＣＰＵと画像処理などを行う回路回路が異なるデータ配列である場合は、変換回路１２１をバス上に挿入することにより、ハードウェアでデータ配列の変換を行い、ソフトウェアからみてデータ配列の整合をはかることが可能である。
【００４３】
［第３の実施例］
図９は、本発明にかかるＤＭＡ機能を搭載した変換回路の一例を示したブロック図である。変換回路１２１内部にＤＭＡ機能を搭載することにより、変換回路１２１のみが内部バス１２０上のバスマスタとなってデータを転送することができる。変換回路内部の各機能を制御する制御部９０１が、データの転送元のアドレスを保持する第１アドレス生成部９０２とデータの転送先のアドレスを保持する第２アドレス生成部９０３に接続されている。第１アドレス生成部９０２と第２アドレス生成部９０３からのアドレスを選択するマルチプレクサ９０４が、内部バス１２０に接続され、データ配列を変換するデータ転換部９０７と、変換されたデータを一時的に保持するＦＩＦＯ９０６とがデータバスに接続されている。また、データの転送長を保持する転送長カウンタ９０５が、制御部９０１に接続されている。
【００４４】
このような構成により、第１アドレス生成部９０２は、予めＣＰＵ１０１から設定されたデータの転送元のアドレスを保持し、転送が行われるたびにアドレスをインクリメントして、次のデータ転送元のアドレスを生成する。アドレス生成部２（９０３）は、予めＣＰＵ１０１から設定されたデータの転送先のアドレスを保持し、転送が行われるたびにアドレスをインクリメントして、次のデータ転送先のアドレスを生成する。マルチプレクサ９０４は、制御部９０１によって制御され、データを転送元から読み出す場合には、第１アドレス生成部９０２で生成されたアドレスを内部バス１２０へ出力する。読み出したデータを転送先に書き込む場合には、マルチプレクサ９０４は、第２アドレス生成部９０３で生成されたアドレスを内部バス１２０へ出力する。
【００４５】
転送長カウンタ９０５は、予めＣＰＵ１０１から設定されたデータの転送長を保持し、データ転送が行われるたびに設定された値をデクリメントし、カウント値が０になった時点で制御部９０１へ通知を行う。この転送長カウンタ９０５からの通知をうけて、制御部９０１はＣＰＵ１０１に対して割り込み信号を出力し、データの転送が終了したことを通知する。
【００４６】
データ変換部９０７は、データ転送元から読み込んだデータ配列を変換するものであり、図４、図５、図６に示したデータ配列の変換を行い、ＦＩＦＯ９０６へデータを送出する。ＦＩＦＯ９０６は、データの転送元から読み込んだデータを保持し、次にデータの転送先へ保持したデータを出力するものである。また、制御部９０１からの設定により、データ配列の変換を行わないようにすることも可能である。
【００４７】
図１０は、ＤＭＡ機能を使用した、本発明にかかるデータ転送方法の一例を示したフローチャートである。解像度変換ブロック１１４の解像度変換回路１１６から、ＲＡＭ１０２へデータを転送する場合について説明する。ＣＰＵ１０１は、変換回路１２１の第１アドレス生成部９０２に、転送元のアドレスを設定し（Ｓ１００１）、第２アドレス生成部９０３にデータの転送先のアドレスを設定する（Ｓ１００２）。次に、ＣＰＵ１０１は、転送長カウンタ９０７に転送を行うデータの長さを設定（Ｓ１００３）し、制御部９０１にデータ転送開始の起動をかける（Ｓ１００４）。起動がかけられた制御部９０１は、マルチプレクサ９０４を制御して、第１アドレス生成部９０２で生成されたデータの転送元のアドレスを内部バス１２０上へ出力し、データ転送元からデータを受信する。この動作を第１アドレス生成部９０２および第２アドレス生成部９０３で生成されるアドレスをインクリメントしながら、予めＣＰＵ１０１が設定した転送長分繰り返す。ＣＰＵ１０１は、転送が終了したとこを示す割り込み信号が出力されるまで待機し（Ｓ１００５）、制御部９０１が転送終了割り込みを出力した時点でデータ転送動作を終了する。
【００４８】
例えば、図３に示した内部バス１２０上のアドレス割付で、解像度変換回路１１６が割り当てられている３０００＿００００ｈからデータを読み込むことにより、解像度変換回路１１６から解像度変換されたデータを読み出す。この読み出されたデータは、データ転換部によりデータ配列が変換され、ＦＩＦＯ９０６内部に蓄えられる。制御部９０１は、マルチプレクサ９０４を制御して、アドレス生成部２・９０３によって生成されたデータ転送先のアドレスを、内部バス１２０上へ出力し、ＦＩＦＯ９０６に蓄えられたデータ配列が変換されたデータを内部バス１２０上へ出力する。このとき、内部バス上へ出力されたアドレスは、ＲＡＭ１０２のアドレス空間を示す００００＿００００ｈから０ＦＦＦ＿ＦＦＦＦｈまでの値であり、これによりデータ配列が変換されたデータがブリッジ回路１０４を介してＲＡＭ１０２へ書き込まれる。
【００４９】
以上説明したように、Big EndianのＣＰＵ用に設計された信号処理回路と、Little EndianのＣＰＵ用に設計された信号処理回路とが、画像処理装置のバスにそれぞれ接続されたとしても、変換回路１２１のＤＭＡ機能を使用してデータの転送を行い、データ転送の途中でデータ配列を変換することにより、ハードウェアでデータ配列の変換を行い、ソフトウェアからみてデータ配列の整合をはかることが可能である。
【００５０】
なお、本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００５１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体と、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００５２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５３】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードに指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５４】
【発明の効果】
本発明によれば、画像処理を行う第１画像処理手段と、第１画像処理手段とデータ配列の方式が異なる第２の画像処理手段とを備える画像形成装置において、第１画像処理手段で画像処理された画像データの第１画像処理手段から記憶手段へのＤＭＡ転送と、第２画像処理手段で画像処理された画像データの第２画像処理手段から変換手段へのＤＭＡ転送と、変換手段でデータ配列が変換された画像データの変換手段から記憶手段へのＤＭＡ転送を適切に制御することができる。
【図面の簡単な説明】
【図１】本発明にかかる画像処理装置の全体構成の一例を示すブロック図である。
【図２】本発明にかかるデータ転送方法の一例を示したフローチャートである。
【図３】内部バス上のアドレス割付の一例を示す図である。
【図４】バイト・アクセス時におけるデータ配列の変換を説明するための概略図である。
【図５】ハーフワード・アクセス時におけるデータ配列の変換を説明するための概略図である。
【図６】ワード・アクセス時におけるデータ配列の変換を説明するための概略図である。
【図７】オフセット・アドレスを使用した、本発明にかかるデータ転送方法の一例を示したフローチャートである。
【図８】本発明にかかる変換回路の一例を示したブロック図である。
【図９】本発明にかかるＤＭＡ機能を搭載した変換回路の一例を示したブロック図である。
【図１０】ＤＭＡ機能を使用した、本発明にかかるデータ転送方法の一例を示したフローチャートである。
【符号の説明】
１０１    ＣＰＵ
１０２    ＲＡＭ
１０３    ＲＯＭ
１０４    ブリッジ回路
１０５    プリンタＩ／Ｆ
１０６    プリンタ
１０７    スキャナＩ／Ｆ
１０８    スキャナ
１０９    ＩＤＥ−Ｉ／Ｆ
１１０    ＨＤＤ
１１１    圧縮伸張ブロック
１１２    ＤＭＡＣ１
１１３    圧縮伸張回路
１１４    解像度変換ブロック
１１５    第２ＤＭＡＣ
１１６    解像度変換回路
１１９    ＣＰＵバス
１２０    内部バス
１２１    変換回路
８０１，９０６    ＦＩＦＯ
８０２    アドレスラッチ部
８０３    オフセットアドレスレジスタ
８０４    アドレス生成ブロック
８０５，９０７    データ転換部
９０１    制御部
９０２    アドレス生成部１
９０３    アドレス生成部２
９０４    マルチプレクサ
９０５    転送長カウンタ
【図１】
0004514173.tif 000002
【図２】
0004514173.tif 000003
【図３】
0004514173.tif 000004
【図４】
0004514173.tif 000005
【図５】
0004514173.tif 000006
【図６】
0004514173.tif 000007
【図７】
0004514173.tif 000008
【図８】
0004514173.tif 000009
【図９】
0004514173.tif 000010
【図１０】
0004514173.tif 000011