JP2004165902A - Image processing apparatus - Google Patents
Image processing apparatus Download PDFInfo
- Publication number
- JP2004165902A JP2004165902A JP2002328316A JP2002328316A JP2004165902A JP 2004165902 A JP2004165902 A JP 2004165902A JP 2002328316 A JP2002328316 A JP 2002328316A JP 2002328316 A JP2002328316 A JP 2002328316A JP 2004165902 A JP2004165902 A JP 2004165902A
- Authority
- JP
- Japan
- Prior art keywords
- image
- unit
- data
- processing
- 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.)
- Pending
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、画像処理を行う画像処理装置に関するものであり、詳細には、原画像を分割した分割画像を処理する画像処理装置に関するものである。
【0002】
【従来の技術】
従来から、画像処理の処理速度を高速化するために、画像データを矩形画像単位に分割し、複数の画像処理ユニットを用いてそれらの矩形画像を並列に処理することで、所望の処理速度を得ることが可能である(例えば、特許文献1参照。)。
【0003】
また、更なる高速化を図るために、より多くの画像処理ユニットを包含した画像処理部を実現する必要がある。
【0004】
【特許文献1】
特開2002−8002号公報
【0005】
【発明が解決しようとする課題】
しかしながら、各画像処理ユニットはそれぞれ固有の量子化テーブルを用意する必要があり、画像処理ユニットの数を増やすことで、その増やした分の量子化テーブルを用意しなければならなくなり、量子化テーブルの占める回路規模が増大していた。
【0006】
そこで、本発明の目的は、上記ような問題点を解決し、量子化テーブルの占める回路規模の増大を抑え処理の高速化を図ることができる画像処理装置を提供することにある。
【0007】
【課題を解決するための手段】
請求項1の発明は、原画像を分割した分割画像を処理する画像処理装置であって、前記分割画像の処理のためのテーブルを格納する格納手段と、前記分割画像に処理情報を付加したデータパケットを入力する入力手段と、前記入力手段により入力したデータパケットの分割画像を、前記テーブルに従い画像処理する複数の画像処理手段とを有し、前記複数の画像処理手段は、前記データパケットの処理情報に従って前記テーブルを選択し前記画像処理に使用することで、前記格納手段の同一のテーブルを共有することを特徴とする。
【0008】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
<第1の実施の形態>
図1は本発明の第1の実施の形態を示す。これは、マルチファンクションシステム1001の例であり、図4に示すように、LAN(local area network)1010に接続してある。
【0009】
図4を説明する。図4において、1001はマルチファンクションシステムであり、スキャナ2070(図1)とプリンタ2095(図1)を有し、スキャナ2070から読み込んだ画像をLAN1010に流したり、LAN1010から受信した画像をプリンタ2095によりプリントアウトできるようになっている。また、スキャナ2070から読んだ画像を、図示しないFAX送信手段により、PSTNまたはISDN1030に送信したり、PSTNまたはISDNから受信した画像を、プリンタ2095によりプリントアウトできるようになっている。
【0010】
1002はデータベースサーバであり、マルチファンクションシステム1001により読み込んだ2値画像及び多値画像をデータベースとして管理するものである。1003はデータベースサーバ1002のデータベースクライアントであり、データベース1002に保存されている画像データを閲覧/検索等できるものである。1004は電子メールサーバであり、マルチファンクションシステム1001により読み取った画像を電子メールの添付として受け取ることができる。1005は電子メールのクライアントであり、電子メールサーバ1004の受け取ったメールを受信し閲覧したり、電子メールを送信したりできる。
【0011】
1006はWWWサーバであり、HTML文書をLAN1010に提供するものであり、マルチファンクションシステム1001によりWWWサーバ1006により提供されるHTML文書をプリントアウトできる。1007はルータであり、LAN1010をインタネット/イントラネット1012と連結するものである。インタネット/イントラネットに、データベースサーバ1002、WWWサーバ1006、電子メールサーバ1004、マルチファンクションシステム1001と同様の装置が、それぞれ1020、1021、1022、1023として連結してある。マルチファンクションシステム1001は、PSTNまたはISDN1030を介して、FAX装置1031と送受信できるようになっている。
【0012】
1040はプリンタであって、LAN1010に接続してあり、マルチファンクションシステム1001により読み取った画像をプリントアウトできるようになっている。
【0013】
次に、図1を説明する。図1において、2000は制御装置であり、画像入力デバイスであるスキャナ2070や画像出力デバイスであるプリンタ2095と接続してあり、一方では、LAN1010や公衆回線WAN2051と接続することで、画像情報やデバイス情報の入出力、PDLデータのイメージ展開を行うものである。制御装置2000は、操作部UI2012と、RAM2002と、ROM2003と、システム制御部2150と、画像処理部2149と、プリンタ用画像処理部2115と、スキャナ用画像処理部2114と、レンダリング部2060と、ディクスコントローラ2144と、外部記憶装置2004と、モデム2050と、PHY/PMD回路2146とを有する。
【0014】
RAM2002はCPU2001(図2)のためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。本実施の形態では、ダイレクトRDRAMを採用する例を示す。ROM2003はブートROMであり、システムのブートプログラムが格納されている。
【0015】
レンダリング部2060は、PDLコード又は中間ディスプレイリストをビットマップイメージに展開するものである。
【0016】
次に、システム制御部2150を説明する。システム制御部2150は、CPU2001と、画像リングインタフェース(1)2147と、画像リングインタフェース(2)2148と、CPUバス2126と、システムバスブリッジ2007と、サブバススイッチ2128と、画像DMA(1)2130と、画像圧縮部2131と、画像DMA(2)2132と、フォント伸張部3134と、ソート部2135と、ビットマップトレース部2136と、画像伸張部2133と、フォント伸張部2134と、LANコントローラ2010と、USBインタフェース2138と、汎用シリアルポート2139と、インタラプトコントローラ2140と、GPIOインタフェース2141と、操作部I/F2006と、MAC回路2145とを有する。
【0017】
CPU2001はシステム全体を制御するプロセッサである。本実施の形態は2つのCPUを用いた例を示す。これら2つのCPUは、共通のCPUバス2126に接続され、さらに、システムバスブリッジ2007に接続される。システムバスブリッジ2007には、バススイッチであり、CPU2001の他に、CPUバス2126と、RAMコントローラ2124と、ROMコントローラ2125と、IOバス12127と、サブバススイッチ2128と、IOバス22129と、画像リングインタフェース(1)2147と、画像リングインタフェース(2)2148とが接続されている。
【0018】
サブバススイッチ2128は、第2のバススイッチであり、画像DMA12130と、画像DMA22132と、フォント伸張部3134と、ソート回路2135と、ビットマップトレース部2136とが接続され、これらのDMAから出力されるメモリアクセス要求を調停し、システムバスブリッジ2007への接続を行う。
【0019】
RAMコントローラ2124は、RAM2002を制御するものである。ROMコントローラ2125は、ROM2003を制御するものである。
【0020】
画像DMA12130は、画像圧縮部3131に接続し、レジスタアクセスリング2137を介して設定された情報に基づき、画像圧縮部2131を制御し、RAM2002上にある非圧縮データの読み出し、圧縮、圧縮後データの書き戻しを行う、本実施の形態では、JPEGを圧縮アルゴリズムに採用した例を示す。
【0021】
画像DMA(2)2132は、画像伸張部2133に接続し、レジスタアクセスリング2137を介して設定された情報に基づき、画像伸張部2133を制御し、RAM2002上にある圧縮データの読み出し、伸張、伸張後データの書き戻しを行う、本実施の形態では、JPEGを伸張アルゴリズムに採用した例を示す。
【0022】
フォント伸張部2134は、LANコントローラ2010等を介し外部より転送されるPDLデータに含まれるフォントコードに基づき、ROM2003又はRAM2002に格納された圧縮フォントデータの伸張を行う。本実施の形態では、FBEアルゴリズムを採用した例を示す。
【0023】
ソート回路2135は、PDLデータを展開する段階で生成されるディスプレイリストのオブジェクトの順番を並び替える回路である。
【0024】
ビットマップトレース回路2136は、ビットマップデータより、エッジ情報を抽出する回路である。
【0025】
IOバス(1)2127は、内部IOバスの一種であり、標準バスであるUSBバスのコントローラと、USBインタフェース2138と、汎用シリアルポート2139と、インタラプトコントローラ2140と、GPIOインタフェース2141とが接続されている。IOバス(1)2127には、図示しないバスアービタが含まれている。
【0026】
操作部インタフェース2006は、操作部UI2012とインタフェース部であり、操作部UI2012に表示する画像データを操作部UI2012に対して出力する。また、操作部UI2012から本システム使用者が入力した情報を、CPU2001に伝える役割をする。
【0027】
IOバス(2)2129は、内部IOバスの一種であり、汎用バスインタフェース(1)及び(2)2142と、LANコントローラ2010が接続されている。IOバス(2)2129には、図示しないバスアービタが含まれている。汎用バスインタフェース2142は、2つの同一のバスインタフェースからなり、標準IOバスをサポートするバスブリッジである。本実施の形態では、PCIバス2143を採用した例を示す。LANコントローラ2010は、MAC回路2145とPHY/PMD回路2146を介してLAN1010に接続してあり、情報の入出力を行うものである。
【0028】
画像リングインタフェース(1)2147及び画像リングインタフェース(2)2148は、システムバスブリッジ2007と、画像データを高速で転送する画像リング2008を接続し、タイル化後に圧縮されたデータをRAM2002とタイル画像処理部2149間で転送するDMAコントローラである。
【0029】
HDD2004は、ハードディスクドライブであり、システムソフトウェア、画像データを格納する。ディスクコントローラ2144を介して一方のPCIバス2143に接続される。モデム2050は公衆回線2051に接続してあり、情報の入出力を行うものである。
【0030】
次に、画像処理部2149を説明する。画像処理部2149は、タイル画像処理部2149と、コマンド処理部2104と、ステータス処理部2105と、タイル圧縮部2106と、ステータス処理部2105と、レンダリング部インタフェース2110と、画像入力インタフェース2112と、画像出力インタフェース2113と、多値化部2119と、2値化部2118と、色空間変換部2117と、画像回転部203と0、解像度変換部2116と、画像入力インタフェース2112と、画像出力インタフェース2113と、画像回転部2030と、解像度変換部2116と、色空間変換部2117と、2値化部2118と、多値化部2119と、外部バスインタフェース部2120と、メモリ制御部2122とを有する。
【0031】
画像リング2008は、一対の単方向接続経路の組み合わせにより構成される画像リング(1)及び画像リング(2)である。画像リング2008は、タイル画像処理部2149内で、画像リングインタフェース(3)2101及びタイル画像インタフェース(3)2102を介し、タイル伸張部2103と、コマンド処理部2104と、ステータス処理部2105と、タイル圧縮部2106とに接続されている。本実施の形態では、タイル伸張部2103を2組、タイル圧縮部を3組、実装する例を示す。
【0032】
タイル伸張部2103は、画像リングインタフェース(1)〜(3)2147,2148,2101,2102に接続されるとともに、タイルバス2107に接続され、画像リング2008より入力された圧縮後の画像データを伸張し、タイルバス2107へ転送するバスブリッジである。本実施の形態では、JPEG及びパックビッツ方式による伸張アルゴリズムを採用した例を示す。
【0033】
タイル圧縮部2106は、画像リングインタフェース(1)〜(3)2147,2148,2101,2102への接続に加え、タイルバス2107に接続され、タイルバス2107より入力された圧縮前の画像データを圧縮し、画像リング2008へ転送するバスブリッジである。本実施の形態では、タイル伸張部2103と同じ様に、JPEG及びパックビッツ方式による圧縮アルゴリズムを採用した例を示す。
【0034】
コマンド処理部2104は、画像リングインタフェース(1)〜(3)2147,2148,2101,2102への接続に加え、レジスタ設定バス2109に接続され、画像リング2008を介して入力したCPU2001より発行されたレジスタ設定要求を、レジスタ設定バス2109に接続される該当ブロックへ書き込む。また、CPU2001より発行されたレジスタ読み出し要求に基づき、レジスタ設定バス2109を介して該当レジスタより情報を読み出し。画像リングインタフェース(3)2102に転送する。
【0035】
ステータス処理部2105は、各画像処理部の情報を監視し、CPU2001に対してインタラプトを発行するためのインタラプトパケットを生成し、画像リングインタフェース(3)2102に出力する。
【0036】
タイルバス2107には、上記ブロックに加え、レンダリング部インタフェース2110と、画像入力インタフェース2112と、画像出力インタフェース2113と、多値化部2119と、2値化部2118と、色空間変換部2117と、画像回転部2030と、解像度変換部2116とが接続されている。
【0037】
レンダリング部インタフェース2110は、レンダリング部2060により生成されたビットマップイメージを入力するインタフェースである。レンダリング部2060とレンダリング部インタフェース2110は、一般的なビデオ信号2111にて接続される。レンダリング部インタフェース2110は、タイルバス2107に加え、メモリバス2108とレジスタ設定バス2109への接続を有し、入力されたラスタ画像をレジスタ設定バス2109を介して設定された、所定の方法によりタイル画像への構造変換をすると同時に、クロックの同期化を行い、タイルバス2107に対し出力を行う。
【0038】
画像入力インタフェース2112は、スキャナ用画像処理部2114により補正画像処理されたラスタイメージデータを入力とし、レジスタ設定バス2109を介して設定された所定の方法によりタイル画像への構造変換とクロックの同期化を行い、タイルバス2107に対し出力を行う。
【0039】
画像出力インタフェース2113は、タイルバス2107からのタイル画像データを入力とし、ラスター画像への構造変換とクロックレートの変更を行い、ラスター画像をプリンタ用画像処理部2115へ出力する。
【0040】
画像回転部2030は画像データの回転を行うものである。解像度変換部2116は画像の解像度の変更を行うものである。色空間変換部2117はカラー及びグレースケール画像の色空間の変換を行うものである。2値化部2118は、多値カラー、グレースケール画像を2値化するものである。多値化部2119は2値画像を多値データへ変換するものである。
【0041】
外部バスインタフェース部2120は、画像リングインタフェース(1)〜(3)2147,2148,2101,2102と、コマンド処理部2104と、レジスタ設定バス2109とを介し、CPU2001により発行された書き込み及び読み出し要求を外部バス(3)2121に変換出力するバスブリッジである。外部バス(3)2121は本実施の形態では、プリンタ用画像処理部2115、スキャナ用画像処理部2114に接続されている。
【0042】
メモリ制御部2122は、メモリバス2108に接続され、各画像処理部の要求に従い、あらかじめ設定されたアドレス分割により、画像メモリ(1)及び画像メモリ(2)2123に対して、画像データの書き込み、読み出し、必要に応じてリフレッシュ等の動作を行う。本実施の形態では、画像メモリにSDRAMを用いた例を示す。
【0043】
スキャナ用画像処理部2114は、画像入力デバイスであるスキャナ2070によりスキャンされた画像データを補正画像処理する。プリンタ用画像処理部は、プリンタ出力のための補正画像処理を行い、結果をプリンタ2095へ出力する。
【0044】
[タイル画像パケットフォーマット]
制御装置2000では、画像データと、CPU2001によるコマンドと、各ブロックより発行される割り込み情報とを、パケット化された形式で転送する。本実施の形態では、図5に示すデータパケットと、図6に示すコマンドパケットと、図7に示すインタラプトパケットとの3種の異なる種類のパケットが使用される。
【0045】
(データパケット(図5))
本実施の形態では、画像データを32pixel×32pixelのタイル単位の画像データ3002に分割して取り扱う。このタイル単位の画像に、必要なヘッダ情報3001及び画像付加情報等3003を付加してデータパケットとする。
【0046】
次に、ヘッダ情報3001に含まれる情報について説明する。パケットはヘッダ情報3001内のPcktType3004内のPacketTypeID3023の値によって、データパケットと、コマンドパケットと、インタラプトパケットとに区別される。本実施の形態では、3bitのPacketTypeIDとして、
001b又は101b: データパケット
010b: コマンドパケット
100b: インタラプトパケット
を割り付けている。
【0047】
また、PcktType3004には、RepeatFlag3022が含まれており、データパケットの画像データ及び画像付加情報3003と、ヘッダ情報3001内の所定の情報とが、1つ前に送信したデータパケットと同一の場合、RepeatFlag3022に1をセットする。この場合、パケットの転送はヘッダ情報3001のみ行われる。
【0048】
ChipID3005は、パケットを送信するターゲットとなるチップのIDを示す。
【0049】
ImageType3006は、画像データのタイプを示す。本実施の形態では、ImageType8bitのうち上位2bitを用いて画像データのタイプを次のように規定する。
00b: 1画素の画像データを1bitで表す。
01b: 1画素の画像データを8bit1成分で表す。
10b: 1画素の画像データを8bit3成分、計24bitで表す。
11b: 1画素の画像データを8bit4成分、計32bitで表す。
【0050】
PageID3007は、データパケットが含まれるページを示しており、JobID3008はソフトウェアで管理するためのJobIDを格納する。
【0051】
データパケットのページ上の並び順は、Y方向のタイル座標3009とX方向のタイル座標3010の組み合わせで、YnXnで表される。
【0052】
データパケットにあっては、パケットが持つ画像データ及び画像付加情報が圧縮されているデータパケットと、非圧縮のデータパケットとが存在する。本実施の形態では、圧縮アルゴリズムとして、画像データが多値カラー多値グレースケールを含むの場合はJPEGを、2値の場合及び画像付加情報はパックビッツを採用した例を示す。
【0053】
上記方式により、画像データ及び画像付加情報が圧縮されている場合と非圧縮の場合との区別は、それぞれCompressFlag3017内のImageData3026及びZdata3027が1の場合は圧縮データ、0の場合は非圧縮データであることを表す。
【0054】
また、CompressFlag3017内にはJPEGにより圧縮処理を行う際に使用した量子化テーブルの種類を格納するQ−TableID3028が用意されており、量子化テーブルが複数ある場合、データの圧縮及び伸張時はこの値を参照して使用する量子化テーブルの切替を行う。
【0055】
Process Instruction3011は左詰で8bit毎に処理順に設定し、各処理ユニットは処理後Process Instructionを左に8bitシフトする。Process Instruction3011はUnitID3024とMode3025の組が8組格納されている。UnitID3024は画像処理部2149の各処理ユニットを指定し、Mode3025は各処理ユニットでの動作モードを指定する。これにより、1つのパケットは8つのユニットまで連続して処理することができる。
【0056】
PacketByteLength3012はパケットのトータルバイト数を示す。
【0057】
ImageDataByteLengh3015は画像データのバイト数、ZDataByteLength3016は画像付加情報のバイト数を表し、ImageDataOffset3013、ZDataOffset3014はそれぞれのデータに対するパケットの先頭からのオフセット値を表している。
【0058】
SourceID3018は画像データ及び画像付加情報が生成されたソースを示す。
【0059】
Ztype3020は画像付加情報における有効ビット幅を示し、Ztype3020で示したビット以外の画像付加情報は無効情報とする。尚、Ztype3020が0である場合は、入力された画像付加情報全てが無効であることを表す。
【0060】
ThumbnailData3021はデータパケットの画像データを代表する値以下、サムネール値と呼ぶを格納する。本実施の形態ではThumbnailData3021に最大4つのサムネール値を格納することができる構成となっている。
【0061】
Misc3019は上記の各情報以外に必要となる情報を格納する。本実施の形態ではChar−flag3029及びQ−TableSel3030が用意されている。Char−flag3029にはデータパケットが属する領域信号が格納される。Q−TableSel3030にはJPEG方式による圧縮及び伸張時に使用する量子化テーブルを変更するための情報が格納される。
【0062】
(パケットテーブル(図8))
図8はデータパケットがRAM2002に格納されている状態を示す。各データパケットはパケットテーブル6001によって管理する。パケットテーブル6001の構成要素は次の通りで、それぞれテーブルの値に0を5bit付加すると、パケットの先頭アドレス6002、パケットのByte Length6005となる。
【0063】
Packet Address Pointer 27bit + 5b00000 = Packet先頭Address
Packet Length 11bit + 5b00000 = PacketのByte Length
なお、パケットテーブル6001とチェインテーブル6010は分割されないものとする。
【0064】
パケットテーブル6001は常に走査方向に並んでおり、Yn/Xn=000/000,000/001,000/002,....という順で並んでいる。このパケットテーブル6001のエントリは一意に1つのタイルを示す。また、Yn/Xmaxの次のエントリはYn+1/X0となる。
【0065】
ヘッダ情報3001内のRepeatFlag3002がセットされているパケットが入力される場合は、そのパケットはメモリ上には書かず、パケットテーブルのエントリに1つ目のエントリと同じPacket Address Pointer、Packet Lengthを格納する。1つのパケットデータを2つのテーブルエントリが指すかたちになる。この場合、2つ目のテーブルエントリのRepeat Flag6003がセットされる。
【0066】
パケットがChain DMAにより複数に分断された場合は、Divide Flag6004をセットし、そのパケットの先頭部分が入っているChain Blockのチェインテーブル番号6006をセットする。
【0067】
チェインテーブル6010のエントリはChain Block Address6011とChainBlock Length6012からなっており、テーブルの最後のエントリには、Address、Lengthとして共に0を格納しておく。
【0068】
(コマンドパケットフォーマット(図6))
コマンドパケットフォーマットは、レジスタ設定バス2109へのアクセスを行うためのものである。本パケットを用いることにより、COU2001より画像メモリ2123へのアクセスも可能である。
【0069】
ChipID4004には、コマンドパケットの送信先となる画像処理部2149を表すIDが格納される。PageID4007、JobID4008はソフトウェアで管理するためのPage IDとJob IDを格納する。Packet ID4009は1次元で表される。Data PacketのX−coordinateのみを使用する。
【0070】
パケットバイトレングス4010は固定で128Byteである。パケットデータ部4002には、アドレス4011とデータ4012の組を1つのコマンドとして、最大12個のコマンドを格納することが可能である。ライトかリードかのコマンドのタイプはCmdType4005で示され、コマンドの数はCmdnum4006で示される。
【0071】
(インタラプトパケットフォーマット(図7))
インタラプトパケットフォーマットは、画像処理部2149からCPU2001への割り込みを通知するためのものである。ステータス処理部2105はインタラプトパケットを送信すると、次に送信の許可がされるまでは、インタラプトパケットを送信してはならない。
【0072】
パケットバイトレングス5006は固定で128Byteである。パケットデータ部5002には、画像処理部2149の各内部モジュールのステータス情報5007が格納されている。ステータス処理部2105は画像処理部2149内の各モジュールのステータス情報を集め、一括してシステム制御部2150に送ることができる。
【0073】
ChipID5004にはインタラプトパケットの送信先となるシステム制御部2150を表すIDが、また、IntChipID5005にはインタラプトパケットの送信元となる画像処理部2149を表すIDが格納される。
【0074】
[タイル圧縮部]
図9は図4のタイル圧縮部(1),(2),(3)2106の各圧縮部の構成を示す。タイル圧縮部(1),(2),(3)2106は同一構成を有する。図9において、201はタイルバスインタフェース部であり、タイルバス2107とハンドシェイクを行い、タイルバス2107から入力されるヘッダ情報と、画像データ及び画像付加情報とを取得し、後段に接続された各処理ブロックへそれぞれのデータを出力する。タイルバスインタフェース部201では、タイルバス2107から送られてくるヘッダ情報を解析し、ヘッダ情報に矛盾がある場合は、後述のレジスタ設定部206に矛盾内容に相当する割り込み信号を出力した後、リセット信号が入力されるまで動作を停止する。
【0075】
他方、ヘッダ情報に矛盾がない場合は、ヘッダ情報保持部202、第1圧縮処理ユニット203及び第2圧縮処理ユニット204にデータを転送し、ヘッダ情報保持部202ではパケットのヘッダ情報を格納し、第1及び第2圧縮処理部ではそれぞれの圧縮方式で圧縮処理を行う。また、第1及び第2圧縮処理ユニット203,204は、圧縮処理時に問題があった場合に、エラー信号を生成し、レジスタ設定部206にそれぞれ報告する。
【0076】
205は画像リング出力部であり、ヘッダ情報保持部202と、第1圧縮処理部203及び第2圧縮処理部204とから、処理情報及び画像データと、画像付加情報とを取得し、ヘッダ情報に対して所定の値を設定してから、図5のデータパケットを生成し、画像リングインタフェース2102に出力する。
【0077】
206はレジスタ設定部であって、タイル圧縮部2106内部の処理に関して設定を行うためのものであり、タイル圧縮部2106に所定の圧縮処理を行わせるためには、レジスタ設定部206に所定の値を設定する必要がある。これらの設定は、コマンドパケットを用いてシステム制御部2150から画像処理部2149のコマンド処理部2104に送り、コマンド処理部2104からレジスタ設定バス2109を介してタイル圧縮部2106に送られることにより行われる。
【0078】
レジスタ設定部206に設定された値は、各圧縮処理ユニットに送られ、それらの設定値を参照することにより決められた処理を行う。なお、レジスタ設定部206へはコマンドパケットを用いて値を設定するだけでなく、コマンドパケットを用いてレジスタ設定部206が保持している設定値をシステム制御部2150へ出力することも可能である。
【0079】
さらに、レジスタ設定部206は、タイルバスインタフェース部201と、第1圧縮処理ユニット203及び第2圧縮処理ユニット204とから入力された割り込み信号に対応するレジスタを持ち、いずれかのブロックから割り込み信号が入力されると対応するレジスタの値をセットした後に、ステータス処理部2105に対して割り込みが発生したことを知らせるインタラプト信号と、いずれのブロックで割り込みが発生したかを表すステータス信号とを出力する。
【0080】
207はレジスタ設定バスインタフェース部であり、レジスタ設定バス2109からタイル圧縮部に入力されたアドレス及び設定値を、レジスタ設定部206が受け取れるフォーマットに変換して送るためのブロックである。なお、レジスタ設定バスインタフェース部207は、レジスタ設定バス2109からレジスタ設定値を受け取るだけでなく、レジスタ設定バスが示したアドレスに対応する設定値をレジスタ設定部206から読み出してレジスタ設定バス210に出力することも可能である。
【0081】
208は量子化テーブルであり、後述する圧縮処理中の量子化処理時に参照する量子化データ列が格納されている。この量子化テーブル208はレジスタ設定部206からリード/ライトすることが可能であり、かつヘッダ情報保持部202と、第1圧縮処理部203及び第2圧縮処理部204とから独立してリードすることが可能な3つのリード口を持ったRAM手段である。
【0082】
[第1及び第2圧縮処理ユニット203,204]
図10は図9の第1及び第2圧縮処理ユニット203,204の内部構成を示す。なお、本実施の形態では、画像データが8bit構成、24bit構成、又は32bit構成である場合、つまり画像データが第1圧縮処理ユニット203において圧縮処理される場合について説明する。ただし、この説明は他の圧縮処理ユニットにおいても同様である。
【0083】
図10において、101は第1データバッファであって、タイルバスインタフェース部201から送られてきた画像データを格納するためのものであり、所定量のデータが送られると後段に接続されたJPEG圧縮部110に対して所定の順序に従って画像データを出力する。ここで、第1データバッファ101にはヘッダ情報保持部202からヘッダ情報のImageType3006が入力されており、JPEG圧縮部110に出力する画像データの順序はImageTypeにより制御される。
【0084】
110はJPEG圧縮部であり、本実施の形態では、JPEG圧縮部110において画像データのJPEG方式による圧縮を行っている。なお、JPEG圧縮部110内はさらに3つの処理ブロックが存在する。
【0085】
102はDCT変換部であり、第1データバッファ101から64個のデータが入力されると、入力されたデータに対して離散コサイン変換(DCT)を行い周波数成分に変換する。また、このとき離散コサイン変換によって生成されたDC成分値をラッチ信号とともに後述のサムネイル生成部107に出力する。離散コサイン変換は64個のデータが入力される度に行われ、その都度、サムネイル生成部107にはラッチ信号とDC成分値が出力される。また、DCT変換部102はDCT変換の演算中にエラーが発生すると、DCT変換部102からレジスタ設定部206に対してエラー割り込み信号を出力する。
【0086】
103は量子化部であり、DCT変換部102から出力された周波数成分に対して所定の量子化値を用いて量子化を行って量子化データを生成する。なお、量子化値は後述する量子化テーブルから入力され、使用される量子化値はヘッダ情報保持部202からヘッダ情報を解析することにより決定される。量子化部103は量子化を行った結果が所定の値以外の値になると、レジスタ設定部206に対してエラー割り込み信号が出力する。
【0087】
104はハフマン符号化部であり、量子化部103から出力された量子化データに対して所定の符号化を行い符号化データを生成し、第2データバッファ105に出力する。ハフマン符号化部104は符号化が不可能なデータが入力されると、ハフマン符号化部104からレジスタ設定部206に対してエラー割り込み信号が出力する。
【0088】
第2データバッファ105は、ハフマン符号化部104で符号化した符号化データを格納するためのものであり、ハフマン符号化部104から1タイル分の符号化データを取得するとバッファ内に格納した符号化データの容量をData Byte Length1として画像リング出力部205に対して出力する。また、画像リング出力部205の要求に従って第2データバッファ105に格納した符号化データを画像リング出力部205に対して出力する。
【0089】
106はデータ比較部であり、タイルバスインタフェース部201から入力された画像データと第1データバッファ101に格納された画像データを比較するものである。タイルバスインタフェース部201から送られた画像データは、第1データバッファ101に格納されると同時に、画像データが格納された部分に格納されていた画像データとの比較をデータ比較部106で行う。
【0090】
第1データバッファ101には、タイルバスインタフェース部201から入力されるタイルの1つ前に、第1の圧縮処理ユニット203に送られた画像データが格納されているため、上記動作により、データ比較部106では、タイルバスインタフェース部201から送られてくる画像データと、第1の圧縮処理ユニット203において1つ前のタイルの画像データとの比較が行われる。
【0091】
データ比較部106により1タイル分の画像データの比較が終了すると、データ比較部106から画像リング出力部206に対して、比較結果Compare result1が出力される。
【0092】
107はサムネイル生成部であり、DCT変換部102から出力されるラッチ信号に同期してDC成分値を取得し、演算及び正規化を行うことによってタイルごとにサムネイル値を生成して画像リング出力部205に出力する。なお、サムネイル生成部107にはヘッダ保持部202からImageType3006が入力されており、サムネイル生成部107はImageTypeを参照することによりDCT変換部102から送られてくるDC成分値の順序を検知して成分ごとにサムネイル値の生成する。生成されたサムネイル値は画像リング出力部206に出力され、画像リング出力部においてヘッダ情報保持部202から取得したヘッダ情報のThumbnail Data3021の部分に所定のフォーマットで格納される。その後、第1圧縮処理ユニット203で圧縮された画像データ及び第2圧縮処理ユニット204で圧縮された画像付加情報とともにデータパケットとして画像リングインタフェース2104に出力される。
【0093】
109は量子化テーブルであり、量子化部103において量子化を行うための量子化値を格納してある。この量子化テーブル109には、複数の量子化テーブルが格納してあり、後述の量子化テーブル選択部108から入力される選択信号によって所定の量子化テーブルを選択して、量子化部103に量子化値を出力する。ここで、量子化テーブルは各JPEG圧縮部110に1つづつ有るのではなく、共有のメモリ手段が共有している。
【0094】
108は量子化テーブル選択部であり、量子化テーブル109に対して量子化テーブル選択信号を出力することによって、量子化テーブル109に格納されている複数のテーブルから所定のテーブルを選択する。量子化テーブル選択部108には、ヘッダ情報保持部202からImageType3006、Mode3025、Q−Table Sel3030が入力されており、量子化テーブル選択部108はこれらのヘッダ情報から使用する量子化テーブルを決定する。使用する量子化テーブルが決まると、量子化テーブル選択部109は決めた量子化テーブルを選択するように量子化テーブル選択信号を量子化テーブル109に出力するとともに、選択した量子化テーブルを表すQ−Table IDを画像リング出力部205に出力する。
【0095】
<第2の実施の形態>
本実施の形態は、第1の実施の形態との比較でいえば、画像処理方法が異なる。すなわち、第1の実施の形態では、JPEG圧縮を行うようにしたが、本実施の形態では、JPEG圧縮された画像データを伸張するようにした。
【0096】
図11は図3のタイル伸張部2103の構成を示す。図11において、705は画像リング入力部であり、ヘッダ情報保持部702と、第1伸張処理ユニット703と、第2伸張処理ユニット704とへ、ヘッダ情報及び画像データと画像付加情報を入力する。
【0097】
また、画像リング入力部705では、画像リングインタフェース(3)2101から送られてくるヘッダ情報を解析し、ヘッダ情報に矛盾がある場合は、後述のレジスタ設定部706に矛盾内容に相当する割り込み信号を出力した後、リセット信号が入力されるまで動作を停止する。他方、ヘッダ情報に矛盾がない場合は、第1伸張処理ユニット703、第2伸張処理ユニット704、の順番にデータを転送し、第1ないし第2伸張処理ユニット703,704で並列に画像伸張処理を行う。第1ないし第2伸張処理ユニット703,704はその構成が全て同一である。なお、第1伸張処理ユニット703において伸張処理を行っている際に、第1伸張処理ユニット703が動作の異常を検知した場合、第1伸張処理ユニット703は異常動作の内容に相当する割り込み信号をレジスタ設定部706に対して出力した後、リセット信号が入力されるまで動作を停止する。701はタイルバスインタフェース部であり、タイルバス2107とハンドシェイクを行い、タイルバス2107へ、ヘッダ情報と、画像データと、画像付加情報とを出力するとともに、タイルバス2107に接続された各処理ブロックへそれぞれのデータを出力する。
【0098】
706はレジスタ設定部であって、タイル伸張部2103内部の処理に関して設定を行うためのものであり、タイル伸張部2103に所定の伸張処理を行わせるためには、レジスタ設定部706に所定の値を設定する必要がある。これらの設定はコマンドパケットを用いてシステム制御部2150から画像処理部2149のコマンド処理部2104に送り、コマンド処理部2104からレジスタ設定バス2109を介してタイル伸張部2103に送られることにより行う。レジスタ設定部706に設定された値は、第1伸張処理部703及び第2伸張処理部704に送られ、両伸張処理部はそれらの設定値を参照することにより決められた処理を行う。なお、レジスタ設定部706へはコマンドパケットを用いて値を設定するだけでなく、コマンドパケットを用いてレジスタ設定部706が保持している設定値をシステム制御部2150へ出力することも可能である。
【0099】
また、レジスタ設定部706は、タイルバスインタフェース部701と、第1伸張部703と、第2伸張部704とから入力された割り込み信号に対応するレジスタを持ち、いずれかのブロックから割り込み信号が入力されると、対応するレジスタの値をセットした後に、ステータス処理部2105に対して割り込みが発生したことを知らせるインタラプト信号と、いずれのブロックで割り込みが発生したかを表すステータス信号とを出力する。
【0100】
707はレジスタ設定バスインタフェース部であり、レジスタ設定バス2109からタイル伸張部に入力されたアドレス及び設定値を、レジスタ設定部706が受け取れるフォーマットに変換して送るためのブロックである。なお、レジスタ設定バスインタフェース部707は、レジスタ設定バス2109からレジスタ設定値を受け取るだけでなく、レジスタ設定バス2109が示したアドレスに対応する設定値をレジスタ設定部706から読み出してレジスタ設定バス2109に出力することも可能である。
【0101】
708は量子化テーブルであり、逆量子化部803において逆量子化を行うための量子化値が格納してある。量子化テーブル708には、複数の量子化テーブルが格納してあり、後述の量子化テーブル選択部808から入力される選択信号によって所定の量子化テーブルを選択して逆量子化部803に量子化値を出力する。ここで、量子化テーブルは各JPEG圧縮部810に1つづつ有るのではなく、共有のメモリ手段を共有して用いられる。
【0102】
[画像伸張処理ユニット]
図12は図11の第1及び第2伸張処理ユニット703,704の構成を示す。画像データが8bit構成、24bit構成、又は32bit構成である場合、つまり、画像データが第1伸張処理ユニット703において伸張処理される場合について説明する。ただし、この説明は第2伸張処理ユニットについても同様である。
【0103】
図12において、801は第1データバッファであって、画像リング入力部705から送られてきた画像データを格納するためのものであり、所定量のデータが送られると後段に接続されたJPEG伸張部810に対して所定の順序に従って画像データを出力する。第1データバッファ801には、ヘッダ情報保持部702からヘッダ情報のImageType3006が入力されており、JPEG伸張部810でのJPEG伸張処理に使用される。JPEG伸張部810内には、3つの処理ブロックが存在する。
【0104】
802はハフマン復号化部であり、データバッファ801からJPEGの圧縮データが入力されると、所定の復号化を行い、逆量子化部803に出力する。803は逆量子化部であり、ハフマン復号化部802から出力されたデータに対して所定の量子化値を用いて逆量子化を行う。なお、逆量子化値は後述する量子化テーブルから入力され、使用される量子化値はヘッダ情報保持部702からヘッダ情報を解析することにより決定される。804はDCT逆変換部であり、逆量子化部803からの周波数成分のDCT逆変換を行う。
【0105】
805は伸張された画像データを格納するための第2のデータバッファであり、1タイル分の画像データを取得すると、タイルバスインタフェース部701に対して出力する。809は量子化テーブルであり、逆量子化部803において逆量子化を行うための量子化値を格納している。量子化テーブル809には、複数の量子化テーブルが格納されており、後述の量子化テーブル選択部808から入力される選択信号によって所定の量子化テーブルを選択して逆量子化部803に量子化値を出力する。
【0106】
808は量子化テーブル選択部であり、量子化テーブル809に対して量子化テーブル選択信号を出力することによって量子化テーブル809に格納されている複数のテーブルの中から所定のテーブルを選択する。量子化テーブル選択部808には、ヘッダ情報保持部702からImageType3006、Mode3025、Q−Table Sel3030が入力されており、画像リング入力部705からはQ−Table IDが入力されており、量子化テーブル選択部808はこれらのヘッダ情報から使用する量子化テーブルを決定する。使用する量子化テーブルが決まると、量子化テーブル選択部808は決めた量子化テーブルを選択するように量子化テーブル選択信号を量子化テーブル809に出力する。なお、量子化テーブル809は各JPEG伸張部801に1つづつ有るのではなく、共有のメモリ手段を共有して用いられる。
【0107】
このように、画像データに付加されたヘッダ情報内の量子化テーブルの選択情報を用いることで、CPUを介した、画像処理モードの再設定が不要で、また、画像圧縮部で圧縮された画像データを画像伸張部で伸張する際にも、適切な量子化テーブルを選択することができる。加えて、マルチファンクションの処理として、例えば、メモリ上の画像をプリントアウトしながら、メモリ上の別の画像を回転し、メモリに書き戻すという処理を同時に行った場合においても、画像処理がタイル単位で行え、タイル単位で適切な量子化テーブルが自動的に選択されるので、並列動作が容易となる。
【0108】
すなわち、RAM2002のプリント用の画像データからプリント用のデータパケットを生成し、RAM2002→画像リングインタフェース2101→タイル伸張部2103→画像出力インタフェース2113→プリンタ2095という経路をとるプリント出力処理を行い、一方で、RAM2002の回転用の画像データから回転用のデータパケットを生成し、RAM2002→画像リングインタフェース2101→タイル伸張部2103→画像回転部2030→画像リングインタフェース2101→RAM2002という経路をとる画像回転処理を行う。
【0109】
このとき、タイル伸張部2103の各伸張部では、例えば、第1伸張処理ユニットがプリント用のデータパケットのヘッダ情報に従ってプリント出力に適した量子化テーブルを選択してタイル画像を伸張処理し、第2伸張処理ユニットが回転用のデータパケットのヘッダ情報に従って回転処理に適した量子化テーブルを選択してタイル画像を伸張処理することができる。なお、1つの処理ユニットに関して、順次入力したデータパケット毎にテーブルを切り替えるといった、時分割での各処理の割り当てを行ってもよい。
【0110】
(他の実施形態)
上記実施形態では、デジタル複写機のコントローラを例に本発明を説明したが、本発明はこれに限るものではなく、プリンタ装置、スキャナ装置、PC接続用の拡張カード等、他の画像処理装置においても同様に適用可能であることは言うまでもない。また、ユニット間(例えばスキャナユニットとプリンタユニット)の画像データ通信をパケットデータの形式でシリアルデータ通信する場合等においても、各ユニットの圧縮・送信部/受信・伸張部に、本発明を適用することができる。
【0111】
また、上記実施形態では、圧縮処理及び伸張処理を例に、本発明を説明したが、本発明はこれに限るものではなく、2値化処理、色変換処理、解像度変換処理等、テーブルを使用した処理が可能な他の画像処理にも同様に適用することが可能であることは言うまでもない。
【0112】
以下に本発明の実施態様の例を列挙する。
【0113】
〔実施態様1〕 原画像を分割した分割画像を処理する画像処理装置であって、
前記分割画像の処理のためのテーブルを格納する格納手段と、
前記分割画像に処理情報を付加したデータパケットを入力する入力手段と、
前記入力手段により入力したデータパケットの分割画像を、前記テーブルに従い画像処理する複数の画像処理手段とを有し、
前記複数の画像処理手段は、前記データパケットの処理情報に従って前記テーブルを選択し前記画像処理に使用することで、前記格納手段の同一のテーブルを共有することを特徴とする画像処理装置。
【0114】
〔実施態様2〕 実施態様1において、前記画像処理手段は、前記処理情報に含まれるモード切り替情報に従い前記格納手段に格納された量子化テーブルを選択して使用することで画像圧縮処理を行うことを特徴とする画像処理装置。
【0115】
〔実施態様3〕 実施態様1において、前記画像処理手段は、前記処理情報に含まれるモード切り替情報に従い前記格納手段に格納された量子化テーブルを選択して使用することで画像伸張処理を行うことを特徴とする画像処理装置。
【0116】
〔実施態様4〕 実施態様1ないし3のいずれかにおいて、前記原画像を矩形画像単位の画像データに分割することで、前記分割画像を生成する生成手段をさらに有することを特徴とする画像処理装置。
【0117】
〔実施態様5〕 原画像を分割した分割画像を処理する画像処理方法であって、
前記分割画像に処理情報を付加したデータパケットを入力する入力工程と、
前記入力工程において入力したデータパケットの分割画像を、格納手段に格納されたテーブルに従い画像処理する複数の画像処理工程とを有し、
前記複数の画像処理工程は、前記データパケットの処理情報に従って前記テーブルを選択し前記画像処理に使用することで、前記格納手段の同一のテーブルを共有することを特徴とする画像処理方法。
【0118】
〔実施態様6〕 原画像を分割した分割画像を処理する画像処理方法であって、
前記分割画像に処理情報を付加したデータパケットを入力する入力工程と、
前記入力工程において入力したデータパケットの分割画像を、格納手段に格納されたテーブルに従い画像処理する複数の画像処理工程とを有し、
前記複数の画像処理工程は、前記データパケットの処理情報に従って前記テーブルを選択し前記画像処理に使用することで、前記格納手段の同一のテーブルを共有することを特徴とする画像処理方法。
【0119】
〔実施態様7〕 原画像を分割した分割画像を処理する画像処理方法であって、
第1の原画像の分割画像に処理情報を付加した第1のデータパケットと、第2の原画像の分割画像に処理情報を付加した第2のデータパケットを入力する入力工程と、
前記入力工程において入力した第1及び第2のデータパケットの分割画像を、前記テーブルに従い画像処理する複数の画像処理工程とを有し、
前記複数の画像処理工程は、前記第1のデータパケットの処理情報に従って第1のテーブルを選択して分割画像を処理し、前記第2のデータパケットの処理情報に従って第2のテーブルを選択して分割画像を処理することで、第1の原画像に係る処理と第2の原画像に係る処理の並行処理を行うことを特徴とする画像処理方法。
【0120】
【発明の効果】
以上説明したように、本発明によれば、タイル画像の圧縮、伸張時における量子化テーブルの選択を、画像データに付加されたヘッダ情報内の量子化テーブル選択情報を用いて、CPUを介さずに行うことによって、CPUの負荷を減らすと共に、画像処理の処理速度を上げながら、画像処理の並列動作が容易になる。
【図面の簡単な説明】
【図1】本発明の一実施の形態を示すブロック図である。
【図2】図1のシステム制御部2150の構成の一例を示すブロック図である。
【図3】図1の画像処理部2149の構成を示すブロック図である。
【図4】図1のマルチファンクションシステムをLAN1010に接続した例を示す図である。
【図5】データパケットのフォーマットの一例を示す図である。
【図6】コマンドパケットのフォーマットの一例を示す図である。
【図7】インタラプトパケットのフォーマットの一例を示す図である。
【図8】パケットテーブル及びチェーンテーブルのフォーマットの一例を示す図である。
【図9】図4のタイル圧縮部(1),(2),(3)2106の構成の一例を示すブロック図である。
【図10】図9の第1ないし第3圧縮処理ユニット202,203,204の構成の一例を示すブロック図である。
【図11】図3のタイル伸張部2103の構成の一例を示すブロック図である。
【図12】図11の第1ないし第3伸張処理ユニット702,703,704の構成の一例を示すブロック図である。
【符号の説明】
201 タイルバスインタフェース部
202 ヘッダ情報保持部
203 第1圧縮処理部
204 第2圧縮処理部
205 画像リング入力部
206 レジスタ部
207 レジスタ設定バスインタフェース部
2000 制御装置
2106 タイル圧縮部
2149 画像処理部
2150 システム制御部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus that performs image processing, and more particularly, to an image processing apparatus that processes a divided image obtained by dividing an original image.
[0002]
[Prior art]
Conventionally, in order to increase the processing speed of image processing, image data is divided into rectangular image units, and a plurality of image processing units are used to process the rectangular images in parallel, thereby achieving a desired processing speed. (For example, see Patent Document 1).
[0003]
Further, in order to further increase the speed, it is necessary to realize an image processing unit including more image processing units.
[0004]
[Patent Document 1]
JP-A-2002-8002
[0005]
[Problems to be solved by the invention]
However, each image processing unit needs to prepare its own quantization table, and by increasing the number of image processing units, it is necessary to prepare a quantization table for the increased number. The occupied circuit scale was increasing.
[0006]
SUMMARY OF THE INVENTION It is an object of the present invention to provide an image processing apparatus which solves the above-described problems and suppresses an increase in the circuit size occupied by a quantization table and can increase the processing speed.
[0007]
[Means for Solving the Problems]
An image processing apparatus for processing a divided image obtained by dividing an original image, comprising: storage means for storing a table for processing the divided image; and data obtained by adding processing information to the divided image. Input means for inputting a packet; and a plurality of image processing means for performing image processing on the divided image of the data packet input by the input means in accordance with the table, wherein the plurality of image processing means perform processing of the data packet. By selecting the table according to the information and using the table for the image processing, the same table in the storage unit is shared.
[0008]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<First embodiment>
FIG. 1 shows a first embodiment of the present invention. This is an example of a
[0009]
Referring to FIG. 4, a
[0010]
A
[0011]
A
[0012]
A
[0013]
Next, FIG. 1 will be described. In FIG. 1,
[0014]
A
[0015]
The
[0016]
Next, the
[0017]
The
[0018]
The
[0019]
The
[0020]
The image DMA 12130 is connected to the image compression unit 3131, controls the
[0021]
The image DMA (2) 2132 is connected to the
[0022]
The
[0023]
The
[0024]
The
[0025]
The IO bus (1) 2127 is a kind of internal IO bus, and is connected to a controller of a USB bus which is a standard bus, a
[0026]
The
[0027]
The IO bus (2) 2129 is a kind of internal IO bus, and the general-purpose bus interfaces (1) and (2) 2142 and the
[0028]
An image ring interface (1) 2147 and an image ring interface (2) 2148 connect the
[0029]
An
[0030]
Next, the
[0031]
The
[0032]
The
[0033]
The
[0034]
The
[0035]
The
[0036]
The
[0037]
The
[0038]
The
[0039]
The
[0040]
The
[0041]
The external
[0042]
The
[0043]
The scanner
[0044]
[Tile image packet format]
The
[0045]
(Data packet (Fig. 5))
In the present embodiment, the image data is divided into
[0046]
Next, information included in the
001b or 101b: Data packet
010b: Command packet
100b: Interrupt packet
Is assigned.
[0047]
The
[0048]
The
[0049]
00b: One pixel of image data is represented by 1 bit.
01b: One pixel of image data is represented by an 8-bit one component.
10b: One pixel of image data is represented by 8 bits and 3 components, for a total of 24 bits.
11b: One pixel of image data is represented by 8 bits and 4 components, for a total of 32 bits.
[0050]
[0051]
The arrangement order of the data packets on the page is represented by YnXn, which is a combination of the tile coordinates 3009 in the Y direction and the tile coordinates 3010 in the X direction.
[0052]
The data packet includes a data packet in which image data and image additional information of the packet are compressed, and an uncompressed data packet. In the present embodiment, as a compression algorithm, an example is shown in which JPEG is used when image data includes a multi-valued color multi-valued gray scale, binary data is used, and pack bits are used as image additional information.
[0053]
According to the above method, the case where the image data and the image additional information are compressed and the case where the image additional information is not compressed are as follows. It represents that.
[0054]
Also, a Q-
[0055]
The
[0056]
PacketByteLength3012 indicates the total number of bytes of the packet.
[0057]
[0058]
[0059]
[0060]
The
[0061]
The
[0062]
(Packet table (Fig. 8))
FIG. 8 shows a state where the data packet is stored in the
[0063]
Note that the packet table 6001 and the chain table 6010 are not divided.
[0064]
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. The next entry of Yn / Xmax is Yn + 1 / X0.
[0065]
When a packet in which the
[0066]
When a packet is divided into a plurality by the Chain DMA, a
[0067]
An entry of the chain table 6010 is composed of a
[0068]
(Command packet format (Fig. 6))
The command packet format is for accessing the
[0069]
The
[0070]
The
[0071]
(Interrupt packet format (Fig. 7))
The interrupt packet format is for notifying an interrupt from the
[0072]
The
[0073]
The ID representing the
[0074]
[Tile compression unit]
FIG. 9 shows the configuration of each compression unit of the tile compression units (1), (2), and (3) 2106 in FIG. The tile compression units (1), (2), and (3) 2106 have the same configuration. In FIG. 9,
[0075]
On the other hand, if there is no inconsistency in the header information, the data is transferred to the header
[0076]
[0077]
[0078]
The value set in the
[0079]
Further, the
[0080]
[0081]
[0082]
[First and second
FIG. 10 shows the internal configuration of the first and second
[0083]
In FIG. 10,
[0084]
[0085]
[0086]
[0087]
A
[0088]
The
[0089]
A
[0090]
Since the image data sent to the first
[0091]
When the comparison of the image data for one tile is completed by the
[0092]
[0093]
[0094]
[0095]
<Second embodiment>
This embodiment differs from the first embodiment in the image processing method. That is, in the first embodiment, JPEG compression is performed, but in the present embodiment, JPEG-compressed image data is expanded.
[0096]
FIG. 11 shows the configuration of the
[0097]
The image
[0098]
[0099]
The
[0100]
[0101]
A quantization table 708 stores a quantization value for performing inverse quantization in the
[0102]
[Image expansion unit]
FIG. 12 shows the configuration of the first and second
[0103]
In FIG. 12, reference numeral 801 denotes a first data buffer for storing image data sent from the image
[0104]
[0105]
[0106]
A quantization
[0107]
As described above, by using the selection information of the quantization table in the header information added to the image data, it is not necessary to reset the image processing mode via the CPU, and the image compressed by the image compression unit is not required. When data is expanded by the image expansion unit, an appropriate quantization table can be selected. In addition, as a multi-function process, for example, when simultaneously performing a process of rotating another image in the memory while writing out an image in the memory and writing back to the memory, the image processing is performed on a tile basis. , And an appropriate quantization table is automatically selected for each tile, so that parallel operation is facilitated.
[0108]
That is, a data packet for printing is generated from the image data for printing in the
[0109]
At this time, in each expansion unit of the
[0110]
(Other embodiments)
In the above embodiment, the present invention has been described by taking the controller of the digital copying machine as an example. However, the present invention is not limited to this, and may be applied to other image processing apparatuses such as a printer, a scanner, and an expansion card for connecting to a PC. It goes without saying that is also applicable. The present invention is also applied to the compression / transmission / reception / expansion units of each unit even when image data communication between units (for example, a scanner unit and a printer unit) is performed in serial data communication in the form of packet data. be able to.
[0111]
In the above-described embodiment, the present invention has been described by taking compression processing and decompression processing as examples. However, the present invention is not limited to this, and uses tables such as binarization processing, color conversion processing, and resolution conversion processing. Needless to say, the present invention can be similarly applied to other image processing capable of performing the above processing.
[0112]
Hereinafter, examples of embodiments of the present invention will be listed.
[0113]
Storage means for storing a table for processing the divided image,
Input means for inputting a data packet obtained by adding processing information to the divided image;
A plurality of image processing means for performing image processing on the divided image of the data packet input by the input means according to the table,
The image processing apparatus, wherein the plurality of image processing units share the same table in the storage unit by selecting the table according to the processing information of the data packet and using the table for the image processing.
[0114]
[Second Embodiment] In the first embodiment, the image processing unit may perform an image compression process by selecting and using a quantization table stored in the storage unit according to mode switching information included in the processing information. An image processing apparatus characterized by the above-mentioned.
[0115]
[Embodiment 3] In
[0116]
[Embodiment 4] An image processing apparatus according to any one of
[0117]
[Embodiment 5] An image processing method for processing a divided image obtained by dividing an original image,
An input step of inputting a data packet obtained by adding processing information to the divided image;
A plurality of image processing steps of performing image processing on the divided image of the data packet input in the input step according to a table stored in storage means,
In the image processing method, the plurality of image processing steps share the same table in the storage unit by selecting the table according to processing information of the data packet and using the table for the image processing.
[0118]
[Embodiment 6] An image processing method for processing a divided image obtained by dividing an original image,
An input step of inputting a data packet obtained by adding processing information to the divided image;
A plurality of image processing steps of performing image processing on the divided image of the data packet input in the input step according to a table stored in storage means,
In the image processing method, the plurality of image processing steps share the same table in the storage unit by selecting the table according to processing information of the data packet and using the table for the image processing.
[0119]
[Embodiment 7] An image processing method for processing a divided image obtained by dividing an original image,
An input step of inputting a first data packet obtained by adding processing information to the divided image of the first original image, and a second data packet obtained by adding processing information to the divided image of the second original image;
A plurality of image processing steps of performing image processing on the divided images of the first and second data packets input in the input step according to the table,
The plurality of image processing steps select a first table according to the processing information of the first data packet, process the divided image, and select a second table according to the processing information of the second data packet. An image processing method, comprising: performing a parallel process of a process relating to a first original image and a process relating to a second original image by processing a divided image.
[0120]
【The invention's effect】
As described above, according to the present invention, the selection of the quantization table at the time of compressing and expanding the tile image is performed without using the CPU by using the quantization table selection information in the header information added to the image data. By doing so, the load on the CPU is reduced, and the parallel operation of image processing is facilitated while increasing the processing speed of image processing.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an example of a configuration of a
FIG. 3 is a block diagram illustrating a configuration of an
FIG. 4 is a diagram illustrating an example in which the multifunction system in FIG. 1 is connected to a
FIG. 5 is a diagram illustrating an example of a format of a data packet.
FIG. 6 is a diagram illustrating an example of a format of a command packet.
FIG. 7 is a diagram illustrating an example of a format of an interrupt packet.
FIG. 8 is a diagram illustrating an example of a format of a packet table and a chain table.
9 is a block diagram illustrating an example of a configuration of a tile compression unit (1), (2), (3) 2106 in FIG.
FIG. 10 is a block diagram illustrating an example of a configuration of first to third
11 is a block diagram illustrating an example of a configuration of a
FIG. 12 is a block diagram illustrating an example of a configuration of first to third
[Explanation of symbols]
201 Tile bus interface
202 Header information holding unit
203 first compression processing unit
204 second compression processing unit
205 Image ring input unit
206 Register section
207 Register setting bus interface
2000 control unit
2106 Tile compression unit
2149 Image processing unit
2150 System control unit
Claims (1)
前記分割画像の処理のためのテーブルを格納する格納手段と、
前記分割画像に処理情報を付加したデータパケットを入力する入力手段と、
前記入力手段により入力したデータパケットの分割画像を、前記テーブルに従い画像処理する複数の画像処理手段とを有し、
前記複数の画像処理手段は、前記データパケットの処理情報に従って前記テーブルを選択し前記画像処理に使用することで、前記格納手段の同一のテーブルを共有することを特徴とする画像処理装置。An image processing apparatus for processing a divided image obtained by dividing an original image,
Storage means for storing a table for processing the divided image,
Input means for inputting a data packet obtained by adding processing information to the divided image;
A plurality of image processing means for performing image processing on the divided image of the data packet input by the input means according to the table,
The image processing apparatus, wherein the plurality of image processing units share the same table in the storage unit by selecting the table according to the processing information of the data packet and using the table for the image processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002328316A JP2004165902A (en) | 2002-11-12 | 2002-11-12 | Image processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002328316A JP2004165902A (en) | 2002-11-12 | 2002-11-12 | Image processing apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004165902A true JP2004165902A (en) | 2004-06-10 |
Family
ID=32806650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002328316A Pending JP2004165902A (en) | 2002-11-12 | 2002-11-12 | Image processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004165902A (en) |
-
2002
- 2002-11-12 JP JP2002328316A patent/JP2004165902A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7130072B2 (en) | Multifunction system, image processing method, computer program and memory medium | |
JP3862605B2 (en) | Image processing device | |
US7447384B2 (en) | Image processing method and apparatus | |
JP2003316714A (en) | Apparatus and method for information processing | |
JP2001332976A (en) | Device and method for processing image | |
US20040141655A1 (en) | Method and apparatus for image processing | |
JP3907471B2 (en) | Image input / output controller | |
JP4136573B2 (en) | Image processing method, image processing apparatus, program, and recording medium | |
JP2005045458A (en) | Image compression method and apparatus | |
JP2004165902A (en) | Image processing apparatus | |
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 | |
JP2003250050A (en) | Image processing apparatus and control method thereof | |
JP2004120135A (en) | Image processor, and control method therefor | |
JP2004253906A (en) | Expanding apparatus | |
JP2006229688A (en) | Image processing device | |
JP3703431B2 (en) | Data communication apparatus, image processing apparatus, data communication method, and data communication method in image processing apparatus | |
JP2003234910A (en) | Multifunction system | |
JP2003224727A (en) | Image processing system | |
JP2003069831A (en) | Image processor, image display method and computer program | |
JP2003234909A (en) | Image processing apparatus | |
JP2003196044A (en) | Image processing method and its device | |
JP2003234904A (en) | Multifunction system controller | |
JP2005020094A (en) | Image processing method and image processor | |
JP2003078770A (en) | Image processing method and its apparatus | |
JP2004221784A (en) | Image processing apparatus |