JP2004157609A - Image processing apparatus and image processing system - Google Patents

Image processing apparatus and image processing system Download PDF

Info

Publication number
JP2004157609A
JP2004157609A JP2002320283A JP2002320283A JP2004157609A JP 2004157609 A JP2004157609 A JP 2004157609A JP 2002320283 A JP2002320283 A JP 2002320283A JP 2002320283 A JP2002320283 A JP 2002320283A JP 2004157609 A JP2004157609 A JP 2004157609A
Authority
JP
Japan
Prior art keywords
image
image data
tile
data
unit
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.)
Withdrawn
Application number
JP2002320283A
Other languages
Japanese (ja)
Inventor
Atsushi Date
厚 伊達
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 JP2002320283A priority Critical patent/JP2004157609A/en
Publication of JP2004157609A publication Critical patent/JP2004157609A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing apparatus whichcan realize a single system or compound system having a different function with a single controller and constitute the system at low cost, and an image processing system. <P>SOLUTION: An image formation process has two operation modes, i.e., a tile image transfer mode and a raster image output mode, which can be switched by software. In the tile image transfer mode, a raster image having been rendered is converted into a tile image, which is stored in a RAM (2002) to enable various image processes. In the raster image transfer mode, raster video data having been rendered are sent out directly to an image ring (2008), so the data are not passed through the RAM (2002). <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、画像データに所定の処理を行って出力する画像処理装置および画像処理システムに関する。
【0002】
【従来の技術】
画像入力デバイスとしてのスキャナ、画像出力デバイスとしてのプリンタ等を含む複数の画像処理デバイスを備える複合システムには、各画像処理デバイスを制御する画像処理装置としての画像処理装置コントローラが組み込まれる。画像処理装置コントローラは一般に、(1)システム全体を制御するシステム制御部、および、(2)各画像処理デバイスに対する画像データの入出力および各種画像処理を行う画像処理部、を備える(例えば、特願2002−223125号)。
【0003】
上記の画像処理装置コントローラにおいては、従来より、プリンタ記述言語(PDL)コードまたは中間ディスプレイリストをビットマップイメージに展開するレンダリング部が、画像処理部が有するレンダリング部インタフェースに接続される構成が提案されている。
【0004】
【発明が解決しようとする課題】
しかしながら、上記したような構成の画像処理コントローラにおいては、システム制御部とレンダリング部とは外部バス(例えばPCIバス)を介して接続されることとなる。したがって、システムに設けられたRAM内のデータをプリンタ等の画像出力デバイスに出力するためには、そのデータをシステム制御部、外部バスを介してレンダリング部に送られ、そして、レンダリング部で描画された画像データを画像処理部を経由して画像出力デバイスに送られることになる。
【0005】
また、上記した画像処理装置コントローラは、大容量のメモリを搭載することで、レンダリング動作結果の生成画像をメモリに格納することと並行して、メモリを消費する各種の画像処理を行うことを可能にし、単一の資源であるプリンタを、PDLプリントとその他の画像出力処理(コピーなど)間で最大効率で共有することを可能とする、複合システムに最適な構成をとっている。一方で、このような高機能な画像処理装置コントローラを回転動作等の特定の画像処理を必要としないプリンタのみに適用してプリンタ単一機能機器を構成する場合には明らかにスペックオーバであり、安価に提供することができない。そうすると、結局は、システムが備えようとする機能に対応した専用の画像処理装置コントローラを製造する必要があった。
【0006】
本発明は、このような従来技術の問題点に鑑みなされたものであり、単一の制御装置でもって機能の異なる単一システムまたは複合システムを実現することを可能にし、もってシステムを安価に構成することを可能にする画像処理装置を提供することにある。
【0007】
【課題を解決するための手段】
上記目的を達成するため、例えば本発明の画像処理装置は、以下の構成を備える。すなわち、
画像出力装置に接続され、入力された画像データを当該画像出力装置に供給する画像処理装置であって、
前記入力された画像データに基づいてラスタ画像データを生成するレンダリング手段と、
当該ラスタ画像データを所定のタイル単位で取り扱われるタイル画像データに変換するタイル画像変換手段と、
当該タイル画像データを記憶する記憶手段と、
前記記憶手段に記憶された前記タイル画像データを前記画像出力装置に供給する第1のデータ供給手段と、
前記レンダリング手段で生成された前記ラスタ画像データを前記画像出力装置に供給する第2のデータ供給手段と、
前記第1および第2のデータ供給手段のいずれかを選択する選択手段と、
を有することを特徴とする。
【0008】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施形態を詳細に説明する。
【0009】
(画像形成システムの構成)
図1は、本発明の実施形態に係る画像処理装置を用いた画像形成システムの構成例を示すブロック図である。なお、図1には本実施形態に係る画像処理装置を、プリンタおよびスキャナを有する画像形成装置に適用した例を説明するが、他の任意の構成を有する画像形成装置に適用可能であることはもちろん、画像処理装置単体で使用することも可能である。
【0010】
画像処理部(2149)を有する画像処理装置コントローラ(2000)が、本発明に係る画像処理装置として機能する。この画像処理装置コントローラ(2000)には画像入力デバイスであるスキャナ(2070)や画像出力デバイスであるプリンタ(2095)と接続され、また、LAN(2011)を介して外部機器との間でデータをやりとりできるように構成されている。
【0011】
システム制御部(2150)は内部にCPU(2001)を含み、画像処理装置コントローラ全体を制御する。本実施形態では2つのCPUを用いた例を示す。これら2つのCPUは、共通のCPUバス(2126)を介してシステムバスブリッジ(2007)に接続される。
【0012】
2007は、第1のバススイッチとして機能するシステムバスブリッジである。CPUバス(2126)、RAMコントローラ(2124)、ROMコントローラ(2125)、IOバス1(2127)、サブバススイッチ(2128)、IOバス2(2129)、画像リングインターフェース1(2147)、画像リングインターフェース2(2148)が、このシステムバスブリッジ(2007)に接続される。
【0013】
2128は、第2のバススイッチとして機能するサブバススイッチである。画像DMA1(2130)、画像DMA2(2132)、フォント伸張部(3134)、ソート回路(2135)、ビットマップトレース部(2136)が、このサブバススイッチ(2128)に接続される。サブバススイッチ(2128)は、これらのDMAから出力されるメモリアクセス要求を調停し、システムバスブリッジ(2007)への接続を行う。
【0014】
RAM(2002)はCPU(2001)が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。このRAM(2002)はRAMコントローラ(2124)により制御される。
【0015】
ROM(2003)はブートROMであり、システムのブートプログラムが格納されている。このROM(2003)はROMコントローラ(2125)により制御される。
【0016】
画像DMA1(2130)は、画像圧縮部(2131)に接続され、レジスタアクセスリング(2137)を介して設定された情報に基づき、画像圧縮部(2131)による、RAM(2002)上にある非圧縮データの読み出し、圧縮、圧縮後データの書き戻しの制御を行う。
【0017】
画像DMA2(2132)は、画像伸張部(2133)に接続され、レジスタアクセスリング(2137)を介して設定された情報に基づき、画像伸張部(2133)による、RAM(2002)上にある圧縮データの読み出し、伸張、伸張後データの書き戻しの制御を行う。
【0018】
フォント伸張部(2134)は、LANインターフェース(2010)等を介して外部より転送されるPDL(Page Description Language:ページ記述言語)データに含まれるフォントコードに基づき、ROM(2003)またはRAM(2002)内に格納された圧縮フォントデータの伸張を行う。
【0019】
ビットマップトレース回路(2136)は、ビットマップデータより、エッジ情報を抽出する回路である。
【0020】
IOバス1(2127)は、内部IOバスの一種であり、標準バスであるUSBバスのコントローラ、USBインターフェース(2138)、汎用シリアルポート(2139)、インタラプトコントローラ(2140)、GPIOインターフェース(2141)が接続される。IOバス1には、バスアービタ(図示せず)が含まれる。
【0021】
操作部I/F(2006)は操作部(UI)(2012)と接続され、操作部(2012)に表示するための画像データを操作部(2012)に対して出力する。また、使用者によって操作部(2012)から入力された情報を、CPU(2001)に伝える役割を担う。
【0022】
IOバス2(2129)は内部IOバスの一種であり、汎用バスインターフェース1及び2(2142)と、LANコントローラ(2010)が接続される。IOバス2にはバスアービタ(図示せず)が含まれる。
【0023】
汎用バスインターフェース(2142)は、標準IOバスをサポートするバスブリッジである。本実施形態では、PCIバス(2143)を採用した例を示した。
【0024】
外部記憶装置(2004)はハードディスクドライブ(HDD)であり、システムソフトウェア、画像データ等を格納する。この外部記憶装置(2004)はディスクコントローラ(2144)を介して一方のPCIバス(2143)に接続される。
【0025】
LANコントローラ(2010)は、MAC回路(2145)、PHY/PMD回路(2146)を介しLAN(2011)に接続され、情報の入出力を行う。
【0026】
画像リングインターフェース1(2147)および画像リングインターフェース2(2148)は、システムバスブリッジ(2007)を画像データを高速で転送する画像リング(2008)に接続するためのインターフェースであり、圧縮画像データをRAM(2002)と画像処理部(2149)との間で転送するDMAコントローラとして機能する。
【0027】
画像リング(2008)は、一対の単方向接続経路(画像リング1および画像リング2)の組み合わせにより構成されるバスである。画像リング(2008)は、画像処理部(2149)内で、画像リングインターフェース3(2101)および画像インターフェース4(2102)を介して、タイル伸張部(2103)、コマンド処理部(2104)、ステータス処理部(2105)、タイル圧縮部(2106)、および画像出力インターフェース(2113)に接続される。本実施形態では、タイル伸張部(2103)を2組、タイル圧縮部を3組実装する例を示した。
【0028】
タイル伸張部(2103)は、画像リングインターフェース3(2101)に接続されるとともに、タイルバス(2107)にも接続される。このタイル伸張部(2103)は、画像リング(2008)より入力された圧縮後の画像データを伸張し、タイルバス(2107)へ転送するバスブリッジである。本実施形態では例えば、多値データにはJPEG、2値データにはパックビッツを伸張アルゴリズムとして採用する。
【0029】
タイル圧縮部(2106)は、画像リングインターフェース4(2102)に接続されるとともに、タイルバス(2107)にも接続される。このタイル圧縮部(2106)は、タイルバス(2107)より入力された圧縮前の画像データを圧縮し、画像リング(2008)へ転送するバスブリッジである。本実施形態では、上記伸張アルゴリズムに対応して、多値データにはJPEG、2値データにはパックビッツを圧縮アルゴリズムとして採用する。
【0030】
コマンド処理部(2104)は、画像リングインターフェース3および4(2101,2102)に接続されるとともに、レジスタ設定バス(2109)にも接続され、画像リング(2008)を介して入力したCPU(2001)より発行されたレジスタ設定要求を、レジスタ設定バス(2109)に接続される該当ブロックへ書き込む。また、CPU(2001)より発行されたレジスタ読み出し要求に基づき、レジスタ設定バス(2109)を介して該当レジスタより情報を読み出し、画像リングインターフェース4(2102)に転送する。
【0031】
ステータス処理部(2105)は、各画像データ処理部(後述する多値化部(2119)、2値化部(2118)、色空間変換部(2117)、画像回転部(2030)、解像度変換部(2116))の情報を監視し、CPU(2001)に対してインタラプトを発行するためのインタラプトパケットを生成し、画像リングインターフェース4に出力する。
【0032】
タイルバス(2107)には上記ブロックに加え、以下の機能ブロックが接続される。画像入力インターフェース(2112)、画像出力インターフェース(2113)、多値化部(2119)、2値化部(2118)、色空間変換部(2117)、画像回転部(2030)、解像度変換部(2116)。
【0033】
画像入力インターフェース(2112)は、後述するスキャナ用画像処理部(2114)により補正画像処理されたラスタイメージデータを入力し、レジスタ設定バス(2109)を介して設定された所定の方法によるタイル画像への構造変換とクロックの同期化を行い、タイルバス(2107)に対し出力を行う。
【0034】
画像出力インターフェース(2113)は、タイルバス(2107)からのタイル画像データを入力し、ラスタ画像への構造変換及び、クロックレートの変更を行い、ラスタ画像をプリンタ用画像処理部(2115)へ出力する。
【0035】
画像回転部(2030)は画像データの回転を行う。
解像度変換部(2116)は画像データの解像度の変更を行う。
色空間変換部(2117)はカラー及びグレースケール画像の色空間の変換を行う。
2値化部(2118)は、多値(カラー、グレースケール)画像を2値化する。
多値化部(2119)は2値画像を多値データへ変換する。
【0036】
外部バスインターフェース部(2120)は、CPU(2001)により発行された、書き込み、読み出し要求を、画像リングインターフェース1,2,3,4(2147,2148,2101,2102)、コマンド処理部(2104)、レジスタ設定バス(2109)を介して受け取り、外部バス3(2121)に変換出力するバスブリッジである。外部バス3(2121)は、本実施形態では、プリンタ用画像処理部(2115)およびスキャナ用画像処理部(2114)に接続されている。
【0037】
メモリ制御部(2122)は、メモリバス(2108)に接続され、画像処理部(2149)内の各画像データ処理部(2116,2117,2118,2119,2030)の要求に従い、あらかじめアドレス分割された画像メモリ1及び2(2123)に対して、画像データの書き込み、読み出し、必要に応じてリフレッシュ等の動作を行う。本実施形態では、画像メモリに例えばSDRAMを用いる。
【0038】
スキャナ用画像処理部(2114)は、画像入力デバイスであるスキャナ(2070)によりスキャンされた画像データに対して所定の補正画像処理を行う。また、プリンタ用画像処理部(2115)は、画像形成出力のための所定の補正画像処理を行い、その結果をプリンタ(2095)へ出力する。
【0039】
レンダリング部(2060)はPDLコードまたは中間ディスプレイリストをビットマップイメージに展開する。
【0040】
(画像リングインターフェース1の内部構成)
図7は、画像リングインターフェース1(2147)の内部構成を示すブロック図である。
【0041】
画像リングインターフェース1(2147)は、この画像リングインターフェース1(2147)を構成する各ブロックの動作を制御する制御部(201)をはじめ、パケットテーブルの読み出しのためのパケットテーブル読み出しDMA(202)、タイル画像データをDMA転送するためのタイル画像DMA(203)、ビデオ信号を所定の同期信号に同期させるビデオ同期部(204)、および、画像リング(2008)に送出するためのデータを多重化するマルチプレクサ(MUX)(205)を備えている。
【0042】
制御部(201)はその内部に図示しないコントロールレジスタ群を有する。また、制御部(201)内には、図示するレジスタ(201a)を備え、入力されるレジスタ設定信号に応じて画像データの転送方式を、後述するタイル画像転送モードとラスタ画像出力モードとで切り替えることが可能に構成されている。いずれのモードであるかを示すモード信号(101)は画像リングインターフェース2(2148)に出力される。
【0043】
(画像リングインターフェース2の内部構成)
図8は、画像リングインターフェース2(2148)の内部構成を示すブロック図である。
【0044】
画像リングインターフェース2(2148)は、この画像リングインターフェース2(2148)を構成する各ブロックの動作を制御する制御部(105)をはじめ、タイル画像データのDMA転送を行うタイル画像DMA(102)、後述するパケットテーブルを生成するパケットテーブル生成部(103)、パケットテーブルのDMA転送を行うパケットテーブルDMA(107)、および、システムバスブリッジ(2007)に送出するためのデータを多重化するマルチプレクサ(MUX)(106)を備えている。
【0045】
画像リングインターフェース2(2148)には、上記構成と同様の回路ブロックが複数存在し、画像リング(2008)より入力されたタイル画像の処理を行う。複数存在する場合には、本発明によるコントローラを複合機器のコントローラとして用いる場合に、プリント動作とコピー動作などの競合が発生した場合の性能劣化を最小限に押さえることが可能となる。しかし、上記構成と同様の回路ブロックがただひとつ画像リングインターフェース2に内蔵される構成も構成としては、可能である。
【0046】
(パケット構成)
次に、実施形態における画像データの処理に用いられるパケットのフォーマットを説明する。実施形態における画像処理装置コントローラ(2000)は、画像データ、CPU(2001)によるコマンド、および、各画像データ処理部(2116,2117,2118,2119,2030)より発行される割り込み情報を、パケット化された形式で転送する。パケットデータには、以下の種類がある。
【0047】
(1)データパケット(図3)
所定画素数(本実施形態では32pixel×32pixelとする)で分割したタイル単位の画像データ(3002)と、後述する制御情報が格納されるヘッダ情報(3001)及び画像付加情報等(3003)とから構成される。
【0048】
以下、ヘッダ情報(3001)に含まれる情報について説明を行う。
【0049】
パケット・タイプはヘッダ情報(3001)内のPcktType(3004)で識別される。PcktType(3004)にはリピートフラグが含まれており、画像データ(3002)が1つ前に送信したデータパケットの画像データと同一の場合、リピートフラグをセットする。
【0050】
ChipID(3005)はパケットの送信先示す。
ImageType(3006)は画像データのタイプを示す。
PageID(3007)は画像データのページ番号を示す。
JobID(3008)はソフトウェアで画像処理を管理するためのジョブIDを格納する。
PacketIDY(3009)及びPacketIDX(3010)は、パケットに含まれる(又は指定される)画像データが、画像全体においてどの位置におけるタイルに相当するかを示す。タイル位置はY方向(PacketIDY(3009))とX方向(PacketIDX(3010))を組み合わせ、YnXnで表される。
【0051】
データパケットは画像データが圧縮されている場合と非圧縮の場合とがある。本実施形態では、圧縮アルゴリズムとして、多値カラー(多値グレースケールを含む)の場合はJPEGを、2値の場合はパックビッツを採用した例を示した。圧縮されている場合と非圧縮の場合との区別はCompressFlag(3017)で示される。
【0052】
Process Instruction(3011)は5bitのUnitID(3019)及び3bitのMode(3020)の組である処理Unit1−8から構成され、各処理Unitは左(下位)から順番に処理される。処理されたUnitID及びModeは廃棄され、次に処理されるUnitID及びModeが左端に位置するよう、Process Instruction全体が左に8Bitシフトされる。ProcessInstruction(3011)にはUnitID(3019)とMode(3020)の組が最大8組格納される。UnitID(3019)は各画像データ処理部を指定し、Mode(3020)は各画像データ処理部での動作モードを指定する。これにより、1つの画像データパケットに含まれる(又は指定される)画像データに対し、最大でのべ8つの画像データ処理部による連続処理を指定することが可能である。
【0053】
PacketByteLength(3012)はパケットのトータルバイト数を示す。
ImageDataByteLengh(3015)は画像データのバイト数を示す。
ZDataByteLength(3016)は画像付加情報のバイト数を示す。
ImageDataOffset(3013)、ZDataOffset(3014)はそれぞれ、画像データおよび画像付加情報の、パケットの先頭からのオフセットを示す。
【0054】
(2)コマンドパケット(図4)
レジスタ設定バス(2109)へのアクセスを行うためのものである。本パケットを用いることにより、CPU(2001)より画像メモリ(2123)へのアクセスも可能である。このコマンドパケットは、ヘッダ(4001)及びコマンド(パケットデータ部)(4002)から構成される。
【0055】
ヘッダ(4001)におけるChipID(4004)には、コマンドパケットの送信先となる画像処理部(2149)を表すIDが格納される。
PageID(4007)、JobID(4008)はそれぞれ、ソフトウェアで管理するためのPage IDおよびJob IDを格納する。
Packet ID(4009)は1次元で表される。Data PacketのX−coordinateのみを使用する。
PacketByteLength(4010)は128Byte固定である。
【0056】
パケットデータ部(4002)には、アドレス(4011)とデータ(4012)の組を1つのコマンドとして、最大12個のコマンドを格納することが可能である。ライトかリードかのコマンドのタイプはCmdType(4005)で示され、コマンドの数はCmdnum(4006)で示される。
【0057】
(3)インタラプトパケット(図5)
インタラプトパケットはヘッダ(5001)及びインタラプトデータ(パケットデータ部)(5002)からなり、画像処理部(2149)からCPU(2001)への割り込みを通知するために用いられる。
【0058】
ステータス処理部(2105)はインタラプトパケットを送信すると、次に送信の許可がされるまではインタラプトパケットを送信してはならない。
【0059】
PacketByteLength(5006)は128Byte固定である。
【0060】
パケットデータ部(5002)には、画像処理部(2149)の各内部モジュールのステータス情報(5007)が格納されている。ステータス処理部(2105)は画像処理部(2149)内の各モジュールのステータス情報を集め、一括してシステム制御部(2150)に送ることができる。
【0061】
ChipID(5004)にはインタラプトパケットの送信先となるシステム制御部(2150)を表すIDが格納される。また、IntChipID(5005)にはインタラプトパケットの送信元となる画像処理部(2149)を表すIDが格納される。
【0062】
(パケットテーブルの構成)
上記した各パケットは、図6に示すようなパケットテーブル(6001)によって管理される。このパケットテーブルは画像データと対で使用され、図8に示したパケットテーブル生成部(103)で生成されるものである。
【0063】
テーブルの値に0を5bit付加すると、パケットの先頭Address(Packet Start Address)(6002)、パケットのバイト長(Packet Byte Length)(6005)となる。すなわち、
Packet Address Pointer (27bit) + 5b00000 = Packet先頭Address
Packet Length (11bit) + 5b00000 = Packet Byte Length
となる。
【0064】
パケットテーブル(6001)とチェーンテーブル(Chain Table)(6010)とは分割されないものとする。
【0065】
パケットテーブル(6001)は常に走査方向に並んでおり、Yn/Xn=000/000, 000/001,000/002,....という順に並んでいる。このパケットテーブル(6001)のエントリは一意に1つのタイルを示す。また、Yn/Xmaxの次のエントリはYn+1/X0となる。
【0066】
パケットがひとつ前のパケットとまったく同じデータである場合は、そのパケットはメモリ上には書かず、パケットテーブルのエントリに1つめのエントリと同じPacket Address Pointer、Packet Lengthを格納する。1つのパケットデータを2つのテーブルエントリが指すようなかたちになる。この場合、2つめのテーブルエントリのRepeat Flag(6003)がセットされる。
【0067】
パケットがチェーンDMAにより複数に分断された場合は、Divide Flag(6004)をセットし、そのパケットの先頭部分が入っているチェーンブロックのチェーンテーブル番号(6006)をセットする。
【0068】
チェーンテーブル(6010)のエントリはChain Block Address(6011)とChain Block Length(6012)からなっており、テーブルの最後のエントリにはChain Block Address(6011)、Chain Block Length(6012)共に0を格納しておく。
【0069】
(処理の概要)
実施形態における画像形成処理は、画像データの経路が異なる2つの動作モードを有する。これらの動作モードは画像リングインターフェース1(2147)内部に設けられたレジスタ(201a)(図8を参照)への設定を行うことで、ソフトウェアにより切り替えることが可能な構成になっている。
【0070】
第1のモードは、画像データを画像タイルデータに変換した後にRAM(2002)に格納し、必要に応じて画像データの加工処理(例えば、回転、色変換、縮小等)を行い、画像プリントを行う、タイル画像転送モードである。
【0071】
第2のモードは、画像データ格納手段としてのRAM(2002)を介すことなく、読み込んだ画像データをラスタデータのままプリンタに転送する、ラスタ画像出力モードである。
【0072】
以下、これら2つの動作モードについて詳細に説明する。
【0073】
(1)タイル画像転送モード
レンダリング部(2060)より出力されたレンダリング後のラスタ画像データは、色空間変換処理部(2135)を介してYCMKの4色に分解される。YCMKの各ビデオデータは、タイル生成部(2061)で32ラスタライン毎にバッファリングされ、その後、32画素×32画素のタイル画像に切り出され、画像リングインターフェース2(2148)に出力される。
【0074】
以下、図8の、画像リングインターフェース2 (2148)の内部構成を示すブロック図を用いて説明する。
【0075】
タイル画像転送モード時は、図8の101に示すモード信号(画像リングインターフェース1(2147)の制御部(201)より送出される(図8を参照)。)が“1”となり、制御部(105)は、タイル画像DMA(102)、パケットテーブル生成部(103)、パケットテーブルDMA(107)の活性化を行う。
【0076】
タイル生成部(2061)からの入力信号は、パケットテーブル生成部(103)、タイル画像DMA(102)および、制御部(105)にそれぞれ入力される。まず、タイル画像DMA(102)にてタイル内の画像部分をマルチプレクサ(MUX)(106)を経由して、システムバスブリッジ(2007)へ送出する。
【0077】
同時に、パケットテーブル生成部(103)にて、入力されたタイル画像データ内に格納されたパケットIDを、あらかじめ制御部(105)より通知さたDMA転送先アドレスと共に保持しておく。タイル画像の転送終了後、制御部(105)のコントロールにより、マルチプレクサ(106)が切り替えられ、パケットテーブルDMA(107)によって、上記パケットテーブル生成部(103)に保持されたパケットテーブルがシステムバスブリッジ(2007)に送出される。これらのデータは順次RAM(2002)に格納される。
【0078】
以上の処理により、レンダリングデータのタイル画像転送モード時には、RAM(2002)上にタイルデータと、パケットテーブルが生成される。
【0079】
次に、図7の、画像リングインターフェース1(2147)の内部構成を示すブロック図を用いて説明する。
【0080】
タイル画像転送モード時には、上記RAM(2002)に格納されたタイルデータとパケットテーブルとが、プリンタ(2095)への出力の必要が発生した時点で、画像リングインターフェース1(2147)内のパケットテーブル読み出しDMA(202)及び、タイル画像DMA(203)にてRAM(2002)より読み出され、画像リング(2008)、画像処理部(2149)を介しプリントアウトが行われる。この場合、マルチプレクサ(205)は必要に応じ、パケットテーブル読み出しDMA(202)、タイル画像DMA(203)のどちらかを選択するように制御される。
【0081】
タイル画像転送モードにおける動作は上記のとおりである。次に、第2のモード、ラスタ画像出力モードの説明をする。
【0082】
(2)ラスタ画像出力モード
ラスタ画像出力モード時には、色空間変換処理部(2135)より画像リングインターフェース1(2147)に入力されたビデオ信号は、ビデオ同期部(204)にて画像処理部(2149)より供給される同期信号(Hsync,Vsync)及びクロック(Clock)に同期し、マルチプレクサ(205)を介して、画像リング(2008)に出力される。
【0083】
実施形態では、画像処理部(2149)内のコマンド処理部(2104)内に、図2に示すように、ラスタ画像出力モード時に設定するラスタ画像出力モードレジスタ(2104a)と、ラスタ画像バイパス回路(2104b)を新たに設けた。しかし、画像処理部(2149)内の構成は本発明を限定するものではなく、例えば、ラスタ画像出力モードのみに対応した画像処理部も考えられる。
【0084】
ラスタ画像出力モード時は、システム制御部(2150)より、コマンドパケットで、ラスタ画像出力モードレジスタ(2104a)を設定し、画像処理部(2149)をラスタ画像出力モードに設定する。
【0085】
本モードにおいては、画像リング(2008)を介して画像処理部(2149)へ入力されたビデオ信号は、ラスタ画像バイパス回路(2104b)により、画像リングインターフェース3(2101)から画像出力インターフェース(2113)に直接転送され、プリンタ用画像処理部(2115)を介してプリンタ(2095)へと出力される。
【0086】
よって、ラスタ画像出力モード時には、画像データがRAM(2002)に格納されることがない。
【0087】
以上説明した実施形態によれば、画像形成処理は、第1のモードとしてのタイル画像転送モード、および、第2のモードとしてのラスタ画像転送モードの、2つの動作モードを有し、ソフトウェアにより切替が可能である。タイル画像転送モードは、レンダリング後のラスタ画像をタイル生成部(2061)においてタイル画像に変換し、画像リングインターフェース2(2148)を介しタイルデータとしてRAM(2002)に格納し、格納後のタイルデータを印刷する場合には、画像リングインターフェース1(2147)内のDMA回路によりタイル画像を読み出し、画像リング(2008)へ出力する。
【0088】
一方、ラスタ画像転送モードは、レンダリング後のラスタビデオデータを画像リングインターフェース1(2147)内の切り替え回路を介し直接画像リング(2008)へ送出する。
【0089】
また、上述した実施形態における画像処理装置コントローラは、単一のLSIで実現することができる。よって、部品点数を削減することができ、かつ、信頼性も向上する。
【0090】
このように、画像データの伝送経路が異なる2つの動作モードを選択可能な画像処理装置コントローラが単一のLSIで供給することで、例えば、安価に単機能プリンタ機器を構成すること、あるいは、安価に複合機器を構成することが、専用の画像処理装置コントローラを用意することなく実現が可能となる。
【0091】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ,インタフェイス機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0092】
上述したように、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0093】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0094】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0095】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0096】
【発明の効果】
以上説明したように、本発明によれば、単一の制御装置でもって機能の異なる単一システムまたは複合システムを実現することを可能にし、もってシステムを安価に構成することを可能にする画像処理装置および画像処理システムを提供することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る画像処理装置を用いた画像形成システムの構成例を示すブロック図である。
【図2】本発明の実施形態における画像処理部内のコマンド処理部の詳細構成を示すブロック図である。
【図3】実施形態における画像処理装置コントローラ内で使用されるデータパケットのフォーマットを示す図である。
【図4】実施形態における画像処理装置コントローラ内で使用されるコマンドパケットのフォーマットを示す図である。
【図5】実施形態における画像処理装置コントローラ内で使用されるインタラプトパケットのフォーマットを示す図である。
【図6】実施形態における画像処理装置コントローラ内で使用されるパケットテーブルのフォーマットを示す図である。
【図7】実施形態における画像リングインターフェース1の詳細構成を示すブロック図である。
【図8】実施形態における画像リングインターフェース2の詳細構成を示すブロック図である。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus and an image processing system that perform predetermined processing on image data and output the processed image data.
[0002]
[Prior art]
An image processing apparatus controller as an image processing apparatus that controls each image processing device is incorporated in a complex system including a plurality of image processing devices including a scanner as an image input device, a printer as an image output device, and the like. The image processing apparatus controller generally includes (1) a system control unit that controls the entire system, and (2) an image processing unit that performs input / output of image data to / from each image processing device and various types of image processing. Application 2002-223125).
[0003]
Conventionally, in the image processing apparatus controller, a configuration has been proposed in which a rendering unit that develops a printer description language (PDL) code or an intermediate display list into a bitmap image is connected to a rendering unit interface of the image processing unit. ing.
[0004]
[Problems to be solved by the invention]
However, in the image processing controller having the above configuration, the system control unit and the rendering unit are connected via an external bus (for example, a PCI bus). Therefore, in order to output data in the RAM provided in the system to an image output device such as a printer, the data is sent to a rendering unit via a system control unit and an external bus, and then rendered by the rendering unit. The image data is sent to the image output device via the image processing unit.
[0005]
In addition, the above-described image processing device controller is equipped with a large-capacity memory, so that, in parallel with storing the generated image of the rendering operation result in the memory, it is possible to perform various image processing that consumes the memory. In addition, the configuration is optimal for a complex system that enables a single resource, a printer, to be shared with PDL printing and other image output processing (such as copying) with maximum efficiency. On the other hand, when such a high-performance image processing apparatus controller is applied only to a printer that does not require a specific image processing such as a rotation operation to constitute a printer single-function device, it is clearly a spec over, It cannot be provided at low cost. Then, eventually, it is necessary to manufacture a dedicated image processing apparatus controller corresponding to the function to be provided in the system.
[0006]
SUMMARY OF THE INVENTION The present invention has been made in view of such problems of the related art, and enables a single system or a complex system having different functions to be realized by a single control device, thereby configuring the system at low cost. It is an object of the present invention to provide an image processing device which enables the image processing.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, for example, an image processing apparatus of the present invention has the following configuration. That is,
An image processing device connected to the image output device and supplying input image data to the image output device,
Rendering means for generating raster image data based on the input image data,
Tile image conversion means for converting the raster image data into tile image data handled in a predetermined tile unit;
Storage means for storing the tile image data;
First data supply means for supplying the tile image data stored in the storage means to the image output device;
A second data supply unit that supplies the raster image data generated by the rendering unit to the image output device;
Selecting means for selecting one of the first and second data supply means;
It is characterized by having.
[0008]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0009]
(Configuration of image forming system)
FIG. 1 is a block diagram illustrating a configuration example of an image forming system using an image processing apparatus according to an embodiment of the present invention. Although FIG. 1 illustrates an example in which the image processing apparatus according to the present embodiment is applied to an image forming apparatus having a printer and a scanner, it is possible to apply the image processing apparatus to an image forming apparatus having any other configuration. Of course, it is also possible to use the image processing apparatus alone.
[0010]
The image processing device controller (2000) having the image processing unit (2149) functions as the image processing device according to the present invention. This image processing apparatus controller (2000) is connected to a scanner (2070) as an image input device and a printer (2095) as an image output device, and exchanges data with an external device via a LAN (2011). It is configured to be able to communicate.
[0011]
The system control unit (2150) includes a CPU (2001) therein and controls the entire image processing apparatus controller. In the present embodiment, an example using two CPUs will be described. These two CPUs are connected to a system bus bridge (2007) via a common CPU bus (2126).
[0012]
Reference numeral 2007 denotes a system bus bridge that functions as a first bus switch. CPU bus (2126), RAM controller (2124), ROM controller (2125), IO bus 1 (2127), sub bus switch (2128), IO bus 2 (2129), image ring interface 1 (2147), image ring interface 2 (2148) is connected to the system bus bridge (2007).
[0013]
2128 is a sub-bus switch that functions as a second bus switch. The image DMA1 (2130), the image DMA2 (2132), the font decompression unit (3134), the sort circuit (2135), and the bitmap trace unit (2136) are connected to the sub bus switch (2128). The sub-bus switch (2128) arbitrates the memory access requests output from these DMAs, and connects to the system bus bridge (2007).
[0014]
The RAM (2002) is a system work memory for the operation of the CPU (2001), and is also an image memory for temporarily storing image data. This RAM (2002) is controlled by a RAM controller (2124).
[0015]
The ROM (2003) is a boot ROM, and stores a system boot program. This ROM (2003) is controlled by a ROM controller (2125).
[0016]
The image DMA1 (2130) is connected to the image compression unit (2131), and is uncompressed by the image compression unit (2131) on the RAM (2002) based on information set via the register access ring (2137). It controls reading of data, compression, and writing back of compressed data.
[0017]
The image DMA2 (2132) is connected to the image decompression unit (2133), and based on the information set via the register access ring (2137), the image decompression unit (2133) uses the compressed data on the RAM (2002). Read-out, decompression, and write-back of decompressed data are controlled.
[0018]
The font decompression unit (2134) is based on a font code included in PDL (Page Description Language) data externally transferred via the LAN interface (2010) or the like, and is based on the ROM (2003) or the RAM (2002). Expands the compressed font data stored in the file.
[0019]
The bitmap trace circuit (2136) is a circuit that extracts edge information from bitmap data.
[0020]
The IO bus 1 (2127) is a type of internal IO bus, and includes a USB bus controller, a USB interface (2138), a general-purpose serial port (2139), an interrupt controller (2140), and a GPIO interface (2141), which are standard buses. Connected. IO bus 1 includes a bus arbiter (not shown).
[0021]
The operation unit I / F (2006) is connected to the operation unit (UI) (2012), and outputs image data to be displayed on the operation unit (2012) to the operation unit (2012). Also, it has a role of transmitting information input by the user from the operation unit (2012) to the CPU (2001).
[0022]
The IO bus 2 (2129) is a kind of internal IO bus, and the general-purpose bus interfaces 1 and 2 (2142) and the LAN controller (2010) are connected. The IO bus 2 includes a bus arbiter (not shown).
[0023]
The general-purpose bus interface (2142) is a bus bridge that supports a standard IO bus. In the present embodiment, an example in which the PCI bus (2143) is adopted has been described.
[0024]
The external storage device (2004) is a hard disk drive (HDD) and stores system software, image data, and the like. This external storage device (2004) is connected to one PCI bus (2143) via a disk controller (2144).
[0025]
The LAN controller (2010) is connected to the LAN (2011) via the MAC circuit (2145) and the PHY / PMD circuit (2146), and inputs and outputs information.
[0026]
The image ring interface 1 (2147) and the image ring interface 2 (2148) are interfaces for connecting the system bus bridge (2007) to the image ring (2008) that transfers image data at high speed, and stores compressed image data in the RAM. (2002) and a DMA controller that transfers data between the image processing unit (2149).
[0027]
The image ring (2008) is a bus configured by a combination of a pair of unidirectional connection paths (image ring 1 and image ring 2). The image ring (2008) includes a tile expansion unit (2103), a command processing unit (2104), and a status process via an image ring interface 3 (2101) and an image interface 4 (2102) in the image processing unit (2149). Unit (2105), a tile compression unit (2106), and an image output interface (2113). In the present embodiment, an example has been described in which two sets of tile expansion units (2103) and three sets of tile compression units are mounted.
[0028]
The tile expansion unit (2103) is connected to the image ring interface 3 (2101) and also to the tile bus (2107). The tile expansion unit (2103) is a bus bridge that expands the compressed image data input from the image ring (2008) and transfers the expanded image data to the tile bus (2107). In the present embodiment, for example, JPEG is used for multivalued data, and PackBits is used for binary data as an expansion algorithm.
[0029]
The tile compression section (2106) is connected to the image ring interface 4 (2102) and also to the tile bus (2107). The tile compression unit (2106) is a bus bridge that compresses the uncompressed image data input from the tile bus (2107) and transfers it to the image ring (2008). In this embodiment, JPEG is used for multi-valued data and PackBits is used for binary data as a compression algorithm in correspondence with the above-mentioned decompression algorithm.
[0030]
The command processing unit (2104) is connected to the image ring interfaces 3 and 4 (2101 and 2102), and also connected to the register setting bus (2109), and the CPU (2001) input via the image ring (2008). The written register setting request is written to the corresponding block connected to the register setting bus (2109). Further, based on a register read request issued from the CPU (2001), information is read from the corresponding register via the register setting bus (2109) and transferred to the image ring interface 4 (2102).
[0031]
The status processing unit (2105) includes an image data processing unit (a multi-value conversion unit (2119), a binarization unit (2118), a color space conversion unit (2117), an image rotation unit (2030), a resolution conversion unit). (2116)), an interrupt packet for issuing an interrupt to the CPU (2001) is generated, and output to the image ring interface 4.
[0032]
The following functional blocks are connected to the tile bus (2107) in addition to the above blocks. Image input interface (2112), image output interface (2113), multi-level conversion unit (2119), binarization unit (2118), color space conversion unit (2117), image rotation unit (2030), resolution conversion unit (2116) ).
[0033]
The image input interface (2112) inputs the raster image data subjected to the correction image processing by the scanner image processing unit (2114) described later, and converts the raster image data into a tile image by a predetermined method set via the register setting bus (2109). , And synchronize the clock, and output to the tile bus (2107).
[0034]
The image output interface (2113) receives tile image data from the tile bus (2107), converts the structure into a raster image, changes the clock rate, and outputs the raster image to the printer image processing unit (2115). I do.
[0035]
The image rotation unit (2030) rotates image data.
The resolution converter (2116) changes the resolution of the image data.
The color space conversion unit (2117) converts the color space of the color and grayscale images.
The binarizing unit (2118) binarizes a multi-valued (color, gray scale) image.
The multi-level conversion unit (2119) converts a binary image into multi-level data.
[0036]
The external bus interface unit (2120) sends the write and read requests issued by the CPU (2001) to the image ring interfaces 1, 2, 3, 4 (2147, 2148, 2101, 1022) and the command processing unit (2104). , A bus bridge that receives the data via the register setting bus (2109) and converts and outputs the converted data to the external bus 3 (2121). In this embodiment, the external bus 3 (2121) is connected to the image processing unit for printer (2115) and the image processing unit for scanner (2114).
[0037]
The memory control unit (2122) is connected to the memory bus (2108), and is divided into addresses in advance according to the requests of the image data processing units (2116, 2117, 2118, 2119, 2030) in the image processing unit (2149). For the image memories 1 and 2 (2123), operations such as writing and reading of image data, and refreshing as necessary are performed. In the present embodiment, for example, an SDRAM is used as the image memory.
[0038]
The scanner image processing unit (2114) performs predetermined correction image processing on image data scanned by the scanner (2070), which is an image input device. Further, the printer image processing unit (2115) performs predetermined correction image processing for image formation output, and outputs the result to the printer (2095).
[0039]
The rendering unit (2060) develops the PDL code or the intermediate display list into a bitmap image.
[0040]
(Internal configuration of image ring interface 1)
FIG. 7 is a block diagram showing the internal configuration of the image ring interface 1 (2147).
[0041]
The image ring interface 1 (2147) includes a control unit (201) for controlling the operation of each block constituting the image ring interface 1 (2147), a packet table read DMA (202) for reading a packet table, A tile image DMA (203) for DMA transfer of tile image data, a video synchronization unit (204) for synchronizing a video signal with a predetermined synchronization signal, and data for sending to an image ring (2008) are multiplexed. A multiplexer (MUX) (205) is provided.
[0042]
The control unit (201) has a control register group (not shown) therein. The control unit (201) includes a register (201 a) shown in the figure, and switches the image data transfer mode between a tile image transfer mode and a raster image output mode, which will be described later, according to an input register setting signal. It is configured to be possible. The mode signal (101) indicating which mode is set is output to the image ring interface 2 (2148).
[0043]
(Internal configuration of image ring interface 2)
FIG. 8 is a block diagram showing the internal configuration of the image ring interface 2 (2148).
[0044]
The image ring interface 2 (2148) includes a control unit (105) for controlling the operation of each block constituting the image ring interface 2 (2148), a tile image DMA (102) for performing DMA transfer of tile image data, A packet table generation unit (103) for generating a packet table described later, a packet table DMA (107) for performing DMA transfer of the packet table, and a multiplexer (MUX) for multiplexing data to be transmitted to the system bus bridge (2007). ) (106).
[0045]
The image ring interface 2 (2148) includes a plurality of circuit blocks having the same configuration as described above, and performs processing of a tile image input from the image ring (2008). When a plurality of controllers exist, when the controller according to the present invention is used as a controller of a multifunction device, it is possible to minimize performance degradation when a conflict between a print operation and a copy operation occurs. However, a configuration in which only one circuit block similar to the above configuration is built in the image ring interface 2 is also possible as a configuration.
[0046]
(Packet configuration)
Next, a format of a packet used for processing image data in the embodiment will be described. The image processing apparatus controller (2000) in the embodiment packetizes the image data, the command from the CPU (2001), and the interrupt information issued from each image data processing unit (2116, 2117, 2118, 2119, 2030). In the specified format. There are the following types of packet data.
[0047]
(1) Data packet (Fig. 3)
The image data (3002) in units of tiles divided by a predetermined number of pixels (in this embodiment, 32 pixels × 32 pixels), header information (3001) in which control information described later is stored, and image additional information (3003) Be composed.
[0048]
Hereinafter, information included in the header information (3001) will be described.
[0049]
The packet type is identified by PcktType (3004) in the header information (3001). The PcktType (3004) includes a repeat flag. If the image data (3002) is the same as the image data of the data packet transmitted immediately before, the repeat flag is set.
[0050]
The ChipID (3005) indicates the destination of the packet.
ImageType (3006) indicates the type of image data.
Page ID (3007) indicates the page number of the image data.
Job ID (3008) stores a job ID for managing image processing by software.
PacketIDY (3009) and PacketIDX (3010) indicate at which position the image data included (or specified) in the packet corresponds to the tile in the entire image. The tile position is represented by YnXn by combining the Y direction (PacketIDY (3009)) and the X direction (PacketIDX (3010)).
[0051]
The data packet includes a case where the image data is compressed and a case where the image data is not compressed. In the present embodiment, an example in which JPEG is used for multi-valued colors (including multi-valued gray scales) and PackBits is used for binary values as a compression algorithm has been described. The distinction between the compressed case and the uncompressed case is indicated by CompressFlag (3017).
[0052]
The process instruction (3011) is composed of processing units 1-8, which are a set of a 5-bit unit ID (3019) and a 3-bit mode (3020), and each processing unit is processed in order from the left (lower). The processed UnitID and Mode are discarded, and the entire Process Instruction is shifted left by 8 bits so that the next processed UnitID and Mode are located at the left end. The ProcessInstruction (3011) stores up to eight sets of UnitID (3019) and Mode (3020). Unit ID (3019) specifies each image data processing unit, and Mode (3020) specifies the operation mode in each image data processing unit. This makes it possible to designate continuous processing by a maximum of eight image data processing units for image data included (or designated) in one image data packet.
[0053]
PacketByteLength (3012) indicates the total number of bytes of the packet.
ImageDataByteLength (3015) indicates the number of bytes of image data.
ZDataByteLength (3016) indicates the number of bytes of the image additional information.
ImageDataOffset (3013) and ZDataOffset (3014) indicate the offset of the image data and the image additional information from the head of the packet.
[0054]
(2) Command packet (Fig. 4)
This is for accessing the register setting bus (2109). By using this packet, the CPU (2001) can also access the image memory (2123). This command packet includes a header (4001) and a command (packet data section) (4002).
[0055]
In the ChipID (4004) in the header (4001), an ID indicating the image processing unit (2149) to which the command packet is to be transmitted is stored.
The Page ID (4007) and the Job ID (4008) store a Page ID and a Job ID to be managed by software, respectively.
The Packet ID (4009) is represented in one dimension. Only X-coordinate of Data Packet is used.
PacketByteLength (4010) is fixed at 128 bytes.
[0056]
The packet data section (4002) can store a maximum of 12 commands using a set of an address (4011) and data (4012) as one command. The type of command, write or read, is indicated by CmdType (4005), and the number of commands is indicated by Cmdnum (4006).
[0057]
(3) Interrupt packet (Fig. 5)
The interrupt packet includes a header (5001) and interrupt data (packet data section) (5002), and is used to notify an interrupt from the image processing section (2149) to the CPU (2001).
[0058]
After transmitting the interrupt packet, the status processing unit (2105) must not transmit the interrupt packet until the transmission is permitted next time.
[0059]
PacketByteLength (5006) is fixed at 128 bytes.
[0060]
The packet data section (5002) stores status information (5007) of each internal module of the image processing section (2149). The status processing unit (2105) can collect status information of each module in the image processing unit (2149) and send it to the system control unit (2150) collectively.
[0061]
The ChipID (5004) stores an ID indicating the system control unit (2150) to which the interrupt packet is transmitted. Also, an ID indicating the image processing unit (2149) that is a transmission source of the interrupt packet is stored in IntChipID (5005).
[0062]
(Structure of packet table)
Each packet described above is managed by a packet table (6001) as shown in FIG. This packet table is used in pairs with the image data, and is generated by the packet table generation unit (103) shown in FIG.
[0063]
When 0 bits are added to the value of the table by 5 bits, the start address (Packet Start Address) of the packet (6002) and the byte length of the packet (Packet Byte Length) (6005) are obtained. That is,
Packet Address Pointer (27 bits) + 5b00000 = Packet Top Address
Packet Length (11 bits) + 5b00000 = Packet Byte Length
It becomes.
[0064]
It is assumed that the packet table (6001) and the chain table (Chain Table) (6010) are not divided.
[0065]
The packet table (6001) is always arranged in the scanning direction, and Yn / Xn = 000 / 0,000,000 / 001,000 / 002,. . . . It is arranged in the order. The entry of the packet table (6001) uniquely indicates one tile. The next entry of Yn / Xmax is Yn + 1 / X0.
[0066]
If the packet is exactly the same data as the immediately preceding packet, the packet is not written in the memory, and the same Packet Address Pointer and Packet Length as the first entry are stored in the packet table entry. One packet data is represented by two table entries. In this case, the Repeat Flag (6003) of the second table entry is set.
[0067]
When the packet is divided into a plurality of pieces by the chain DMA, the Divide Flag (6004) is set, and the chain table number (6006) of the chain block containing the head of the packet is set.
[0068]
An entry of the chain table (6010) is composed of a Chain Block Address (6011) and a Chain Block Length (6012), and the last entry of the table stores 0 for both the Chain Block Address (6011) and the Chain Block Length (6012). Keep it.
[0069]
(Overview of processing)
The image forming process in the embodiment has two operation modes in which the paths of the image data are different. These operation modes can be switched by software by setting a register (201a) (see FIG. 8) provided inside the image ring interface 1 (2147).
[0070]
In the first mode, image data is converted into image tile data, stored in the RAM (2002), processed (eg, rotated, color-converted, reduced, etc.) as needed, and image printing is performed. This is the tile image transfer mode.
[0071]
The second mode is a raster image output mode in which read image data is transferred to a printer as raster data without going through a RAM (2002) as image data storage means.
[0072]
Hereinafter, these two operation modes will be described in detail.
[0073]
(1) Tile image transfer mode
The rendered raster image data output from the rendering unit (2060) is separated into four colors of YCMK via a color space conversion processing unit (2135). Each video data of YCMK is buffered for every 32 raster lines by the tile generation unit (2061), then cut out into a tile image of 32 pixels × 32 pixels, and output to the image ring interface 2 (2148).
[0074]
Hereinafter, a description will be given with reference to a block diagram showing the internal configuration of the image ring interface 2 (2148) in FIG.
[0075]
In the tile image transfer mode, the mode signal indicated by 101 in FIG. 8 (transmitted from the control unit (201) of the image ring interface 1 (2147) (see FIG. 8)) becomes “1”, and the control unit ( 105) activates the tile image DMA (102), the packet table generation unit (103), and the packet table DMA (107).
[0076]
An input signal from the tile generation unit (2061) is input to the packet table generation unit (103), the tile image DMA (102), and the control unit (105). First, the tile image DMA (102) sends the image portion in the tile to the system bus bridge (2007) via the multiplexer (MUX) (106).
[0077]
At the same time, the packet table generation unit (103) holds the packet ID stored in the input tile image data together with the DMA transfer destination address notified by the control unit (105) in advance. After the transfer of the tile image is completed, the multiplexer (106) is switched under the control of the control unit (105), and the packet table held in the packet table generation unit (103) is transferred by the packet table DMA (107) to the system bus bridge. (2007). These data are sequentially stored in the RAM (2002).
[0078]
By the above processing, in the tile image transfer mode of the rendering data, the tile data and the packet table are generated on the RAM (2002).
[0079]
Next, a description will be given using a block diagram showing the internal configuration of the image ring interface 1 (2147) in FIG.
[0080]
In the tile image transfer mode, when the tile data and the packet table stored in the RAM (2002) need to be output to the printer (2095), the packet table in the image ring interface 1 (2147) is read. The data is read from the RAM (2002) by the DMA (202) and the tile image DMA (203), and is printed out via the image ring (2008) and the image processing unit (2149). In this case, the multiplexer (205) is controlled so as to select either the packet table read DMA (202) or the tile image DMA (203) as necessary.
[0081]
The operation in the tile image transfer mode is as described above. Next, the second mode, the raster image output mode, will be described.
[0082]
(2) Raster image output mode
In the raster image output mode, a video signal input from the color space conversion processing unit (2135) to the image ring interface 1 (2147) is a synchronization signal supplied from the image processing unit (2149) by the video synchronization unit (204). Synchronized with (Hsync, Vsync) and clock (Clock), it is output to the image ring (2008) via the multiplexer (205).
[0083]
In the embodiment, as shown in FIG. 2, a raster image output mode register (2104a) set in the raster image output mode and a raster image bypass circuit (2104) are provided in the command processing unit (2104) in the image processing unit (2149). 2104b) is newly provided. However, the configuration in the image processing unit (2149) does not limit the present invention. For example, an image processing unit that supports only the raster image output mode is also conceivable.
[0084]
In the raster image output mode, the system control unit (2150) sets the raster image output mode register (2104a) by a command packet, and sets the image processing unit (2149) to the raster image output mode.
[0085]
In this mode, the video signal input to the image processing unit (2149) via the image ring (2008) is transferred from the image ring interface 3 (2101) to the image output interface (2113) by the raster image bypass circuit (2104b). Is transferred directly to the printer (2095) via the printer image processing unit (2115).
[0086]
Therefore, in the raster image output mode, the image data is not stored in the RAM (2002).
[0087]
According to the embodiment described above, the image forming process has two operation modes, the tile image transfer mode as the first mode and the raster image transfer mode as the second mode, and is switched by software. Is possible. In the tile image transfer mode, the raster image after rendering is converted into a tile image in the tile generation unit (2061), stored as tile data in the RAM (2002) via the image ring interface 2 (2148), and stored in the RAM (2002). Is printed, the tile image is read by the DMA circuit in the image ring interface 1 (2147) and output to the image ring (2008).
[0088]
On the other hand, in the raster image transfer mode, the raster video data after rendering is sent directly to the image ring (2008) via the switching circuit in the image ring interface 1 (2147).
[0089]
Further, the image processing apparatus controller in the above-described embodiment can be realized by a single LSI. Therefore, the number of parts can be reduced, and the reliability is improved.
[0090]
As described above, the image processing apparatus controller capable of selecting two operation modes having different transmission paths of image data is supplied by a single LSI, so that, for example, a single-function printer device can be configured at low cost, or Can be realized without preparing a dedicated image processing apparatus controller.
[0091]
[Other embodiments]
Note that the present invention is applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), but is not limited to a single device (for example, a copier, a facsimile device, etc.). May be applied.
[0092]
As described above, an object of the present invention is to supply a storage medium (or a recording medium) in which software program codes for realizing the functions of the above-described embodiments are recorded to a system or an apparatus, and to provide a computer (a computer) of the system or the apparatus. Alternatively, the present invention is also achieved when a CPU or an MPU reads and executes a program code stored in a storage medium. In this case, the program code itself read from the storage medium realizes the function of the above-described embodiment, and the storage medium storing the program code constitutes the present invention.
[0093]
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, and the like can be used.
[0094]
When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing.
[0095]
Further, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is executed based on the instruction of the program code. It goes without saying that the CPU included in the expansion card or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0096]
【The invention's effect】
As described above, according to the present invention, it is possible to realize a single system or a complex system having different functions with a single control device, and thus to realize a low-cost system. An apparatus and an image processing system can be provided.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration example of an image forming system using an image processing apparatus according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a detailed configuration of a command processing unit in the image processing unit according to the embodiment of the present invention.
FIG. 3 is a diagram illustrating a format of a data packet used in the image processing apparatus controller according to the embodiment.
FIG. 4 is a diagram illustrating a format of a command packet used in the image processing apparatus controller according to the embodiment.
FIG. 5 is a diagram illustrating a format of an interrupt packet used in the image processing apparatus controller according to the embodiment.
FIG. 6 is a diagram illustrating a format of a packet table used in the image processing apparatus controller according to the embodiment.
FIG. 7 is a block diagram illustrating a detailed configuration of an image ring interface 1 according to the embodiment.
FIG. 8 is a block diagram illustrating a detailed configuration of an image ring interface 2 according to the embodiment.

Claims (5)

画像出力装置に接続され、入力された画像データを当該画像出力装置に供給する画像処理装置であって、
前記入力された画像データに基づいてラスタ画像データを生成するレンダリング手段と、
当該ラスタ画像データを所定のタイル単位で取り扱われるタイル画像データに変換するタイル画像変換手段と、
当該タイル画像データを記憶する記憶手段と、
前記記憶手段に記憶された前記タイル画像データを前記画像出力装置に供給する第1のデータ供給手段と、
前記レンダリング手段で生成された前記ラスタ画像データを前記画像出力装置に供給する第2のデータ供給手段と、
前記第1および第2のデータ供給手段のいずれかを選択する選択手段と、
を有することを特徴とする画像処理装置。
An image processing device connected to the image output device and supplying input image data to the image output device,
Rendering means for generating raster image data based on the input image data,
Tile image conversion means for converting the raster image data into tile image data handled in a predetermined tile unit;
Storage means for storing the tile image data;
First data supply means for supplying the tile image data stored in the storage means to the image output device;
A second data supply unit that supplies the raster image data generated by the rendering unit to the image output device;
Selecting means for selecting one of the first and second data supply means;
An image processing apparatus comprising:
前記レンダリング部で生成された前記ラスタ画像データに対して所定の色空間変換処理を行う色空間変換処理手段を更に備え、
前記タイル画像変換手段は、当該色空間変換処理が行われた前記ラスタ画像データを前記タイル画像データに変換し、
前記第2のデータ供給手段は、前記色空間変換処理が行われた前記ラスタ画像データを前記画像出力装置に供給する、
ことを特徴とする請求項1に記載の画像処理装置。
Color space conversion processing means for performing a predetermined color space conversion process on the raster image data generated by the rendering unit,
The tile image conversion means converts the raster image data subjected to the color space conversion processing to the tile image data,
The second data supply unit supplies the raster image data subjected to the color space conversion processing to the image output device,
The image processing apparatus according to claim 1, wherein:
画像出力装置と、当該画像出力装置に接続され、入力された画像データを当該画像出力装置に供給する画像処理装置とを有する画像処理システムであって、
前記画像処理装置は、
前記入力された画像データに基づいてラスタ画像データを生成するレンダリング手段と、
当該ラスタ画像データを所定のタイル単位で取り扱われるタイル画像データに変換するタイル画像変換手段と、
当該タイル画像データを記憶する記憶手段と、
前記記憶手段に記憶された前記タイル画像データを前記画像出力装置に供給する第1のデータ供給手段と、
前記レンダリング手段で生成された前記ラスタ画像データを前記画像出力装置に供給する第2のデータ供給手段と、
前記第1および第2のデータ供給手段のいずれかを選択する選択手段と、
を有することを特徴とする画像処理システム。
An image processing system comprising an image output device and an image processing device connected to the image output device and supplying input image data to the image output device,
The image processing device includes:
Rendering means for generating raster image data based on the input image data,
Tile image conversion means for converting the raster image data into tile image data handled in a predetermined tile unit;
Storage means for storing the tile image data;
First data supply means for supplying the tile image data stored in the storage means to the image output device;
A second data supply unit that supplies the raster image data generated by the rendering unit to the image output device;
Selecting means for selecting one of the first and second data supply means;
An image processing system comprising:
コンピュータ装置を、
画像出力装置に接続され、入力された画像データを当該画像出力装置に供給する画像処理装置であって、
前記入力された画像データに基づいてラスタ画像データを生成するレンダリング手段と、
当該ラスタ画像データを所定のタイル単位で取り扱われるタイル画像データに変換するタイル画像変換手段と、
当該タイル画像データを記憶する記憶手段と、
前記記憶手段に記憶された前記タイル画像データを前記画像出力装置に供給する第1のデータ供給手段と、
前記レンダリング手段で生成された前記ラスタ画像データを前記画像出力装置に供給する第2のデータ供給手段と、
前記第1および第2のデータ供給手段のいずれかを選択する選択手段と、
を有する画像処理装置として機能させることを特徴とするプログラム。
Computer equipment,
An image processing device connected to the image output device and supplying input image data to the image output device,
Rendering means for generating raster image data based on the input image data,
Tile image conversion means for converting the raster image data into tile image data handled in a predetermined tile unit;
Storage means for storing the tile image data;
First data supply means for supplying the tile image data stored in the storage means to the image output device;
A second data supply unit that supplies the raster image data generated by the rendering unit to the image output device;
Selecting means for selecting one of the first and second data supply means;
A program for causing a computer to function as an image processing apparatus having the program.
請求項4に記載のプログラムを格納したコンピュータ装置読み取り可能な記憶媒体。A computer-readable storage medium storing the program according to claim 4.
JP2002320283A 2002-11-01 2002-11-01 Image processing apparatus and image processing system Withdrawn JP2004157609A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002320283A JP2004157609A (en) 2002-11-01 2002-11-01 Image processing apparatus and image processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002320283A JP2004157609A (en) 2002-11-01 2002-11-01 Image processing apparatus and image processing system

