JP2004343202A - Image processor - Google Patents

Image processor Download PDF

Info

Publication number
JP2004343202A
JP2004343202A JP2003134508A JP2003134508A JP2004343202A JP 2004343202 A JP2004343202 A JP 2004343202A JP 2003134508 A JP2003134508 A JP 2003134508A JP 2003134508 A JP2003134508 A JP 2003134508A JP 2004343202 A JP2004343202 A JP 2004343202A
Authority
JP
Japan
Prior art keywords
color space
image
data
space conversion
packet
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
JP2003134508A
Other languages
Japanese (ja)
Inventor
Takeshi Suzuki
武史 鈴木
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 JP2003134508A priority Critical patent/JP2004343202A/en
Publication of JP2004343202A publication Critical patent/JP2004343202A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Color, Gradation (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processor for minimizing an area overhead in color space conversion and preventing a delay time by a color space selection circuit from being increased. <P>SOLUTION: The image processor requiring a plurality of color space conversion tables for carrying out data processing among a plurality of data wherein no color space is unified, is characterized in to include a color space conversion section which has a set of revisable color space conversion tables, and the image processing apparatus updates the color space conversion tables of the color space conversion section and thereafter applies color space conversion to object data when an external input output apparatus and data being a processing object are revised and the revision of the color space conversion tables is required. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、色空間の統一されていないデータ間での色の伝達を行うための色空間変換を行う画像処理装置に関するものである。
【0002】
【従来の技術】
オフィス機器のカラー化とインターネットによる画像通信の普及に伴い、文書、図形、写真、印刷などの静止画像から映像に至るまで、多様な色彩情報を交換する必要が生じている。しかしながら、機器間の色信号は統一されておらずそれぞれに固有の色空間を備えている。このため、異種の機器間での色の伝達は標準色空間を介し色変換を実施している。
【0003】
例えば、スキャナからプリンタへの色の伝達を考えた場合、スキャナで取り込まれた画像を標準色空間に変換した後、プリンタの色空間への変換が行われている。
【0004】
この色変換には「モデルベース」及び「テーブルベース」の変換方法が採用されている。数学的に変換が記述できるときを「モデルベース」、複雑な系でモデルが無く、測定に基づき、LUT(Look Up Table)で対照される場合を「テーブルベース」と呼んでいる。
【0005】
「テーブルベース」の変換方法はいかなる非線形かつ複雑な変換にも適用でき、かつ、複数段の処理を一括してテーブル化する事により量子化誤差の累積なども防げる。このため、最近では、LUTと補間を組み合わせた「テーブル補間法」が変換の主流となっており、高速画像処理LSI等を用いて実現されている。
【0006】
【発明が解決しようとする課題】
しかしながら、複数の入出力機器が接続される画像処理システムの場合、それぞれの機器は、異なる色空間を保有するため、それぞれの色空間と標準色空間との間での色空間変換の必要が生じる。しかしながら、可能な全ての入力に対する色空間変換テーブルを持つことは大容量のテーブルとそのテーブルを選択するための回路が必要となり、面積オーバーヘッドが大きくなると同時に、選択するための遅延時間が大きくなり性能劣化を生じてしまう。
【0007】
【課題を解決するための手段】
上記課題を解決するために、本発明の画像処理装置は、色空間の統一されていない複数データとの間でのデータ処理を行うために複数の色空間変換テーブルが必要となる画像処理装置であって、一組の変更可能な色空間変換テーブルを含む色空間変換部を持ち、処理対象の外部入出力装置及びデータが変更され、色空間変換テーブルの変更が必要となる場合に、色空間変換部の色空間変換テーブルを更新した後に対象データに対し色空間変換を行うことを特徴とする。
【0008】
【発明の実施の形態】
以下図面を参照して本発明の実施形態を説明する。
【0009】
(第一の実施形態)
図1は本発明の一実施形態を示す。
【0010】
1はシステム制御部であり、CPU等を含み、2のROMに格納される制御プログラムに基づいて各部を統括的に制御する。3はRAMであり、画像処理データと共に色空間変換テーブルとして使用するデータを保持する。4は外部入力装置であり、スキャナ、デジタルカメラ等が接続される。5は外部出力装置であり、プリンタ、ディスプレイ等が接続される。外部入出力装置からのデータは画像処理部6で処理される。7,8は入出力インターフェースとであり、外部入出力装置に応じた処理が行われる。9は色空間変換部であり、LUTを保持し、色空間変換が行われる。10はメモリ制御部であり、画像処理時の一時データを保管する画像メモリ12とバスの間の制御を行う。
【0011】
外部データ取り込み時には、RAM3からシステム制御部1を介して色空間変換用データを色空間変換部9の色空間変換テーブルを更新する。その後、外部入力装置5から取り込まれたデータは外部入力インターフェース7を介してバス11上に出力され、色空間変換部で外部入力装置に対する色空間変換を行った後、システム制御部1を介してRAM3に保持される。
【0012】
データ出力時にも、RAM3からシステム制御部1を介して色空間変換テーブルデータが色空間変換部9の色空間変換テーブルが更新される。出力データをRAM3からシステム制御部1を介してバスに出力した後、色空間変換部9で外部出力装置に応じた処理が行われた後、外部出力インターフェース8を介して外部出力装置6に出力される。
【0013】
また、RAM3に保存されているデータの色空間変換を行う際には、色空間変換用データをいろ空間変換部9の色空間変換テーブルを更新した後、RAM3の画像データはシステム制御部を介してバスに出力され、色空間変換部で変換した後、再度システム制御部1を介してRAM3に書き込まれる。
【0014】
色空間変換部の色空間変換テーブルの更新は対象データの変更により色空間の変更が必要となった場合のみ行えばよい。図2に色空間変換対象の外部入出力装置が変更された場合の制御フローを示す。対象装置が変更され(S200)、色空間変換テーブルを変更する必要がある場合(S201)、システム制御部1を介してRAM3から変換テーブルを読み込み、色空間変換部9を更新した(S202)後に、色空間の変換を実施する(S203)。
【0015】
以下、スキャナ機能、プリンタ機能、複写機能、ネットワーク機能といった様々な機能を兼ね備える複合機に適用した場合の装置構成及びその動作について詳細に説明する。
【0016】
[ハードウェア]
・全体構成
全体構成図を図4に示す。
【0017】
Controller Unit(2000)は画像入力デバイスであるScanner(2070)や画像出力デバイスであるPrinter(2095)と接続し、一方ではLAN(2011)や公衆回線(WAN)(2051)接続することで、画像情報やデバイス情報の入出力、PDLデータのイメージ展開を行う為のコントローラである。
【0018】
CPU(2001)はシステム全体を制御するプロセッサである。本実施形態では2つのCPUを用いた例を示す。これら二つのCPUは、共通のCPUバス(2126)に接続され、さらに、システムバスブリッジ(2007)に接続される。
【0019】
システムバスブリッジ(2007)は、バススイッチであり、CPUバス(2126)、RAMコントローラ(2124)、ROMコントローラ(2125)、IOバス1(2127)、サブバススイッチ(2128)、IOバス2(2129)、画像リングインターフェース1(2147)、画像リングインターフェース2(2148)が接続される。
【0020】
サブバススイッチ(2128)は、第二のバススイッチであり、画像DMA1(2130)、画像DMA2(2132)、フォント伸張部(3134)、ソート回路(2135)、ビットマップトレース部(2136)が接続され、これらのDMAから出力されるメモリアクセス要求を調停し、システムバスブリッジへの接続を行う。
【0021】
RAM(2002)はCPU(2001)が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。RAMコントローラ(2124)により制御される、本実施形態では、ダイレクトRDRAMを採用する例を示す。
【0022】
ROM(2003)はブートROMであり、システムのブートプログラムが格納されている。ROMコントローラ(2125)により制御される。
【0023】
画像DMA1(2130)は、画像圧縮部(3131)に接続し、レジスタアクセスリング(2137)を介して設定された情報に基づき、画像圧縮部(2131)を制御し、RAM(2002)上にある非圧縮データの読み出し、圧縮、圧縮後データの書き戻しを行う、本実施形態では、JPEGを圧縮アルゴリズムに採用した例を示す。
【0024】
画像DMA2(2132)は、画像伸張部(2133)に接続し、レジスタアクセスリング(2137)を介して設定された情報に基づき、画像伸張部(2133)を制御し、RAM(2002)上にある圧縮データの読み出し、伸張、伸張後データの書き戻しを行う、本実施形態では、JPEGを伸張アルゴリズムに採用した例を示す。
【0025】
フォント伸張部(2134)は、LANインターフェース(2010)等を介し外部より転送されるPDLデータに含まれるフォントコードに基づき、ROM(2003)もしくは、RAM(2002)内に格納された、圧縮フォントデータの伸張を行う。本実施形態では、FBEアルゴリズムを採用した例を示した。
【0026】
ソート回路(2135)は、PDLデータを展開する段階で生成されるディスプレイリストのオブジェクトの順番を並び替える回路である。
【0027】
ビットマップトレース回路(2136)は、ビットマップデータより、エッジ情報を抽出する回路である。
【0028】
IOバス1(2127)は、内部IOバスの一種であり、標準バスであるUSBバスのコントローラ、USBインターフェース(2138)、汎用シリアルポート(2139)、インタラプトコントローラ(2140)、GPIOインターフェース(2141)が接続される。IOバス1には、バスアービタ(図示せず)が含まれる。
【0029】
操作部I/F(2006)は操作部(UI)(2012)とインターフェース部で、操作部(2012)に表示する画像データを操作部(2012)に対して出力する。また、操作部(2012)から本システム使用者が入力した情報を、CPU(2001)に伝える役割をする。
【0030】
IOバス2(2129)は内部IOバスの一種であり、汎用バスインターフェース1及び2(2142)と、LANコントローラ(2010)が接続される。IOバス2にはバスアービタ(図示せず)が含まれる。
【0031】
汎用バスインターフェース(2142)は、2つの同一のバスインターフェースから成り、標準IOバスをサポートするバスブリッジである。本実施形態では、PCIバス(2143)を採用した例を示した。
【0032】
HDD(2004)はハードディスクドライブで、システムソフトウェア、画像データを格納する。ディスクコントローラ(2144)を介して一方のPCIバス(2143)に接続される。
【0033】
LANコントローラ(2010)は、MAC回路(2145)、PHY/PMD回路(2146)を介しLAN(2011)に接続し、情報の入出力を行う。Modem(2050)は公衆回線(2051)に接続し、情報の入出力を行う。
【0034】
画像リングインターフェース1(2147)及び画像リングインターフェース2(2148)は、システムバスブリッジ(2007)と画像データを高速で転送する画像リング(2008)を接続し、タイル化後に圧縮されたデータをRAM(2002)と矩形データ処理部(2149)間で転送するDMAコントローラである。
【0035】
画像リング(2008)は、一対の単方向接続経路の組み合わせにより構成される(画像リング1及び画像リング2)。画像リング(2008)は、矩形データ処理部(2149)内で、画像リングインターフェース3(2101)及び矩形データインターフェース4(2102)を介し、タイル伸張部(2103)、コマンド処理部(2104)、ステータス処理部(2105)、タイル圧縮部(2106)に接続される。本実施形態では、タイル伸張部(2103)を2組、タイル圧縮部を3組実装する例を示した。
【0036】
タイル伸張部(2103)は、画像リングインターフェースへの接続に加え、タイルバス(2107)に接続され、画像リングより入力された圧縮後の画像データを伸張し、タイルバス(2107)へ転送するバスブリッジである。本実施形態では、多値データにはJPEG、2値データにはパックビッツを伸張アルゴリズムとして採用した例を示す。
【0037】
タイル圧縮部(2106)は、画像リングインターフェースへの接続に加え、タイルバス(2107)に接続され、タイルバスより入力された圧縮前の画像データを圧縮し、画像リング(2008)へ転送するバスブリッジである。本実施形態では、多値データにはJPEG、2値データにはパックビッツを圧縮アルゴリズムとして採用した例を示す。
【0038】
コマンド処理部(2104)は、画像リングインターフェースへの接続に加え、レジスタ設定バス(2109)に接続され、画像リングを介して入力したCPU(2001)より発行されたレジスタ設定要求を、レジスタ設定バス(2109)に接続される該当ブロックへ書き込む。また、CPU(2001)より発行されたレジスタ読み出し要求に基づき、レジスタ設定バスを介して該当レジスタより情報を読み出し。画像リングインターフェース4(2102)に転送する。
【0039】
ステータス処理部(2105)は各画像処理部の情報を監視し、CPU(2001)に対してインタラプトを発行するためのインタラプトバケットを生成し、画像リングインターフェース4に出力する。
【0040】
タイルバス(2107)には上記ブロックに加え、以下の機能ブロックが接続される。
【0041】
レンダリング部インターフェース(2110)、画像入力インターフェース(2112)、画像出力インターフェース(2113)、多値化部(2119)、2値化部(2118)、色空間変換部(2117)、画像回転部(2030)、解像度変換部(2116)。
【0042】
レンダリング部インターフェース(2110)は、後述するレンダリング部により生成されたビットマップイメージを入力するインターフェースである。レンダリング部とレンダリング部インターフェースは、一般的なビデオ信号(2111)にて接続される。レンダリング部インターフェースは、タイルバス(2107)に加え、メモリバス(2108)、レジスタ設定バス(2109)への接続を有し、入力された、ラスタ画像をレジスタ設定バスを介して設定された、所定の方法により矩形データへの構造変換をすると同時にクロックの同期化を行い、タイルバス(2107)に対し出力を行う。
【0043】
画像入力インターフェースは(2112)は、後述するスキャナ用画像処理部(2114)により補正画像処理されたラスタイメージデータを入力とし、レジスタ設定バスを介して設定された、所定の方法により矩形データへの構造変換とクロックの同期化を行い、タイルバス(2107)に対し出力を行う。
【0044】
画像出力インターフェースは、タイルバスからの矩形データデータを入力とし、ラスター画像への構造変換及び、クロックレートの変更を行い、ラスター画像をプリンタ用画像処理部(2115)へ出力する。
【0045】
画像回転部(2030)は画像データの回転を行う。解度変換部(2116)は画像の解像度の変更を行う。色空間変換部(2117)はカラー及びグレースケール画像の色空間の変換を行う。2値化部(2118)は、多値(カラー、グレースケール)画像を2値化する。多値化部(2119)は2値画像を多値データへ変換する。
【0046】
外部バスインターフェース部(2120)は、画像リングインターフェース1、2,3,4、コマンド処理部、レジスタ設定バスを介し、CPU(2001)により発行された、書き込み、読み出し要求を外部バス3(2121)に変換出力するバスブリッジである。外部バス3(2121)は本実施形態では、プリンター用画像処理部(2115)、スキャナ用画像処理部(2114)に接続されている。
【0047】
メモリ制御部(2122)は、メモリバス(2108)に接続され、各画像処理部の要求に従い、あらかじめ設定されたアドレス分割により、画像メモリ1及び画像メモリ2(2123)に対して、画像データの書き込み、読み出し、必要に応じてリフレッシュ等の動作を行う。本実施形態では、画像メモリにSDRAMを用いた例を示した。
【0048】
スキャナ用画像処理部(2114)では、画像入力デバイスであるスキャナ(2070)によりスキャンされた画像データを補正画像処理する。
【0049】
プリンタ用画像処理部では、プリンタ出力のための補正画像処理を行い、結果をPrinter(2095)へ出力する。
【0050】
レンダリング部(2060)はPDLコードもしくは、中間ディスプレイリストをビットマップイメージに展開する。
【0051】
[システム全体]
ネットワークシステム全体の構成図を図3に示す。
【0052】
1001は本発明の装置で、スキャナとプリンタから構成され、スキャナから読み込んだ画像をローカルエリアネットワーク(1010)(以下LAN)に流したり、LANから受信した画像をプリンタによりプリントアウトできる。また、スキャナから読んだ画像を図示しないFAX送信手段により、PSTNまたはISDN(1030)に送信したり、PSTNまたはISDNから受信した画像をプリンタによりプリントアウトできる。1002は、データベースサーバで、本発明の装置(1001)により読み込んだ2値画像及び多値画像をデータベースとして管理する。
【0053】
1003は、データベースサーバ(1002)のデータベースクライアントで、データベース(1002)に保存されている画像データを閲覧/検索等できる。
【0054】
1004は、電子メールサーバで、本発明の装置(1001)により読み取った画像を電子メールの添付として受け取ることができる。1005は、電子メールのクライアントで、電子メールサーバ(1004)の受け取ったメールを受信し閲覧したり、電子メールを送信したり、可能である。
【0055】
1006がHTML文書をLANに提供するWWWサーバで、本発明の装置(1001)によりWWWサーバで提供されるHTML文書をプリントアウトできる。
【0056】
1007は、ルータでLAN(1010)をインターネット/イントラネット(1012)と連結する。インターネット/イントラネットに、前述したデータベースサーバ(1002)、WWWサーバ(1006)、電子メールサーバ(1004)、本発明の装置(1001)と同様の装置が、それぞれ1020、1021、1022、1023として連結している。一方、本発明の装置(1001)は、PSTNまたはISDN(1030)を介して、FAX装置(1031)と送受信可能になっている。
【0057】
また、LAN上にプリンタ(1040)も連結されており、本発明の装置(1001)により読み取った画像をプリントアウト可能なように構成されている。
【0058】
[矩形データ(パケット)フォーマット]
SystemControllerUnit(2000)内では、画像データ、CPU(2001)によるコマンド、各ブロックより発行される割り込み情報を、パケット化された形式で転送する。
【0059】
本実施形態では、図5に示すデータパケット、図6に示すコマンドパケット、図7に示すインタラプトパケットの3種の異なる種類のパケットが使用される。
【0060】
・データパケット(図5)
本実施形態では画像Dataを32pixel x 32pixelのTile単位の画像データ(3002)に分割して取り扱う例を示す。このTile単位の画像に、必要なヘッダ情報(3001)及び画像付加情報等(3003)を付加してデータPacketとする。
【0061】
以下にヘッダ情報(3001)に含まれる情報について説明を行なう。PacketのTypeはヘッダ情報(3001)内のPcktType(3004)で区別される。PcktType(3004)にはリピートフラグが含まれており、Data Packetの画像Dataが1つ前に送信したData Packetの画像Dataと同一の場合、リピートフラグをセットする。
【0062】
ChipID(3005)はパケットを送信するターゲットとなるチップのIDを示す。DataType(3006)ではデータのタイプを示す。PageID(3007)はページを示しており、JobIDはソフトウェアで管理するためのJob ID(3008)を格納する。Tileの番号はY方向のTile座標(3009)とX方向のTile座標(3010)の組み合わせで、YnXnで表される。
【0063】
データパケットは画像データが圧縮されている場合と非圧縮の場合がある。本実施形態では、圧縮アルゴリズムとして、多値カラー(多値グレースケールを含む)の場合はJPEGを2値の場合はパックビッツを採用した例を示した。圧縮されている場合と非圧縮の場合との区別はCompressFlag(3017)で示される。
【0064】
Process Instruction(3011)は左詰で処理順に設定し、各処理Unitは、処理後Process Instructionを左に8BitShiftする。Process Instruction(3011)はUnitID(3019)とMode(3020)の組が8組格納されている。UnitID(3019)は各処理Unitを指定し、Mode(3020)は各処理Unitでの動作Modeを指定する。これにより、1つのパケットは8つのUnitで連続して処理することができる。
【0065】
PacketByteLength(3012)はパケットのトータルバイト数を示す。ImageDataByteLengh(3015)は画像データのバイト数、ZDataByteLength(3016)は画像付加情報のバイト数を表し、ImageDataOffset(3013)、ZDataOffset(3014)はそれぞれのデータのパケットの先頭からのOffsetを表している。
【0066】
・Packet Table(図8)
各PacketはPacket Table(6001)によって管理する。Packet Table(6001)の構成要素は次の通りで、それぞれTableの値に0を5bit付加すると、Packetの先頭Address(6002)、PacketのByte Length(6005)となる。
Packet Address Pointer(27bit)+5b00000=Packet先頭Address
Packet Length(11bit)+5b00000=PacketのByte Length
Packet Table(6001)とChain Table(6010)は分割されないものとする。
【0067】
Packet Table(6001)は常に走査方向に並んでおり、Yn/Xn=000/000,000/001,000/002,....という順で並んでいる。このPacket Table(6001)のEntryは一意にひとつのTileを示す。また、Yn/Xmaxの次のEntryはYn+1/Xとなる。
【0068】
Packetがひとつ前のPacketとまったく同じDataである場合は、そのPacketはMemory上には書かず、Packet TableのEntryに1つめのEntryと同じPacket Address Pointer、Packet Lengthを格納する。1つのPacket Dataを2つのTable Entryが指すようなかたちになる。この場合、2つめのTable EntryのRepeat Flag(6003)がSetされる。
【0069】
PacketがChain DMAにより複数に分断された場合は、Divide Flag(6004)をSetし、そのPacketの先頭部分が入っているChain BlockのChain Table番号(6006)をSetする。Chain Table(6010)のEntryはChain Block Address(6011)とChain Block Length(6012)からなっており、Tableの最後のEntryにはAddress、Length共に0を格納しておく。
【0070】
・Command Packet Format(図6)
本Packet Formatはレジスタ設定バス(2109)へのアクセスを行うためのものである。本パケットを用いることにより、CPU(2001)より画像メモリ(2123)へのアクセスも可能である。ChipID(4004)にはコマンドパケットの送信先となる画像処理部(2149)を表すIDが格納される。PageID(4007)、JobID(4008)はソフトウェアで管理するためのPage IDとJob IDを格納する。Packet ID(4009)は1次元で表される。Data PacketのX−coordinateのみを使用する。パケットバイトレングス(4010)は128Byte固定である。
【0071】
パケットデータ部(4002)には、アドレス(4011)とデータ(4012)の組を1つのコマンドとして、最大12個のコマンドを格納することが可能である。ライトかリードかのコマンドのタイプはCmdType(4005)で示され、コマンドの数はCmdnum(4006)で示される。
【0072】
・Interrupt Packet Format(図7)
本PacketFormatは画像処理部(2149)からCPU(2001)への割り込みを通知するためのものである。ステータス処理部(2105)はInterrupt Packetを送信すると、次に送信の許可がされるまではInterrupt Packetを送信してはならない。
【0073】
パケットバイトレングス(5006)は128Byte固定である。
【0074】
パケットデータ部(5002)には、画像処理部(2149)の各内部モジュールのステータス情報(5007)が格納されている。ステータス処理部(2105)は画像処理部(2149)内の各モジュールのステータス情報を集め、一括してシステム制御部(2150)に送ることができる。
【0075】
ChipID(5004)にはInterrupt Packetの送信先となるシステム制御部(2150)を表すIDが、また、IntChipID(5005)にはInterrupt Packetの送信元となる画像処理部(2149)を表すIDが格納される。
【0076】
本実施形態において色空間変換を含んだ処理としてユーザーが操作部(2012)より新聞等のコピー時に必要となる下地除去を含んだコピーの指示を行った場合のフローについて説明する。
【0077】
CPU(2001)は操作部インターフェース(2006)より情報の伝達を受け、紙サイズ等の情報より、画像リングインターフェース2(2148)に転送パケット数、RAM(2002)上での画像格納アドレス等の必要情報をプログラムする。
【0078】
CPU(2001)はレジスタアクセスリング(2137)を介して画像リングインターフェース1(2148)内部にあるコマンドパケット生成レジスタをプログラミングする。
【0079】
その後、画像リングインターフェース1(2147)は、コマンドパケットを画像リング(2008)を介して画像処理部(2149)へ転送する。
【0080】
スキャナデータ取り込みに必要な情報設定が終了した後、CPU(2001)はコマンドパケットを用いて、画像入力インターフェース部(2112)内部のスキャナ通信インターフェースをプログラミングし、スキャナ(2070)に対し、スキャンの開始を指示する。
【0081】
スキャナ(2070)より入力された画像情報は画像入力インターフェース(2112),及びメモリバス(2108)を介し、メモリ制御部(2122)により制御される画像メモリ(2123)に一旦格納される。
【0082】
格納されたデータは再び画像入力インターフェース(2122)により32x32画素ごとに読み出され、パケットタイプ(3004),チップID(3005)、データタイプ(3006)、ページID(3007)、ジョブID(3008),Y方向のタイル座標(3009)、X方向のタイル座標(3010)、圧縮フラグ(3017),プロセスインストラクション(3011)、パケットデータ長(3012)等のヘッダ情報を画像データに付加してパケットデータを生成し、タイルバス(2107)に出力する。
【0083】
上記パケットデータは順次作成され、コマンドパケットと同様に画像リングインターフェース(2102)を介して画像リング(2008)に転送される。そして画像リングインターフェース(2148)にプログラミングされた情報に基づき、RAM(2002)に順次格納される。画像リングインターフェース(2148)は同時にパケットテーブル(6001)をRAM(2002)上に作成する。
【0084】
1ページのスキャンが終了すると、スキャナ通信手段を用い、画像入力インターフェースに終了が伝達される。画像処理部(2149)内のステータス処理部(2105)はインタラプトパケット(5000)を作成し、インタラプトコントローラ(2140)へ伝達する。インタラプトはインタラプトコントローラ(2140)より、CPU(2001)に伝達され、CPU(2001)はスキャン動作終了を検出する。
【0085】
次にスキャナ手段により読み込まれたデータの色空間変換を行う。CPU(2001)は色空間変換部(2117)内の色空間変換テーブルを更新するのに必要な情報をプログラミングする。CPU(2001)はレジスタアクセスリング(2137)を介して画像リングインターフェース1(2148)内部にあるコマンドパケット生成レジスタをプログラミングする。その後、画像リングインターフェース1(2147)は、コマンドパケットを画像リング(2008)を介して画像処理部(2149)へ転送する。
【0086】
このコマンドにより色空間変換部(2117)はRAM(2002)より読み出したデータを色空間変換テーブルに書き込む。続いて、CPU(2001)は画像リングインターフェース(2147)内に備えられたDMA手段にパケットテーブルの存在するメモリアドレス等をプログラムする。
【0087】
画像リングインターフェース内のDMAはプログラムされた情報に基づき、RAM(2002)内よりデータパケットを読み出す。そして、画像リングインターフェース(2147)内のDMAは生成したデータパケットを画像リング(2008)を介し、画像処理部(2149)に転送する。画像処理部(2149)では更新された色空間変換テーブルに基づき、転送されたデータパケットに対して、色空間変換を色空間変換部(2117)で実行する。色空間変換部(2117)で色空間変換されたデータパケットは画像リングインターフェース(2102)を介して画像リング(2008)に転送され、再び、RAM(2002)に順次格納される。
【0088】
色空間変換が終了すると、プリンタ(2095)を用いたプリント動作を開始する。
【0089】
CPU(2001)はレジスタアクセスリング(2137)を介し、コマンドパケットを生成する。そして、作成したコマンドパケットを画像リングインターフェース(2147)より、画像リング(2008)を介して画像処理部(2149)に転送する。
【0090】
画像処理部(2149)の画像リングインターフェース(2101)は、入力したコマンドパケットを検査する。ここで,コマンドパケットのコマンドデータに基づき、コマンド処理部(2104)、レジスタ設定バス(2109)を介し、画像処理部(2149)内の画像出力インターフェース(2113)へ画像出力処理のための必要情報の設定を行う。
【0091】
CPU(2001)は同時に、コマンドパケットを使用し、画像処理部(2149)内の画像出力インターフェース(2113)に備えられたプリンタ通信手段により、プリンタ(2095)に印字待機を指示する。
【0092】
続いて、CPU(2001)は画像リングインターフェース(2147)内に備えられたDMA手段にパケットテーブルの存在するメモリアドレス等をプログラムする。画像リングインターフェース(2147)内のDMAは、プログラムされた情報に基づき、RAM(2002)内より、データパケットを読み出す。そして、画像リングインターフェース(2147)内のDMAは、生成したデータパケットを画像リング(2147)内のDMAは、生成したデータパケットを画像リング(2008)を介し、画像処理部(2149)に転送する。画像処理部(2149)の画像リングインターフェース(2101)は入力したデータパケットを検査する。画像リングインターフェース、タイルバス(2107)を介し、順次画像出力インターフェース(2113)へ転送する。
【0093】
画像出力インターフェース(2113)は受け取ったデータパケットより、画像部分を抽出し、画像データを画像メモリ(2123)へ格納する。必要画素分画像データが画像メモリ(2113)に蓄積された時点で、画像出力インターフェース(2113)は画像データを画像メモリ(2133)より順次読み出し、プリンタ(2095)に出力する。
【0094】
結果、ユーザーは、コピー結果である画像プリントを得る。画像出力が必要画素数終了した時点で、スキャン動作と同様に、インタラプトパケットにより、終了割り込みがCPU(2001)に伝達される。
【0095】
【発明の効果】
色空間テーブルが一組で良いため、面積オーバーヘッドを最小限に抑えることが出来、なおかつ、色空間選択回路が必要ないため、遅延時間の増加も防ぐことが出来る。
【0096】
また、RAM内に複数の色空間変換テーブルを持つことで複数の色空間をもつデータフォーマットにも対応することが出来る。
【図面の簡単な説明】
【図1】本発明の処理部を表した図。
【図2】本発明の色空間変換テーブル変更時のフロー。
【図3】本システムの実使用環境を表す図。
【図4】本システムコントローラの全体ブロック図。
【図5】イメージパケットを表す図。
【図6】コマンドパケットを表す図。
【図7】インタラプトパケットを表す図。
【図8】パケットテーブルを表す図。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus that performs color space conversion for transmitting colors between data whose color spaces are not unified.
[0002]
[Prior art]
With the colorization of office equipment and the spread of image communication via the Internet, it has become necessary to exchange various color information from still images such as documents, figures, photographs, and prints to videos. However, color signals between devices are not unified, and each has a unique color space. For this reason, color transfer between different types of devices is performed through a standard color space.
[0003]
For example, when color transmission from a scanner to a printer is considered, an image captured by the scanner is converted into a standard color space, and then converted into a printer color space.
[0004]
For this color conversion, “model-based” and “table-based” conversion methods are employed. The case where the transformation can be described mathematically is called "model-based", and the case where a complex system has no model and is compared with an LUT (Look Up Table) based on measurement is called "table-based".
[0005]
The “table-based” conversion method can be applied to any non-linear and complicated conversion, and the accumulation of quantization errors can be prevented by collectively tabulating a plurality of stages of processing. For this reason, recently, a “table interpolation method” combining an LUT and interpolation has become the mainstream of conversion, and is realized using a high-speed image processing LSI or the like.
[0006]
[Problems to be solved by the invention]
However, in the case of an image processing system in which a plurality of input / output devices are connected, since each device has a different color space, it is necessary to perform color space conversion between each color space and a standard color space. . However, having a color space conversion table for all possible inputs requires a large-capacity table and a circuit for selecting the table, increasing the area overhead and increasing the delay time for selecting the table. Deterioration occurs.
[0007]
[Means for Solving the Problems]
In order to solve the above-described problems, an image processing apparatus according to the present invention is an image processing apparatus that requires a plurality of color space conversion tables to perform data processing with a plurality of data having unified color spaces. And a color space conversion unit including a set of changeable color space conversion tables. When an external input / output device and data to be processed are changed and the color space conversion table needs to be changed, The color space conversion is performed on the target data after updating the color space conversion table of the conversion unit.
[0008]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0009]
(First embodiment)
FIG. 1 shows an embodiment of the present invention.
[0010]
Reference numeral 1 denotes a system control unit, which includes a CPU and the like, and comprehensively controls each unit based on a control program stored in a ROM 2. Reference numeral 3 denotes a RAM which holds data used as a color space conversion table together with image processing data. Reference numeral 4 denotes an external input device to which a scanner, a digital camera, and the like are connected. Reference numeral 5 denotes an external output device to which a printer, a display, and the like are connected. Data from the external input / output device is processed by the image processing unit 6. Reference numerals 7 and 8 denote input / output interfaces for performing processing according to the external input / output device. Reference numeral 9 denotes a color space conversion unit which holds an LUT and performs color space conversion. Reference numeral 10 denotes a memory control unit which controls between an image memory 12 for storing temporary data during image processing and a bus.
[0011]
When taking in external data, the color space conversion table of the color space conversion unit 9 is updated with the data for color space conversion from the RAM 3 via the system control unit 1. Thereafter, the data fetched from the external input device 5 is output to the bus 11 via the external input interface 7, and after the color space conversion unit performs color space conversion on the external input device, the data is then transmitted via the system control unit 1. It is held in the RAM 3.
[0012]
Also at the time of data output, the color space conversion table of the color space conversion unit 9 is updated with the color space conversion table data from the RAM 3 via the system control unit 1. After outputting the output data from the RAM 3 to the bus via the system control unit 1, the color space conversion unit 9 performs processing according to the external output device, and then outputs the data to the external output device 6 via the external output interface 8. Is done.
[0013]
When the color space conversion of the data stored in the RAM 3 is performed, after the color space conversion data is updated in the color space conversion table of the color space conversion unit 9, the image data in the RAM 3 is transmitted through the system control unit. After being output to the bus and converted by the color space conversion unit, it is written again to the RAM 3 via the system control unit 1.
[0014]
The color space conversion table of the color space conversion unit may be updated only when a change in the target data requires a change in the color space. FIG. 2 shows a control flow when the external input / output device to be converted is changed. When the target device is changed (S200) and the color space conversion table needs to be changed (S201), the conversion table is read from the RAM 3 via the system control unit 1 and the color space conversion unit 9 is updated (S202). , The color space is converted (S203).
[0015]
Hereinafter, a detailed description will be given of an apparatus configuration and operation when applied to a multifunction peripheral having various functions such as a scanner function, a printer function, a copying function, and a network function.
[0016]
[hardware]
·overall structure
FIG. 4 shows the overall configuration diagram.
[0017]
The controller unit (2000) is connected to a scanner (2070) as an image input device and a printer (2095) as an image output device, and is connected to a LAN (2011) or a public line (WAN) (2051) to generate an image. It is a controller for input / output of information and device information and for developing an image of PDL data.
[0018]
The CPU (2001) is a processor that controls the entire system. In the present embodiment, an example using two CPUs will be described. These two CPUs are connected to a common CPU bus (2126) and further to a system bus bridge (2007).
[0019]
The system bus bridge (2007) is a bus switch, and includes a CPU bus (2126), a RAM controller (2124), a ROM controller (2125), an IO bus 1 (2127), a sub bus switch (2128), and an IO bus 2 (2129). ), Image ring interface 1 (2147), and image ring interface 2 (2148).
[0020]
The sub bus switch (2128) is a second bus switch, and is connected to the image DMA1 (2130), the image DMA2 (2132), the font decompression unit (3134), the sort circuit (2135), and the bitmap trace unit (2136). It arbitrates the memory access requests output from these DMAs and connects to the system bus bridge.
[0021]
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. In the present embodiment, which is controlled by the RAM controller (2124), an example is shown in which a direct RDRAM is adopted.
[0022]
The ROM (2003) is a boot ROM, and stores a system boot program. It is controlled by the ROM controller (2125).
[0023]
The image DMA 1 (2130) is connected to the image compression unit (3131), controls the image compression unit (2131) based on information set via the register access ring (2137), and is on the RAM (2002). In the present embodiment, reading of uncompressed data, compression, and writing back of data after compression are performed.
[0024]
The image DMA2 (2132) is connected to the image decompression unit (2133), controls the image decompression unit (2133) based on information set via the register access ring (2137), and is on the RAM (2002). In the present embodiment, an example in which JPEG is used as a decompression algorithm is shown in which compressed data is read, decompressed, and decompressed data is written back.
[0025]
The font decompression unit (2134) stores the compressed font data stored in the ROM (2003) or the RAM (2002) based on the font code included in the PDL data externally transferred via the LAN interface (2010) or the like. To stretch. In the present embodiment, an example in which the FBE algorithm is adopted has been described.
[0026]
The sort circuit (2135) is a circuit that rearranges the order of the objects in the display list generated at the stage of expanding the PDL data.
[0027]
The bitmap trace circuit (2136) is a circuit that extracts edge information from bitmap data.
[0028]
The IO bus 1 (2127) is a kind 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).
[0029]
An operation unit I / F (2006) is an operation unit (UI) (2012) and an interface unit, and outputs image data to be displayed on the operation unit (2012) to the operation unit (2012). In addition, it plays a role of transmitting information input by the system user from the operation unit (2012) to the CPU (2001).
[0030]
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).
[0031]
The general-purpose bus interface (2142) is a bus bridge composed of two identical bus interfaces and supporting a standard IO bus. In the present embodiment, an example in which the PCI bus (2143) is adopted has been described.
[0032]
An HDD (2004) is a hard disk drive that stores system software and image data. It is connected to one PCI bus (2143) via a disk controller (2144).
[0033]
The LAN controller (2010) connects to the LAN (2011) via the MAC circuit (2145) and the PHY / PMD circuit (2146), and inputs and outputs information. The Modem (2050) is connected to the public line (2051) and inputs and outputs information.
[0034]
The image ring interface 1 (2147) and the image ring interface 2 (2148) connect the system bus bridge (2007) and the image ring (2008) for transferring image data at high speed, and store the data compressed after the tiling into the RAM ( 2002) and a rectangular data processing unit (2149).
[0035]
The image ring (2008) is 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 decompression unit (2103), a command processing unit (2104), and a status via the image ring interface 3 (2101) and the rectangle data interface 4 (2102) in the rectangular data processing unit (2149). The processing unit (2105) is connected to the tile compression unit (2106). 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.
[0036]
The tile expansion unit (2103) is connected to the tile bus (2107), expands the compressed image data input from the image ring, and transfers the compressed image data to the tile bus (2107) in addition to the connection to the image ring interface. It is a bridge. In the present embodiment, an example is shown in which JPEG is used as multivalued data and PackBits is used as expansion algorithm for binary data.
[0037]
The tile compression unit (2106) is connected to the tile bus (2107) in addition to the connection to the image ring interface, and compresses the uncompressed image data input from the tile bus and transfers it to the image ring (2008). It is a bridge. In the present embodiment, an example is shown in which JPEG is used as multi-value data and PackBits is used as compression algorithm for binary data.
[0038]
The command processing unit (2104) is connected to the register setting bus (2109), in addition to the connection to the image ring interface, and receives a register setting request issued from the CPU (2001) input via the image ring to the register setting bus. Write to the corresponding block connected to (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. The image is transferred to the image ring interface 4 (2102).
[0039]
The status processing unit (2105) monitors information of each image processing unit, generates an interrupt bucket for issuing an interrupt to the CPU (2001), and outputs the interrupt bucket to the image ring interface 4.
[0040]
The following functional blocks are connected to the tile bus (2107) in addition to the above blocks.
[0041]
Rendering unit interface (2110), image input interface (2112), image output interface (2113), multi-value unit (2119), binarization unit (2118), color space conversion unit (2117), image rotation unit (2030) ), A resolution converter (2116).
[0042]
The rendering unit interface (2110) is an interface for inputting a bitmap image generated by a rendering unit described later. The rendering unit and the rendering unit interface are connected by a general video signal (2111). The rendering unit interface has a connection to the memory bus (2108) and the register setting bus (2109) in addition to the tile bus (2107), and the input raster image is set to a predetermined value set via the register setting bus. The structure is converted into rectangular data by the method described above, and at the same time, the clock is synchronized and output to the tile bus (2107).
[0043]
The image input interface (2112) receives the raster image data, which has been subjected to the correction image processing by the scanner image processing unit (2114) described later, and converts the raster image data into rectangular data by a predetermined method set via a register setting bus. Structural conversion and clock synchronization are performed, and output is performed to the tile bus (2107).
[0044]
The image output interface receives the rectangular data from the tile bus as input, converts the structure into a raster image, changes the clock rate, and outputs the raster image to the printer image processing unit (2115).
[0045]
The image rotation unit (2030) rotates image data. The resolution conversion unit (2116) changes the resolution of the image. 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.
[0046]
The external bus interface unit (2120) receives the write and read requests issued by the CPU (2001) via the image ring interfaces 1, 2, 3, 4, the command processing unit, and the register setting bus, and outputs the write and read requests to the external bus 3 (2121). This is a bus bridge that converts and outputs the result. 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).
[0047]
The memory control unit (2122) is connected to the memory bus (2108), and transmits the image data to the image memory 1 and the image memory 2 (2123) by a preset address division according to the request of each image processing unit. Operations such as writing, reading, and refreshing are performed as necessary. In the present embodiment, an example in which the SDRAM is used as the image memory has been described.
[0048]
The scanner image processing unit (2114) performs corrected image processing on image data scanned by the scanner (2070), which is an image input device.
[0049]
The printer image processing unit performs a correction image process for printer output, and outputs the result to the Printer (2095).
[0050]
The rendering unit (2060) develops the PDL code or the intermediate display list into a bitmap image.
[0051]
[Entire system]
FIG. 3 shows a configuration diagram of the entire network system.
[0052]
Reference numeral 1001 denotes an apparatus according to the present invention, which includes a scanner and a printer, and allows an image read from the scanner to flow to a local area network (1010) (hereinafter, LAN), and an image received from the LAN to be printed out by the printer. Further, the image read from the scanner can be transmitted to the PSTN or ISDN (1030) by a facsimile transmission unit (not shown), or the image received from the PSTN or ISDN can be printed out by a printer. A database server 1002 manages a binary image and a multi-valued image read by the apparatus (1001) of the present invention as a database.
[0053]
Reference numeral 1003 denotes a database client of the database server (1002), which can browse / search image data stored in the database (1002).
[0054]
Reference numeral 1004 denotes an e-mail server which can receive an image read by the apparatus (1001) of the present invention as an e-mail attachment. Reference numeral 1005 denotes an e-mail client, which is capable of receiving and browsing the e-mail received by the e-mail server (1004) and transmitting the e-mail.
[0055]
Reference numeral 1006 denotes a WWW server that provides an HTML document to the LAN, and the apparatus (1001) of the present invention can print out an HTML document provided by the WWW server.
[0056]
A router 1007 connects the LAN (1010) with the Internet / intranet (1012). The above-mentioned database server (1002), WWW server (1006), e-mail server (1004), and devices similar to the device (1001) of the present invention are connected to the Internet / intranet as 1020, 1021, 1022, and 1023, respectively. ing. On the other hand, the apparatus (1001) of the present invention can transmit and receive to and from the FAX apparatus (1031) via the PSTN or the ISDN (1030).
[0057]
Further, a printer (1040) is also connected to the LAN, so that an image read by the apparatus (1001) of the present invention can be printed out.
[0058]
[Rectangle data (packet) format]
In the SystemControllerUnit (2000), image data, a command from the CPU (2001), and interrupt information issued from each block are transferred in a packetized format.
[0059]
In the present embodiment, three different types of packets are used: a data packet shown in FIG. 5, a command packet shown in FIG. 6, and an interrupt packet shown in FIG.
[0060]
-Data packet (Fig. 5)
In the present embodiment, an example will be described in which image Data is divided into image data (3002) of 32 pixels x 32 pixels in tile units and handled. Necessary header information (3001) and additional image information (3003) are added to the image in units of tiles to form a data packet.
[0061]
Hereinafter, information included in the header information (3001) will be described. The type of the packet is identified by the PcktType (3004) in the header information (3001). The PcktType (3004) includes a repeat flag. If the image Data of the Data Packet is the same as the image Data of the previously transmitted Data Packet, the repeat flag is set.
[0062]
ChipID (3005) indicates the ID of a chip that is a target for transmitting a packet. DataType (3006) indicates the type of data. The Page ID (3007) indicates a page, and the Job ID stores a Job ID (3008) to be managed by software. The tile number is represented by YnXn, which is a combination of the tile coordinate (3009) in the Y direction and the tile coordinate (3010) in the X direction.
[0063]
Data packets may be compressed image data or uncompressed. In the present embodiment, an example is shown in which JPEG is used for multi-valued colors (including multi-valued gray scale) and PackBits is used for binary-valued compression algorithms. The distinction between the compressed case and the uncompressed case is indicated by CompressFlag (3017).
[0064]
Process Instruction (3011) is set left-justified in the processing order, and each processing unit shifts Process Instruction to the left by 8 bits after processing. The Process Instruction (3011) stores eight sets of UnitID (3019) and Mode (3020). The Unit ID (3019) specifies each processing unit, and the Mode (3020) specifies the operation mode in each processing unit. Thus, one packet can be processed continuously by eight Units.
[0065]
PacketByteLength (3012) indicates the total number of bytes of the packet. ImageDataByteLength (3015) represents the number of bytes of the image data, ZDataByteLength (3016) represents the number of bytes of the image additional information, and ImageDataOffset (3013) and ZDataOffset (3014) represent the offset from the head of each data packet.
[0066]
・ Packet Table (Fig. 8)
Each Packet is managed by a Packet Table (6001). The components of the packet table (6001) are as follows. When 0 bits are added to the value of the table by 5 bits, the packet becomes the top address (6002) of the packet and the byte length of the packet (6005).
Packet Address Pointer (27 bits) + 5b00000 = Packet Top Address
Packet Length (11 bits) + 5b00000 = Byte Length of Packet
The Packet Table (6001) and the Chain Table (6010) shall not be divided.
[0067]
The Packet Table (6001) is always arranged in the scanning direction, and Yn / Xn = 000/00000 / 0011,000 / 002. . . . It is arranged in the order. The entry of the packet table (6001) uniquely indicates one tile. Further, the entry next to Yn / Xmax is Yn + 1 / X 0 It becomes.
[0068]
If the Packet is exactly the same Data as the immediately preceding Packet, the Packet is not written on the Memory, and the same Packet Address Pointer and Packet Length as the first Entry are stored in the Entry of the Packet Table. One Packet Data is indicated by two Table Entries. In this case, the Repeat Flag (6003) of the second Table Entry is set.
[0069]
When the packet is divided into a plurality by 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. The Entry of the Chain Table (6010) is made up of the Chain Block Address (6011) and the Chain Block Length (6012), and 0 is stored in the last Entry of the Table for both Address and Length.
[0070]
・ Command Packet Format (Fig. 6)
This Packet Format is for accessing the register setting bus (2109). By using this packet, the CPU (2001) can also access the image memory (2123). The ChipID (4004) stores an ID indicating the image processing unit (2149) to which the command packet is to be transmitted. A Page ID (4007) and a Job ID (4008) store a Page ID and a Job ID to be managed by software. The Packet ID (4009) is represented in one dimension. Only X-coordinate of Data Packet is used. The packet byte length (4010) is fixed at 128 bytes.
[0071]
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).
[0072]
・ Interrupt Packet Format (Fig. 7)
This PacketFormat is for notifying an interrupt from the image processing unit (2149) to the CPU (2001). After transmitting the Interrupt Packet, the status processing unit (2105) must not transmit the Interrupt Packet until the transmission is permitted next time.
[0073]
The packet byte length (5006) is fixed at 128 bytes.
[0074]
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.
[0075]
The ID representing the system control unit (2150) that is the destination of the Interrupt Packet is stored in the ChipID (5004), and the ID representing the image processing unit (2149) that is the source of the Interrupt Packet is stored in the IntChipID (5005). Is done.
[0076]
In the present embodiment, a description will be given of a flow in the case where the user gives a copy instruction including background removal necessary for copying a newspaper or the like from the operation unit (2012) as processing including color space conversion.
[0077]
The CPU (2001) receives information transmitted from the operation unit interface (2006), and needs information such as the number of packets to be transferred to the image ring interface 2 (2148) and the image storage address on the RAM (2002) based on information such as paper size. Program information.
[0078]
The CPU (2001) programs the command packet generation register inside the image ring interface 1 (2148) via the register access ring (2137).
[0079]
Thereafter, the image ring interface 1 (2147) transfers the command packet to the image processing unit (2149) via the image ring (2008).
[0080]
After the information setting necessary for taking in the scanner data is completed, the CPU (2001) uses the command packet to program the scanner communication interface inside the image input interface unit (2112), and starts the scan for the scanner (2070). Instruct.
[0081]
Image information input from the scanner (2070) is temporarily stored in an image memory (2123) controlled by a memory control unit (2122) via an image input interface (2112) and a memory bus (2108).
[0082]
The stored data is read again for each 32 × 32 pixel by the image input interface (2122), and the packet type (3004), chip ID (3005), data type (3006), page ID (3007), and job ID (3008) , Tile coordinates in the Y direction (3009), tile coordinates in the X direction (3010), a compression flag (3017), process instructions (3011), and header information such as a packet data length (3012) are added to the image data. Is generated and output to the tile bus (2107).
[0083]
The packet data is sequentially created and transferred to the image ring (2008) via the image ring interface (2102) like the command packet. Then, the information is sequentially stored in the RAM (2002) based on the information programmed in the image ring interface (2148). The image ring interface (2148) simultaneously creates a packet table (6001) on the RAM (2002).
[0084]
When the scanning of one page is completed, the completion is transmitted to the image input interface using the scanner communication means. The status processing unit (2105) in the image processing unit (2149) creates an interrupt packet (5000) and transmits it to the interrupt controller (2140). The interrupt is transmitted from the interrupt controller (2140) to the CPU (2001), and the CPU (2001) detects the end of the scanning operation.
[0085]
Next, the color space conversion of the data read by the scanner is performed. The CPU (2001) programs information necessary for updating the color space conversion table in the color space conversion unit (2117). The CPU (2001) programs the command packet generation register inside the image ring interface 1 (2148) via the register access ring (2137). Thereafter, the image ring interface 1 (2147) transfers the command packet to the image processing unit (2149) via the image ring (2008).
[0086]
With this command, the color space conversion unit (2117) writes the data read from the RAM (2002) to the color space conversion table. Subsequently, the CPU (2001) programs the memory address where the packet table exists in the DMA means provided in the image ring interface (2147).
[0087]
The DMA in the image ring interface reads data packets from the RAM (2002) based on the programmed information. Then, the DMA in the image ring interface (2147) transfers the generated data packet to the image processing unit (2149) via the image ring (2008). The image processing unit (2149) performs color space conversion on the transferred data packet in the color space conversion unit (2117) based on the updated color space conversion table. The data packet subjected to the color space conversion by the color space conversion unit (2117) is transferred to the image ring (2008) via the image ring interface (2102), and stored again in the RAM (2002).
[0088]
When the color space conversion is completed, a printing operation using the printer (2095) is started.
[0089]
The CPU (2001) generates a command packet via the register access ring (2137). Then, the created command packet is transferred from the image ring interface (2147) to the image processing unit (2149) via the image ring (2008).
[0090]
The image ring interface (2101) of the image processing unit (2149) inspects the input command packet. Here, based on the command data of the command packet, necessary information for image output processing to the image output interface (2113) in the image processing unit (2149) via the command processing unit (2104) and the register setting bus (2109). Make the settings for
[0091]
At the same time, the CPU (2001) uses a command packet to instruct the printer (2095) to wait for printing by the printer communication means provided in the image output interface (2113) in the image processing unit (2149).
[0092]
Subsequently, the CPU (2001) programs the memory address where the packet table exists in the DMA means provided in the image ring interface (2147). The DMA in the image ring interface (2147) reads a data packet from the RAM (2002) based on the programmed information. The DMA in the image ring interface (2147) transfers the generated data packet to the image processing unit (2149) via the image ring (2008). . The image ring interface (2101) of the image processing unit (2149) inspects the input data packet. The image data is sequentially transferred to the image output interface (2113) via the image ring interface and the tile bus (2107).
[0093]
The image output interface (2113) extracts an image portion from the received data packet and stores the image data in the image memory (2123). When the image data for the required pixels is stored in the image memory (2113), the image output interface (2113) sequentially reads out the image data from the image memory (2133) and outputs it to the printer (2095).
[0094]
As a result, the user obtains an image print as a copy result. When the required number of pixels have been output, a termination interrupt is transmitted to the CPU (2001) by an interrupt packet, as in the scan operation.
[0095]
【The invention's effect】
Since only one set of color space tables is required, the area overhead can be minimized, and the delay time can be prevented from increasing because no color space selection circuit is required.
[0096]
Further, by having a plurality of color space conversion tables in the RAM, it is possible to support a data format having a plurality of color spaces.
[Brief description of the drawings]
FIG. 1 is a diagram showing a processing unit of the present invention.
FIG. 2 is a flowchart when a color space conversion table is changed according to the present invention.
FIG. 3 is a diagram showing an actual use environment of the present system.
FIG. 4 is an overall block diagram of the present system controller.
FIG. 5 is a diagram showing an image packet.
FIG. 6 is a diagram showing a command packet.
FIG. 7 is a diagram showing an interrupt packet.
FIG. 8 is a diagram showing a packet table.

