JP5393574B2 - 画像処理装置、画像処理方法、及びプログラム - Google Patents

画像処理装置、画像処理方法、及びプログラム Download PDF

Info

Publication number
JP5393574B2
JP5393574B2 JP2010089855A JP2010089855A JP5393574B2 JP 5393574 B2 JP5393574 B2 JP 5393574B2 JP 2010089855 A JP2010089855 A JP 2010089855A JP 2010089855 A JP2010089855 A JP 2010089855A JP 5393574 B2 JP5393574 B2 JP 5393574B2
Authority
JP
Japan
Prior art keywords
color
block
data
pixel
color 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.)
Expired - Fee Related
Application number
JP2010089855A
Other languages
English (en)
Other versions
JP2011223276A (ja
JP2011223276A5 (ja
Inventor
宏和 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2010089855A priority Critical patent/JP5393574B2/ja
Priority to US13/255,238 priority patent/US8553301B2/en
Priority to PCT/JP2011/056133 priority patent/WO2011125433A1/en
Publication of JP2011223276A publication Critical patent/JP2011223276A/ja
Publication of JP2011223276A5 publication Critical patent/JP2011223276A5/ja
Application granted granted Critical
Publication of JP5393574B2 publication Critical patent/JP5393574B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6058Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/644Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor using a reduced set of representative colours, e.g. each representing a particular range in a colour space

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

本発明は、画像を所定のブロック単位に圧縮する技術とブロック単位に圧縮された画像の画像処理や復元処理を行う技術に関する。
従来、デジタル複合機に限らず、デジタルカメラやファクシミリ装置などの画像処理装置では、メモリ/ハードディスク量の節約やそれらへの書き込み時間を短縮するために、カラー画像データの圧縮を行い、低コスト化や高速化を実現している。カラー静止画像の圧縮方式には、離散コサイン変換を利用したJPEG方式やWavelet変換を利用した方式が多く使われている。この種の符号化方式は、一般的に画像を所定のブロック(例えば8×8や16×16画素単位)に符号化し、離散コサイン変換、量子化及びエントロピー符号化を行うことで高い圧縮効率を達成している。これら方式では、ブロック単位での可変長符号化方式を取っているため、小さなエリア参照のためのランダムアクセスが難しい。そのアクセスには符号量が画像により不定なので、復号対象ブロックの位置(メモリアドレス)が不定になり、その位置を知る何らかの方法が必要になる他、ブロック単位での復号化処理が必要となる。また、JPEGでの離散コサイン変換ではブロックサイズとして、通常8×8画素必要としている。このブロック単位での離散コサイン変換処理を高速に行うには、高速演算器や専用ハードウェアが必要な上、バッファ用のメモリが必要となる。これらランダムアクセス性や処理の複雑度の課題に対するアプローチとして、ブロックサイズが小さい圧縮率固定の画像圧縮技術(例えば、特許文献1)が開示されている。
また、高解像度化が進むにつれて画像処理を必要とする画素数が飛躍的に増え、その処理負荷が増大しているという課題もある。上述した画像圧縮を用いた場合、その画素データを参照し、その画素データを変換するには、圧縮データの復号処理が必要になってくる。つまり、圧縮データのままで画像処理を行うことはできず、必ず復号処理が必要になり、高解像度データ全ての画素に対して画素単位に処理を行う必要が出てしまい、処理時間の増大を招く。画素データの符号化を行わずに圧縮処理を行う技術としては、画素データとその連続数を記憶する公知のランレングス圧縮方式やブロック単位でエッジを検出し、そのエッジの持つ2色を記憶することで圧縮する技術(例えば、特許文献2)が開示されている。
特開2004−104621号公報 特開平10−257488号公報
離散コサイン変換を利用したJPEG方式やWavelet変換を用いる方式の場合、そのブロック毎に必要とされる計算量が多く、処理時間が掛かると共に、処理ハードウェアが高価になってしまうという問題がある。また、圧縮されたデータに対する画像処理には必ず復号処理が必要となり、処理すべき画素数次第では膨大な処理時間が掛かってしまうという問題もある。例えば、画像データの用途次第では高解像度データが必ずしも必要とはならないが、低解像度データを得るためには、高解像度データを低解像度データへ縮小する必要があった。すなわち、JPEG等で圧縮符号化された高解像度データから低解像度データを作成するためには、必ず復号処理と別途縮小処理が必要になってしまう。
また、画像の画素値を持つのではなく、隣接画素との一致情報のみ保持し画像圧縮を行う圧縮方式(例えば上述のランレングス圧縮方式)において、減色し、非可逆圧縮を行う場合を考える。ランレングス圧縮方式において色が似ている場合、同色のランとみなしてその連続数をカウントし符号化する非可逆ランレングス圧縮方式の場合、オリジナルとの色差が複数画素に伝搬する事があり画像劣化が課題になる。この劣化はランレングス圧縮方式に限らず隣接画素との一致情報による圧縮と減色処理を組み合わせる場合の共通の課題となる。
本発明は、処理コストを抑えつつ、画像データの圧縮を行う場合に、減色による画像劣化を最小限に抑えかつ高効率な圧縮を行える装置及び方法を提供することを目的とする。
本発明は、上記課題を鑑みてなされたものであり、以下の構成を有する。本発明の画像処理装置は、第1の画像データを2×2画素のサイズのブロックに分割し、分割された当該ブロックそれぞれを順に第1の処理対象にし、当該第1の処理対象のブロック内の各画素の色データを比較することにより、当該ブロックに含まれる色データの配置パターンを示す第1のパターンフラグを特定する第1特定手段と、前記2×2画素のサイズのブロックの予め定義された位置の画素に対応する色データを第1色の色データとして抽出し、更に、前記第1の処理対象のブロックに含まれる色数が2〜4のいずれかである場合、特定された前記第1のパターンフラグで定義されている配置パターンに対応する第2〜4色の色データを抽出する第1抽出手段と、前記第1特定手段で特定された各ブロックの第1のパターンフラグと、前記第1抽出手段で抽出された各ブロックの前記第1色の色データと、前記第1抽出手段で抽出された各ブロックの第2〜4色の色データとを出力する第1出力手段と、前記第1出力手段で出力された第1色の色データで構成される第2の画像データを2×2画素のサイズのブロックに分割し、分割された当該ブロックそれぞれを順に第2の処理対象にし、当該第2の処理対象のブロックを構成する各画素に対応する前記第1のパターンフラグに基づいて各画素値に重み付けを行うことにより、当該第2の処理対象のブロックに対する減色処理を行う第2減色手段と、前記第2減色手段で減色処理を行った後の前記第2の処理対象のブロックにおける各画素の色データを比較することにより、当該第2の処理対象のブロックに含まれる色データの配置パターンを示す第2のパターンフラグを特定する第2特定手段と、前記第2減色手段で減色処理を行った後の前記2×2画素のサイズのブロックの予め定義された位置の画素に対応する色データを第1色の色データとして抽出し、更に、前記第2の処理対象のブロックに含まれる色数が2〜4のいずれかである場合、特定された前記第2のパターンフラグに定義された配置パターンに対応する第2〜4色の色データを抽出する第2抽出手段と、前記第2特定手段で特定された各ブロックの第2のパターンフラグと、前記第2抽出手段で抽出された各ブロックの前記第1色の色データと、前記第2抽出手段で抽出された各ブロックの第2〜4色の色データとを出力する第2出力手段と、を有することを特徴とする。
また、本発明の画像処理装置は、画像データを予め定められた画素数のブロックごとに処理対象の着目ブロックとして圧縮処理する画像処理装置であって、記着目ブロックに対して減色処理を行う減色手段と、記着目ブロックにおける各画素の間の色データを比較することにより、当該着目ブロックに含まれる色データの配置パターンを特定する特定手段と、前記ブロックにおける予め定義された位置の画素に対応する色データを第1色の色データとして抽出し、更に、前記ブロックに含まれる第1色以外の色データを抽出する抽出手段と、前記特定手段で特定された前記配置パターンと、前記抽出手段で抽出された第1色の色データと第1色以外の色データとを出力する出力手段と、前記出力手段で出力された第1色の色データで構成される第2の画像データを予め定められた画素数のブロックごとに処理対象の着目ブロックとして、前記減色手段よる減色処理を行するように制御し、更に、前記減色手段にて減色された前記着目ブロックに対し、前記特定手段と前記抽出手段と前記出力手段とによる処理を再実行するように制御する制御手段と、を有し、前記減色手段は、前記出力手段で出力された第1色の色データで構成される前記第2の画像データを予め定められた画素数のブロックごとに処理対象の着目ブロックとして前記減色処理を行する場合、前記特定手段で特定された前記配置パターンに基づいて、当該処理対象の着目ブロックに含まれる画素の画素値に重み付けを行いながら前記減色処理を行うことを特徴とする。
本発明によれば、処理コストを抑えつつ、減色による画像劣化を最小限に抑え画像データの圧縮を行うことが可能となる。本発明により圧縮されたデータを用いることにより、処理コストを抑えられるため、画像処理も容易に行うことができる。
実施形態における画像処理装置の構成の一例を示すブロック図。 図1に示すコントローラの構成例を示す図。 ブロックにおけるパターンの取り得る組み合わせを示す図。 図3に示すパターンとパターンフラグの関係を示す図。 異なる画素とパターンフラグを特定する処理を示すフローチャートを示す図。 画素値が異なる画素の位置を判定する処理を説明するための図。 DMACによる画像データのメモリ空間への書き込み例を示す図。 第1の実施形態における圧縮処理を示すフローチャートを示す図。 2段での圧縮処理を独立に行った場合の画像データの推移を示す図。 2段の圧縮処理を1段目を踏まえて行った場合の画像データを示す図。 2段の圧縮処理を1段目を踏まえて行った場合の画像データを示す図。 新たなパターンフラグを追加した入出力の関係を示す図。 第2の実施形態における圧縮処理を示すフローチャートを示す図。 第2の実施形態での画像データのメモリ空間への書き込み例を示す図。 第3の実施形態における圧縮処理を示すフローチャートを示す図。 ページとタイルとブロックとの関係を示す図。 パッキングされたデータのデータ構造を示す図。 パケット管理テーブルの構成の一例を示す図。 メモリ空間に書き込まれた各パケットのアドレスを示す図。 第3の実施形態における多段の圧縮処理を示すフローチャートを示す図。 多段圧縮を行った際のパッキングされたデータのデータ構造を示す図。
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。本実施形態では、画像処理装置として、スキャン、プリント、コピーなどの複数の機能を有するデジタル複合機(MFP)を例に説明する。
[第1の実施形態]
図1に示すように、コントローラ101は、画像入力機器であるスキャナ102や画像出力機器であるプリンタ103と接続される。また、コントローラ101はLANや公衆回線(WAN)などのネットワーク104と接続することで、画像情報やデバイス情報の入出力、PDLデータのイメージ展開を行う。CPU105は、HDD記憶部107に格納されたプログラムに従ってMFP全体を制御するプロセッサである。メモリ106は、CPU105が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。HDD記憶部107は、ハードディスクドライブであり、システムソフトウェアやプログラム、画像データなどを格納する。
次に、図2に示すコントローラ101の構成例を参照してコントローラ101の各部の詳細な処理を説明する。まず、スキャナ102によってスキャンされた画像データを読み込む場合を説明する。スキャナ102で読み取られたRGB(レッド、グリーン、ブルー)の3色の画像データをスキャナ用画像処理部201が受け取り、その画像データに対してシェーディング処理やフィルタ処理等の画像処理を行い、圧縮部202が画像圧縮処理を行う。そして、圧縮されたデータ(圧縮データ)をDMAC(ダイレクトメモリアクセスコントローラ)203が画像メモリバスを介してメモリ106に格納する。
次に、スキャンされた画像データをプリントする場合、メモリ106に格納された圧縮データをDMAC211が画像メモリバスを介して色処理部212へ転送する。そして、色処理部212がCMYK(シアン、マゼンタ、イエロー、ブラック)色空間へ変換する。その後、更に色処理部212がCMYKの各値に対して濃度調整やプリンタガンマ補正などの色処理を行った後、該色処理後のデータをDMAC211が画像メモリバスを介して再度メモリ106に格納する。その後プリント用の画像処理を行うために、DMAC221が画像メモリバスを介してメモリ106に格納されている圧縮データを読み込み、展開部222がラスタ画像データに展開する。そして、ラスタのCMYK画像データをプリント用画像処理部223が入力し、ディザ法や誤差拡散法による面積階調処理を行い、プリンタ103へ出力する。
また、スキャンされた画像データをネットワークへ送信する場合、メモリ106に格納されている圧縮データをDMAC211が画像メモリバスを介して色処理部212へ転送する。そして、色処理部212がディスプレイガンマ調整や用紙地色調整等を行った後、YCbCr(輝度、BLUE色差、RED色差)色空間へ変換する。そして、当該色処理部212で処理されたデータを再度DMAC211が画像メモリバスを介してメモリ106に格納する。その後、送信用の画像処理を行うために、DMAC231が画像メモリバスを介してメモリ106に格納されている圧縮データを展開部232へ転送する。そして、展開部232が圧縮データをラスタ画像データに展開する。その後、ラスタのYCbCr画像データに対して送信処理部233がカラー画像送信であればJPEG圧縮処理を行い、モノクロ2値画像送信であればYデータに対して2値化を行い、JBIG圧縮等を行い、ネットワーク104へ出力する。
また、スキャンされた画像データを保存する場合、メモリ106に格納されている圧縮データをDMAC241が画像メモリバスを介してディスクスプール高圧縮/展開部242へ転送する。ディスクスプール高圧縮/展開部242では、HDDの書き込みスピードがメモリに対して遅いため、更に高圧縮のJPEG圧縮を施す。その後ディスクアクセスコントローラ243を介してHDD記憶部107へ圧縮データを保存する。また、HDD記憶部107に保存されている圧縮データを再度メモリ106に転送する場合には、上述した処理を逆に行えば良い。
ここで、図1に示すネットワーク104を介して接続された他の装置から送られてきたPDLデータをメモリ106へ書き込む場合を説明する。図2にはPDL解釈部が図示されていないが、PDL解釈部として機能するCPU105がPDLデータを解釈し、その結果のディスプレイリストをメモリ106に出力する。その後、メモリ106に格納されているディスプレイリストをレンダリング部251がラスタのRGB画像データへレンダリングを行い、圧縮部252が画像圧縮処理を行う。そして、圧縮データをDMAC253が画像メモリバスを介してメモリ106に格納する。尚、PDLデータをプリント、ネットワークへ送信、保存する処理は、スキャンされた画像データの場合と同様の処理を行うことで実現可能である。
[圧縮処理]
次に、本発明の特徴であるラスタ画像データの圧縮処理を詳細に説明する。なお、本実施例において、圧縮部252ではPDLデータから生成されたラスタ画像を圧縮し、圧縮部202ではスキャンで得たラスタ画像を圧縮するものとするが、このような構成に限るものではない。例えば、図2のように圧縮部202と252を個別に設けるのではなく、共通の圧縮部を設けるように構成しても構わない。
本実施形態では、まずページ単位のラスタ画像データを、2×2画素単位のブロックに分割し、分割して抽出されたブロック単位にデータの圧縮処理を行う。ここで圧縮処理を説明する前に、2×2の4画素データの中に占める色数に応じてその組み合わせの場合の数を考える。画素数が4画素なので、そこに占める色数は最大4色になり、ブロック内で高々1色〜4色の組み合わせしか存在しない。その4色のパターンの取り得る組み合わせの場合の数を図3に示す。
まず、ブロック内が1色の場合、4画素が同色で構成されていることになるので、その組み合わせは1通りである。次に、ブロック内が2色の場合を考える。図3に示すように、2色が4画素内にレイアウトされる場合の数は、左上の画素を第1色、他方を第2色として考えると、左上以外残りの3画素へ第1色もしくは第2色が入るので、4画素同色の場合を除くと、全部で7通りの組み合わせが考えられる。
次に、ブロック内が3色の場合を考える。3色が4画素内にレイアウトされる場合の数は、3色のうち1色だけ2度使われる場合の数と言い換えることが可能であり、4画素の座標のうち、2画素が同じ色になる場合の数を求めれば良い。つまり、3色の場合の数は、4つの座標から2つの座標を取る組み合わせとなり、全部で6通りとなる。そして最後に、ブロック内が4色の場合は1色の場合と同様で1パターンしか存在しない。
1色〜4色全ての場合の数を合計すると、全部で15通りのパターンが考えられる。また、これら全てのパターンを識別するためにフラグ(識別子)を付与することを考えると、フラグのデータ量としては4ビット必要となる。この15通りのパターンとフラグとの関係を図4に示すように定義し、以下、このフラグを「パターンフラグ」と呼ぶ。
[処理フロー]
上述のように、2×2画素の取り得る組み合わせを踏まえて、圧縮部202、252で行われる処理フローを、図5を用いて説明する。入力としては、例えばRGBそれぞれ8ビットの256階調を持っており、またデータとしては8ビットデータの点順次で1画素当たり24ビットの画像として説明する。
まず、2×2画素のブロックを入力し(S501)、そのブロックにおける全ての2画素の組み合わせに対して24ビットのコンペアを取る(S502)。ここでコンペアを取った結果、全ビット一致していた場合には"1"を、不一致の場合には"0"を出力する。ここで、2×2画素内の左上から右上、左下、右下の画素の位置順に、座標1、2、3、4とする(図4に示す401)。2画素の組み合わせの座標は、1−2、1−3、1−4、2−3、2−4、3−4の全部で6通り(図4に示す402)あるので、6回コンペアを取る必要があり、結果は6ビット出力される。図4に示すコンペア結果のように、全画素が同色であれば、全てのコンペア結果が1を出力し、逆に4画素が全てバラバラの画素値を持っていれば、全てのコンペア結果が0を出力する。
この例では、4画素で色の一致から出現し得るパターンの数は15通りなので、図4に示すように、6ビットのコンペア結果に応じて、4ビットのパターンフラグを特定する(S503)。次に、4画素内で出現した色数及び色データを抽出する(S504)。図4に示したように、4ビットのパターンフラグ(または6ビットのコンペア結果)に対して、ブロック内での各色の配置を示す各パターンが対応づけられているので、各ブロックにおける色数と色データを特定することができる。なお、本実施形態の図4では、全てのパターンにおいて、左上の画素の色(画素値)が第1色(1番目の色データ)となるように定義している。パターンフラグが0の場合は、色数1で、左上の画素の色(画素値)を第1色として抽出する。また、パターンフラグが1〜7の場合は、色数2で、左上の画素の色(画素値)を第1色として抽出し、更に、各パターンフラグに応じて定義されている第2色(2番目の色データ)が存在する位置の画素の色(画素値)を抽出する。例えば、パターンフラグが1の場合は、右上の画素の色を第2色として抽出する。また、パターンフラグが8〜Dの場合は、色数3で、左上の画素の色(画素値)を第1色として抽出し、更に、各パターンフラグに応じて定義されている第2色(2番目の色データ)および第3色(3番目の色データ)が存在する位置の画素の色(画素値)を抽出する。例えば、パターンフラグが8の場合は、右上の画素の色(画素値)を第2色として抽出し、右下の画素の色(画素値)を第3色として抽出する。また、パターンフラグがEの場合は、左上の画素の色を第1色、右上の画素の色を第2色、左下の画素の色を第3色、右下の画素の色を第4色として抽出する。
すなわち、パターンフラグ(またはコンペア結果)に基づいて、ブロックの色数が特定され(S505、S507、S509)、それぞれに応じたパターンフラグと色データとを出力する(S506、S508、S510、S511)。この出力されるデータを、図6を用いて説明する。
図6に示すように、例えばパターンフラグが0(すなわち4画素内が1色で構成されている)の場合には(S505でYES)、2色目以降は存在しないので、パターンフラグの4ビットと1色目の画素値(24ビット分の色データ)とを出力する(S506)。また、パターンフラグが1〜7(すなわち4画素が2色で構成されている)の場合(S507でYES)には、2色目が存在する画素の座標をパターンフラグより算出する。そして、パターンフラグの4ビットと2色分の画素値(48ビット分の色データ)を出力する(S508)。また、パターンフラグが8〜D(すなわち3色)の場合(S509でYES)、パターンフラグの4ビットと3色分の画素値(72ビット分の色データ)とを出力する(S510)。そして、パターンフラグがE(すなわち4色)の場合(S509でNO)、パターンフラグの4ビットと4色分の画素値(96ビット分の色データ)とを出力する(S511)。言い換えると、各ブロックから出力される色データは、ブロック内の座標(左上から右上、左下、右下の順に1、2、3、4)順に走査した場合に、出現していなかった色データが第1色から順に出力されることに相当する。
このように、2×2画素のブロックにおける4色(96ビット)の入力データを4ビットのパターンフラグと、そこに存在する色数だけ画素値を出力することで、比較的簡単な処理で出力データ量を削減することが可能になる。特に、2×2画素のブロック内で同色の画素が存在するブロック(すなわち各ブロック内の色数が少ないブロック)が多いラスタ画像の場合は、出力されるデータ量の圧縮率も大きくなる。また、パターンフラグを参照することで、そのブロック内の色数を特定することが可能になる。このような処理を画像ブロック全てに対して行うことで、画像全面をデータ圧縮することが可能になる。この時ブロック内の画素が数レベルの違いしかないのであれば同色と見なして、各ブロックで減色処理を行うことで、4色と判定されるブロックを減らし、圧縮率の向上を図る。この場合、同色とみなすための閾値は、予めメモリ106等に保持しておいても良いし、ネットワーク104を介して、ユーザからの指定を受け付けても良い。ユーザからの指定を受け付ける場合には、そのためのユーザインタフェースを提供し、指定手段を実現する。
各ブロックの減色処理を行った後、2×2画素の取りうる組み合わせを踏まえて、画像圧縮を行う処理を、図8を用いて説明する。まず、処理対象となる2×2画素のブロックを入力し(S801)、4画素の画素値から1色へと減色処理を行う(S802)。ここでは、例えば4画素の平均画素値を算出することで1色への減色を実現する。そして、その減色した画素値と入力の4画素の画素値との差分を算出する(S803)。そして、誤差の大小を判定する(S804)。例えば、各ブロックにおいて、入力された各画素の画素値と減色後のRGB値との差の絶対値の和を取り、その和が閾値以下である場合には差が小さいと判定できる。即ち、差が小さいと判定された場合には、1色に減色すると判定し、パターンフラグを0に特定する(S805)。そして、その減色した1色の画素値と当該特定したパターンフラグとを出力する(S806)。
また、誤差が大きいと判定された場合には、続いて2色へ減色処理を行う(S807)。ここでは、例えば4画素のうちRGB値の差が最も大きい2画素A、Bを抽出し、残りの2画素がA、Bどちらに近いかでクラスタリングする。そして、その各クラスタにおいて平均値を求めることで、2色化する。続いて、その2色化した画素値と入力の4画素の画素値との差分を計算する(S808)。そして、その結果に基づいて誤差の大小を判定する(S809)。ここで、差が小さいと判定された場合には、第1の実施形態と同様に図4のような対応関係に基づき、2色に減色した場合の画素値の位置に応じてパターンフラグを特定する(S810)。そして、減色した2色の画素値と当該特定したパターンフラグとを出力する(S811)。
また、ここでも誤差が大きいと判定された場合には、続いて3色への減色処理を行う(S812)。ここでは、例えば4画素のうち最もRGB値の差の小さい2画素を抽出し、その2画素の値の平均値を求め、それ以外の2画素の画素値と合わせて3色へ減色する。そして、その3色化した画素値と入力の4画素の画素値との差分を計算する(S813)。そして、その結果に基づいて誤差の大小を判定する(S814)。判定した結果、差が小さいと判定された場合には、第1の実施形態と同様に図4のような対応関係に基づき、3色に減色した場合の画素値の位置に応じてパターンフラグを特定する(S815)。そして、減色した3色の画素値と当該特定したパターンフラグとを出力する(S816)。
更に、ここでも誤差が大きいと判定された場合には、減色すると視覚的に問題が出るブロックと判定し、パターンフラグをEに特定する(S817)。そして、4画素全ての画素値と当該特定したパターンフラグを出力する(S818)。
以上により、入力時の画素値と減色をする候補の色数にて減色をした場合の画素値の差分を順次比較し、減色する色数を決定することとなる。
[メモリ格納処理]
次に、このようにして求めたパターンフラグと色データとを、DMAC203、253がメモリに書き込む処理(メモリ格納処理)を行う。このとき、DMAC203、253ではパターンフラグと第1色のデータと第2色、第3色、第4色のデータとの書き込み位置を変える。DMACにはパターンフラグ書き込みのためのメモリ先頭アドレスと、第1色データの書き込みのためのメモリ先頭アドレスと、第2色以降のデータを書き込むためのメモリ先頭アドレスそれぞれを示す3つのアドレスを指定する。すなわち、各ブロックのパターンフラグはメモリ上のパターンフラグ格納部(パターンフラグを格納するためのメモリ領域)にまとめて格納されることになる。また、各ブロックの第1色(1色目)の色データは、メモリ上の第1色格納部(各ブロックの1色目の色データを格納するためのメモリ領域)にまとめて格納されることになる。更に、各ブロックの第2〜4色目の色データは、メモリ上の第2、3、4色格納部(各ブロックの2〜4色目の色データを格納するためのメモリ領域)にまとめて格納されることになる。
図7は、DMACによる画像データのメモリ空間への書き込み例を示す図である。尚、サイズがM×N画素のRGB各色8ビットの画像を圧縮部へ入力する場合、パターンフラグのデータが格納されるパターンフラグ格納部のデータサイズは、(M×N×4/8)バイトとなる。また、第1色のデータが格納される第1色格納部のデータサイズは、(M×N×24/8)バイトとなる。また、第2色、第3色、第4色のデータ(つまり、第1色以外の色データ)が格納される第2、3、4色格納部のデータサイズは、処理対象となるラスタ画像に応じて異なる。これは、第2、3、4色が存在するブロック数が画像によって異なるためである。
ここで、第1色書き込み先頭アドレス以降のメモリ領域(第1色格納部、および第2、3、4色格納部)に関しては、画素の色データがそのままのビット数で格納されている。すなわち、JPEG等の圧縮データとは異なり、圧縮データをデコードしてラスタ画像に戻さなくても、各画素の色(画素値)を特定することができる。従って、1画素入力/1画素出力で完結する色処理、例えばLUTを用いた色変換やガンマ補正処理、行列演算を用いた色空間変換処理等を行う場合は、元のラスタ画像に戻す必要はなく、図7のように格納されているデータに対して直接処理を行うことができる。図2に示した色処理部212で画素単位の画像処理を行う場合は、メモリ106上の第1色書き込み先頭アドレス以降の画素データをDMAC211経由で読み込み、画素単位での処理を済ませた後に、メモリ106上へ書き戻す。このとき、何らかの画素単位処理によって画素のビット数が変わらない場合には、メモリ106上の同じ場所へ上書きすることでメモリ106の節約も可能である。
このように、圧縮データを直接用いることで、メモリバス上の転送効率が向上し、かつオリジナルのラスタ画像の画素数よりも少ない数の色データに対して処理することになり、高速処理が可能になる。
[データ構造の活用例]
また、図7に示すように、画像データを、パターンフラグと第1色とその他の色とに分類し、離散的にメモリ上へ格納している。したがって、第1色格納部には、ラスタ画像を2×2画素のブロックに分割して、各ブロックにおける左上の座標の画素をサンプリングした場合の画素値(色データ)がメモリ上に連続して存在することになる。
MFPにおいては、蓄積したPDL画像データやスキャン画像データのプレビュー表示、上述したネットワーク送信などの機能も有している。例えば、プリント解像度が600dpiであったとしても、プレビューや送信時にそこまでの解像度は通常必要とされず、300dpiやそれ以下で十分な場合が多い。このように、縮小データを得る必要がある場合は、第1色格納部に格納されている第1色の色データのみをまとめて抽出することで、簡単に半分のサイズのラスタ画像を得ることができる。
例えば、600dpiのラスタ画像が図7のようなデータに変換されて蓄積されていた場合の縮小送信時を説明する。送信する画像の解像度として300dpiが指定された場合は、第1色格納部に格納されているデータをそのまま抽出して送信すればよい。また、解像度として400dpiなど、第1色格納部にサンプリングされている300dpiより大きい解像度が指定されている場合には、次のように処理する。すなわち、パターンフラグ格納部と第1色格納部と第2、3、4色格納部とに格納されているデータに基づき、圧縮データを一度展開し、公知の変倍処理を用いて変倍し、当該変倍された画像を送信する。また、300dpiより小さい送信解像度指定がされている場合には、第1色格納部のデータのみを用いて、指定の解像度へ変倍処理を行う。このように、必要な画像サイズに応じて切り替えながらデータの読み込みを行うようにすればよい。
このようにオリジナルの1/2サイズの画像(第1色格納部に格納されているデータ)を得ることができるのであれば、その1/2サイズの画像を入力として同様の圧縮を再度実行すること(多段階圧縮)も可能である。入力の画像データが高解像度になればなるほど隣接する画素は同じ画素値と判断される可能性が高くなる。したがって、そのような高解像度画像の縮小画像には冗長性が残っており、多段で圧縮処理を行った場合の圧縮率も十分期待できる。例えば、2段階で圧縮処理を行った場合、1段目の処理結果の第1色格納部に格納されているデータを、2段目の圧縮処理の結果のデータで置き換えるようにすることで、更にデータ量を小さくすることが期待できる。この場合、元の入力された画像データを第1の画像データとすると、一度圧縮処理をされた画像データを第2の画像データとする。また、第1の画像データにおけるブロックを第1の処理対象としてのブロック、第2の画像データにおけるブロックを第2の処理対象としてのブロックとする。1段目の処理結果のパターンフラグ(第1のパターンフラグ)、2段目の処理結果のパターンフラグ(第2のパターンフラグ)、2段目の処理結果の第1色の色データ、2段目の処理結果の第2〜4色の色データ、1段目の処理結果の第2〜4色の色データが出力される。処理についても同様に、第1の画像データに対する圧縮処理の工程はそれぞれ、第1減色工程第1特定工程、第1抽出工程、第1出力工程となり、第2の画像データに対する圧縮処理の工程は、第2減色工程、第2特定工程、第2抽出工程、第2出力工程とも示すことができる。
[多段階圧縮に係る問題]
しかしながら、上述したような減色を伴う非可逆の圧縮を多段階続けて行うことで、以下に説明するような問題が起こる。図9を用いて具体的に説明する。説明を簡単にするため、図9では、各画素の画素値が0〜255で表されるものとして説明する。なお、実際には、RGB色空間の画素値を用いて平均や誤差などの計算を行うことになる。
まず図9(a)のような4x4画素(つまり2x2画素のブロック4つ)が入力された場合、1段目の圧縮処理により、各ブロックにおける色の配置を示すパターンフラグと色情報(第1色〜第4色の色データ)とが得られる。なお、1段目の圧縮処理時に、減色処理を行っても良いが、図9(a)の画素の場合は、誤差が大きくなるため減色されない(減色処理を適用しても画素値は変化しない)。
そして、1段目の圧縮処理の結果から各ブロックの第1色の色データを抽出する(1/2サイズの画像を得る)と、図9(b)のような2x2画素のブロックが出力される。このブロックはそれぞれ入力の2x2ブロックにおける左上の画素をサンプリングしたものに相当し、それぞれ図9(b)に示すような画素値を持つものとする。ここで再度、このブロックを入力として2段目の圧縮処理を行う事を考える。まず入力のブロックに対して前述したように減色処理を行う。例えば、各ブロックにおいて、この減色の際に発生する入力との誤差の総和を45まで許容するような閾値を取った場合、1段目の圧縮が終了した2x2ブロック(b)が入力された場合には2色への減色が可能と判定される。その結果、左上、右上、左下の3画素の平均値が算出され、結果として図9(c)に示されるような2x2ブロックに減色される。その際の誤差は、36となる。そして2色のパターンフラグと右下の画素の画素値と共に左上の画素の画素値(d)が2段目の圧縮結果として出力される。しかしながらこのデータを展開した場合、まず図9(c)のように展開され、更に図9(c)を展開すると、図9(e)のようになる。すなわち、最終的な4x4画素では図9(e)のようになり各ブロックのオリジナルとの誤差は総和として、左上のブロックで72、右上で14、左下で4、右下で0となり、左上のブロックで許容値を超えてしまう。また入力に対する誤差はトータルで90となる。これは2段目の圧縮の際に2x2の各画素を同じ重みで処理したことにより起こっている。1段目の圧縮の際に図9(a)の左上のブロックと右下のブロックでは1色ブロックとなり、それをサンプリングした図9(b)の左上の画素の値と右下の画素の値をパターンフラグに基づいて展開すると、図9(a)のように4画素にコピー、伝播される。しかしながら、2段目の圧縮時に減色処理を行うと、図9(c)のように減色されているので、これをパターンフラグに基づいて展開すると図9(e)のようになる。すなわち図9(c)の左上の画素と右下の画素の画素値は4画素に展開されることになるので、減色時の誤差が伝播する面積も4画素になる。したがって、減色による誤差の影響範囲が広くなっている。
[多段階圧縮処理]
そこで、本発明では、1段目でどのような圧縮がされた画素かどうかを判定(すなわち、画素のオリジナルサイズでの実占有面積を判定)し、減色の影響がどこまで広がるか考慮しながら2段目の減色・圧縮処理を行う。図10を用いて具体的に説明する。入力として4x4画素の図10(a)は図9(a)と同じであり、1段目の圧縮画像の図10(b)も図9(b)と同じになる。2段目の圧縮の際に減色処理を行うがその際1段目で各画素がどれだけの範囲に影響を及ぼすかを考慮しながら減色値を求める。
具体的には図10(b)において、左上の画素は4画素、右上は1画素、左下は1画素、そして右下の画素は4画素へそれぞれ影響を及ぼす。これは1段目のパターンフラグを参照すれば判定が可能になっており、左上、右下の画素には“0”のパターンフラグが付与されている(全ての画素が同一)。また、右上、左下の画素には“4”のパターンフラグが付いていることから判定可能である。このように、図10(b)の左上、右下の画素は展開時の影響が大きいことが判定できるので、これらの画素に対して平均値を算出する場合は4倍の重みを付けて減色処理を行う。なお、ここでは、展開時に影響する画素数が多くなるほど重みが大きくなるようにして重み付き平均を求める(4画素に展開される画素は4倍、3画素に展開される画素は3倍、2画素に展開される画素は2倍)。このとき、図10(b)は2色へ減色可能と判定され、その平均値算出結果は図9(c)と異なり、図10(c)のようになる。これは右下を除く3画素の平均値を算出する際に左上の画素に4倍の重みを掛けて求めたためである。このとき、その誤差は45となり許容閾値に収まる。そして図9(d)の場合と同様に、左上の画素の画素値(図10(d))を第1色として、パターンフラグ(2色を示すパターンフラグ6)と第2色(右下の画素の画素値)と共に最終的に出力される。図10(d)のデータを展開した場合、まず図10(c)のように展開され、更に図10(c)を展開すると、図10(e)のようになる。このとき、各ブロックのオリジナルとの誤差は総和として、左上のブロックで36、右上で23、左下で13、右下で0となり、許容値を超えるものは無くなる。また入力に対する誤差は、トータルで72となり、図9のものに比べ減っている。
つまり、圧縮された画素が復号された場合に、いくつの画素に影響するかをパターンフラグにより判定する。そして、影響される画素の数に応じて、圧縮された画素の値に重み付けを行って平均値を算出することにより減色した画像を、再度の圧縮時の画素値として用いる。
次に、前述の例では許容誤差の閾値を45としていたが、許容する値を下げ、より画質にシビアにした場合について、図11を用いて説明する。この場合、2段目の減色で2色への減色したときに許容誤差閾値を超えてしまうと、2色への減色ができなくなる。オリジナルの画像である図11(a)は前述の例と同じで、同様に1段目の結果である図11(b)も図10(b)と同様になる。続いて2段目の減色処理になるが、前例と同様に1段目で各画素がどの程度の広さに影響を及ぼすか考慮したうえで減色を行う。この場合、許容誤差閾値を45より小さく設定する(例えば40)と、3色までの減色しか許容されない。図11(b)を3色へ減色した場合、図11(c)のようになる。3色へ減色したブロックである図11(c)の誤差は総和として10となり最終的には、この左上の画素から得た画素値(第1色画素値)(図11(d))と、パターンフラグ(3色を示すパターンフラグB)と、第2・第3色画素値とを出力する。このデータを展開した場合、まず図11(c)に展開され、更に図11(e)のように展開されることになる。4x4画素である図11(e)へ展開した場合の各ブロックのオリジナルとの誤差は、左上で0、右上で5、左下で5、右下で0となり入力に対するトータルの誤差は10となる。データとしては4x4の画素に対して1画素のデータ増で誤差を減らすことが可能になる。
1段目の圧縮処理に対し2段目の圧縮処理は、解像度として半分の画像を扱うことになり、その画像劣化に対する許容度は1段目の圧縮処理より2段目の圧縮処理の方が小さい。つまり劣化に対する許容度を、段数を追うごとに制限することで劣化が広域に広がることを防ぐことができる。
このように2段目以降の圧縮の際にそれ以前でその画素がどの程度周囲に対して影響を及ぼしているのか考慮したうえで、減色処理を行うことでデータ量の増分が発生する場合もあるが、画像劣化を最小限に抑えることが可能になる。
[展開処理]
次に、圧縮部202、252と対になる展開部222、232を説明する。尚、展開部222、232では、上述したようなパターンフラグと色データを、ラスタ画像データへ戻す処理を行う。メモリ106上に図7に示すように配置されている圧縮データのパターンフラグ書き込み先頭アドレス、第1色書き込み先頭アドレス、及び第2、3、4色書き込み先頭アドレスの3つのアドレスをDMAC221、231へ指定する。DMAC221、231は3つのアドレスからデータを読み出し、展開部222、232へ転送する。
展開部222、232では、まず4ビットのパターンフラグを解釈し、そのブロック内の色数を算出する。第1色データに加え、色数に応じて第2、3、4色データを読み出し、各パターンフラグに対して予め定義されている色データの配置パターン(図4)にしたがって、第1色ならびに第2〜4色の色データを再配置する。以上の流れにより、2×2画素ブロックを展開、復号する。
また、画像サイズが1/2の画像を得たい場合、展開部222、232では、上述したように、パターンフラグと2、3、4色データを必要としないので、DMAC221、231には第1色書き込み先頭アドレスのみ指定する。これにより、メモリ106から第1色データのみの読み込みが行われ、画像が構成される。このように処理することで、メモリバスの帯域を節約することが可能になる。
以上、第1の実施形態によれば、比較的単純な圧縮方式でメモリ容量やメモリバス帯域の節約が可能になるだけでなく、画素単位での画像処理や縮小変倍を行う場合の処理負荷も削減することが可能になる。尚、第1の実施形態では、色データの配置を示すパターンとパターンフラグとを図4のように対応付けたが、これに限るものではない。例えば、2×2画素ブロックの右下画素の画素値が第1色となるように、色データの配置を示すパターンとパターンフラグとを対応付けて予め定義しても構わない。また、第1の実施形態では、ブロックのサイズとして2×2画素のサイズを用いて説明してきたが、これに限るものではない。また、圧縮の説明の際に画像データとしてRGB8ビットを例に説明してきたが、CMYKの色空間を取るものやGRAYスケールのデータ、或いは8ビット以外の画素値をとるものでも良い。
また第1の実施形態で説明した減色処理時にRGBの平均値を用いる方法は一例であり、他の公知の減色処理を用いて実施することも可能である。例えば、公知の色差を求める別の手法で代替することも可能である(ただし、このとき、前述したように上段の圧縮(1段目の圧縮)による影響を考慮して所定の基準で重みをつけるようにする)。また、第1の実施形態では、圧縮の段数を2段階までで説明しているが、それに限るものではない。
これまで説明してきたようにMFPにおいては画像の入力手段として、スキャナを用いたものやネットワークからのものなど多岐にわたり、その解像度も様々である。またその使用用途によっても種類が増える。例えば同じスキャナからの入力であっても、コピー用途のスキャンであれば600dpiといった比較的高い解像度となるが、ネットワークの送信やFAXであれば300dpi以下であることもある。またPDLの入力であればそのプリンタ解像度に応じてドライバからユーザが複数選択可能であり、通常600dpiや1200dpiなどが選べる。このようにさまざまな解像度に応じて圧縮時の圧縮段数を切り替え最適化させることで処理速度やデータサイズ、画質を最適化させることが可能になる。
PDLを例にとると、ワープロソフトで作成されたドキュメントを600dpiでプリントする場合と1200dpiでプリントする場合でその画像サイズは4倍の差がある。しかし実際のコンテンツは同じものであり、1200dpiの画像データには600dpiのそれに対し冗長性が高い。そのため1200dpiの画像が入力の場合には3段階の圧縮を行い、300dpiまで圧縮を行い、600dpiの画像の場合には2段階で止める。圧縮回数が多いことで画質の劣化やパフォーマンスに差は生まれるが、通常前述したように1200dpiのデータは冗長性が高いため、同じPDLデータであればこの両者でそれほどデータサイズに差は生まれない。
同様にスキャンの場合、600dpiであれば2段階、送信用の300dpiスキャンであれば1段階で止めるなどその入力解像度に応じて圧縮の段階数を切り替えることにより、データサイズとパフォーマンスの最適化を行うことが可能になる。
なお、本実施形態では、図4で説明したように、パターンフラグを定義する際に、左上の画素が第1色となるようにしたが、これに限るものではない。その他の位置の画素(例えば右下の画素)が第1色となるようにパターンフラグと配置パターンの対応付けを行っても構わない。
[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態を詳細に説明する。第2の実施形態では、第1の実施形態で説明したラスタ画像データを圧縮する別の処理を説明する。尚、第2の実施形態でも、画像処理装置として、第1の実施形態と同様に、MFPを例に説明する。
前述した実施形態における圧縮方法で高圧縮になることが期待される画像は、画像内で隣接画素値が同色ないし減色を行い同じとみなせるだけ十分近いレベルしか違わないような領域が多い画像である。そういった画像領域に着目すると、2×2画素のブロック内部だけでなく、隣接する2×2画素のブロックも含めて同色、もしくは十分同色とみなせるだけ差が小さい場合が多い。
そこで、第2の実施形態では、これまでの実施形態で説明したブロック内で閉じた圧縮方法に加え、隣接ブロックの類似性も含めて着目した圧縮方法を説明する。すでに述べたように図4では、2×2のブロックが取り得るパターンフラグの場合の数を15通りのパターンとして4ビットで表現している。4ビットパターンフラグでは16通りまで表現可能なので、1通りまだ記述できる余地がある。そこで、現在処理しているブロックの一つ前のブロックの画素値を記憶しておき、現在のブロックと全画素一致(若しくは減色した際に十分近い)と判定できる場合、そのブロックの画素値(色データ)は出力せず、前ブロックと同じというフラグだけ立てる。ここで十分に近いと判定する場合には、所定の閾値を予め保持しておくか、ユーザにより指定させるものとする。このパターンフラグに4ビットの残りの1通りを割り当てることにより、前述した実施形態で説明したパターンフラグのビット数を変化させることなく、データの更なる圧縮が可能になる。
図12は、新たなパターンフラグとして、前のブロックと同じパターンであることを示すフラグ(以下、リピートフラグと称する)を追加した場合のビット数を示す図である。この例では、パターンフラグとして前ブロックと一致(新たに画素値出力しない)を表す“F”を追加している。図12に示すように、パターンフラグFのブロックはパターンフラグの4ビットで表現することが可能となる。すなわち、パターンフラグがFのブロックは、前のブロックの画素値(色データ)とパターンフラグとを参照して展開することが可能となるので、画素値(色データ)を格納しなくて済み、圧縮率が向上する。
ここで、第2の実施形態における圧縮処理を、図13を用いて詳細に説明する。まず、ラスタ画像データを入力する(S1301)。そして、入力された画像データから2×2画素のブロックを切り出す(S1302)。次に、最初のブロックであれば過去に処理をしたブロックはないので(S1303でYES)、前述した第1の実施形態と同様に圧縮処理を行う(S1307)。一方、S1303で最初のブロックでないと判定された場合(S1303でNO)、1つ前に処理し、記憶していたブロックとの差分を算出する(S1304)。この処理は、例えば同じ座標位置での画素値の差における絶対値の和を求めることで可能である。ここで、差分が閾値より小さい場合は、1つ前に記憶した前のブロックと同じデータを使用可能であると判定する(S1305でYES)。そして、前ブロックと同じであることを示すパターンフラグFに特定する(S1306)。この場合、画素値(色データ)の出力は省略する。すなわち、処理対象のブロックとその前に処理対象となったブロックとの差異が小さいと判定した場合は、当該処理対象ブロックに対しては、前のブロックの繰り返しを示すパターンフラグF(リピートフラグ)を出力する。
また、S1305で差分が閾値より小さくない場合(S1305でNO)、前ブロックとの差が大きいため前ブロックのデータの再利用はできないと判定し、前述した実施形態と同様の圧縮処理を行う(S1307)。その後、そのデータの展開を行い(S1308)。そして、その展開された2×2画素のブロックを前のブロックのデータとして記憶更新しておく(S1309)。なお、本実施形態では、S1307で圧縮処理を行った後に、S1308〜S1309で前ブロックのデータを更新するようにしているが、これに限るものではない。例えば、S1307で圧縮処理を行う前に、当該処理対象のブロックの画素値を用いて前ブロックのデータを更新するようにしても構わない。
次に、記憶ブロックとの差分が閾値より小さくないブロックに対してはS1307で圧縮処理を行った結果のパターンフラグと色データとを出力し、また小さいブロックに対しては、パターンフラグFのみ出力する(S1310)。この処理を最後のブロックまで繰り返すことで(S1311でYES)、画像全体の圧縮処理を終了する。
[データに対する追加の処理]
上記フローを適用することで、パターンフラグのビット数が4ビットと増えていないため、前述した第1の実施形態に比べて確実に圧縮率を向上させることが可能である。しかし、第1色の画像サイズも、第2、3、4色データと同様に不定(画像によって異なる)になってしまう。従って、図14に示すように、第1色データと連続したメモリ空間に第2、3、4色のデータを格納することができず、第1色と、第2、3、4色のデータを離散的に持たせる必要がある。前述した図2に示す色処理部212では、メモリ106上の第1色書き込み先頭アドレス以降の画素データをDMAC211経由で読み込み、画素単位で処理を済ませた後にメモリ106上へ書き戻せた。しかしながら、第2の実施形態では、第1色と、第2、3、4色が連続していないので、第1色のアドレスに加えて第2、3、4色の書き込み先頭アドレスも含めて色処理部212のDMAC211に指定する必要がある。
このように前のブロックとの一致も含めたパターンフラグを付与し、圧縮処理を行うことで圧縮率の向上こそ望めるが、オリジナルの1/2サイズの画像を取得するためには一部の展開処理が必要になる。つまり第1色データを読み取るのと併せてパターンフラグデータも読み取る。そして、その中で前のブロックの繰り返しを示すパターンフラグFが読み取られた場合には、そのときの第1色を繰り返すことでオリジナルの1/2サイズの画像を取得することができる。処理としては第1色データに加えてパターンフラグ中のFを読み取るだけで、第2、3、4色データは不要である。このようにして一度展開した1/2サイズの画像に対して再度圧縮をかけることが可能になる。
しかしながら、多段で圧縮する場合には、その最終段以外の圧縮に対しては上述した展開処理が不必要に発生してしまう。そこで、多段の圧縮を行うことがはじめからわかっている場合には最終段以外の圧縮の際には前述したような前ブロックとの一致による圧縮は行わず、最終段の圧縮でこれまで述べたような前ブロックとの隣接も含めた圧縮を行う。こうすることで、1/2サイズの画像取得の手間を軽減することができる。
ここでは、着目ブロックに対し、1つ左に位置するブロックを前ブロックと定義し、そのブロックとの一致、不一致を状態として保持しているが、これに限るものではない。例えば、着目ブロックに対し、上に位置するブロックとの一致やパターンフラグのビット数を拡張することで、より広いエリアとの一致を規定できる。
[展開処理]
次に、圧縮処理と対になる展開処理を説明する。展開処理は、前述したようなパターンフラグ、画素データからラスタ画像データに戻す処理である。メモリ106上に図11に示すように配置されている圧縮データのパターンフラグ書き込み先頭アドレス、第1色書き込み先頭アドレス、第2、3、4色書き込み先頭アドレスの3つのアドレスをDMAC221、231へ指定する。パターンフラグを参照して、前ブロックと同じと識別された際は、その注目ブロックの出力は前ブロックの出力そのものを用い、それ以外のフラグの場合は前述した方法で展開が可能である。尚、この際に1ブロック分は次ブロックで利用する可能性があるのでバッファする必要がある。
しかしながら、展開処理で画像サイズを1/2にする場合には、前述したようにメモリ106から第1色データのみ読み込みを行い、画像を構成するだけでは隣接ブロックとの一致データを展開することができない。そのため、第2の実施形態の展開処理では、パターンフラグを参照しながら、第1色のデータに基づいて1/2サイズの画像を復元する。ここで、第2、3、4色のデータは使用せずに済む。具体的には、パターンフラグを参照した際、前ブロックと同じと識別された場合は、第1色データ中の前の色データを繰り返し出力することで展開が可能になる。これにより、メモリバスの帯域を節約することが可能になる。
第2の実施形態によれば、隣接ブロック間の類似性に着目することでブロック間の冗長性を少なくでき、圧縮率を高めることが可能となり、前述した実施形態で説明した1画素入力、1画素出力で完結する色処理の実施と同様な効果が得られる。
[第3の実施形態]
次に、図面を参照しながら本発明に係る第3の実施形態を詳細に説明する。第3の実施形態では、前述した実施形態におけるラスタ画像データの圧縮処理を、ランダムアクセス性を高めたものである。なお、第3の実施形態でも、画像処理装置として、第1の実施形態と同様に、MFPを例に説明する。
前述したように、圧縮処理は画像データに依存し、その圧縮データサイズが変わる可変長圧縮処理である。そのため、圧縮データに対してのランダムアクセス性はなく、画像の一部だけ切り出して処理するなどといった目的には向かない。
そこで、これまでの実施形態で説明した方法に対して、よりランダムアクセス性を高めることに着目した圧縮方法を、図15を用いて詳細に説明する。まず、図16に示すページ単位にラスタ画像データを入力する(S1501)。そして、画像データのページ単位に1画素のページ背景画素を設定する(S1502)。これは圧縮処理時の初期記憶ブロックとして用いるための画素データで、通常、白(RGB各色8ビット画像であれば255、CMYK画像であれば0)が用いられる。次に、圧縮部202の入力となる画像データを所定の大きさに分割する(S1503)。第3の実施形態では、32×32画素とする。以下の説明では、これまでの2×2画素のブロックと区別するために、この分割された画素のことを「タイル」と呼ぶ。1つのタイル中には、2×2画素ブロックが16×16個存在することになる。図16は、ページと32×32画素のタイルと2×2画素のブロックとの関係を示す図である。
次に、タイルに所定の固定長のヘッダ情報を付与する(S1504)。このヘッダ情報は、ページID、タイル座標、色空間、画素データのビット数、タイルのデータサイズ、属性情報の有無、圧縮フラグ等の情報である。ここで、ページIDは、ページ単位に付与されるユニークなID番号である。タイル座標は、このタイルがページ単位のラスタ画像上どの位置にあるかを示す座標情報である。ここには、X座標とY座標の2次元で座標が記述される。座標情報は、図16にて示したX座標、Y座標に対応している。色空間は、このタイルが、RGB画像なのかCMYK画像なのかGRAY−SCALE画像なのかを識別するための識別子を示す情報である。画素データのビット数は、タイル内の1画素当たりのビット長を示す情報である。データサイズは、このタイルの第1色のデータサイズと第2、3、4色のデータのデータサイズとを示すバイト単位の情報である。属性情報の有無は、画像データに文字や写真といった属性情報が画素単位で付与されているか否かを示す情報である。圧縮フラグは、このタイルが圧縮されたデータか、非圧縮のデータかまたそのとき何段回の圧縮が施されているかを示すフラグの情報である。尚、この圧縮フラグに関しては、更に詳述する。
次に、上述のタイル単位に圧縮処理を適用する(S1505)。この圧縮処理は、前述した実施形態で説明した圧縮処理と同様であり、その説明は割愛する。尚、最初の2×2画素ブロックを圧縮する際には記憶ブロックとして初期記憶ブロックを定義し、背景画素で埋められたブロックを用いる。これにより、タイル単位に最初の2×2画素ブロックの画素データを出力しないで済む可能性があり、その分のデータ量を削減できる。その可能性がもっとも高いのは、通常の原稿画像であれば白であり、上記で述べたように背景画素を白に設定したのはデータ量削減の可能性を踏まえたためである。
次に、圧縮処理されたタイルデータのデータサイズを算出する。これはパターンフラグサイズ、第1色データサイズ、第2、3、4色データサイズの合計になる。パターンフラグを必ず付与するので、必ずしもオリジナルの画像データよりデータサイズが圧縮される保証はない。そのため、もし圧縮後のタイルデータのデータサイズがオリジナルのタイルデータのデータサイズを超えてしまった場合には、オリジナルの画像データを出力する方がトータルとしてメモリ効率が良い。従って、圧縮後のデータサイズとオリジナルのデータサイズとを比較する(S1506)。そして、圧縮後のデータサイズがオリジナルのデータサイズを超えていれば(S1506YES)、ヘッダの圧縮フラグの値は変更しない。これに対し、圧縮後のデータサイズがオリジナルのデータサイズを超えていなければ(S1506NO)、フラグの値に1を加える(S1508)。
そして、上述の比較の結果を受けて、S1508の処理の後には、圧縮されたタイルデータを当該タイルのヘッダ情報と一緒に1つのデータにパッキングする(S1509)。これに対し、比較の結果、圧縮後のデータサイズがオリジナルのデータサイズを超えていれば(S1506YES)、オリジナルのタイルデータを、当該タイルのヘッダ情報と一緒に1つのデータにパッキングする(S1507)。このパッキングされたデータのデータ構造を図17に示す。これ以降、上述のヘッダを含むデータの単位を「パケット」と呼ぶ。このようなパケットにするために、タイル単位で圧縮処理が終了し、データサイズが確定した後、第1色格納部と第2、3、4色格納部の間を詰めた状態でデータをパッキングする。そして、S1507もしくはS1509の処理の後、DMACを経由してメモリ上へ出力する(S1510)。次に、このパケットの座標とサイズとをリストとして列挙し、パケット管理テーブルとして作成する(S1511)。このパケット管理テーブルの一例を図18に示す。上述の処理を最後のタイルまで繰り返すことで(S1512)、ページ単位のラスタ画像の圧縮処理を終了する。
尚、上述のタイル単位でデータをメモリへ書き出すと、図19に示すように、パケット毎にサイズが異なり、それぞれのパケットの先頭アドレスがパケットのサイズに応じた位置になる。そのため、図18に示すパケット管理テーブルを用いて、タイルにおける任意の座標のパケットに対応する先頭アドレスを探索する。従って、先頭パケットの書き込みアドレスが既知であれば、パケット管理テーブルに記載されている座標までのデータサイズをオフセットとして任意のパケットに対応する先頭アドレスを求めることが可能になる。例えば、図19に示す第3パケットを読み込む場合は、第1、第2パケットのサイズ合計をパケット管理テーブルより求め、先頭パケットのアドレスに対してオフセットを掛けることで第3パケットアドレスを算出する。そして、そこからデータを読み込むことで第3パケットのデータを取得することが可能になる。
このように、タイル単位に任意のデータへのアクセスが可能になるので、画像の部分的な処理が可能になる。例えば、画像の一部の領域を抽出して処理したい場合は、当該領域に対応するパケットのデータを取得して処理すればよい。
また、タイル単位で多段の圧縮を施すことも可能である。そのときのパケット単位のフローを、図20を用いて説明する。まず32x32画素のタイルデータを入力する(S2001)。次に、前述したとおり背景色を設定する(S2002)。そして、パケットから1色目のデータを取り出す(S2003)。このとき最初の1段目の圧縮においては、32x32画素すべてが対象となる。この1色目の画像に対し、前述のように圧縮処理(S2004)を行う。その後、その圧縮サイズをオリジナルデータのサイズと比較する。この結果オリジナルを超えたと判定された場合(S2005でYES)には、パケットヘッダ中の圧縮フラグに対しては変更せず、生データここでは1色目のデータそのものをパケットにパッキングする(S2006)。そして、当該パケットを出力する(S2010)。
圧縮の結果、オリジナルデータに対して圧縮したデータサイズが超えていないと判定された場合(S2005でNO)は、パケットヘッダ中の圧縮フラグに対して1を加える(S2007)。つまりこの圧縮フラグで示される数字の分だけ圧縮の段数が進んだことを意味する。S2007の後、その圧縮データ、つまり第1色とそのパターンフラグ、そして第2、3、4色データをパケットにパッキングする(S2008)。このときその圧縮の際に発生した第1色のデータ量および第2、3、4のデータ量を段数毎ヘッダに記載する。そして、その第1色のデータ量が2x2画素以上あった場合(S2009でYES)には、S2003へ戻り、再度この第1色データに対して圧縮処理を施す。第1色のデータ量が2x2画素を下回った場合(S2010でNO)、すなわち1画素しかデータが残っていない場合にはもう圧縮するだけのデータが残っていないので、パケットを出力する(S2010)。そして、パケット管理テーブルにパケットの座標とサイズを記録し(S2011)、パケット単位の処理を終了する。
32x32画素のタイルを入力とする場合に、この圧縮のループは最大で5回(32x32、16x16、8x8、4x4、2x2)繰り返されることになる。このときのパケットのデータ構造としては図21のようになり、第1色格納部に対してデータが入れ子になる。
また、展開処理は、パケット毎にヘッダが付与されているので、各ヘッダに記載されている情報を用いて処理を行う。まず、圧縮フラグが非圧縮を示している場合にはヘッダを取り除いたデータを出力し、そうでない場合には展開処理を行う。展開処理では、ヘッダよりパターンフラグ格納位置、第1色のデータ格納位置、及び第2、3、4色格納位置を求め、後は順次前述した実施形態と同様に、タイルの画像データへ展開する。
例えば、パターンフラグの位置は固定長のヘッダなので、オフセットすることで求めることができる。第1色のデータは、タイルのサイズが32×32画素であれば、パターンフラグのサイズが32×32ビットで固定になり、パターンフラグ位置からオフセットを掛けることで求める。最後に、第2、3、4色のデータは第1色のデータが不定長なので、ヘッダに記載されている第1色サイズを参照し、第1色のデータ位置からオフセットを掛けることで求める。
第1色のデータがさらに圧縮されている場合には、その段数毎ヘッダに記載されている次のデータサイズを参照し、そのサイズ分オフセットしながらデータを読み出す。そして、展開処理を、段を追って行う。
第3の実施形態によれば、画像データに依存して、その圧縮データサイズが変わる可変長圧縮処理でも、圧縮データに対してのランダムアクセス性を高め、タイル単位で画像の一部だけ切り出して処理することが可能になる。
[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (16)

  1. 第1の画像データを2×2画素のサイズのブロックに分割し、分割された当該ブロックそれぞれを順に第1の処理対象にし、当該第1の処理対象のブロック内の各画素の色データを比較することにより、当該ブロックに含まれる色データの配置パターンを示す第1のパターンフラグを特定する第1特定手段と、
    前記2×2画素のサイズのブロックの予め定義された位置の画素に対応する色データを第1色の色データとして抽出し、更に、前記第1の処理対象のブロックに含まれる色数が2〜4のいずれかである場合、特定された前記第1のパターンフラグで定義されている配置パターンに対応する第2〜4色の色データを抽出する第1抽出手段と、
    前記第1特定手段で特定された各ブロックの第1のパターンフラグと、前記第1抽出手段で抽出された各ブロックの前記第1色の色データと、前記第1抽出手段で抽出された各ブロックの第2〜4色の色データとを出力する第1出力手段と、
    前記第1出力手段で出力された第1色の色データで構成される第2の画像データを2×2画素のサイズのブロックに分割し、分割された当該ブロックそれぞれを順に第2の処理対象にし、当該第2の処理対象のブロックを構成する各画素に対応する前記第1のパターンフラグに基づいて各画素値に重み付けを行うことにより、当該第2の処理対象のブロックに対する減色処理を行う第2減色手段と、
    前記第2減色手段で減色処理を行った後の前記第2の処理対象のブロックにおける各画素の色データを比較することにより、当該第2の処理対象のブロックに含まれる色データの配置パターンを示す第2のパターンフラグを特定する第2特定手段と、
    前記第2減色手段で減色処理を行った後の前記2×2画素のサイズのブロックの予め定義された位置の画素に対応する色データを第1色の色データとして抽出し、更に、前記第2の処理対象のブロックに含まれる色数が2〜4のいずれかである場合、特定された前記第2のパターンフラグに定義された配置パターンに対応する第2〜4色の色データを抽出する第2抽出手段と、
    前記第2特定手段で特定された各ブロックの第2のパターンフラグと、前記第2抽出手段で抽出された各ブロックの前記第1色の色データと、前記第2抽出手段で抽出された各ブロックの第2〜4色の色データとを出力する第2出力手段と、
    を有することを特徴とする画像処理装置。
  2. 前記第2減色手段は、当該第2の処理対象のブロックを構成する各画素を展開した場合に影響する画素数が多いほど重み付けが大きくなるように、当該第2の処理対象のブロックを構成する各画素に対応する前記第1のパターンフラグに基づいて各画素値に重み付けを行って減色後の画素値を計算することにより、当該第2の処理対象のブロックに対する減色処理を行うことを特徴とする請求項1に記載の画像処理装置。
  3. 前記第1の画像データを2×2画素のサイズのブロックに分割し、分割された当該ブロックそれぞれを順に第1の処理対象にし、当該第1の処理対象のブロックに対する減色処理を行う第1減色手段を更に有し、
    前記第1特定手段は、前記第1減色手段で減色処理を行った後の第1の処理対象のブロックにおける各画素の色データを比較することにより、当該ブロックに含まれる色データの配置パターンを示す第1のパターンフラグを特定することを特徴とする請求項1または2記載の画像処理装置。
  4. 前記第1出力手段で出力された第1のパターンフラグおよび第2〜4色の色データと、前記第2出力手段で出力された第2のパターンフラグおよび第1色の色データおよび第2〜4色の色データとを格納する格納手段を更に有することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
  5. 処理対象のブロックの1つ前に処理対象となったブロックにおける各画素の色データを記憶しておく記憶手段を更に有し、
    前記第2特定手段は、前記第2の処理対象のブロックにおける各画素の色データと、前記記憶手段に記憶された各画素の色データとの差異が所定の閾値より小さい場合、当該第2の処理対象のブロックが1つ前に処理対象となったブロックの繰り返しであることを示すパターンフラグを出力することを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。
  6. 画像データを予め定められた画素数のブロックごとに処理対象の着目ブロックとして圧縮処理する画像処理装置であって、
    記着目ブロックに対して減色処理を行う減色手段と、
    記着目ブロックにおける各画素の間の色データを比較することにより、当該着目ブロックに含まれる色データの配置パターンを特定する特定手段と、
    前記ブロックにおける予め定義された位置の画素に対応する色データを第1色の色データとして抽出し、更に、前記ブロックに含まれる第1色以外の色データを抽出する抽出手段と、
    前記特定手段で特定された前記配置パターンと、前記抽出手段で抽出された第1色の色データと第1色以外の色データとを出力する出力手段と、
    前記出力手段で出力された第1色の色データで構成される第2の画像データを予め定められた画素数のブロックごとに処理対象の着目ブロックとして、前記減色手段よる減色処理を行するように制御し、更に、前記減色手段によって減色された前記着目ブロックに対し、前記特定手段と前記抽出手段と前記出力手段とによる処理を再実行するように制御する制御手段と、
    を有し、
    前記減色手段は、前記出力手段で出力された第1色の色データで構成される前記第2の画像データを予め定められた画素数のブロックごとに処理対象の着目ブロックとして前記減色処理を行する場合、前記特定手段で特定された前記配置パターンに基づいて、当該処理対象の着目ブロックに含まれる画素の画素値に重み付けを行いながら前記減色処理を行うことを特徴とする画像処理装置。
  7. 前記減色手段は、前記色データの間で同色と見なして減色するか否か判定する際に用いる閾値を受け付ける設定手段を更に有することを特徴とする請求項6に記載の画像処理装置。
  8. 前記着目ブロックよりも前に処理対象となったブロックの色データを記憶しておく記憶手段を更に有し、
    前記出力手段は、前記着目ブロックの色データと、前記記憶手段に記憶された色データとの差異が所定の閾値より小さい場合は、当該着目ブロックの色データの代わりに、前記記憶手段に記憶された色データに対応するブロックの繰り返しを示す情報を出力することを特徴とする請求項6または7記載の画像処理装置。
  9. 前記出力手段は、前記ブロックにおける各画素に対して、前記画像データの属性を示す属性情報が付与されている場合に、当該属性情報を加えて出力することを特徴とする請求項6乃至8のいずれか一項に記載の画像処理装置。
  10. 前記画像データを複数の前記ブロックからなるタイルに分割する分割手段を更に有し、当該タイルに含まれるブロックを順に前記着目ブロックとして処理することを特徴とする請求項6乃至8のいずれか一項に記載の画像処理装置。
  11. 前記タイルは、32×32画素のサイズであることを特徴とする請求項10に記載の画像処理装置。
  12. 前記ブロックは、2×2画素のサイズであることを特徴とする請求項6乃至11のいずれか一項に記載の画像処理装置。
  13. 前記第1色の色データは、前記ブロックのうち、左上の端の位置にある画素の値であることを特徴とする請求項1乃至12のいずれか一項に記載の画像処理装置。
  14. 第1特定手段が、第1の画像データを2×2画素のサイズのブロックに分割し、分割された当該ブロックそれぞれを順に第1の処理対象にし、当該第1の処理対象のブロック内の各画素の色データを比較することにより、当該ブロックに含まれる色データの配置パターンを示す第1のパターンフラグを特定する第1特定工程と、
    第1抽出手段が、前記2×2画素のサイズのブロックの予め定義された位置の画素に対応する色データを第1色の色データとして抽出し、更に、前記第1の処理対象のブロックに含まれる色数が2〜4のいずれかである場合、特定された前記第1のパターンフラグで定義されている配置パターンに対応する第2〜4色の色データを抽出する第1抽出工程と、
    第1出力手段が、前記第1特定工程にて特定された各ブロックの第1のパターンフラグと、前記第1抽出工程にて抽出された各ブロックの前記第1色の色データと、前記第1抽出工程にて抽出された各ブロックの第2〜4色の色データとを出力する第1出力工程と、
    第2減色手段が、前記第1出力工程にて出力された第1色の色データで構成される第2の画像データを2×2画素のサイズのブロックに分割し、分割された当該ブロックそれぞれを順に第2の処理対象にし、当該第2の処理対象のブロックを構成する各画素に対応する前記第1のパターンフラグに基づいて各画素値に重み付けを行うことにより、当該第2の処理対象のブロックに対する減色処理を行う第2減色工程と、
    第2特定手段が、前記第2減色工程にて減色処理を行った後の前記第2の処理対象のブロックにおける各画素の色データを比較することにより、当該第2の処理対象のブロックに含まれる色データの配置パターンを示す第2のパターンフラグを特定する第2特定工程と、
    第2抽出手段が、前記第2減色工程にて減色処理を行った後の前記2×2画素のサイズのブロックの予め定義された位置の画素に対応する色データを第1色の色データとして抽出し、更に、前記第2の処理対象のブロックに含まれる色数が2〜4のいずれかである場合、特定された前記第2のパターンフラグに定義された配置パターンに対応する第2〜4色の色データを抽出する第2抽出工程と、
    第2出力手段が、前記第2特定工程にて特定された各ブロックの第2のパターンフラグと、前記第2抽出工程にて抽出された各ブロックの前記第1色の色データと、前記第2抽出工程にて抽出された各ブロックの第2〜4色の色データとを出力する第2出力工程と、
    を有することを特徴とする画像処理方法。
  15. 画像データを予め定められた画素数のブロックごとに処理対象の着目ブロックとして圧縮処理する画像処理方法であって、
    減色手段が、記着目ブロックに対して減色処理を行う減色工程と、
    特定手段が、記着目ブロックにおける各画素の間の色データを比較することにより、当該着目ブロックに含まれる色データの配置パターンを特定する特定工程と、
    抽出手段が、前記ブロックにおける予め定義された位置の画素に対応する色データを第1色の色データとして抽出し、更に、前記ブロックに含まれる第1色以外の色データを抽出する抽出工程と、
    出力手段が、前記特定手段で特定された前記配置パターンと、前記抽出手段で抽出された第1色の色データと第1色以外の色データとを出力する出力工程と、
    制御手段が、前記出力工程で出力された第1色の色データで構成される第2の画像データを予め定められた画素数のブロックごとに処理対象の着目ブロックとして、前記減色工程よる減色処理を行するように制御し、更に、前記減色工程によって減色された前記着目ブロックに対し、前記特定工程と前記抽出工程と前記出力工程とによる処理を再実行するように制御する制御工程と、
    を有し、
    前記減色工程にて、前記出力工程で出力された第1色の色データで構成される前記第2の画像データを予め定められた画素数のブロックごとに処理対象の着目ブロックとして前記減色処理を行する場合、前記特定工程で特定された前記配置パターンに基づいて、当該処理対象の着目ブロックに含まれる画素の画素値に重み付けを行いながら前記減色処理を行うことを特徴とする画像処理方法。
  16. コンピュータを、請求項1乃至13のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
JP2010089855A 2010-04-08 2010-04-08 画像処理装置、画像処理方法、及びプログラム Expired - Fee Related JP5393574B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010089855A JP5393574B2 (ja) 2010-04-08 2010-04-08 画像処理装置、画像処理方法、及びプログラム
US13/255,238 US8553301B2 (en) 2010-04-08 2011-03-09 Image processing apparatus, method, and program product to perform color-reduction processing for a block
PCT/JP2011/056133 WO2011125433A1 (en) 2010-04-08 2011-03-09 Image processing apparatus, image processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010089855A JP5393574B2 (ja) 2010-04-08 2010-04-08 画像処理装置、画像処理方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2011223276A JP2011223276A (ja) 2011-11-04
JP2011223276A5 JP2011223276A5 (ja) 2013-05-23
JP5393574B2 true JP5393574B2 (ja) 2014-01-22

Family

ID=44762393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010089855A Expired - Fee Related JP5393574B2 (ja) 2010-04-08 2010-04-08 画像処理装置、画像処理方法、及びプログラム

Country Status (3)

Country Link
US (1) US8553301B2 (ja)
JP (1) JP5393574B2 (ja)
WO (1) WO2011125433A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5595151B2 (ja) 2010-07-13 2014-09-24 キヤノン株式会社 画像処理装置、画像処理装置における圧縮方法、および、プログラム
US20130120465A1 (en) * 2011-11-11 2013-05-16 Qualcomm Mems Technologies, Inc. Systems and methods for driving multiple lines of display elements simultaneously
WO2013095447A1 (en) * 2011-12-21 2013-06-27 Intel Coproration Perceptual lossless compression of image data for transmission on uncompressed video interconnects
JP2013183240A (ja) * 2012-02-29 2013-09-12 Brother Ind Ltd 画像処理装置および画像処理プログラム
WO2014177172A1 (en) * 2013-04-29 2014-11-06 Hewlett-Packard Development Company, L P Color image processing
JP6001010B2 (ja) 2014-06-11 2016-10-05 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US10115177B2 (en) 2014-06-27 2018-10-30 Samsung Electronics Co., Ltd. Online texture compression and decompression in hardware
US9947071B2 (en) 2014-06-27 2018-04-17 Samsung Electronics Co., Ltd. Texture pipeline with online variable rate dictionary compression
KR102231222B1 (ko) * 2014-12-04 2021-03-23 삼성전자주식회사 통신 시스템에서 비디오 데이터를 송신하기 위한 장치 및 방법
US10977748B2 (en) 2015-09-24 2021-04-13 International Business Machines Corporation Predictive analytics for event mapping
US10140728B1 (en) * 2016-08-11 2018-11-27 Citrix Systems, Inc. Encoder with image filtering and associated methods
US10909779B2 (en) * 2016-08-11 2021-02-02 Tekion Corp 3D vehicle model data capturing and retrieving for vehicle inspection, service and maintenance
US10860399B2 (en) 2018-03-15 2020-12-08 Samsung Display Co., Ltd. Permutation based stress profile compression
US10776957B2 (en) 2018-10-02 2020-09-15 Samsung Electronics Co., Ltd. Online image compression in hardware
US10803791B2 (en) 2018-10-31 2020-10-13 Samsung Display Co., Ltd. Burrows-wheeler based stress profile compression
US11308873B2 (en) 2019-05-23 2022-04-19 Samsung Display Co., Ltd. Redundancy assisted noise control for accumulated iterative compression error
US11245931B2 (en) 2019-09-11 2022-02-08 Samsung Display Co., Ltd. System and method for RGBG conversion
TWI733188B (zh) * 2019-09-11 2021-07-11 瑞昱半導體股份有限公司 用於獨立物件之運動估計的裝置以及方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625759A (en) * 1995-05-08 1997-04-29 Novalogic, Inc. Real-time video and animation playback process
JPH10257488A (ja) 1997-03-12 1998-09-25 Oki Data:Kk 画像符号化装置および画像復号化装置
US6373890B1 (en) * 1998-05-05 2002-04-16 Novalogic, Inc. Video compression and playback process
GB2343598B (en) 1998-11-06 2003-03-19 Videologic Ltd Image processing apparatus
JP3790728B2 (ja) 2002-09-11 2006-06-28 株式会社東芝 画像符号化装置、画像復号化装置及びそれらの方法
JPWO2004068844A1 (ja) 2003-01-30 2006-05-25 富士通株式会社 画像圧縮方法、画像復元方法、プログラム及び装置
JP2006261882A (ja) 2005-03-16 2006-09-28 Toshiba Corp 画像形成装置および画像形成方法
JP4636974B2 (ja) 2005-09-01 2011-02-23 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP2008109394A (ja) 2006-10-25 2008-05-08 Canon Inc 画像処理装置及びその方法、プログラム
JP4495745B2 (ja) * 2007-04-18 2010-07-07 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム、および記憶媒体
JP2009100026A (ja) 2007-10-12 2009-05-07 Canon Inc 画像処理装置
JP5241311B2 (ja) 2008-05-08 2013-07-17 キヤノン株式会社 画像形成装置、画像形成方法およびプログラム
US8274710B2 (en) 2008-06-25 2012-09-25 Canon Kabushiki Kaisha Image processing using count variation
JP4978598B2 (ja) * 2008-09-17 2012-07-18 コニカミノルタビジネステクノロジーズ株式会社 画像処理方法、画像処理装置、および画像処理プログラム
JP5173873B2 (ja) * 2008-11-20 2013-04-03 キヤノン株式会社 画像符号化装置及びその制御方法
JP4748333B2 (ja) * 2009-03-18 2011-08-17 富士ゼロックス株式会社 画像処理装置および画像処理プログラム
JP5558767B2 (ja) 2009-09-25 2014-07-23 キヤノン株式会社 画像処理装置及びその処理方法
JP5424820B2 (ja) 2009-11-06 2014-02-26 キヤノン株式会社 画像形成装置、画像形成方法およびプログラム
JP5501041B2 (ja) * 2010-03-15 2014-05-21 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP5595151B2 (ja) * 2010-07-13 2014-09-24 キヤノン株式会社 画像処理装置、画像処理装置における圧縮方法、および、プログラム
JP5643574B2 (ja) * 2010-08-26 2014-12-17 キヤノン株式会社 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
JP2011223276A (ja) 2011-11-04
WO2011125433A1 (en) 2011-10-13
US20120262738A1 (en) 2012-10-18
US8553301B2 (en) 2013-10-08

Similar Documents

Publication Publication Date Title
JP5393574B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP5558767B2 (ja) 画像処理装置及びその処理方法
JP5595151B2 (ja) 画像処理装置、画像処理装置における圧縮方法、および、プログラム
US8452083B2 (en) Image processing apparatus, image processing method, and computer-readable medium
JP4979323B2 (ja) 画像処理装置及びその制御方法
US8401287B2 (en) Image processing apparatus and processing method thereof
US8780414B2 (en) Image processing apparatus, image processing method, and computer-readable medium for image data compression
US8406517B2 (en) Image processing apparatus and image processing method
JP5479225B2 (ja) 画像処理装置、画像処理方法及びプログラム
US8494261B2 (en) Image processing apparatus, image processing method, and computer-readable medium
JP3346051B2 (ja) 画像処理装置
JP5595142B2 (ja) 画像処理装置及び画像処理方法
JP2012095227A (ja) 画像処理装置、画像処理方法、及びプログラム
JP5606223B2 (ja) 画像処理装置及びその処理方法
JP5643578B2 (ja) 画像処理装置、画像処理方法、およびプログラム
US8837021B2 (en) Image processing apparatus, control method, and computer-readable medium
JP2012054789A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2013121154A (ja) 画像処理装置
JP2012074897A (ja) 画像処理装置、画像処理方法、およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130405

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130405

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131015

R151 Written notification of patent or utility model registration

Ref document number: 5393574

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees