JP4514173B2 - Data processing method and image processing apparatus - Google Patents

Data processing method and image processing apparatus Download PDF

Info

Publication number
JP4514173B2
JP4514173B2 JP2000314377A JP2000314377A JP4514173B2 JP 4514173 B2 JP4514173 B2 JP 4514173B2 JP 2000314377 A JP2000314377 A JP 2000314377A JP 2000314377 A JP2000314377 A JP 2000314377A JP 4514173 B2 JP4514173 B2 JP 4514173B2
Authority
JP
Japan
Prior art keywords
data
image processing
image
dma
address
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.)
Expired - Fee Related
Application number
JP2000314377A
Other languages
Japanese (ja)
Other versions
JP2002123826A (en
JP2002123826A5 (en
Inventor
昌孝 保田
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 JP2000314377A priority Critical patent/JP4514173B2/en
Publication of JP2002123826A publication Critical patent/JP2002123826A/en
Publication of JP2002123826A5 publication Critical patent/JP2002123826A5/ja
Application granted granted Critical
Publication of JP4514173B2 publication Critical patent/JP4514173B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、データ処理方法および画像処理装置に関し、より詳細には、データ配列の方法が異なる信号処理回路が混在する場合に、データ転送の整合をはかるデータ処理方法および画像処理装置に関する。
【0002】
【従来の技術】
各種のデータを保持するホストコンピュータなどから、ビットマップやページ記述言語で記述された画像を、ネットワークを介して受信し、紙などの記録媒体上に画像として記録するための画像形成装置が知られている。
【0003】
画像形成装置である複写機には、デジタル化された画像を扱うことができ、デジタル信号である画像データに対して、解像度変換や圧縮伸張を行うことが可能なものがある。また、画像データは、HDD(Hard Disk Drive)などの不揮発性記録媒体に記録される。これら解像度変換回路、圧縮伸張回路、またはHDDなどを接続するためのインターフェース部分は、あらかじめ定められている。
【0004】
複写機を構成する際に、いくつかの機能ブロックに分割し、統一されたインタフェースを使用することが行われている。これにより、1つの機能ブロックを他の機種でも使用することができ、また、機能ブロックを機種ごとに設定することによって、開発費の増加を防ぎ、開発日程を短縮することが行われつつある。
【0005】
【発明が解決しようとする課題】
しかしながら、画像処理などを行うCPUには、Big EndianとLittle Endianの2種類があり、両者は、データバス上のアドレスの割付が異なっている。これに伴って、Little EndianのCPU用に設計された機能ブロックと、Big EndianのCPU用に設計された機能ブロックとが存在する。Little EndianのCPU用に設計された画像処理を行う信号処理回路と、Big EndianのCPU用に設計された画像処理を行う信号処理回路が混在して使用された場合、ソフトウェアでCPUを介してアクセスしようとしたアドレスと、信号処理回路が割り当てられたアドレスとに不一致が発生するという問題があった。その結果、誤ったアドレスにデータが書き込まれたり、また、誤ったアドレスのデータが読み出されることになる。
【0006】
また、画像処理を行う信号処理回路によって、1番目の画素を示すデータが、データバス上のMSB(Most Significant Bit)であるか、LSB(Least Significant Bit)であるかが異なっている場合がある。これにより、データバスを介して、画素を示すデータの読み出す順序が入れ替わり、結果的に誤ったデータを処理してしまうという問題があった。
【0007】
さらに、データバス上で画像データの整合をそれぞれの信号処理回路ごとに行うために、ソフトウェアによってデータの並びを変更する方法がある。しかし、データバスを介したデータ送受信の度にデータ処理を要し、複写機全体の処理時間が増大してしまうという問題がある。
【0008】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、データ配列の方法が異なる信号処理回路が混在する場合でも、ハードウェアで整合をとることにより、画像処理などの機能を拡張し易いシステムを提供することができるデータ処理方法および画像処理装置を提供することにある。
【0009】
【課題を解決するための手段】
本発明は、このような目的を達成するために、請求項1に記載の発明は、画像処理を行う第1画像処理手段と、該第1画像処理手段とデータ配列の方式が異なる第2画像処理手段と、画像データを記憶する記憶手段と、画像データのデータ配列を変換する変換手段であってデータ配列が変換された画像データをDMA転送するDMA転送機能を備える変換手段と、前記第1画像処理手段で画像処理する画像データのDMA転送を制御する第1DMAコントローラと、前記第2画像処理手段で画像処理する画像データのDMA転送を制御する第2DMAコントローラとを備えた画像処理装置におけるデータ処理方法において、設定手段が、前記第1画像処理手段で画像処理された画像データを前記記憶手段にDMA転送させるためのアドレスを前記第1DMAコントローラに設定する第1設定ステップと、前記設定手段が、前記第2画像処理手段で画像処理された画像データを前記変換手段にDMA転送させるためのアドレスを前記第2DMAコントローラに設定する第2設定ステップと、前記設定手段が、前記変換手段によりデータ配列が変換された画像データを前記記憶手段にDMA転送させるためのアドレスを前記変換手段に設定する第3設定ステップと、前記第1画像処理手段が、画像データに対する画像処理を実行する第1画像処理ステップと、該第1画像処理ステップで画像処理された画像データを、前記第1設定ステップにより設定されたアドレスに基づいて前記第1画像処理手段から前記記憶手段にDMA転送する第1転送ステップと、前記第2画像処理手段が、画像データに対する画像処理を実行する第2画像処理ステップと、該第2画像処理ステップで画像処理された画像データを、前記第2設定ステップにより設定されたアドレスに基づいて前記第2画像処理手段から前記変換手段にDMA転送する第2転送ステップと、前記変換手段が、該第2転送ステップでDMA転送された画像データに対するデータ配列の変換を実行する変換ステップと、前記変換手段が、前記設定手段により設定されたアドレスに基づいて前記変換ステップにて前記データ配列が変換された画像データを前記変換手段から前記記憶手段にDMA転送する第3転送ステップと、を備えることを特徴とする。
【0010】
請求項2に記載の発明は、画像処理を行う第1画像処理手段と、画像処理を行う第2画像処理手段であって、前記第1画像処理手段とデータ配列の方式が異なる第2の画像処理手段と、画像データを記憶する記憶手段と、画像データのデータ配列を変換する変換手段であって、データ配列が変換された画像データをDMA転送するDMA転送機能を備える変換手段と、前記第1画像処理手段で画像処理する画像データのDMA転送を制御する第1DMAコントローラと、前記第2画像処理手段で画像処理する画像データのDMA転送を制御する第2DMAコントローラと、前記第1画像処理手段で画像処理された画像データを前記記憶手段にDMA転送させるためのアドレスを前記第1DMAコントローラに設定し、前記第2画像処理手段で画像処理された画像データを前記変換手段にDMA転送させるためのアドレスを前記第2DMAコントローラに設定し、前記変換手段によりデータ配列が変換された画像データを前記記憶手段にDMA転送させるためのアドレスを前記変換手段に設定する設定手段とを有し、前記第1DMAコントローラは、前記設定手段により設定されたアドレスに基づいて前記第1画像処理手段で画像処理された画像データを前記第1画像処理手段から前記記憶手段にDMA転送するよう制御し、前記第2DMAコントローラは、前記設定手段により設定されたアドレスに基づいて前記第2画像処理手段で画像処理された画像データを前記第2画像処理手段から前記変換手段にDMA転送するよう制御し、前記変換手段は、前記設定手段により設定されたアドレスに基づいて前記変換手段により前記データ配列が変換された画像データを前記変換手段から前記記憶手段にDMA転送するように制御することを特徴とする。
【0011】
請求項3に記載の発明は、請求項2において、前記変換手段と前記第1DMAコントローラと前記第2DMAコントローラとが接続された第1バスと、前記記憶手段と前記設定手段とが接続された第2バスと、前記第1バスと前記第2バスとを接続して相互にデータを転送するための接続手段とを備えたことを特徴とする。
【0019】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。
【0020】
[第1の実施例]
図1は、本発明にかかる画像処理装置の全体構成の一例を示すブロック図である。画像処理装置全体の制御を行うCPU101と、プログラム作業領域を提供するRAM(Random Access Memory)102と、プログラムが格納されたROM(Read Only Memory)103とがCPUバス119に接続されている。また、信号処理手段として、プリンタ106に接続されたプリンタI/F105と、スキャナ108に接続されたスキャナI/F107と、IDE(Integrated Device Electronics)方式のHDD110に接続されたIDE−I/F109と、圧縮伸張回路113と第1DMAC(Direct Memory Access Controller)112を含む圧縮伸張ブロック111と、解像度変換回路116と第2DMAC115を含む解像度変換ブロック114とが内部バス120に接続されている。CPUバス119と内部バス120は、相互接続手段であるブリッジ回路104によって接続され、データの割付を変換する変換手段である変換回路121が内部バス120に接続されている。
【0021】
このような構成により、CPU101は、ROM103に格納されたプログラムによって起動され、HDD110内部に格納されているプログラムを順次読み込むことで、画像形成装置内部の制御を行う。CPU101は、必要なデータをRAM102に一時的に記憶し、演算処理を行う。また、画像データもRAM102に一時的に記憶される。
【0022】
ブリッジ回路104は、CPU101が接続されたCPUバス119と、I/Oブロックが接続された内部バス120とを切り離すために用いられる。例えば、プリンタI/F105と第2DMAC115との間で、内部バス120を介して画像データを転送している間に、CPU101は、CPUバス119上でRAM102に対して、演算処理のためのR/W動作を行うこと可能とする。
【0023】
プリンタI/F105は、RAM102に格納されている画像データを取り出し、プリンタ106へ転送するためのDMAC機能を含む。プリンタ106は、現在バブルジェットや電子写真方式など複数種類のものが製造されているが、プリンタI/F105を改良することにより、他のCPU101やRAM102などの他の部分はそのまま使用することができる。
【0024】
スキャナI/F107は、スキャナ108から受け取った画像データをRAM102へ転送するためのDMAC機能を含む。仮に、スキャナの動作周波数が異なるものが接続された場合であっても、スキャナI/F107の内部に、同期用のFIFOを搭載することにより、他のCPU101やRAM102などの他の部分はそのまま使用することができる。
【0025】
IDE−I/F109は、HDD110を接続するためのインタフェース回路である。CPU101が、HDD110に対するR/W動作を行った場合には、HDD110からデータを読み出しまたはデータを書き込み、CPU101へ応答する。また、CPU101を介さず、直接HDD110とRAM102の間でデータを送受信することも可能である。HDD110には、CPU101が制御動作をする上で必要なプログラムが格納されており、また画像データなどの情報を記憶するためにも用いられる。
【0026】
圧縮伸張ブロック111は、画像データの圧縮、伸張を行う機能ブロックである。第1DMAC112は、RAM102内部に格納されている画像データを取り出し、圧縮伸張回路113へ転送する。圧縮伸張回路113で圧縮または伸張し終わった画像データは、第1DMAC112によって再び、RAM102へ格納される。
【0027】
解像度変換ブロック114は、画像データの解像度を変換する機能ブロックである。第2DMAC115は、RAM102内部に格納されている画像データを取り出し、解像度変換回路116へ転送する。解像度変換回路116で、解像度を変換し終わった画像データは、第2DMAC115によって再び、RAM102へ格納される。
【0028】
ネットワークI/F117は、例えばEthernetのプロトコルに対応し、ネットワーク上に接続されているホストコンピュータ118からのパケットデータを受信し、ホストコンピュータ118が送信してきたデータを取り出して、やはり内蔵されているDMACを使用して、貯えたデータをRAM102へ転送するためのものである。一時貯えられたデータは、CPU201から直接読みだすことも、他のI/Oブロックから読み出すことも可能である。またCPU101からの書き込み動作に応答して、ネットワーク上の任意のホストコンピュータ118にパケットデータを送信することも可能である。
【0029】
変換回路121は、データバス上のデータの割付を変換する。第1DMAC112と、第2DMAC115と、IDE−I/F109と、スキャナI/F107と、プリンタI/F105とから書き込まれたデータに対して、データの割付を変換する。変換されたデータは、予め設定されたアドレスに対して書き込まれる。また、第1DMAC112と、第2DMAC115と、IDE−I/F109と、スキャナI/F107と、プリンタI/F105とからデータが読み出された場合には、予め設定されたアドレスからデータを読み出し、データの割付を変換した上で、第1DMAC112、第2DMAC115、IDE−I/F109、スキャナI/F107、またはプリンタI/F105に返すことが可能である。
【0030】
図2は、本発明にかかるデータ転送方法の一例を示したフローチャートである。CPU101がLittle Endianであり、内部バス120に接続された圧縮伸張回路ブロック111もLittle EndianのCPU用に設計されたものであると仮定する。この場合、CPU101がRAM102に書き込んだデータを圧縮伸張回路ブロック111が読み出したり、逆に圧縮伸張回路ブロック111がRAM102に書き込んだデータをCPU101が読み出したとしても、図1のCPUバス119および内部バス120は、Little Endianであり、データ配列の変換を行う必要がない。従って、圧縮伸張回路ブロック111の第1DMAC112を使用して、RAM102からデータを読み出す場合には、CPU101は、第1DMAC112に対して、圧縮伸張回路ブロック111で圧縮伸張処理を行う元の画像データが格納されており、ブリッジ回路104を介してアクセスできるRAM102のアドレス設定を行う(S201)。次に圧縮伸張回路ブロック111で圧縮伸張処理を施した画像データを、再びRAM102に格納するための、ブリッジ回路104を介してアクセス可能なアドレスを設定する(S202)。
【0031】
次に、CPU101は、圧縮伸張ブロック111の第1DMAC112に転送するデータの長さを設定し(S203)、第1DMAC112にDMA開始の起動をかける(S204)。起動がかけられた第1DMAC112は、ブリッジ回路104を介して、データをRAM102へ書き込み、またはRAM102からデータを読み出す。この動作をCPU101が予め第1DMAC112に指定した転送長分だけ転送し、転送が終了した時点で、第1DMAC112は、CPU101に対して割り込みを出力する(S205)。第1DMAC112からの割り込みを受信したCPU101は、データ転送の動作を終了する。データ転送の方向に関して、CPU101が圧縮伸張ブロック111の第1DMAC112に予め設定しておくことにより制御される。
【0032】
図3は、内部バス上のアドレス割付の一例を示す図である。RAM102のメモリ容量が256Byteであり、内部バス120でのアドレスバスが32bitである場合ついて説明する。4Gbyteのアドレス空間のうち、0000_0000hから0FFF_FFFFhの空間が、内部バス120からRAM102へデータ書き込み、またはRAM102からデータを読み出しするために割り当てられたアドレス空間とする。CPU101は、000_0000hから0FFF_FFFFhまでの値を、圧縮伸張回路ブロック111の第1DMAC112に設定する。
【0033】
CPUがLittle Endianであり、内部バス120に接続された解像度変換回路ブロック114がBig EndianのCPU用に設計されたものであると仮定する。解像度変換ブロック114内部の第2DMAC115を使用して、解像度変換回路116に1次記憶されている解像度変換を行ったデータを、RAM102へ転送する場合について説明する。この場合には、変換回路121を使用してデータ配列の変換を行う。本実施例においては、データ配列の変換の考え方は、一例として、アクセスの種類により変換方法を変えることとした。
【0034】
図4は、バイト・アクセス時におけるデータ配列の変換を説明するための概略図である。変換回路121において、Byte Laneを逆に変換することにより、データ配列の変換を行う。例えば、Big Endian系の第2DMAC115が、RAM102の0番地にAAhを書き込んだ場合、Byte Laneが変換されて、Little Endian系の0番地にAAhが書き込まれることになる。
【0035】
図5は、ハーフワード・アクセス時におけるデータ配列の変換を説明するための概略図である。ハーフワード・アクセス(16bitアクセス)が発生した場合は、変換回路121において、16bit単位でデータ配列を変換する。例えば、Big Endian系の第2DMAC115が、RAM102の0番地にAABBhを書き込んだ場合、データ配列が変換されて、Little Endian系の0番地にAABBhが書き込まれ、ソフトウェアからみて整合がとれていることになる。
【0036】
図6は、ワード・アクセス時におけるデータ配列の変換を説明するための概略図である。ワード・アクセス(32bitアクセス)が発生した場合は、データ配列の変換動作は行わず、そのままデータを出力する。例えば、Big Endian系の第2DMAC・115が、RAM102の0番地にAABBCCDDhを書き込んだ場合、Little Endian系のやはり0番地にAABBCCDDhが書き込まれることになり、ソフトウェアからみて整合がとれていることになる。
【0037】
[第2の実施例]
図7は、オフセット・アドレスを使用した、本発明にかかるデータ転送方法の一例を示したフローチャートである。解像度変換ブロック114からRAM102にデータを転送する場合について説明する。CPU101は、変換回路121に対してオフセット・アドレスを設定し(S701)、第2DMAC115に対してデータを転送する先のアドレスを指定する(S702)。このとき、第2DMAC115は、変換回路121へデータを転送するように設定が行われる。CPU101は、第2DMAC115に対して、データの長さを設定した後(S703)、第2DMAC115にDMA開始の起動をかける(S704)。起動がかけられた第2DMAC115は、解像度変換回路116からデータを引き抜き、CPU101に指定された通りに変換回路121に対してデータを転送する。この動作をCPU101が予め第2DMAC115に指定した転送長分だけ転送し、転送が終了した時点で、第2DMAC115は、CPU101に対して割り込みを出力する(S705)。割り込み信号を受信したCPU101は、データ転送動作を終了する。
【0038】
図8は、本発明にかかる変換回路の一例を示したブロック図である。変換回路121に割り当てられたアドレスを記憶するアドレスラッチ部802と、オフセット・アドレスを記憶するオフセットアドレスレジスタ803と、アドレスラッチ部802とオフセットアドレスレジスタ803の出力からアドレスを生成するアドレス生成ブロック804とが内部バス120に接続されている。また、データ配列を変換するデータ転換部805と、変換されたデータを一時的に保持するFIFO801とがデータバスに接続されている。
【0039】
このような構成により、CPU101からオフセット・アドレスを設定された変換回路121は、オフセットアドレスレジスタ803にその値を記憶する。変換回路121が第2DMAC115などの他のデバイスから、データを転送された場合に、変換回路121に割り当てられた内部バス120におけるアドレス32bitをアドレスラッチ部802に一時的に記憶する。アドレス生成ブロック804は、アドレスラッチ部802に記憶されたアドレスの下位28bitと、オフセットアドレスレジスタ803に記憶されたオフセット・アドレス4bitを、アドレスの上位4bitとして連結し、32bitのアドレスを生成する。
【0040】
例えば、図3に示した内部バス120上のアドレス割付で、変換回路121が、2000_0000hから2FFF_FFFFhに割り当てられていたとする。CPU101が、オフセットアドレスレジスタ803に0hを書き込んでおいた場合に、第2DMAC115が2000_0000hへデータの書き込みを行うと、変換回路121のアドレス生成ブロック804は、0000_0000hを生成する。このようにして、変換回路121は、RAM102の先頭アドレスへデータを転送することができる。
【0041】
変換回路121は、第2DMAC115から転送されたデータを、データ変換部805にてデータ配列を変換し、変換されたデータをFIFO801に一時的に保持する。データ変換部805では、図4、図5、図6に示したデータ配列の変換を行い、FIFO801へデータを送出する。第2DMAC115からのデータ転送が終了すると、変換回路121は、内部バス120のバスマスタとして動作を開始する。変換回路121は、アドレス生成ブロック804で生成されたアドレスを内部バス120のアドレスバスに出力し、データバスにはFIFO801に保持されたデータを送出する。上述したように、アドレスは、ブリッジ回路104を介して割り当てられたRAM102のアドレス空間を示しており、RAM102へ第2DMAC115から転送されたデータを、転送することができる。
【0042】
以上説明したように、Big Endian系で設計された回路と、Little Endian系で設計された回路が混在したシステムであっても、CPUと画像処理などを行う回路回路が同じデータ配列である場合はそのままデータ転送を行い、CPUと画像処理などを行う回路回路が異なるデータ配列である場合は、変換回路121をバス上に挿入することにより、ハードウェアでデータ配列の変換を行い、ソフトウェアからみてデータ配列の整合をはかることが可能である。
【0043】
[第3の実施例]
図9は、本発明にかかるDMA機能を搭載した変換回路の一例を示したブロック図である。変換回路121内部にDMA機能を搭載することにより、変換回路121のみが内部バス120上のバスマスタとなってデータを転送することができる。変換回路内部の各機能を制御する制御部901が、データの転送元のアドレスを保持する第1アドレス生成部902とデータの転送先のアドレスを保持する第2アドレス生成部903に接続されている。第1アドレス生成部902と第2アドレス生成部903からのアドレスを選択するマルチプレクサ904が、内部バス120に接続され、データ配列を変換するデータ転換部907と、変換されたデータを一時的に保持するFIFO906とがデータバスに接続されている。また、データの転送長を保持する転送長カウンタ905が、制御部901に接続されている。
【0044】
このような構成により、第1アドレス生成部902は、予めCPU101から設定されたデータの転送元のアドレスを保持し、転送が行われるたびにアドレスをインクリメントして、次のデータ転送元のアドレスを生成する。アドレス生成部2(903)は、予めCPU101から設定されたデータの転送先のアドレスを保持し、転送が行われるたびにアドレスをインクリメントして、次のデータ転送先のアドレスを生成する。マルチプレクサ904は、制御部901によって制御され、データを転送元から読み出す場合には、第1アドレス生成部902で生成されたアドレスを内部バス120へ出力する。読み出したデータを転送先に書き込む場合には、マルチプレクサ904は、第2アドレス生成部903で生成されたアドレスを内部バス120へ出力する。
【0045】
転送長カウンタ905は、予めCPU101から設定されたデータの転送長を保持し、データ転送が行われるたびに設定された値をデクリメントし、カウント値が0になった時点で制御部901へ通知を行う。この転送長カウンタ905からの通知をうけて、制御部901はCPU101に対して割り込み信号を出力し、データの転送が終了したことを通知する。
【0046】
データ変換部907は、データ転送元から読み込んだデータ配列を変換するものであり、図4、図5、図6に示したデータ配列の変換を行い、FIFO906へデータを送出する。FIFO906は、データの転送元から読み込んだデータを保持し、次にデータの転送先へ保持したデータを出力するものである。また、制御部901からの設定により、データ配列の変換を行わないようにすることも可能である。
【0047】
図10は、DMA機能を使用した、本発明にかかるデータ転送方法の一例を示したフローチャートである。解像度変換ブロック114の解像度変換回路116から、RAM102へデータを転送する場合について説明する。CPU101は、変換回路121の第1アドレス生成部902に、転送元のアドレスを設定し(S1001)、第2アドレス生成部903にデータの転送先のアドレスを設定する(S1002)。次に、CPU101は、転送長カウンタ907に転送を行うデータの長さを設定(S1003)し、制御部901にデータ転送開始の起動をかける(S1004)。起動がかけられた制御部901は、マルチプレクサ904を制御して、第1アドレス生成部902で生成されたデータの転送元のアドレスを内部バス120上へ出力し、データ転送元からデータを受信する。この動作を第1アドレス生成部902および第2アドレス生成部903で生成されるアドレスをインクリメントしながら、予めCPU101が設定した転送長分繰り返す。CPU101は、転送が終了したとこを示す割り込み信号が出力されるまで待機し(S1005)、制御部901が転送終了割り込みを出力した時点でデータ転送動作を終了する。
【0048】
例えば、図3に示した内部バス120上のアドレス割付で、解像度変換回路116が割り当てられている3000_0000hからデータを読み込むことにより、解像度変換回路116から解像度変換されたデータを読み出す。この読み出されたデータは、データ転換部によりデータ配列が変換され、FIFO906内部に蓄えられる。制御部901は、マルチプレクサ904を制御して、アドレス生成部2・903によって生成されたデータ転送先のアドレスを、内部バス120上へ出力し、FIFO906に蓄えられたデータ配列が変換されたデータを内部バス120上へ出力する。このとき、内部バス上へ出力されたアドレスは、RAM102のアドレス空間を示す0000_0000hから0FFF_FFFFhまでの値であり、これによりデータ配列が変換されたデータがブリッジ回路104を介してRAM102へ書き込まれる。
【0049】
以上説明したように、Big EndianのCPU用に設計された信号処理回路と、Little EndianのCPU用に設計された信号処理回路とが、画像処理装置のバスにそれぞれ接続されたとしても、変換回路121のDMA機能を使用してデータの転送を行い、データ転送の途中でデータ配列を変換することにより、ハードウェアでデータ配列の変換を行い、ソフトウェアからみてデータ配列の整合をはかることが可能である。
【0050】
なお、本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0051】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体と、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0052】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0053】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードに指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0054】
【発明の効果】
本発明によれば、画像処理を行う第1画像処理手段と、第1画像処理手段とデータ配列の方式が異なる第2の画像処理手段とを備える画像形成装置において、第1画像処理手段で画像処理された画像データの第1画像処理手段から記憶手段へのDMA転送と、第2画像処理手段で画像処理された画像データの第2画像処理手段から変換手段へのDMA転送と、変換手段でデータ配列が変換された画像データの変換手段から記憶手段へのDMA転送を適切に制御することができる。
【図面の簡単な説明】
【図1】本発明にかかる画像処理装置の全体構成の一例を示すブロック図である。
【図2】本発明にかかるデータ転送方法の一例を示したフローチャートである。
【図3】内部バス上のアドレス割付の一例を示す図である。
【図4】バイト・アクセス時におけるデータ配列の変換を説明するための概略図である。
【図5】ハーフワード・アクセス時におけるデータ配列の変換を説明するための概略図である。
【図6】ワード・アクセス時におけるデータ配列の変換を説明するための概略図である。
【図7】オフセット・アドレスを使用した、本発明にかかるデータ転送方法の一例を示したフローチャートである。
【図8】本発明にかかる変換回路の一例を示したブロック図である。
【図9】本発明にかかるDMA機能を搭載した変換回路の一例を示したブロック図である。
【図10】DMA機能を使用した、本発明にかかるデータ転送方法の一例を示したフローチャートである。
【符号の説明】
101 CPU
102 RAM
103 ROM
104 ブリッジ回路
105 プリンタI/F
106 プリンタ
107 スキャナI/F
108 スキャナ
109 IDE−I/F
110 HDD
111 圧縮伸張ブロック
112 DMAC1
113 圧縮伸張回路
114 解像度変換ブロック
115 第2DMAC
116 解像度変換回路
119 CPUバス
120 内部バス
121 変換回路
801,906 FIFO
802 アドレスラッチ部
803 オフセットアドレスレジスタ
804 アドレス生成ブロック
805,907 データ転換部
901 制御部
902 アドレス生成部1
903 アドレス生成部2
904 マルチプレクサ
905 転送長カウンタ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data processing method and an image processing apparatus, and more particularly, to a data processing method and an image processing apparatus for matching data transfer when signal processing circuits having different data arrangement methods coexist.
[0002]
[Prior art]
2. Description of the Related Art An image forming apparatus for receiving an image described in a bitmap or page description language from a host computer or the like holding various data via a network and recording the image on a recording medium such as paper is known. ing.
[0003]
Some copying machines, which are image forming apparatuses, can handle digitized images and can perform resolution conversion and compression / decompression on image data that is digital signals. The image data is recorded on a non-volatile recording medium such as an HDD (Hard Disk Drive). An interface portion for connecting the resolution conversion circuit, the compression / decompression circuit, or the HDD is determined in advance.
[0004]
When a copying machine is configured, it is divided into several functional blocks and a unified interface is used. As a result, one functional block can be used in other models, and by setting a functional block for each model, an increase in development costs is prevented and a development schedule is being shortened.
[0005]
[Problems to be solved by the invention]
However, there are two types of CPUs that perform image processing, such as Big Endian and Little Endian, and both are assigned different addresses on the data bus. Accordingly, there are functional blocks designed for the Little Endian CPU and functional blocks designed for the Big Endian CPU. When a signal processing circuit that performs image processing designed for a Little Endian CPU and a signal processing circuit that performs image processing designed for a Big Endian CPU are used together, they are accessed via the CPU using software. There is a problem in that a mismatch occurs between the address to be tried and the address to which the signal processing circuit is assigned. As a result, data is written to an incorrect address or data at an incorrect address is read out.
[0006]
Further, depending on the signal processing circuit that performs image processing, there is a case where data indicating the first pixel is MSB (Most Significant Bit) or LSB (Least Significant Bit) on the data bus. . As a result, the order in which the data indicating the pixels are read out via the data bus is changed, resulting in a problem that erroneous data is processed.
[0007]
Further, there is a method of changing the data arrangement by software in order to perform image data matching for each signal processing circuit on the data bus. However, each time data is transmitted / received via the data bus, data processing is required, which increases the processing time of the entire copying machine.
[0008]
The present invention has been made in view of such a problem. The object of the present invention is to perform image processing by matching with hardware even when signal processing circuits having different data arrangement methods coexist. It is an object of the present invention to provide a data processing method and an image processing apparatus that can provide a system that can easily expand the functions of the system.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides a first image processing means for performing image processing, and a second image having a data arrangement method different from that of the first image processing means. Processing means; storage means for storing image data; conversion means for converting the data arrangement of the image data, the conversion means having a DMA transfer function for DMA transfer of the image data having the converted data arrangement; and the first Data in an image processing apparatus comprising a first DMA controller for controlling DMA transfer of image data to be processed by the image processing means and a second DMA controller for controlling DMA transfer of image data to be processed by the second image processing means In the processing method, an address for causing the setting means to DMA-transfer the image data processed by the first image processing means to the storage means. A first setting step for setting in the first DMA controller, and the setting means sets an address in the second DMA controller for causing the conversion means to DMA-transfer the image data processed by the second image processing means. A second setting step; a third setting step in which the setting means sets an address for DMA transfer of the image data whose data array has been converted by the conversion means to the storage means; A first image processing step in which image processing means executes image processing on the image data; and the image data subjected to the image processing in the first image processing step based on the address set in the first setting step. A first transfer step of performing DMA transfer from one image processing unit to the storage unit; and the second image processing unit includes: A second image processing step for performing image processing on the data, and the image data subjected to the image processing in the second image processing step from the second image processing means based on the address set in the second setting step. A second transfer step for performing DMA transfer to the conversion means; a conversion step for the conversion means to perform data array conversion on the image data DMA-transferred in the second transfer step; and the conversion means by the setting means. And a third transfer step of DMA-transferring the image data in which the data array has been converted in the conversion step from the conversion unit to the storage unit based on a set address.
[0010]
According to a second aspect of the present invention, there is provided a first image processing means for performing image processing and a second image processing means for performing image processing, wherein the second image has a data arrangement method different from that of the first image processing means. Processing means; storage means for storing image data; conversion means for converting the data array of the image data, the conversion means having a DMA transfer function for DMA transfer of the image data whose data array has been converted; A first DMA controller for controlling DMA transfer of image data to be processed by one image processing unit; a second DMA controller for controlling DMA transfer of image data to be processed by the second image processing unit; and the first image processing unit. An address for DMA transfer of the image data subjected to the image processing to the storage means is set in the first DMA controller, and the second image processing means An address for DMA transfer of image data subjected to image processing to the conversion means is set in the second DMA controller, and an address for DMA transfer of the image data whose data array has been converted by the conversion means to the storage means. Setting means for setting in the conversion means, wherein the first DMA controller receives the image data image-processed by the first image processing means based on the address set by the setting means. The second DMA controller controls the image data processed by the second image processing means based on the address set by the setting means from the second image processing means. Controlling the DMA transfer to the conversion means, the conversion means is set by the setting means And controls so that the data sequence by the conversion means is DMA transferred to the storage means the converted image data from said converting means based on the dress.
[0011]
According to a third aspect of the present invention, in the second aspect, the first bus to which the conversion unit, the first DMA controller, and the second DMA controller are connected, and the storage unit and the setting unit are connected to each other. 2 buses, and connection means for connecting the first bus and the second bus to transfer data to each other.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0020]
[First embodiment]
FIG. 1 is a block diagram showing an example of the overall configuration of an image processing apparatus according to the present invention. A CPU 101 that controls the entire image processing apparatus, a RAM (Random Access Memory) 102 that provides a program work area, and a ROM (Read Only Memory) 103 that stores a program are connected to a CPU bus 119. Further, as a signal processing unit, a printer I / F 105 connected to the printer 106, a scanner I / F 107 connected to the scanner 108, an IDE-I / F 109 connected to an IDE (Integrated Device Electronics) HDD 110, and A compression / decompression block 111 including a compression / decompression circuit 113 and a first direct memory access controller (DMAC) 112, and a resolution conversion block 114 including a resolution conversion circuit 116 and a second DMAC 115 are connected to the internal bus 120. The CPU bus 119 and the internal bus 120 are connected by a bridge circuit 104 which is an interconnection means, and a conversion circuit 121 which is a conversion means for converting data allocation is connected to the internal bus 120.
[0021]
With such a configuration, the CPU 101 is activated by a program stored in the ROM 103 and sequentially reads the programs stored in the HDD 110 to control the image forming apparatus. The CPU 101 temporarily stores necessary data in the RAM 102 and performs arithmetic processing. The image data is also temporarily stored in the RAM 102.
[0022]
The bridge circuit 104 is used to separate the CPU bus 119 to which the CPU 101 is connected from the internal bus 120 to which the I / O block is connected. For example, while image data is being transferred between the printer I / F 105 and the second DMAC 115 via the internal bus 120, the CPU 101 sends an R / R for arithmetic processing to the RAM 102 on the CPU bus 119. It is possible to perform the W operation.
[0023]
The printer I / F 105 includes a DMAC function for taking out image data stored in the RAM 102 and transferring it to the printer 106. A plurality of types of printers 106 such as bubble jets and electrophotographic systems are currently manufactured. However, by improving the printer I / F 105, other parts such as other CPUs 101 and RAMs 102 can be used as they are. .
[0024]
The scanner I / F 107 includes a DMAC function for transferring image data received from the scanner 108 to the RAM 102. Even if a scanner with a different operating frequency is connected, other parts such as the other CPU 101 and RAM 102 can be used as they are by installing a synchronization FIFO inside the scanner I / F 107. can do.
[0025]
The IDE-I / F 109 is an interface circuit for connecting the HDD 110. When the CPU 101 performs an R / W operation on the HDD 110, the CPU 101 reads data from the HDD 110 or writes data, and responds to the CPU 101. In addition, data can be directly transmitted and received between the HDD 110 and the RAM 102 without using the CPU 101. The HDD 110 stores a program necessary for the CPU 101 to perform a control operation, and is also used for storing information such as image data.
[0026]
The compression / decompression block 111 is a functional block that compresses and decompresses image data. The first DMAC 112 extracts the image data stored in the RAM 102 and transfers it to the compression / decompression circuit 113. The image data that has been compressed or expanded by the compression / decompression circuit 113 is stored again in the RAM 102 by the first DMAC 112.
[0027]
The resolution conversion block 114 is a functional block that converts the resolution of image data. The second DMAC 115 takes out the image data stored in the RAM 102 and transfers it to the resolution conversion circuit 116. The image data whose resolution has been converted by the resolution conversion circuit 116 is stored again in the RAM 102 by the second DMAC 115.
[0028]
The network I / F 117 corresponds to, for example, the Ethernet protocol, receives packet data from the host computer 118 connected on the network, extracts the data transmitted by the host computer 118, and also incorporates the DMAC Is used to transfer the stored data to the RAM 102. The temporarily stored data can be read directly from the CPU 201 or read from another I / O block. In response to a write operation from the CPU 101, packet data can be transmitted to an arbitrary host computer 118 on the network.
[0029]
Conversion circuit 121 converts the allocation of data on the data bus. Data allocation is converted for data written from the first DMAC 112, the second DMAC 115, the IDE-I / F 109, the scanner I / F 107, and the printer I / F 105. The converted data is written to a preset address. Further, when data is read from the first DMAC 112, the second DMAC 115, the IDE-I / F 109, the scanner I / F 107, and the printer I / F 105, the data is read from a preset address, and the data Can be returned to the first DMAC 112, the second DMAC 115, the IDE-I / F 109, the scanner I / F 107, or the printer I / F 105.
[0030]
FIG. 2 is a flowchart showing an example of the data transfer method according to the present invention. Assume that the CPU 101 is a Little Endian and the compression / decompression circuit block 111 connected to the internal bus 120 is also designed for a Little Endian CPU. In this case, even if the compression / decompression circuit block 111 reads the data written by the CPU 101 to the RAM 102, or conversely, the CPU 101 reads the data written by the compression / decompression circuit block 111 to the RAM 102, the CPU bus 119 and the internal bus in FIG. 120 is a Little Endian, and it is not necessary to convert the data array. Therefore, when data is read from the RAM 102 using the first DMAC 112 of the compression / decompression circuit block 111, the CPU 101 stores the original image data subjected to the compression / decompression processing by the compression / decompression circuit block 111 for the first DMAC 112. The address of the RAM 102 that can be accessed via the bridge circuit 104 is set (S201). Next, an address accessible via the bridge circuit 104 is set for storing the image data subjected to the compression / decompression processing in the compression / decompression circuit block 111 in the RAM 102 again (S202).
[0031]
Next, the CPU 101 sets the length of data to be transferred to the first DMAC 112 of the compression / decompression block 111 (S203), and activates the DMA start of the first DMAC 112 (S204). The activated first DMAC 112 writes data to the RAM 102 or reads data from the RAM 102 via the bridge circuit 104. The CPU 101 transfers this operation for the transfer length designated in advance by the first DMAC 112, and when the transfer is completed, the first DMAC 112 outputs an interrupt to the CPU 101 (S205). Receiving the interrupt from the first DMAC 112, the CPU 101 ends the data transfer operation. The direction of data transfer is controlled by the CPU 101 setting in advance in the first DMAC 112 of the compression / decompression block 111.
[0032]
FIG. 3 is a diagram showing an example of address assignment on the internal bus. The case where the memory capacity of the RAM 102 is 256 bytes and the address bus in the internal bus 120 is 32 bits will be described. Of the 4 Gbyte address space, a space from 0000 — 0000h to 0FFF_FFFFh is an address space allocated for writing data from the internal bus 120 to the RAM 102 or reading data from the RAM 102. The CPU 101 sets values from 000_0000h to 0FFF_FFFFh in the first DMAC 112 of the compression / decompression circuit block 111.
[0033]
Assume that the CPU is Little Endian and the resolution conversion circuit block 114 connected to the internal bus 120 is designed for a Big Endian CPU. A case will be described in which the resolution converted data stored in the resolution conversion circuit 116 is transferred to the RAM 102 using the second DMAC 115 in the resolution conversion block 114. In this case, the data array is converted using the conversion circuit 121. In this embodiment, as an example of the concept of data array conversion, the conversion method is changed depending on the type of access.
[0034]
FIG. 4 is a schematic diagram for explaining the conversion of the data array at the time of byte access. The conversion circuit 121 converts the data array by converting Byte Lane in reverse. For example, when the Big Endian second DMAC 115 writes AAh to the 0 address of the RAM 102, Byte Lane is converted and AAh is written to the Little Endian 0 address.
[0035]
FIG. 5 is a schematic diagram for explaining the conversion of the data array at the time of halfword access. When halfword access (16-bit access) occurs, the conversion circuit 121 converts the data array in units of 16 bits. For example, when the second end DMAC 115 of Big Endian system writes AABBh at address 0 of RAM 102, the data array is converted, and AABBh is written at address 0 of Little Endian system, which is consistent from the viewpoint of software. Become.
[0036]
FIG. 6 is a schematic diagram for explaining the conversion of the data array during word access. When word access (32-bit access) occurs, data is not converted and data is output as it is. For example, when the second DMAC 115 of the Big Endian system writes AABBCCDDh at address 0 of the RAM 102, AABBCCDDh is also written at address 0 of the Little Endian system, which is consistent from the viewpoint of software. .
[0037]
[Second Embodiment]
FIG. 7 is a flowchart showing an example of a data transfer method according to the present invention using an offset address. A case where data is transferred from the resolution conversion block 114 to the RAM 102 will be described. The CPU 101 sets an offset address for the conversion circuit 121 (S701), and designates an address to which data is transferred to the second DMAC 115 (S702). At this time, the second DMAC 115 is set to transfer data to the conversion circuit 121. After setting the data length for the second DMAC 115 (S703), the CPU 101 activates the DMA start of the second DMAC 115 (S704). The activated second DMAC 115 extracts the data from the resolution conversion circuit 116 and transfers the data to the conversion circuit 121 as specified by the CPU 101. This operation is transferred by the CPU 101 for the transfer length designated in advance by the second DMAC 115, and when the transfer is completed, the second DMAC 115 outputs an interrupt to the CPU 101 (S705). The CPU 101 that has received the interrupt signal ends the data transfer operation.
[0038]
FIG. 8 is a block diagram showing an example of the conversion circuit according to the present invention. An address latch unit 802 that stores an address assigned to the conversion circuit 121, an offset address register 803 that stores an offset address, and an address generation block 804 that generates an address from the outputs of the address latch unit 802 and the offset address register 803. Are connected to the internal bus 120. In addition, a data conversion unit 805 that converts the data array and a FIFO 801 that temporarily holds the converted data are connected to the data bus.
[0039]
With such a configuration, the conversion circuit 121 to which the offset address is set by the CPU 101 stores the value in the offset address register 803. When the conversion circuit 121 receives data from another device such as the second DMAC 115, the address latch unit 802 temporarily stores the address 32 bits in the internal bus 120 allocated to the conversion circuit 121. The address generation block 804 concatenates the lower 28 bits of the address stored in the address latch unit 802 and the offset address 4 bits stored in the offset address register 803 as the upper 4 bits of the address to generate a 32-bit address.
[0040]
For example, it is assumed that the conversion circuit 121 is assigned from 2000_0000h to 2FFF_FFFFh in the address assignment on the internal bus 120 shown in FIG. When the CPU 101 has written 0h to the offset address register 803 and the second DMAC 115 writes data to 2000_0000h, the address generation block 804 of the conversion circuit 121 generates 0000_0000h. In this way, the conversion circuit 121 can transfer data to the head address of the RAM 102.
[0041]
The conversion circuit 121 converts the data sequence transferred from the second DMAC 115 by the data conversion unit 805 and temporarily stores the converted data in the FIFO 801. The data conversion unit 805 converts the data array shown in FIGS. 4, 5, and 6 and sends the data to the FIFO 801. When the data transfer from the second DMAC 115 is completed, the conversion circuit 121 starts operating as a bus master of the internal bus 120. The conversion circuit 121 outputs the address generated by the address generation block 804 to the address bus of the internal bus 120, and transmits the data held in the FIFO 801 to the data bus. As described above, the address indicates the address space of the RAM 102 assigned via the bridge circuit 104, and the data transferred from the second DMAC 115 can be transferred to the RAM 102.
[0042]
As explained above, even if the circuit designed for the Big Endian system and the circuit designed for the Little Endian system coexist, and the circuit circuit that performs image processing etc. has the same data array, If the data circuit is transferred as it is and the circuit circuit for performing image processing and the like is a different data array, the data array is converted by hardware by inserting the conversion circuit 121 on the bus, and the data is viewed from the software. It is possible to match the alignment.
[0043]
[Third embodiment]
FIG. 9 is a block diagram showing an example of a conversion circuit equipped with a DMA function according to the present invention. By mounting the DMA function in the conversion circuit 121, only the conversion circuit 121 can function as a bus master on the internal bus 120 to transfer data. A control unit 901 that controls each function in the conversion circuit is connected to a first address generation unit 902 that holds a data transfer source address and a second address generation unit 903 that holds a data transfer destination address. . A multiplexer 904 that selects addresses from the first address generation unit 902 and the second address generation unit 903 is connected to the internal bus 120 and temporarily stores the converted data. The FIFO 906 is connected to the data bus. In addition, a transfer length counter 905 that holds the transfer length of data is connected to the control unit 901.
[0044]
With such a configuration, the first address generation unit 902 holds the data transfer source address set in advance by the CPU 101, increments the address each time transfer is performed, and sets the next data transfer source address. Generate. The address generation unit 2 (903) holds the address of the data transfer destination set in advance from the CPU 101, and increments the address each time transfer is performed to generate the next data transfer destination address. The multiplexer 904 is controlled by the control unit 901, and outputs the address generated by the first address generation unit 902 to the internal bus 120 when reading data from the transfer source. When writing the read data to the transfer destination, the multiplexer 904 outputs the address generated by the second address generation unit 903 to the internal bus 120.
[0045]
The transfer length counter 905 holds the data transfer length set in advance by the CPU 101, decrements the set value every time data transfer is performed, and notifies the control unit 901 when the count value becomes zero. Do. In response to the notification from the transfer length counter 905, the control unit 901 outputs an interrupt signal to the CPU 101 to notify the end of data transfer.
[0046]
The data converter 907 converts the data array read from the data transfer source, converts the data array shown in FIGS. 4, 5, and 6, and sends the data to the FIFO 906. The FIFO 906 holds data read from the data transfer source and then outputs the held data to the data transfer destination. It is also possible not to perform data array conversion by setting from the control unit 901.
[0047]
FIG. 10 is a flowchart showing an example of the data transfer method according to the present invention using the DMA function. A case where data is transferred from the resolution conversion circuit 116 of the resolution conversion block 114 to the RAM 102 will be described. The CPU 101 sets a transfer source address in the first address generation unit 902 of the conversion circuit 121 (S1001), and sets a data transfer destination address in the second address generation unit 903 (S1002). Next, the CPU 101 sets the length of data to be transferred to the transfer length counter 907 (S1003), and activates the data transfer start to the control unit 901 (S1004). The activated control unit 901 controls the multiplexer 904, outputs the data transfer source address generated by the first address generation unit 902 to the internal bus 120, and receives data from the data transfer source. . This operation is repeated for the transfer length set in advance by the CPU 101 while incrementing the addresses generated by the first address generation unit 902 and the second address generation unit 903. The CPU 101 waits until an interrupt signal indicating that the transfer has ended is output (S1005), and ends the data transfer operation when the control unit 901 outputs a transfer end interrupt.
[0048]
For example, the resolution-converted data is read from the resolution conversion circuit 116 by reading the data from 3000_0000h to which the resolution conversion circuit 116 is assigned by the address assignment on the internal bus 120 shown in FIG. The read data is converted in data array by the data conversion unit and stored in the FIFO 906. The control unit 901 controls the multiplexer 904 to output the address of the data transfer destination generated by the address generation unit 2 903 onto the internal bus 120, and the data obtained by converting the data array stored in the FIFO 906 Output to the internal bus 120. At this time, the address output onto the internal bus is a value from 0000_0000h to 0FFF_FFFFh indicating the address space of the RAM 102, and the data whose data array has been converted by this is written into the RAM 102 via the bridge circuit 104.
[0049]
As described above, even if the signal processing circuit designed for the Big Endian CPU and the signal processing circuit designed for the Little Endian CPU are respectively connected to the bus of the image processing apparatus, the conversion circuit Data transfer is performed using the DMA function 121, and the data array is converted in the middle of the data transfer, so that the data array can be converted by hardware and the data array can be matched from the viewpoint of software. is there.
[0050]
Note that the present invention can be applied to a system (for example, a copier, a facsimile machine, etc.) consisting of a single device even if it is applied to a system composed of a plurality of devices (for example, a host computer, interface device, reader, printer, etc.) You may apply.
[0051]
Another object of the present invention is to supply a recording medium recording software program codes for realizing the functions of the above-described embodiments and a system or apparatus, and the computer of the system or apparatus (or CPU or MPU) records the recording medium. Needless to say, this can also be achieved by reading and executing the program code stored in. In this case, the program code itself read from the recording medium realizes the novel function of the present invention, and the storage medium storing the program code constitutes the present invention. As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
[0052]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also the OS running on the computer based on the instruction of the program code performs the actual processing. Needless to say, a case where the function of the above-described embodiment is realized by performing part or all of the processing is also included.
[0053]
Further, after the program code read from the recording medium is written in the memory provided in the extension function board inserted in the computer or the function extension unit connected to the computer, the function extension is performed based on the instruction in the program code. It goes without saying that the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0054]
【The invention's effect】
According to the present invention, in an image forming apparatus including a first image processing unit that performs image processing, and a second image processing unit that has a data arrangement method different from that of the first image processing unit, the first image processing unit performs image processing. DMA transfer of processed image data from the first image processing means to the storage means, DMA transfer of image data processed by the second image processing means from the second image processing means to the conversion means, and conversion means It is possible to appropriately control the DMA transfer from the conversion means to the storage means of the image data whose data array has been converted.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of the overall configuration of an image processing apparatus according to the present invention.
FIG. 2 is a flowchart showing an example of a data transfer method according to the present invention.
FIG. 3 is a diagram showing an example of address assignment on an internal bus.
FIG. 4 is a schematic diagram for explaining conversion of a data array during byte access.
FIG. 5 is a schematic diagram for explaining conversion of a data array at the time of halfword access.
FIG. 6 is a schematic diagram for explaining conversion of a data array during word access.
FIG. 7 is a flowchart showing an example of a data transfer method according to the present invention using an offset address.
FIG. 8 is a block diagram showing an example of a conversion circuit according to the present invention.
FIG. 9 is a block diagram showing an example of a conversion circuit equipped with a DMA function according to the present invention.
FIG. 10 is a flowchart showing an example of a data transfer method according to the present invention using a DMA function.
[Explanation of symbols]
101 CPU
102 RAM
103 ROM
104 Bridge circuit
105 Printer I / F
106 Printer
107 Scanner I / F
108 Scanner
109 IDE-I / F
110 HDD
111 Compression / decompression block
112 DMAC1
113 Compression / decompression circuit
114 Resolution conversion block
115 Second DMAC
116 Resolution conversion circuit
119 CPU bus
120 Internal bus
121 Conversion circuit
801,906 FIFO
802 Address latch part
803 Offset address register
804 Address generation block
805,907 Data conversion section
901 Control unit
902 Address generation unit 1
903 Address generator 2
904 multiplexer
905 Transfer length counter

Claims (3)

画像処理を行う第1画像処理手段と、該第1画像処理手段とデータ配列の方式が異なる第2画像処理手段と、画像データを記憶する記憶手段と、画像データのデータ配列を変換する変換手段であってデータ配列が変換された画像データをDMA転送するDMA転送機能を備える変換手段と、前記第1画像処理手段で画像処理する画像データのDMA転送を制御する第1DMAコントローラと、前記第2画像処理手段で画像処理する画像データのDMA転送を制御する第2DMAコントローラとを備えた画像処理装置におけるデータ処理方法において、
設定手段が、前記第1画像処理手段で画像処理された画像データを前記記憶手段にDMA転送させるためのアドレスを前記第1DMAコントローラに設定する第1設定ステップと、
前記設定手段が、前記第2画像処理手段で画像処理された画像データを前記変換手段にDMA転送させるためのアドレスを前記第2DMAコントローラに設定する第2設定ステップと、
前記設定手段が、前記変換手段によりデータ配列が変換された画像データを前記記憶手段にDMA転送させるためのアドレスを前記変換手段に設定する第3設定ステップと、
前記第1画像処理手段が、画像データに対する画像処理を実行する第1画像処理ステップと、
該第1画像処理ステップで画像処理された画像データを、前記第1設定ステップにより設定されたアドレスに基づいて前記第1画像処理手段から前記記憶手段にDMA転送する第転送ステップと、
前記第2画像処理手段が、画像データに対する画像処理を実行する第2画像処理ステップと、
該第2画像処理ステップで画像処理された画像データを、前記第2設定ステップにより設定されたアドレスに基づいて前記第2画像処理手段から前記変換手段にDMA転送する第転送ステップと、
前記変換手段が、該第転送ステップでDMA転送された画像データに対するデータ配列の変換を実行する変換ステップと
前記変換手段が、前記設定手段により設定されたアドレスに基づいて前記変換ステップにて前記データ配列が変換された画像データを前記変換手段から前記記憶手段にDMA転送する第3転送ステップと、
を備えることを特徴とするデータ処理方法。
First image processing means for performing image processing, second image processing means having a data arrangement method different from that of the first image processing means , storage means for storing image data, and conversion means for converting the data arrangement of the image data Conversion means having a DMA transfer function for DMA transfer of image data whose data array has been converted, a first DMA controller for controlling DMA transfer of image data to be image processed by the first image processing means, and the second In a data processing method in an image processing apparatus comprising a second DMA controller for controlling DMA transfer of image data subjected to image processing by an image processing means ,
A first setting step in which a setting unit sets, in the first DMA controller, an address for performing DMA transfer of the image data processed by the first image processing unit to the storage unit;
A second setting step in which the setting means sets an address in the second DMA controller for causing the conversion means to DMA transfer the image data image-processed by the second image processing means;
A third setting step in which the setting means sets, in the conversion means, an address for causing the storage means to DMA transfer the image data whose data array has been converted by the conversion means;
It said first image processing means includes a first image processing step of executing image processing for image data,
A first transfer step of DMA-transferring the image data image-processed in the first image processing step from the first image processing unit to the storage unit based on the address set in the first setting step ;
It said second image processing means, and the second image processing step of executing image processing for image data,
A second transfer step of DMA-transferred to the image-processed image data, wherein on the basis of the set address by the second setting step second image processing means or al the conversion means at the second image processing step,
It said conversion means includes a conversion step of executing a data conversion sequence for DMA transferred image data in the second transfer step,
A third transfer step in which the conversion means DMA-transfers the image data in which the data array has been converted in the conversion step based on the address set by the setting means from the conversion means to the storage means;
A data processing method comprising:
画像処理を行う第1画像処理手段と、
画像処理を行う第2画像処理手段であって、前記第1画像処理手段とデータ配列の方式が異なる第2の画像処理手段と、
画像データを記憶する記憶手段と、
画像データのデータ配列を変換する変換手段であって、データ配列が変換された画像データをDMA転送するDMA転送機能を備える変換手段と、
前記第1画像処理手段で画像処理する画像データのDMA転送を制御する第1DMAコントローラと、
前記第2画像処理手段で画像処理する画像データのDMA転送を制御する第2DMAコントローラと、
前記第1画像処理手段で画像処理された画像データを前記記憶手段にDMA転送させるためのアドレスを前記第1DMAコントローラに設定し、前記第2画像処理手段で画像処理された画像データを前記変換手段にDMA転送させるためのアドレスを前記第2DMAコントローラに設定し、前記変換手段によりデータ配列が変換された画像データを前記記憶手段にDMA転送させるためのアドレスを前記変換手段に設定する設定手段とを有し、
記第1DMAコントローラ前記設定手段により設定されたアドレスに基づいて前記第1画像処理手段で画像処理された画像データを前記第1画像処理手段から前記記憶手段にDMA転送るよう制御
記第2DMAコントローラ前記設定手段により設定されたアドレスに基づいて前記第2画像処理手段で画像処理された画像データを前記第2画像処理手段から前記変換手段にDMA転送るよう制御
前記変換手段は、前記設定手段により設定されたアドレスに基づいて前記変換手段により前記データ配列が変換された画像データを前記変換手段から前記記憶手段にDMA転送するように制御することを特徴とする画像処理装置。
First image processing means for performing image processing;
Second image processing means for performing image processing, the second image processing means having a data arrangement method different from that of the first image processing means;
Storage means for storing image data;
Conversion means for converting a data array of image data, the conversion means having a DMA transfer function for DMA transfer of the image data converted from the data array ;
A first DMA controller for controlling DMA transfer of image data subjected to image processing by the first image processing means;
A second DMA controller for controlling DMA transfer of image data to be image processed by the second image processing means;
An address for DMA transfer of image data processed by the first image processing means to the storage means is set in the first DMA controller, and the image data processed by the second image processing means is converted to the conversion means. Setting means for setting an address for DMA transfer to the second DMA controller, and setting an address for DMA transfer of the image data whose data array has been converted by the conversion means to the storage means. Have
Before SL The 1DMA controller, the storage means and so that the control to the DMA transfer from the first image processing unit image data subjected to image processing by the first image processing means based on the address set by said setting means ,
Before SL The 2DMA controller, the converting means and so that the control to the DMA transfer from the second image processing unit image data subjected to image processing by the second image processing means based on the address set by said setting means ,
The converting means controls to transfer the image data, the data array of which has been converted by the converting means, from the converting means to the storage means based on the address set by the setting means. Image processing device.
前記変換手段と前記第1DMAコントローラと前記第2DMAコントローラとが接続された第1バスと、
前記記憶手段と前記設定手段とが接続された第2バスと、
前記第1バスと前記第2バスとを接続して相互にデータを転送するための接続手段とを備えたことを特徴とする請求項に記載の画像処理装置。
A first bus to which the conversion means, the first DMA controller, and the second DMA controller are connected;
A second bus to which the storage means and the setting means are connected;
The image processing apparatus according to claim 2 , further comprising a connection unit that connects the first bus and the second bus to transfer data to each other.
JP2000314377A 2000-10-13 2000-10-13 Data processing method and image processing apparatus Expired - Fee Related JP4514173B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000314377A JP4514173B2 (en) 2000-10-13 2000-10-13 Data processing method and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000314377A JP4514173B2 (en) 2000-10-13 2000-10-13 Data processing method and image processing apparatus

Publications (3)

Publication Number Publication Date
JP2002123826A JP2002123826A (en) 2002-04-26
JP2002123826A5 JP2002123826A5 (en) 2007-11-29
JP4514173B2 true JP4514173B2 (en) 2010-07-28

Family

ID=18793649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000314377A Expired - Fee Related JP4514173B2 (en) 2000-10-13 2000-10-13 Data processing method and image processing apparatus

Country Status (1)

Country Link
JP (1) JP4514173B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6389984A (en) * 1986-10-03 1988-04-20 Fuji Xerox Co Ltd Address generation circuit for dma controller in image editing device
JP2000510973A (en) * 1996-03-15 2000-08-22 マイクロン・テクノロジイ・インコーポレーテッド Method and apparatus for performing direct memory access (DMA) byte swapping

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63191224A (en) * 1987-02-04 1988-08-08 Nippon Telegr & Teleph Corp <Ntt> Bit order inverting circuit
JP2585569B2 (en) * 1987-02-27 1997-02-26 株式会社日立製作所 Direct memory access controller
JPH0774986B2 (en) * 1987-09-19 1995-08-09 富士通株式会社 Data bus connection system
JPH03168858A (en) * 1989-11-29 1991-07-22 Victor Co Of Japan Ltd Data processor
JPH06208539A (en) * 1992-04-23 1994-07-26 Nec Corp High-speed data transfer system
JPH0635842A (en) * 1992-07-20 1994-02-10 Ricoh Co Ltd Dma device
JPH06266655A (en) * 1993-03-17 1994-09-22 Hitachi Ltd Data transfer control system
JP3611049B2 (en) * 1994-11-11 2005-01-19 川崎マイクロエレクトロニクス株式会社 Internal register circuit
US5687337A (en) * 1995-02-24 1997-11-11 International Business Machines Corporation Mixed-endian computer system
JP4134371B2 (en) * 1998-03-16 2008-08-20 三菱電機株式会社 I / O bus bridge device
JP4330200B2 (en) * 1999-02-24 2009-09-16 住友電気工業株式会社 Navigation device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6389984A (en) * 1986-10-03 1988-04-20 Fuji Xerox Co Ltd Address generation circuit for dma controller in image editing device
JP2000510973A (en) * 1996-03-15 2000-08-22 マイクロン・テクノロジイ・インコーポレーテッド Method and apparatus for performing direct memory access (DMA) byte swapping

Also Published As

Publication number Publication date
JP2002123826A (en) 2002-04-26

Similar Documents

Publication Publication Date Title
US7522662B2 (en) Electronic device including image forming apparatus
JPH10124268A (en) Print controller
JP2740568B2 (en) Printing equipment
JP4514173B2 (en) Data processing method and image processing apparatus
JP4890681B2 (en) Image processing device
JP2001186328A (en) Picture processor, its control method and picture processing system
US7187385B2 (en) Image processing apparatus
JP2001243026A (en) Image forming device, system and method for transferring image data and storage medium
JP2002254729A (en) Dma controller for image data
JP4983251B2 (en) Printing device
JP3791404B2 (en) Image processing device
JP2004017583A (en) Image forming apparatus
JPH09265367A (en) Device and method for printer control
JP2004157609A (en) Image processing apparatus and image processing system
JPH11254760A (en) Method and device for printing
JP2001225515A (en) Printer and method for clearing memory thereof
JP2001167046A (en) Image processor
KR100636817B1 (en) The graphic execution device for reducing the transaction with the system bus
JP2001018463A (en) Dma controller and dma controlling method
JPH05147276A (en) Video transfer control apparatus
JP2006040120A (en) Image processing function memory
JP2008083772A (en) Data processor
JP2003196044A (en) Image processing method and its device
JP2001277607A (en) Image processing controller for electronic printer and electronic printer with the same
JPH11102268A (en) Printer and printing control method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100330

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100510

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140521

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees