JP2007158429A - 画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体 - Google Patents
画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体 Download PDFInfo
- Publication number
- JP2007158429A JP2007158429A JP2005346701A JP2005346701A JP2007158429A JP 2007158429 A JP2007158429 A JP 2007158429A JP 2005346701 A JP2005346701 A JP 2005346701A JP 2005346701 A JP2005346701 A JP 2005346701A JP 2007158429 A JP2007158429 A JP 2007158429A
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- packet
- image data
- image
- data
- 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
Landscapes
- Image Input (AREA)
- Facsimiles In General (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
【課題】画像処理時の各ページ間の時間間隔が必要以上に空くことを防止すると共に、任意のタイミングでレジスタアクセスを行うことができる画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体を提供する。
【解決手段】画像処理装置1000内の制御部2000は、タイル画像処理部2149を備える。タイル画像処理部2149は、パケット振り分け部2104と、データバス2107と、コマンドバス2109とを備える。
制御部2000はパケット振り分け部2104において、受信したパケットのヘッダ情報のPcktTypeがデータパケットを示す値であるか否かを判別し、PcktTypeがデータパケットを示す値であるときは、受信したパケットのヘッダ情報のCmdFlgに値が設定されているか否かを判別し、各パケット受信時にパケット振り分けを行う。
【選択図】図8
【解決手段】画像処理装置1000内の制御部2000は、タイル画像処理部2149を備える。タイル画像処理部2149は、パケット振り分け部2104と、データバス2107と、コマンドバス2109とを備える。
制御部2000はパケット振り分け部2104において、受信したパケットのヘッダ情報のPcktTypeがデータパケットを示す値であるか否かを判別し、PcktTypeがデータパケットを示す値であるときは、受信したパケットのヘッダ情報のCmdFlgに値が設定されているか否かを判別し、各パケット受信時にパケット振り分けを行う。
【選択図】図8
Description
本発明は、画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体に関し、特に、入力された画像データに画像処理を行う画像処理用LSIを備える画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体に関する。
従来の画像処理用LSIは、その内部の各画像処理モジュールのレジスタ設定を直前の処理が完了した後で行っていた。具体的には、あるページの処理が完了した後に次のページ用のレジスタ設定を行い、全てのレジスタ設定が完了した後に次のページの処理を開始していた。この場合、画像処理モジュールの処理が完了する前に該当するレジスタ設定の変更を行うと、例えば、同一ページ内においてレジスタ設定変更前後の画像品質が異なる。
また、レジスタ設定を行う回数が多くなるにつれて、全てのレジスタ設定の完了に要する時間が長くなり、結果として各ページ間の時間間隔が空いてしまい、これにより、画像処理装置のパフォーマンスが低下する。
これら従来の問題を解決するために、データバス上にコマンドパケットを転送することができる構成の画像処理用LSIを備えた画像処理装置が提案されている(例えば、特許文献1参照)。
特開2004−253906号公報
しかしながら、上記従来の技術では、レジスタアクセスのための全コマンドパケットをデータパケットの間に挿入して転送する系であるので、複数の画像処理モジュールが直列に接続して画像処理列を形成している場合の処理には問題があった。例として、1つの画像処理部での処理に時間が掛かると、他の画像処理部へのレジスタアクセスが滞ってしまうことが挙げられる。
さらに、上記従来の技術では、実質的に、レジスタへのリードアクセスが不可能であるという問題もあった。
本発明の目的は、画像処理時の各ページ間の時間間隔が必要以上に空くことを防止すると共に、任意のタイミングでレジスタアクセスを行うことができる画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体を提供することにある。
上記目的を達成するために、請求項1記載の画像処理装置は、画像処理を行う画像処理部と、前記画像処理部の動作設定を行うレジスタ部とを備えた画像処理装置において、所定の転送情報及び属性情報を有する画像データを受信すると共に、当該画像データを前記所定の転送情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第1の転送手段と、前記第1の転送手段が当該画像データを前記画像処理部に転送する場合、当該転送される画像データを前記所定の属性情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第2の転送手段とを備え、前記第2の転送手段は当該画像データの転送を前記第1の転送手段による画像データの受信順に行うことを特徴とする。
請求項5記載の画像データ転送制御方法は、画像処理を行う画像処理部と、前記画像処理部の動作設定を行うレジスタ部とを備えた画像処理装置の画像データ転送制御方法において、所定の転送情報及び属性情報を有する画像データを受信すると共に、当該画像データを前記所定の転送情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第1の転送ステップと、前記第1の転送ステップが当該画像データを前記画像処理部に転送する場合、当該転送される画像データを前記所定の属性情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第2の転送ステップとを備え、前記第2の転送ステップは当該画像データの転送を前記第1の転送ステップによる画像データの受信順に行うことを特徴とする。
請求項9記載の画像データ転送制御プログラムは、画像処理を行う画像処理部と、前記画像処理部の動作設定を行うレジスタ部とを備えた画像処理装置の画像データ転送制御プログラムにおいて、所定の転送情報及び属性情報を有する画像データを受信すると共に、当該画像データを前記所定の転送情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第1の転送モジュールと、前記第1の転送モジュールが当該画像データを前記画像処理部に転送する場合、当該転送される画像データを前記所定の属性情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第2の転送モジュールとをコンピュータに実行させ、前記第2の転送モジュールは当該画像データの転送を前記第1の転送モジュールによる画像データの受信順に行うことを特徴とする。
請求項10記載の記憶媒体は、請求項9記載の画像データ転送制御プログラムを格納することを特徴とする。
本発明によれば、所定の転送情報及び属性情報を有する画像データを受信し、当該画像データを所定の転送情報に基づいて画像処理部及びレジスタ部のいずれか一方に転送する。そして、受信した画像データを画像処理部に転送する場合、その画像データを所定の属性情報に基づいて画像処理部及び前記レジスタ部のいずれか一方にその画像データの受信順に転送する。これにより、画像処理時の各ページ間の時間間隔が必要以上に空くことを防止すると共に、任意のタイミングでレジスタアクセスを行うことができる。
以下、本発明の実施の形態を図面を参照しながら詳述する。
<システム全体>
図1は、本発明の実施の形態に係る画像処理装置が接続されるネットワークシステムの構成を概略的に示すブロック図である。
図1は、本発明の実施の形態に係る画像処理装置が接続されるネットワークシステムの構成を概略的に示すブロック図である。
図1のネットワークシステム1は、画像処理装置1000と、データベースサーバ1001と、データベースクライアント1002とを備え、これらは互いにローカルエリアネットワーク(以下、「LAN」という)1010を介して接続されている。さらに、電子メールクライアント1003と、電子メールサーバ1004と、WWWサーバ1005と、DNS(Domain Name System)サーバ1006とを備え、これらも互いにLAN1010を介して接続されている。
また、ネットワークシステム1は、インターネット/イントラネット1012とLAN1010とを接続するルータ1007を備える。さらに、画像処理装置1000aと、データベースサーバ1001aと、WWWサーバ1005aと、電子メールサーバ1004aとを備え、これらは夫々インターネット/イントラネット1012と接続されている。
また、ネットワークシステム1は、FAX装置1008を備え、これは画像処理装置1000にPSTN又はISDN1011を介して接続されている。さらに、プリンタ1009を備え、これはLAN1010に接続されている。
画像処理装置1000は、後述する図2に示すように画像読み取り装置又は画像入力装置としてのスキャナ2070と、プリンタ2095と、制御部2000とから構成される。そして、スキャナ2070から読み込んだ画像をLAN1010に転送したり、LAN1010から受信した画像をプリンタ2095によりプリントアウトすることができる。また、スキャナ2070により読み込んだ画像を不図示のFAX送信手段を用いてPSTN又はISDN1011を介してFAX装置1008に送信することができる。さらに、PSTN又はISDN1011を介して受信した画像をプリンタ2095によりプリントアウトすることができる。
データベースサーバ1001は、画像処理装置1000により読み込んだ2値画像及び多値画像をデータベースとして管理する。データベースクライアント1002は、データベースサーバ1001のクライアントで、データベースサーバ1001に保存されている画像データを閲覧/検索等ができる。
電子メールサーバ1004は、画像処理装置1000により読み取った画像を電子メールの添付ファイルとして受け取ることができる。電子メールクライアント1003は、電子メールサーバ1004が受け取った電子メールを受信及び閲覧することができ、電子メールを送信することができる。
WWWサーバ1005は、HTML文書をLAN1010に提供する。これにより、画像処理装置1000は、WWWサーバ1005が提供するHTML文書をプリントアウトすることができる。プリンタ1009は、画像処理装置1000により読み取った画像をプリントアウトすることができる。
画像処理装置1000a、データベースサーバ1001a、WWWサーバ1005a、電子メールサーバ1004aは、画像処理装置1000、データベースサーバ1001、WWWサーバ1005、電子メールサーバ1004と同様の機能を有する。
<画像処理装置の機能構成>
図2は、図1における画像処理装置1000の構成を概略的に示すブロック図である。
図2は、図1における画像処理装置1000の構成を概略的に示すブロック図である。
図2の画像処理装置1000は、画像入力デバイスであるスキャナ2070と、画像出力デバイスであるプリンタ2095と、これらと接続すると共に後述するパケット振り分け処理を実行する制御部2000とから構成される。また、制御部2000は、LAN1010やPSTN又はISDN1011等の公衆回線(WAN)に接続する。そして、制御部2000は、画像情報やデバイス情報の入出力、PDLデータのイメージ展開を行う為のコントローラとなる。
制御部2000は、システム制御部2150とタイル画像処理部2149とに大きく分けられる。CPU2001は、システム全体を制御するプロセッサであり、本実施の形態では2つのCPUを用いた例を示す。これら2つのCPU2001は、共通のCPUBUS2126に接続され、さらに、システムバスブリッジ(以下、「SBB」という)2007に接続される。
SBB2007は、バススイッチであり、CPUBUS2126、RAMコントローラ2124及びROMコントローラ2125が接続される。さらに、IOバスA2127、サブバススイッチ2128、IOバスB2129、画像リングインターフェースA2147及び画像リングインターフェースB2148が接続される。
RAM2002は、CPU2001が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。本実施の形態では、RAMコントローラ2124により制御されるダイレクトRDRAMを採用する例を示す。ROM2003は、ブートROMであり、システムのブートプログラムが格納されている。本実施の形態では、ROMコントローラ2125により制御される。
サブバススイッチ2128は、第2のバススイッチであり、画像DMAa2130、画像DMAb2132、フォント伸長部2134、ソート回路2135及びビットマップトレース回路2136が接続される。そして、画像DMAa2130及び画像DMAb2132から出力されるメモリアクセス要求を調停し、SBB2007への接続を行う。
画像DMAa2130は、画像圧縮部2131に接続し、レジスタアクセスリング2137を介して設定された情報に基いて画像圧縮部2131を制御し、RAM2002上にある非圧縮データの読み出し、圧縮、圧縮後データの書き戻しを行う。本実施の形態では、JPEGを圧縮アルゴリズムに採用した例を示す。画像DMAb2132は、画像伸張部2133に接続し、レジスタアクセスリング2137を介して設定された情報に基いて画像伸張部2133を制御し、RAM2002上にある圧縮データの読み出し、伸張、伸張後データの書き戻しを行う。本実施の形態では、JPEGを伸張アルゴリズムに採用した例を示す。
フォント伸張部2134は、LAN1010等を介して外部より転送されるPDLデータに含まれるフォントコードに基づき、ROM2003若しくはRAM2002内に格納された、圧縮フォントデータの伸張を行う。本実施の形態では、FBEアルゴリズムを採用した例を示す。また、ソート回路2135は、PDLデータを展開する段階で生成されるディスプレイリストのオブジェクトの順番を並び替える回路であり、ビットマップトレース回路2136は、ビットマップデータにより、エッジ情報を抽出する回路である。
IOバスA2127は、内部IOバスの一種であり、標準バスであるUSBバスのコントローラ(不図示)が接続される。さらに、USBインターフェース2138、操作部インターフェース2006、汎用シリアルポート2139、インタラプトコントローラ2140及びGPIOインターフェース2141が接続される。また、IOバスA2127には、バスアービタ(不図示)が含まれる。
操作部インターフェース2006は、操作部(UI)2012とのインターフェース部で、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部2012から画像処理装置1000にユーザが入力した情報を、CPU2001に伝える役割をする。
IOバスB2129は、内部IOバスの一種であり、汎用バスインターフェース2142及びLANコントローラ2010が接続される。IOバスB2129にも、バスアービタ(不図示)が含まれる。
汎用バスインターフェース2142は、2つの同一のバスインターフェースから成り、標準IOバスをサポートするバスブリッジである。本実施の形態では、PCIバス2143を採用した例を示した。
外部記憶装置2004は、ハードディスクドライブ(HDD)で、システムソフトウェア及び画像データを格納し、ディスクコントローラ2144を介して一方のPCIバス2143に接続される。
LANコントローラ2010は、MAC回路2145及びPHY/PMD回路2146を介してLAN1010に接続し、情報の入出力を行う。モデム2050は、PSTN又はISDN1010等の公衆回線に接続し、情報の入出力を行う。
画像リングインターフェースA2147及び画像リングインターフェースB2148は、SBB2007と画像データを高速で転送する画像リング2008とを接続する。そして、タイル化後の圧縮されたデータをRAM2002とタイル画像処理部2149と間で転送するDMAコントローラとなる。
画像リング2008は、一対の単方向接続経路の組み合わせにより構成される。そして、タイル画像処理部2149内で、画像リングインターフェースC2101及び画像リングインターフェースD2102を介し、タイル伸張部2103、パケット振り分け部2104、ステータス処理部2105、タイル圧縮部2106に接続される。後述する図8のパケット振り分け処理は、パケット振り分け部2104において実行される。
タイル伸張部2103は、画像リングインターフェースC2101に接続されると共に、パケット振り分け部2104及びデータバス2107にも接続され、画像リング2008により入力された圧縮後の画像データを伸張し、データバス2107へ転送する。本実施の形態では、多値データにはJPEG、2値データにはパックビッツを伸張アルゴリズムとして採用した例を示す。
タイル圧縮部2106は、画像リングインターフェースD2102に接続されると共に、データバス2107にも接続され、データバス2107から入力された圧縮前の画像データを圧縮し、画像リング2008へ転送するバスブリッジである。本実施の形態では、多値データにはJPEG、2値データにはパックビッツを圧縮アルゴリズムとして採用した例を示す。
パケット振り分け部2104は、画像リングインターフェースC2101及び画像リングインターフェースD2102に接続されると共に、データバス2107、コマンドバス2109及びタイル伸張部2103に接続される。そして、画像リング2008を介して入力された画像データをデータバス2107に転送する。また、CPU2001より発行されたレジスタ設定要求(コマンド)を、コマンドバス2109若しくはデータバス2107に転送する。さらに、CPU2001より発行されたレジスタ読み出し要求に基づき、コマンドバス2109を介して該当レジスタより情報を読み出し、画像リングインターフェースD2102に転送する。ステータス処理部2105は、各画像処理部の情報を監視する。
データバス2107には、上記処理ブロックに加え、レンダリング部インターフェース2110、画像入力インターフェース2112及び画像出力インターフェース2113が接続される。さらに、多値化部2119、2値化部2118、色空間変換部2117、画像回転部2030及び解像度変換部2116が接続される。
レンダリング部インターフェース2110は、後述するレンダリング部2060により生成されたビットマップイメージを入力するインターフェースである。レンダリング部2060とレンダリング部インターフェース2110とは、一般的なビデオ信号2111にて接続される。レンダリング部インターフェース2110は、データバス2107に接続すると共に、メモリバス2108及びコマンドバス2109に接続する。そして、コマンドバス2109を介して設定された所定の方法により、入力されたラスター画像をタイル画像に構造変換すると同時にクロックの同期化を行い、データバス2107に対し出力する。
画像入力インターフェース2112は、後述するスキャナ用画像処理部2114により補正画像処理されたラスターイメージデータを入力とする。そして、コマンドバス2109を介して設定された所定の方法により、入力されたラスターイメージデータのタイル画像への構造変換とクロックの同期化を行い、データバス2107に対し出力を行う。
画像出力インターフェース2113は、データバス2107からのタイル画像データを入力とし、ラスター画像への構造変換とクロックレートの変更を行い、ラスター画像を後述するプリンタ用画像処理部2115へ出力する。
画像回転部2030は画像データの回転を行い、解像度変換部2116は画像の解像度の変更を行う。色空間変換部2117は、カラー及びグレースケール画像の色空間の変換を行う。2値化部2118は多値(カラー或いはグレースケール)画像を2値化し、多値化部2119は2値画像を多値データへ変換する。
外部バスインターフェース部2120は、画像リングインターフェースA〜D、パケット振り分け部2104及びコマンドバス2109を介し、CPU2001により発行された書き込み、読み出し要求を外部バスC2121に変換出力するバスブリッジである。本実施の形態では、外部バスC2121はプリンタ用画像処理部2115及びスキャナ用画像処理部2114に接続されている。
メモリ制御部2122は、メモリバス2108に接続され、各画像処理部の要求に従い、予め設定されたアドレス分割により、画像メモリA及び画像メモリB2123に対して、画像データの書き込み、読み出し、必要に応じてリフレッシュ等の動作を行う。本実施の形態では、画像メモリにSDRAMを用いた例を示す。
スキャナ用画像処理部2114では、画像入力デバイスであるスキャナ2070によりスキャンされた画像データに補正画像処理を行う。プリンタ用画像処理部2115では、プリンタ出力のための補正画像処理を行い、結果をプリンタ2095へ出力する。
レンダリング部2060は、PDLコード若しくは中間ディスプレイリストをビットマップイメージに展開する。
<タイル画像(パケット)フォーマット>
図2における制御部2000内では、画像データ、CPU2001によるコマンド及び各ブロックより発行される割り込み情報を、パケット化された形式で転送する。本実施の形態では、図3に示すデータパケット、図5に示すコマンドパケットの2種の異なる種類のパケットが使用される。
(1)データパケット(図3)
本実施の形態では、画像データを32画素×32画素のタイル単位の画像データに分割して取り扱う例を示す。このタイル単位の画像データに、必要なヘッダ情報及び画像付加情報等を付加してデータパケットとする。
図2における制御部2000内では、画像データ、CPU2001によるコマンド及び各ブロックより発行される割り込み情報を、パケット化された形式で転送する。本実施の形態では、図3に示すデータパケット、図5に示すコマンドパケットの2種の異なる種類のパケットが使用される。
(1)データパケット(図3)
本実施の形態では、画像データを32画素×32画素のタイル単位の画像データに分割して取り扱う例を示す。このタイル単位の画像データに、必要なヘッダ情報及び画像付加情報等を付加してデータパケットとする。
以下、図3を用いてタイル単位の画像データのヘッダ情報に含まれる情報について説明する。
図3のデータパケットのパケットタイプは、ヘッダ情報3001内のPcktType3004の値によって区別される。また、PcktType3004にはリピートフラグ(不図示)が含まれており、データパケットの画像データが1つ前に送信したデータパケットの画像データと同一の場合には、リピートフラグがセットされる。
ChipID3005は、パケットを送信するターゲットとなるチップのIDを示し、ImageType3006ではデータのタイプを示す。PageID3007はページ番号を示しており、JobID3008はソフトウェアで管理するためのJobIDを格納する。
また、タイルの番号は、Y方向のPacketID3009と、X方向のPacketID3010との組み合わせによる、YnXnで表される。
データパケットは、画像データが圧縮されている場合と非圧縮の場合があり、本実施の形態では、圧縮アルゴリズムとして、多値カラー(多値グレースケールを含む)の場合はJPEGを、2値の場合はパックビッツを採用した例を示す。また、画像データが圧縮されているか非圧縮かの区別は、CompressFlag3017で示される。
ProcessInstruction3011は、左詰で処理順に設定し、各処理部は処理後にProcessInstruction3011を左に8ビットシフトする。ProcessInstruction3011には、UnitID3019とMode3020の組が8組格納されている。UnitID3019は各処理部を指定し、Mode3020は各処理部での動作モードを指定する。これにより、1つのパケットを8つの処理部で連続して処理することができる。
PacketByteLength3012は、パケットのトータルバイト数を示す。ImageDataByteLengh3015は画像データ3002のバイト数を示し、ZDataByteLength3016は画像付加情報等3003のバイト数を示す。ImageDataOffset3013及びZDataOffset3014は、夫々のデータのパケットの先頭からのオフセットを示している。
CmdFlg3021は、このパケットがデータパケットかコマンドパケットかを示すフィールドであり、データパケットの場合はこのフィールドに値は設定されない。
以下、図4を用いて各パケットを管理するパケットテーブルについて説明する。
図4に示すように各パケットは、パケットテーブル4001によって管理される。パケットテーブル4001において各パケットは、常に走査方向に並んでおり、Yn/Xn=000/000,000/001,000/002,…という順で並んでいる。また、パケットテーブル4001のエントリは一意に1つのタイルを示す。また、Yn/Xmaxの次のエントリはYn+1/X0となる。
パケットテーブル4001の構成要素は次の通りで、PacketAddressPointer4002の値に0を5ビット付加するとパケットの先頭アドレス、PacketLength4005の値に0を5ビット付加するとパケットのバイト長となる。
PacketAddressPointer(27bit)+5b00000=パケットの先頭アドレス …(1)
PacketLength(11bit)+5b00000=パケットのバイト長 …(2)
パケットが1つ前のパケットと全く同一のデータである場合は、そのパケットはメモリ上には書かず、パケットテーブル4001のエントリに1つ前のエントリと同じPacketAddressPointer、PacketLengthを格納する。1つのパケットデータを2つのテーブルエントリが指すようなかたちになり、この場合、2つ目のテーブルエントリのRepeatFlag4003が設定される。
PacketLength(11bit)+5b00000=パケットのバイト長 …(2)
パケットが1つ前のパケットと全く同一のデータである場合は、そのパケットはメモリ上には書かず、パケットテーブル4001のエントリに1つ前のエントリと同じPacketAddressPointer、PacketLengthを格納する。1つのパケットデータを2つのテーブルエントリが指すようなかたちになり、この場合、2つ目のテーブルエントリのRepeatFlag4003が設定される。
パケットがチェインDMAにより複数に分断された場合は、DivideFlag4004を設定し、そのパケットの先頭部分が入っているチェインブロックのChainTableNo.4006を設定する。
チェインテーブル4010のエントリは、ChainBlockAddress4011及びChainBlockLength4012から成り、各テーブルの最後のエントリにはChainBlockAddress、ChainBlockLength共に0を格納する。
なお、パケットテーブル4001及びチェインテーブル4010は分割されないものとする。
(2)コマンドパケット(図5)
図5のパケットフォーマットは、コマンドバス2109へのアクセスを行うためのものである。本パケットを用いることにより、CPU2001より画像メモリ2123へのアクセスも可能である。
(2)コマンドパケット(図5)
図5のパケットフォーマットは、コマンドバス2109へのアクセスを行うためのものである。本パケットを用いることにより、CPU2001より画像メモリ2123へのアクセスも可能である。
図5におけるヘッダ情報5001内のPcktType5003は、そのパケットがデータパケットかコマンドパケットかを示す値が設定される。本実施の形態においては、本パケットが同期コマンドパケットの場合、コマンドパケットであるにもかかわらず、タイル画像インターフェース上ではデータパケットとして転送されるように、データパケットを示す値が設定されている。また、本パケットが非同期コマンドパケットの場合は、コマンドパケットを示す値が設定されている。
ChipID5004には、コマンドパケットの送信先となるタイル画像処理部2149内のチップを表すIDが格納される。CmdType5005は書き込みか読み込みかのコマンドタイプを示し、Cmdnum5006はコマンドの数を示す。PageID5007はソフトウェアで管理するためのPageIDを格納し、JobID5008はソフトウェアで管理するためのJobIDを格納する。PacketID5009は、1次元で表されるデータパケットのX座標のみを格納する。PacketByteLength5010は128バイト固定である。
CmdFlg5013は、このコマンドパケットが同期コマンドパケットか非同期コマンドパケットかを示すフィールドであり、同期コマンドパケットの場合は値が設定されており、非同期コマンドパケットの場合は値は設定されていない。CmdFlg5013に値が設定されていることによって、チップ内ではコマンドパケットとして扱われると共に、そのパケットが同期コマンドパケットであることの判断情報となる。
コマンド部5002には、アドレス5011とデータ5012との組を1つのコマンドとする、最大12個のコマンドを格納することができる。
図6は、タイルの構成を示し、左上のタイル座標及び画像の座標を(0,0)とする。
図6において、Tile(0,0)等の領域で1つのタイルを示し、その括弧内の数字がタイルの座標を示す。タイル座標のX座標は左から右に行くにつれて増加し、タイル座標のY座標は上から下に行くにつれて増加するように定める。用紙サイズがA4(横)、解像度が600dpi、1つのタイルの大きさが32画素×32画素の場合、1ページは220(横)×156(縦)のタイル数となる。
以下、図2〜図7を用いてタイル画像処理部2149にパケットが順次入力された際の動作を説明する。
ここでは、タイル画像処理部2149に、第1のデータパケット、同期コマンドパケット(レジスタライト)、第2のデータパケット、非同期コマンドパケット(レジスタリード)、第3のデータパケットをこの順で入力する。また、説明を簡単にするために、これら5つのパケットは全て同じ解像度変換部2116に向けたパケットとする。
まず、第1のデータパケットは、上記パケットDMAを用いて画像リングインターフェースA2147から画像リングインターフェースC2101の経路でタイル画像処理部2149に入力される。入力された第1のデータパケットは、画像リングインターフェースC2101からパケット振り分け部2104に転送される。
次に、パケット振り分け部2104では、上記第1のデータパケットのヘッダ情報3001内のPcktType3004、CmdFlg3021、及びProcessInstruction3011内のUnitID3019を確認する。
上記第1のデータパケットのPcktType3004にはデータパケットを示す値、UnitID3019にはタイル伸張部2103のユニットIDが設定され、CmdFlg3021には値が設定されていない。よって、この第1のデータパケットは、まず、タイル伸張部2103に送られる。
そして、タイル伸張部2103での伸張動作中に、コマンドパケット(レジスタライト)がパケット振り分け部2104に入力される。ここで、このコマンドパケット内のヘッダ情報には、このコマンドパケットをデータパケットと同期して動作させるべく、PcktType5003にデータパケットを示す値、UnitID(不図示)には解像度変換部2116のユニットIDが設定される。さらに、CmdFlg5013にはコマンドパケットとして扱われるように値が設定されている。このため、パケット振り分け部2104は解像度変換部2116にこのコマンドパケットを転送しようとするが、次の問題がある。それは、第1のデータパケットはタイル伸張部2103で処理中であるため、解像度変換部2116においては動作を完了していないという問題である。よって、次のパケットを受け取ることができないため、パケット振り分け部2104内でパケットを留める。
タイル伸張部2103での処理が完了し、速やかに画像データが解像度変換部2116に転送されると、解像度変換部2116は解像度変換処理を開始する。処理が完了すると、解像度変換部2116は画像処理完了信号(不図示)をパケット振り分け部2104に対して転送する。パケット振り分け部2104は、この信号をきっかけとしてそれまで留め置いていた同期コマンドパケットをコマンドバス形式に変換すると共に、コマンドバス2109を介して解像度変換部2116に転送する。
上述のように、第1のデータパケット及びコマンドパケット(レジスタライト)を順に目的の解像度変換部2116に転送することができる。
続いて、第2のデータパケットがタイル画像処理部2149に入力される。ここで、例えば、データバス2107が何らかの原因で転送が停滞している等の理由でタイル伸張部2103が上記画像データをデータバス2107に出力できなかった場合を除き、上記第2のデータパケットはタイル伸張部2103に転送される。また、上記コマンドバス2109を介してのレジスタアクセスが完了していない場合を除き、上記第2のデータパケットはタイル伸張部2103に転送される。
タイル伸張部2103に入力された第2のデータパケットは同様に伸張処理を施され、データバス2107に出力される。ここで、直前のコマンドパケット(レジスタライト)は解像度変換部2116にてレジスタ設定を完了しているので、確実に解像度変換部2116の機能変更が完了した後に、第2のデータパケットは自動的に解像度変換部2116に入力される。これにより、第1のデータパケットと第2のデータパケットとは、解像度変換部2116において異なる動作モード・設定にて処理が行われる。このように、第1のデータパケットとコマンドパケット(レジスタライト)と第2のデータパケットの順番は保証され、上記コマンドパケットのレジスタアクセスは第1のデータパケット及び第2のデータパケットと同期して設定されることになる。
次に、非同期コマンドパケット(レジスタリード)がタイル画像処理部2149に入力される。このコマンドパケット内のヘッダ情報には、このコマンドパケットをデータパケットと非同期で動作させるべく、PcktType5003にコマンドパケットを示す値が設定され、CmdFlg5013には値が設定されていない。このコマンドパケットは無条件でコマンドバス2109に転送されるため、直前の第2のデータパケットの画像処理がどのような状態であっても解像度変換部2116に転送される。このレジスタアクセスはリードアクセスであるため、上記第2のデータパケットが処理中であってもレジスタ値を読み出すことができる。
また、上記非同期コマンドパケットを使用してレジスタライトを行うことも可能であるが、通常の動作時に使用されることはない。これは、通常動作時に画像処理に関連したレジスタを書き換えられてしまうと画像品質が変わってしまうため、レジスタ書き換えを上記非同期コマンドパケットで行う場合には、確実に画像処理が完了しているタイミングを確認の上で行う必要がある。また、動作中に印刷用紙ジャムや何らかの異常が発生し途中で処理を停止させる等の画像処理中にも関わらずレジスタ書き換えを必要とする場合に、速やかに動作を停止させるために上記非同期コマンドパケットは使用されると考えられる。
また、画像処理中に各種レジスタ値の読み出しを任意のタイミングで行う必要がある場合にも上記非同期コマンドパケットは使用されると考えられる。これは、例えば、動作中のステータスの確認用にレジスタ値の読み出しが発生した場合が考えられる。この場合は、例えば、同期コマンドパケットによるレジスタ書き換えを行っている最中であっても、一旦当該同期コマンドパケットのアクセスを停止して、最優先で上記非同期コマンドパケットによるアクセスを行う。このような優先度の制御もパケット振り分け部2104においてコマンドバス2109へのコマンドデータ転送の順番を制御することで行う。
最後に、第3のデータパケットは上記非同期コマンドパケットによるレジスタアクセスの状態に関わらずタイル伸張部2103に転送される。そして、第1のデータパケット及び第2のデータパケットと同様に、タイル伸張部2103において伸張処理が行われた後に、解像度変換部2116に転送され処理が行われる。
本実施の形態によれば、パケットヘッダ情報内のCmdFlg3021,5013及びPcktType3004,5003の情報によって一意に転送されるバスが決定される。
上記実施例では、リードコマンドでは同期/非同期の動作を行い、ライトコマンドでは同期動作のみを説明したが、パケットヘッダ情報の設定次第では非同期のライトコマンドを行うこともできる。
上記実施例では、リードコマンドでは同期/非同期の動作を行い、ライトコマンドでは同期動作のみを説明したが、パケットヘッダ情報の設定次第では非同期のライトコマンドを行うこともできる。
但し、画像データと非同期にレジスタライトを行う場合においては、レジスタライトコマンドの前後で、レジスタ値を変更された画像処理部の動作モードが変更されてしまう。これにより、例えば、同一ページ内においてページの前半と後半とで画像の品質が著しく変化してしまう。図7に示すように、1ページ内の703のタイミングでレジスタライトを行った場合、ページ前半の画像701とページ後半の画像702とは画像品質が異なってしまう。これを防ぐために、非同期コマンドパケットでレジスタライトを行う場合には、レジスタ設定タイミングをソフトウェアで制御する必要がある。
また、画像処理部が複数連なっている場合は、画像データにおいては各画像処理部に順番に転送される。そして、コマンドバス2109を介して予め動作設定が行われているので、設定された動作モードに応じて各画像処理部にて順番に画像処理が行われる。
図8は、図2における制御部2000が実行するパケット振り分け処理の手順を示すフローチャートである。
本処理は、制御部2000におけるパケット振り分け部2104において実行される。
図8において、まず、受信したパケットをデータパケットとして転送させるか否かを判断すべく、受信したパケットのヘッダ情報のPcktType3004,5003(転送情報)がデータパケットを示す値であるか否かを判別する(ステップS801)。
ステップS801の判別の結果、PcktType3004,5003がデータパケットを示す値であるときは、受信したパケットのヘッダ情報のCmdFlg3021,5013(属性情報)に値が設定されているか否かを判別する(ステップS802)。
ステップS802の判別の結果、CmdFlg3021,5013に値が設定されているときは、そのパケットは同期コマンドパケットであり、その同期コマンドパケットの直前のパケットがデータパケットであるか否かを判別する(ステップS803)。
ステップS803の判別の結果、直前のパケットがデータパケットであるときは、次の画像データ用のレジスタ設定を行う。しかし、直前のデータパケットの画像処理の完了前に、レジスタ設定は行えないため、画像処理が完了したか否かを判別する(ステップS804)。ステップS804の判別は、画像処理完了信号(不図示)の有無を確認することによって行う。
ステップS804の判別の結果、画像処理が完了したときは、そのコマンドパケットのコマンドデータをコマンドバス2109に転送することによりレジスタアクセスを行う(ステップS806)(第2の転送手段)。
そして、全てのコマンドデータの転送によるレジスタアクセスが完了したか否かを判別し(ステップS807)、全てのコマンドデータの転送が完了したときは、本処理を終了する。ステップS807の判別は、レジスタアクセスバスのプロトコルとしてレジスタアクセスの完了確認がサポートされているときは、レジスタアクセスを制御するシーケンサの状態を確認することで行う。
ステップS803の判別の結果、直前のパケットがデータパケットでないときは、直前のパケットは同期コマンドパケットであり、直前のコマンドパケットによるレジスタアクセスが完了したか否かを判別する(ステップS805)。ステップS805の判別もステップS807の判別と同様に、レジスタアクセスバスのプロトコルとしてレジスタアクセスの完了確認がサポートされているときは、レジスタアクセスを制御するシーケンサの状態を確認することで行う。
ステップS805の判別の結果、直前のコマンドパケットによるレジスタアクセスが完了したときは、ステップS806の処理へ進む。
ステップS802の判別の結果、CmdFlg3021,5013に値が設定されていないときは、そのパケットはデータパケットであり、そのデータパケットの直前のパケットがコマンドパケットであるか否かを判別する(ステップS808)。
ステップS808の判別の結果、直前のパケットがコマンドパケットであるときは、直前のコマンドパケットによるレジスタアクセスの完了前に、データパケットの画像データの転送は行えない。そのため、レジスタアクセスが完了したか否かを判別する(ステップS809)。ステップS809の判別もステップS805,807の判別と同様に、レジスタアクセスバスのプロトコルとしてレジスタアクセスの完了確認がサポートされているときは、レジスタアクセスを制御するシーケンサの状態を確認することで行う。
ステップS809の判別の結果、レジスタアクセスが完了したときは、そのデータパケットの画像データをデータバス2107に転送する(ステップS810)(第2の転送手段)。
次いで、そのパケットが最終パケットであるか否かを判別する(ステップS811)。ステップS811の判別は、例えば、1ページ単位で判断する場合、1ページ内のデータパケット数を指定する手段と、受信したデータパケットの個数を計数する手段とで最終パケットであるかどうかを確認することで行う。
ステップS811の判別の結果、最終パケットであるときは、画像処理完了信号を出力して(ステップS812)、本処理を終了し、最終パケットでないときは、そのまま本処理を終了する。
ステップS812において出力される画像処理完了信号は、タイル画像処理部2149で生成され、本パケット振り分け部2104に送信される。この信号は上述のように、例えば、1ページ単位での画像処理の終了タイミングを通知するためのものであり、その信号を受信することによって、次のコマンドパケットによるレジスタアクセスを監視することができる。
ステップS808の判別の結果、直前のパケットがコマンドパケットでないときは、直前のパケットはデータパケットであり、この場合、続けてデータパケットの画像データの転送を行えるため、ステップS810の処理へ進む。
ステップS801の判別の結果、PcktType3004,5003がデータパケットを示す値でないときは、そのパケットは非同期コマンドパケットである。この場合、その非同期コマンドパケットによるレジスタアクセスはすぐに行えるため、その非同期コマンドパケットのコマンドデータをコマンドバス2109に転送する(ステップS813)(第1の転送手段)。そして、ステップS813の処理が完了した場合、本処理を終了する。
図8のパケット振り分け処理によれば、まず、受信したパケットのヘッダ情報のPcktTypeがデータパケットを示す値であるか否かを判別する(ステップS801)。次いで、PcktTypeがデータパケットを示す値であるときは(ステップS801でYES)、受信したパケットのヘッダ情報のCmdFlgに値が設定されているか否かを判別する(ステップS802)。これにより、パケット振り分け部2104において、各パケット受信時にパケット振り分けを行うことができる。
従って、本実施の形態によれば、コマンドパケットのコマンドデータを、データパケットの画像データと同期させて送信したい場合には、画像バス経由で転送することができ、独立させて送信したい場合には、コマンドバス経由で転送することができる。これにより、画像データをページの途中で破壊することなくレジスタ設定を変更することができる。さらに、仮にデータバスに処理の重い画像処理モジュールが存在し、その下流のモジュールに対してレジスタアクセスを行いたい場合においても、任意のタイミングでレジスタアクセスを行うことができる。これにより、画像処理時の各ページ間の時間間隔が必要以上に空くことを防止することができ画像処理装置のパフォーマンスを向上させることができる。
また、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給する場合を考える。ここで、本発明の目的は、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク等を用いることができる。あるいは、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW等の光ディスク、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現される場合だけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた場合を考える。この場合に、そのプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も本発明に含まれる。
1 ネットワークシステム
1000 画像処理装置
2000 制御部
2104 パケット振り分け部
2107 データバス
2109 コマンドバス
2149 タイル画像処理部
1000 画像処理装置
2000 制御部
2104 パケット振り分け部
2107 データバス
2109 コマンドバス
2149 タイル画像処理部
Claims (10)
- 画像処理を行う画像処理部と、前記画像処理部の動作設定を行うレジスタ部とを備えた画像処理装置において、
所定の転送情報及び属性情報を有する画像データを受信すると共に、当該画像データを前記所定の転送情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第1の転送手段と、
前記第1の転送手段が当該画像データを前記画像処理部に転送する場合、当該転送される画像データを前記所定の属性情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第2の転送手段とを備え、
前記第2の転送手段は当該画像データの転送を前記第1の転送手段による画像データの受信順に行うことを特徴とする画像処理装置。 - 前記画像データをマトリックス状に分割して受信することを特徴とする請求項1記載の画像処理装置。
- 前記画像データは、前記画像処理部において画像処理が行われるデータパケットと、前記画像処理部の動作設定を行うコマンドパケットとに分類されることを特徴とする請求項1又は2記載の画像処理装置。
- 前記画像データは、前記所定の転送情報及び属性情報を当該パケットのヘッダに包含することを特徴とする請求項3記載の画像処理装置。
- 画像処理を行う画像処理部と、前記画像処理部の動作設定を行うレジスタ部とを備えた画像処理装置の画像データ転送制御方法において、
所定の転送情報及び属性情報を有する画像データを受信すると共に、当該画像データを前記所定の転送情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第1の転送ステップと、
前記第1の転送ステップが当該画像データを前記画像処理部に転送する場合、当該転送される画像データを前記所定の属性情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第2の転送ステップとを備え、
前記第2の転送ステップは当該画像データの転送を前記第1の転送ステップによる画像データの受信順に行うことを特徴とする画像データ転送制御方法。 - 前記画像データをマトリックス状に分割して受信することを特徴とする請求項5記載の画像データ転送制御方法。
- 前記画像データは、前記画像処理部において画像処理が行われるデータパケットと、前記画像処理部の動作設定を行うコマンドパケットとに分類されることを特徴とする請求項5又は6記載の画像データ転送制御方法。
- 前記画像データは、前記所定の転送情報及び属性情報を当該パケットのヘッダに包含することを特徴とする請求項7記載の画像データ転送制御方法。
- 画像処理を行う画像処理部と、前記画像処理部の動作設定を行うレジスタ部とを備えた画像処理装置の画像データ転送制御プログラムにおいて、
所定の転送情報及び属性情報を有する画像データを受信すると共に、当該画像データを前記所定の転送情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第1の転送モジュールと、
前記第1の転送モジュールが当該画像データを前記画像処理部に転送する場合、当該転送される画像データを前記所定の属性情報に基づいて前記画像処理部及び前記レジスタ部のいずれか一方に転送する第2の転送モジュールとをコンピュータに実行させ、
前記第2の転送モジュールは当該画像データの転送を前記第1の転送モジュールによる画像データの受信順に行うことを特徴とする画像データ転送制御プログラム。 - 請求項9記載の画像データ転送制御プログラムを格納するコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005346701A JP2007158429A (ja) | 2005-11-30 | 2005-11-30 | 画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005346701A JP2007158429A (ja) | 2005-11-30 | 2005-11-30 | 画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007158429A true JP2007158429A (ja) | 2007-06-21 |
Family
ID=38242255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005346701A Pending JP2007158429A (ja) | 2005-11-30 | 2005-11-30 | 画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007158429A (ja) |
-
2005
- 2005-11-30 JP JP2005346701A patent/JP2007158429A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030151759A1 (en) | Multifunction system, image processing method, computer program and memory medium | |
US7145681B2 (en) | Apparatus and method for processing divided image data | |
US7193738B2 (en) | Image processing apparatus and method | |
JP2003316714A (ja) | 情報処理装置及び方法 | |
JP3907471B2 (ja) | 画像入出力制御装置 | |
JP4065550B2 (ja) | 画像入出力制御装置、画像処理装置、画像入出力制御装置における画像処理方法、及び画像処理装置における画像処理方法 | |
JP2007158429A (ja) | 画像処理装置及び画像データ転送制御方法、並びに制御プログラム及び記憶媒体 | |
KR100570786B1 (ko) | 복합기기의 제어기 | |
JP3703431B2 (ja) | データ通信装置、画像処理装置、データ通信方法、及び画像処理装置におけるデータ通信方法 | |
JP2005078591A (ja) | 画像処理システム及びその画像処理方法 | |
JP2003196044A (ja) | 画像処理方法及びその装置 | |
JP2002354225A (ja) | 画像処理装置及びその制御方法 | |
JP2004253906A (ja) | 伸長装置 | |
JP2005159394A (ja) | 画像入出力制御装置およびデータ転送処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体 | |
JP2003348338A (ja) | 情報処理装置 | |
JP2003304381A (ja) | 情報処理装置及びデータ転送方法 | |
JP2002281293A (ja) | 画像処理装置および画像処理システム | |
JP2002281194A (ja) | 画像処理装置および画像処理システム | |
JP2006166102A (ja) | マルチファンクションシステムコントローラ | |
JP2008033432A (ja) | データ処理装置、画像形成装置、制御方法、及びプログラム | |
JP2005006000A (ja) | 画像処理システム | |
JP2003298833A (ja) | マルチ・ファンクション周辺装置およびマルチ・ファンクション周辺装置における画像合成処理方法 | |
JP2005130380A (ja) | 画像処理装置および画像データ転送方法 | |
JP2003271328A (ja) | 画像処理装置及びそのデータ転送方法 | |
JP2003250050A (ja) | 画像処理装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20070626 |