JP2013121154A - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP2013121154A JP2013121154A JP2011269530A JP2011269530A JP2013121154A JP 2013121154 A JP2013121154 A JP 2013121154A JP 2011269530 A JP2011269530 A JP 2011269530A JP 2011269530 A JP2011269530 A JP 2011269530A JP 2013121154 A JP2013121154 A JP 2013121154A
- Authority
- JP
- Japan
- Prior art keywords
- data
- attribute information
- encoding
- image
- flag
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 96
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 abstract description 68
- 238000007906 compression Methods 0.000 abstract description 57
- 230000006835 compression Effects 0.000 abstract description 56
- 239000000872 buffer Substances 0.000 description 50
- 230000008569 process Effects 0.000 description 38
- 238000006243 chemical reaction Methods 0.000 description 24
- 238000004364 calculation method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 3
- 238000007639 printing Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011425 standardization method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】 各画素に関係する属性情報の符号化において、符号量が許容の範囲を超えた場合に各属性フラグの特性に係らずに一部情報を変換し、符号化し、圧縮率向上を図ることで、可逆性の維持が可能なデータにおいても可逆性を失い、属性情報に基づく画像処理の効果が得られない。
【解決手段】 属性フラグ毎に配列し、符号化を実施し、各属性フラグ群の符号量に基づいて各属性フラグの符号化方法を変更することで、なるべく可逆性を失わない符号化を実行することができる。
【選択図】 図8
【解決手段】 属性フラグ毎に配列し、符号化を実施し、各属性フラグ群の符号量に基づいて各属性フラグの符号化方法を変更することで、なるべく可逆性を失わない符号化を実行することができる。
【選択図】 図8
Description
本発明は、画像データを前記画像データに付随する一定符号量以内に圧縮符号化するための機能を有する画像処理装置に関するものである。
従来,静止画像の圧縮方式には,離散コサイン変換を利用したJPEG方式や,Wavelet変換を利用した方式が多く使われている.この種の符号化方式は,可変長符号化方式であるので,符号化対象の画像毎に符号量が変化する。
国際標準化方式であるJPEG方式では,画像に対して1組の量子化マトリクスしか定義できないので、プリスキャン無しには、符号量調整が行なえず、限られたメモリに記憶するシステムで使用する場合においては、メモリオーバーを起こす可能性があった。
これを防止するために、予定した符号量よりオーバーした場合は、圧縮率を変更して、原稿の再読み込みを行なう方法や、予めプリスキャンによる符号量見積もりを行ない、符号量を調整するために,量子化パラメータの再設定を行なう方法などがとられていた。
一方、画像情報には、元の画像データ以外に、該画像データに付随する属性情報というものがある。属性情報は主に、画像出力時の見栄えを良くするために、画像出力部での色処理や階調数の調整に用いられる。有彩色と無彩色が混在する自然画像と、原稿中に多く見られる黒文字とでは、同じ黒色でも使用するインクの種類を変えることで、自然画像を自然画像らしく見せる一方で、鮮明な文字を出力することが出来る。
このように、画素毎に、有彩色か無彩色、文字部かそうでないか、といった各々1ビットの属性フラグデータを持つことにより、画像出力時、特にプリントアウト時に出力画像の画質向上を図ることが出来る。属性情報には前記以外の他の情報もある。
画像情報を圧縮するには、画像データの圧縮はもちろんのこと、上記属性情報も圧縮する必要がある。属性情報は2値データの集まりであり、これを圧縮するには基本的に可逆の符号化方式を用いる必要がある。従来、属性情報の圧縮にはPackbitsやJBIG符号化方式が用いられてきた。
ここで前記属性情報をこれらの符号化方式で圧縮するだけでは、場合により符号化する前の符号量より大きくなる場合などが発生し、符号量調整を行なえず、限られたメモリに記憶するシステムで使用する場合においては、メモリオーバーを起こす可能性があり、大きな問題であった。
この問題について、最初の符号化工程において符号量が大きい場合には、属性情報を一部固定するように変換し、再圧縮工程を行うことで圧縮率を高めてメモリオーバーを回避するものがある(例えば、特許文献1参照)。
しかしながら先行技術のように、すべての属性情報の符号量がある許容量を超えた場合に属性フラグを一部固定するように変換する手法では、本来、属性フラグ毎に圧縮率が異なり各属性フラグデータの圧縮方法を制御することで可逆性の維持が可能なデータにおいても可逆性を失うことになる。その結果、各属性フラグに基づいて像域分離していた領域を同一としてみなし、画像処理を行うことになる。よって像域分離を行うことで画質向上を期待していた処理が行えず、再符号化動作が発生した場合には、本来の像域分離により望まれる画質向上が望めないという課題があった。
多値画像データの各画素の属性情報(305~311)を入力し、圧縮符号化する画像処理装置(100)であって、画像情報を任意の画素ブロックに分割する分割手段(131、132)と、前記画素ブロックの各画素に対応する属性情報を属性情報毎にまとめて配列する属性情報配列手段(601、602)と、配列された属性情報群にて可逆符号化する符号化手段(605)と、前記符号化手段で得られる各属性情報群の符号化データ量を監視し、前記各属性情報群の符号化データ量が所定基準を満たしたか否かを判断する符号量監視手段(606)とを備え、前記符号量監視手段において各属性情報群の全ての符号化データ量が第1の基準を満たした場合には、各属性情報群のそれぞれが第2の基準を満たしているか否かを判断し、基準を満たしている対象の属性情報群に対して条件を変更して符号化することを特徴とする画像処理装置。
画素ブロック毎の属性情報を属性情報毎にてまとめて配列、符号化し、さらに画素ブロック毎の全ての属性情報の符号化データ量を監視し、属性情報の全ての符号化データ量が所定の符号化データ量を超えた場合には各属性情報群の符号化データ量をそれぞれ確認する。これにより符号化前データ量より大きくなった属性情報群には符号化しないでそのまま出力することにより、属性情報毎に符号化データを分離でき、圧縮率の高い属性情報群には従来の可逆符号化技術を利用しながらも、可逆符号化の特性でもある符号化後のデータ量が符号化前よりも大きくなるような属性情報群には符号化しないで可逆性を保つことで属性情報を利用した画像処理が可能となり、本来の画質向上が望めるものである。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
[実施例]
図1は、本実施形態に係る画像処理システムの全体構成を示すブロック図である。図1において、画像形成装置100は、画像入力デバイスであるスキャナ101やデータを受信、処理されたデータにプリンタ側の画像処理を行うためのプリンタ画像処理部119を介して画像出力デバイスであるプリンタエンジン102が内部で接続されている。そして画像データの読み取りやプリント出力のための制御を行う。また、画像形成装置100は、LAN10や公衆回線104と接続することで、画像情報やデバイス情報をLAN10経由で入出力するための制御を行う。
図1は、本実施形態に係る画像処理システムの全体構成を示すブロック図である。図1において、画像形成装置100は、画像入力デバイスであるスキャナ101やデータを受信、処理されたデータにプリンタ側の画像処理を行うためのプリンタ画像処理部119を介して画像出力デバイスであるプリンタエンジン102が内部で接続されている。そして画像データの読み取りやプリント出力のための制御を行う。また、画像形成装置100は、LAN10や公衆回線104と接続することで、画像情報やデバイス情報をLAN10経由で入出力するための制御を行う。
CPU105は画像形成装置100を制御するための中央処理装置である。RAM106は、CPU105が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。さらに、ROM107はブートROMであり、システムのブートプログラムが格納されている。HDD108はハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データ等を格納する。操作部I/F109は、画像データ等を表示可能な表示画面を有する操作部110に対するインタフェース部であり、操作部110に対して操作画面データを出力する。また、操作部I/F109は、操作部110から操作者が入力した情報をCPU105に伝える役割をする。ネットワークI/F111は、例えばLANカード等で実現され、LAN10に接続して外部装置との間で情報の入出力を行う。さらにまた、モデム112は公衆回線104に接続し、外部装置との間で情報の入出力を行う。以上のユニットがシステムバス113上に配置されている。
イメージバスI/F114は、システムバス113と画像データを高速で転送する画像バス115とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。そして、画像バス115上には、以下で詳述するRIP用パケット生成部131とそれを介してラスタイメージプロセッサ(RIP)部116、デバイスI/F117、スキャナ画像処理部118、画像編集用画像処理部120、画像圧縮部103、画像伸張部121、カラーマネージメントモジュール(CMM)130が接続される。
ラスタイメージプロセッサ(RIP)部116は、ページ記述言語(PDL)コードをビットマップの画像データに展開する。RIP用パケット生成部131はRIP部116より出力されたビットマップの画像データを所定のサイズの矩形タイルに分割し、さらにヘッダ等を加え、後述するフォーマットに変換してパケットとして出力するものである。デバイスI/F117は、スキャナ画像処理部118とプリンタ画像処理部119を介してスキャナ101やプリンタエンジン102とを接続し、画像データの同期系/非同期系の変換を行う。
また、スキャナ画像処理部118は、スキャナ101からスキャン用パケット生成部132にてヘッダ等を加え、所定のフォーマットに変換し、パケット化した入力画像データに対して、補正、加工、編集等の各種処理を行う。画像編集用画像処理部120は、画像データの回転や、変倍、色処理、トリミング・マスキング、2値変換、多値変換、白紙判定等の各種画像処理を行う。画像圧縮部103はRIP部116やスキャナ画像処理部118、画像編集用画像処理部120で処理された画像データをHDD108で一度格納する際に所定の圧縮方式で符号化するものである。画像伸張部121はHDD108で圧縮されている画像データを必要に応じて画像編集用画像処理部120での処理や、プリンタ画像処理部119で画像処理し、プリンタエンジン102で出力する場合において、一度圧縮され符号化されているデータを、複号化し伸張するものである。
プリンタ画像処理部119は、プリント出力する画像データに対して、プリンタエンジンに応じた画像処理補正や、本発明に関わるトナー制御のためにビデオデータのカウント処理等を行う。CMM130は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理(色空間変換処理ともいう)を施す専用ハードウェアモジュールである。プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間(例えばLabなど)に変換するための関数のような情報である。キャリブレーションデータは、スキャナ101やプリンタエンジン102の色再現特性を修正するためのデータである。
図2で示される各ソフトウェアモジュールは主にCPU105上で動作する。
図2に示すジョブコントロール処理201は図示/不図示の各ソフトウェアモジュールを統括・制御し、コピー、プリント、スキャン、FAX送受信などの図示しない画像形成装置100内で発生するあらゆるジョブの制御を行う。
ネットワーク処理202は、主にネットワークI/F111を介して行われる、外部との通信を制御するモジュールであり、LAN10上の各機器との通信制御を行う。ネットワーク処理202はLAN10の各機器からの制御コマンドやデータを受信すると、その内容を、ジョブコントロール処理201へ通知する。また、ジョブコントロール処理201からの指示に基づき、LAN10の各機器へ制御コマンドやデータの送信を行う。
UI処理203は、主に操作部110、操作部I/F109に係る制御をおこなう。操作者が操作部110を操作した内容を、ジョブコントロール処理201へ通知すると共に、ジョブコントロール処理201からの指示に基づいて、操作部110上の表示画面の表示内容を制御する。
FAX処理204は、FAX機能の制御をおこなう。FAX処理204は、モデム112を介してFAX受信を行い、FAX画像特有の画像処理を施した後、受信画像をジョブコントロール処理201へ通知する。また、ジョブコントロール処理201からの指定される画像を、指定通知先へFAX送信を行う。
プリント処理207は、ジョブコントロール処理201の指示に基づいて、画像編集用画像処理部120、プリンタ画像処理部119およびプリンタエンジン102を制御し、指定画像の印刷処理を行う。プリント処理207は、ジョブコントロール処理201より、画像データ、画像情報(画像データのサイズ、カラーモード、解像度など)、レイアウト情報(オフセット、拡大縮小、面つけなど)および出力用紙情報(サイズ、印字方向など)の情報を受け付ける。そして、画像圧縮部103、画像伸張部121、画像編集用画像処理部120およびプリンタ画像処理部119を制御して、画像データに対して適切な画像処理を施し、プリンタエンジン102を制御して指定用紙への印刷を行わせる。
スキャン処理210は、ジョブコントロール処理201の指示に基づいて、スキャナ101、およびスキャナ画像処理118を制御して、スキャナ101上にある原稿の読み込みを行わせる。ジョブコントロール処理201の指示には、カラーモードが含まれており、スキャン処理210ではカラーモードに応じた処理が行われる。すなわち、カラーモードがカラーであれば、原稿をカラー画像として入力し、カラーモードがモノクロであれば、原稿をモノクロ画像として入力する。また、カラーモードがAutoである場合には、プレスキャンなどにより原稿のカラー/モノクロ判定を行った後、判定結果に基づいた画像として再度原稿をスキャンして画像を入力する。スキャン処理210は、スキャナ101の原稿台にある原稿のスキャンを実行し、デジタルデータとして画像の入力を行う。入力した画像のカラー情報は、ジョブコントロール処理201へ通知される。さらに、スキャン処理210は入力画像に対し、スキャナ画像処理218を制御して画像の圧縮等、適切な画像処理を施した後、ジョブコントロール処理201へ画像処理済みの入力画像を通知する。
色変換処理209は、ジョブコントロール処理201の指示に基づいて、指示画像に対して、色変換処理を行い、色変換処理後の画像をジョブコントロール処理201へ通知する。
ジョブコントロール処理201は、色変換処理209に対して、入力色空間情報、出力色空間情報および色変換を適用する画像を通知する。色変換処理209に通知された出力色空間が、入力機器に依存しない色空間(例えばLab空間)である場合には、入力機器に依存する入力色空間(例えば、RGB)からLabに変換するための情報である入力プロファイル情報があわせて通知される。この場合、色変換処理209は入力プロファイルより、入力色空間からLab空間へマッピングするルックアップテーブル(LUT)を作成し、このLUTを利用して入力画像の色変換を行う。
また、色変換処理209に通知された入力色空間が、Lab空間である場合には、Lab空間から出力機器に依存する出力色空間に変換するための出力プロファイル情報があわせて通知される。この場合、色変換処理209は出力プロファイルより、Lab色空間から出力色空間へマッピングするLUTを作成し、このLUTを利用して入力画像の色変換を行う。
また、色変換処理209に通知された入力色空間、出力色空間の双方が、デバイスに依存する色空間である場合には、入力プロファイルと出力プロファイルの双方が通知される。この場合、色変換処理209は入力プロファイルおよび出力プロファイルより、入力色空間から出力色空間へダイレクトにマッピングするLUTを作成し、このLUTを利用して入力画像の色変換を行う。
色変換処理209では、CMM130が機器内にあれば、CMM130へ生成したLUTを設定することより、CMM130を利用して色変換を行う。一方、CMM130がない場合にはCPU205がソフト的に色変換処理を行う。
RIP処理211は、ジョブコントロール処理201の指示に基づいて、PDL(ページ記述言語)の解釈(インタプリット)を行い、RIP部116を制御してレンダリングすることで、ビットマップイメージへの展開を行う。
以上のような構成で、本画像処理システムがLAN10より印刷ジョブを受けて、画像データおよび関連する属性フラグデータの符号化動作を行いデータ圧縮し、HDD108に順次格納するまでの動作について詳細に説明する。
まず始めに、上述したように図示しないホストコンピュータよりLAN10を介して送信されてきたPDL(ページ記述原語)は、ネットワークI/F111にて受信し、イメージバスI/F114よりRIP部116へ入力される。PDLデータには、線画の描画コマンド、書体(フォント名)やサイズ、文字コード等で構成する文字描画コマンドが含まれる。RIP部116は送信されたPDL解釈(インタプリット)を行い、RIP部116にて処理できるコードデータへ変換し、それに基づいてレンダリングを実行する。
このとき、レンダリング処理によって個々の画素の属性が判明するので、それを属性フラグとして、各画素データに付加する。
図3は1画素のデータ構成を示す一例である。本実施の形態ではR(レッド)、G(グリーン)、B(ブルー)の3原色の構成の画像データに、その画素の属性を示すフラグを属性フラグとして8ビットを付加したものを1画素としている。
305は文字/非文字を示す文字フラグ、306は有彩色/無彩色を示す有彩色フラグ、307は線画を示す線画フラグ、308はスキャンジョブであるか、PDLジョブであるかを示すジョブフラグ、309はフラット0、1の2ビットで写真やグラフィックなどフラットなオブジェクトの種類を示すフラットフラグ、その他必要に応じて処理1フラグ310、処理2フラグ311を割り当てたものである。
次にRIP部116でレンダリングされ、属性フラグが付加された画像データはRIP用パケット生成部131で後述する矩形サイズにデータが分割され、さらに各画像データにヘッダデータを付加することにより成り立つパケットデータが生成される。
図4は本実施の形態におけるパケットデータを示す構成図である。
パケットデータ全体の構成としてはヘッダデータ部401、画像データ部402、属性フラグデータ部403より成り立っている。
ヘッダデータ部401は、ジョブファイルにおけるページ情報や、RGB、YMCK、YUVといったイメージのタイプの識別情報、符号化されたデータか、否かの識別情報、そのパケット自体のデータサイズなどがヘッダ情報として格納されているものである。
画像データ部402は、画像データを任意の矩形サイズに分割したものをデータとしてパッキングしたものである。本実施の形態では図3で示したRGBの部分であり、矩形サイズとして32×32画素のデータが格納されているものである。
また属性フラグデータ部403は先ほど説明したようにRIP部116にて画素ごとに付加された属性フラグ305〜311が格納されているものである。
このようにしてRIP用パケット生成部131にてパケット化されたパケットデータは次に画像バス115を介して画像圧縮部103にて圧縮符号化される。
図5は画像圧縮部103の構成を示すブロック図である。
入力されてきたパケットデータはパケットデータ分割部501にてヘッダデータ、画像データ、属性フラグデータにそれぞれ分割する。画像データは、画像データ用タイルバッファ502にて一度バッファリングされた後、画像データ用符号化部504で非可逆な圧縮方式(本実施の形態ではJPEG方式)で圧縮符号化される。JPEG圧縮方式であるので、最小の符号化ウィンドウサイズは8×8画素であるので、32×32画素タイルの場合、その中に4×4個(16個)の8×8画素が存在することになるので1タイルの符号化では8×8画素単位で画像データ用タイルバッファ502よりデータを読み出し、JPEG圧縮を16回行なうことになる。このようにして画像データ用符号化部504では32×32画素のタイル画像データに含まれる16個の8×8画素ウィンドウに対し周知のDCT(離散コサイン)変換を施して量子化する。そして、量子化後のデータに対してハフマン符号語を割り当て、画像データの符号化を終了する。
一方、属性フラグデータは属性フラグデータ用タイルバッファ503に一度バッファリングされた後、属性フラグデータ用符号化部505で可逆な圧縮方式(本実施の形態ではPackBits方式)で圧縮符号化される。
図6は本実施の形態における属性フラグデータ用符号化部505の構成を示すブロック図である。
以下、属性フラグデータ用符号化部505における属性フラグデータの符号化のフローを図8のフローチャートを用いて説明する。
入力された各画素8ビットで構成される属性フラグデータ(図中FlagDataIn[7:0])は属性情報分割部601にて各属性フラグに分割され、各属性フラグバッファ602[0]〜[6]へ入力される(S1001)。なお本実施の形態において属性フラグの種類は図3で説明したように7種類であり、それぞれ属性フラグバッファ602[0]〜[6]に画素順に格納されていく。また2ビットで1つのフラットオブジェクトの種類を示すフラットフラッグはフラットフラグ部分の2ビットずつを抽出し、対応する属性フラグバッファ602[4]へ格納される。よって本実施の形態では対応する属性フラグバッファ602[4]は他の属性フラグバッファより2倍の容量が必要となる。
属性フラッグバッファ602[0]〜[6]に全ての属性フラグデータが格納された後、まず始めに属性フラグバッファリード制御部603にて属性フラグバッファ602[0]から順次属性フラグデータを読み出していく。本実施の形態では属性フラグバッファ602[0]〜[6]の順に属性フラグデータを読み出すので、次段の可逆圧縮部605には1パケット分の文字フラグデータ、有彩色フラグデータ、線画フラグデータ、ジョブフラグデータ、フラットフラグデータ、処理1フラグデータ、処理2フラグデータの順に入力され符号化されていく(S1002)。
なお属性フラグバッファリード制御部603は出力信号としてリードステータス信号[6:0]の7ビットの信号幅を持ち、属性フラグバッファ602[0]~[6]のどこのバッファをリードしているのかを信号として出力する。つまり例えば属性フラグバッファ[0]よりリードしている場合には1ビット目を‘1’とした”0b0000001”を出力し、属性フラグバッファ[6]よりリードしている場合には7ビット目を‘1’として“0b1000000”を出力するものである。
可逆圧縮部605には先ほど説明したとおりPackBits符号化手法にて逐次圧縮されていき後述する符号量制御部606を介し、後段の符号化データバッファ607に一時格納される。
符号化データバッファ607は1パケットデータ内の属性フラグデータ部における符号化前の属性フラグデータ分の容量を持っているものとする。PackBits符号化手法は周知のとおり可逆圧縮手法の1つなので属性フラグデータにより符号化前のデータ量より大きくなってしまう場合がある。したがって可逆圧縮部605からの符号化された属性フラグデータの符号量が符号化データバッファの容量を超えた場合、つまり符号化前のデータ量を超えた場合はそれ以上符号化データを格納しないものとする。
次に先ほどの符号量制御部606の動作について詳しく説明する。
図7は符号量制御部606の内部構成を示すブロック図である。
先ほど可逆圧縮部605によりPackBits符号化される各属性フラグデータは属性フラグデータ毎にそのデータの符号量を符号量カウンタ701にてカウントされる(S1003)。本実施の形態では文字フラグデータ、有彩色フラグデータ、線画フラグデータ、ジョブフラグデータ、フラットフラグデータ、処理1フラグデータ、処理2フラグデータの順に先ほどの属性フラグバッファ602[0]~[6]から読み出し、符号化、符号量のカウントを実行する。そして各属性フラグデータの符号化データのカウントが終了するたびに、その結果を図の対応する符号量サイズレジスタ702[0]~[6]へ逐次格納していく。先ほど説明したように1パケットデータ内の属性フラグデータが全て符号化され、符号化データバッファ607に格納された後、符号化データバッファ607は符号化バッファライトエンド信号を符号量演算部705に送信する。符号量演算部705では符号化バッファライトエンド信号を受信し、これにより符号化が終了したことを検知する(S1004)。そしてまず1パケットデータの属性フラグデータの符号量を計算する。具体的には先ほど符号量サイズレジスタ702[0]~[6]の各属性フラグの符号量の総和の値を算出する(S1005)。今、この符号量の総和値をSUMとするとSUMは以下の式で表される。
SUM = 文字フラグ符号量+有彩色フラグ符号量+線画フラグ符号量
+ジョブフラグ符号量+フラットフラグ符号量+処理1フラグ符号量
+処理2フラグ符号量
次にこの符号量の総和SUMが実際の目標とする圧縮率に収まったか、否かを符号量閾値レジスタ703の値と比較する。
+ジョブフラグ符号量+フラットフラグ符号量+処理1フラグ符号量
+処理2フラグ符号量
次にこの符号量の総和SUMが実際の目標とする圧縮率に収まったか、否かを符号量閾値レジスタ703の値と比較する。
符号量閾値レジスタ703は、1パケットデータ内の属性フラグデータの目標とする圧縮率に応じた値を格納するものである。例えば1パケットデータの全ての属性フラグデータの符号化前のデータ量は1画素につき8ビットのデータが1024画素分あるので合計1024バイトである。先ほどの目標とする圧縮率を1/2とする場合には512バイトを示す値をレジスタに設定しておけばよい。本レジスタは予めCPU105より図示しないレジスタバスにより設定可能であるレジスタであるものとする。
この符号量閾値レジスタ703と先ほどの属性フラグの符号量の総和SUMを比較する(S1006)。総和SUMが符号量閾値レジスタ703の設定された閾値よりも小さい場合(S1006のYes)、つまり予め設定した目標とする圧縮率に収まった場合には、符号量演算部705の出力信号の1つである符号化バッファリードスタート信号を符号化データバッファ607へ送信する。符号化データバッファ607は、符号量演算部705より符号化バッファリードスタート信号を受信した後、符号化された属性フラグデータをバッファ内よりリードし、後段の符号化パケットデータ生成部506へ出力する。
次に符号量閾値レジスタ703と先ほどの属性フラグの符号量の総和SUMを比較して、総和SUMが符号量閾値レジスタ703の設定された閾値よりも大きい場合(S1006のNo)、つまり予め設定した目標とする圧縮率に収まらなかった場合について説明する。最初に先ほどの符号量サイズレジスタ702の各レジスタを順次確認し(S1007)、各々の属性フラグデータの符号量が符号前より大きくなっているか、否かを判断する。例えば符号量サイズレジスタ702[0]には、文字フラグデータの符号化後の符号量が格納されており、符号化前の1パケットデータの文字フラグデータ量は128バイトの固定値でありこの値より大きいかを比較することで判断できる。具体的には符号量サイズレジスタ702[0]〜[6]の各レジスタの値と符号化前の各フラグデータのデータ量を比較することにより可逆圧縮部605にてPackBits符号化され、符号量が大きくなってしまった属性フラグを特定できる(S1008)。
符号量演算部705ではこの符号化により符号量が大きくなってしまった属性フラグを符号化前のデータ量に変換して(S1009)、先ほどの総和SUMを算出する。
例えば、今、処理1フラグデータ310と処理2フラグデータ311が符号量前より大きくなったと判断された場合には、先ほどの属性フラグデータの符号量の総和SUMの式は以下のように変換して算出される(S1010)。
SUM = 文字フラグ符号量+有彩色フラグ符号量+線画フラグ符号量
+ジョブフラグ符号量+フラットフラグ符号量
+128バイト(処理1フラグの符号化前データ量)
+128バイト(処理2フラグの符号化前データ量)
このようにして、算出された総和SUMの値を先ほどと同様に符号量閾値レジスタ703の値と比較する(S1011)。
+ジョブフラグ符号量+フラットフラグ符号量
+128バイト(処理1フラグの符号化前データ量)
+128バイト(処理2フラグの符号化前データ量)
このようにして、算出された総和SUMの値を先ほどと同様に符号量閾値レジスタ703の値と比較する(S1011)。
この場合の総和SUMの値が符号量閾値レジスタ703の設定された閾値よりも小さい場合(S1011のYes)、つまり予め設定した目標とする圧縮率に収まった場合には、符号量演算部705の出力信号の1つである符号化マスク信号[6:0]を変更して出力する。符号化マスク信号[6:0]は7ビット幅を有する信号であり、各々が各属性フラグに対応している。先ほどの例のように、いま処理1フラグ310と処理2フラグ311が符号化後の符号量が大きいと判断された場合には符号化マスク信号の6ビット目と7ビット目を‘1’とし、“0b1100000”として圧縮制御部604へ出力する。さらに入力バッファリードスタート信号を属性フラグバッファリード制御部603へ出力し、再度、各々の属性フラグバッファ602[0]~[6]からの属性フラグデータのリードを実行し、可逆圧縮部605へ属性フラグデータを送信していく。
このときに圧縮制御部604では上記説明したリードステータス信号[6:0]と符号化マスク信号[6:0]の2つの信号を入力として受信し、出力信号である符号化イネーブル信号を制御し、可逆圧縮部605の圧縮動作の可否を決める。具体的には符号化マスク信号[6:0]=”0b1100000”で、リードステータス信号[6:0]=”0b0100000”もしくは”0b1000000”のとき(処理1フラグ310もしくは処理2フラグ311をリードしている状態)、符号化イネーブル信号を‘0’とする。よって可逆圧縮部605は属性フラグバッファ602[5]と[6]をリードしているとき、つまり処理1フラグ310もしくは処理2フラグ311をリードして可逆圧縮部605に入力しているときにはPackBits符号化動作は行わずにそのまま後段の符号化データバッファ607へ格納していく(S1012)。1パケット分の属性フラグデータが符号化データバッファ607へ格納された時点で属性フラグデータの符号化を終了する(S1013)。
これにより、一部の符号化により符号化前より大きくなった属性フラグデータを圧縮せずにそのまま出力することで目標の圧縮率に収めることが可能となる。
次に符号量制御部606にて符号量閾値レジスタ703と先ほどの属性フラグの符号量の総和SUMを比較して、総和SUMが符号量閾値レジスタ703の設定された閾値よりも大きく、さらに先ほどのように一部の符号化前より大きくなった属性フラグデータの符号量を符号化前のデータ量に置き換えても大きかった場合(S1011のNo)について説明する。
この場合には、一部の属性フラグデータをいずれかの値に固定化していくことで圧縮率を高める手法をとる。符号量演算部705には、この手法の際に固定化する属性フラグデータの優先度を設定できる優先度設定レジスタ704[0]~[6]を設けている。
このレジスタは画像処理等の画質への影響度により、固定化する属性フラグの優先度を設定できるものであり、優先度設定レジスタ704[0]には最も優先度の高い属性フラグの識別コードを設定し、優先度設定レジスタ704[6]には最も優先度の低い属性フラグの識別コードを設定するものとする。
例えば優先度設定レジスタ704の一番優先度の低いことを示す属性フラグ優先レジスタ704[6]に処理2フラグ311を示す識別コードが設定されていた場合には処理2フラグ311は全て’0’ or ‘1’に固定した符号量として換算される。よってこの場合は、処理2フラグ311は1024画素分で1024ビット=128バイトである。これがすべて‘0’になりPackBitsの符号化を行うと2バイトとなる(S1014)。
したがって上記の手法をとった場合の符号量の総和SUMは、処理1フラグはすでに先ほどの手法で符号化前のデータ量に置き換えられるものとして以下のように算出できる(S1015)。
SUM = 文字フラグ符号量+有彩色フラグ符号量+線画フラグ符号量
+ジョブフラグ符号量+フラットフラグ符号量
+128バイト(処理1フラグの符号化前データ量)
+2バイト(処理2フラグを固定値として符号化したデータ量)
なお、この処理は符号量の総和SUMが符号量閾値レジスタ703に設定された目標の圧縮率に達するための値より小さくなるまで、逐次優先度設定レジスタ[0]〜[6]の優先度に従って対応する属性フラグデータを固定化した符号量に置き換えて総和SUMの値を算出していくものである。
+ジョブフラグ符号量+フラットフラグ符号量
+128バイト(処理1フラグの符号化前データ量)
+2バイト(処理2フラグを固定値として符号化したデータ量)
なお、この処理は符号量の総和SUMが符号量閾値レジスタ703に設定された目標の圧縮率に達するための値より小さくなるまで、逐次優先度設定レジスタ[0]〜[6]の優先度に従って対応する属性フラグデータを固定化した符号量に置き換えて総和SUMの値を算出していくものである。
このような処理により最終的に総和SUMの値が符号量閾値レジスタ703の値を超えない結果が算出された時点で処理を終了する(S1016)。
処理が終了した時点で符号量演算部705はデータマスク信号[6:0]にこの算出結果の情報を反映する。データマスク信号[6:0]は7ビット幅を有する出力制御信号であり、各ビットは各属性フラグに対応する。
例えば、処理2フラグ311のみ固定化するだけでよい場合には、データマスク信号[6:0]=“0b1000000”とし出力することで処理2フラグ311のデータの固定化を制御する。
また、先ほどの符号化マスク信号[6:0]はこの場合、処理1フラグ310のみ符号化をマスクするために”0b0100000”が圧縮制御部604へ出力される。
また、先ほどの符号化マスク信号[6:0]はこの場合、処理1フラグ310のみ符号化をマスクするために”0b0100000”が圧縮制御部604へ出力される。
このように符号量演算部705により決定されたデータマスク信号[6:0]は、前段の属性フラグバッファリード制御部603へ出力される。
さらに符号量演算部705は入力バッファリードスタート信号も属性フラグバッファリード制御部603へ出力し、再度、各々の属性フラグバッファ602[0]~[6]からの属性フラグデータのリードを実行し、可逆圧縮部605へ属性フラグデータを送信していく。
このときに属性フラグバッファリード制御部603では上記説明したデータマスク信号[6:0]を入力として受信し、対応するビットの属性フラグデータを属性フラグバッファ602からリードしているときにその属性フラグバッファを固定値に置き換えて可逆圧縮部605へ送信する。先ほどの例では属性フラグバッファ602[6]から処理2フラグ311をリードしているのときに属性フラグバッファリード制御部603はそのデータを常に‘0’もしくは‘1’に置き換えて可逆圧縮部605へ出力する(S1017)。可逆圧縮部605ではこの固定値のままPackBits符号化を行い、先ほど算出した2バイトの符号量データが処理2フラグの符号化データとして符号化データバッファ607へ格納される。1パケットの属性フラグデータが符号化データバッファ607へ格納された時点で属性フラグデータの符号化を終了する(S1018)。
これにより、一部の符号化前より大きくなった属性フラグデータを圧縮せずにそのまま出力する手法に加え、さらに一部の画像処理に対して優先度の低い属性フラグデータを固定化して出力し、符号化することで目標の圧縮率に収めることが可能となる。
なお、本実施の形態では符号量演算部705の符号量の総和SUMの値の算出処理は全て符号量演算部のハードウェアが行う構成で説明したが、CPU105が符号量サイズレジスタ[0]〜[6]を確認し、その都度、符号量の総和SUMの値を算出し、各制御信号を制御する形態であっても構わない。
以上のような処理により、最終的に目標の圧縮率に収まった符号化された属性フラグデータは符号化データバッファ607より図5の符号化パケットデータ生成部506に出力される。符号化パケットデータ生成部506では画像データ用符号化部504よりJPEG圧縮を施された1パケット分の符号化画像データと、先ほど説明してきた属性フラグ用符号化部505よりPackBits圧縮を施された1パケット分の符号化属性フラグデータとを結合する。さらに入力段でパケットデータ分割部501より分割されたヘッダデータの一部を適切な値に書き換えてヘッダデータとして付加することにより符号化されたパケットデータを生成する。その結果、画像圧縮部103より符号化されたパケットデータは順次イメージバスI/F114を介し、HDD108へ格納されていき、圧縮処理を終了する。
また本実施の形態ではRIP用パケット生成部131で画像データを32×32の矩形データに分割し、画像圧縮部103で圧縮処理を行う構成で記載したが、1ページ全体の画像データを圧縮する場合においても、先ほどの各バッファの容量を大きく持ち、圧縮率の目標に応じて符号量のサイズを決めていた属性フラグ符号量閾値レジスタを1ページ分の符号量を設定できるレジスタを設けることで、本手法は適用できるものである。
以上、説明してきたように本実施の形態のような属性フラグデータの圧縮手法を用いることにより、属性データの可逆性を保ったまま、もしくは最低限の属性データ情報の損失で属性フラグデータを目標の圧縮率の範囲で圧縮することが可能となる。
103・・・画像圧縮部
505・・・属性フラグ符号化部
601・・・属性情報分割部
602・・・属性フラグバッファ
606・・・符号量制御部
701・・・符号量カウンタ
702・・・符号量サイズレジスタ
703・・・符号量閾値レジスタ
704・・・優先度設定レジスタ
705・・・符号量演算部
505・・・属性フラグ符号化部
601・・・属性情報分割部
602・・・属性フラグバッファ
606・・・符号量制御部
701・・・符号量カウンタ
702・・・符号量サイズレジスタ
703・・・符号量閾値レジスタ
704・・・優先度設定レジスタ
705・・・符号量演算部
Claims (6)
- 多値画像データの各画素の属性情報(305~311)を入力し、圧縮符号化する画像処理装置(100)であって、画像情報を任意の画素ブロックに分割する分割手段(131、132)と、前記画素ブロックの各画素に対応する属性情報を属性情報毎にまとめて配列する属性情報配列手段(601、602)と、配列された属性情報群にて可逆符号化する符号化手段(605)と、前記符号化手段で得られる各属性情報群の符号化データ量を監視し、前記各属性情報群の符号化データ量が所定基準を満たしたか否かを判断する符号量監視手段(606)とを備え、前記符号量監視手段において各属性情報群の全ての符号化データ量が第1の基準を満たした場合には、各属性情報群のそれぞれが第2の基準を満たしているか否かを判断し、基準を満たしている対象の属性情報群に対して条件を変更して符号化することを特徴とする画像処理装置。
- 前記符号量監視手段の第1の基準は符号化された各属性情報群の全ての符号量が所定のデータ量内であるかを示す閾値との比較に基づく基準であり、符号化された各属性情報群のデータ量の総和と前記閾値を比較し、前記符号化された各属性情報群の総和のデータ量が前記閾値より大きい場合には前記第1の基準を満たした判断する第1基準判断手段を有することを特徴とする請求項1に記載の画像処理装置。
- 前記符号量監視手段の第2の基準は各属性情報群に設けられた符号化しない場合の各属性情報群のデータ量を閾値とした比較に基づく基準であり、この閾値を超えた場合には基準を満たしたと判断する第2基準判断手段を有することを特徴とする請求項1に記載の画像処理装置。
- 請求項2記載の前記第1基準判断手段における第1の基準を満たし、かつ請求項3記載の前記第2基準判断手段における第2の基準を満たした属性情報群に対して前記符号化手段は当該属性情報群の符号化を行わないで出力する符号化制御手段を有することを特徴とする請求項1に記載の画像処理装置。
- 請求項2記載の前記第1の基準を満たし、かつ請求項3記載の前記第2の基準を満たした属性情報群に対して前記符号化手段は当該属性情報群を固定の情報に変換して符号化し、出力する固定出力手段を有することを特徴とする請求項1に記載の画像処理装置。
- 請求項5記載の前記固定出力手段において、固定の情報に変換する属性情報の優先度を設定可能とする優先度設定手段を有することを特徴とする請求項5に記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011269530A JP2013121154A (ja) | 2011-12-09 | 2011-12-09 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011269530A JP2013121154A (ja) | 2011-12-09 | 2011-12-09 | 画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013121154A true JP2013121154A (ja) | 2013-06-17 |
Family
ID=48773587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011269530A Pending JP2013121154A (ja) | 2011-12-09 | 2011-12-09 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013121154A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813063A (zh) * | 2020-06-29 | 2020-10-23 | 南昌欧菲光电技术有限公司 | 一种监控生产设备的方法和装置 |
-
2011
- 2011-12-09 JP JP2011269530A patent/JP2013121154A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813063A (zh) * | 2020-06-29 | 2020-10-23 | 南昌欧菲光电技术有限公司 | 一种监控生产设备的方法和装置 |
CN111813063B (zh) * | 2020-06-29 | 2021-11-19 | 南昌欧菲光电技术有限公司 | 一种监控生产设备的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8660347B2 (en) | Image processing apparatus and processing method therefor | |
US8553301B2 (en) | Image processing apparatus, method, and program product to perform color-reduction processing for a block | |
US7715637B2 (en) | Image processing apparatus and control method therefor | |
JP5052569B2 (ja) | 画像圧縮装置、画像圧縮方法、画像伸張装置、画像伸張方法、画像形成装置、コンピュータプログラム及び記録媒体 | |
JP5132517B2 (ja) | 画像処理装置および画像処理方法 | |
JP5432450B2 (ja) | エントロピー符号化を利用したカラー画像データの可逆圧縮 | |
JP5538792B2 (ja) | 画像処理装置、その制御方法、及びプログラム | |
US8159718B2 (en) | Image processing to determine if pixel in compressed data is chromatic or achromtic based on selection threshold | |
JP4393319B2 (ja) | 画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
US7454070B2 (en) | Image encoding apparatus and method, computer program, and computer-readable storage medium | |
US8014622B2 (en) | Image processing apparatus and method for attribute data encoding | |
JP2011254405A (ja) | 画像処理装置及びその処理方法 | |
JP2003046789A (ja) | 画像符号化装置及び画像復号化装置 | |
US8494261B2 (en) | Image processing apparatus, image processing method, and computer-readable medium | |
JP2013121154A (ja) | 画像処理装置 | |
JP2011139162A (ja) | 画像符号化装置、制御方法、及びプログラム | |
US9049404B2 (en) | Image processing apparatus and method that perform multiple image processes, and storage medium storing a program thereof, for decompressing a compressed image according to first and second information indicating image processing to be performed | |
JP3997851B2 (ja) | 画像符号化装置および画像符号化プログラム | |
JP5643578B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP7110962B2 (ja) | 画像処理方法及び画像処理装置 | |
JP2005086353A (ja) | 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP5595142B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2014099742A (ja) | カラーモノクロ判定 | |
JP2013085173A (ja) | 画像処理装置及びその処理方法 | |
JP2012074897A (ja) | 画像処理装置、画像処理方法、およびプログラム |