説明

データ復号装置

【課題】高い圧縮率で符号化された画像データを高速かつ低コストで復号するデータ複合装置およびデータ復号方法を提供する。
【解決手段】ライン画像データの上位側データが複数結合された状態で符号化された第1の符号化データと前記ライン画像データの下位側データが複数結合された状態で符号化された第2の符号化データと前記ライン画像データの参照データが入力される入力手段と、前記参照データに基づいて、前記第1の符号化データを前記上位側データに復号するための第1の参照データと前記第2の符号化データを下位側データに復号するための第2の参照データを取得する取得手段と、前記第1の参照データに基づいて前記第1の符号化データを前記上位側データに復号する間に、前記第2の参照データに基づいて前記第2の符号化データを前記下位側データに復号する復号手段と、前記復号手段で復号された前記上位側データと前記下位側データを結合する結合手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ復号装置に関し、詳しくは高速な復号処理を実現するデータ復号装置に関する。
【背景技術】
【0002】
カラーで記録を行なうための画像形成システムは、ホストPCから1画素をRGB多値形式で表現した画像データが送られる構成が知られている。一般にホストPCから画像形成システムへ転送するデータ量を削減するために、画像データをホストPC内で圧縮した符号化データを転送し、画像形成システム内で復号する。
【0003】
近年、画像の高画質化が求められている。高画質化を達成するために、1画素を1バイト以上の階調であるものがある。これらの画像データはホストPCから画像形成システムに転送されるために、画像の圧縮が行なわれる。この画像圧縮の一例として、ホストPCがそれぞれの画素の画像データを上位側と下位側に分け、それぞれ上位側画像データと下位側画像データとし、各データを圧縮する方法が知られている。この方法によれば、上位側と下位側に分割しない場合よりも圧縮率が高くなることがあり、その場合、ホストPCから画像形成システムに転送する速度が速くなることになる。
【0004】
画像形成システム内では、ホストPCより送信された符号データを復号する復号処理を行う。また、復元された多値画像データに対して色空間変換などの色処理を行い、色処理された多値データを記録ヘッドで出力可能な2値レベルへ変換する擬似階調処理を行う。復号処理、色処理、疑似階調処理といった画像データ処理をシステム全体の制御の中心となるシステムLSI内部で実現する場合、システムLSI外部に接続されるメインメモリを共用する構成とすることで低コスト化が可能となる。
【0005】
例えば、復号処理、色処理、擬似階調処理それぞれに専用のシステムLSI内蔵メモリを用いる場合やシステムLSI外部に接続するメモリを複数系統持つ場合に比べ、回路規模、LSIのピン数などのハードウェア資源の削減が可能であるからである。
【0006】
しかし、システムLSI外部のメインメモリを共用する構成においては、メインメモリのバンド幅がボトルネックとなり、画像形成コントローラの処理性能が落ちることがある。半導体プロセスの進化によってシステムLSIの動作周波数を向上させても、メインメモリのバンド幅の向上が追いつかない状況では、メインメモリへのアクセス自体の削減が性能面で重要である。
【0007】
復号処理において上方の1ラスタを参照する方式では、ある画素の復号処理に着目すると参照画素データのリードアクセスが1回発生するため、RGB3色処理の場合では合計3回の参照画素リードアクセスが発生する。1画素8bitを越える階調データを持つ画像データでは1画素8bitの画像データに比較すると参照画素リードアクセスのために更に多くのメモリバンド幅が消費される。
【0008】
復号処理における高いメモリバンド幅の要求は、復号処理そのものの性能低下、またシステムLSIで実行される他の画像処理の性能低下を招くことがある。
【0009】
システムLSI外部メモリに対する参照画素データのリードアクセスを抑制するため、例えば特許文献1には、システムLSI内部に参照ラスタ格納用バッファを備えるよう構成した例が開示されている。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特許第3083493号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
近年、画像形成システムに対し、記録画像の高画質化とともに、記録の高速化と低コスト化も強く求められている。高速化のためには、ホストPCから画像形成システムへ転送するデータ量を削減するために、高い圧縮率の実現が必要であるが、画像形成システム内でのデータ処理においてはシステムLSIの外部メモリへのメモリアクセスの削減が必要になる。
【0012】
これに対し、特許文献1に記載された技術では、システムLSI内にオンチップバッファを搭載することで参照画素データのリードアクセスを抑制することが可能である。しかしながら、近年市場に導入が進む、大判プリンタにおいてはチップコストに大きな影響がある。すなわち、復号処理において上方の参照ラインをオンチップバッファで格納する場合、RGB各16bitを想定すると、1ラインの画素数に48bitを乗じた容量のメモリが要求されることになる。例えば、解像度1200dpi、最大記録幅60インチに対応するには3.3Mbitものオンチップメモリ容量が必要となる。
【0013】
また、参照データを用いて圧縮された画像データを復号する場合、前述した上位バイトと下位バイトに分けて圧縮する方法であると、復号するための参照データも上位と下位のバイトに分けなければならない。その場合、RAMにから上位と下位に分けてデコーダに読み込もうとすると、高速では読み込むことができない。また、高速で読み込もうとすると、上位と下位とを分割したデータにして読み込むことができず、沢山のメモリ容量が必要となる。
【0014】
本発明は以上の点に鑑みてなされたものであり、高い圧縮率で符号化された画像データを高速かつ低コストで復号するデータ複合装置の提供を目的とする。
【課題を解決するための手段】
【0015】
上記目的を達成するための本発明は、ライン画像データの上位側データが複数結合された状態で符号化された第1の符号化データと前記ライン画像データの下位側データが複数結合された状態で符号化された第2の符号化データと前記ライン画像データの参照データが入力される入力手段と、前記参照データに基づいて、前記第1の符号化データを前記上位側データに復号するための第1の参照データと前記第2の符号化データを下位側データに復号するための第2の参照データを取得する取得手段と、前記第1の参照データに基づいて前記第1の符号化データを前記上位側データに復号する間に、前記第2の参照データに基づいて前記第2の符号化データを前記下位側データに復号する復号手段と、前記復号手段で復号された前記上位側データと前記下位側データを結合する結合手段とを備えることを特徴とする。
【発明の効果】
【0016】
上記の構成によれば、RAMから上位側データと下位側データに分割する前の参照データを取得する。その結果、高い圧縮率で符号化された画像データを高速かつ低コストで復号することができる。
【図面の簡単な説明】
【0017】
【図1】第1の実施形態のインクジェット記録装置の構成概要を示す外観斜視図である。
【図2】第1の実施形態の画像形成システムとホストPCを示すブロック図である。
【図3】画像形成コントローラの基本データフローを説明する図である。
【図4】第1の実施形態の画像形成コントローラを示す概略ブロック図である。
【図5】第1の実施形態のデコーダを示す概略ブロック図である。
【図6】上位側データと下位側データに画像データを分割する例を示したものである。
【図7】第2の実施形態のデコーダを示す概略ブロック図である。
【図8】第2の実施形態のデコーダを示す概略ブロック図である。
【発明を実施するための形態】
【0018】
以下に図面を参照して本発明における実施形態を詳細に説明する。
【0019】
(第1の実施形態)
図1は、本実施形態のインクジェット記録装置の構成概要を示す外観斜視図である。記録装置2の前面に手差し挿入口88が設けられ、その下部に前面へ開閉可能なロール紙カセット89が設けられている。記録用紙等の記録媒体は、手差し挿入口88またはロール紙カセット89から記録装置内部へと供給される。インクジェット記録装置2は、2個の脚部に支持された装置本体94、排紙された記録媒体を積載するスタッカ90、内部が透視可能な透明で開閉可能なアッパカバー91を備えている。また、装置本体94の右側には、操作パネル部5、インク供給ユニット8が配設されている。操作パネル部5の裏側には制御ユニットが配設される。このような構成の記録装置2はA0、B0などのポスタサイズの大きな画像を記録することができる。
【0020】
記録装置2は、記録媒体を矢印B方向(副走査方向)に搬送するための搬送ローラ70と、記録媒体の幅方向(矢印A方向、主走査方向)に往復移動可能に案内支持されたキャリッジユニット(以下、キャリッジともいう。)4を備えている。キャリッジ4にはキャリッジモータ(不図示)の駆動力がキャリッジベルト(以下、ベルトともいう。)270を介して伝えられ、矢印A方向に往復移動する。キャリッジ4にはインクジェット記録ヘッド(以下、記録ヘッドともいう。)11が装着される。記録ヘッド11の吐出口の目詰まりなどによるインク吐出不良は回復ユニット9により解消される。
【0021】
本実施形態の記録装置では、キャリッジ4には、記録媒体にカラー記録を行うために、4つのカラーインクに対応して4つのヘッドからなる記録ヘッド11が装着されている。各々2048個のノズルを有した4つの記録ヘッドからは1回の吐出動作で4plのインク液滴が吐出される。また、各列2048個からなるノズル列は主走査方向にブラック(K)・シアン(C)・マゼンタ(M)・イエロー(Y)のそれぞれのインクを吐出するノズル列として順に配列される。また、記録ヘッド11のノズル解像度は1200dpiである。このような構成のため、インク供給ユニット8にはKインク、Cインク、Mインク、Yインクをそれぞれ収容する4つのインクタンクが含まれる。
【0022】
本実施形態の記録媒体で記録を行う場合、まず、搬送ローラ70によって記録媒体を所定の記録開始位置まで搬送する。その後、キャリッジ4により記録ヘッド11を主走査方向に走査させる動作と、搬送ローラ70により記録媒体を副走査方向に搬送させる動作とを繰り返すことにより、記録媒体全体に対して記録が行われる。
【0023】
すなわち、ベルト270およびキャリッジモータによってキャリッジ4が、図示された矢印A方向に移動することにより、記録媒体に記録が行われる。キャリッジ4が走査される前の位置(ホームポジション)に戻されると、搬送ローラによって記録媒体が副走査方向に搬送され、その後、再び矢印A方向にキャリッジを走査することにより、記録媒体に対する画像や文字等の記録が行なわれる。上記の動作を繰り返し、記録媒体の1枚分の記録が終了すると、その記録媒体はスタッカ90内に排紙され、例えば、A0サイズ1枚分の記録が完了する。
【0024】
図2は、本実施形態の画像形成システムとホストPCを示すブロック図である。画像形成システムである記録装置本体120は、ホストPC110と接続されている。記録装置本体120とホストPC110は、ネットワーク(有線LAN、無線LAN)やUSB、IEEE1394等を介して接続される。画像形成システム120は画像形成コントローラ121と画像形成エンジン122から構成されている。画像形成コントローラ121はホストPC110とのインタフェース機能と、ホストPC110から送信された記録データを解釈し、圧縮された記録データをデコードし、画像処理を行う機能を有する。画像処理によって入力画像データを2値データへ変換して画像形成エンジンへ転送する。画像形成エンジン122は記録ヘッドのスキャン制御、インク吐出制御、紙送り制御等を行い、2値化された記録データを記録メディアへ記録する。
【0025】
図3は、画像形成コントローラの基本データフローを説明する図である。ホストPCより圧縮符号化された符号データが入力され、復号処理201によってRGB多値形式の画像データが復元される。復元された画像データに対してガンマ補正処理や色空間変換処理(CSC)などの色処理202が施されて、インク色(たとえばCMYK)の多値データに変換される。さらに誤差拡散法やディザ法などを用いた疑似階調処理203によってインク色ごとの2値データである画像形成データに変換される。このようにして多値の画像データは画像形成エンジン(記録ヘッド)において出力可能な2値レベルに変換されている。
【0026】
図4は、本実施形態の画像形成コントローラを示す概略ブロック図である。画像形成コントローラ121は、USBインタフェース314を介してホストPC315と接続されている。また、画像形成コントローラ121は、IEEE1394インタフェース317を介してホストPC110と接続されている。さらに、画像形成コントローラ121は、LANコントローラ319を介して複数のホストPCと接続されている。また、画像形成コントローラ121は、エンジンインタフェース312を介してプリンタエンジン313と接続される。
【0027】
画像形成コントローラ121は、コントローラチップ302とROM305、RAM307、操作パネル309、IEEE1394インタフェース317、LANコントローラ319、拡張インタフェース320から構成される。コントローラチップ302とIEEE1394インタフェース317、USBインタフェース314、拡張インタフェース320は拡張バスを介して接続されている。
【0028】
コントローラチップ302はCPU303、ROMコントローラ304、RAMコントローラ306、データ復号装置(デコーダ)310、画像データ処理ブロック311の内部処理ブロックを搭載するシステムLSIである。さらに、操作パネルインタフェース308、バスインタフェース316、USBインタフェース314、エンジンインタフェース312の外部インタフェースを備え、各ブロックは内部バスによって相互に接続されている。
【0029】
CPU303は、ROM305に格納されたプログラムに従って動作し、各種インタフェースを通じてホストPC、プリンタエンジンとの通信や各部の制御を行う。ROMコントローラ304は、接続されたROM305とのインタフェース制御を行う。RAMコントローラ306は、接続されたRAM307とのインタフェース制御を行い、RAMアクセスタイミングを制御しながら、CPU303や他のブロックからの要求に従い、RAMへのデータ入出力を行う。
【0030】
操作パネルインタフェース308は、操作キーやLED、LCDを実装した操作パネル309とのインタフェース制御を行う。ユーザからの操作キー入力をCPU303へ伝え、CPU303からの命令によってLED、LCDの表示が制御される。バスインタフェース316は、拡張バスを制御するブロックであり、拡張バスに接続された各コントローラとの通信制御を行う。
【0031】
デコーダ310は、ホストPCから送信される圧縮符号化された記録データを記憶メモリとして使用するRAM307から読み出し、デコードしてRAMへ書き戻す。水平方向の隣接画素を参照する圧縮方式だけでなく、垂直方向の隣接画素を参照する方式にも対応し、圧縮コードと参照画素データをRAM307から読み出し、デコードを行う。
【0032】
画像データ処理ブロック311は、デコーダによってデコードされたデータをRAM307から読み出し、各インク色のドットデータに変換し、RAM307へ書き戻すブロックである。
【0033】
エンジンインタフェース312は、各インク色のドットデータをRAM307から読み出し、プリンタエンジン313へ送信する制御を行う。ホストPCから送信される記録データは、コントローラの各インタフェースから入力される。LANコントローラを経由して入力された記録データは拡張バスを通じてコントローラチップ302のバスインタフェース316を経由し、RAMコントローラ306の制御に従って、RAM307へ書き込まれる。RAM307へ書き込まれた記録データは、CPU303によって通信プロトコルが解釈された後、デコーダ310へ渡され、デコードされる。デコードされた記録データは画像データ処理ブロックによって各インク色のドットデータに変換された後、エンジンインタフェース312を通じてプリンタエンジン313へ送信され、メディアに記録される。
【0034】
図5は、図4に示すデコーダ310を示す概略ブロック図である。図5の示すデコーダは、ホストPC110で符号化されたデータの復号処理を行うものである。データの符号化によりは、データは可逆的に圧縮される。特に符号化方式としてデルタロウ符号化等の水平方向および垂直方向の両方向に対する画素値の連続性を利用した符号化方式により符号化したデータの復号処理を行うものである。なお、本発明は水平方向および垂直方向の両方向の連続性を利用した符号化方式により符号化したものでなくてもよく、垂直方向の連続性のみを利用した符号化方式により符号化したものであってもよい。例えば、垂直方向の圧縮方法として、圧縮対象の画素の画素データと圧縮対象の画素の1つ前のラスタ中、横方向の位置が一致する画素の画素データとの差分を求め、同一のデータであるか否かを判断して符号化する方法を使用してもよい。
【0035】
図6は、ホストPC110(図2)が行うデータ生成を示したものである。1画素を2バイトで表すデータ列(ラスタデータ)601が、図中左から画素0、画素1、画素2、画素nと並んでいる。そして、画素の上位側と下位側を1バイト(8bit)で分割する。すなわち、1画素2バイトのデー列のbit15からbit8までを上位バイトとし、各画素の上位データをP0U、P1U、P2U、PnUで表している。また、1画素2バイトのデー列のbit7からbit0までを各画素の下位バイトとし、各画素の下位データをP0L、P1L、P2L、PnLで表している。ホストPC110は、上位側データ生成手段と下位側データ生成手段、符号化手段を備えている。上位側データ生成手段は、ライン画像データ(ラスタデータ)から各画素の上位データで構成される上位側バイトデータ602を生成する。下位側データ生成手段は、同様に、ライン画像データ(ラスタデータ)から各画素の下位データで構成される下位側バイトデータ603を生成する。そして符号化手段は、上位側バイトデータ602と下位側バイトデータ603の符号化を行う。ホストPC110は、上位側バイトデータ602と下位側バイトデータ603を、ライン(ラスタ)順に画像形成システム120へ転送する。例えば、ホストPC110は、#Nラスタ、#N+1ラスタ、#N+2ラスタの順に転送する。なお、ホストPC110が行う転送制御は、上述した例に限定するものではない。例えば、複数ラスタ単位で上位側バイトデータ602と下位側バイトデータ603を交互に転送する形態でも構わない。
【0036】
本実施形態のデコーダ310は、符号化された圧縮符号データ列を復号処理して、それぞれの復号化されたデータを結合する。この処理により、デコーダは、データ列601を取得できる。
【0037】
バスIF入力制御部401は、内部バス、RAMコントローラ306を介してRAM307接続がされており、圧縮コードおよび参照データの入力転送に関わるバスインタフェース制御を行う。バスIF出力制御部402は、内部バス、RAMコントローラ306を介してRAM307に接続されており、復号結果である復元画像データの出力転送に関わるバスインタフェース制御を行う。復号部A403および復号部B404は、各々の入力される圧縮コードの復号処理を並列実行する。制御部405は、各部の状態を監視し、図示しないレジスタの設定情報、各部の状態に応じてデコーダ310全体の制御を行う。バスIF入力制御部401は、例えば、#Nラスタの上位側バイトデータ602、#Nラスタの下位側バイトデータ603、#Nラスタの参照データ、#N+1ラスタの上位側バイトデータ602、#N+1ラスタの下位側バイトデータ603、#N+1ラスタの参照データを順に入力する。バスIF入力制御部401が行う入力制御は上述した順序に限定するものではなく他の順序でも構わない。バスIF入力制御部401は、例えば、#Nラスタの参照データ、#Nラスタの上位側バイトデータ602、#Nラスタの下位側バイトデータ603の順に入力する形態でも構わない。
【0038】
復号部A403は、前段の回路ブロックから、圧縮コードデータと参照データを受け取る。ここで、参照データとは、復号しようとするラスタの垂直方向に1つ上のラスタの画像データであり、1つ前の復号処理により復号された1ラスタの画像データである。すなわち、本実施形態の圧縮は、水平方向に同じ位置にある画素を垂直方向に上の画素を参照して圧縮する。したがって、復号する場合には、再び垂直方向上の画素を参照するものである。なお、1ラスタ目の参照データは、復号されたラスタデータが存在しないため、1ラスタ目は圧縮しない生データをホストPCから取得することで1ラスタ目の画像データとする方法を取ることがある。また、他の方法としては、予め全ての画像データが白のデータ、または全ての画像データが黒のデータ等のラスタデータを用意し、そのデータを使用してもよい。
【0039】
圧縮コードバッファ(A)部431は、復号部Aの圧縮コードを一時格納して入力流量を平滑化する役割を担う小容量のバッファである。参照データバッファ(A)部432は、復号部Aの参照データを一時格納して入力流量を平滑化する役割を担う小容量のバッファである。復号コア(A)433は、復号部Aにおける復号機能を提供するもので、圧縮コード及び参照データに基づく復号処理を行って復号データを出力する。復号データバッファ(A)部434は、復号部Aが出力する復元データを一時格納して出力流量を平滑化する役割を担う小容量のバッファである。
【0040】
復号部B404は、復号部A403と同等の構成を持つ。すなわち、圧縮コードバッファ(B)441、参照データバッファ(B)442、復号コア(B)443、復号データバッファ(B)444から構成される。
【0041】
圧縮コードDMAC(A)部406は、復号部A403の圧縮コード入力転送に関わるDMA転送制御を行う。ここでは画素上位バイトデータ列602を符号化した圧縮コードデータをRAM307から読み出す。圧縮コードDMAC(B)部407は、復号部Bの圧縮コード入力転送に関わるDMA転送制御を行う。ここでは画素下位バイトデータ列603を符号化した圧縮コードデータをRAM307から読み出す。参照データDMAC部408は、復号部Aおよび復号部Bにおける復号処理に必要となる上ラスタの1画素2バイトの画素データ601の入力転送に関わるDMA転送制御を行う。
【0042】
参照データバッファ409は、参照データを一時格納してデータフローの平滑化を行う緩衝部として機能する小容量のバッファである。参照データ分離部410は、入力される1画素2バイトの画像データを上位側データと下位側データに分離する。分離されたデータ列の画素上位バイトデータ列602が復号部A403へ、画素下位バイトデータ列603が復号部B404へ転送される。
【0043】
復号部A403および復号部B404へ圧縮コードと参照データを供給することによって、復号部A403、復号部B404からそれぞれ復号された画素上位バイトデータ列、画素下位バイトデータ列が出力される。そして、復号データ結合部411で、復号部A403および復号部B404から出力された復号された画素上位バイトデータ列と画素下位バイトデータ列を受け取り、結合して1画素2バイトの画素データを出力する。すなわち、図6における画素上位バイトデータ列602および画素下位バイトデータ列603を結合して601で表現される画素データに復元する。出力データバッファ部412は、復号データ結合部411が出力する画素データを一時格納して出力流量を平滑化する役割を担う小容量のバッファである。出力データDMAC部413は、復元画像データ出力転送に関わるDMA転送制御を行う。
【0044】
バスIF入力制御部401においては、圧縮コードDMAC(A)406から発生する入力転送要求と、圧縮コードDMAC(B)407から発生する入力転送要求と、参照データDMAC408から発生する入力転送要求とを受ける。ラウンドロビン方式による調停を行い、転送要求元を選択・応答して転送処理を実行する。具体的には、同時発生(競合)した転送要求に対しては順番に応答するよう調停制御を行うものである。競合しない要求については順序制御を行わず、要求に速やかに応答して転送処理が行われる。バスIF出力制御部402においては、出力転送要求は出力データDMAC413からのみ発生するため、調停処理は行われない。
【0045】
デコーダ310は、クロック信号に同期して動作するハードウェアである。図中に示す各ブロック間をつなぐ太い矢印は、32bitや64bitのバス幅を持つデータバスである。また、各ブロック間ではフロー制御が行われる。Valid信号は次段のブロックへ転送するデータが準備できたことを示す。Ack信号は前段のブロックに対してデータを受け取る準備ができたことを示す。Valid信号とAck信号が共に有効となったクロックサイクルでデータ転送が実際に行われる。
【0046】
ところで、上位側画像データの圧縮コードと下位側画像データの圧縮コードで圧縮率が異なることがある。この場合、復号部A403と復号部B404で並列に行われる復号動作は各クロックサイクルで同じ量のデータが復号処理されるわけではない。2つの復号コアは入力される圧縮コード、参照データの量とタイミングに従い、それぞれ独自のタイミングで並列に動作する。入力段においては、参照データ分離部410が上位画素データ列と下位画素データ列を同時に読み込むため、ここで上位側と下位側の復号処理の同期が取られる。仮に復号部A403の方が、復号処理が速く進み、次の参照データが必要になっても復号部B404の復号処理が同一画素まで進まない場合、復号部B404の復号処理を待つことになる。このために、復号部A403、復号部B404が備えるバッファは、各々2つのバッファを備える構成としてもよい。このような構成にすることで、復号部A403、復号部B404のうちの一方が、#Nラスタの復号データの出力を行う間に、復号部A403、復号部B404のうちの他方が#N+1ラスタの符号化データの入力を行うことができる。
【0047】
出力段においては、復号データ結合部411が上位画素データ列と下位画素データ列を結合してから同時に出力する必要があるため、ここで上位側と下位側の復号処理の同期が取られる。すなわち、復号部A403の方が、復号処理が速く進み、次の復号データを出力できる状態になっても復号部B404の復号処理が同一画素まで進まないと、復号データ結合部411では下位画素復号データを待つことになる。つまり復号部A403は復号部B404の復号処理が追いつくのを待つことになる。このために、復号データ結合部411に結合前の復号データを保持するバッファを設ける構成にしても構わない。このような構成にすることで、復号部A403、復号部B404のうちの一方が、#Nラスタの復号データの出力を行う間に、復号部A403、復号部B404のうちの他方が#N+1ラスタの符号化データの入力を行うことができる。
【0048】
また、RAMコントローラ306に対する他のブロック、例えば画像データ処理ブロック311などからのアクセス要求が競合するなどの要因で、デコーダ内のアクセス要求が待たされ、データ転送タイミングが変わることがある。このようにデータ転送タイミングが変わっても上述したような動作、すなわち、Valid信号とAck信号によるフロー制御とデコーダ内部の入力段、出力段で働く同期機構によって復号処理が行われる。
【0049】
以上のように、本実施形態では、1画素2バイトの画像データを画像上位バイトデータと画像下位バイトデータとに分割して圧縮したデータを復号するときに用いる参照データは、分割したものをRAMからデコーダに読み込むのではなく、分割していないデータを読み込む。そして、デコーダ内で、参照データを参照データ分離部で参照データ(A)と参照データ(B)に分離して画像上位バイトデータと画像下位バイトデータのそれぞれを復号する。すなわち、参照データが分割しない元のデータであれば、RAMからデータを読み出す場合、1つのアドレスのデータである1画素16ビットの画像データがアドレス順に高速に転送されてくることになる。また、参照データの上位側画像データと下位側画像データを個別にメモリからリードする場合に比べ、参照データのリードに必要なメモリバンド幅を大幅に削減することができる。
【0050】
(第2の実施形態)
第2の実施形態では、第1の実施形態で説明したデコーダの機能に加え、2つの複合コアを直列に連結して、一方の復号コアの出力画像を他方の復号コアの入力参照画像として直接供給して、2ラスタを並列に復号する機能を有するデコーダに関するものである。
【0051】
図7は、本実施形態のデコーダ310の構成を示す概略ブロック図である。ここでは、第1の実施形態のデコーダとの相違点を主に説明する。また、図7は第1の実施形態における図5に比べて機能ブロックが増えたことに伴い、図を簡略化するために各機能ブロック間のデータバッファは図示せず、省略している。同様に、各ブロック間のフロー制御信号(Valid信号、Ack信号)も省略している。
【0052】
バスIF入力制御部701とバスIF出力制御部702のうち、バスIF入力制御部701は、第1の実施形態と同様の機能を有するが、バスIF出力制御部702は複数の出力DMA、ここでは2つの出力DMACからの転送要求を受け付ける。また、ラウンドロビン方式による調停を行い、転送要求元を選択・応答して転送処理を実行する。
【0053】
復号部A731、復号部B741は、第1の実施形態の403、404と同様の機能を備えるが、本実施形態では、2つの復号部は同じ符号化方式をサポートしていることが必要条件である。
【0054】
本実施例で特徴的なのは、追加されたセレクタ1、セレクタ2、セレクタ3を使用してデータパスを切替え、特に復号部A731の出力を、セレクタ2を通して復号部B741に参照データとして入力する高速動作モードに対応したことである。また、セレクタの設定を変更し、動作させることで、第1の実施形態で示した1画素2バイトデータフォーマットの復号にも対応している。さらに制御部705は第1の実施形態よりも数が多く、複雑な機能ブロックを適切に設定、制御する。
【0055】
図8(a)は、本実施形態の高速動作モード時のデータパスを示し、図8(b)は、第1の実施形態の1画素2バイトデータの画素データに対応した高画質動作モード時のデータパスを示す。これらの図では、破線で示すデータパスおよび機能ブロックは選択されず、実線で示すデータパスが有効となり、動作するものとする。
【0056】
すなわち、図8(a)では、復号部A731へは圧縮コードDMAC(A)から圧縮コードが供給され、参照データDMAC(A)から読み込まれた参照データがセレクタ1を介して供給される。復号部Aの出力データがセレクタ2を介して復号部B741の参照データとして入力される。また、復号部A731の出力データはセレクタ3を介して出力データDMAC(A)へ入力される。
【0057】
次に、本実施形態の特徴的な、復号部A731と復号部B741の連結と並列動作について詳細に説明する。
【0058】
復号部A731と復号部B741を用いて連続する2ラスタ(#(N+1)と#(N+2))の復号処理を並列実行する。復号部A731にはラスタ#(N+1)に対応する圧縮コード及び参照ラスタ#Nが外部メモリであるRAM307から入力される。復号されたラスタ#(N+1)はRAM307へ出力されるとともに復号部B741へ参照ラスタ#(N+1)として供給される。復号部A731と復号部B741は直列に連結されており、その間には参照ラスタ#(N+1)を一時格納する図示しない小容量のバッファを備えている。復号部B741には上記参照ラスタ#(N+1)のほかに、ラスタ#(N+2)に対応する圧縮コードが外部メモリであるRAM307より入力され、復元されたラスタ#(N+2)をRAM307へ出力する。
【0059】
復号部A731は内部の図示しない参照データバッファ(A)部に必要量の参照データが、図示しない圧縮コードバッファ(A)部に必要量の圧縮コードが、それぞれ用意されている状態でのみ動作する。また、図示しない出力データバッファ(A)部に出力データ格納のために必要な空き容量が確保されていることが動作可能な条件となる。
【0060】
同様に、復号部B741は、図示しない参照データバッファ(B)部に必要量の参照データが、図示しない圧縮コードバッファ(B)部に必要量の圧縮コードが、それぞれ用意されている状態でのみ動作する。また、図示しない出力データバッファ(B)部に出力データ格納のために必要な空き容量が確保されていることが動作可能な条件となる。
【0061】
各種バッファは、入力あるいは出力転送において時間あたりの流量が十分に平滑化されるよう構成するものであり、具体的にはRAM307との間のデータ転送単位に対してダブルバッファ構成となる容量を備えている。データバス64bitの4ビート転送を想定すると64bit×8段に相当する512bitの容量となる。
【0062】
復号処理において、上方の参照ラインをオンチップバッファで格納する場合、RGB各16ビット、解像度1200dpi、最大記録幅60インチに対応するには3.3Mbitものメモリ容量となる。上記構成により、大容量の参照ラスタメモリをオンチップに構成することなく、連続する2ラスタの復号処理に対する外部メモリであるRAM307への参照ラスタアクセスを1ラスタ分に低減(半減)することが可能となる。同時に復号処理の並列化による高速データ処理を実現する。
【0063】
本実施形態の構成を用いて、図8(a)に示すデータパスを選択し、必要な機能ブロックを動作させることにより、2つの復号コアを直列に連結して、一方の復号コアの出力復元画像を他方の復号コアの入力参照画像として直接供給するよう構成する。これにより、ライン単位の参照データメモリをオンチップに構成することなく効果的に外部メモリとの間のデータ入出力(要求帯域)を抑制して高速性能と低コスト化の両立を実現する。
【0064】
図8(b)では、セレクタ1、セレクタ2、セレクタ3は上述した高速動作モード時とは別の入力側を選択し、後段へ出力する。
【0065】
復号部A731は、参照データDMAC(A)から読み込まれた参照データが参照データ分離部710で分離されて、上位側画素データ列がセレクタ1を介して供給される。復号部Aの出力データは復号データ結合部711へ出力される。参照データ分離部710で分離された下位側画素データ列が参照データとして、セレクタ2を介して復号部B741の参照データとして入力される。また、復号部A731の出力データと復号部B741の出力データは復号データ結合部711に入力され、復号データ結合部711の出力がセレクタ3を介して出力データDMAC(A)715へ入力される。また、出力データDMAC(B)716はこの動作モード時は停止状態にある。
【0066】
制御部705の指示によって、上述のデータパスが選択され、各機能ブロックが動作することにより、第1の実施形態に示した復号動作が実現される。
【0067】
上述したように、2つの復号コアを同一のものを用い、動作モードに応じてデータパスを切り替える機構を加えることによって、高画質動作モード、高速動作モードのいずれにおいても参照データのメモリアクセスを効果的に低減することが可能となる。本実施形態において、第1の実施形態に対して追加される機能ブロックは3つのデータパスセレクタと1つの出力データDMACとそれに伴いバスIF出力部に調停機構程度の小規模な回路増加であり、低コストで実現可能である。すなわち、高画質対応、高速処理対応を低コストで実現することができる。
【0068】
(第3の実施形態)
上記実施形態では、復号処理において直前(1つ上)の1ラスタを参照する方式について説明した。しかしながら本発明は、上方の複数ラスタを参照する方式や処理ラスタ参照を併用する方式などに適用することもできる。
【0069】
また、多階調画素データとして1画素2バイトで表現できる画素データや1画素12bitのデータを例に示したが、復号コアと付随する回路ブロックをセットとして数を増やすことにより、さらに多階調の画素データに対応するものであってもよい。回路ブロックセットを増やした場合、上記実施形態で示した2ラスタ並列処理の並列処理ラスタ数も増やすことも可能となる。
【0070】
また、水平方向のスキャン画像を例に示したが、垂直方向(カラム方向)に画素を順次処理する場合にも適用できる。その場合、処理カラムのほかに直前の1又は複数カラムを参照する。
【0071】
また、上記実施形態では、画像復号装置を2階調のみで画像表現するインクジェット方式を採用した画像形成システムに適用する例を挙げて説明したが、本発明は画像形成方式に依存するものではない。数階調を表現可能なインクジェット方式に適用してもよいし、電子写真方式をはじめとする他方式に適用することもできる。
【符号の説明】
【0072】
121 画像コントローラ
310 デコーダ
307 RAM
403 復号部A
404 復号部B
410 参照データ分離部

【特許請求の範囲】
【請求項1】
ライン画像データの上位側データが複数結合された状態で符号化された第1の符号化データと前記ライン画像データの下位側データが複数結合された状態で符号化された第2の符号化データと前記ライン画像データの参照データが入力される入力手段と、
前記参照データに基づいて、前記第1の符号化データを前記上位側データに復号するための第1の参照データと前記第2の符号化データを下位側データに復号するための第2の参照データを取得する取得手段と、
前記第1の参照データに基づいて前記第1の符号化データを前記上位側データに復号する間に、前記第2の参照データに基づいて前記第2の符号化データを前記下位側データに復号する復号手段と、
前記復号手段で復号された前記上位側データと前記下位側データを結合する結合手段とを備えることを特徴とするデータ復号装置。
【請求項2】
前記復号手段は、前記第1の符号化データの復号と前記第2の符号化データの復号を独立して行うことを特徴とする請求項1に記載のデータ復号装置。
【請求項3】
前記取得手段は、前記参照データを前記第1の参照データと第2の参照データとに分割する分割手段を備えることを特徴とする請求項1に記載のデータ復号装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−231453(P2012−231453A)
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願番号】特願2012−68971(P2012−68971)
【出願日】平成24年3月26日(2012.3.26)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】