Claims (4)

色空間の統一されていない複数データとの間でのデータ処理を行うために複数の色空間変換テーブルが必要となる画像処理装置であって、
一組の変更可能な色空間変換テーブルを含む色空間変換部を持ち、
処理対象の外部入出力装置及びデータが変更され、色空間変換テーブルの変更が必要となる場合に、色空間変換部の色空間変換テーブルを更新した後に対象データに対し色空間変換を行うことを特徴とする画像処理装置。
An image processing apparatus that requires a plurality of color space conversion tables in order to perform data processing with a plurality of data in which a color space is not unified,
Having a color space conversion unit including a set of changeable color space conversion tables,
When the external input / output device and data to be processed are changed and the color space conversion table needs to be changed, it is necessary to perform color space conversion on the target data after updating the color space conversion table of the color space conversion unit. Characteristic image processing device.
さらに、色空間変換テーブル変更のためのコマンドパケットと画像処理データを含むデータパケットを制御する手段を有し、
処理対象のデータが変更され、色空間変換テーブルの変更が必要となった場合、色空間変換テーブル更新用コマンドを含むコマンドパケットの転送を行い色空間変換テーブルの書き換えを行った後に、データパケットを転送し、色空間変換を行うことを特徴とする請求項1記載の画像処理装置。
Further, a means for controlling a data packet including a command packet for changing a color space conversion table and image processing data,
When the data to be processed is changed and the color space conversion table needs to be changed, the command packet including the color space conversion table update command is transferred and the data packet is transferred after the color space conversion table is rewritten. The image processing apparatus according to claim 1, wherein the image processing apparatus transfers the image data and performs color space conversion.
色変換対象データとして外部入出力装置からのデータを対象とする請求項1又は請求項2記載の画像処理装置。3. The image processing apparatus according to claim 1, wherein data from an external input / output device is targeted as the color conversion target data. さらに、原稿画像を読み取ることにより画像データを入力するスキャナ部と、
前記外部装置は出力装置として画像データに基づき、所定のシート上に画像を印刷するプリンタ部とを有することを特徴とする請求項1乃至3のいずれかに記載の画像処理装置。
Further, a scanner unit for inputting image data by reading a document image,
The image processing apparatus according to claim 1, wherein the external device includes a printer unit that prints an image on a predetermined sheet based on image data as an output device.
JP2003134508A 2003-05-13 2003-05-13 Image processor Withdrawn JP2004343202A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003134508A JP2004343202A (en) 2003-05-13 2003-05-13 Image processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003134508A JP2004343202A (en) 2003-05-13 2003-05-13 Image processor

Publications (1)

Publication Number Publication Date
JP2004343202A true JP2004343202A (en) 2004-12-02

Family

ID=33525053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003134508A Withdrawn JP2004343202A (en) 2003-05-13 2003-05-13 Image processor

Country Status (1)

Country Link
JP (1) JP2004343202A (en)

Similar Documents

Publication Publication Date Title
US20030151759A1 (en) Multifunction system, image processing method, computer program and memory medium
JP3862605B2 (en) Image processing device
US7447384B2 (en) Image processing method and apparatus
JP2003256179A (en) Image processing apparatus and image processing method
JP2003316714A (en) Apparatus and method for information processing
JP3958141B2 (en) Image processing device
JP2004343202A (en) Image processor
JP2003348338A (en) Information processing apparatus
JP2005045458A (en) Image compression method and apparatus
JP2018118477A (en) Image processing device, control method and program of the same
JP4859215B2 (en) Data processing apparatus and control method
JP2002354225A (en) Image processor and its control method
JP3703431B2 (en) Data communication apparatus, image processing apparatus, data communication method, and data communication method in image processing apparatus
JP2006166102A (en) Multifunction system controller
JP2005006000A (en) Image processing system
JP2006229306A (en) Image processing apparatus
JP2004253906A (en) Expanding apparatus
JP2003196044A (en) Image processing method and its device
JP2003241933A (en) Image processor and its control method
JP2003234910A (en) Multifunction system
JP2003271328A (en) Image processor and its data transferring method
JP2003331279A (en) Image processor
JP2000079723A (en) Image-forming apparatus, information-processing system, method for processing image, and memory medium
JP2005020094A (en) Image processing method and image processor
JP2002281293A (en) Image processor and image processing system

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