JP2008193559A - 画像処理装置、画像処理方法、及び画像処理プログラム - Google Patents
画像処理装置、画像処理方法、及び画像処理プログラム Download PDFInfo
- Publication number
- JP2008193559A JP2008193559A JP2007027746A JP2007027746A JP2008193559A JP 2008193559 A JP2008193559 A JP 2008193559A JP 2007027746 A JP2007027746 A JP 2007027746A JP 2007027746 A JP2007027746 A JP 2007027746A JP 2008193559 A JP2008193559 A JP 2008193559A
- Authority
- JP
- Japan
- Prior art keywords
- image
- compression
- bitmap data
- data
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【課題】出力対象画像のビットマップデータを生成する処理を実行する画像処理装置であって、使用するメモリ容量を少なく抑えつつ高品質の画像出力を可能とする処理を効率よく実行できる画像処理装置、等を提供する。
【解決手段】出力対象画像の画像オブジェクトを表すコードから、画素毎に色の濃度階調値を有する圧縮された出力用ビットマップデータを生成する画像処理装置が、前記コードから、画素毎に色の濃度階調値と前記画像オブジェクトの種類を示す属性情報とを有するビットマップデータを生成する展開手段と、前記展開手段が生成したビットマップデータの、前記属性情報がイメージ画像を示す画素の領域について非可逆圧縮で圧縮し、前記属性情報がイメージ画像以外を示す画素の領域について可逆圧縮で圧縮して前記圧縮された出力用ビットマップデータを生成する圧縮手段を有する。
【選択図】 図9
【解決手段】出力対象画像の画像オブジェクトを表すコードから、画素毎に色の濃度階調値を有する圧縮された出力用ビットマップデータを生成する画像処理装置が、前記コードから、画素毎に色の濃度階調値と前記画像オブジェクトの種類を示す属性情報とを有するビットマップデータを生成する展開手段と、前記展開手段が生成したビットマップデータの、前記属性情報がイメージ画像を示す画素の領域について非可逆圧縮で圧縮し、前記属性情報がイメージ画像以外を示す画素の領域について可逆圧縮で圧縮して前記圧縮された出力用ビットマップデータを生成する圧縮手段を有する。
【選択図】 図9
Description
本発明は、出力対象画像のビットマップデータを生成する処理を実行する画像処理装置等に関し、特に、使用するメモリ容量を少なく抑えつつ高品質の画像出力を可能とする処理を効率よく実行できる画像処理装置等に関する。
通常、レーザプリンタなどのプリンタでは、印刷対象の画像データを印刷要求元のホスト装置からPDL(ページ記述言語)などで受信し、そのPDLを解釈して、画素毎に各色の濃度階調値を有する出力ビットマップデータを生成する。そして、所定のタイミングでその出力ビットマップデータに処理を施して印刷エンジンに転送していく。そのため、上記生成した出力ビットマップデータをプリンタ内のメモリに一定期間保持しておく必要があり、そのためのメモリ領域を確保する必要がある。従って、従来、メモリ容量削減のために生成した出力ビットマップデータを圧縮して保持しておくことが行われている。
かかる圧縮処理において、従来のプリンタでは、ページ全体について同じ圧縮方法を用いていた。例えば、ハフマン符号を用いた可逆圧縮法やDCT(離散コサイン変換)を用いた非可逆圧縮法などがページ全体について用いられた。
また、下記特許文献1では、画像データの圧縮について、画質劣化を抑えると共に目標圧縮率を達成するために、所定のブロック毎に圧縮方式を切り換えるなどの提案がなされている。
特開平10−51642号公報
しかしながら、ページ全体について一方法で圧縮を行う従来プリンタでは、例えば、ハフマン符号を用いた可逆圧縮を使用した場合には、文字及びグラフィクス画像については良好な圧縮率を得ることができるものの、自然画などのイメージ画像については圧縮率の低下が著しいという課題があった。また、一方法としてDCTを用いた非可逆圧縮を使用した場合には、全ての画像種類について良好な圧縮率が得られ、イメージ画像については良好な品質での画像再現が可能であるものの、文字及びグラフィクスについては、いわゆるモスキートノイズ、ブロックノイズ等の影響による画像劣化で出力品質の低下を招いていた。
また、上記特許文献1の装置では、画像データ全体を解析し、4×4画素、8×8画素のブロック単位に圧縮方式を選択し、その方式で圧縮を実行する、という処理を行うなど、複雑な処理を要し、処理に時間がかかることも懸念される。
そこで、本発明の目的は、出力対象画像のビットマップデータを生成する処理を実行する画像処理装置であって、使用するメモリ容量を少なく抑えつつ高品質の画像出力を可能とする処理を効率よく実行できる画像処理装置、等を提供することである。
上記の目的を達成するために、本発明の一つの側面は、出力対象画像の画像オブジェクトを表すコードから、画素毎に色の濃度階調値を有する圧縮された出力用ビットマップデータを生成する画像処理装置が、前記コードから、画素毎に色の濃度階調値と前記画像オブジェクトの種類を示す属性情報とを有するビットマップデータを生成する展開手段と、前記展開手段が生成したビットマップデータの、前記属性情報がイメージ画像を示す画素の領域について非可逆圧縮で圧縮し、前記属性情報がイメージ画像以外を示す画素の領域について可逆圧縮で圧縮して前記圧縮された出力用ビットマップデータを生成する圧縮手段を有することである。
更に、上記の発明において、好ましい態様は、前記展開手段が生成した所定範囲のビットマップデータについて前記圧縮手段が処理する際に、前記属性情報がイメージ画像を示す画素の領域の前記ビットマップデータに、前記所定範囲の当該領域以外の全ての画素が白色のデータを有するビットマップデータを加えた後に、前記非可逆圧縮での圧縮を行い、前記属性情報がイメージ画像以外を示す画素の領域の前記ビットマップデータに、前記所定範囲の当該領域以外の全ての画素が白色のデータを有するビットマップデータを加えた後に、前記可逆圧縮での圧縮を行うことを特徴とする。
更に、上記の発明において、好ましい態様は、前記所定範囲が矩形であり、前記非可逆圧縮での圧縮前に、前記加えた白色のデータを有するビットマップデータのうち、前記所定範囲の一方向についての両端部分のデータが削除されることを特徴とする。
更にまた、上記の発明において、好ましい態様は、前記非可逆圧縮での圧縮前に、当該圧縮の対象となるビットマップデータの前記属性情報が削除されることを特徴とする。
また、上記の発明において、好ましい態様は、前記出力対象画像が複数の範囲に分割され、当該範囲毎に前記展開手段と前記圧縮手段による処理が実行される場合に、前記範囲毎に、その範囲内にイメージ画像の画像オブジェクトが含まれるか否かを示す情報が付加され、前記圧縮手段は、当該付加された情報がイメージ画像を含まないことを示すものである場合には、前記展開手段が生成したビットマップデータを可逆圧縮で圧縮して前記圧縮された出力用ビットマップデータを生成することを特徴とする。
上記の目的を達成するために、本発明の別の側面は、出力対象画像の画像オブジェクトを表すコードから、画素毎に色の濃度階調値を有する圧縮された出力用ビットマップデータを生成する画像処理装置における画像処理方法が、前記コードから、画素毎に色の濃度階調値と前記画像オブジェクトの種類を示す属性情報とを有するビットマップデータを生成する工程と、前記生成されたビットマップデータの、前記属性情報がイメージ画像を示す画素の領域について非可逆圧縮で圧縮し、前記属性情報がイメージ画像以外を示す画素の領域について可逆圧縮で圧縮して前記圧縮された出力用ビットマップデータを生成する工程を有することである。
上記の目的を達成するために、本発明の更に別の側面は、出力対象画像の画像オブジェクトを表すコードから、画素毎に色の濃度階調値を有する圧縮された出力用ビットマップデータを生成する処理を画像処理装置に実行させる画像処理プログラムが、前記コードから、画素毎に色の濃度階調値と前記画像オブジェクトの種類を示す属性情報とを有するビットマップデータを生成する工程と、前記生成されたビットマップデータの、前記属性情報がイメージ画像を示す画素の領域について非可逆圧縮で圧縮し、前記属性情報がイメージ画像以外を示す画素の領域について可逆圧縮で圧縮して前記圧縮された出力用ビットマップデータを生成する工程を前記画像処理装置に実行させることである。
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
図1は、本発明を適用した画像処理装置を備えるプリンタの実施の形態例にかかる構成図である。図1に示すプリンタ2のコントローラ3が本発明を適用した画像処理装置である。本コントローラ3は、出力対象画像の中間コードからビットマップデータに展開する際に画素毎に画像オブジェクトの種類を示す属性情報を付加し、展開処理後の圧縮処理においては、当該属性情報に基づいて、イメージ画像領域については非可逆圧縮を用い、文字及びグラフィクス領域については可逆圧縮を用いて処理を実行し、データ保持のために使用するメモリ容量を少なく抑えつつ高品質の画像出力を可能としようとするものである。
図1に示すホストコンピュータ1は、プリンタ2に対して印刷要求を行なうホスト装置であり、ユーザ操作等に基づいてプリンタドライバ11が画像データと制御コマンドを含む印刷データを、例えば、PDLでプリンタ2に送信する。なお、ホストコンピュータ1は、所謂パーソナルコンピュータなどで構成することができる。また、プリンタドライバ11は、処理手順を指示するプログラムと、当該プログラムに従って処理を実行する制御装置等によって構成することができ、当該プログラムは、CDなどの記憶媒体からホストコンピュータ1にインストールされる、あるいは、インターネット等のネットワークを介して所定のサイトからホストコンピュータ1にダウンロードされてインストールされる。
次に、プリンタ2は、一例として4サイクルのレーザプリンタであり、図1に示すように、コントローラ3、エンジン4等で構成される。なお、プリンタ2は、インクジェットプリンタなど他の印刷方式のものであっても構わない。
コントローラ3は、前記ホストコンピュータ1から送信されるPDLによる印刷データを受信し、当該PDLを解釈して所定の画像処理を実行し、エンジン4側へ提供する信号を生成する部分である。画像処理では、PDLからのバンド毎中間コードの生成、中間コードからの展開処理、圧縮処理、伸張(解凍)処理、色変換処理、2値化処理などが実行される。図1に示すように、コントローラ3には、I/F5、CPU8、ROM6、RAM7、及びエンジンI/F9等が備えられる。
I/F5は、ホストコンピュータ1から送信される前記印刷データを受信する部分であり、ROM6は、プリンタ2を制御するための各種プログラムを記憶する部分である。また、RAM7は、前記受信した印刷データ(PDL)、中間コード、展開後のビットマップデータ、圧縮後のデータ等を格納するメモリであり、エンジン4で印刷処理が行われる各ページの画像データは、ここからエンジンI/F9に引き渡される。そして、RAM7内の、中間コード、展開後のビットマップデータ、圧縮後のデータを、それぞれ、保持する領域を、中間コードバッファ、バンドバッファ、ページバッファと呼ぶこととする。なお、中間コード、展開後のビットマップデータ、及び圧縮後のデータは、それぞれ、印刷ページを副走査方向に複数に分割した領域であるバンド毎に収められる。また、RAM7内の変数領域に、後述する、バンド内のイメージ画像が存在する領域を示す情報が収められる。
CPU8は、本プリンタ2において行われる各種処理を制御する部分であるが、特に、前記受信した印刷データの解釈、中間コードの登録、展開処理、圧縮処理等を司る。本プリンタ2では、このCPU8が実行する、中間コードの登録、展開、及び圧縮の処理に特徴があり、その具体的な内容については後述する。なお、CPU8が実行する処理は、主に前記ROM6に記憶されたプログラムに従って行われるものである。
次に、エンジンI/F9は、エンジン4で印刷を実行する際に、所定のタイミングで前述したRAM7に格納されている圧縮後のデータを読み出し、伸張処理、色変換処理、2値化処理等を実行してエンジン4に出力する信号を生成して出力する部分である。但し、イメージ画像を含むバンドについては、後述するように、イメージ画像領域と文字及びグラフィクス領域が別々に保持されているので、それらを合成する処理を実行する。この点も本プリンタ2の特徴であり、その具体的な内容については後述する。なお、エンジンI/F9は、具体的には、ASICで構成され、上記伸張したデータを格納するメモリ等を備えている。
図2は、コントローラ3の機能構成を例示した図である。言語解釈部31は、前記受信した印刷データを解釈する部分であり、中間コード登録部32は、中間コードの生成と登録を行う部分であり、展開部33は、前記展開処理を実行する部分であり、圧縮部34は、展開されたデータを圧縮する部分である。なお、これら各部は、前述したCPU8、ROM6内のプログラム、及びRAM7等で構成される。また、エンジン出力部35は、上記エンジンI/F9に相当する。
次に、エンジン4は、前記エンジンI/F9から出力される信号に従って印刷媒体に印刷処理を実行する部分であり、図示されていないが、CPU、ROM、RAM等で構成される制御部と、当該制御部の指示に従って動作する機構部が備えられる。機構部は、本実施の形態例ではレーザプリンタであるので、帯電ユニット、露光ユニット、現像装置、転写ユニット等で構成される。
以上説明したような構成を有する本実施の形態例に係るプリンタ2では、印刷を実行する際の中間コード登録処理、展開処理、圧縮処理、及びエンジン出力に特徴を有し、以下、それらの処理内容について具体的に説明する。
まず、印刷時にコントローラ3が実行する処理の全体について説明する。図3は、印刷時にコントローラ3が実行する処理を例示したフローチャートである。以下、図3に基づいて、印刷ページ、1ページ分の処理について説明する。
まず、I/F5を介して受信したPDLの印刷データを言語解釈部31が逐次読み出して解釈する(ステップS1)。PDLのデータには、印刷対象の画像オブジェクトの描画を示す画像系のコマンド、画像オブジェクト毎に設定しない、例えば、色の設定やフォントの設定などを行う、各種設定のための制御系のコマンド、及びそのページの最後を示す改ページコマンドが含まれる。
その後、解釈されたコマンドに従って、順次、中間コード登録部32がそのコマンドに対する中間コードを生成して、中間コードバッファの所定領域に登録する(ステップS2)。中間コードは、出力対象の画像を再現するために必要十分な情報を保持するデータであり、通常、ビットマップデータとして画像を記憶するのと比較してメモリ効率が高い。また、1ページの範囲は、前述したバンドの領域毎に処理が行われるため、中間コードの登録もバンド毎に行われ、そのバンドに登録されている中間コードは、そのバンドの完全な画像が再現できる情報を保持している。
そして、対象としているページの全てのコマンドについて中間コード登録が終了し、改ページのコマンドが解釈されると、展開部33が当該ページについての展開処理を実行する(ステップS3)。展開処理では、バンド毎に、各画像オブジェクトを示す中間コードが画素毎のビットマップデータに展開される。展開されたデータは、前記バンドバッファに保持される。
その後、展開されたビットマップデータは、バンド毎に、圧縮部34によって圧縮処理が施されるが、イメージ画像を含むバンドについては、イメージ画像の領域とその他の領域に画像データを分離し、その後に、それぞれについて圧縮処理を施す(ステップS4)。圧縮処理されたデータは、前記ページバッファに記憶される。
このようにして、対象ページについて圧縮処理後のビットマップデータが生成されて記憶されると、所定のタイミングで、エンジン出力部35(エンジンI/F9)により、圧縮後のデータが読み出され、画像の伸張、色変換、二値化等の各処理が実行され、エンジン4用信号が生成されてエンジン4へ出力される(ステップS5)。
以上のようにして、1ページ分のコントローラ3による処理が実行されるが、以下、本プリンタ2の特徴部分である中間コード登録処理、展開処理、圧縮処理、及びエンジン出力についてそれぞれ説明する。図4は、出力対処画像の一例を示した図である。図4の(a)がその画像例を示しており、当該画像には、Tで示す7つの文字(テキスト)、Gで示す2つの矩形(グラフィクス)、及びIで示す1つのイメージ画像が含まれている。また、図4の(b)は、当該画像の配置と前述したバンドの関係を示しており、図に示すように、当該画像は第1バンドから第5バンドに分割されて処理が行われる。以下、当該出力画像例を用いて説明する。
まず、中間コード登録処理では、前述の通り、各画像オブジェクトのコマンドからバンド毎に中間コードを登録する。すなわち、対象の画像オブジェクトが複数のバンド領域に跨って配置されている場合には、その複数のバンドのそれぞれに当該オブジェクトのそのバンド部分の中間コードを登録する。図4に示した例では、イメージ画像Iは、第2バンド、第3バンドに中間コードが登録されることになる。図5は、第3バンドに中間コードが登録される画像オブジェクトを示している。このように、第3バンドには、3つの文字(T)、1つのグラフィクス(G)、及び1つのイメージ(I)の画像オブジェクトについて中間コードが登録されることになる。
また、本プリンタ2では、バンド内にイメージ画像のオブジェクトが存在するか否かを示すフラグ(ImageFlag)を設け、中間コード登録部32は、このフラグをリセット状態で初期化し、イメージの中間コードを登録する際にそのバンドにセットする。かかる処理により、バンド内の全ての中間コードが登録された時点での当該フラグの状態により、そのバンド内のイメージ画像(イメージ領域)の有無を知ることができる。
次に、展開処理について説明する。図6は、中間コードの展開処理の手順を例示したフローチャートである。当該展開処理では、画素毎に各色の濃度階調値を有するビットマップデータを生成するが、本プリンタ2では、各画素に、更に、属性(アトリビュート)情報を付加する。属性(アトリビュート)とは、その画素(ピクセル)がいかなる画像オブジェクトとして使われているかを、すなわち、文字、グラフィクス、イメージのうちのいずれを表すのに使われているかを示すものであり、文字(0x81)、グラフィクス(0xc1)、又はイメージ(0x00)を示すアトリビュートデータが付加される。図7は、1画素の展開後データについて例示した図である。ここでは、色がRGBで表現されているものとしているが、図に示されるように、RGB各色の濃度階調値を各8ビットで、上記アトリビュートを8ビットで表現した計32ビットのデータとなっている。従って、展開後のデータを収める前記バンドバッファは、1画素当り32ビットの容量で準備される。
また、展開部33は、展開処理に先がけてバンドバッファを初期化する処理を実行する。具体的には、全画素について、「白」色のデータ(R=0xff、G=0xff、B=0xff)とグラフィクスを示すアトリビュートデータ(0xc1)を書き込んでおく。
その後、展開処理に入るが、ここでは図6に基づき1バンド分の処理について説明する。展開部33は、そのバンドに登録されている先頭の中間コードから最後の中間コードまで中間コード毎に以下の処理を行う(ステップS301〜S314)。まず、対象の中間コードを取り出し(ステップS302)、その中間コードが画像オブジェクトの描画を示すものでなく、設定系の中間コードである場合には(ステップS303のYes)、展開環境変数などの当該コードに従った設定を行う(ステップS304)。そして、当該中間コードについての処理を完了し、次の中間コードに処理が移る。
一方、取り出した中間コードがグラフィクスオブジェクトの描画を指示する中間コードである場合には(ステップS305のYes)、当該グラフィクスオブジェクトが描画される箇所の各画素について、前記展開後データを生成してバンドバッファに記憶する(ステップS309)。すなわち、RGBの階調値データにグラフィクスを示すアトリビュートデータ(0xc1)を付加してバンドバッファの所定箇所に収める。そして、当該中間コードについての処理を完了する。
また、取り出した中間コードが、文字オブジェクトの描画を指示する中間コードである場合には(ステップS306のYes)、当該文字オブジェクトが描画される箇所の各画素について、前記展開後データを生成してバンドバッファに記憶する(ステップS307)。すなわち、RGBの階調値データに文字を示すアトリビュートデータ(0x81)を付加してバンドバッファの所定箇所に収める。そして、当該中間コードについての処理を完了する。
また、取り出した中間コードが、イメージオブジェクトの描画を指示する中間コードである場合には(ステップS306のNo)、同様に、当該イメージオブジェクトが描画される箇所の各画素について、前記展開後データを生成してバンドバッファに記憶する(ステップS308)。すなわち、RGBの階調値データにイメージを示すアトリビュートデータ(0x00)を付加してバンドバッファの所定箇所に収める。
さらに、イメージの中間コードの場合には、そのバンドにおいてイメージが描画される領域の水平方向(走査方向)の範囲を知るために、そのバンド内のイメージを表す全ての画素の中で、バンド左端からの距離が最小となる画素の当該最小距離と、バンド左端からの距離が最大となる画素の当該最大距離との値をこの展開処理時にRAM7に記憶しておく。
そのため、図6のステップS310からの処理を実行する。すなわち、イメージの中間コードの展開処理を行った場合には、その処理によって追加されたイメージの画素によって、当該バンドの上記最小距離(最小値)が更新されたか否かをチェックし(ステップS310)、更新されており、記憶されている最小値を更新する必要があれば(ステップS310のYes)、上記最小距離の値(バンド左端からの最小値)を更新する(ステップS311)。一方、更新されていなければ(ステップS310のNo)、処理がステップS312に移行する。
次に、今回の展開により当該バンドの上記最大距離(最大値)が更新されたか否かをチェックし(ステップS312)、更新されており、記憶されている最大値を更新する必要があれば(ステップS312のYes)、上記最大距離の値(バンド左端からの最大値)を更新する(ステップS313)。一方、更新されていなければ(ステップS312のNo)、値の更新を行わない。そして、イメージの場合について、当該中間コードについての処理を完了する。
このようにして、そのバンドに登録されている各中間コードについて展開処理を実行し、最後の中間コードまで処理が終了すれば、当該バンドについての展開処理が完了する。
図8は、図4に示した例において展開処理後の各画素が有している上記アトリビュートの状態を示した図である。図8では、第2、第3、及び第4バンドについて、前述したImageFlagの状態も合わせて示している。図中、白色の部分がグラフィクスの属性を有する領域を示し、黒色の部分が文字の属性を有する領域を示し、網掛けの部分がイメージの属性を有する領域を示している。この例において、第2及び第3バンドについては、バンド内にイメージの領域が含まれるため、ImageFlagがセット状態であり、第4バンドについては、バンド内にイメージの領域がないため、ImageFlagがリセット状態である。
次に、圧縮処理について説明する。図9は、圧縮処理とそれに先立って行われる領域分離処理の手順について例示したフローチャートである。図9に基づき、1バンド分の処理について説明する。
まず、圧縮部34は、処理対象のバンドの前述したImageFlagがセットされているか否かをチェックし(ステップS401)、セットされていなければ(ステップS401のNo)、処理がステップS406に移行する。
一方、セットされていれば(ステップS401のYes)、領域分離の処理を行う(ステップS402)。具体的には、そのバンド内の画素が有する前記アトリビュートの情報に基づいて、イメージの領域とそれ以外の領域に分離する。
より具体的には、展開後のビットマップデータは、前述の通り、画素毎に文字、グラフィクス、又はイメージのいずれかの属性を有しているので、上記イメージの領域については、イメージの属性を有する画素を抜き出し、文字及びグラフィクスの属性を有する画素の部分は全て「白」色のデータ(R=0xff、G=0xff、B=0xff)として抜き出したイメージの部分と合わせ、バンド領域を有するイメージ領域用のデータを生成する。一方、上記それ以外の領域についても、同様に、文字又はグラフィクスの属性を有する画素を抜き出し、イメージの属性を有する画素の部分は全て「白」色のデータ(R=0xff、G=0xff、B=0xff)として抜き出した文字又はグラフィクスの部分と合わせ、バンド領域を有する文字及びグラフィクス領域用のデータを生成する。なお、アトリビュートデータについての書き換えは行わない。すなわち、両領域において各画素のアトリビュートは展開後と同様である。
図10は、領域分離後の状態を例示した図である。図10の(a)及び(b)は、それぞれ、図4に例示した第3バンドの分離後のイメージ領域とそれ以外の領域を示している。上述の通り、双方ともバンド領域のデータとなっており、Aで示す部分は、「白」色のデータとなっている。
次に、圧縮部34は、前記分離したイメージ領域のデータについて実画像部分の抽出処理を行う(ステップS403)。具体的には、イメージが存在せず白色となっているバンド領域の左右の部分を削除する。図11は、その様子を説明するための図である。図11には、図10の(a)に例示したイメージ領域が示され、この例では、元のバンド領域BAのデータのうち、イメージが存在する実画像幅Bの中央部分(実線内)以外の部分が削除される。また、この処理には、前記展開処理で記憶しておいた、バンド左端からの距離の最小値(図中のL1)とバンド左端からの距離の最大値(図中のL2)が用いられる。
また、このバンド左端からの距離の最小値及び最大値、あるいは、バンド左端からの距離の最小値及び実画像幅Bを後述する画像の再現処理のために記憶しておく。このように、イメージ領域の左右の領域を削除することで圧縮して保持しておくべきデータ量を削減することができる。
次に、圧縮部34は、上記抽出後のイメージ領域のデータからアトリビュートデータを削除する(ステップS404)。すなわち、上記抽出した画像データの各画素のアトリビュートが削除される。これにより、圧縮して保持しておくべきデータ量を更に削減することができる。
このように前処理をした上で、圧縮部34は、まず、上記処理後のイメージ領域のデータをDCTを用いた非可逆圧縮により圧縮し、ページバッファの所定箇所に記憶する(ステップS405)。
次に、圧縮部34は、上記分離したイメージ以外の領域について、R、G、B、及び、アトリビュートのプレーン毎にハフマン符号を用いた可逆圧縮により圧縮し、ページバッファの所定箇所に記憶する(ステップS406)。なお、ImageFlagがリセットの場合には(ステップS401のNo)、展開されたそのバンドのデータをそのままハフマン符号を用いた可逆圧縮により圧縮し、ページバッファの所定箇所に記憶する。
このようにして圧縮処理が実行されるが、ページバッファには、どのバンドにおいてもハフマン符号を用いた可逆圧縮で圧縮されたデータが記憶され、イメージ領域(画像)のあるバンドのみ、それに加えてDCTを用いた非可逆圧縮により圧縮されたデータが記憶される。図4に示した例では、第2及び第3バンドのみ非可逆圧縮により圧縮されたデータが記憶される。
次に、エンジン出力部35(エンジンI/F9)により行われるエンジン出力処理について説明する。図12は、本実施の形態例で想定しているレーザプリンタの場合の処理手順を例示したフローチャートである。ここでは、CMYK4色で印刷を実行する4サイクルのレーザプリンタを想定しているので、エンジン4に対しプレーン順に1ページ分の画像信号を出力する必要がある。従って、例えば、CMYKの順番に、各色(プレーン)毎にステップS502〜S506の処理を実行する(ステップS501〜S507)。
各プレーンの処理では、先頭のバンドから最終バンドまで1バンド毎にステップS503〜S505の処理を実行する(ステップS502〜S506)。
各バンドの処理では、まず、バンド画像の再現の処理を実行する(ステップS503)。当該処理は本プリンタ2での特徴部分を含んでおり詳細は後述するが、圧縮されてページバッファに収められている画像データを伸張する。イメージ領域を含むバンドについては、前述した二つの圧縮データがあるのでそれらの合成の処理も行う。
その後、RGBで表現されている各画素の色の階調値がCMYKでの表現に変換され(ステップS504)、色変換後のデータについて処理中の色のプレーンいついてのみ(例えば、Cについてのみ)二値化処理等を施してエンジンへ出力する(ステップS505)。
このようにして、エンジンへの出力処理が行われるが、上記バンド画像の再現(S503)の処理について以下に説明する。図13は、バンド画像の再現処理の手順を例示したフローチャートである。
ここでは、1バンドの処理について説明する。まず、対象バンドの、可逆圧縮された文字及びグラフィクスの領域のデータについて伸張(解凍)の処理を行う(ステップS503−1)。前述の通り、どのバンドもこの可逆圧縮されたデータを有している。そして、圧縮方法が可逆圧縮であるため伸張後は圧縮前の状態にもどる。すなわち、前記領域分離処理の終了後の状態にそのまま戻る。
次に、対象バンドにイメージ領域があるか否かをチェックし(ステップS503−2)、イメージ領域がない場合には(ステップS503−2のNo)、当該バンドの再現処理を終了する。
一方、イメージ領域がある場合には(ステップS503−2のYes)、その非可逆圧縮されたイメージ領域のデータを伸張(解凍)する(ステップS503−3)。これにより、前記圧縮処理の前の状態、すなわち、図9のS404の処理後の状態に戻るが、非可逆圧縮されているので、画像の劣化を生じしている。しかし、画像の種類が自然画等のイメージであるため伸張後もほぼ良好な品質を保持する。
その後、伸張したイメージ領域を前記伸張した文字及びグラフィクス領域と合成する(ステップS503−4)。その合成をするためには、イメージ領域の各画素に対応する文字及びグラフィクス領域の画素を決定する必要がある。言い換えれば、データ合成のための位置決めを行う必要がある。前述の通り、文字及びグラフィクス領域のデータはバンド領域のデータを有しており、また、イメージ領域のデータは左右部分を削除されたデータであり、バンド左端からの距離の最小値及び実画像幅が記憶されているので、上記位置決めを比較的容易に行うことができる。
また、実際の合成では、対応する画素について、R、G、Bのそれぞれについて論理積にて行い、合成後のデータ(画像)は文字及びグラフィクス領域のデータに書き戻す。また、文字及びグラフィクス領域のデータが有するアトリビュートデータについてはそのままとする。
以上の処理により、伸張した文字及びグラフィクス領域のデータ側に、再現されたバンド画像データが生成され、以降の前記色変換処理に用いられる。
なお、上記の説明では、レーザプリンタとして説明したが、インクジェットプリンタでは、このエンジン出力処理のタイミングは以下のようになる。図14は、インクジェットプリンタの場合の処理手順を例示したフローチャートである。インクジェットプリンタ等においては、1ページについて、バンド毎にエンジン出力を行い(ステップS601〜S607)、各バンドの処理では、ステップS602〜S606の処理が実行される。
ステップS602におけるバンド画像の再現処理では、図13に基づいて説明した再現処理が同様に実行される。その後、再現後のデータに対してCMYK色空間への色変換処理がなされ(ステップS603)、変換後のデータについて、色毎に(プレーン毎に)(ステップS604〜S606)、出力タイミングに応じて二値化処理等を施してエンジン4へ出力する(ステップS605)。
以上説明したように、本実施の形態例に係るプリンタ2のコントローラ3では、中間コードからビットマップデータに展開する際に各画素に画像種類を示すアトリビュートデータを付加し、展開後の圧縮時には、当該アトリビュートデータを用いてイメージ領域とそれ以外の領域を分離し、分離後の各領域に異なる圧縮法を適用する。また、イメージ領域についてはDCTを用いた非可逆圧縮で圧縮し、それ以外の領域についてはハフマン符号を用いた可逆圧縮で圧縮を行う。従って、文字・グラフィクス領域については品質を保持したまま画像再現ができ、また、イメージ領域についても、若干の画質劣化はあるものの概ね良好な品質を保持して画像再現ができる。また、各領域について高い圧縮率を得ることができる。更に、画像分離に画素毎に付加された上記アトリビュートデータを用いるので処理が容易であり確実な分離が行える。よって、本コントローラ3により、使用するメモリ容量を少なく抑えつつ高品質の画像出力を可能とする処理を効率よく実行できるようになる。
また、上記領域分離後、バンド領域の余白の部分を白のデータで埋めるので、伸張して合成する際に位置合わせを容易に行うことができる。
また、上記領域分離後、イメージ領域については、実画像の存在しないバンドの左右両端部を削除し、更に、アトリビュートデータについても削除してから圧縮する。従って、保持すべきデータ容量をさらに削減することができる。
また、中間コードを登録する際にイメージデータを含むバンドについては、その旨を示すフラグをセットするので、圧縮処理時に上記領域分離を行うか否かを直ぐに判断することができ、効率的な処理を図ることが可能である。
なお、本実施の実施の形態例では、ホストコンピュータ1からPDLで印刷データが送信される場合で説明したが、いわゆるホストベースプリンタシステムであって、ホストコンピュータ1側で展開、圧縮処理までを実行し、生成、圧縮されたビットマップデータをプリンタ2に送信する場合、においても本発明を適用することが可能である。この場合においては、ホストコンピュータ1のプリンタドライバ11とエンジンI/F9が本発明を適用した画像処理装置に相当し、やはり、上述のとおりの効果を得ることができる。また、圧縮後のデータの圧縮率が高いため、ホストコンピュータ1からのデータ送信量も小さく抑えることができる。
また、非可逆圧縮及び可逆圧縮の具体的な方法は一例であって、各画像種類に相応しいものであれば他の方法を用いることもできる。また、上記実施の形態例では、データがRGB表現の段階で圧縮、伸張すべき手法を用いるために、CMYKへの色変換処理をエンジン出力時に行ったが、CMYK表現で圧縮、伸張が可能な手法を用いる場合には、展開処理後にCMYK表現への色変換処理を実施し、その後に圧縮処理を行うようにすることもできる。その場合にも、圧縮、伸張については同様に行うことができる。
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
1 ホストコンピュータ、 2 プリンタ、 3 コントローラ、 4 エンジン、 5 I/F、 6 ROM、 7 RAM、 8 CPU、 9 エンジンI/F、 11 プリンタドライバ、 31 言語解釈部、 32 中間コード登録部、 33 展開部(展開手段)、 34 圧縮部(圧縮手段)、 35 エンジン出力部
Claims (7)
- 出力対象画像の画像オブジェクトを表すコードから、画素毎に色の濃度階調値を有する圧縮された出力用ビットマップデータを生成する画像処理装置であって、
前記コードから、画素毎に色の濃度階調値と前記画像オブジェクトの種類を示す属性情報とを有するビットマップデータを生成する展開手段と、
前記展開手段が生成したビットマップデータの、前記属性情報がイメージ画像を示す画素の領域について非可逆圧縮で圧縮し、前記属性情報がイメージ画像以外を示す画素の領域について可逆圧縮で圧縮して前記圧縮された出力用ビットマップデータを生成する圧縮手段を有する
ことを特徴とする画像処理装置。 - 請求項1において、
前記展開手段が生成した所定範囲のビットマップデータについて前記圧縮手段が処理する際に、
前記属性情報がイメージ画像を示す画素の領域の前記ビットマップデータに、前記所定範囲の当該領域以外の全ての画素が白色のデータを有するビットマップデータを加えた後に、前記非可逆圧縮での圧縮を行い、
前記属性情報がイメージ画像以外を示す画素の領域の前記ビットマップデータに、前記所定範囲の当該領域以外の全ての画素が白色のデータを有するビットマップデータを加えた後に、前記可逆圧縮での圧縮を行う
ことを特徴とする画像処理装置。 - 請求項2において、
前記所定範囲が矩形であり、前記非可逆圧縮での圧縮前に、前記加えた白色のデータを有するビットマップデータのうち、前記所定範囲の一方向についての両端部分のデータが削除される
ことを特徴とする画像処理装置。 - 請求項3において、
前記非可逆圧縮での圧縮前に、当該圧縮の対象となるビットマップデータの前記属性情報が削除される
ことを特徴とする画像処理装置。 - 請求項1において、
前記出力対象画像が複数の範囲に分割され、当該範囲毎に前記展開手段と前記圧縮手段による処理が実行される場合に、
前記範囲毎に、その範囲内にイメージ画像の画像オブジェクトが含まれるか否かを示す情報が付加され、
前記圧縮手段は、当該付加された情報がイメージ画像を含まないことを示すものである場合には、前記展開手段が生成したビットマップデータを可逆圧縮で圧縮して前記圧縮された出力用ビットマップデータを生成する
ことを特徴とする画像処理装置。 - 出力対象画像の画像オブジェクトを表すコードから、画素毎に色の濃度階調値を有する圧縮された出力用ビットマップデータを生成する画像処理装置における画像処理方法であって、
前記コードから、画素毎に色の濃度階調値と前記画像オブジェクトの種類を示す属性情報とを有するビットマップデータを生成する工程と、
前記生成されたビットマップデータの、前記属性情報がイメージ画像を示す画素の領域について非可逆圧縮で圧縮し、前記属性情報がイメージ画像以外を示す画素の領域について可逆圧縮で圧縮して前記圧縮された出力用ビットマップデータを生成する工程を有する
ことを特徴とする画像処理方法。 - 出力対象画像の画像オブジェクトを表すコードから、画素毎に色の濃度階調値を有する圧縮された出力用ビットマップデータを生成する処理を画像処理装置に実行させる画像処理プログラムであって、
前記コードから、画素毎に色の濃度階調値と前記画像オブジェクトの種類を示す属性情報とを有するビットマップデータを生成する工程と、
前記生成されたビットマップデータの、前記属性情報がイメージ画像を示す画素の領域について非可逆圧縮で圧縮し、前記属性情報がイメージ画像以外を示す画素の領域について可逆圧縮で圧縮して前記圧縮された出力用ビットマップデータを生成する工程を前記画像処理装置に実行させる
ことを特徴とする画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007027746A JP2008193559A (ja) | 2007-02-07 | 2007-02-07 | 画像処理装置、画像処理方法、及び画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007027746A JP2008193559A (ja) | 2007-02-07 | 2007-02-07 | 画像処理装置、画像処理方法、及び画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008193559A true JP2008193559A (ja) | 2008-08-21 |
Family
ID=39753192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007027746A Withdrawn JP2008193559A (ja) | 2007-02-07 | 2007-02-07 | 画像処理装置、画像処理方法、及び画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008193559A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010103997A (ja) * | 2008-10-22 | 2010-05-06 | Toshiba Corp | 画像圧縮装置、画像圧縮方法 |
-
2007
- 2007-02-07 JP JP2007027746A patent/JP2008193559A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010103997A (ja) * | 2008-10-22 | 2010-05-06 | Toshiba Corp | 画像圧縮装置、画像圧縮方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7692813B2 (en) | Image processing apparatus and method, and storage medium | |
US7692821B2 (en) | Image-processing apparatus and method for controlling image-processing apparatus | |
JP4817934B2 (ja) | 画像処理装置およびその方法 | |
US7612910B2 (en) | Information processing apparatus, information processing system, information output control method, storage medium and program | |
US9176935B2 (en) | Image forming apparatus capable of displaying print preview on screen | |
JP4681975B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラム、及び該プログラムが記録された記録媒体 | |
JPH111029A (ja) | カラープリントシステム,カラープリンタ,及びコンピュータが実行可能なプログラムを格納したコンピュータが読取可能な記録媒体 | |
JP5031668B2 (ja) | 印刷装置、その制御方法、プログラム | |
US20140092442A1 (en) | Image processing apparatus and image processing method | |
JP5212886B2 (ja) | 画像形成システム、及び、画像形成プログラム | |
JP2008042685A (ja) | 画像処理装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP4115294B2 (ja) | 画像処理装置およびその方法 | |
JP2008193559A (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
JP4356953B2 (ja) | 画像処理システム及び画像処理装置及びその制御方法及び記憶媒体 | |
JP4404016B2 (ja) | ドライバプログラム | |
US20090244559A1 (en) | Image rasterizing apparatus and image rasterizing method | |
JP4514168B2 (ja) | 画像処理システム及び画像処理方法 | |
JP6794834B2 (ja) | 画像処理装置及びプログラム | |
JP4412363B2 (ja) | 画像処理装置 | |
US20100208276A1 (en) | Apparatus, system, method and program for image processing | |
JP2001169120A (ja) | 画像処理装置及びその方法、及び画像処理システム | |
JP2005045342A (ja) | 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム | |
JP2009194458A (ja) | 画像処理装置及び画像処理方法 | |
JP2010183436A (ja) | 画像処理のための装置、システム、方法、プログラム | |
JP2005151065A (ja) | 画像処理装置、及び画像処理のためのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090903 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090911 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090915 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110125 |