JP2004253906A - Expanding apparatus - Google Patents

Expanding apparatus Download PDF

Info

Publication number
JP2004253906A
JP2004253906A JP2003040035A JP2003040035A JP2004253906A JP 2004253906 A JP2004253906 A JP 2004253906A JP 2003040035 A JP2003040035 A JP 2003040035A JP 2003040035 A JP2003040035 A JP 2003040035A JP 2004253906 A JP2004253906 A JP 2004253906A
Authority
JP
Japan
Prior art keywords
data
decompression
image
unit
processing
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
JP2003040035A
Other languages
Japanese (ja)
Inventor
Sozo Yamazaki
壮三 山崎
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 JP2003040035A priority Critical patent/JP2004253906A/en
Publication of JP2004253906A publication Critical patent/JP2004253906A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an expanding apparatus for using a plurality of processing sections capable of carrying out parallel processing so as to perform expansion processing at a higher speed. <P>SOLUTION: The expanding apparatus includes expansion processing means (501, 502, 503) each expanding compressed data in prescribed units, a quantization table (505) for storing expansion processing information used for the expansion processing, a plurality of JPEG expansion processing sections (510, 511, 512) capable of parallel processing, and a first data buffer (500) that receives data in units of packets, assigns compressed data to a plurality of the JPEG processing sections by prescribed units each, and outputs the data to the expansion processing means when the received data are the compressed data and outputs command data to the quantization table of the JPEG processing sections for processing the compressed data corresponding to the command data when the received data are the command data. Then the first data buffer outputs the command data independently of the processing state of the other JPEG expansion processing sections when the JPEG expansion processing section being an output destination of the command is in a processing available state. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、並行処理可能な複数の伸長処理部を用いて行う伸長処理技術に関する。
【0002】
【従来の技術】
MFPのコントローラでは、画像読取装置で読み込んだ画像データやネットワークを介して取得した画像データを、画像出力装置へと転送する過程において、転送の効率化、高速化のために、画像データの圧縮/伸長処理を行うものがある。
【0003】
圧縮/伸長処理には、もともとラスターデータである1ページの画像データを複数の矩形画像データ(パケットデータ)に分割し、パケットデータごと(パケット単位)に行う方法がある。コントローラでは、パケット単位で圧縮されたパケットデータを、メモリ等のデータ蓄積部へと格納し、データ蓄積部からパケット単位で順次読み出して伸長処理部での伸長処理後にラスターデータへと変換して画像出力装置へと転送している。
【0004】
近年、コントローラで扱う画像データ量が増大しているため、圧縮/伸長処理に多くの時間がかかり、高速化が求められている。そこで、伸長処理の高速化をはかるため、複数の伸長処理部を並列に配置して、パケットデータを各伸長処理部に振り分けてパケット単位で同時に行うことで、処理時間を短縮する構成が考えられている。
【0005】
まず最初に、1つの伸長処理部によりパケットデータの伸長処理を行う場合の、伸長処理部の構成例を図10に示す。
【0006】
伸長処理部は、伸長演算部101と、伸長処理用の演算係数を格納する演算係数テーブル102を持つ。伸長演算部101には圧縮されたパケットデータがパケット単位で入力される。演算係数テーブル102はメモリ等の記憶装置であり、演算係数の格納は、CPU等のプロセッサによるレジスタアクセスにより行われる。演算係数は、入力されるパケットデータの圧縮率に対応しており、異なった圧縮率のパケットデータが入力される場合には、伸長演算部101に対し、入力に先立って演算係数の変更をレジスタアクセスにより予め行っておく必要がある。
【0007】
次に図10に示した伸長処理部を複数用いて、並列に配置した場合の伸長処理部の構成例を図11に示す。図11では3つの伸長処理部を並列に配置した構成を示している。
【0008】
パケット入力セレクタ205には、圧縮されたパケットデータがパケット単位で入力される。パケットデータはパケットデータ入力セレクタ205により、入力された順に自動で伸長演算部201、202、203へと割り振られ、伸長処理が行われる。パケットデータ出力セレクタ206では、伸長演算部201、202、203により伸長されたパケットデータが入力した順番に並べ替えられて出力される。
【0009】
伸長演算部201、202、203では、処理が終了すると、次のパケットデータの入力を行い、順に伸長処理が行われていく。
【0010】
【発明が解決しようとする課題】
図11に示す構成では、異なった圧縮率のパケットデータが入力される場合には、処理の終了した伸長演算部の演算係数テーブルに対して、入力に先立って演算係数の変更をレジスタアクセスにより予め行っておく必要がある。
【0011】
しかしながら、図11の構成では伸長演算部201〜203それぞれの処理状態をプロセッサ側で判別できない。そのため伸長演算部201〜203のどれかが処理中であった場合には、処理の終了した伸長演算部の演算係数テーブルの演算係数を先に変更することができず、すべての伸長演算部の処理が終了するまで、次のパケットデータの入力が行えないことになる。
【0012】
従って、ページ中の複数のパケットについて演算係数を切り替える場合には、その度にすべての伸長演算部201〜203の処理が終了するまでパケットデータの入力を中断することになり、データ転送の遅れにつながる。しかもこの遅れは、伸長演算部の個数が増えるほど大きくなることになり、データ転送の高速化への対応と相反してしまう。
【0013】
本発明は上記問題点を鑑みてなされたものであり、並行処理可能な複数の伸長処理部を用いて、より高速に伸長処理を行うことを目的とする。
【0014】
【課題を解決するための手段】
上記目的を達成するために、本発明の伸長装置は、それぞれが、圧縮データを所定単位で伸長する伸長処理手段と、前記伸長処理手段で伸長処理に用いる伸長処理情報を保持する保持手段とを有する、並行処理可能な複数の伸長手段と、データをパケット単位で入力し、入力したデータが圧縮データであるか伸長処理情報設定データであるかを判断し、圧縮データである場合には所定単位毎に前記複数の伸長手段に割り当てて前記伸長処理手段に出力し、伸長処理情報設定データである場合には、当該伸長処理情報設定データに対応する圧縮データを処理する伸長手段の前記保持手段に出力する割当手段とを有し、前記割当手段は、前記伸長処理情報設定データを出力する先の伸長手段が処理可能状態である場合に、他の伸長手段の処理状況に関わらず、前記伸長処理情報設定データを出力することを特徴とする。
【0015】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0016】
まず、本発明の概要について、図1を参照して説明する。
【0017】
本発明の実施の形態における構成では、従来レジスタバスを介して行っていた演算係数テーブルへの演算係数の格納を、パケットデータと同じデータバス経由で行う。
【0018】
本実施の形態では、演算係数の格納をデータバス経由で行えるように、演算係数テーブル304への演算係数を記述したコマンドパケットを使用する。コマンドパケットは、レジスタのアドレス情報と設定値情報に、ヘッダ情報をパケットの先頭に付随したものである。
【0019】
伸長処理部300に入力されたパケットは、パケット判別部307で、パケットデータかコマンドパケットかをそれぞれのヘッダ情報より判別され、パケットデータであれば図11と同様に入力された順に自動で伸長演算部301→302→303へと割り振られ、伸長処理が行われる。コマンドパケットであれば、次に入力されるパケットデータが割り振られる伸長演算部の演算係数テーブルに対して、コマンドパケット内のアドレス情報と設定値情報をもとに演算係数の格納を行う。
【0020】
以下、本実施の形態についてより詳細に説明する。
【0021】
<システム全体>
図2は、本発明の画像入出力装置が接続して用いられるネットワークシステムの構成例を示すブロック図である。1001は本実施の形態の画像入出力装置で、画像読み取り装置あるいは画像入力装置としてのスキャナと、プリンタとから構成され、スキャナから読み込んだ画像をローカルエリアネットワーク(LAN)1010に転送したり、LAN1010から受信した画像をプリンタによりプリントアウトすることができる。また、スキャナにより読み込んだ画像を図示しないFAX送信手段を用いてPSTNやISDN1030を介してFAX装置1031に送信したり、PSTNやISDNを介して受信した画像をプリンタによりプリントアウトすることができる。
【0022】
1002は、データベースサーバで、画像入出力装置1001により読み込んだ2値画像及び多値画像をデータベースとして管理する。1003は、データベースサーバ1002のデータベースクライアントで、データベース1002に保存されている画像データを閲覧/検索等できる。1004は、電子メールサーバで、画像入出力装置1001により読み取った画像を電子メールの添付ファイルとして受け取ることができる。1005は、電子メールのクライアントで、電子メールサーバ1004が受け取ったメールを受信し閲覧したり、電子メールを送信したりすることができる。1006は、HTML文書をLAN1010に提供するWWWサーバで、WWWサーバ1006が提供するHTML文書を画像入出力装置1001によりプリントアウトできる。1007はDNS(DomainName Server)サーバ、1011はルータで、LAN1010をインターネット/イントラネット1012と連結する。インターネット/イントラネットには、前述した画像入出力装置1001、データベースサーバ1002、WWWサーバ1006、電子メールサーバ1004とそれぞれ同様の装置1020、1021、1022、1023が連結している。
【0023】
更に、LAN1010上にプリンタ1040も連結されており、画像入出力装置1001により読み取った画像をプリントアウト可能なように構成されている。
【0024】
<制御部の機能構成>
画像入出力装置1001の制御部2000の機能構成を図3に示す。図3におけるスキャナ2070及びプリンタ2095は、上述したように画像入出力装置1001を構成するものである。制御部2000は、画像入力デバイスであるスキャナ2070や画像出力デバイスであるプリンタ2095と接続し、一方ではLAN1010やPSTNやISDN等の公衆回線(WAN)1030に接続することで、画像情報やデバイス情報の入出力、PDLデータのイメージ展開を行う為のコントローラである。
【0025】
CPU2001はシステム全体を制御するプロセッサであり、大きくシステム制御部2150とタイル画像処理部2149とに分けられる。本実施の形態では2つのCPUを用いた例を示す。これら2つのCPU2001は、共通のCPUバス2126に接続され、さらに、システムバスブリッジ2007に接続される。
【0026】
システムバスブリッジ2007は、バススイッチであり、CPUバス2126、RAMコントローラ2124、ROMコントローラ2125、IOバス1(2127)、サブバススイッチ2128、IOバス2(2129)、画像リングインターフェース(I/F)1(2147)、画像リングI/F2(2148)が接続される。
【0027】
RAM2002はCPU2001が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。本実施の形態では、RAMコントローラ2124により制御される、ダイレクトRDRAMを採用する例を示す。ROM2003はブートROMであり、システムのブートプログラムが格納されている。ROMコントローラ2125により制御される。
【0028】
サブバススイッチ2128は第2のバススイッチであり、画像DMA1(2130)、画像DMA2(2132)、フォント伸長部2134、ソート回路2135、ビットマップトレース部2136が接続され、画像DMA1(2130)及び画像DMA2(2132)から出力されるメモリアクセス要求を調停し、システムバスブリッジ2007への接続を行う。
【0029】
画像DMA1(2130)は画像圧縮部2131に接続し、レジスタアクセスリング2137を介して設定された情報に基いて画像圧縮部2131を制御し、RAM2002上にある非圧縮データの読み出し、圧縮、圧縮後データの書き戻しを行う。本実施の形態では、JPEGを圧縮アルゴリズムに採用した例を示す。画像DMA2(2132)は画像伸長部2133に接続し、レジスタアクセスリング2137を介して設定された情報に基いて画像伸長部2133を制御し、RAM2002上にある圧縮データの読み出し、伸長、伸長後データの書き戻しを行う。本実施の形態では、JPEGを伸長アルゴリズムに採用した例を示す。
【0030】
フォント伸長部2134は、LANI/F2010等を介し外部より転送されるPDLデータに含まれるフォントコードに基づき、ROM2003もしくは、RAM2002内に格納された、圧縮フォントデータの伸長を行う。本実施の形態では、FBEアルゴリズムを採用した例を示す。また、ソート回路2135は、PDLデータを展開する段階で生成されるディスプレイリストのオブジェクトの順番を並び替える回路、ビットマップトレース回路2136は、ビットマップデータより、エッジ情報を抽出する回路である。
【0031】
第1IOバス2127は内部IOバスの一種であり、標準バスであるUSBバスのコントローラ(不図示)、USB I/F2138、操作部I/F2006、汎用シリアルポート2139、インタラプトコントローラ2140、GPIOI/F2141が接続される。第1IOバス2127には、バスアービタ(図示せず)が含まれる。
【0032】
操作部I/F2006は操作部(UI)2012とのI/F部で、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部2012から本画像入出力装置1001に使用者が入力した情報を、CPU2001に伝える役割をする。
【0033】
IOバス2(2129)は内部IOバスの一種であり、汎用バスI/F1及び2(2142)と、LANコントローラ2010が接続される。IOバス2(2129)にはバスアービタ(図示せず)が含まれる。
【0034】
汎用バスI/F1及び2(2142)は、2つの同一のバスI/Fから成り、標準IOバスをサポートするバスブリッジである。本実施の形態では、PCIバス2143を採用した例を示した。2004はハードディスクドライブ(HDD)で、システムソフトウェア、画像データを格納する。ディスクコントローラ2144を介して一方のPCIバス2143に接続される。
【0035】
LANコントローラ2010は、MAC回路2145、PHY/PMD回路2146を介してLAN1010に接続し、情報の入出力を行う。モデム2050は公衆回線1030に接続し、情報の入出力を行う。
【0036】
画像リングI/F1(2147)及び画像リングI/F2(2148)は、システムバスブリッジ2007と画像データを高速で転送する画像リング2008を接続し、タイル化後に圧縮されたデータをRAM2002とタイル画像処理部2149間で転送するDMAコントローラである。
【0037】
画像リング2008は、一対の単方向接続経路の組み合わせにより構成される(画像リング1及び画像リング2)。画像リング2008は、タイル画像処理部2149内で、画像リングI/F3(2101)及びタイル画像I/F4(2102)を介し、タイル伸長部1、2(2103)、コマンド処理部2104、ステータス処理部2105、タイル圧縮部1〜3(2106)に接続される。本実施の形態では、タイル伸長部2103を2組、タイル圧縮部を3組実装する例を示した。
【0038】
各タイル伸長部2103は、画像リングI/F3(2101)に接続されると共に、タイルバス2107にも接続され、画像リング2008により入力された圧縮後の画像データを伸長し、タイルバス2107へ転送するバスブリッジである。本実施の形態では、多値データにはJPEG、2値データにはパックビッツを伸長アルゴリズムとして採用した例を示す。
【0039】
各タイル圧縮部2106は、画像リングI/F4(2102)に接続されると共に、タイルバス2107にも接続され、タイルバス2107から入力された圧縮前の画像データを圧縮し、画像リング2008へ転送するバスブリッジである。本実施の形態では、多値データにはJPEG、2値データにはパックビッツを圧縮アルゴリズムとして採用した例を示す。
【0040】
コマンド処理部2104は、画像リングI/F4(2102)に接続されると共に、レジスタ設定バス2109に接続され、画像リング2008を介して入力したCPU2001より発行されたレジスタ設定要求を、レジスタ設定バス2109に接続される該当処理ブロックへ書き込む。また、CPU2001より発行されたレジスタ読み出し要求に基いて、レジスタ設定バス2109を介して該当レジスタより情報を読み出し、画像リングI/F4(2102)に転送する。
【0041】
ステータス処理部2105は各画像処理部の情報を監視し、CPU2001に対してインタラプトを発行するためのインタラプトパケットを生成し、画像リングI/F4(2102)に出力する。
【0042】
タイルバス2107には上記処理ブロックに加え、レンダリング部I/F2110、画像入力I/F2112、画像出力I/F2113、多値化部2119、2値化部2118、色空間変換部2117、画像回転部2030、解像度変換部2116が接続される。
【0043】
レンダリング部I/F2110は、後述するレンダリング部2060により生成されたビットマップイメージを入力するI/Fである。レンダリング部2060とレンダリング部I/F2110は、一般的なビデオ信号2111にて接続される。レンダリング部I/F2110は、タイルバス2107に接続すると共に、メモリバス2108及びレジスタ設定バス2109にも接続し、レジスタ設定バス2109を介して設定された所定の方法により、入力したラスター画像をタイル画像に構造変換すると同時にクロックの同期化を行い、タイルバス2107に対し出力する。
【0044】
画像入力I/F2112は、後述するスキャナ用画像処理部2114により補正画像処理されたラスターイメージデータを入力とし、レジスタ設定バス2109を介して設定された、所定の方法によりタイル画像への構造変換とクロックの同期化を行い、タイルバス2107に対し出力を行う。
【0045】
画像出力I/F2113は、タイルバス2107からのタイル画像データを入力とし、ラスター画像への構造変換及び、クロックレートの変更を行い、ラスター画像をプリンタ用画像処理部2115へ出力する。
【0046】
画像回転部2030は画像データの回転を行い、解像度変換部2116は画像の解像度の変更を行い、色空間変換部2117はカラー及びグレースケール画像の色空間の変換を行い、2値化部2118は、多値(カラー、グレースケール)画像を2値化し、多値化部2119は2値画像を多値データへ変換する。
【0047】
外部バスI/F部2120は、画像リングI/F1〜4(2147、2148、2101、2102)、コマンド処理部2104、レジスタ設定バス2109を介し、CPU2001により発行された、書き込み、読み出し要求を外部バス3(2121)に変換出力するバスブリッジである。外部バス3(2121)は本実施の形態では、プリンタ用画像処理部2115、スキャナ用画像処理部2114に接続されている。
【0048】
メモリ制御部2122は、メモリバス2108に接続され、各画像処理部の要求に従い、あらかじめ設定されたアドレス分割により、画像メモリ1及び画像メモリ2(2123)に対して、画像データの書き込み、読み出し、必要に応じてリフレッシュ等の動作を行う。本実施の形態では、画像メモリにSDRAMを用いる。
【0049】
スキャナ用画像処理部2114では、画像入力デバイスであるスキャナ2070によりスキャンされた画像データを補正画像処理する。プリンタ用画像処理部2115では、プリンタ出力のための補正画像処理を行い、結果をプリンタ2095へ出力する。
【0050】
レンダリング部2060はPDLコードもしくは、中間ディスプレイリストをビットマップイメージに展開する。
【0051】
<タイル画像(パケット)フォーマット>
図3に示す制御部2000内では、画像データ、CPU2001によるコマンド、各ブロックより発行される割り込み情報を、パケット化された形式で転送する。本実施の形態では、図4に示すデータパケット、図6に示すコマンドパケット、図7に示すインタラプトパケットの3種の異なる種類のパケットが使用される。
【0052】
・データパケット(図4)
本実施の形態では画像データを32画素×32画素のタイル単位の画像データ3002に分割して取り扱うものとする。このタイル単位の画像データに、必要なヘッダ情報3001及び画像付加情報等3003を付加してデータパケットとする。
【0053】
以下にヘッダ情報3001に含まれる情報について説明する。
【0054】
パケットタイプはヘッダ情報3001内のPcktType3004で区別される。PcktType3004にはリピートフラグ3022が含まれており、データパケットの画像データが1つ前に送信したデータパケットの画像データと同一の場合、リピートフラグをセットする。またPcktType3004にはパケットタイプID3023が含まれており、データパケットかコマンドパケットかを指定できる。
【0055】
ChipID3005はパケットを送信するターゲットとなるチップのIDを示し、
【0056】
DataType3006ではデータのタイプを示し、PageID3007はページを示しており、JobIDはソフトウェアで管理するためのJob ID3008を格納する。
タイルの番号はY方向のPacket ID3009とX方向のPacket ID3010の組み合わせで、YnXnで表される。
【0057】
データパケットは画像データが圧縮されている場合と非圧縮の場合がある。本実施の形態では、圧縮アルゴリズムとして、多値カラー(多値グレースケールを含む)の場合はJPEGを、2値の場合はパックビッツを採用するものとする。圧縮されているか非圧縮かの区別は、CompressFlag3017で示される。
【0058】
Process Instruction3011は左詰で処理順に設定し、各処理部は、処理後Process Instructionを左に8ビットシフトする。Process Instruction3011にはUnitID3024とMode3025の組が8組格納されている。UnitID3024は各処理部を指定し、Mode3025は各処理部での動作モードを指定する。これにより、1つのパケットを8つの処理部で連続して処理することができる。
【0059】
PacketByteLength3012はパケットのトータルバイト数を示す。ImageDataByteLengh3015は画像データのバイト数、ZDataByteLength3016は画像付加情報のバイト数を表し、ImageDataOffset3013、ZDataOffset3014はそれぞれのデータのパケットの先頭からのオフセットを表している。
【0060】
各パケットは図5に示すパケットテーブル6001によって管理する。
【0061】
パケットテーブル6001の構成要素は次の通りで、それぞれテーブルの値に0を5bit付加すると、パケットの先頭アドレス6002、パケットのバイト長6005となる。
Packet Address Pointer (27bit) + 5b00000 = パケット先頭アドレス
Packet Length (11bit) + 5b00000 =パケットのバイト長
【0062】
なお、パケットテーブル6001とチェインテーブル6010は分割されないものとする。
【0063】
パケットテーブル6001は常に走査方向に並んでおり、Yn/Xn=000/000, 000/001,000/002,....という順で並んでいる。このパケットテーブル6001のエントリーは一意にひとつのタイルを示す。また、Yn/Xmaxの次のエントリーはYn+1/X0となる。
【0064】
パケットがひとつ前のパケットとまったく同じデータである場合は、そのパケットはメモリ上には書かず、パケットテーブル6001のエントリーに1つめのエントリーと同じPacket Address Pointer、Packet Lengthを格納する。1つのパケットデータを2つのテーブルエントリーが指すようなかたちになる。この場合、2つめのテーブルエントリーのRepeat Flag6003が設定される。
【0065】
パケットがチェインDMAにより複数に分断された場合は、Divide Flag6004を設定し、そのパケットの先頭部分が入っているチェインブロックのチェインテーブル番号6006を設定する。
【0066】
チェインテーブル6010のエントリーはChain Block Address6011とChain Block Length6012からなっており、テーブルの最後のエントリーにはAddress、Length共に0を格納しておく。
【0067】
・コマンドパケット(図6)
本パケットフォーマットはレジスタ設定バス2109へのアクセスを行うためのものである。本パケットを用いることにより、CPU2001より画像メモリ2123へのアクセスも可能である。
【0068】
ChipID4004にはコマンドパケットの送信先となるタイル画像処理部2149を表すIDが格納される。PageID4007、JobID4008はソフトウェアで管理するためのPage IDとJob IDを格納する。Packet ID4009は1次元で表されるデータパケットのX−coordinateのみを使用する。パケットバイトレングス4010は128バイト固定である。
【0069】
パケットデータ部4002には、アドレス4011とデータ4012の組を1つのコマンドとして、最大12個のコマンドを格納することが可能である。書き込みか読み込みかのコマンドのタイプはCmdType4005で示され、コマンドの数はCmdnum4006で示される。
【0070】
・インタラプトパケット(図7)
インタラプトパケットはタイル画像処理部2149からCPU2001への割り込みを通知するためのものである。ステータス処理部2105はインタラプトパケットを送信すると、次に送信の許可がされるまではインタラプトパケットを送信してはならない。パケットバイトレングス5006は128バイト固定である。
【0071】
パケットデータ部5002には、タイル画像処理部2149の各内部モジュールのステータス情報5007が格納されている。ステータス処理部2105はタイル画像処理部2149内の各モジュールのステータス情報を集め、一括してシステム制御部2150に送ることができる。
【0072】
ChipID5004にはインタラプトパケットの送信先となるシステム制御部2150を表すIDが、また、IntChipID5005にはInterrupt Packetの送信元となるタイル画像処理部2149を表すIDが格納される。
【0073】
<タイル伸長部>
図3におけるタイル伸長部2103のブロック図を図8に示す。なお図8において、タイル伸長部1,2いずれの内部構成も図8と同じである。
【0074】
図8において、401は画像リング入力部であり、画像リングI/F3(2101)から入力されるヘッダ情報、画像データ及び画像付加情報を取得し、後段に接続されたヘッダ情報保持部402、第1伸長処理部403及び第2伸長処理部404へとそれぞれのデータを出力する。
【0075】
また、画像リング入力部401では画像リングI/F3(2101)から送られてくるヘッダ情報の解析を行い、ヘッダ情報に矛盾がある場合は後述のレジスタ設定部406に矛盾内容に相当する割り込み信号を出力した後、リセット信号(不図示)が入力されるまで動作を停止する。
【0076】
ヘッダ情報に矛盾がない場合は、ヘッダ情報保持部402に対してヘッダ情報を出力した後、画像リングI/F3(2101)から画像データと画像付加情報を取得して、ヘッダ情報のImageType3006に従って第1伸長処理部403(本実施の形態ではJPEG方式による伸長処理を行う)及び第2伸長処理部204(本実施の形態ではパックビッツ方式による伸長処理を行う)それぞれに画像データ又は画像付加情報を出力する。
【0077】
ヘッダ情報保持部402は、第1伸長処理部403及び第2伸長処理部404において画像データ及び画像付加情報の伸長処理を行っている間、ヘッダ情報を保持するためのブロックである。また、ヘッダ情報保持部402は格納したヘッダ情報の中から伸長処理に必要な情報を第1伸長処理部403及び第2伸長処理部404に対して出力する。
【0078】
第1伸長処理部403は、本実施の形態ではJPEG伸長を行うJPEG伸長処理部を表す。第1伸長処理部403は画像データが複数bit構成であった場合に圧縮画像データの伸長処理を行う。
【0079】
また、第1伸長処理部403では入力された画像データを1タイル分格納するためのバッファを持ち、次のパケットの画像データが入力されるまで直前に処理したパケットの画像データを保持しておくことで、画像リングI/F3(2101)から入力された画像データとバッファ内に格納された画像データの比較を行う。比較結果は画像リングI/F4(2102)に出力する不図示の画像リング出力部に送られ、RepeatFlag3022を生成する際に参照される。
【0080】
なお、第1伸長処理部403において伸長処理を行っている際に動作の異常を検知した場合、第1伸長処理部403は異常動作の内容に相当する割り込み信号をレジスタ設定部406に対して出力した後、リセット信号(不図示)が入力されるまで動作を停止する。
【0081】
第2伸長処理部404は、本実施の形態では情報ロスのない伸長方式、具体的にはパックビッツ方式による伸長処理部を表す。第2伸長処理部404は、タイル伸長部2103に入力されたパケットの画像データが1bit構成であった場合は画像データを、または画像付加情報が存在する(即ち、Ztype3020が0でない)場合は画像付加情報を、パックビッツ方式により伸長処理を行う。
【0082】
また、第1伸長処理部403と同様に、第2伸長処理部404も入力された画像付加情報を1パケット分格納するためのバッファを持ち、直前に入力された1bit画像データ又は画像付加情報を保持しておくことにより、画像リング入力部401から入力された画像又は画像付加情報とバッファ内に格納されたデータの比較を行う。比較結果は画像リングI/F4(2102)に出力する不図示の画像リング出力部に送られ、RepeatFlag3022を生成する際に参照される。
【0083】
なお、第2伸長処理部404において伸長処理を行っている際に動作の異常を検知した場合、第2伸長処理部404は異常動作の内容に相当する割り込み信号をレジスタ設定部406に対して出力した後、リセット信号(不図示)が入力されるまで動作を停止する。
【0084】
405はタイルバスI/F部であり、タイルバス2107とハンドシェイクを行い、ヘッダ情報保持部402、第1伸長処理部403及び第2伸長処理部404から処理情報及び画像データ、画像付加情報を取得し、ヘッダ情報に対して所定の値を設定してから図4に示すデータパケットを生成してタイルバス2107に出力する。
【0085】
レジスタ設定部406は画像リング入力部401、第1伸長処理部403及び第2伸長処理部404から入力された割り込み信号に対応するレジスタを持ち、いずれかのブロックから割り込み信号が入力されると対応するレジスタの値をセットした後に、ステータス処理部2105に対して割り込みが発生したことを知らせるインタラプト信号及びいずれのブロックで割り込みが発生したかを表すステータス信号を出力する。
【0086】
407はレジスタ設定バスI/F部であり、レジスタ設定バス2109からタイル伸長部2103に入力されたアドレス及び設定値を、レジスタ設定部406が受け取れるフォーマットに変換して送るためのブロックである。
【0087】
なお、レジスタ設定バスI/F部407はレジスタ設定バス2109からレジスタ設定値を受け取るだけでなく、レジスタ設定バスが示したアドレスに対応する設定値をレジスタ設定部406から読み出してレジスタ設定バス2109に出力することも可能である。
【0088】
<第1伸長処理部>
図9は本発明の実施の形態における図8の第1伸長処理部403の構成を示すブロック図である。
【0089】
なお、本実施の形態では伸長画像データが8ビット構成、24ビット構成又は32ビット構成である場合、つまり圧縮画像データが第1伸長処理部403において伸長処理される場合について説明する。
【0090】
図9において510はJPEG伸長部であり、本実施の形態ではJPEG伸長部510は圧縮画像データのJPEG方式による伸長を行う。JPEG伸長部510内はさらに3つの処理ブロックが存在する。なお、JPEG伸長部511、512の内部構成は全てJPEG伸長部510と同じである。
【0091】
500は画像リング入力部401から送られてきたデータを格納するための第1データバッファであり、所定量(1タイル分)のデータが送られると後段に接続されたJPEG伸長部510、511、512に対して所定の順序に従って画像データを出力する。第1のデータバッファ500にはヘッダ情報保持部402からヘッダ情報のPcktTypeID3023も入力され、画像リング入力部401から送られてきたデータが、データパケットかコマンドパケットであるかを判別する。データパケットであれば、入力されたパケットの順に、1タイル分のデータ毎にJPEG伸長部510→511→512(その後510に戻る)の順で、それぞれのハフマン復号化部501へと転送する。コマンドパケットであれば、次に入力されたパケットデータが転送されるJPEG伸長部内の量子化テーブル504へと転送し、コマンドパケット内部のデータ4012をアドレス4011をもとに量子化テーブル504に設定する。なお、量子化テーブル504は、逆量子化部502において逆量子化を行うための量子化値を格納している。
【0092】
また、JPEG伸長部510、511、512のそれぞれに対するデータ転送は、第2のデータバッファ505から出力される、後述の転送許可信号5000、5001、5002により許可を受けたのちに開始される。
【0093】
501はハフマン復号化部であり、第1データバッファ500から入力された圧縮画像データに対して所定の復号化を行い、復号化データを生成する。ハフマン復号化部501は符号化が不可能なデータが入力されると、ハフマン復号化部501からレジスタ設定部406に対してエラー割り込み信号を出力する。
【0094】
502は逆量子化部であり、ハフマン復号化部501から出力された復号データに対して所定の量子化値を用いて逆量子化を行って逆量子化データを生成する。量子化値は量子化テーブル504から入力される。逆量子化部502は逆量子化を行った結果が所定の値以外の値になると、レジスタ設定部406に対してエラー割り込み信号を出力する。
【0095】
503は逆DCT変換部であり、逆量子化部502から入力されたデータに対して逆離散コサイン変換を行う。逆DCT変換部503は逆DCT変換の演算中にエラーが発生すると、レジスタ設定部406に対してエラー割り込み信号を出力する。
【0096】
505はJPEG伸長部510、511、512それぞれの逆DCT変換部で逆DCT変換したデータを格納するための第2データバッファであり、JPEG伸長部510、511、512からそれぞれ1タイル分、合計3タイル分のデータバッファを持つ。JPEG伸長部510、511、512からそれぞれ1タイル分の復号データを取得すると、JPEG伸長部510→511→512(→510に戻る)の順で受け取ったデータをタイルバスI/F部405へと出力する。第2データバッファ505はタイルバスI/F部405とハンドシェイクを行い、タイルバスI/F部405への転送が許可されないときには、タイルバスI/F部405への出力を中止する。タイルバスI/F部405への出力の中止や、JPEG伸長の時間差から各データバッファの出力が中止され、フル状態になると、第1のデータバッファ501へのそれぞれの転送許可信号5000、5001、5002を不許可にすることで、JPEG伸長部510、511、512へのそれぞれのデータ転送を中止する。
【0097】
第2データバッファ505で並び替えられた伸長画像データの各パケットは、タイルバス2107を介して画像出力I/F2113に送られ、ラスターデータに変換された後、プリンタ2095に転送される。
【0098】
以上のようにして、複数の画像伸長部(JPEG伸長部)を順番に使用するように自動的に切り替えることで、複数の画像伸長部を同時に動作することが可能となる。
【0099】
また、各画像伸長部の伸長処理係数(量子化テーブル)をコマンドパケットにより設定することで、伸長処理係数を変更する際に、ある画像伸長部で処理が行われていても、すでにデータ転送の終了した画像伸長部に対して先行して変更できることから、伸長処理係数の変更時にも、画像伸長部から高速のデータ転送が可能となる。
【0100】
本実施の形態では、上記の画像伸長部をいくつ使用するかを切り替えることで、画像伸長処理の速度を変更することが可能である。本実施の形態では簡単のために、3つの画像伸長部を使用する構成で説明したが、それ以上の構成にした場合には、より高速なプリントスピードが得られることは言うまでも無い。
【0101】
また、本実施の形態では、図9のJPEG伸長部510、511、512の順番で画像データを配分する場合について説明したが、この順番に関わらず、処理可能なJPEG伸長部に適宜割り振るようにしても良い。
【0102】
更に、本発明はJPEG方式に限るものではなく、その他公知の圧縮方式にも同様に適用可能であることは言うまでもない。
【0103】
即ち、本第1の実施形態によれば、伸長装置は、それぞれが、圧縮データを所定単位で伸長する伸長処理手段と、前記伸長処理手段で伸長処理に用いる伸長処理情報を保持する保持手段とを有する、並行処理可能な複数の伸長手段と、データをパケット単位で入力し、入力したデータが圧縮データであるか伸長処理情報設定データであるかを判断し、圧縮データである場合には所定単位毎に前記複数の伸長手段に割り当てて前記伸長処理手段に出力し、伸長処理情報設定データである場合には、当該伸長処理情報設定データに対応する圧縮データを処理する伸長手段の前記保持手段に出力する割当手段とを有し、前記割当手段は、前記伸長処理情報設定データを出力する先の伸長手段が処理可能状態である場合に、他の伸長手段の処理状況に関わらず、前記伸長処理情報設定データを出力する。
【0104】
また、それぞれが、圧縮データを所定単位で伸長する伸長処理手段と、前記伸長処理手段で伸長処理に用いる伸長処理情報を保持する保持手段とを有する、並行処理可能な複数の伸長手段を用いた本第1の実施形態にかかる伸長方法は、データをパケット単位で入力する入力工程と、入力したデータが圧縮データであるか伸長処理情報設定データであるかを判断する判断工程と、圧縮データである場合に、所定単位毎に前記複数の伸長手段に割り当てて前記伸長処理手段に出力する第1の出力工程と、伸長処理情報設定データである場合に、当該伸長処理情報設定データに対応する圧縮データを処理する伸長手段の前記保持手段に出力する第2の出力工程とを有し、前記第2の出力工程では、伸長処理情報設定データを出力する先の伸長手段が処理可能状態である場合に、他の伸長手段の処理状況に関わらず、前記伸長処理情報設定データを出力する。
【0105】
好ましくは、前記割当手段は、入力する圧縮データを前記複数の伸長手段に所定順で割り当てる。
【0106】
例えば、前記割当手段は、前記複数の伸長手段の内、処理可能な伸長手段に圧縮データを割り当てる。
【0107】
また、前記伸長処理情報は、伸長処理係数である。
【0108】
また、前記伸長処理情報設定データに対応する圧縮データとは、前記伸長処理情報設定データの直後に入力される圧縮データである。
【0109】
また、好ましくは、前記圧縮データは画像データであって、前記複数の伸長手段により伸長された伸長データを外部出力部にラスター順で出力する出力手段を更に有する。
【0110】
【発明の効果】
上記の通り本発明によれば、並行処理可能な複数の伸長処理部を用いて、より高速に伸長処理を行うことができる。
【図面の簡単な説明】
【図1】本発明の概要を示す伸長処理部のブロック図である。
【図2】本発明の画像入出力装置が接続されるネットワークシステムの構成例を示すブロック図である。
【図3】本発明の実施の形態における画像入出力装置の制御部の構成を示すブロック図である。
【図4】本発明の実施の形態で用いるイメージパケットの構成を表す図である。
【図5】本発明の実施の形態で用いるパケットテーブルを表す図である。
【図6】本発明の実施の形態で用いるコマンドパケットの構成を表す図である。
【図7】本発明の実施の形態で用いるインタラプトパケットの構成を表す図である。
【図8】本発明の実施の形態におけるタイル伸長部の構成を示すブロック図である。
【図9】本発明の実施の形態における伸長処理部の構成を示すブロック図である。
【図10】従来の画像伸長部の構成例を示すブロック図である。
【図11】従来の画像伸長部の別の構成例を示すブロック図である。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a decompression processing technique performed using a plurality of decompression processing units capable of performing parallel processing.
[0002]
[Prior art]
In the process of transferring the image data read by the image reading device or the image data obtained via the network to the image output device, the controller of the MFP compresses / compresses the image data in order to increase the transfer efficiency and speed. Some perform decompression processing.
[0003]
In the compression / expansion processing, there is a method in which one page of image data, which is originally raster data, is divided into a plurality of rectangular image data (packet data) and is performed for each packet data (packet unit). The controller stores the packet data compressed in packet units in a data storage unit such as a memory, reads out the packet data sequentially from the data storage unit in packet units, converts the data into raster data after decompression processing in the decompression processing unit, and converts the data into image data. Transferring to output device.
[0004]
In recent years, since the amount of image data handled by the controller has been increasing, much time is required for compression / decompression processing, and high-speed processing is required. Therefore, in order to increase the speed of the decompression process, a configuration that reduces the processing time by arranging a plurality of decompression processing units in parallel, distributing packet data to each decompression processing unit, and performing packet data simultaneously, may be considered. ing.
[0005]
First, FIG. 10 shows a configuration example of the decompression processing unit in the case where the decompression processing of the packet data is performed by one decompression processing unit.
[0006]
The decompression processing unit has a decompression operation unit 101 and an operation coefficient table 102 for storing operation coefficients for decompression processing. Compressed packet data is input to the decompression operation unit 101 in packet units. The operation coefficient table 102 is a storage device such as a memory, and the operation coefficients are stored by register access by a processor such as a CPU. The operation coefficient corresponds to the compression rate of the input packet data. When packet data of a different compression rate is input, the expansion operation unit 101 is notified of the change of the operation coefficient prior to the input. It needs to be done in advance by access.
[0007]
Next, FIG. 11 shows a configuration example of a decompression processing unit when a plurality of decompression processing units shown in FIG. 10 are used and arranged in parallel. FIG. 11 shows a configuration in which three decompression processing units are arranged in parallel.
[0008]
The packet input selector 205 receives the compressed packet data in packet units. The packet data is automatically allocated by the packet data input selector 205 to the decompression calculation units 201, 202, and 203 in the order of input, and decompression processing is performed. In the packet data output selector 206, the packet data decompressed by the decompression operation units 201, 202, and 203 are rearranged in the input order and output.
[0009]
Upon completion of the processing, the decompression arithmetic units 201, 202, and 203 input the next packet data and sequentially perform decompression processing.
[0010]
[Problems to be solved by the invention]
In the configuration shown in FIG. 11, when packet data having different compression ratios are input, the change of the operation coefficient is performed in advance by the register access to the operation coefficient table of the decompression operation unit after the processing is completed. I need to go.
[0011]
However, in the configuration of FIG. 11, the processing state of each of the decompression arithmetic units 201 to 203 cannot be determined on the processor side. Therefore, if any of the decompression operation units 201 to 203 is in the process of being processed, the operation coefficient of the operation coefficient table of the decompression operation unit for which the processing has been completed cannot be changed first, and all the expansion operation units Until the processing is completed, the next packet data cannot be input.
[0012]
Therefore, when the operation coefficient is switched for a plurality of packets in a page, the input of the packet data is interrupted until the processing of all decompression operation units 201 to 203 is completed each time. Connect. In addition, this delay increases as the number of decompression arithmetic units increases, and contradicts the response to high-speed data transfer.
[0013]
The present invention has been made in view of the above problems, and has as its object to perform decompression processing at a higher speed by using a plurality of decompression processing units capable of performing parallel processing.
[0014]
[Means for Solving the Problems]
In order to achieve the above object, the decompression device of the present invention includes decompression processing means for decompressing compressed data in predetermined units, and holding means for holding decompression processing information used for decompression processing by the decompression processing means. A plurality of decompression means capable of being processed in parallel, inputting data in packet units, determining whether the input data is compressed data or decompression processing information setting data, and if the input data is compressed data, a predetermined unit Each of the plurality of decompression means is assigned to each of the plurality of decompression means and output to the decompression processing means. If the data is decompression processing information setting data, the decompression processing means sets the holding means of the decompression means for processing compressed data corresponding to the decompression processing information setting data. Allocating means for outputting, when the decompression means to which the decompression processing information setting data is output is in a processable state, the processing status of another decompression means Regardless, and outputs the decompressing process information setting data.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0016]
First, an outline of the present invention will be described with reference to FIG.
[0017]
In the configuration according to the embodiment of the present invention, the storage of the operation coefficients in the operation coefficient table, which is conventionally performed via the register bus, is performed via the same data bus as the packet data.
[0018]
In the present embodiment, a command packet describing the operation coefficient in the operation coefficient table 304 is used so that the operation coefficient can be stored via the data bus. The command packet is a packet in which header information is attached to the head of the packet in addition to the address information and the set value information of the register.
[0019]
The packet input to the decompression processing unit 300 is discriminated by the packet discrimination unit 307 as to whether it is packet data or a command packet based on the respective header information. If the packet data is packet data, the decompression operation is automatically performed in the order of input as in FIG. The data is allocated to the units 301 → 302 → 303, and the decompression process is performed. If it is a command packet, the operation coefficient is stored in the operation coefficient table of the decompression operation unit to which the next input packet data is allocated, based on the address information and the setting value information in the command packet.
[0020]
Hereinafter, the present embodiment will be described in more detail.
[0021]
<Entire system>
FIG. 2 is a block diagram showing a configuration example of a network system to which the image input / output device of the present invention is connected. Reference numeral 1001 denotes an image input / output device according to the present embodiment, which includes a scanner as an image reading device or an image input device, and a printer, and transfers an image read from the scanner to a local area network (LAN) 1010 or a LAN 1010. Can be printed out by a printer. Further, the image read by the scanner can be transmitted to the facsimile apparatus 1031 via the PSTN or ISDN 1030 by using a facsimile transmission unit (not shown), and the image received via the PSTN or ISDN can be printed out by a printer.
[0022]
A database server 1002 manages a binary image and a multi-valued image read by the image input / output device 1001 as a database. Reference numeral 1003 denotes a database client of the database server 1002, which can browse / search image data stored in the database 1002. An e-mail server 1004 can receive an image read by the image input / output device 1001 as an e-mail attached file. An e-mail client 1005 can receive and browse the e-mail received by the e-mail server 1004, and can transmit the e-mail. Reference numeral 1006 denotes a WWW server that provides an HTML document to the LAN 1010. The image input / output device 1001 can print out an HTML document provided by the WWW server 1006. 1007 is a DNS (Domain Name Server) server, 1011 is a router, and connects the LAN 1010 with the Internet / intranet 1012. The same devices 1020, 1021, 1022, and 1023 as the image input / output device 1001, the database server 1002, the WWW server 1006, and the e-mail server 1004 are connected to the Internet / intranet.
[0023]
Further, a printer 1040 is also connected to the LAN 1010 so that an image read by the image input / output device 1001 can be printed out.
[0024]
<Functional configuration of control unit>
FIG. 3 shows a functional configuration of the control unit 2000 of the image input / output device 1001. The scanner 2070 and the printer 2095 in FIG. 3 constitute the image input / output device 1001 as described above. The control unit 2000 is connected to a scanner 2070 which is an image input device and a printer 2095 which is an image output device, and is connected to a LAN 1010 or a public line (WAN) 1030 such as a PSTN or ISDN to thereby obtain image information and device information. This is a controller for performing input / output and image development of PDL data.
[0025]
The CPU 2001 is a processor that controls the entire system, and is roughly divided into a system control unit 2150 and a tile image processing unit 2149. In this embodiment mode, an example in which two CPUs are used is described. These two CPUs 2001 are connected to a common CPU bus 2126 and further to a system bus bridge 2007.
[0026]
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, an IO bus 2 (2129), and an image ring interface (I / F). 1 (2147) and the image ring I / F2 (2148) are connected.
[0027]
A 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 this embodiment, an example in which a direct RDRAM controlled by a RAM controller 2124 is employed will be described. The ROM 2003 is a boot ROM, and stores a system boot program. It is controlled by the ROM controller 2125.
[0028]
The sub bus switch 2128 is a second bus switch, and is connected to the image DMA 1 (2130), the image DMA 2 (2132), the font decompression unit 2134, the sort circuit 2135, and the bit map trace unit 2136, and the image DMA 1 (2130) It arbitrates a memory access request output from the DMA2 (2132), and connects to the system bus bridge 2007.
[0029]
The image DMA 1 (2130) is connected to the image compression unit 2131, controls the image compression unit 2131 based on information set via the register access ring 2137, reads out uncompressed data on the RAM 2002, compresses the data, and Write back the data. In the present embodiment, an example in which JPEG is adopted as a compression algorithm will be described. The image DMA 2 (2132) is connected to the image decompression unit 2133, controls the image decompression unit 2133 based on the information set via the register access ring 2137, and reads out, decompresses, and decompresses the compressed data in the RAM 2002. Write back. In the present embodiment, an example in which JPEG is adopted as a decompression algorithm will be described.
[0030]
The font decompression unit 2134 decompresses compressed font data stored in the ROM 2003 or the RAM 2002 based on a font code included in PDL data transferred from the outside via the LAN I / F 2010 or the like. This embodiment shows an example in which the FBE algorithm is adopted. The sort circuit 2135 is a circuit for rearranging the order of the objects in the display list generated at the stage of expanding the PDL data. The bitmap trace circuit 2136 is a circuit for extracting edge information from the bitmap data.
[0031]
The first IO bus 2127 is a kind of internal IO bus, and includes a USB bus controller (not shown) as a standard bus, a USB I / F 2138, an operation unit I / F 2006, a general-purpose serial port 2139, an interrupt controller 2140, and a GPIO I / F 2141. Connected. First IO bus 2127 includes a bus arbiter (not shown).
[0032]
An operation unit I / F 2006 is an interface unit with the operation unit (UI) 2012 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 user from the operation unit 2012 to the image input / output device 1001 to the CPU 2001.
[0033]
The IO bus 2 (2129) is a kind of internal IO bus, and the general-purpose bus I / Fs 1 and 2 (2142) and the LAN controller 2010 are connected. IO bus 2 (2129) includes a bus arbiter (not shown).
[0034]
The general-purpose bus I / Fs 1 and 2 (2142) are bus bridges composed of two identical bus I / Fs and supporting a standard IO bus. In this embodiment, an example in which the PCI bus 2143 is adopted has been described. A hard disk drive (HDD) 2004 stores system software and image data. It is connected to one PCI bus 2143 via a disk controller 2144.
[0035]
The LAN controller 2010 connects to the LAN 1010 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 1030 and inputs and outputs information.
[0036]
An image ring I / F1 (2147) and an image ring I / F2 (2148) connect the system bus bridge 2007 and the image ring 2008 for transferring image data at high speed, and store the tiled compressed data in the RAM 2002 and the tile image. A DMA controller that transfers data between the processing units 2149.
[0037]
The image ring 2008 includes a combination of a pair of unidirectional connection paths (image ring 1 and image ring 2). The image ring 2008 includes, in the tile image processing unit 2149, the tile expansion units 1 and 2 (2103), the command processing unit 2104, and the status processing via the image ring I / F3 (2101) and the tile image I / F4 (2102). The unit 2105 is connected to the tile compression units 1 to 3 (2106). In the present embodiment, an example has been described in which two sets of the tile expansion unit 2103 and three sets of the tile compression units are mounted.
[0038]
Each tile expansion unit 2103 is connected to the image ring I / F 3 (2101) and also to the tile bus 2107, expands the compressed image data input by the image ring 2008, and transfers the image data to the tile bus 2107. Bus bridge. In the present embodiment, an example is shown in which JPEG is used as multivalued data and PackBits is used as an expansion algorithm for binary data.
[0039]
Each tile compression unit 2106 is connected to the image ring I / F 4 (2102) and also to the tile bus 2107, compresses the image data before compression input from the tile bus 2107, and transfers it to the image ring 2008. Bus bridge. In the present embodiment, an example is shown in which JPEG is used for multi-value data and PackBits is used as compression algorithm for binary data.
[0040]
The command processing unit 2104 is connected to the image ring I / F 4 (2102), is also connected to the register setting bus 2109, and receives a register setting request issued from the CPU 2001 via the image ring 2008 and sends the register setting request to the register setting bus 2109. Write to the corresponding processing block connected to. Further, based on a register read request issued from the CPU 2001, information is read from the corresponding register via the register setting bus 2109 and transferred to the image ring I / F 4 (2102).
[0041]
The status processing unit 2105 monitors information of each image processing unit, generates an interrupt packet for issuing an interrupt to the CPU 2001, and outputs the generated interrupt packet to the image ring I / F 4 (2102).
[0042]
The tile bus 2107 includes, in addition to the above processing blocks, a rendering unit I / F 2110, an image input I / F 2112, an image output I / F 2113, a multi-value conversion unit 2119, a binarization unit 2118, a color space conversion unit 2117, and an image rotation unit. 2030, a resolution conversion unit 2116 is connected.
[0043]
The rendering unit I / F 2110 is an I / F that inputs a bitmap image generated by a rendering unit 2060 described later. The rendering unit 2060 and the rendering unit I / F 2110 are connected by a general video signal 2111. The rendering unit I / F 2110 is connected to the tile bus 2107 and also to the memory bus 2108 and the register setting bus 2109, and converts the input raster image into a tile image by a predetermined method set via the register setting bus 2109. At the same time, the clock is synchronized and output to the tile bus 2107.
[0044]
The image input I / F 2112 receives the raster image data subjected to the correction image processing by the scanner image processing unit 2114 described later as an input, and performs a structure conversion into a tile image by a predetermined method set via the register setting bus 2109. The clock is synchronized and output to the tile bus 2107.
[0045]
The image output I / F 2113 receives the tile image data from the tile bus 2107 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.
[0046]
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, and the binarization unit 2118 , A multi-level (color, gray scale) image is binarized, and a multi-level conversion unit 2119 converts the binary image into multi-level data.
[0047]
The external bus I / F unit 2120 externally receives write and read requests issued by the CPU 2001 via the image ring I / Fs 1 to 4 (2147, 2148, 2101 and 2102), the command processing unit 2104, and the register setting bus 2109. This is a bus bridge for converting and outputting to the bus 3 (2121). In the present embodiment, the external bus 3 (2121) is connected to the printer image processing unit 2115 and the scanner image processing unit 2114.
[0048]
The memory control unit 2122 is connected to the memory bus 2108, and writes and reads image data to and from the image memory 1 and the image memory 2 (2123) by a preset address division according to a request from each image processing unit. Operations such as refreshing are performed as needed. In this embodiment, an SDRAM is used as an image memory.
[0049]
The scanner image processing unit 2114 performs corrected image processing on image data scanned by the scanner 2070, which is an image input device. The printer image processing unit 2115 performs corrected image processing for printer output, and outputs the result to the printer 2095.
[0050]
The rendering unit 2060 develops a PDL code or an intermediate display list into a bitmap image.
[0051]
<Tile image (packet) format>
In the control unit 2000 shown in FIG. 3, image data, a command from the CPU 2001, and interrupt information issued from each block are transferred in a packetized format. In the present embodiment, three different types of packets are used: a data packet shown in FIG. 4, a command packet shown in FIG. 6, and an interrupt packet shown in FIG.
[0052]
-Data packet (Fig. 4)
In the present embodiment, it is assumed that image data is handled by dividing it into image data 3002 of 32 × 32 pixels in tile units. Necessary header information 3001 and additional image information 3003 are added to the image data in tile units to form a data packet.
[0053]
Hereinafter, information included in the header information 3001 will be described.
[0054]
The packet type is distinguished by PcktType 3004 in the header information 3001. The PcktType 3004 includes a repeat flag 3022. When the image data of the data packet is the same as the image data of the data packet transmitted immediately before, the repeat flag is set. The PcktType 3004 includes a packet type ID 3023, and can specify a data packet or a command packet.
[0055]
Chip ID 3005 indicates the ID of a chip serving as a target for transmitting a packet,
[0056]
DataType 3006 indicates a data type, PageID 3007 indicates a page, and JobID stores a Job ID 3008 for management by software.
The tile number is represented by YnXn, which is a combination of the packet ID 3009 in the Y direction and the packet ID 3010 in the X direction.
[0057]
Data packets may be compressed image data or uncompressed. In the present embodiment, as a compression algorithm, JPEG is used for multi-valued colors (including multi-valued gray scale), and PackBits is used for binary. The distinction between compressed and uncompressed is indicated by CompressFlag3017.
[0058]
The Process Instruction 3011 is set left-justified in the processing order, and each processing unit shifts the Process Instruction by 8 bits to the left after the processing. The process instruction 3011 stores eight sets of a unit ID 3024 and a mode 3025. Unit ID 3024 specifies each processing unit, and Mode 3025 specifies an operation mode in each processing unit. Thereby, one packet can be continuously processed by the eight processing units.
[0059]
PacketByteLength3012 indicates the total number of bytes of the packet. ImageDataByteLength 3015 represents the number of bytes of image data, ZDataByteLength 3016 represents the number of bytes of image additional information, and ImageDataOffset 3013 and ZDataOffset 3014 represent the offset of each data from the head of the packet.
[0060]
Each packet is managed by a packet table 6001 shown in FIG.
[0061]
The components of the packet table 6001 are as follows. When 5 bits are added to each value of the table, a packet start address 6002 and a packet byte length 6005 are obtained.
Packet Address Pointer (27 bits) + 5b00000 = packet start address
Packet Length (11 bits) + 5b00000 = Byte length of packet
[0062]
Note that the packet table 6001 and the chain table 6010 are not divided.
[0063]
The packet table 6001 is always arranged in the scanning direction, and Yn / Xn = 000/00000/0001/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.
[0064]
If the packet is exactly the same data as the immediately preceding packet, the packet is not written in the memory, and the same Packet Address Pointer and Packet Length as the first entry are stored in the entry of the packet table 6001. One packet data is represented by two table entries. In this case, the Repeat Flag 6003 of the second table entry is set.
[0065]
When a packet is divided into a plurality of pieces by the chain DMA, a Divide Flag 6004 is set, and a chain table number 6006 of a chain block containing the head of the packet is set.
[0066]
The entry of the chain table 6010 is composed of a Chain Block Address 6011 and a Chain Block Length 6012, and 0 is stored in the last entry of the table for both Address and Length.
[0067]
-Command packet (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.
[0068]
The ChipID 4004 stores an ID representing the tile image processing unit 2149 to which the command packet is to be transmitted. Page ID 4007 and Job ID 4008 store a Page ID and a Job ID for management by software. The packet ID 4009 uses only the X-coordinate of the data packet represented in one dimension. The packet byte length 4010 is fixed at 128 bytes.
[0069]
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 of writing or reading is indicated by CmdType 4005, and the number of commands is indicated by Cmdnum 4006.
[0070]
・ Interrupt packet (Fig. 7)
The interrupt packet is for notifying an interrupt from the tile 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. The packet byte length 5006 is fixed at 128 bytes.
[0071]
The packet data section 5002 stores status information 5007 of each internal module of the tile image processing section 2149. The status processing unit 2105 can collect status information of each module in the tile image processing unit 2149 and send it to the system control unit 2150 in a lump.
[0072]
The ID representing the system control unit 2150 that is the transmission destination of the interrupt packet is stored in the ChipID 5004, and the ID representing the tile image processing unit 2149 that is the transmission source of the Interrupt Packet is stored in the IntChipID 5005.
[0073]
<Tile extension part>
FIG. 8 shows a block diagram of the tile extension unit 2103 in FIG. In FIG. 8, the internal configuration of each of the tile extension units 1 and 2 is the same as that of FIG.
[0074]
In FIG. 8, reference numeral 401 denotes an image ring input unit which acquires header information, image data, and image additional information input from the image ring I / F 3 (2101); Each data is output to the first decompression processing unit 403 and the second decompression processing unit 404.
[0075]
The image ring input unit 401 analyzes the header information sent from the image ring I / F 3 (2101). If there is a conflict in the header information, the register setting unit 406 described later sends an interrupt signal corresponding to the content of the conflict. After that, the operation is stopped until a reset signal (not shown) is input.
[0076]
When there is no inconsistency in the header information, after outputting the header information to the header information holding unit 402, the image data and the image additional information are obtained from the image ring I / F3 (2101), and the header information is obtained according to the ImageType 3006 of the header information. The image data or the additional image information is added to each of the 1 decompression processing unit 403 (in this embodiment, the decompression process according to the JPEG method) and the second decompression processing unit 204 (in this embodiment, the decompression process according to the PackBits method). Output.
[0077]
The header information holding unit 402 is a block for holding the header information while the first decompression processing unit 403 and the second decompression processing unit 404 perform the decompression processing of the image data and the image additional information. Further, the header information holding unit 402 outputs information necessary for the decompression process from the stored header information to the first decompression processing unit 403 and the second decompression processing unit 404.
[0078]
The first decompression processing unit 403 represents a JPEG decompression processing unit that performs JPEG decompression in the present embodiment. The first decompression processing unit 403 performs decompression processing of compressed image data when the image data has a multi-bit configuration.
[0079]
Further, the first decompression processing unit 403 has a buffer for storing the input image data for one tile, and holds the image data of the packet processed immediately before the image data of the next packet is input. Thus, the image data input from the image ring I / F3 (2101) is compared with the image data stored in the buffer. The comparison result is sent to an image ring output unit (not shown) that outputs the result to the image ring I / F 4 (2102), and is referred to when the RepeatFlag 3022 is generated.
[0080]
If the first decompression processing unit 403 detects an abnormal operation while performing the decompression processing, the first decompression processing unit 403 outputs an interrupt signal corresponding to the content of the abnormal operation to the register setting unit 406. After that, the operation is stopped until a reset signal (not shown) is input.
[0081]
The second decompression processing unit 404 in the present embodiment represents a decompression processing unit with no information loss, specifically, a decompression processing unit based on the PackBits method. The second decompression processing unit 404 outputs the image data when the image data of the packet input to the tile decompression unit 2103 has a 1-bit configuration, or the image when the image additional information exists (that is, when the Ztype 3020 is not 0). The additional information is expanded by the pack bits method.
[0082]
Similarly to the first decompression processing unit 403, the second decompression processing unit 404 also has a buffer for storing the input image additional information for one packet, and stores the 1-bit image data or the image additional information input immediately before. By holding the data, the image or the image additional information input from the image ring input unit 401 is compared with the data stored in the buffer. The comparison result is sent to an image ring output unit (not shown) that outputs the result to the image ring I / F 4 (2102), and is referred to when the RepeatFlag 3022 is generated.
[0083]
If the second decompression processing unit 404 detects an abnormal operation while performing the decompression processing, the second decompression processing unit 404 outputs an interrupt signal corresponding to the content of the abnormal operation to the register setting unit 406. After that, the operation is stopped until a reset signal (not shown) is input.
[0084]
Reference numeral 405 denotes a tile bus I / F unit which performs handshaking with the tile bus 2107 and transfers processing information, image data, and image additional information from the header information holding unit 402, the first decompression processing unit 403, and the second decompression processing unit 404. After obtaining and setting a predetermined value for the header information, the data packet shown in FIG. 4 is generated and output to the tile bus 2107.
[0085]
The register setting unit 406 has a register corresponding to the interrupt signal input from the image ring input unit 401, the first decompression processing unit 403, and the second decompression processing unit 404, and responds when an interrupt signal is input from any block. After setting the value of the register to be executed, an interrupt signal for notifying that the interrupt has occurred to the status processing unit 2105 and a status signal indicating in which block the interrupt has occurred are output.
[0086]
Reference numeral 407 denotes a register setting bus I / F, which is a block for converting an address and a setting value input from the register setting bus 2109 to the tile decompression unit 2103 into a format that can be received by the register setting unit 406 and sending the converted value.
[0087]
Note that the register setting bus I / F unit 407 not only receives the register setting value from the register setting bus 2109 but also reads the setting value corresponding to the address indicated by the register setting bus from the register setting unit 406 and sends the setting value to the register setting bus 2109. It is also possible to output.
[0088]
<First decompression unit>
FIG. 9 is a block diagram illustrating a configuration of the first decompression processing unit 403 in FIG. 8 according to the embodiment of the present invention.
[0089]
In the present embodiment, a case will be described where the decompressed image data has an 8-bit configuration, a 24-bit configuration, or a 32-bit configuration, that is, a case where the compressed image data is decompressed by the first decompression processing unit 403.
[0090]
In FIG. 9, reference numeral 510 denotes a JPEG decompression unit. In the present embodiment, the JPEG decompression unit 510 decompresses compressed image data by the JPEG method. In the JPEG decompression unit 510, there are three more processing blocks. Note that the internal configurations of the JPEG decompression units 511 and 512 are all the same as those of the JPEG decompression unit 510.
[0091]
Reference numeral 500 denotes a first data buffer for storing data sent from the image ring input unit 401. When a predetermined amount (one tile) of data is sent, the JPEG decompression units 510, 511, The image data is output to 512 in a predetermined order. The PcktTypeID 3023 of the header information is also input to the first data buffer 500 from the header information holding unit 402, and it is determined whether the data transmitted from the image ring input unit 401 is a data packet or a command packet. If it is a data packet, the data is transferred to each Huffman decoding unit 501 in the order of the input packet and in the order of JPEG decompression units 510 → 511 → 512 (and thereafter returns to 510) for each data of one tile. If the packet is a command packet, the packet data is transferred to the quantization table 504 in the JPEG decompression unit to which the next input packet data is transferred, and the data 4012 in the command packet is set in the quantization table 504 based on the address 4011. . Note that the quantization table 504 stores quantization values for performing inverse quantization in the inverse quantization unit 502.
[0092]
Data transfer to each of the JPEG decompression units 510, 511, and 512 is started after receiving permission from transfer permission signals 5000, 5001, and 5002, which will be described later, output from the second data buffer 505.
[0093]
Reference numeral 501 denotes a Huffman decoding unit that performs a predetermined decoding on the compressed image data input from the first data buffer 500 and generates decoded data. When data that cannot be encoded is input to the Huffman decoding unit 501, the Huffman decoding unit 501 outputs an error interrupt signal to the register setting unit 406.
[0094]
Reference numeral 502 denotes an inverse quantization unit that performs inverse quantization on the decoded data output from the Huffman decoding unit 501 using a predetermined quantization value to generate inversely quantized data. The quantization value is input from the quantization table 504. When the result of the inverse quantization becomes a value other than the predetermined value, the inverse quantization unit 502 outputs an error interrupt signal to the register setting unit 406.
[0095]
An inverse DCT transform unit 503 performs an inverse discrete cosine transform on the data input from the inverse quantization unit 502. When an error occurs during the operation of the inverse DCT transform, the inverse DCT transform unit 503 outputs an error interrupt signal to the register setting unit 406.
[0096]
Reference numeral 505 denotes a second data buffer for storing data subjected to the inverse DCT transform by the inverse DCT transform units of the JPEG decompressing units 510, 511, and 512, respectively. It has a data buffer for tiles. When one tile of decoded data is obtained from each of the JPEG decompression units 510, 511, and 512, the received data is transmitted to the tile bus I / F unit 405 in the order of JPEG decompression units 510 → 511 → 512 (→ return to 510). Output. The second data buffer 505 performs a handshake with the tile bus I / F unit 405, and stops the output to the tile bus I / F unit 405 when the transfer to the tile bus I / F unit 405 is not permitted. When the output to the tile bus I / F unit 405 is stopped or the output of each data buffer is stopped due to the time difference of JPEG decompression, and the data buffer becomes full, the transfer permission signals 5000 and 5001 to the first data buffer 501 are output. By disabling 5002, data transfer to the JPEG decompression units 510, 511, and 512 is stopped.
[0097]
Each packet of the decompressed image data rearranged in the second data buffer 505 is sent to the image output I / F 2113 via the tile bus 2107, converted into raster data, and transferred to the printer 2095.
[0098]
As described above, by automatically switching the plurality of image decompression units (JPEG decompression units) to be used in order, it is possible to simultaneously operate the plurality of image decompression units.
[0099]
In addition, by setting a decompression processing coefficient (quantization table) of each image decompression unit using a command packet, even when a certain image decompression unit performs processing, the data transfer is already performed when the decompression processing coefficient is changed. Since the change can be made in advance of the completed image decompression unit, high-speed data transfer from the image decompression unit is possible even when the decompression processing coefficient is changed.
[0100]
In the present embodiment, it is possible to change the speed of the image decompression process by switching how many of the above-mentioned image decompression units are used. In the present embodiment, the configuration using three image decompression units has been described for simplicity. However, if the configuration is more than that, it goes without saying that a higher print speed can be obtained.
[0101]
Further, in the present embodiment, the case where image data is distributed in the order of JPEG decompression units 510, 511, and 512 in FIG. 9 has been described. May be.
[0102]
Further, it goes without saying that the present invention is not limited to the JPEG system, but can be similarly applied to other known compression systems.
[0103]
That is, according to the first embodiment, the decompression device includes decompression processing means for decompressing compressed data in predetermined units, and holding means for storing decompression processing information used for decompression processing by the decompression processing means. A plurality of decompression means capable of parallel processing, and inputting data in packet units, determining whether the input data is compressed data or decompression processing information setting data, and determining whether the input data is compressed data, The holding means of the decompression means for assigning each of the plurality of decompression means to the plurality of decompression means and outputting to the decompression processing means, and when the data is decompression processing information setting data, processing the compressed data corresponding to the decompression processing information setting data Allocating means for outputting the decompression processing information setting data when the decompression means to which the decompression processing information setting data is output is in a processable state. Warazu, outputs the decompressing process information setting data.
[0104]
Further, a plurality of decompression units capable of parallel processing, each having decompression processing means for decompressing compressed data in a predetermined unit and holding means for holding decompression processing information used for decompression processing by the decompression processing means, are used. The decompression method according to the first embodiment includes an input step of inputting data in packet units, a determination step of determining whether the input data is compressed data or decompression processing information setting data, In some cases, a first output step of allocating the data to the plurality of decompression means for each predetermined unit and outputting the data to the decompression processing means, and, if the data is decompression processing information setting data, a compression process corresponding to the decompression processing information setting data A second output step of outputting the data to the holding means of the decompression means for processing data, wherein the second output step includes a decompression means for outputting decompression processing information setting data. When ready for processing, regardless of the processing status of the other expansion means, and it outputs the decompressing process information setting data.
[0105]
Preferably, the allocating means allocates the input compressed data to the plurality of decompressing means in a predetermined order.
[0106]
For example, the allocating unit allocates the compressed data to a decompressing unit that can be processed among the plurality of decompressing units.
[0107]
Further, the decompression processing information is a decompression processing coefficient.
[0108]
The compressed data corresponding to the decompression processing information setting data is compression data input immediately after the decompression processing information setting data.
[0109]
Preferably, the compressed data is image data, and the image processing apparatus further includes an output unit that outputs the decompressed data decompressed by the plurality of decompression units to an external output unit in a raster order.
[0110]
【The invention's effect】
As described above, according to the present invention, decompression processing can be performed at higher speed by using a plurality of decompression processing units that can perform parallel processing.
[Brief description of the drawings]
FIG. 1 is a block diagram of a decompression processing unit showing an outline of the present invention.
FIG. 2 is a block diagram illustrating a configuration example of a network system to which the image input / output device of the present invention is connected.
FIG. 3 is a block diagram illustrating a configuration of a control unit of the image input / output device according to the embodiment of the present invention.
FIG. 4 is a diagram illustrating a configuration of an image packet used in the embodiment of the present invention.
FIG. 5 is a diagram illustrating a packet table used in the embodiment of the present invention.
FIG. 6 is a diagram illustrating a configuration of a command packet used in the embodiment of the present invention.
FIG. 7 is a diagram illustrating a configuration of an interrupt packet used in the embodiment of the present invention.
FIG. 8 is a block diagram illustrating a configuration of a tile extension unit according to the embodiment of the present invention.
FIG. 9 is a block diagram illustrating a configuration of a decompression processing unit according to the embodiment of the present invention.
FIG. 10 is a block diagram illustrating a configuration example of a conventional image decompression unit.
FIG. 11 is a block diagram illustrating another configuration example of a conventional image decompression unit.

Claims (1)

それぞれが、圧縮データを所定単位で伸長する伸長処理手段と、前記伸長処理手段で伸長処理に用いる伸長処理情報を保持する保持手段とを有する、並行処理可能な複数の伸長手段と、
データをパケット単位で入力し、入力したデータが圧縮データであるか伸長処理情報設定データであるかを判断し、圧縮データである場合には所定単位毎に前記複数の伸長手段に割り当てて前記伸長処理手段に出力し、伸長処理情報設定データである場合には、当該伸長処理情報設定データに対応する圧縮データを処理する伸長手段の前記保持手段に出力する割当手段とを有し、
前記割当手段は、前記伸長処理情報設定データを出力する先の伸長手段が処理可能状態である場合に、他の伸長手段の処理状況に関わらず、前記伸長処理情報設定データを出力することを特徴とする伸長装置。
A plurality of decompression units capable of performing parallel processing, each having decompression processing means for decompressing compressed data in a predetermined unit, and holding means for holding decompression processing information used for decompression processing by the decompression processing means;
Data is input in packet units, and it is determined whether the input data is compressed data or decompression processing information setting data. If the input data is compressed data, the data is allocated to the plurality of decompression means in predetermined units and the decompression is performed. Output to the processing means, and, if the data is decompression processing information setting data, allocating means for outputting to the holding means of the decompression means for processing compressed data corresponding to the decompression processing information setting data,
The allocating means outputs the decompression processing information setting data when the decompression means to which the decompression processing information setting data is output is in a processable state, irrespective of the processing status of other decompression means. And a stretching device.
JP2003040035A 2003-02-18 2003-02-18 Expanding apparatus Withdrawn JP2004253906A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003040035A JP2004253906A (en) 2003-02-18 2003-02-18 Expanding apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003040035A JP2004253906A (en) 2003-02-18 2003-02-18 Expanding apparatus

Publications (1)

Publication Number Publication Date
JP2004253906A true JP2004253906A (en) 2004-09-09

Family

ID=33024043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003040035A Withdrawn JP2004253906A (en) 2003-02-18 2003-02-18 Expanding apparatus

Country Status (1)

Country Link
JP (1) JP2004253906A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008060891A (en) * 2006-08-31 2008-03-13 Fujitsu Ltd Jpeg decoder
US7860325B2 (en) 2006-04-25 2010-12-28 Seiko Epson Corporation Image processing apparatus and image processing method for parallel decompression of image files

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7860325B2 (en) 2006-04-25 2010-12-28 Seiko Epson Corporation Image processing apparatus and image processing method for parallel decompression of image files
JP2008060891A (en) * 2006-08-31 2008-03-13 Fujitsu Ltd Jpeg decoder
JP4720683B2 (en) * 2006-08-31 2011-07-13 富士通セミコンダクター株式会社 JPEG decoder

Similar Documents

Publication Publication Date Title
US7130072B2 (en) Multifunction system, image processing method, computer program and memory medium
JP2003244446A (en) Image processor and image processing method
US7193738B2 (en) Image processing apparatus and method
US7145681B2 (en) Apparatus and method for processing divided image data
US7447384B2 (en) Image processing method and apparatus
JP2003316714A (en) Apparatus and method for information processing
US20040141655A1 (en) Method and apparatus for image processing
JP2004253906A (en) Expanding apparatus
JP2005045458A (en) Image compression method and apparatus
JP4136573B2 (en) Image processing method, image processing apparatus, program, and recording medium
KR100570786B1 (en) Controller of multi function device
JP2006229688A (en) Image processing device
JP4859215B2 (en) Data processing apparatus and control method
JP2003078770A (en) Image processing method and its apparatus
JP2003250050A (en) Image processing apparatus and control method thereof
JP2003234910A (en) Multifunction system
JP2003196044A (en) Image processing method and its device
JP2004165902A (en) Image processing apparatus
JP2004120135A (en) Image processor, and control method therefor
JP2003069831A (en) Image processor, image display method and computer program
JP2003234909A (en) Image processing apparatus
JP2003348338A (en) Information processing apparatus
JP2004157609A (en) Image processing apparatus and image processing system
JP2003234904A (en) Multifunction system controller
JP2003234908A (en) Image processing apparatus

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