Publications (1)

Publication Number Publication Date
JP2004157609A true JP2004157609A (en) 2004-06-03

Family

ID=32801240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002320283A Withdrawn JP2004157609A (en) 2002-11-01 2002-11-01 Image processing apparatus and image processing system

Country Status (1)

Country Link
JP (1) JP2004157609A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8643896B2 (en) 2010-03-01 2014-02-04 Canon Kabushiki Kaisha Image processing apparatus for outputting raster image using a plurality of processors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8643896B2 (en) 2010-03-01 2014-02-04 Canon Kabushiki Kaisha Image processing apparatus for outputting raster image using a plurality of processors

Similar Documents

Publication Publication Date Title
JP4065503B2 (en) Image processing apparatus, image input / output apparatus, scaling process method, and memory control method
US7130072B2 (en) Multifunction system, image processing method, computer program and memory medium
JP2004126678A (en) System controller
US7193738B2 (en) Image processing apparatus and method
JP2003256179A (en) Image processing apparatus and image processing method
JP2003316714A (en) Apparatus and method for information processing
JP3907471B2 (en) Image input / output controller
JP2004157609A (en) Image processing apparatus and image processing system
JP4065550B2 (en) Image input / output control device, image processing device, image processing method in image input / output control device, and image processing method in image processing device
KR100570786B1 (en) Controller of multi function device
JP2018118477A (en) Image processing device, control method and program of the same
JP6833491B2 (en) Information processing device
JP3703431B2 (en) Data communication apparatus, image processing apparatus, data communication method, and data communication method in image processing apparatus
JP2003196044A (en) Image processing method and its device
JP2004253906A (en) Expanding apparatus
JP4065194B2 (en) Image forming apparatus
JP2006166102A (en) Multifunction system controller
JP2003348338A (en) Information processing apparatus
JP4514173B2 (en) Data processing method and image processing apparatus
JP2006229306A (en) Image processing apparatus
JP2002281293A (en) Image processor and image processing system
JP2001243025A (en) Device and method for processing data
JP2006287604A (en) Image processing apparatus, image processing method and computer program
JP2002281194A (en) Image processing apparatus and image processing system
JP2018086751A (en) Information processing device, control method and program of information processing device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060110