(57)【要約】【課題】高い圧縮率で符号化された画像データを高速かつ低コストで復号するデータ複合装置およびデータ復号方法を提供する。【解決手段】ライン画像データの上位側データが複数結合された状態で符号化された第１の符号化データと前記ライン画像データの下位側データが複数結合された状態で符号化された第２の符号化データと前記ライン画像データの参照データが入力される入力手段と、前記参照データに基づいて、前記第１の符号化データを前記上位側データに復号するための第１の参照データと前記第２の符号化データを下位側データに復号するための第２の参照データを取得する取得手段と、前記第１の参照データに基づいて前記第１の符号化データを前記上位側データに復号する間に、前記第２の参照データに基づいて前記第２の符号化データを前記下位側データに復号する復号手段と、前記復号手段で復号された前記上位側データと前記下位側データを結合する結合手段とを備える。【選択図】図５
2012231453.tif 000002
【特許請求の範囲】
【請求項１】
ライン画像データの上位側データが複数結合された状態で符号化された第１の符号化データと前記ライン画像データの下位側データが複数結合された状態で符号化された第２の符号化データと前記ライン画像データの参照データが入力される入力手段と、
前記参照データに基づいて、前記第１の符号化データを前記上位側データに復号するための第１の参照データと前記第２の符号化データを下位側データに復号するための第２の参照データを取得する取得手段と、
前記第１の参照データに基づいて前記第１の符号化データを前記上位側データに復号する間に、前記第２の参照データに基づいて前記第２の符号化データを前記下位側データに復号する復号手段と、
前記復号手段で復号された前記上位側データと前記下位側データを結合する結合手段とを備えることを特徴とするデータ復号装置。
【請求項２】
前記復号手段は、前記第１の符号化データの復号と前記第２の符号化データの復号を独立して行うことを特徴とする請求項１に記載のデータ復号装置。
【請求項３】
前記取得手段は、前記参照データを前記第１の参照データと第２の参照データとに分割する分割手段を備えることを特徴とする請求項１に記載のデータ復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ復号装置に関し、詳しくは高速な復号処理を実現するデータ復号装置に関する。
【背景技術】
【０００２】
カラーで記録を行なうための画像形成システムは、ホストＰＣから１画素をＲＧＢ多値形式で表現した画像データが送られる構成が知られている。一般にホストＰＣから画像形成システムへ転送するデータ量を削減するために、画像データをホストＰＣ内で圧縮した符号化データを転送し、画像形成システム内で復号する。
【０００３】
近年、画像の高画質化が求められている。高画質化を達成するために、１画素を１バイト以上の階調であるものがある。これらの画像データはホストＰＣから画像形成システムに転送されるために、画像の圧縮が行なわれる。この画像圧縮の一例として、ホストＰＣがそれぞれの画素の画像データを上位側と下位側に分け、それぞれ上位側画像データと下位側画像データとし、各データを圧縮する方法が知られている。この方法によれば、上位側と下位側に分割しない場合よりも圧縮率が高くなることがあり、その場合、ホストＰＣから画像形成システムに転送する速度が速くなることになる。
【０００４】
画像形成システム内では、ホストＰＣより送信された符号データを復号する復号処理を行う。また、復元された多値画像データに対して色空間変換などの色処理を行い、色処理された多値データを記録ヘッドで出力可能な２値レベルへ変換する擬似階調処理を行う。復号処理、色処理、疑似階調処理といった画像データ処理をシステム全体の制御の中心となるシステムＬＳＩ内部で実現する場合、システムＬＳＩ外部に接続されるメインメモリを共用する構成とすることで低コスト化が可能となる。
【０００５】
例えば、復号処理、色処理、擬似階調処理それぞれに専用のシステムＬＳＩ内蔵メモリを用いる場合やシステムＬＳＩ外部に接続するメモリを複数系統持つ場合に比べ、回路規模、ＬＳＩのピン数などのハードウェア資源の削減が可能であるからである。
【０００６】
しかし、システムＬＳＩ外部のメインメモリを共用する構成においては、メインメモリのバンド幅がボトルネックとなり、画像形成コントローラの処理性能が落ちることがある。半導体プロセスの進化によってシステムＬＳＩの動作周波数を向上させても、メインメモリのバンド幅の向上が追いつかない状況では、メインメモリへのアクセス自体の削減が性能面で重要である。
【０００７】
復号処理において上方の１ラスタを参照する方式では、ある画素の復号処理に着目すると参照画素データのリードアクセスが１回発生するため、ＲＧＢ３色処理の場合では合計３回の参照画素リードアクセスが発生する。１画素８ｂｉｔを越える階調データを持つ画像データでは１画素８ｂｉｔの画像データに比較すると参照画素リードアクセスのために更に多くのメモリバンド幅が消費される。
【０００８】
復号処理における高いメモリバンド幅の要求は、復号処理そのものの性能低下、またシステムＬＳＩで実行される他の画像処理の性能低下を招くことがある。
【０００９】
システムＬＳＩ外部メモリに対する参照画素データのリードアクセスを抑制するため、例えば特許文献１には、システムＬＳＩ内部に参照ラスタ格納用バッファを備えるよう構成した例が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第３０８３４９３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
近年、画像形成システムに対し、記録画像の高画質化とともに、記録の高速化と低コスト化も強く求められている。高速化のためには、ホストＰＣから画像形成システムへ転送するデータ量を削減するために、高い圧縮率の実現が必要であるが、画像形成システム内でのデータ処理においてはシステムＬＳＩの外部メモリへのメモリアクセスの削減が必要になる。
【００１２】
これに対し、特許文献１に記載された技術では、システムＬＳＩ内にオンチップバッファを搭載することで参照画素データのリードアクセスを抑制することが可能である。しかしながら、近年市場に導入が進む、大判プリンタにおいてはチップコストに大きな影響がある。すなわち、復号処理において上方の参照ラインをオンチップバッファで格納する場合、ＲＧＢ各１６ｂｉｔを想定すると、１ラインの画素数に４８ｂｉｔを乗じた容量のメモリが要求されることになる。例えば、解像度１２００ｄｐｉ、最大記録幅６０インチに対応するには３．３Ｍｂｉｔものオンチップメモリ容量が必要となる。
【００１３】
また、参照データを用いて圧縮された画像データを復号する場合、前述した上位バイトと下位バイトに分けて圧縮する方法であると、復号するための参照データも上位と下位のバイトに分けなければならない。その場合、ＲＡＭにから上位と下位に分けてデコーダに読み込もうとすると、高速では読み込むことができない。また、高速で読み込もうとすると、上位と下位とを分割したデータにして読み込むことができず、沢山のメモリ容量が必要となる。
【００１４】
本発明は以上の点に鑑みてなされたものであり、高い圧縮率で符号化された画像データを高速かつ低コストで復号するデータ複合装置の提供を目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するための本発明は、ライン画像データの上位側データが複数結合された状態で符号化された第１の符号化データと前記ライン画像データの下位側データが複数結合された状態で符号化された第２の符号化データと前記ライン画像データの参照データが入力される入力手段と、前記参照データに基づいて、前記第１の符号化データを前記上位側データに復号するための第１の参照データと前記第２の符号化データを下位側データに復号するための第２の参照データを取得する取得手段と、前記第１の参照データに基づいて前記第１の符号化データを前記上位側データに復号する間に、前記第２の参照データに基づいて前記第２の符号化データを前記下位側データに復号する復号手段と、前記復号手段で復号された前記上位側データと前記下位側データを結合する結合手段とを備えることを特徴とする。
【発明の効果】
【００１６】
上記の構成によれば、ＲＡＭから上位側データと下位側データに分割する前の参照データを取得する。その結果、高い圧縮率で符号化された画像データを高速かつ低コストで復号することができる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施形態のインクジェット記録装置の構成概要を示す外観斜視図である。
【図２】第１の実施形態の画像形成システムとホストＰＣを示すブロック図である。
【図３】画像形成コントローラの基本データフローを説明する図である。
【図４】第１の実施形態の画像形成コントローラを示す概略ブロック図である。
【図５】第１の実施形態のデコーダを示す概略ブロック図である。
【図６】上位側データと下位側データに画像データを分割する例を示したものである。
【図７】第２の実施形態のデコーダを示す概略ブロック図である。
【図８】第２の実施形態のデコーダを示す概略ブロック図である。
【発明を実施するための形態】
【００１８】
以下に図面を参照して本発明における実施形態を詳細に説明する。
【００１９】
（第１の実施形態）
図１は、本実施形態のインクジェット記録装置の構成概要を示す外観斜視図である。記録装置２の前面に手差し挿入口８８が設けられ、その下部に前面へ開閉可能なロール紙カセット８９が設けられている。記録用紙等の記録媒体は、手差し挿入口８８またはロール紙カセット８９から記録装置内部へと供給される。インクジェット記録装置２は、２個の脚部に支持された装置本体９４、排紙された記録媒体を積載するスタッカ９０、内部が透視可能な透明で開閉可能なアッパカバー９１を備えている。また、装置本体９４の右側には、操作パネル部５、インク供給ユニット８が配設されている。操作パネル部５の裏側には制御ユニットが配設される。このような構成の記録装置２はＡ０、Ｂ０などのポスタサイズの大きな画像を記録することができる。
【００２０】
記録装置２は、記録媒体を矢印Ｂ方向（副走査方向）に搬送するための搬送ローラ７０と、記録媒体の幅方向（矢印Ａ方向、主走査方向）に往復移動可能に案内支持されたキャリッジユニット（以下、キャリッジともいう。）４を備えている。キャリッジ４にはキャリッジモータ（不図示）の駆動力がキャリッジベルト（以下、ベルトともいう。）２７０を介して伝えられ、矢印Ａ方向に往復移動する。キャリッジ４にはインクジェット記録ヘッド（以下、記録ヘッドともいう。）１１が装着される。記録ヘッド１１の吐出口の目詰まりなどによるインク吐出不良は回復ユニット９により解消される。
【００２１】
本実施形態の記録装置では、キャリッジ４には、記録媒体にカラー記録を行うために、４つのカラーインクに対応して４つのヘッドからなる記録ヘッド１１が装着されている。各々２０４８個のノズルを有した４つの記録ヘッドからは１回の吐出動作で４ｐｌのインク液滴が吐出される。また、各列２０４８個からなるノズル列は主走査方向にブラック（Ｋ）・シアン（Ｃ）・マゼンタ（Ｍ）・イエロー（Ｙ）のそれぞれのインクを吐出するノズル列として順に配列される。また、記録ヘッド１１のノズル解像度は１２００ｄｐｉである。このような構成のため、インク供給ユニット８にはKインク、Ｃインク、Ｍインク、Ｙインクをそれぞれ収容する４つのインクタンクが含まれる。
【００２２】
本実施形態の記録媒体で記録を行う場合、まず、搬送ローラ７０によって記録媒体を所定の記録開始位置まで搬送する。その後、キャリッジ４により記録ヘッド１１を主走査方向に走査させる動作と、搬送ローラ７０により記録媒体を副走査方向に搬送させる動作とを繰り返すことにより、記録媒体全体に対して記録が行われる。
【００２３】
すなわち、ベルト２７０およびキャリッジモータによってキャリッジ４が、図示された矢印Ａ方向に移動することにより、記録媒体に記録が行われる。キャリッジ４が走査される前の位置（ホームポジション）に戻されると、搬送ローラによって記録媒体が副走査方向に搬送され、その後、再び矢印Ａ方向にキャリッジを走査することにより、記録媒体に対する画像や文字等の記録が行なわれる。上記の動作を繰り返し、記録媒体の１枚分の記録が終了すると、その記録媒体はスタッカ９０内に排紙され、例えば、Ａ０サイズ１枚分の記録が完了する。
【００２４】
図２は、本実施形態の画像形成システムとホストＰＣを示すブロック図である。画像形成システムである記録装置本体１２０は、ホストＰＣ１１０と接続されている。記録装置本体１２０とホストＰＣ１１０は、ネットワーク（有線ＬＡＮ、無線ＬＡＮ）やＵＳＢ、ＩＥＥＥ１３９４等を介して接続される。画像形成システム１２０は画像形成コントローラ１２１と画像形成エンジン１２２から構成されている。画像形成コントローラ１２１はホストＰＣ１１０とのインタフェース機能と、ホストＰＣ１１０から送信された記録データを解釈し、圧縮された記録データをデコードし、画像処理を行う機能を有する。画像処理によって入力画像データを２値データへ変換して画像形成エンジンへ転送する。画像形成エンジン１２２は記録ヘッドのスキャン制御、インク吐出制御、紙送り制御等を行い、２値化された記録データを記録メディアへ記録する。
【００２５】
図３は、画像形成コントローラの基本データフローを説明する図である。ホストＰＣより圧縮符号化された符号データが入力され、復号処理２０１によってＲＧＢ多値形式の画像データが復元される。復元された画像データに対してガンマ補正処理や色空間変換処理（ＣＳＣ）などの色処理２０２が施されて、インク色（たとえばＣＭＹＫ）の多値データに変換される。さらに誤差拡散法やディザ法などを用いた疑似階調処理２０３によってインク色ごとの２値データである画像形成データに変換される。このようにして多値の画像データは画像形成エンジン（記録ヘッド）において出力可能な２値レベルに変換されている。
【００２６】
図４は、本実施形態の画像形成コントローラを示す概略ブロック図である。画像形成コントローラ１２１は、ＵＳＢインタフェース３１４を介してホストＰＣ３１５と接続されている。また、画像形成コントローラ１２１は、ＩＥＥＥ１３９４インタフェース３１７を介してホストＰＣ１１０と接続されている。さらに、画像形成コントローラ１２１は、ＬＡＮコントローラ３１９を介して複数のホストＰＣと接続されている。また、画像形成コントローラ１２１は、エンジンインタフェース３１２を介してプリンタエンジン３１３と接続される。
【００２７】
画像形成コントローラ１２１は、コントローラチップ３０２とＲＯＭ３０５、ＲＡＭ３０７、操作パネル３０９、ＩＥＥＥ１３９４インタフェース３１７、ＬＡＮコントローラ３１９、拡張インタフェース３２０から構成される。コントローラチップ３０２とＩＥＥＥ１３９４インタフェース３１７、ＵＳＢインタフェース３１４、拡張インタフェース３２０は拡張バスを介して接続されている。
【００２８】
コントローラチップ３０２はＣＰＵ３０３、ＲＯＭコントローラ３０４、ＲＡＭコントローラ３０６、データ復号装置（デコーダ）３１０、画像データ処理ブロック３１１の内部処理ブロックを搭載するシステムＬＳＩである。さらに、操作パネルインタフェース３０８、バスインタフェース３１６、ＵＳＢインタフェース３１４、エンジンインタフェース３１２の外部インタフェースを備え、各ブロックは内部バスによって相互に接続されている。
【００２９】
ＣＰＵ３０３は、ＲＯＭ３０５に格納されたプログラムに従って動作し、各種インタフェースを通じてホストＰＣ、プリンタエンジンとの通信や各部の制御を行う。ＲＯＭコントローラ３０４は、接続されたＲＯＭ３０５とのインタフェース制御を行う。ＲＡＭコントローラ３０６は、接続されたＲＡＭ３０７とのインタフェース制御を行い、ＲＡＭアクセスタイミングを制御しながら、ＣＰＵ３０３や他のブロックからの要求に従い、ＲＡＭへのデータ入出力を行う。
【００３０】
操作パネルインタフェース３０８は、操作キーやＬＥＤ、ＬＣＤを実装した操作パネル３０９とのインタフェース制御を行う。ユーザからの操作キー入力をＣＰＵ３０３へ伝え、ＣＰＵ３０３からの命令によってＬＥＤ、ＬＣＤの表示が制御される。バスインタフェース３１６は、拡張バスを制御するブロックであり、拡張バスに接続された各コントローラとの通信制御を行う。
【００３１】
デコーダ３１０は、ホストＰＣから送信される圧縮符号化された記録データを記憶メモリとして使用するＲＡＭ３０７から読み出し、デコードしてＲＡＭへ書き戻す。水平方向の隣接画素を参照する圧縮方式だけでなく、垂直方向の隣接画素を参照する方式にも対応し、圧縮コードと参照画素データをＲＡＭ３０７から読み出し、デコードを行う。
【００３２】
画像データ処理ブロック３１１は、デコーダによってデコードされたデータをＲＡＭ３０７から読み出し、各インク色のドットデータに変換し、ＲＡＭ３０７へ書き戻すブロックである。
【００３３】
エンジンインタフェース３１２は、各インク色のドットデータをＲＡＭ３０７から読み出し、プリンタエンジン３１３へ送信する制御を行う。ホストＰＣから送信される記録データは、コントローラの各インタフェースから入力される。ＬＡＮコントローラを経由して入力された記録データは拡張バスを通じてコントローラチップ３０２のバスインタフェース３１６を経由し、ＲＡＭコントローラ３０６の制御に従って、ＲＡＭ３０７へ書き込まれる。ＲＡＭ３０７へ書き込まれた記録データは、ＣＰＵ３０３によって通信プロトコルが解釈された後、デコーダ３１０へ渡され、デコードされる。デコードされた記録データは画像データ処理ブロックによって各インク色のドットデータに変換された後、エンジンインタフェース３１２を通じてプリンタエンジン３１３へ送信され、メディアに記録される。
【００３４】
図５は、図４に示すデコーダ３１０を示す概略ブロック図である。図５の示すデコーダは、ホストＰＣ１１０で符号化されたデータの復号処理を行うものである。データの符号化によりは、データは可逆的に圧縮される。特に符号化方式としてデルタロウ符号化等の水平方向および垂直方向の両方向に対する画素値の連続性を利用した符号化方式により符号化したデータの復号処理を行うものである。なお、本発明は水平方向および垂直方向の両方向の連続性を利用した符号化方式により符号化したものでなくてもよく、垂直方向の連続性のみを利用した符号化方式により符号化したものであってもよい。例えば、垂直方向の圧縮方法として、圧縮対象の画素の画素データと圧縮対象の画素の１つ前のラスタ中、横方向の位置が一致する画素の画素データとの差分を求め、同一のデータであるか否かを判断して符号化する方法を使用してもよい。
【００３５】
図６は、ホストＰＣ１１０（図２）が行うデータ生成を示したものである。１画素を２バイトで表すデータ列（ラスタデータ）６０１が、図中左から画素０、画素１、画素２、画素ｎと並んでいる。そして、画素の上位側と下位側を１バイト（８ｂｉｔ）で分割する。すなわち、１画素２バイトのデー列のｂｉｔ１５からｂｉｔ８までを上位バイトとし、各画素の上位データをＰ０Ｕ、Ｐ１Ｕ、Ｐ２Ｕ、ＰｎＵで表している。また、１画素２バイトのデー列のｂｉｔ７からｂｉｔ０までを各画素の下位バイトとし、各画素の下位データをＰ０Ｌ、Ｐ１Ｌ、Ｐ２Ｌ、ＰｎＬで表している。ホストＰＣ１１０は、上位側データ生成手段と下位側データ生成手段、符号化手段を備えている。上位側データ生成手段は、ライン画像データ（ラスタデータ）から各画素の上位データで構成される上位側バイトデータ６０２を生成する。下位側データ生成手段は、同様に、ライン画像データ（ラスタデータ）から各画素の下位データで構成される下位側バイトデータ６０３を生成する。そして符号化手段は、上位側バイトデータ６０２と下位側バイトデータ６０３の符号化を行う。ホストＰＣ１１０は、上位側バイトデータ６０２と下位側バイトデータ６０３を、ライン（ラスタ）順に画像形成システム１２０へ転送する。例えば、ホストＰＣ１１０は、＃Ｎラスタ、＃Ｎ＋１ラスタ、＃Ｎ＋２ラスタの順に転送する。なお、ホストＰＣ１１０が行う転送制御は、上述した例に限定するものではない。例えば、複数ラスタ単位で上位側バイトデータ６０２と下位側バイトデータ６０３を交互に転送する形態でも構わない。
【００３６】
本実施形態のデコーダ３１０は、符号化された圧縮符号データ列を復号処理して、それぞれの復号化されたデータを結合する。この処理により、デコーダは、データ列６０１を取得できる。
【００３７】
バスＩＦ入力制御部４０１は、内部バス、ＲＡＭコントローラ３０６を介してＲＡＭ３０７接続がされており、圧縮コードおよび参照データの入力転送に関わるバスインタフェース制御を行う。バスＩＦ出力制御部４０２は、内部バス、ＲＡＭコントローラ３０６を介してＲＡＭ３０７に接続されており、復号結果である復元画像データの出力転送に関わるバスインタフェース制御を行う。復号部Ａ４０３および復号部Ｂ４０４は、各々の入力される圧縮コードの復号処理を並列実行する。制御部４０５は、各部の状態を監視し、図示しないレジスタの設定情報、各部の状態に応じてデコーダ３１０全体の制御を行う。バスＩＦ入力制御部４０１は、例えば、＃Ｎラスタの上位側バイトデータ６０２、＃Ｎラスタの下位側バイトデータ６０３、＃Ｎラスタの参照データ、＃Ｎ＋１ラスタの上位側バイトデータ６０２、＃Ｎ＋１ラスタの下位側バイトデータ６０３、＃Ｎ＋１ラスタの参照データを順に入力する。バスＩＦ入力制御部４０１が行う入力制御は上述した順序に限定するものではなく他の順序でも構わない。バスＩＦ入力制御部４０１は、例えば、＃Ｎラスタの参照データ、＃Ｎラスタの上位側バイトデータ６０２、＃Ｎラスタの下位側バイトデータ６０３の順に入力する形態でも構わない。
【００３８】
復号部Ａ４０３は、前段の回路ブロックから、圧縮コードデータと参照データを受け取る。ここで、参照データとは、復号しようとするラスタの垂直方向に１つ上のラスタの画像データであり、１つ前の復号処理により復号された１ラスタの画像データである。すなわち、本実施形態の圧縮は、水平方向に同じ位置にある画素を垂直方向に上の画素を参照して圧縮する。したがって、復号する場合には、再び垂直方向上の画素を参照するものである。なお、１ラスタ目の参照データは、復号されたラスタデータが存在しないため、1ラスタ目は圧縮しない生データをホストＰＣから取得することで１ラスタ目の画像データとする方法を取ることがある。また、他の方法としては、予め全ての画像データが白のデータ、または全ての画像データが黒のデータ等のラスタデータを用意し、そのデータを使用してもよい。
【００３９】
圧縮コードバッファ（Ａ）部４３１は、復号部Ａの圧縮コードを一時格納して入力流量を平滑化する役割を担う小容量のバッファである。参照データバッファ（Ａ）部４３２は、復号部Ａの参照データを一時格納して入力流量を平滑化する役割を担う小容量のバッファである。復号コア（Ａ）４３３は、復号部Ａにおける復号機能を提供するもので、圧縮コード及び参照データに基づく復号処理を行って復号データを出力する。復号データバッファ（Ａ）部４３４は、復号部Ａが出力する復元データを一時格納して出力流量を平滑化する役割を担う小容量のバッファである。
【００４０】
復号部Ｂ４０４は、復号部Ａ４０３と同等の構成を持つ。すなわち、圧縮コードバッファ（Ｂ）４４１、参照データバッファ（Ｂ）４４２、復号コア（Ｂ）４４３、復号データバッファ（Ｂ）４４４から構成される。
【００４１】
圧縮コードＤＭＡＣ（Ａ）部４０６は、復号部Ａ４０３の圧縮コード入力転送に関わるＤＭＡ転送制御を行う。ここでは画素上位バイトデータ列６０２を符号化した圧縮コードデータをＲＡＭ３０７から読み出す。圧縮コードＤＭＡＣ（Ｂ）部４０７は、復号部Ｂの圧縮コード入力転送に関わるＤＭＡ転送制御を行う。ここでは画素下位バイトデータ列６０３を符号化した圧縮コードデータをＲＡＭ３０７から読み出す。参照データＤＭＡＣ部４０８は、復号部Ａおよび復号部Ｂにおける復号処理に必要となる上ラスタの１画素２バイトの画素データ６０１の入力転送に関わるＤＭＡ転送制御を行う。
【００４２】
参照データバッファ４０９は、参照データを一時格納してデータフローの平滑化を行う緩衝部として機能する小容量のバッファである。参照データ分離部４１０は、入力される１画素２バイトの画像データを上位側データと下位側データに分離する。分離されたデータ列の画素上位バイトデータ列６０２が復号部Ａ４０３へ、画素下位バイトデータ列６０３が復号部Ｂ４０４へ転送される。
【００４３】
復号部Ａ４０３および復号部Ｂ４０４へ圧縮コードと参照データを供給することによって、復号部Ａ４０３、復号部Ｂ４０４からそれぞれ復号された画素上位バイトデータ列、画素下位バイトデータ列が出力される。そして、復号データ結合部４１１で、復号部Ａ４０３および復号部Ｂ４０４から出力された復号された画素上位バイトデータ列と画素下位バイトデータ列を受け取り、結合して１画素２バイトの画素データを出力する。すなわち、図６における画素上位バイトデータ列６０２および画素下位バイトデータ列６０３を結合して６０１で表現される画素データに復元する。出力データバッファ部４１２は、復号データ結合部４１１が出力する画素データを一時格納して出力流量を平滑化する役割を担う小容量のバッファである。出力データＤＭＡＣ部４１３は、復元画像データ出力転送に関わるＤＭＡ転送制御を行う。
【００４４】
バスＩＦ入力制御部４０１においては、圧縮コードＤＭＡＣ（Ａ）４０６から発生する入力転送要求と、圧縮コードＤＭＡＣ（Ｂ）４０７から発生する入力転送要求と、参照データＤＭＡＣ４０８から発生する入力転送要求とを受ける。ラウンドロビン方式による調停を行い、転送要求元を選択・応答して転送処理を実行する。具体的には、同時発生（競合）した転送要求に対しては順番に応答するよう調停制御を行うものである。競合しない要求については順序制御を行わず、要求に速やかに応答して転送処理が行われる。バスＩＦ出力制御部４０２においては、出力転送要求は出力データＤＭＡＣ４１３からのみ発生するため、調停処理は行われない。
【００４５】
デコーダ３１０は、クロック信号に同期して動作するハードウェアである。図中に示す各ブロック間をつなぐ太い矢印は、３２ｂｉｔや６４ｂｉｔのバス幅を持つデータバスである。また、各ブロック間ではフロー制御が行われる。Ｖａｌｉｄ信号は次段のブロックへ転送するデータが準備できたことを示す。Ａｃｋ信号は前段のブロックに対してデータを受け取る準備ができたことを示す。Ｖａｌｉｄ信号とＡｃｋ信号が共に有効となったクロックサイクルでデータ転送が実際に行われる。
【００４６】
ところで、上位側画像データの圧縮コードと下位側画像データの圧縮コードで圧縮率が異なることがある。この場合、復号部Ａ４０３と復号部Ｂ４０４で並列に行われる復号動作は各クロックサイクルで同じ量のデータが復号処理されるわけではない。２つの復号コアは入力される圧縮コード、参照データの量とタイミングに従い、それぞれ独自のタイミングで並列に動作する。入力段においては、参照データ分離部４１０が上位画素データ列と下位画素データ列を同時に読み込むため、ここで上位側と下位側の復号処理の同期が取られる。仮に復号部Ａ４０３の方が、復号処理が速く進み、次の参照データが必要になっても復号部Ｂ４０４の復号処理が同一画素まで進まない場合、復号部Ｂ４０４の復号処理を待つことになる。このために、復号部Ａ４０３、復号部Ｂ４０４が備えるバッファは、各々２つのバッファを備える構成としてもよい。このような構成にすることで、復号部Ａ４０３、復号部Ｂ４０４のうちの一方が、＃Ｎラスタの復号データの出力を行う間に、復号部Ａ４０３、復号部Ｂ４０４のうちの他方が＃Ｎ＋１ラスタの符号化データの入力を行うことができる。
【００４７】
出力段においては、復号データ結合部４１１が上位画素データ列と下位画素データ列を結合してから同時に出力する必要があるため、ここで上位側と下位側の復号処理の同期が取られる。すなわち、復号部Ａ４０３の方が、復号処理が速く進み、次の復号データを出力できる状態になっても復号部Ｂ４０４の復号処理が同一画素まで進まないと、復号データ結合部４１１では下位画素復号データを待つことになる。つまり復号部Ａ４０３は復号部Ｂ４０４の復号処理が追いつくのを待つことになる。このために、復号データ結合部４１１に結合前の復号データを保持するバッファを設ける構成にしても構わない。このような構成にすることで、復号部Ａ４０３、復号部Ｂ４０４のうちの一方が、＃Ｎラスタの復号データの出力を行う間に、復号部Ａ４０３、復号部Ｂ４０４のうちの他方が＃Ｎ＋１ラスタの符号化データの入力を行うことができる。
【００４８】
また、ＲＡＭコントローラ３０６に対する他のブロック、例えば画像データ処理ブロック３１１などからのアクセス要求が競合するなどの要因で、デコーダ内のアクセス要求が待たされ、データ転送タイミングが変わることがある。このようにデータ転送タイミングが変わっても上述したような動作、すなわち、Ｖａｌｉｄ信号とＡｃｋ信号によるフロー制御とデコーダ内部の入力段、出力段で働く同期機構によって復号処理が行われる。
【００４９】
以上のように、本実施形態では、１画素２バイトの画像データを画像上位バイトデータと画像下位バイトデータとに分割して圧縮したデータを復号するときに用いる参照データは、分割したものをＲＡＭからデコーダに読み込むのではなく、分割していないデータを読み込む。そして、デコーダ内で、参照データを参照データ分離部で参照データ（Ａ）と参照データ（Ｂ）に分離して画像上位バイトデータと画像下位バイトデータのそれぞれを復号する。すなわち、参照データが分割しない元のデータであれば、ＲＡＭからデータを読み出す場合、１つのアドレスのデータである１画素１６ビットの画像データがアドレス順に高速に転送されてくることになる。また、参照データの上位側画像データと下位側画像データを個別にメモリからリードする場合に比べ、参照データのリードに必要なメモリバンド幅を大幅に削減することができる。
【００５０】
（第２の実施形態）
第２の実施形態では、第１の実施形態で説明したデコーダの機能に加え、２つの複合コアを直列に連結して、一方の復号コアの出力画像を他方の復号コアの入力参照画像として直接供給して、２ラスタを並列に復号する機能を有するデコーダに関するものである。
【００５１】
図７は、本実施形態のデコーダ３１０の構成を示す概略ブロック図である。ここでは、第１の実施形態のデコーダとの相違点を主に説明する。また、図７は第１の実施形態における図５に比べて機能ブロックが増えたことに伴い、図を簡略化するために各機能ブロック間のデータバッファは図示せず、省略している。同様に、各ブロック間のフロー制御信号（Ｖａｌｉｄ信号、Ａｃｋ信号）も省略している。
【００５２】
バスＩＦ入力制御部７０１とバスＩＦ出力制御部７０２のうち、バスＩＦ入力制御部７０１は、第１の実施形態と同様の機能を有するが、バスＩＦ出力制御部７０２は複数の出力ＤＭＡ、ここでは２つの出力ＤＭＡＣからの転送要求を受け付ける。また、ラウンドロビン方式による調停を行い、転送要求元を選択・応答して転送処理を実行する。
【００５３】
復号部Ａ７３１、復号部Ｂ７４１は、第１の実施形態の４０３、４０４と同様の機能を備えるが、本実施形態では、２つの復号部は同じ符号化方式をサポートしていることが必要条件である。
【００５４】
本実施例で特徴的なのは、追加されたセレクタ１、セレクタ２、セレクタ３を使用してデータパスを切替え、特に復号部Ａ７３１の出力を、セレクタ２を通して復号部Ｂ７４１に参照データとして入力する高速動作モードに対応したことである。また、セレクタの設定を変更し、動作させることで、第１の実施形態で示した１画素２バイトデータフォーマットの復号にも対応している。さらに制御部７０５は第１の実施形態よりも数が多く、複雑な機能ブロックを適切に設定、制御する。
【００５５】
図８（ａ）は、本実施形態の高速動作モード時のデータパスを示し、図８（ｂ）は、第１の実施形態の１画素２バイトデータの画素データに対応した高画質動作モード時のデータパスを示す。これらの図では、破線で示すデータパスおよび機能ブロックは選択されず、実線で示すデータパスが有効となり、動作するものとする。
【００５６】
すなわち、図８（ａ）では、復号部Ａ７３１へは圧縮コードＤＭＡＣ（Ａ）から圧縮コードが供給され、参照データＤＭＡＣ（Ａ）から読み込まれた参照データがセレクタ１を介して供給される。復号部Ａの出力データがセレクタ２を介して復号部Ｂ７４１の参照データとして入力される。また、復号部Ａ７３１の出力データはセレクタ３を介して出力データＤＭＡＣ（Ａ）へ入力される。
【００５７】
次に、本実施形態の特徴的な、復号部Ａ７３１と復号部Ｂ７４１の連結と並列動作について詳細に説明する。
【００５８】
復号部Ａ７３１と復号部Ｂ７４１を用いて連続する２ラスタ（＃（Ｎ＋１）と＃（Ｎ＋２））の復号処理を並列実行する。復号部Ａ７３１にはラスタ＃（Ｎ＋１）に対応する圧縮コード及び参照ラスタ＃Ｎが外部メモリであるＲＡＭ３０７から入力される。復号されたラスタ＃（Ｎ＋１）はＲＡＭ３０７へ出力されるとともに復号部Ｂ７４１へ参照ラスタ＃（Ｎ＋１）として供給される。復号部Ａ７３１と復号部Ｂ７４１は直列に連結されており、その間には参照ラスタ＃（Ｎ＋１）を一時格納する図示しない小容量のバッファを備えている。復号部Ｂ７４１には上記参照ラスタ＃（Ｎ＋１）のほかに、ラスタ＃（Ｎ＋２）に対応する圧縮コードが外部メモリであるＲＡＭ３０７より入力され、復元されたラスタ＃（Ｎ＋２）をＲＡＭ３０７へ出力する。
【００５９】
復号部Ａ７３１は内部の図示しない参照データバッファ（Ａ）部に必要量の参照データが、図示しない圧縮コードバッファ（Ａ）部に必要量の圧縮コードが、それぞれ用意されている状態でのみ動作する。また、図示しない出力データバッファ（Ａ）部に出力データ格納のために必要な空き容量が確保されていることが動作可能な条件となる。
【００６０】
同様に、復号部Ｂ７４１は、図示しない参照データバッファ（Ｂ）部に必要量の参照データが、図示しない圧縮コードバッファ（Ｂ）部に必要量の圧縮コードが、それぞれ用意されている状態でのみ動作する。また、図示しない出力データバッファ（Ｂ）部に出力データ格納のために必要な空き容量が確保されていることが動作可能な条件となる。
【００６１】
各種バッファは、入力あるいは出力転送において時間あたりの流量が十分に平滑化されるよう構成するものであり、具体的にはＲＡＭ３０７との間のデータ転送単位に対してダブルバッファ構成となる容量を備えている。データバス６４ｂｉｔの４ビート転送を想定すると６４ｂｉｔ×８段に相当する５１２ｂｉｔの容量となる。
【００６２】
復号処理において、上方の参照ラインをオンチップバッファで格納する場合、ＲＧＢ各１６ビット、解像度１２００ｄｐｉ、最大記録幅６０インチに対応するには３．３Ｍｂｉｔものメモリ容量となる。上記構成により、大容量の参照ラスタメモリをオンチップに構成することなく、連続する２ラスタの復号処理に対する外部メモリであるＲＡＭ３０７への参照ラスタアクセスを１ラスタ分に低減（半減）することが可能となる。同時に復号処理の並列化による高速データ処理を実現する。
【００６３】
本実施形態の構成を用いて、図８（ａ）に示すデータパスを選択し、必要な機能ブロックを動作させることにより、２つの復号コアを直列に連結して、一方の復号コアの出力復元画像を他方の復号コアの入力参照画像として直接供給するよう構成する。これにより、ライン単位の参照データメモリをオンチップに構成することなく効果的に外部メモリとの間のデータ入出力（要求帯域）を抑制して高速性能と低コスト化の両立を実現する。
【００６４】
図８（ｂ）では、セレクタ１、セレクタ２、セレクタ３は上述した高速動作モード時とは別の入力側を選択し、後段へ出力する。
【００６５】
復号部Ａ７３１は、参照データＤＭＡＣ（Ａ）から読み込まれた参照データが参照データ分離部７１０で分離されて、上位側画素データ列がセレクタ１を介して供給される。復号部Ａの出力データは復号データ結合部７１１へ出力される。参照データ分離部７１０で分離された下位側画素データ列が参照データとして、セレクタ２を介して復号部Ｂ７４１の参照データとして入力される。また、復号部Ａ７３１の出力データと復号部Ｂ７４１の出力データは復号データ結合部７１１に入力され、復号データ結合部７１１の出力がセレクタ３を介して出力データＤＭＡＣ（Ａ）７１５へ入力される。また、出力データＤＭＡＣ（Ｂ）７１６はこの動作モード時は停止状態にある。
【００６６】
制御部７０５の指示によって、上述のデータパスが選択され、各機能ブロックが動作することにより、第１の実施形態に示した復号動作が実現される。
【００６７】
上述したように、２つの復号コアを同一のものを用い、動作モードに応じてデータパスを切り替える機構を加えることによって、高画質動作モード、高速動作モードのいずれにおいても参照データのメモリアクセスを効果的に低減することが可能となる。本実施形態において、第１の実施形態に対して追加される機能ブロックは３つのデータパスセレクタと１つの出力データＤＭＡＣとそれに伴いバスＩＦ出力部に調停機構程度の小規模な回路増加であり、低コストで実現可能である。すなわち、高画質対応、高速処理対応を低コストで実現することができる。
【００６８】
（第３の実施形態）
上記実施形態では、復号処理において直前（１つ上）の１ラスタを参照する方式について説明した。しかしながら本発明は、上方の複数ラスタを参照する方式や処理ラスタ参照を併用する方式などに適用することもできる。
【００６９】
また、多階調画素データとして１画素２バイトで表現できる画素データや１画素１２ｂｉｔのデータを例に示したが、復号コアと付随する回路ブロックをセットとして数を増やすことにより、さらに多階調の画素データに対応するものであってもよい。回路ブロックセットを増やした場合、上記実施形態で示した２ラスタ並列処理の並列処理ラスタ数も増やすことも可能となる。
【００７０】
また、水平方向のスキャン画像を例に示したが、垂直方向（カラム方向）に画素を順次処理する場合にも適用できる。その場合、処理カラムのほかに直前の１又は複数カラムを参照する。
【００７１】
また、上記実施形態では、画像復号装置を２階調のみで画像表現するインクジェット方式を採用した画像形成システムに適用する例を挙げて説明したが、本発明は画像形成方式に依存するものではない。数階調を表現可能なインクジェット方式に適用してもよいし、電子写真方式をはじめとする他方式に適用することもできる。
【符号の説明】
【００７２】
１２１    画像コントローラ
３１０    デコーダ
３０７    ＲＡＭ
４０３    復号部Ａ
４０４    復号部Ｂ
４１０    参照データ分離部
【図１】
2012231453.tif 000003
【図２】
2012231453.tif 000004
【図３】
2012231453.tif 000005
【図４】
2012231453.tif 000006
【図５】
2012231453.tif 000007
【図６】
2012231453.tif 000008
【図７】
2012231453.tif 000009
【図８】
2012231453.tif 000010