JP2004120135A - Image processor, and control method therefor - Google Patents
Image processor, and control method therefor Download PDFInfo
- Publication number
- JP2004120135A JP2004120135A JP2002278119A JP2002278119A JP2004120135A JP 2004120135 A JP2004120135 A JP 2004120135A JP 2002278119 A JP2002278119 A JP 2002278119A JP 2002278119 A JP2002278119 A JP 2002278119A JP 2004120135 A JP2004120135 A JP 2004120135A
- Authority
- JP
- Japan
- Prior art keywords
- image
- data
- unit
- compression
- 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】
【従来の技術】
従来、画像処理装置が画像読取装置などの画像入力装置から処理装置内部のメモリに画像データや画像データに付随する画像情報を格納する場合、画像処理装置に取り込んだ画像データ及び画像情報に対して、画像をタイル状に分割し、タイル毎にJPEG圧縮処理を行うことによってデータ量を減少してからメモリへ格納することが一般的である。
【0003】
これは画像データ及び画像情報を格納するためのメモリ容量を削減するのと同時に、画像処理装置−メモリ間、及び印字を行う際にメモリ−印字装置間のデータの転送量を削減するために行われる。
【0004】
また、圧縮されたタイル画像データを、1つのタイルが1つのパケットに対応したパケット形式でデータ通信を行うことがある。パケットは、ヘッダ部と画像データ部から構成され、ヘッダ部には、パケットのデータサイズや画像全体におけるタイルの位置、画像処理内容といった情報が格納されており、画像データ部には、圧縮されたタイル画像データまたは非圧縮のタイル画像データが格納されている。
【0005】
【発明が解決しようとする課題】
しかしながら、従来例においては、ある特定の位置のタイルで設定を変更することは行っていなかった。従来例においては、圧縮はページ毎に行い、ページの先頭で圧縮パラメータを画像圧縮回路に設定していた。
【0006】
圧縮のパラメータは画像の特徴に合わせて変更したほうが望ましい。例えば、文字が書かれたタイルでは、高周波数成分をあまり圧縮しない圧縮パラメータを設定して精細な画像とすることが望ましく、自然画像が書かれたタイルでは、高周波数成分の画像圧縮率を上げた圧縮パラメータを設定してデータサイズの小さい画像とすることが望ましい。従来の画像処理装置では、文字画像タイルと自然画像タイルなど特徴の異なる画像が1ページ中に混在したときに、それぞれのタイル画像の特徴に合わせて画像圧縮パラメータを変更することが不可能であり、画像の品位を保ちつつ、圧縮率の高い画像圧縮を行うことが難しいという問題点があった。
【0007】
本発明は上記問題点に鑑みなされたものであり、装置構成並びに装置の設計を容易にしながら、タイル等の画素ブロック単位に圧縮に関するパラメータを変更可能な画像処理装置及びその制御方法を提供しようとするものである。
【0008】
また、他の発明は、上記目的に加えて、目標サイズに画像を圧縮することを可能ならしめる画像処理装置及びその制御方法を提供しようとするものである。
【0009】
【課題を解決するための手段】
かかる課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。
【0010】
画像入力部より入力した画像データを所定の画素ブロック単位に分割する分割部、分割した画素ブロックを圧縮符号化する画像圧縮部、圧縮符号化した圧縮符号化情報を記憶する画像記憶部を備え、前記分割部、画像圧縮部、及び画像記憶部の間では、パケットデータとして通信する画像処理装置であって、
前記分割部は、入力した画像データを所定画素ブロックに分割する際、当該画素ブロックの属性を判別し、生成した属性に関する情報を付加情報として前記画素ブロックのデータと共にパケットデータとして出力し、
前記画像圧縮部は、前記分割部から出力されたパケットデータ中の属性情報に従って圧縮符号化する際のパラメータを決定し、当該パケットデータに含まれる画素ブロックのデータを圧縮符号化し、
前記記憶部は、前記画像圧縮部で圧縮されたパケットデータを記憶することを特徴とする。
【0011】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0012】
[ハードウェアの説明]
本実施形態におけるデジタル複合機のブロック構成を図10に示す。図中、2000は、実施形態の画像入出力制御装置及び画像処理装置を適用可能なコントローラ(Controller Unit)である。
【0013】
ここで、2150はデジタル複合機全体を制御するシステム制御部である。2149は入力した画像データに対して所定の画像処理を行う画像処理部であり、その詳細については後述する。2008は画像リングであり、システム処理部2150と画像処理部2149をリング状に接続する。
【0014】
2012は各種設定や動作指示操作を行うための操作部であり、タッチパネル、液晶表示器、各種スイッチやボタンで構成される。2002はRAM、2003はROMである。2143は汎用PCI(Peripheral Component Interconnect Bus)バスであり、2004は外部記憶装置(例えばハードディスクやMO等の大容量記憶装置)、2144はディスクコントローラである。2050は、公衆回線と接続するためのモデム、2146はPHY/PMDであり、LAN2011と接続しており、デジタル複合機はモデム2050及びPHY/PMDを介して外部機器と通信可能である。画像処理部2149には、プリンタ2095、画像メモリ2123、スキャナ2070が接続される。
【0015】
ここで、ハードウェアとしての観点から見た、コントローラ2000の構成について説明する。デジタル複写機等、デジタル複合機におけるコントローラは、システムLSIとして、システム制御部2150、画像処理部2149それぞれ1つの半導体基板上に構成している。また、ここで述べる半導体基板は、ICチップと言い換えることできる。すなわち、本実施形態では、コントローラ2000が1つのプリント基板であり、このプリント基板上に、システム制御部2150、画像処理部2149がICチップとして実装されている。但し、本発明はこれに限るものではなく、例えば、システム制御部2150、画像処理部2149が、それぞれ別々のプリント基板上にICチップとして実装されていてもよい。また、システム制御部2150、画像処理部2149が同一半導体基板上に構成されていてもよい。
【0016】
次に、主に、システム制御部2150及び画像処理部2149の内部構成を説明するための詳細な全体構成を図11に示す。
【0017】
コントローラ2000は、画像入力デバイスであるスキャナ2070(ADFを搭載している)や画像出力デバイスであるプリンタ2095と接続し、一方ではLAN2011や公衆回線WAN2051と接続することで、画像情報やデバイス情報の入出力、PDLデータのイメージ展開を行う為のコントローラである。
【0018】
CPU2001はシステム全体を制御するプロセッサである。本実施の形態では2つのCPUを用いた例を示している。これら二つのCPUは、共通のCPUバス2126に接続され、さらに、システムバスブリッジ2007に接続される。
【0019】
システムバスブリッジ2007は、バススイッチであり、CPUバス2126、RAMコントローラ2124、ROMコントローラ2125、IOバス1(2127)、IOバス2(2129)、画像リングインターフェース1(2147)、画像リングインターフェース2(2148)が接続される。
【0020】
RAM2002は、CPU2001が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。RAM2002は、RAMコントローラ2124により制御される。
【0021】
ROM2003はブートROMであり、システムのブートプログラムが格納されている。ROMコントローラ2125により制御される。
【0022】
IOバス1(2127)は、内部IOバスの一種であり、標準バスであるUSBバスのコントローラ、USBインターフェース2138、汎用シリアルポート2139、インタラプトコントローラ2140、GPIOインターフェース2141が接続される。IOバス1(2127)には、バスアービタ(図示せず)が含まれる。
【0023】
操作部I/F2006は操作部UI2012とのインターフェース部で、操作部2016に表示する画像データを操作部2012に対して出力する。また、操作部2012から本システム使用者が入力した情報を、CPU2001に伝える役割をする。
【0024】
IOバス2(2129)は内部IOバスの一種であり、汎用バスインターフェース1及び2(2142)と、LANコントローラ2010が接続される。IOバス2(2142)にはバスアービタ(図示せず)が含まれる。
【0025】
汎用バスインターフェース1と2(2142)は、2つの同一のバスインターフェースから成り、標準IOバスをサポートするバスブリッジである。本実施の形態では、PCIバス(2143)を採用した例を示した。
【0026】
実施形態での外部記憶装置2004はハードディスクドライブ(以下、HDD)で、システムソフトウェア、画像データを格納するためのもので、ディスクコントローラ2144を介して一方のPCIバス2143に接続される。
【0027】
LANコントローラ2010は、MAC回路2145、PHY/PMD回路2146を介しLAN2011に接続し、情報の入出力を行う。Modem2050は公衆回線2051に接続し、情報の入出力を行う。
【0028】
パケット転送手段である画像リングインターフェース1(2147)及び画像リングインターフェース2(2148)は、システムバスブリッジ2007と画像データを高速で転送する画像リング2008を接続し、タイル化されたデータをRAM2002と画像処理部2149間で転送するDMAコントローラである。
【0029】
同じくパケット転送手段である画像リング2008は、一連の単方向接続経路の組み合わせにより構成される。画像リング2008は、画像処理部1(2149)内で、画像リングインターフェース3(2101)、及び画像リングインターフェース4(2102)を介し、コマンド処理部2104、ステータス処理部2105、タイルバス2127に接続される。
【0030】
なお、通信単位となるパケットの書式については後述するが、やりとりされる情報には画像データがあるのは勿論、コマンド、割り込み要求等がある。これらの各信号をやりとりするのに、それぞれに専用の信号線を割り当ててしまうと回路(チップサイズ)及びLSIパッケージの規模が大きくなり、コストが増加する。かかる点、上記のように、システム制御部215や画像処理部219間では、システムとして動作するのに必要な情報をすべてパケット形式の情報通信という形式にすることで、それぞれの回路が単独に設計できて、より自由度が増し、各回路に汎用性を持たせることも可能になる。
【0031】
コマンド処理部2104は、画像リングインターフェースへの接続に加え、レジスタ設定バス2109に接続され、画像リングを介して入力したCPU2001より発行されたレジスタ設定要求を、レジスタ設定バス2109に接続される該当ブロックへ書き込む。また、CPU2001より発行されたレジスタ読み出し要求に基づき、レジスタ設定バスを介して該当レジスタより情報を読み出し、画像リングインターフェース4(2102)に転送する。
【0032】
ステータス処理部2105は各画像処理部の情報を監視し、CPU2001に対してインタラプトを発行するためのインタラプトバケットを生成し、画像リングインターフェース4(2012)に出力する。
【0033】
タイルバス2107には上記ブロックに加え、画像入力インターフェース2112、画像出力インターフェース2113、複数の矩形画像処理部2116〜2119、2030等の機能ブロックが接続される。
【0034】
本実施の形態では、矩形画像処理部として、多値化部2119、2値化部2118、色空間変換部2117、画像回転部2030、解像度変換部2116を実装している。スキャナ2070は画像処理部2149に接続されている。
【0035】
画像処理部2149内の、画像入力インターフェース2112は、後述するスキャナ2170により補正画像処理されたラスタイメージデータを入力とし、以下に示す処理を行う。
【0036】
先ず、1画素単位に、画素が文字・線画中のものであるか、中間調画内にあるのか等を判断し、1画素毎に設けられる画像付加情報(以下、Zフラグと記す)3003に文字・線画である場合に1を、そうでなければ0をセットする。実施形態では、後述するように、画像を矩形の画素ブロック(32×32画素ブロック)、換言すればタイル単位に圧縮するものであるから、次いで、その画素ブロックを構成する個々の画素のZフラグの状態に基づいて、注目画素ブロックにおける属性(Q−Table selデータ、Char−Flag)を決定する。こうして画素ブロックに対する属性が決定されると、その結果のデータを後段のタイルバス2107に出力する(尚、Q−Table selの生成の仕方についての詳細については後述する)。実施形態では、各処理部間のデータはパケット単位になされるものであるので、このとき画素ブロックのデータはヘッダ情報(Q−Table selデータを含む)+タイルデータを少なくとも含むパケット形式にし、クロックと同期化して出力する。
【0037】
画像処理部2149内の画像出力インターフェース2113は、タイルバス2107からの矩形データを入力とし、ラスター画像への構造変換及び、クロックレートの変更を行い、ラスター画像をプリンタ2095へ出力する。
【0038】
画像回転部2030は画像データの回転を行い、解像度変換部2116は補間/間引き等の処理を行うことで画像の解像度の変更を行う。また、色空間変換部2117はカラー及びグレースケール画像の色空間の変換を行う。2値化部2118は、多値カラー、グレースケール画像を誤差拡散処理やディザ処理により2値化する。また、多値化部2119は2値画像を多値データへ変換するもので、例えば、或る2値画素に着目した際、その周囲の画素群を参照することで注目画素を2ビット以上の多値画素データに変換するものである。
【0039】
メモリ制御部2122は、メモリバス2108に接続され、各画像処理部の要求に従い、あらかじめ設定されたアドレス分割により、画像メモリ2123に対して、画像データの書き込み、読み出し、必要に応じてリフレッシュ等の動作を行う。本実施の形態では、画像メモリにSDRAMを用いるものとする。
【0040】
次に本実施の形態におけるデジタル複合機のエラー処理について説明する。
【0041】
画像入力インターフェース2112は、次の2つのエラー、つまり、スキャナ2170の送るデータよりも画像入力インターフェース2112の動作が遅く、画像入力インターフェース2112がデータを受け取れなかった場合に起きるオーバーランエラー、および、スキャナ2170から不正な垂直同期信号または水平同期信号を受け取ったときに発生する同期エラーを検出する。また、画像入力インターフェース2112は、次の6つの割り込み、つまり、スキャナ2170から1ページ分のデータを正常に読み込んだときに起きるスキャナ正常動作終了割り込み、および、画像入力インターフェース2112が1ページ分のデータを出力して停止後、または、画像入力インターフェース2112が外部から動作を強制的に止められた場合、または、画像入力インターフェース2112がエラーを検出した時に起きる画像入力インターフェース動作終了割り込み、および、1タイル分のデータの出力が終わるたびに起きるタイル終了割り込み、および、1タイル分のデータの出力を開始するたびに起きるタイル開始割り込み、および、スキャナ2170が出す垂直同期信号の立ち上がりを検出したときに発生する垂直同期信号の立ち上がり割り込み、および、垂直同期信号の立ち下がりを検出したときに発生する垂直同期信号の立ち下がり割り込み、および、レジスタで設定されたライン数分のデータをスキャナ2170から受け取ったときに発生するマークライン割り込みを発生する。エラーまたは割り込みを検出した画像入力インターフェース2112は、割り込み信号を用いてステータス処理部2105にエラーまたは割り込みを知らせ、ステータス処理部2105はインタラプトバケットを用いてCPU2001にエラーまたは割り込みを知らせる。
【0042】
画像出力インターフェース2113は、次の2つのエラー、つまり、プリンタ2095へ送るデータよりも画像出力インターフェース2113の動作が遅く、プリンタ2095がデータを受け取れなかった場合に起きるアンダーランエラー、および、プリンタ2095から不正な垂直同期信号または水平同期信号を受け取ったときに発生する同期エラーを検出する。また、画像出力インターフェース2113は、次の6つの割り込み、つまり、プリンタ2095へ1ページ分のデータを正常に送ったときに起きるプリンタ正常動作終了割り込み、および、画像出力インターフェース2113が1ページ分のデータを出力して停止後、または、画像出力インターフェース2113が外部から動作を強制的に止められた場合、または、画像出力インターフェース2113がエラーを検出した時に起きる画像出力インターフェース動作終了割り込み、および、1タイル分のデータの出力が終わるたびに起きるタイル終了割り込み、1タイル分のデータの出力を開始するたびに起きるタイル開始割り込み、および、垂直同期信号の立ち上がりを検出したときに発生する垂直同期信号の立ち上がり割り込み、および、垂直同期信号の立ち下がりを検出したときに発生する垂直同期信号の立ち下がり割り込み、および、レジスタで設定されたライン数分のデータをプリンタ2095から受け取ったときに発生するマークライン割り込みを発生する。エラーまたは割り込みを検出した画像出力インターフェース2113は、割り込み信号を用いてステータス処理部2105にエラーまたは割り込みを知らせ、ステータス処理部2105はインタラプトバケットを用いてCPU2001にエラーまたは割り込みを知らせる。
【0043】
ここで、参考までに上で述べた不正な垂直同期信号または水平同期信号について説明する。画像出力インターフェース2113および画像入力インターフェース2112は、垂直同期信号の立ち上がりから立ち上がりの期間における水平同期信号の立ち上がりの回数を数えている。正常な垂直同期信号および水平同期信号が入力した場合は、垂直同期信号の立ち上がりから立ち上がりの期間における水平同期信号の立ち上がりの回数は変化しないが、不正な垂直同期信号または水平同期信号が入力した場合は、垂直同期信号の立ち上がりから立ち上がりの期間における水平同期信号の立ち上がりの回数は変化する。ここで、垂直同期信号および水平同期信号の立ち上がりで説明したが、立ち下がりであっても良いのは言うまでもない。
【0044】
画像回転部2030は、次の3つのエラー、つまり、パケットヘッダーに画像回転部2030で処理できる色形式(YMCK、RGBα、RGB、YUV、Lab、Y、M、C、K、ND,BK)以外の未定義のImageTypeが書かれていたときに起きるImageTypeエラー、および、パケットヘッダーに書かれたX座標またはY座標が画像回転部2030に書かれた1ページのXサイズまたはYサイズよりも大きかった場合に起きるX座標エラーまたはY座標エラー、および、パケットヘッダーに書かれたProcessInstructionModeに画像回転部2030で処理できるProcessInstructionMode(0°回転、90°回転、180°回転、270°回転、および、それぞれの鏡像)以外の未定義のProcessInstructionModeが書かれて場合に起きるProcessInstructionModeエラーを検出する。エラーを検出した画像回転部2030は、割り込み信号を用いてステータス処理部2105にエラーを知らせ、ステータス処理部2105はインタラプトバケットを用いてCPU2001にエラーを知らせる。
【0045】
解像度変換部2116は、次の6つのエラー、パケットヘッダーに書かれたPacketTypeIDがデータパケット以外の場合に起きるPacketTypeエラー、および、パケットヘッダーに解像度変換部2116が処理できる色形式(YMCK、RGBα、RGB、YUV、Lab、Y、M、C、K、ND,BK)以外の未定義のImageTypeが書かれていた時に起きるImageTypeエラー、および、パケットヘッダーに書かれたPageIDが処理中のPageIDと異なっていた場合に起きるPageIDエラー、および、パケットヘッダーに書かれたJobIDが処理中のJobIDと異なっていた場合に起きるJobIDエラー、および、パケットヘッダーに書かれたX座標またはY座標が解像度変換部2116が期待した順番どおりでなかった場合に起きるX座標エラーまたはY座標エラーを検出する。エラーを検出した解像度変換部2116は、割り込み信号を用いてステータス処理部2105にエラーを知らせ、ステータス処理部2105はインタラプトバケットを用いてCPU2001にエラーを知らせる。また、解像度変換部2116は、1ページ分の解像度変換したデータを正常に送ったときに起きる解像度変換正常動作終了割り込みを発生する。エラーまたは割り込みを検出した解像度変換部2116は、割り込み信号を用いてステータス処理部2105にエラーまたは割り込みを知らせ、ステータス処理部2105はインタラプトバケットを用いてCPU2001にエラーまたは割り込みを知らせる。
【0046】
色空間変換部2117は次の3つのエラー、つまり、パケットヘッダーに色空間変換部2117が処理できる色形式(YMCK、RGBα、RGB、YUV、Lab、Y、M、C、K、ND,BK)以外の未定義のImageTypeが書かれていた時に起きるImageTypeエラー、および、パケットヘッダーに書かれたPacketTypeIDがデータパケット以外の場合に起きるPacketTypeエラー、および、パケットヘッダーに色空間変換部2117が処理できる色形式(YMCK、RGBα、RGB、YUV、Lab、Y、M、C、K、ND,BKそれぞれへの変換)以外のProcessInstructionModeが書かれていた場合に起きるProcessInstructionModeエラーを検出する。エラーを検出した色空間変換部2117は、割り込み信号を用いてステータス処理部2105にエラーを知らせ、ステータス処理部2105はインタラプトバケットを用いてCPU2001にエラーを知らせる。
【0047】
2値化部2118は、次の5つのエラー、つまり、パケットヘッダーに2値化部2118が処理できる色形式(Y、M、C、K、ND)以外のImageTypeが書かれていたときに起きるImageTypeエラー、および、パケットヘッダーに書かれたPacketTypeIDがデータパケット以外を示していた場合に起きるPacketTypeエラー、および、パケットヘッダーに書かれたPageIDが処理中のPageIDと異なっていた場合に起きるPageIDエラー、および、パケットヘッダーに書かれたJobIDが処理中のJobIDと異なっていた場合に起きるJobIDエラー、および、パケットヘッダーに書かれたX座標またはY座標が2値化部2118に書かれた1ページのXサイズまたはYサイズよりも大きかった場合に起きるX座標エラーまたはY座標エラーを検出する。エラーを検出した2値化部2118は、割り込み信号を用いてステータス処理部2105にエラーを知らせ、ステータス処理部2105はインタラプトバケットを用いてCPU2001にエラーを知らせる。
【0048】
多値化部2119は、次の3つのエラー、つまり、パケットヘッダーに黒色以外のImageTypeが書かれていたときに起きるImageTypeエラー、および、パケットヘッダーに書かれたPacketTypeIDがデータパケット以外を示していた場合に起きるPacketTypeエラー、および、パケットヘッダーに書かれたProcessInstructionModeが多値化部2119が処理できるProcessInstructionMode以外の場合に起きるProcessInstructionModeエラーを検出する。エラーを検出した多値化部2119は、割り込み信号を用いてステータス処理部2105にエラーを知らせ、ステータス処理部2105はインタラプトバケットを用いてCPU2001にエラーを知らせる。
【0049】
エラーまたは割り込みを検出したCPU2001は、ステータス処理部2105、および、各画像処理部のエラーまたは割り込み要因レジスタを読み、それぞれの要因に適した処理を行う。エラーの場合、CPU2001は画像処理部2149にリセットを行い、エラーから復帰する。
【0050】
[システム全体]
次に、本実施の形態におけるデジタル複合機を含むネットワークシステム全体の構成図を図9に示す。
【0051】
1001は上述した本実施の形態におけるデジタル複合機であり、本発明の画像出力制御装置及び画像処理装置を適用可能なコントローラにより制御されている。
【0052】
デジタル複合機1001は、上記の如く、スキャナとプリンタを有し、スキャナから読み込んだ画像をローカルエリアネットワーク1010(以下LAN)に流したり、LANから受信した画像や印刷データをプリンタによりプリントアウトできる。
【0053】
また、スキャナから読んだ画像を、モデム2050であるFAX送信手段により、PSTNまたはISDN1030に送信したり、PSTNまたはISDNから受信した画像をプリンタによりプリントアウトできる。1002は、データベースサーバで、デジタル複合機1001により読み込んだ2値画像及び多値画像をデータベースとして管理する。
【0054】
1003は、データベースサーバ1002のデータベースクライアントで、データベース1002に保存されている画像データの閲覧/検索等ができる。
【0055】
1004は、電子メールサーバで、デジタル複合機1001により読み取った画像を電子メールの添付として受け取ることができる。1005は、電子メールのクライアントで、電子メールサーバ1004の受け取ったメールを受信し閲覧したり、電子メールを送信したりすることが可能である。
【0056】
1006がHTML文書をLANに提供するWWWサーバで、デジタル複合機1001によりWWWサーバで提供されるHTML文書をプリントアウトできる。
【0057】
1011は、ルータでLAN1010をインターネット/イントラネット1012と連結する。インターネット/イントラネットに、前述したデータベースサーバ1002、WWWサーバ1006、電子メールサーバ1004、デジタル複合機1001と同様の装置が、それぞれ1020,1021,1022,1023として連結している。一方、デジタル複合機1001は、PSTNまたはISDN1030を介して、FAX装置1031と送受信可能になっている。
【0058】
また、LAN上にプリンタ1040も連結されており、デジタル複合機1001により読み取った画像をプリントアウト可能なように構成されている。
【0059】
[タイル画像(パケット)フォーマット]
次に、本実施形態の画像入出力装置及び画像処理装置を適用可能なコントローラ2000内で処理されるパケットのフォーマットについて説明する。
【0060】
本実施形態におけるコントローラ2000内では、画像データ、CPU2001によるコマンド、各ブロックより発行される割り込み情報等を、パケット化された形式で転送する。本実施形態では、図12に示すデータパケット、図13に示すコマンドパケット、図14に示すインタラプトパケットの3種の異なる種類のパケットが使用される。以下、各パケットについて説明する。
【0061】
<データパケット(図12)>
まず、図12を用いてデータパケットについて説明する。本実施形態では画像データを32画素×32画素のタイル(Tile)単位の画像データ(ImageData+padding)3002に分割して取り扱う例を示した。
【0062】
このタイル単位の画像に、必要なヘッダ情報(header)3001及び画像付加情報等(Zdata+padding)3003を付加してデータパケット(DataPacket)とする。以下にヘッダ情報3001に含まれる情報について説明を行う。
【0063】
パケットのタイプはヘッダ情報3001内のパケットタイプ(PcktType)3004で区別される。チップID(ChipID)3005はパケットを送信するターゲットとなるチップのIDを示す。データタイプ(DataType)3006ではデータのタイプを示す。ページID(PageID)3007はページを示しており、ジョブID(JobID)3008はソフトウェアで管理するためのIDを格納する。
【0064】
タイルの番号はY方向のタイル座標3009とX方向のタイル座標3010の組み合わせで、YnXnで表される。データパケットは画像データが圧縮されている場合と非圧縮の場合がある。本実施形態では非圧縮の場合を示した。圧縮されている場合と非圧縮の場合との区別は圧縮フラグ(CompressFlag)3017で示される。
【0065】
プロセスインストラクション(Process Instruction)3011は左詰で処理順に設定し、各処理ユニット(上述の矩形画像処理部等)は、処理後プロセスインストラクション3011を左に8ビットシフトする。プロセスインストラクション3011はユニットID(UnitID)3019とモード(Mode)3020の組が8組格納されている。ユニットID3019は各処理ユニットを指定し、モード3020は各処理ユニットでの動作モードを指定する。これにより、1つのパケットは8つのユニットで連続して処理することができる。
【0066】
パケット長(PacketByteLength)3012はパケットのトータルバイト数を示す。画像データ長(ImageDataByteLengh)3015は画像データのバイト数、Zデータ長(ZdataByteLength)3016は画像付加情報のバイト数を表し、画像データオフセット(ImageDataOffset)3013、Zデータオフセット(ZdataOffset)3014は、それぞれのデータのパケットの先頭からのオフセットを表している。3015はイメージデータのバイト数(Image Data Byte length)を示し、3016はZ−Dataのバイト数(Z Data byte length)を示している。3017はパケット内のイメージデータが圧縮されたものであるか否かを示すフラグ(Compress Flag)、3029は文字領域であるか否かを示すフラグ(Char−Flag)、3030は注目画素ブロック(タイル)を圧縮する際の量子化ステップを決定する量子化テーブル選択データ(Q−Table Sel)である。
【0067】
次に、図15を用いてパケットテーブル(Packet Table)について説明する。各パケットはパケットテーブル6001によって管理する。パケットテーブル6001の構成要素は次の通りで、それぞれテーブルの値に0を5bit付加すると、パケットの先頭アドレス(PacketAddressPointer)6002、パケット長(Byte Length)6005となる。またここで、Packet Address Pointer 27bit + 5b00000 = パケット先頭アドレス、Packet Length 11bit + 5b00000 = パケット長の関係が成り立つ。パケットテーブル6001とチェーンテーブル(ChainTable)6010は分割されないものとする。
【0068】
パケットテーブル6001は常に走査方向に並んでおり、Yn/Xn=000/000, 000/001,000/002,....という順で並んでいる。このパケットテーブル6001のエントリは一意にひとつのタイルを示す。また、Yn/Xmaxの次のエントリはYn+1/X0となる。
【0069】
パケットがひとつ前のパケットとまったく同じデータである場合は、そのパケットはメモリ上には書かず、パケットテーブルのエントリに1つめのエントリと同じ先頭アドレス(PacketAddressPointer)、パケット長(PacketLength)を格納する。1つのパケットデータを2つのテーブルエントリが指すようなかたちになる。この場合、2つめのテーブルエントリのリピートフラグ(RepeatFlag)6003がセットされる。
【0070】
パケットがチェーンDMAにより複数に分断された場合は、分割フラグ(DivideFlag)6004をセットし、そのパケットの先頭部分が入っているチェーンブロックのチェーンテーブル番号(ChainTableNo)6006をセットする。
【0071】
チェーンテーブル6010のエントリはチェーンブロックアドレス(ChainBlockAddress)6011とチェーンブロック長(ChainBlockLength)6012からなっており、テーブルの最後のエントリにはアドレス、データ長共に0を格納しておく。
【0072】
<コマンドパケット(図13)>
次に、図6を用いてコマンドパケット(Command Packet)について説明する。
【0073】
コマンドパケットはレジスタ設定バス2109へのアクセスを行うためのものである。コマンドパケットを用いることにより、CPU2001より画像メモリ2123へのアクセスも可能である。
【0074】
ヘッダ4001内のチップID(ChipID)4004にはコマンドパケットの送信先となる画像処理部を表すIDが格納される。ページID(PageID)4007、ジョブID(JobID)4008はソフトウェアで管理するためのページIDとジョブIDを格納する。
【0075】
パケットID(PacketID)4009は1次元で表される。従って、データパケット(Data Packet)のX座標(X−coordinate)4009のみを使用する。パケット長(PacketByteLength)4010は128Byte固定である。
【0076】
パケットデータ部(Command)4002には、アドレス(Address)4011とデータ(Data)4012の組を1つのコマンドとして、最大12個のコマンドを格納することが可能である。ライトかリードかのコマンドのタイプは、コマンドタイプ(CmdType)4005で示され、コマンドの数はコマンド数(Cmdnum)4006で示される。
【0077】
<インタラプトパケット(図14)>
最後に、図14を用いてインタラプトパケット(Interrupt Packet)について説明する。
【0078】
インタラプトパケットは画像処理部2149からCPU2001への割り込みを通知するためのものである。ステータス処理部2105はインタラプトパケットを送信すると、CPU2001より次に送信の許可がされるまではインタラプトパケットを送信してはならない。
【0079】
パケット長(PacketByteLength)5006は128Byte固定である。パケットデータ部(IntData)5002には、画像処理部の各内部モジュール(各矩形画像処理部、入出力インターフェイス等)のステータス情報(ModuleStatus)5007が格納されている。ステータス処理部2105は画像処理部内の各モジュールのステータス情報を集め、一括してシステム制御部2150に送ることができる。
【0080】
チップID(ChipID)5004にはインタラプトパケットの送信先となるシステム制御部2150を表すIDが、また、インタラプトチップID(IntChipID)5005にはインタラプトの送信元となる画像処理部を表すIDが格納される。
【0081】
[タイル圧縮部]
図11におけるタイル圧縮部2106のブロック図を図1に示す。
【0082】
図1において、101はタイルバスインターフェイス部であり、タイルバス2107から入力されるデータパケットを取得して一時的に内部バッファに入力されたデータを格納し、後段に接続されたヘッダ情報保持部102、第1圧縮処理部103及び第2圧縮処理部104へヘッダ情報、画像データ及び画像付加情報データをそれぞれ振り分けて出力する。
【0083】
タイルバス2107からタイルバスインターフェイス部101へデータパケットを入力する場合、まず初めにデータパケットのヘッダ情報が入力され、タイルバスインターフェイス部101ではヘッダ情報内に設定された値を参照してヘッダ情報の後に入力される画像データ及び画像付加情報の入力の準備を行う。
【0084】
また、タイルバスインターフェイス部101ではタイルバスから入力されるヘッダ情報(3001)の解析を行う。ここでヘッダ情報を解析した結果、ヘッダ情報内に設定された値に矛盾があったり取りうる範囲を越えた値が設定されていた場合、タイルバスインターフェイス部101は後述のレジスタ設定部109に割り込み信号を出力することでヘッダ情報に矛盾があることを知らせた後、タイルバスからデータパケットの取得を停止する。このデータパケットを取得しない状態はリセット信号(不図示)が入力されるまで続く。
【0085】
ヘッダ情報(3001)に矛盾がない場合は、後段に接続されたヘッダ情報保持部102に対してヘッダ情報を出力し、続いてタイルバス2107から画像データ及び画像付加情報の取得を開始する。
【0086】
取得した画像データ及び画像付加情報はヘッダ情報のImageType(3006)を参照して第1圧縮処理部103及び第2圧縮処理部104に出力される。
【0087】
例えば、ヘッダ情報におけるImageTypeが1画素を1ビットで表す画像データであるBkである場合、タイルバスから取得した画像データは第2圧縮処理部104へ出力される。このとき画像付加情報はタイルバスインターフェイス部101で捨てられる。
【0088】
また、ImageTypeがBk以外(8ビットND、8ビットRGBデータなと多ビット(多値)画像データ)を表す場合は画像データを第1圧縮処理部103へ、画像付加情報を第2圧縮処理部104へ出力する。ただし、Ztype(3020)が画像付加情報がないことを表している場合は画像付加情報は存在しないとみなされ、画像付加情報は第2圧縮処理部において圧縮処理が行われない。
【0089】
102はヘッダ情報保持部であり、第1圧縮処理部103及び第2圧縮処理部104において画像データ及び画像付加情報の圧縮処理を行う間、内部バッファにヘッダ情報を保持するとともに、格納したヘッダ情報の中から圧縮処理に必要な情報を第1圧縮処理部及び第2圧縮処理部に対して出力する。
【0090】
また、ヘッダ情報保持部102ではタイルバスインターフェイス部101から入力されたヘッダ情報と、前記ヘッダ情報が入力される前にヘッダ情報保持部のバッファに格納されていたヘッダ情報(タイル圧縮部2106において一つ前に処理を行ったデータパケットのヘッダ情報)と、タイルバスインターフェイス部101から入力されたヘッダ情報を比較し、比較結果をバス111を用いてパケット生成部105へ出力する。
【0091】
第1圧縮処理部103及び第2圧縮処理部104により圧縮処理が終了すると、ヘッダ情報保持部102に保持したヘッダ情報はパケット生成部105からの要求によりバス110を用いてパケット生成部へ出力される。
【0092】
103は画像データを圧縮するための第1圧縮処理部であり、本実施形態ではJPEG方式による圧縮を行う。また、第1圧縮処理部103はタイルバスインターフェイス部101から入力された画像データと直前に第1圧縮処理部で圧縮処理を行った画像データについて、それぞれ対応する位置の画素についてデータパケットに含まれる全画素の比較を行い、その比較結果をバス113を用いてパケット生成部105へ出力する。
【0093】
第1圧縮処理部103で圧縮処理された符号化画像データはパケット生成部105からの要求によりバス112を用いてパケット生成部へ出力される。
【0094】
尚、ヘッダ情報内のImageType(3006)が1ビット画像データ(2値画像データ)であることを表している場合は、画像データは第2圧縮処理部において圧縮処理を行うため第1圧縮部103は動作しない。
【0095】
104は画像付加情報、または1ビット画像データを圧縮するための第2圧縮処理部であり、本実施形態では情報ロスのない圧縮方式、具体的にはパックビッツ方式による圧縮を行う。また、第2圧縮処理部104はタイルバスインターフェイス部101から入力された画像付加情報又は画像データと、直前に第2圧縮処理部で圧縮処理を行った画像付加情報又は画像データについて、第1圧縮処理部103と同様にそれぞれ対応する位置の画素に対する画像付加情報または画像データについてデータパケットに含まれる全画素の比較を行い、その比較結果をバス114を用いてパケット生成部105へ出力する。
【0096】
第2圧縮処理部104で圧縮処理された符号化画像付加情報又は画像データはパケット生成部105からの要求によりバス113を用いてパケット生成部へ出力される。
【0097】
105はパケット生成部であり、ヘッダ情報保持部102、第1圧縮処理部103及び第2圧縮処理部104からヘッダ情報、画像データ及び画像付加情報を取得して画像データ及び画像付加情報を圧縮したデータパケットを生成する。
【0098】
また、パケット生成部105で生成されるヘッダ情報には、ヘッダ情報保持部102、第1圧縮処理部103及び第2圧縮処理部104から出力された各部の比較結果や第1圧縮処理部103及び第2圧縮処理部104で符号化を行った後の画像データ量及び画像付加情報のデータ量、データパケットのデータ量や第1圧縮処理部103及び第2圧縮処理部104で圧縮処理を行ったときに使用したパラメータなどの情報が反映される。
【0099】
上記のように第1圧縮処理部103及び第2圧縮処理部104による圧縮処理が終了して符号化データを生成し、各情報がヘッダ情報に反映されると、データパケットは画像リング出力部106に出力される。
【0100】
106は画像リング出力部であり、画像リングインターフェイス4(2102)と同期を取ってパケット生成部105から送られてくるデータパケットを画像リングインターフェイス4(2102)に出力する。
【0101】
109はタイル圧縮部2106内部の処理に関する所設定を行うためのレジスタ設定部であり、タイル圧縮部2106に所定の圧縮処理を行わせるためにレジスタ設定部109に所定の値を設定する。
【0102】
これらの設定は図13に示すコマンドパケットを用いてシステム制御部2150から画像処理部2149のコマンド処理部2104に送られ、コマンド処理部からレジスタ設定バス2109を介してタイル圧縮部2106に送られる。
【0103】
レジスタ設定部109に設定された値は、第1圧縮処理部103及び第2圧縮処理部104に送られ、両圧縮処理部はそれらの設定値を参照することにより決められた処理を行う。
【0104】
尚、レジスタ設定部へはコマンドパケットを用いて値を設定するだけでなく、コマンドパケットを用いてレジスタ設定部が保持している設定値をシステム制御部2150へ出力することも可能である。
【0105】
また、レジスタ設定部109ではヘッダ情報を格納するためのレジスタを持ち、タイルバスインターフェース部101から割り込み信号が入力されると、タイルバスインターフェース101からヘッダ情報を取り込んでレジスタに設定するとともに、ステータス処理部2105に対して割り込みが発生したことを知らせるインタラプト信号及びエラーの状態を表すステータス信号を出力する。
【0106】
108はレジスタ設定バスインターフェイス部であり、レジスタ設定バス2109から入力された設定値をレジスタ設定部109が取得できるようにフォーマット変換及びハンドシェイクを行うためのブロックである。
【0107】
[第1圧縮処理部]
図2は第1圧縮処理部103のブロック構成図を示している。図示において、201はタイルバスインターフェイス部101から送られてきた画像データを格納するための第1のデータバッファであり、所定量のデータが送られると後段に接続されたDCT変換部202に対して所定の順序に従ってデータを出力する。
【0108】
尚、第1のデータバッファにはヘッダ情報保持部102からヘッダ情報のImageType(3006)が入力されており、第1のデータバッファへの画像データの入力及び第1のデータバッファからDCT変換部202へ出力するデータの順序、及び画像データのデータ数はImageTypeによって制御される。
【0109】
また、タイルバスインターフェイス部から第1のデータバッファに画像データが送られ、前記画像データが第1のデータバッファ内の所定の場所に格納されると同時に前記画像データが格納される場所にそれまで格納されていた画像データ(これは第1の圧縮処理部で直前に処理されたデータパケットの画像データにおいて、前記送られてきた画像データの位置に対応する画像データである)を後述するデータ比較部211に出力する。
【0110】
202はDCT変換部であり、第1のデータバッファ201から所定の順序で画像データが入力されると、離散コサイン変換を行って画像データを周波数成分データに変換する。また、このときDCT変換部202において離散コサイン変換を行うことによって生成された直流成分の値をラッチ信号とともに後述のサムネール生成部212に出力する。
【0111】
203は量子化部であり、DCT変換部202から出力された周波数成分データに対して、それぞれ所定の量子化値を用いて量子化を行う。尚、量子化に使用する値は後述する量子化テーブルから入力される。DCT変換部202で量子化に用いる量子化テーブルはヘッダ情報を参照することにより決定される。使用する量子化テーブルを決定方法の詳細は後述する。
【0112】
204はハフマン符号化部であり、量子化部203から出力されたデータに対してハフマン方式の符号化を行って符号化データを生成する。
【0113】
205は第2のデータバッファであり、ハフマン符号化部204で符号化した符号化データを格納するためのバッファである。
【0114】
第2のデータバッファ205はハフマン符号化部204からの符号化データの入力を終了すると、符号化された画像データのデータ量をData Byte Lengthとしてパケット生成部105に出力するとともに後述のデータカウンタ214に出力する。
【0115】
その後パケット生成部105の要求に従って格納した符号化データを出力する。
【0116】
211はデータ比較部であり、タイルバスインターフェイス部101から入力された画像データと、第1のデータバッファ201に格納された画像データとの比較を行う。ここで、第1のデータバッファ201からデータ比較部211に入力される画像データは、現在タイルバスインターフェイス部101から入力されているデータパケットの画像データではなくタイルバスインターフェイス部101から入力されているデータパケットの前に第1の圧縮処理部で圧縮処理を行った画像データである。そのため、データ比較部211では現在タイルバスインターフェイス部101から第1の圧縮処理部に入力されている画像データと、その前に第1の圧縮処理部によって処理された画像データの比較を行っている。
【0117】
上記動作をタイルバスインターフェイス部101から入力される全画像データに渡って行うことにより、データ比較部211ではデータパケットに含まれるすべての画像データに対して前データパケットの画像データとの比較を行うことができる。
【0118】
前記比較が1データパケット分終了すると、ひとつのデータパケットの画像データはすべて第1のデータバッファ201に格納される。尚、このようにして第1のデータバッファ201に格納された画像データは次のデータパケットの画像データがタイルバスインターフェイス部101から入力されたときに、データ比較部211により次の画像データと比較が行われる。
【0119】
タイルバスインターフェイス部101から入力される1パケット分の全ての画像データに対して上記比較動作を行った結果は、パケット生成部105に対して比較結果Compare resultとして出力される。
【0120】
212はサムネール生成部であり、DCT変換部202から出力されるDCT変換を行う際に生成される直流成分を取得し、複数の直流成分を基にサムネール値を生成する。DCT変換部202から直流成分を取得するのは直流成分に同期して出力されるラッチ信号を参照して行われる。生成されたサムネール値はThumbnail Dataとしてパケット生成部105に出力され、ヘッダ情報のThumbnail Data(3021)に所定のフォーマットで格納される。
【0121】
210は量子化部203において量子化を行うための量子化値を格納するための量子化テーブル部である。量子化テーブルとはDCT変換部202で離散コサイン変換を行って周波数成分となったデータを各周波数成分ごとに所定の値で除すことにより量子化を行うにあたり、量子化によって各周波数成分を除す値(量子化値)を提供する複数データの集まりであり、DCT変換部202で生成されたすべての周波数成分に対して量子化値を提供するデータ群を量子化テーブルと呼ぶ。
【0122】
量子化部203は任意の量子化テーブルの中から、量子化を行う周波数データに対応した量子化値を取得することにより量子化を行う。
【0123】
本実施形態の量子化テーブル部は上記量子化テーブルを4つ持ち、後述の量子化テーブル選択部から入力される選択信号によって所定の量子化テーブルを選択して量子化部203に量子化値を出力する。
【0124】
213は量子化テーブル選択部であり、量子化テーブル部210に対して量子化テーブル選択信号を出力することによって量子化テーブル部に格納されている複数(本実施形態では4つ)の量子化テーブルの中から所定のテーブルを選択する。量子化部203では前記量子化テーブル選択部213により選択された量子化テーブルを用いて量子化を行う。
【0125】
量子化テーブル選択部213にはヘッダ情報保持部202からMode(3025)、Q−Table Sel(3030)が、レジスタ設定部109からはヘッダ情報に格納するQ−TableID(3028)を決定するためのレジスタ値Reg−Qmode及びQ−TableIDとDCT変換部202が使用する量子化テーブルの対応を示すためのレジスタ値Reg−QTFieldが、そして後述のカウンタ値比較部からはデータカウンタのカウンタ値とレジスタ値の比較結果count−overが入力されている。量子化テーブル選択部213ではこれらの入力を参照することにより量子化部203で量子化を行うときに使用する量子化テーブル及びヘッダ情報に格納するQ−TableIDを選択している。
【0126】
214は、第2のデータバッファからパケット生成部に対してデータパケットひとつ分の符号化画像データが出力されるたびに、Data Byte Lengthを取得して内部カウンタに加算するデータカウンタである。データカウンタ214は上記動作を繰り返すことによりタイル圧縮部2106がシステムバスブリッジ2007を介してRAM2002へ送った符号化画像データの総量を内部カウンタに保持する。
【0127】
尚、データカウンタ214はヘッダ情報保持部102から出力されるカウンタリセット信号により内部カウンタがクリアされる。ヘッダ情報部102は後述するように、直前のデータパケットのヘッダ情報と現在第1圧縮処理部103により圧縮処理を行っているヘッダ情報のPageID(3007)及びJobID(3008)を比較し、PageID、JobIDのどちらか又は両方が両ヘッダ情報で異なる値であった場合にカウンタリセット信号を出力する。
【0128】
上記構成により、データカウンタ214では異なるページ、又は異なるジョブのデータパケットが入力されるとカウンタがクリアされる。そのためデータカウンタ214の内部カウンタには同一ジョブの同一ページ内における符号化画像データの総量が格納されている。
【0129】
215はカウンタ値比較部であり、前記データカウンタ214の内部カウンタ値とレジスタ設定部109から出力されるカウンタ値比較用のレジスタ設定値Reg−JPEGCountValueを比較し、その結果をcount_overとして量子化テーブル選択部213に出力する。
【0130】
データカウンタ214、カウンタ値比較部215及び量子化テーブル選択部213の動作の詳細は後述することとする。
【0131】
[第2圧縮処理部]
図4に第2圧縮処理部104のブロック図を示す。尚、以下の説明ではタイルバスインターフェイス部101から画像付加情報が入力された例について説明を行うが、特に説明がない場合は1ビットの画像データが入力された場合も同様の動作を行う。
【0132】
図4において、401はタイルバスインターフェイス部101から送られてきた画像付加情報を格納するための第1のデータバッファであり、所定量のデータが送られると後段に接続されたパックビッツ符号化部402に対して所定の順序に従ってデータを出力する。
【0133】
また、タイルバスインターフェイス部から第1のデータバッファに画像付加情報が送られ、前記画像付加情報が第1のデータバッファ内の所定の場所に格納されると同時に前記画像付加情報が格納される場所にそれまで格納されていた画像付加情報(これは第2の圧縮処理部で直前に処理されたデータパケットの画像付加情報において、前記送られてきた画像付加情報の位置に対応する画像付加情報である)を後述するデータ比較部405に出力する。
【0134】
402はパックビッツ符号化部であり、第1のデータバッファ401から出力された画像付加情報に対してパックビッツ方式による符号化処理を行って符号化データを生成する。
【0135】
403は第2のデータバッファであり、パックビッツ符号化部402で符号化した符号化データを格納するためのバッファである。
【0136】
第2のデータバッファ403はパックビッツ符号化部402からの符号化データの入力を終了すると、符号化された画像付加情報のデータ量をData Byte Lengthとしてパケット生成部105に出力するとともに後述のデータカウンタ406に出力する。
【0137】
その後パケット生成部105の要求に従って格納した符号化データを出力する。
【0138】
405はデータ比較部であり、タイルバスインターフェイス部101から入力された画像付加情報と、第1のデータバッファ401に格納された画像付加情報との比較を行う。ここで、第1のデータバッファ401からデータ比較部405に入力される画像付加情報は、現在タイルバスインターフェイス部101から入力されているデータパケットの画像付加情報ではなく、タイルバスインターフェイス部101から入力されているデータパケットの前に第2の圧縮処理部で圧縮処理を行った画像付加情報である。そのため、データ比較部405では現在タイルバスインターフェイス部101から第2の圧縮処理部に入力されている画像付加情報と、その前に第2の圧縮処理部によって処理された画像付加情報の比較を行っている。
【0139】
上記動作をタイルバスインターフェイス部101から入力される全画像付加情報に渡って行うことにより、データ比較部405ではデータパケットに含まれるすべての画像付加情報に対して前データパケットの画像付加情報との比較を行うことができる。
【0140】
前記比較が1データパケット分終了すると、ひとつのデータパケットの画像付加情報はすべて第1のデータバッファ401に格納される。尚、このようにして第1のデータバッファ401に格納された画像付加情報は次のデータパケットの画像付加情報がタイルバスインターフェイス部101から入力されたときに、データ比較部405により次の画像付加情報と比較が行われる。
【0141】
タイルバスインターフェイス部101から入力される1パケット分の全ての画像付加情報に対して上記比較動作を行った結果は、パケット生成部105に対して比較結果Compare resultとして出力される。
【0142】
以上説明した、Data Byte Length及びCompere resultはパケット生成部105においてヘッダ情報を生成する情報としてバス115によりパケット生成部105に送られる(図1参照)。
【0143】
406は、第2のデータバッファからパケット生成部105に対してデータパケットひとつ分の符号化画像付加情報が出力されるたびに、Data Byte Lengthを取得して内部カウンタに加算するデータカウンタである。データカウンタ406は上記動作を繰り返すことによりタイル圧縮部2106がシステムバスブリッジ2007を介してRAM2002へ送った符号化画像付加情報の総量を内部カウンタに保持する。
【0144】
尚、データカウンタ406はヘッダ情報保持部102から出力されるカウンタリセット信号により内部カウンタがクリアされる。ヘッダ情報部102は後述するように、直前のデータパケットのヘッダ情報と現在第1圧縮処理部103により圧縮処理を行っているヘッダ情報のPageID(3007)及びJobID(3008)を比較し、PageID、JobIDのどちらか又は両方が両ヘッダ情報で異なる値であった場合にカウンタリセット信号を出力する。
【0145】
上記構成により、データカウンタ406では異なるページ、又は異なるジョブのデータパケットが入力されるとカウンタがクリアされる。そのためデータカウンタ214の内部カウンタには同一ジョブの同一ページ内における符号化画像データの総量が格納されている。
【0146】
407はカウンタ値比較部であり、前記データカウンタ406の内部カウンタ値とレジスタ設定部109から出力されるカウンタ値比較用のレジスタ設定値Reg−PackCountValueを比較し、その結果をcount_overとしてバス115を用いてパケット生成部105に出力する。
【0147】
[ヘッダ情報保持部]
図3にヘッダ情報保持部102のブロック図を示す。ヘッダ情報部102はヘッダバッファ301とヘッダ比較部302から構成される。
【0148】
ヘッダバッファ301はタイルバスインターフェイス部101から送られてきたヘッダ情報を、第1の圧縮処理部103及び第2の圧縮処理部104において画像データ及び画像付加情報が圧縮される間、ヘッダ情報を保持するためのバッファであり、また、画像データ、画像付加情報の圧縮処理を行うために必要なヘッダ情報を第1の圧縮処理部103及び第2の圧縮処理部104に出力する。本実施形態では第1の圧縮処理部103に対しては入力される画像データ量を判断するためのImageType、JPEG圧縮に使用する量子化テーブルを決定するためのパラメータとしてMode及びQ−Table Selが出力される。
【0149】
また、第2の圧縮処理部104には入力される画像付加情報のデータ量を判断するためのImageTypeが出力される。
【0150】
さらに、ヘッダ比較部にはヘッダ情報の比較のために以下に示す内容が出力される。
ImageType(3006)
Page_ID(3007)
Job_ID(3008)
Mode(3025)
Source_id(3018)
Char_Flag (3029)
Q−Table Sel(3030)
Z_DataType(3020)
データ比較部302ではタイルバスインターフェイス部101から入力されたヘッダ情報の所定の情報と、ヘッダバッファ301に格納されたヘッダ情報との比較を行う。ここで、ヘッダバッファ301からデータ比較部302に入力されるヘッダ情報は、現在タイルバスインターフェイス部101から入力されているデータパケットのヘッダ情報ではなく、タイルバスインターフェイス部101から入力されているデータパケットの前にヘッダバッファに格納されていたヘッダ情報である。そのため、データ比較部302では現在タイルバスインターフェイス部101からヘッダ保持部に入力されているヘッダ情報と、その前にヘッダ保持部に格納されていたヘッダ情報の比較を行っている。
【0151】
ヘッダ比較部302からは比較結果Compare resultがパケット生成部105に出力される。
【0152】
また、データ比較部302では第1の圧縮処理部内のデータカウンタ214及び第2の圧縮処理部内のデータカウンタ406に対してカウンタリセット信号を出力する。カウンタリセット信号はヘッダ情報の比較のために入力されたヘッダ情報のうち、PageID及びJobIDを参照して行われる。
【0153】
すなわちタイルバスインターフェイス部101から入力されたPageIDとヘッダバッファ301から入力されたPageID、また同様にJobID同士を比較し、その結果PageIDとJobIDのどちらか又は両方の値が異なる場合、データ比較部302からカウンタリセット信号が出力される。
【0154】
これにより、第1の圧縮処理部内のデータカウンタ214及び第2の圧縮処理部内のデータカウンタ406は異なるページのデータパケットが続けて入力された場合、及び異なるJobのデータパケットが続けて入力された場合にカウンタリセット信号を出力する。
【0155】
[量子化テーブル選択部]
図5に図2に示す量子化テーブル選択部231のブロック図を示す。
【0156】
量子化テーブル選択部231は一つのセレクタ502と二つのルックアップテーブル(LUT)501及び503から構成される。
【0157】
セレクタ502はLUT501を参照する信号を選択を行う。図5ではヘッダ情報のQ−Table Sel(3030)とカウンタ値比較部215から出力される比較結果count_overの一方を選択してLUT501に入力する。本実施形態ではcount_overが選択されている。
【0158】
LUT501はMode(3025)3ビットとセレクタ502から出力されるcount_over1ビットの値を参照して4ビットのQ−TableID(3028)を出力する。LUT501から出力されるQ−TableIDの値はレジスタ設定部109から入力されるReg−Qmode[63:0]を利用する。
【0159】
図6はLUT501は入力される値(アドレス)に対する出力される値(格納されているデータ)の関係を示す図である。
【0160】
例えば、LUT501にMode=000、データカウンタ214の内部カウンタ値がレジスタ値Reg−JpegCountValue以下であるためcount_over=0が入力されると、LUT501はReg−Qmode[63:0]の中のReg−Qmode[3:0]から入力されている値をQ−TableID(3028)として出力する。図6の右側には出力されるQ−TableID(3028)の値の一例を示しているが、その場合Q−TableIDとして0000が出力される。
【0161】
ここで、しばらく第1の圧縮処理部によりデータパケットの圧縮処理が進み、データカウンタ214の内部カウンタ値がレジスタ値Reg−JpegCountValueを越えると、カウンタ値比較部215からcount_over=1が出力される。なお、レジスタ値Reg−JpegCountValueの値は、UI(操作部)2012から設定されるものとするが、原稿サイズによって自動的に決定されるようにしても良い。
【0162】
するとLUT501は図6に示すようにMode=000、count_over=1が入力されるためReg−Qmode[35:32]の値である1000がQ−TableIDとして出力される。
【0163】
上記動作によりLUT501から出力されたQ−TableIDはバス113を通ってパケット生成部105に送られ、ヘッダ情報のQ−TableID(3028)に反映される。
【0164】
LUT503はLUT501から出力されたQ−TableIDの値を参照して、量子化テーブル部210に対して2ビットの量子化テーブル選択信号SELを出力する。セレクタ502から出力されるSELの値はレジスタ設定部109から入力されるReg−QTField[31:0]を利用する。
【0165】
図8は、Reg−QTField[31:0]の構成を説明するための図であり、Reg−QTField[31:0]は、1組2ビットで構成されたQTFieldから成り立ち、1つのレジスタに16組のQTFieldを持ち、選ばれたQTFieldがSELとなる。
bit[31:30] Q−Table ID=1111 が入力されたときに使用するQTField
bit[29:28] Q−Table ID=1110 が入力されたときに使用するQTField
bit[27:26] Q−Table ID=1101 が入力されたときに使用するQTField
bit[25:24] Q−Table ID=1100 が入力されたときに使用するQTField
bit[23:22] Q−Table ID=1011 が入力されたときに使用するQTField
bit[21:20] Q−Table ID=1010 が入力されたときに使用するQTField
bit[19:18] Q−Table ID=1001 が入力されたときに使用するQTField
bit[17:16] Q−Table ID=1000 が入力されたときに使用するQTField
bit[15:14] Q−Table ID=0111 が入力されたときに使用するQTField
bit[13:12] Q−Table ID=0110 が入力されたときに使用するQTField
bit[11:10] Q−Table ID=0101 が入力されたときに使用するQTField
bit[9:8] Q−Table ID=0100 が入力されたときに使用するQTField
bit[7:6] Q−Table ID=0011 が入力されたときに使用するQTField
bit[5:4] Q−Table ID=0010 が入力されたときに使用するQTField
bit[3:2] Q−Table ID=0001 が入力されたときに使用するQTField
bit[1:0] Q−Table ID=0000 が入力されたときに使用するQTField
図7はLUT503に入力されるQ−TableIDの値(入力アドレス)と出力されるSELの値(格納データ)との関係を示している。
【0166】
例えば、LUT503にQ=TableID =0000が入力されると、LUT503はReg−QTField[31:0]の中のReg− QTField[1:0]から入力されている値をSELとして出力する。図7の右側には出力されるSELの値及びそのとき量子化テーブル部210で選択される量子化テーブルの一例を示している。図7ではQ=TableID =0000が入力されるとSELとして00が出力され、量子化テーブルQ0が選択される。
【0167】
また、図6に示すようにLUT501にcount_over=1が入力され、LUT501から出力されるQ−TableIDが1000に変化すると、LUT503から出力されるSELの値も00から10に変化して量子化テーブルQ2が選択される。
【0168】
量子化テーブル部210では、量子化テーブル選択部213から出力されたSELにより選択された量子化テーブルを用い、量子化部203の要求に従って量子化値を出力する。
【0169】
以上の説明によると、1ページの画像を圧縮してRAM2002に格納している最中に、そのデータ量が閾値であるReg−JobCountValueに到達すると、それ以降については新にセットされた量子化テーブルで量子化し、圧縮が行われ、画像の入力は継続する。ただし、閾値に到達する以前の既圧縮符号化データ(RAM2002に格納されたデータ)は、従前の量子化テーブルを用いて圧縮符号化されていることになるので、そのデータは読み出され、パケットデータとして画像リング2008を介してタイル伸長部2103で伸長処理され、新たに決定された量子化テーブルで再圧縮処理が行われることになる。
【0170】
また、本実施形態では、量子化テーブルのパラメータ選択方法について説明してきたが、これは、量子化テーブルに限定したものではなく、他のパラメータ、例えば、ハフマン符号化部204についても全く同様の構成でパラメータを任意の位置のタイルで選択可能にする構成に出来る。例えば、注目画素ブロックがRGB形式およびND形式をはじめとする輝度のデータである場合には、輝度用のハフマン符号化テーブルを利用し、CMYK形式およびグレースケールをはじめとする濃度データであれば色差用のハフマン符号化テーブルを利用して符号化を行う。注目画素ブロックのタイプ(色空間)が如何なるものであるのかの判断は、データパケットのヘッダに含まれるImage Typeに従って行えば良いであろう。
【0171】
また、本実施形態では、画像圧縮時のパラメータ選択について説明してきたが、これは圧縮時に限定したものではなく、伸張時においても本発明と同様の構成で同様の効果が期待できる。
【0172】
また、本実施形態では、パケットヘッダー中の情報に相当する2つのテーブル(レジスタ)の値を基に量子化テーブルを選択するとして説明してきたが、これは、2つのテーブル(レジスタ)に限定するものではなく、1つもしくは3つ以上のテーブル(レジスタ)を基に量子化テーブルを選択してもよい。
【0173】
ここで、スキャナ2070は、スキャンした画像を評価し、各画素が文字データを構成する画像であるか否かを示す情報(文字フラグ)を、画素毎に付加する文字判定機能を持つ。文字判定のための構成およびアルゴリズムは、特許番号 第2872285号などで説明されている。
【0174】
また、各タイルが、文字データを含んだタイルであるか否かを示すための情報(Q−Table Sel(3030))を各タイルのヘッダ情報に持つ。Q−Table Selは、画素毎に付加された文字フラグを基にスキャナ2070において付加され、その付加条件は次の2つから選択できる。
【0175】
条件1:
1タイル中つまり32×32画素中の1024個の全ての文字フラグが’0’つまり文字でなかった場合、Q−Table Sel(3030)を’0’に設定する。
【0176】
それ以外の場合、つまり、1タイル中つまり32×32画素中の1024個のどれか一つの文字フラグが’1’つまり文字だった場合、Q−Table Sel(3030)を’1’に設定する。条件1は次の論理回路で表すことができる。
Q−Table Sel = (画素1の文字フラグ)or (画素2の文字フラグ)or…or_(画素1024の文字フラグ)
条件2:
1タイル中つまり32×32画素中の1024個のどれか一つの文字フラグが’0’、つまり文字でなかった場合、Q−Table Sel(3030)を’0’に設定する。
1タイル中つまり32×32画素中の1024個の全ての文字フラグが’1’つまり全て文字だった場合、Q−Table Sel(3030)を’1’に設定する。それ以外の場合、つまり、条件2は次の論理回路で表すことができる。
Q−Table Sel = (画素1の文字フラグ)and (画素2の文字フラグ)and…and_(画素1024の文字フラグ)
Q−Table Sel(3030)=’0’の場合、圧縮率が高い写真用のQ−Tableが選択されるように、Reg−QTField[31:0]および、Q−TableIDを設定することで、省データサイズ重視の画像圧縮を行うことが出来る。
【0177】
Q−Table Sel(3030)=’1’の場合、解像度が高い文字用のQ−Tableが選択されるように、Reg−QTField[31:0]および、Q−TableIDを設定することで、画質重視な画像圧縮を行うことが出来る。
【0178】
ここで説明のために、条件1、2は、単純な論理回路で説明してきたが、文字フラグが’1’である画素の数をカウントし、カウンターの値と予め設定された閾値との大小比較を行った結果によって、Q−Tableの切り替えを行うことで、より画像に合わせた精度の高い条件設定を行うことが可能となる。
【0179】
ここで説明のために、条件判断は1タイル中つまり32×32画素中の1024個で行っているとしてきたが、それに限定したものではなく、例えば、JPEGの処理単位8×8画素ごとにQ−TableSelを持てば、JPEGの処理単位毎にQ−Tableを選択することも可能である。
【0180】
なお、上記実施形態では、主としてスキャナ2070から読取った画像を圧縮し、RAM2002に格納することについて説明したが、本実施形態における装置は先に説明したようにネットワークに接続され、ネットワーク上のクライアント(例えばパーソナルコンピュータ等)にとってプリンタとしての機能も果たす。従って、この場合、データの流れとしては、LANコントローラ2010より受信した印刷情報(PDLデータ)をCPU2001が解釈し、それを展開した際にも圧縮しRAM2002に格納する。この際の圧縮処理は、画像リング2008を介して、パケット形式(レンダリング部インタフェース2110が画像入力インタフェース2112と同様の処理を行う)にして画像処理部2149に送信し、その圧縮結果(パケット)を画像リング2008を介して受信し、RAM2002に格納することになる。こうして圧縮処理を行なっている間、RAM2002に格納された圧縮された画像データ(ヘッダのCompressFlag3017を調べることで圧縮されたデータであるのかどうかが判別できる)は、再度画像リング2008を介して画像処理部2149にパケット送信され、タイル伸長部2103(1)、(2)で伸長され、プリンタ用画像処理部2115を介してプリンタ2095で印刷されることになる。
【0181】
以上説明したように本実施形態によれば、タイル毎に伝送されるパケットヘッダー中に書かれた量子化テーブル選択情報を基にタイル毎に量子化テーブルを選択することが可能になり、画像の特徴に合わせた圧縮パラメータをタイル毎に設定することで、画像品位を低下させることなしに高圧縮率で画像圧縮することが可能になる。
【0182】
【発明の効果】
以上説明したように本発明によれば、装置構成並びに装置の設計を容易にしながら、タイル等の画素ブロック単位に圧縮に関するパラメータが変更可能になる。また、更に、目標サイズに画像を圧縮することが可能になる。
【図面の簡単な説明】
【図1】本実施形態におけるタイル圧縮部2106のブロック図である。
【図2】第1圧縮処理部103のブロック図である。
【図3】ヘッダ情報保持部102のブロック図である。
【図4】第2圧縮処理部104のブロック図である。
【図5】量子化テーブル選択部213のブロック図である。
【図6】LUT501における入力値に対する出力値との関係を示す図である。
【図7】LUT503における入力値に対する出力値との関係を示す図である。
【図8】レジスタ設定部109の出力データReg−QTField[31:0]のフォーマットを示す図である。
【図9】実施形態におけるデジタル複合機を含むネットワークシステム全体の構成図である。
【図10】実施形態におけるデジタル複合機のコントローラのブロック構成図である。
【図11】実施形態におけるデジタル複合機のコントローラの詳細を示すブロック構成図である。
【図12】コントローラ2000において用いられるデータパケットのフォーマットを示す図である。
【図13】コントローラ2000において用いられるコマンドパケットのフォーマットを示す図である。
【図14】コントローラ2000において用いられるインタラプトパケットのフォーマットを示す図である。
【図15】コントローラ2000において用いられるパケットテーブルの内容を示す図である。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus and a control method therefor, and more particularly, to an image processing apparatus that compresses and encodes image data and a control method therefor.
[0002]
[Prior art]
Conventionally, when an image processing apparatus stores image data and image information accompanying the image data in an internal memory of the processing apparatus from an image input apparatus such as an image reading apparatus, the image data and the image information captured by the image processing apparatus are In general, the image is divided into tiles, and the amount of data is reduced by performing JPEG compression processing for each tile, and then the image is stored in a memory.
[0003]
This is done not only to reduce the memory capacity for storing image data and image information, but also to reduce the amount of data transferred between the image processing device and the memory and between the memory and the printing device when printing. Is
[0004]
In some cases, data communication of compressed tile image data is performed in a packet format in which one tile corresponds to one packet. The packet is composed of a header part and an image data part. The header part stores information such as the data size of the packet, the position of the tile in the entire image, and the content of the image processing. Tile image data or uncompressed tile image data is stored.
[0005]
[Problems to be solved by the invention]
However, in the conventional example, setting has not been changed for a tile at a specific position. In the conventional example, compression is performed for each page, and a compression parameter is set in the image compression circuit at the top of the page.
[0006]
It is desirable to change the compression parameters in accordance with the characteristics of the image. For example, for tiles on which characters are written, it is desirable to set a compression parameter that does not compress high frequency components so much that a fine image is obtained. For tiles on which natural images are written, increase the image compression ratio of high frequency components. It is desirable to set the compression parameter set as above and obtain an image having a small data size. In a conventional image processing apparatus, when images having different characteristics such as a character image tile and a natural image tile are mixed in one page, it is impossible to change the image compression parameter according to the characteristics of each tile image. However, there is a problem that it is difficult to perform image compression with a high compression ratio while maintaining image quality.
[0007]
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and provides an image processing apparatus capable of changing parameters related to compression in units of pixel blocks such as tiles and a control method thereof while facilitating the apparatus configuration and apparatus design. Is what you do.
[0008]
Another object of the present invention is to provide an image processing apparatus capable of compressing an image to a target size and a control method thereof, in addition to the above objects.
[0009]
[Means for Solving the Problems]
In order to solve such a problem, for example, an image processing apparatus of the present invention has the following configuration.
[0010]
A division unit that divides image data input from the image input unit into predetermined pixel block units, an image compression unit that compresses and encodes the divided pixel blocks, and an image storage unit that stores compression-encoded compression encoded information, An image processing device that communicates as packet data between the division unit, the image compression unit, and the image storage unit,
The dividing unit, when dividing the input image data into predetermined pixel blocks, determines the attribute of the pixel block, and outputs information on the generated attribute as additional information as packet data together with the data of the pixel block,
The image compression unit determines a parameter when performing compression encoding according to the attribute information in the packet data output from the division unit, and compression-encodes data of a pixel block included in the packet data,
The storage unit stores the packet data compressed by the image compression unit.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0012]
[Description of hardware]
FIG. 10 shows a block configuration of a digital multifunction peripheral according to the present embodiment. In the figure,
[0013]
Here,
[0014]
[0015]
Here, the configuration of the
[0016]
Next, FIG. 11 shows a detailed overall configuration mainly for describing the internal configuration of the
[0017]
The
[0018]
The
[0019]
The
[0020]
The
[0021]
The
[0022]
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 USB interface 2138, a general-purpose
[0023]
An operation unit I / F 2006 is an interface unit with the
[0024]
The IO bus 2 (2129) is a kind of internal IO bus, and the general-
[0025]
General-
[0026]
The
[0027]
The LAN controller 2010 is connected to the
[0028]
An image ring interface 1 (2147) and an image ring interface 2 (2148), which are packet transfer means, connect the
[0029]
The
[0030]
Although the format of a packet serving as a communication unit will be described later, the information exchanged includes not only image data but also commands and interrupt requests. If dedicated signal lines are allocated to exchange each of these signals, the circuit (chip size) and the size of the LSI package increase, and the cost increases. In this regard, as described above, all the information necessary for operating the system between the
[0031]
The command processing unit 2104 is connected to the
[0032]
The
[0033]
To the
[0034]
In the present embodiment, as the rectangular image processing unit, a multi-level conversion unit 2119, a
[0035]
An image input interface 2112 in the
[0036]
First, for each pixel, it is determined whether the pixel is in a character / line image or in a halftone image, and the like, and added to image additional information (hereinafter referred to as a Z flag) 3003 provided for each pixel. Set to 1 if it is a character / line drawing, otherwise set to 0. In the embodiment, as will be described later, the image is compressed in a rectangular pixel block (32 × 32 pixel block), in other words, in a tile unit. Next, the Z flag of each pixel constituting the pixel block is compressed. , The attribute (Q-Table sel data, Char-Flag) in the target pixel block is determined. When the attribute for the pixel block is determined in this way, the resulting data is output to the subsequent tile bus 2107 (the details of how to generate a Q-Table sel will be described later). In the embodiment, the data between the processing units is performed in packet units. At this time, the data of the pixel block is in a packet format including at least header information (including Q-Table sel data) + tile data, and a clock. Output in synchronization with.
[0037]
The image output interface 2113 in the
[0038]
The
[0039]
The
[0040]
Next, error processing of the digital multifunction peripheral according to the present embodiment will be described.
[0041]
The image input interface 2112 has the following two errors: an overrun error that occurs when the operation of the image input interface 2112 is slower than the data transmitted by the scanner 2170 and the image input interface 2112 cannot receive data; A synchronization error that occurs when an incorrect vertical synchronization signal or horizontal synchronization signal is received from 2170 is detected. The image input interface 2112 has the following six interrupts: a scanner normal operation end interrupt that occurs when one page of data is normally read from the scanner 2170, and an image input interface 2112 that outputs one page of data. Is output, or when the image input interface 2112 is forcibly stopped from outside, or when the image input interface 2112 detects an error, an image input interface operation end interrupt that occurs and one tile Interrupt that occurs every time the output of one minute of data is completed, a tile start interrupt that occurs each time the output of one tile of data is started, and occurs when a rising edge of the vertical synchronization signal output from the scanner 2170 is detected. Vertical A rising interrupt of a signal and a falling interrupt of a vertical synchronizing signal generated when a falling of the vertical synchronizing signal is detected, and also generated when data corresponding to the number of lines set in the register is received from the scanner 2170. Generate a mark line interrupt. The image input interface 2112 detecting the error or the interrupt notifies the
[0042]
The image output interface 2113 has the following two errors: the operation of the image output interface 2113 is slower than the data to be sent to the
[0043]
Here, the illegal vertical synchronizing signal or the horizontal synchronizing signal described above will be described for reference. The image output interface 2113 and the image input interface 2112 count the number of rises of the horizontal synchronization signal in the period from the rise of the vertical synchronization signal to the rise. When the normal vertical sync signal and horizontal sync signal are input, the number of rises of the horizontal sync signal in the period from the rise to the rise of the vertical sync signal does not change, but when an incorrect vertical sync signal or horizontal sync signal is input The number of rises of the horizontal synchronization signal in the period from the rise of the vertical synchronization signal to the rise changes. Here, the rising of the vertical synchronizing signal and the horizontal synchronizing signal has been described, but it goes without saying that the falling may be the falling.
[0044]
The
[0045]
The resolution conversion unit 2116 includes the following six errors, a PacketType error that occurs when the PacketTypeID written in the packet header is other than a data packet, and a color format (YMCK, RGBα, RGB) that can be processed by the resolution conversion unit 2116 in the packet header. , YUV, Lab, Y, M, C, K, ND, BK), an ImageType error that occurs when an undefined ImageType is written, and the PageID written in the packet header is different from the PageID being processed. The page ID error that occurs in the case where the error occurs, the JobID error that occurs when the JobID written in the packet header is different from the JobID being processed, and the X coordinate or the Y coordinate written in the packet header are converted to the
[0046]
The color space conversion unit 2117 outputs the following three errors, namely, a color format (YMCK, RGBα, RGB, YUV, Lab, Y, M, C, K, ND, and BK) that can be processed by the color space conversion unit 2117 in the packet header. An ImageType error that occurs when an undefined ImageType other than the above is written, a PacketType error that occurs when the PacketTypeID written in the packet header is other than a data packet, and a color that can be processed by the color space conversion unit 2117 in the packet header Detects a ProcessInstructionMode error that occurs when a ProcessInstructionMode other than a format (YMCK, RGBα, RGB, YUV, Lab, Y, M, C, K, ND, and BK) is written. You. The color space conversion unit 2117 that has detected the error notifies the
[0047]
The
[0048]
The multi-level conversion unit 2119 states that the following three errors, that is, an ImageType error that occurs when an ImageType other than black is written in the packet header, and a PacketTypeID written in the packet header indicate a data packet other than the data packet A PacketType error that occurs in this case and a ProcessInstructionMode error that occurs when the ProcessInstructionMode written in the packet header is other than the ProcessInstructionMode that can be processed by the multi-value coding section 2119 are detected. The multi-level converting unit 2119 that has detected the error notifies the
[0049]
Upon detecting the error or the interrupt, the
[0050]
[Entire system]
Next, FIG. 9 shows a configuration diagram of an entire network system including the digital multifunction peripheral according to the present embodiment.
[0051]
[0052]
As described above, the digital multifunction peripheral 1001 has a scanner and a printer, and can flow an image read from the scanner to a local area network 1010 (hereinafter, LAN), and can print out an image and print data received from the LAN by the printer.
[0053]
Further, the image read from the scanner can be transmitted to the PSTN or
[0054]
[0055]
An
[0056]
[0057]
A
[0058]
A
[0059]
[Tile image (packet) format]
Next, the format of a packet processed in the
[0060]
In the
[0061]
<Data packet (FIG. 12)>
First, a data packet will be described with reference to FIG. In the present embodiment, an example has been described in which image data is divided into image data (ImageData + padding) 3002 in units of 32 pixels × 32 pixels and handled.
[0062]
The required header information (header) 3001 and additional image information (Zdata + padding) 3003 are added to the image in tile units to form a data packet (DataPacket). Hereinafter, information included in the
[0063]
The packet type is distinguished by a packet type (PcktType) 3004 in the
[0064]
The tile number 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. Data packets may be compressed image data or uncompressed. In the present embodiment, a case of non-compression has been described. The distinction between the case of compression and the case of non-compression is indicated by a compression flag (CompressFlag) 3017.
[0065]
The process instruction (Process Instruction) 3011 is set left-justified in the processing order, and each processing unit (such as the above-described rectangular image processing unit) shifts the
[0066]
A packet length (PacketByteLength) 3012 indicates the total number of bytes of the packet. The image data length (ImageDataByteLength) 3015 represents the number of bytes of image data, the Z data length (ZdataByteLength) 3016 represents the number of bytes of image additional information, and the image data offset (ImageDataOffset) 3013 and the Z data offset (ZdataOffset) 3014 are respectively Indicates the offset from the beginning of the data packet.
[0067]
Next, a packet table (Packet Table) will be described with reference to FIG. Each packet is managed by a packet table 6001. The components of the packet table 6001 are as follows. When 5 bits are added to the values in the table, a packet start address (PacketAddressPointer) 6002 and a packet length (Byte Length) 6005 are obtained. Also, here, the relationship of
[0068]
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.
[0069]
If the packet has exactly the same data as the immediately preceding packet, the packet is not written in the memory, and the same start address (PacketAddressPointer) and packet length (PacketLength) as the first entry are stored in the packet table entry. . One packet data is represented by two table entries. In this case, the repeat flag (RepeatFlag) 6003 of the second table entry is set.
[0070]
When the packet is divided into a plurality of pieces by the chain DMA, a division flag (DividFlag) 6004 is set, and a chain table number (ChainTableNo) 6006 of a chain block including the head of the packet is set.
[0071]
The entry of the chain table 6010 is composed of a chain block address (ChainBlockAddress) 6011 and a chain block length (ChainBlockLength) 6012, and 0 is stored in the last entry of the table for both the address and the data length.
[0072]
<Command packet (FIG. 13)>
Next, a command packet (Command Packet) will be described with reference to FIG.
[0073]
The command packet is for accessing the
[0074]
In a chip ID (Chip ID) 4004 in the
[0075]
The packet ID (PacketID) 4009 is represented in one dimension. Therefore, only the X-coordinate (X-coordinate) 4009 of the data packet (Data Packet) is used. The packet length (PacketByteLength) 4010 is fixed at 128 bytes.
[0076]
The packet data section (Command) 4002 can store a maximum of 12 commands using a set of an address (Address) 4011 and data (Data) 4012 as one command. The command type of write or read is indicated by a command type (CmdType) 4005, and the number of commands is indicated by a command number (Cmdnum) 4006.
[0077]
<Interrupt packet (Fig. 14)>
Finally, an interrupt packet (Interrupt Packet) will be described with reference to FIG.
[0078]
The interrupt packet is for notifying an interrupt from the
[0079]
The packet length (PacketByteLength) 5006 is fixed at 128 bytes. The packet data section (IntData) 5002 stores status information (ModuleStatus) 5007 of each internal module (each rectangular image processing section, input / output interface, etc.) of the image processing section. The
[0080]
The chip ID (ChipID) 5004 stores an ID indicating the
[0081]
[Tile compression unit]
FIG. 1 shows a block diagram of the
[0082]
In FIG. 1,
[0083]
When a data packet is input from the
[0084]
The tile
[0085]
If there is no inconsistency in the header information (3001), the header information is output to the header
[0086]
The acquired image data and image additional information are output to the first
[0087]
For example, when the ImageType in the header information is Bk, which is image data representing one pixel with one bit, the image data obtained from the tile bus is output to the second
[0088]
When ImageType represents a value other than Bk (8-bit ND, 8-bit RGB data or multi-bit (multi-valued) image data), the image data is transmitted to the first
[0089]
[0090]
In the header
[0091]
When the compression processing is completed by the first
[0092]
[0093]
The encoded image data compressed by the first
[0094]
When the ImageType (3006) in the header information indicates that the image data is 1-bit image data (binary image data), the image data is compressed by the second compression processing unit. Does not work.
[0095]
[0096]
The encoded image additional information or image data compressed by the second
[0097]
[0098]
The header information generated by the
[0099]
As described above, when the compression processing by the first
[0100]
An image
[0101]
[0102]
These settings are sent from the
[0103]
The value set in the
[0104]
It should be noted that not only the value is set to the register setting unit using the command packet, but also the setting value held by the register setting unit can be output to the
[0105]
The
[0106]
[0107]
[First compression processing unit]
FIG. 2 is a block diagram of the first
[0108]
Note that the first data buffer is input with the ImageType (3006) of the header information from the header
[0109]
Further, the image data is sent from the tile bus interface unit to the first data buffer, and the image data is stored in a predetermined location in the first data buffer, and at the same time the image data is stored in a location where the image data is stored. The stored image data (this is image data corresponding to the position of the transmitted image data in the image data of the data packet processed immediately before by the first compression processing unit) is compared with a data comparison described later. Output to the
[0110]
[0111]
[0112]
[0113]
[0114]
When the input of the encoded data from the
[0115]
Thereafter, the stored encoded data is output according to a request from the
[0116]
A
[0117]
By performing the above operation over all the image data input from the tile
[0118]
When the comparison is completed for one data packet, all the image data of one data packet is stored in the
[0119]
The result of performing the comparison operation on all image data of one packet input from the tile
[0120]
[0121]
[0122]
The
[0123]
The quantization table unit of the present embodiment has four of the above quantization tables, selects a predetermined quantization table according to a selection signal input from a quantization table selection unit described later, and sends a quantization value to the
[0124]
A quantization
[0125]
The mode (3025) and Q-Table Sel (3030) from the header
[0126]
A
[0127]
The internal counter of the data counter 214 is cleared by a counter reset signal output from the header
[0128]
With the above configuration, the counter is cleared in the data counter 214 when a different page or a data packet of a different job is input. Therefore, the internal counter of the data counter 214 stores the total amount of encoded image data in the same page of the same job.
[0129]
A counter
[0130]
The details of the operations of the
[0131]
[Second compression processing unit]
FIG. 4 is a block diagram of the second
[0132]
In FIG. 4,
[0133]
Further, the image additional information is sent from the tile bus interface unit to the first data buffer, and the image additional information is stored in a predetermined location in the first data buffer, and at the same time the image additional information is stored. The image additional information stored up to that point (this is the image additional information corresponding to the position of the transmitted image additional information in the image additional information of the data packet processed immediately before by the second compression processing unit). Is output to a
[0134]
[0135]
[0136]
When the input of the encoded data from the
[0137]
Thereafter, the stored encoded data is output according to a request from the
[0138]
A
[0139]
By performing the above operation over all the image additional information input from the tile
[0140]
When the comparison is completed for one data packet, all the image additional information of one data packet is stored in the
[0141]
The result of performing the above-described comparison operation on all pieces of image additional information of one packet input from the tile
[0142]
The above described Data Byte Length and Compare result are sent to the
[0143]
[0144]
The internal counter of the data counter 406 is cleared by a counter reset signal output from the header
[0145]
With the above configuration, the data counter 406 is cleared when a different page or a data packet of a different job is input. Therefore, the internal counter of the data counter 214 stores the total amount of encoded image data in the same page of the same job.
[0146]
A counter
[0147]
[Header information holding unit]
FIG. 3 is a block diagram of the header
[0148]
The
[0149]
Further, ImageType for determining the data amount of the input image additional information is output to the second
[0150]
Further, the following contents are output to the header comparing unit for comparing the header information.
ImageType (3006)
Page_ID (3007)
Job_ID (3008)
Mode (3025)
Source_id (3018)
Char_Flag (3029)
Q-Table Sel (3030)
Z_DataType (3020)
The
[0151]
The
[0152]
Further, the
[0153]
That is, the page ID input from the tile
[0154]
As a result, the data counter 214 in the first compression processing unit and the data counter 406 in the second compression processing unit receive data packets of different pages continuously and data packets of different Jobs continuously. In this case, a counter reset signal is output.
[0155]
[Quantization table selector]
FIG. 5 shows a block diagram of the quantization table selection unit 231 shown in FIG.
[0156]
The quantization table selector 231 includes one
[0157]
The
[0158]
The
[0159]
FIG. 6 is a diagram illustrating a relationship between an input value (address) and an output value (stored data) in the
[0160]
For example, when the Mode_000 is input to the
[0161]
Here, the compression processing of the data packet progresses for a while by the first compression processing unit, and when the internal counter value of the data counter 214 exceeds the register value Reg-JpegCountValue, the counter
[0162]
Then, as shown in FIG. 6, Mode = 000 and count_over = 1 are input to the
[0163]
The Q-TableID output from the
[0164]
The
[0165]
FIG. 8 is a diagram for describing the configuration of Reg-QTField [31: 0]. Reg-QTField [31: 0] is composed of a QTField composed of a set of 2 bits, and 16 bits are stored in one register. It has a set of QTFields, and the selected QTField is the SEL.
bit [31:30] QTField used when Q-Table ID = 1111 is input
bit [29:28] Q-Field used when Q-Table ID = 1110 is input
bit [27:26] QTField used when Q-Table ID = 1101 is input
bit [25:24] QTField used when Q-Table ID = 1100 is input
bit [23:22] QTField used when Q-Table ID = 1011 is input
bit [21:20] QField used when Q-Table ID = 1010 is input
bit [19:18] QTField used when Q-Table ID = 1001 is input
bit [17:16] QTField used when Q-Table ID = 1000 is input
bit [15:14] QTField used when Q-Table ID = 0111 is input
bit [13:12] QTField used when Q-Table ID = 0110 is input
bit [11:10] QTField used when Q-Table ID = 0101 is input
bit [9: 8] QTField used when Q-Table ID = 0100 is input
bit [7: 6] QTField used when Q-Table ID = 0011 is input
bit [5: 4] QTField used when Q-Table ID = 0010 is input
bit [3: 2] QTField used when Q-Table ID = 0001 is input
bit [1: 0] QTField used when Q-Table ID = 0000 is input
FIG. 7 shows the relationship between the value of the Q-TableID (input address) input to the
[0166]
For example, when Q = TableID = 0000 is input to the
[0167]
Also, as shown in FIG. 6, when count_over = 1 is input to the
[0168]
The
[0169]
According to the above description, when the data amount reaches the threshold value Reg-JobCountValue while the image of one page is compressed and stored in the
[0170]
Further, in the present embodiment, the method of selecting the parameters of the quantization table has been described. However, the present invention is not limited to the quantization table, and other parameters such as the
[0171]
Further, in the present embodiment, the parameter selection at the time of image compression has been described. However, this is not limited to the compression, and the same effect can be expected at the time of decompression with the same configuration as the present invention.
[0172]
In this embodiment, the quantization table is selected based on the values of the two tables (registers) corresponding to the information in the packet header. However, this is limited to the two tables (registers). Instead, the quantization table may be selected based on one or three or more tables (registers).
[0173]
Here, the
[0174]
Also, information (Q-Table Sel (3030)) indicating whether each tile is a tile including character data is included in the header information of each tile. The Q-Table Sel is added by the
[0175]
Condition 1:
If all 1024 character flags in one tile, that is, in 32 × 32 pixels, are not “0”, that is, not a character, Q-Table Sel (3030) is set to “0”.
[0176]
In other cases, that is, when any one of 1024 character flags in one tile, that is, 32 × 32 pixels is “1”, that is, a character, the Q-Table Sel (3030) is set to “1”. .
Q-Table Sel = (character flag of pixel 1) or (character flag of pixel 2) or ... or_ (character flag of pixel 1024)
Condition 2:
If any one of 1024 character flags in one tile, that is, 32 × 32 pixels, is not “0”, that is, if it is not a character, Q-Table Sel (3030) is set to “0”.
When all the 1024 character flags in one tile, that is, in 32 × 32 pixels are “1”, that is, all the characters are characters, the Q-Table Sel (3030) is set to “1”. In other cases, that is,
Q-Table Sel = (character flag of pixel 1) and (character flag of pixel 2) and ... and_ (character flag of pixel 1024)
When Q-Table Sel (3030) = '0', Reg-QTField [31: 0] and Q-TableID are set so that a Q-Table for a photograph having a high compression ratio is selected. Image compression that emphasizes data saving can be performed.
[0177]
When Q-Table Sel (3030) = '1', image quality is set by setting Reg-QTField [31: 0] and Q-TableID so that a Q-Table for characters with high resolution is selected. Important image compression can be performed.
[0178]
Here, for the sake of explanation, the
[0179]
Here, for the sake of explanation, it has been described that the condition determination is made in 1024 of one tile, that is, 32 × 32 pixels. However, the present invention is not limited to this. With -TableSel, it is also possible to select a Q-Table for each JPEG processing unit.
[0180]
Note that, in the above-described embodiment, the description has been given mainly of compressing the image read from the
[0181]
As described above, according to the present embodiment, it is possible to select a quantization table for each tile based on quantization table selection information written in a packet header transmitted for each tile, and By setting a compression parameter corresponding to a feature for each tile, it is possible to perform image compression at a high compression rate without deteriorating image quality.
[0182]
【The invention's effect】
As described above, according to the present invention, it is possible to change parameters related to compression in units of pixel blocks such as tiles while facilitating the device configuration and device design. Further, it becomes possible to compress the image to the target size.
[Brief description of the drawings]
FIG. 1 is a block diagram of a
FIG. 2 is a block diagram of a first
FIG. 3 is a block diagram of a header
FIG. 4 is a block diagram of a second
FIG. 5 is a block diagram of a quantization
FIG. 6 is a diagram illustrating a relationship between an input value and an output value in an
FIG. 7 is a diagram illustrating a relationship between an input value and an output value in an
FIG. 8 is a diagram showing a format of output data Reg-QTField [31: 0] of a
FIG. 9 is a configuration diagram of an entire network system including the digital multifunction peripheral according to the embodiment.
FIG. 10 is a block diagram of a controller of the digital multi-function peripheral in the embodiment.
FIG. 11 is a block diagram illustrating details of a controller of the digital multi-function peripheral in the embodiment.
FIG. 12 is a diagram showing a format of a data packet used in the
FIG. 13 is a diagram showing a format of a command packet used in the
FIG. 14 is a diagram showing a format of an interrupt packet used in the
FIG. 15 is a diagram showing the contents of a packet table used in the
Claims (19)
前記分割部は、入力した画像データを所定画素ブロックに分割する際、当該画素ブロックの属性を判別し、生成した属性に関する情報を付加情報として前記画素ブロックのデータと共にパケットデータとして出力し、
前記画像圧縮部は、前記分割部から出力されたパケットデータ中の属性情報に従って圧縮符号化する際のパラメータを決定し、当該パケットデータに含まれる画素ブロックのデータを圧縮符号化し、
前記記憶部は、前記画像圧縮部で圧縮されたパケットデータを記憶する
ことを特徴とする画像処理装置。A division unit that divides image data input from the image input unit into predetermined pixel block units, an image compression unit that compresses and encodes the divided pixel blocks, and an image storage unit that stores compression-encoded compression encoded information, An image processing device that communicates as packet data between the division unit, the image compression unit, and the image storage unit,
The dividing unit, when dividing the input image data into predetermined pixel blocks, determines the attribute of the pixel block, and outputs information on the generated attribute as additional information as packet data together with the data of the pixel block,
The image compression unit determines a parameter when performing compression encoding according to the attribute information in the packet data output from the division unit, and compression-encodes data of a pixel block included in the packet data,
The image processing apparatus, wherein the storage unit stores the packet data compressed by the image compression unit.
前記分割部は、入力した画像データを所定画素ブロックに分割する際、当該画素ブロックの属性を判別し、生成した属性に関する情報を付加情報として前記画素ブロックのデータと共にパケットデータとして出力する工程を有し、
前記画像圧縮部は、前記分割部から出力されたパケットデータ中の属性情報に従って圧縮符号化する際のパラメータを決定し、当該パケットデータに含まれる画素ブロックのデータを圧縮符号化する工程と有し、
前記記憶部は、前記画像圧縮部で圧縮されたパケットデータを記憶する工程を有する
ことを特徴とする画像処理装置の制御方法。A division unit that divides image data input from the image input unit into predetermined pixel block units, an image compression unit that compresses and encodes the divided pixel blocks, and an image storage unit that stores compression-encoded compression encoded information, A method for controlling an image processing device that communicates as packet data between the division unit, the image compression unit, and the image storage unit,
When dividing the input image data into predetermined pixel blocks, the division unit determines an attribute of the pixel block, and outputs information on the generated attribute as additional information as packet data together with the data of the pixel block. And
The image compression unit determines a parameter when performing compression encoding according to attribute information in the packet data output from the division unit, and compression-encodes data of a pixel block included in the packet data. ,
The method according to claim 1, wherein the storage unit stores the packet data compressed by the image compression unit.
入力した画像を所定の画素ブロックに分割し、当該画素ブロックの属性を判別し、判別した属性に関する情報を付加情報として前記画素ブロックのデータと共にパケットデータとして出力する画像分割手段と、
分割して得た画素ブロックのパケットデータを受信して、圧縮符号化する圧縮手段と、
該圧縮手段で圧縮符号されたデータ量を計数し、所定量になったか否かを判断する計数手段と、
圧縮符号化されたデータをパケットデータとして記憶する記憶手段とを備え、
前記圧縮手段は、
前記画像分割手段より出力されたパケットデータ中の付加情報及び前記計数手段による判断結果によって決定されるパラメータに基づいて圧縮符号化することを特徴とする画像処理装置。An image processing apparatus for compressing and storing image data,
Image dividing means for dividing the input image into predetermined pixel blocks, determining the attribute of the pixel block, and outputting information on the determined attribute as packet data together with the data of the pixel block as additional information,
Compression means for receiving the packet data of the pixel block obtained by the division and compressing and encoding the packet data;
Counting means for counting the amount of data compressed and compressed by the compression means and determining whether or not the amount has reached a predetermined amount;
Storage means for storing compression-encoded data as packet data,
The compression means,
An image processing apparatus, wherein compression encoding is performed based on additional information in packet data output from the image dividing unit and a parameter determined based on a determination result by the counting unit.
入力した画像を所定の画素ブロックに分割し、当該画素ブロックの属性を判別し、判別した属性に関する情報を付加情報として前記画素ブロックのデータと共にパケットデータとして出力する画像分割工程と、
分割して得た画素ブロックのパケットデータを受信して、圧縮符号化する圧縮工程と、
該圧縮工程で圧縮符号されたデータ量を計数し、所定量になったか否かを判断する計数工程と、
圧縮符号化されたデータをパケットデータとして所定の記憶手段に格納する工程とを備え、
前記圧縮工程は、
前記画像分割工程より出力されたパケットデータ中の付加情報及び前記計数手段による判断結果によって決定されるパラメータに基づいて圧縮符号化することを特徴とする画像処理装置の制御方法。A method of controlling an image processing device that compresses and stores image data,
An image dividing step of dividing the input image into predetermined pixel blocks, determining the attribute of the pixel block, and outputting information on the determined attribute as packet data together with the data of the pixel block as additional information;
A compression step of receiving packet data of the pixel block obtained by division and compressing and encoding the packet data;
A counting step of counting the amount of data compressed and encoded in the compression step, and determining whether or not the amount has reached a predetermined amount;
Storing the compression-encoded data as packet data in predetermined storage means,
The compression step includes:
A control method for an image processing apparatus, comprising: performing compression encoding based on additional information in packet data output from the image dividing step and a parameter determined based on a determination result by the counting unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002278119A JP2004120135A (en) | 2002-09-24 | 2002-09-24 | Image processor, and control method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002278119A JP2004120135A (en) | 2002-09-24 | 2002-09-24 | Image processor, and control method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004120135A true JP2004120135A (en) | 2004-04-15 |
Family
ID=32273510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002278119A Pending JP2004120135A (en) | 2002-09-24 | 2002-09-24 | Image processor, and control method therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004120135A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8023749B2 (en) | 2006-06-19 | 2011-09-20 | Sharp Kabushiki Kaisha | Image compressing apparatus and image reading apparatus including the same, image processing apparatus including image compressing apparatus and image forming apparatus including the same, image compression processing method, computer program thereof, and recording medium |
CN111937029A (en) * | 2018-09-18 | 2020-11-13 | 富士施乐株式会社 | Image processing apparatus, image processing method, image processing program, and storage medium |
-
2002
- 2002-09-24 JP JP2002278119A patent/JP2004120135A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8023749B2 (en) | 2006-06-19 | 2011-09-20 | Sharp Kabushiki Kaisha | Image compressing apparatus and image reading apparatus including the same, image processing apparatus including image compressing apparatus and image forming apparatus including the same, image compression processing method, computer program thereof, and recording medium |
CN111937029A (en) * | 2018-09-18 | 2020-11-13 | 富士施乐株式会社 | Image processing apparatus, image processing method, image processing program, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7130072B2 (en) | Multifunction system, image processing method, computer program and memory medium | |
US20030164975A1 (en) | Image processing apparatus and image processing method | |
JP2001136352A (en) | Picture input device and its controlling method | |
JP3862605B2 (en) | Image processing device | |
US7447384B2 (en) | Image processing method and apparatus | |
US20040141655A1 (en) | Method and apparatus for image processing | |
JP2003316714A (en) | Apparatus and method for information processing | |
JP3907471B2 (en) | Image input / output controller | |
JP2004120135A (en) | Image processor, and control method therefor | |
JP2004299387A (en) | Electronic device, image formation apparatus, and image data conversion method | |
JP2005045458A (en) | Image compression method and apparatus | |
JP4136573B2 (en) | Image processing method, image processing apparatus, program, and recording medium | |
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 | |
JP3703431B2 (en) | Data communication apparatus, image processing apparatus, data communication method, and data communication method in image processing apparatus | |
JP2006229688A (en) | Image processing device | |
JP2003250050A (en) | Image processing apparatus and control method thereof | |
JP2003078770A (en) | Image processing method and its apparatus | |
JP4859215B2 (en) | Data processing apparatus and control method | |
JP2004165902A (en) | Image processing apparatus | |
JP2004253906A (en) | Expanding apparatus | |
JP2003069831A (en) | Image processor, image display method and computer program | |
JP2003348338A (en) | Information processing apparatus | |
JP2003234909A (en) | Image processing apparatus | |
JP2003234904A (en) | Multifunction system controller | |
JP2003234910A (en) | Multifunction system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060414 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060804 |