JP2011071767A - 画像処理装置及びその処理方法 - Google Patents

画像処理装置及びその処理方法 Download PDF

Info

Publication number
JP2011071767A
JP2011071767A JP2009221444A JP2009221444A JP2011071767A JP 2011071767 A JP2011071767 A JP 2011071767A JP 2009221444 A JP2009221444 A JP 2009221444A JP 2009221444 A JP2009221444 A JP 2009221444A JP 2011071767 A JP2011071767 A JP 2011071767A
Authority
JP
Japan
Prior art keywords
color
block
data
color 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.)
Granted
Application number
JP2009221444A
Other languages
English (en)
Other versions
JP5558767B2 (ja
Inventor
Hirokazu Tamura
宏和 田村
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 JP2009221444A priority Critical patent/JP5558767B2/ja
Priority to KR1020127009193A priority patent/KR101490215B1/ko
Priority to PCT/JP2010/065359 priority patent/WO2011037009A1/en
Priority to CN201080042848.0A priority patent/CN102577345B/zh
Priority to EP10818685.9A priority patent/EP2481206B1/en
Priority to US12/936,507 priority patent/US8660347B2/en
Publication of JP2011071767A publication Critical patent/JP2011071767A/ja
Application granted granted Critical
Publication of JP5558767B2 publication Critical patent/JP5558767B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/41Bandwidth or redundancy reduction
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • 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/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/415Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information in which the picture-elements are subdivided or grouped into fixed one-dimensional or two-dimensional blocks
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG

Abstract

【課題】画像データを予め定められた画素数のブロック毎に分割し、当該分割されたブロックを順に処理対象にして処理する画像処理装置において、処理コストを抑えつつ、画像データの圧縮を行える装置及び方法を提供する。
【解決手段】処理対象のブロック内の各画素の色データを比較することにより、当該ブロックに含まれる色データの配置パターンに対応するパターンフラグを特定する。特定されたパターンフラグと、当該ブロックに含まれる色数分の色データとを出力し、当該出力される色データのうち前記ブロックにおける予め定義された位置の画素に対応する色データを第1色の色データとして、前記分割された各ブロックについて出力されるパターンフラグと第1色の色データとそれ以外の色データとを、それぞれ異なるメモリ領域にまとめて格納する。
【選択図】図6

Description

本発明は、画像を所定のブロック単位に圧縮する技術とブロック単位に圧縮された画像の画像処理や復元処理を行う技術に関する。
従来、高解像度のカラー画像への需要は高く、それらの高画質化への要望へ応えるべくデジタル複合機では1200dpiやそれを超える解像度の画像を扱うことが多くなってきている。デジタル複合機に限らず、デジタルカメラやファクシミリ装置などの画像処理装置では、メモリ/ハードディスク量の節約やそれらへの書き込み時間を短縮するために、カラー画像データの圧縮を行い、低コスト化や高速化を実現している。
カラー静止画像の圧縮方式には、離散コサイン変換を利用したJPEG方式やWavelet変換を利用した方式が多く使われている。この種の符号化方式は、一般的に画像を所定のブロック(例えば8×8や16×16画素単位)に符号化し、離散コサイン変換、量子化及びエントロピー符号化を行うことで高い圧縮効率を達成している。この種の符号化方式は、可変長符号化方式であるので、符号化対象の画像毎に符号量が変化するものである。
このように、ブロック単位での可変長符号化方式を取っているため、小さなエリア参照のためのランダムアクセスが難しい。そのアクセスには符号量が画像により不定なので、復号対象ブロックの位置(メモリアドレス)が不定になり、その位置を知る何らかの方法が必要になる他、ブロック単位での復号化処理が必要となる。
JPEGでの離散コサイン変換ではブロックサイズとして、通常8×8画素必要としている。このブロック単位での離散コサイン変換処理を高速に行うには、高速演算器や専用ハードウェアが必要な上、バッファ用のメモリが必要となる。
これらランダムアクセス性や処理の複雑度の課題に対するアプローチとして、ブロックサイズが小さい圧縮率固定の画像圧縮技術(例えば、特許文献1)が開示されている。
また、上述したように高解像度化が進むにつれて画像処理を必要とする画素数が飛躍的に増え、その処理負荷が増大しているという課題もある。例えば、600dpiから1200dpiに解像度が倍になることで処理すべき画素数は4倍になる。上述した画像圧縮を用いた場合、その画素データを参照し、その画素データを変換するには、圧縮データの復号処理が必要になってくる。つまり、圧縮データのままで画像処理を行うことはできず、必ず復号処理が必要になり、高解像度データ全ての画素に対して画素単位に処理を行う必要が出てしまい、処理時間の増大を招く。
画素データの符号化を行わずに圧縮処理を行う技術としては、画素データとその連続数を記憶する公知のランレングス圧縮方式やブロック単位でエッジを検出し、そのエッジの持つ2色を記憶することで圧縮する技術(例えば、特許文献2)が開示されている。
特開2004−104621号公報 特開平10−257488号公報
上述したように、離散コサイン変換を利用したJPEG方式やWavelet変換を用いる方式の場合、そのブロック毎に必要とされる計算量が多く、処理時間が掛かると共に、処理ハードウェアが高価になってしまうという問題がある。
また、圧縮されたデータに対する画像処理には必ず復号処理が必要となり、処理すべき画素数次第では膨大な処理時間が掛かってしまうという問題もある。
例えば、画像データの用途次第では高解像度データが必ずしも必要とはならないが、低解像度データを得るためには、高解像度データを低解像度データへ縮小する必要があった。即ち、JPEG等で圧縮符号化された高解像度データから低解像度データを作成するためには、必ず復号処理と別途縮小処理が必要になってしまう。
本発明は、処理コストを抑えつつ、画像データの圧縮を行える装置及び方法を提供することを目的とする。
本発明の画像処理装置は、画像データを予め定められた画素数のブロック毎に分割し、当該分割された各ブロックを順に処理対象にして処理する画像処理装置であって、
処理対象のブロック内の各画素の色データを比較することにより、当該ブロックに含まれる色データの配置パターンに対応するパターンフラグを特定する特定手段と、
前記特定手段で特定されたパターンフラグと、当該ブロックに含まれる色数分の色データとを出力する出力手段と、
前記出力手段で出力される色データのうち前記ブロックにおける予め定義された位置の画素に対応する色データを第1色の色データとして、前記分割された各ブロックについて前記出力手段で出力されるパターンフラグと前記第1色の色データとそれ以外の色データとを、それぞれ異なるメモリ領域にまとめて格納する格納手段と、を有することを特徴とする。
本発明によれば、処理コストを抑えつつ、画像データの圧縮を行うことが可能となる。本発明により圧縮されたデータを用いれば、処理コストを抑えられるので、画像処理も容易に行うことができる。
実施形態における画像処理装置の構成の一例を示すブロック図。 図1に示すコントローラの構成例を示す図。 2×2画素のブロックにおける4色のパターンの取り得る組み合わせの場合の数を示す図。 図3に示すパターンとパターンフラグの関係を示す図。 異なる画素の数とパターンフラグを特定する処理を示すフローチャート。 画素値が異なる画素の位置を判定する処理を説明するための図。 DMACによる画像データのメモリ空間への書き込み例を示す図。 第2の実施形態における圧縮処理を示すフローチャート。 新たなパターンフラグを追加した入出力の関係を示す図。 第4の実施形態における圧縮処理を示すフローチャート。 第4の実施形態での画像データのメモリ空間への書き込み例を示す図。 第5の実施形態における圧縮処理を示すフローチャート。 ページと32×32画素のタイルと2×2画素のブロックとの関係を示す図。 パッキングされたデータのデータ構造を示す図。 パケット管理テーブルの構成の一例を示す図。 メモリ空間に書き込まれた各パケットのアドレスを示す図。
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。本実施形態では、画像処理装置として、スキャン、プリント、コピーなどの複数の機能を有するデジタル複合機(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画素のブロック内で同色の画素が存在するブロック(即ち各ブロック内の色数が少ないブロック)が多いラスタ画像の場合は、出力されるデータ量の圧縮率も大きくなる。また、パターンフラグを参照することで、そのブロック内の色数を特定することが可能になる。このような処理を画像ブロック全てに対して行うことで、画像全面をデータ圧縮することが可能になる。
次に、このようにして求めたパターンフラグと色データとを、DMAC(203、253)がメモリに書き込む処理(メモリ格納処理)を行う。このとき、DMACではパターンフラグと第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色のデータが格納される第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色格納部のデータのみを用いて、指定の解像度へ変倍処理を行う。このように、必要な画像サイズに応じて切り替えながらデータの読み込みを行うようにすればよい。
次に、圧縮部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画素ブロックを展開、復号する。
また、展開部222、232で画像サイズを1/2にする場合には、上述したように、パターンフラグと2、3、4色データを必要としないので、DMAC221、231には第1色書き込み先頭アドレスのみ指定する。これにより、メモリ106から第1色データのみの読み込みが行われ、画像が構成される。このように処理することで、メモリバスの帯域を節約することが可能になる。
第1の実施形態によれば、比較的単純な圧縮方式でメモリ容量やメモリバス帯域の節約が可能になるだけでなく、画素単位での画像処理や縮小変倍を行う場合の処理負荷も削減することが可能になる。
尚、第1の実施形態では、色データの配置を示すパターンとパターンフラグとを図4のように対応付けたが、これに限るものではない。例えば、2×2画素ブロックの右下画素の画素値が第1色となるように、色データの配置を示すパターンとパターンフラグとを対応付けて予め定義しても構わない。また、第1の実施形態では、ブロックのサイズとして2×2画素のサイズを用いて説明してきたが、これに限るものではない。また、圧縮の説明の際に画像データとしてRGB8ビットを例に説明してきたが、CMYKの色空間を取るものやGRAYスケールのデータ、或いは8ビット以外の画素値をとるものでも良い。
[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態を詳細に説明する。第2の実施形態では、スキャンされた画像データの圧縮処理を説明する。尚、第2の実施形態でも、画像処理装置として、第1の実施形態と同様に、MFPを例に説明する。
第1の実施形態の圧縮方法で高圧縮になることが期待される画像は、画像内で隣接画素値が1レベルたりとも違わないような領域が多い画像である。つまり、高解像度のPDLデータとしてレンダリングしたラスタ画像データ(例えば、ワープロソフトで作成した文書画像)に関しては、圧縮率が高くなる可能性が高い。一方、スキャンで入力された画像ではスキャナでのノイズ成分が画像に重畳され、隣接画素値として数レベルの違いが出てくる領域が多くなる。
このような場合に、圧縮データとしては2×2画素のブロックが4色と判断されることが多くなり、圧縮後に、データ量が削減されないばかりか、パターンフラグが付与される分、データが増えてしまう可能性が高くなる。しかしながら、画像によっては2×2のブロック内での数レベルの違いが視覚的に認識できないことも多くあり、そういった場合にはその数レベルの違いは冗長なデータと言える。
そこで、第2の実施形態では、スキャンの画像データにおいても良好に圧縮できる方法を説明する。上述したように、ブロック内の画素が数レベルの違いしかないのであれば同色と見なして、各ブロックで減色処理を行うことで、4色と判断されるブロックを減らし、圧縮率の向上を図る。
各ブロックの減色処理を行った後、第1の実施形態の図4のように2×2画素の取りうる組み合わせを踏まえて、画像圧縮を行う処理を、図8を用いて説明する。この入力としては、第1の実施形態と同様に、RGB各色8ビットの256階調を持っている場合で説明を行う。
まず、処理対象となる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)。
このようにして出力されたパターンフラグと画素値(色データ)は、図7のように、パターンフラグが格納される領域、第1色の色データが格納される領域、第1色以外の第2〜4色の色データが格納される領域に分けて格納される。
第2の実施形態によれば、類似色は同色として扱うことにより、スキャン画像に代表されるような数レベルの違いにより圧縮率が劇的に悪くなってしまうような画像に対しても圧縮率の向上を図ることが可能になる。また、上述の誤差判定を行う際の閾値の取り方次第で圧縮率と画質の調整も可能となる。例えば、許容する誤差を全くなくす(0に設定する)ことで、画像としては全く可逆の圧縮になる。一方、許容する誤差を無限に設定すると、各ブロックが1色で表現されることになり、解像度を半分にするのと等価となり、データ量を1/4にすることが保証できる。このような閾値を設定するためのユーザインターフェースを提供することにより、各ユーザが好む画質と圧縮率を設定できるようになる。
尚、第2の実施形態では、減色を用いた圧縮方法を説明したが、その展開処理は、減色を伴ったか否かの圧縮方法を意識する必要はなく、第1の実施形態の展開処理と全く同じ構成で良い。
また第2の実施形態で説明した減色による圧縮方法は一例であり、他の公知の減色処理を用いて実施することも可能である。例えば、公知の色差を求める別の手法で代替することも可能である。
[第3の実施形態]
次に、図面を参照しながら本発明に係る第3の実施形態を詳細に説明する。第3の実施形態では、第1及び第2の実施形態におけるラスタ画像データの圧縮に加え、画素に付随する属性データを圧縮する場合を説明する。尚、第3の実施形態でも、画像処理装置として、第1及び第2の実施形態と同様に、MFPを例に説明する。
PDLデータをレンダリングしたラスタ画像に対して画素単位でその画素の属性を付与することがある。属性とは、例えば文字、写真、グラフィックス、背景、グレー補償などである。こういった属性が付いている画像に対してはそれぞれの属性に適した画像処理を切り替えながら行うことで、最適な画像を得ることが可能となる。例えば、文字の属性が付与されている画素に対しては、可読性を高くするためにコントラストを高くする処理を行い、また写真の属性が付いている画素に対しては、階調性を豊かにする処理を行うなどが考えられる。
こういった属性情報が付与されている画像は、図2に示すレンダリング部251で生成され、そのデータは前述したように、圧縮部252、DMAC253を経由してメモリ106へ記憶される。
また、色処理部212では、属性データを含む画像をメモリ106からDMAC211経由で読み込んだ場合には、その属性データに応じて画像処理を切り替えながら画素値の変換処理を行う。
そこで、第3の実施形態では、第1及び第2の実施形態での圧縮方法を属性データ付きの画像データにおいても良好に圧縮する方法を説明する。尚、第1及び第2の実施形態と同様に、2×2画素の取り得る組み合わせを踏まえて、画像圧縮を行う処理を説明する。また、基本的に、大きな流れは第1及び第2の実施形態と同じになるので、同じ図を用いて説明する。また入力としては、RGB各色8ビットの256階調に加え、1画素当たり8ビットの属性データを持っているものとする。ここで、8ビットの属性データの意味としては、例えば文字であれば値A、写真であれば値B、といったようにインデックス値として保持しているものとする。また、属性データは複数の意味を持つこともあり、例えば文字かつグレー補償といった属性もあり得る。
第1の実施形態のように、1レベルの誤差も許容しないような圧縮方法であれば、属性データも画素値データと同様に扱い、RGB24ビットのコンペアをRGB+属性の32ビットに拡張すれば良い。しかしながら、減色を用いた圧縮を行う場合には、属性データはインデックス値なので単純な拡張では不具合が発生する。
前述した実施形態では、1画素の画素値24ビットのコンペアで同色、24ビットの差を算出することで画素間の差として扱っていた。つまり、同色の定義は画素値が同じか、又は減色を行う場合には同じとみなせるだけ十分近いとしていた。これに属性データ8ビットを単純に増やし、32ビットの画素値として扱ってしまうと、同色の意味が変わってきてしまう。これは属性データに関しては、値がインデックスとして意味を持っているため、近い遠いの判断が値の差分だけでは付かないからである。そのため、属性情報が加わった場合には減色又は差分算出のやり方を画素値だけの場合と変える必要がある。
前述した圧縮処理の、減色に関して属性データを加えた場合を説明する。属性データに関しては前述したように、インデックスに意味があるため、単純に平均値等を取ることはできない。そのため、属性に、例えば文字の属性は背景の属性よりも優先されるといった優先度を設け、n画素の平均をとる場合には属性分は最も優先度の高い属性への置き換えで実現させる。このような方法をとることで、色の階調を示す画素値24ビットに関しては前述の減色処理を用い、属性データの減色には優先度を考慮した置き換えを用いることで、属性データ付きの画素データの減色処理を行う。
次に、前述した圧縮処理における差分算出処理に関して説明する。この差分算出に関しては画素値24ビットについては差の絶対値の和で求め、それに加えて属性データ間の差は画素値の差の絶対値にスケールを合わせた何らかの評価を行い加算する。例えば、写真の属性が文字に変わっている画素値があった場合、その変化量は画素値が30レベル変わったのと等価だとして絶対値の和に足しこみ、閾値との比較を行う。
このような属性データ間の差分は計算で求めにくいので、テーブルとして保持することで属性データ間の差分とする。このようなテーブルを持つことで、例えば1画素たりとも属性の変化を許さないようにする場合には、テーブルの中の全てに最大値を入れておけば属性が変化してしまうような減色処理は行われない。逆に、画素値が同じであれば、属性が異なっても同色としてみなすようにする場合には、テーブルの中に0を入れておけば、属性がどう変化しようとも属性の差分は0として扱われ、減色の有無は画素値の差分のみにゆだねられる。
第3の実施形態によれば、画素単位で属性データを伴う画像データを扱う場合にも圧縮処理が可能である。尚、ここではPDLの画像に着目して属性データの圧縮に関して説明したが、スキャンされた画像に対しても画像認識を行うことで属性データを付与し、同様の処理で圧縮処理が可能である。また、属性データは1画素当たり8ビットに限るものではなく、1ビットや4ビット、或いは16ビットといった、任意のビット数を取ることも可能である。
[第4の実施形態]
次に、図面を参照しながら本発明に係る第4の実施形態を詳細に説明する。第4の実施形態では、第1及び第2の実施形態で説明したラスタ画像データを圧縮する別の処理を説明する。尚、第4の実施形態でも、画像処理装置として、第1の実施形態と同様に、MFPを例に説明する。
前述した実施形態における圧縮方法で高圧縮になることが期待される画像は、画像内で隣接画素値が同色ないし減色を行い同じとみなせるだけ十分近いレベルしか違わないような領域が多い画像である。そういった画像領域に着目すると、2×2画素のブロック内部だけでなく、隣接する2×2画素のブロックも含めて同色ないし十分同色とみなせるだけ差が小さい場合が多い。
そこで、第4の実施形態では、これまでの実施形態で説明したブロック内で閉じた圧縮方法に加え、隣接ブロックの類似性も含めて着目した圧縮方法を説明する。図4に2×2のブロックが取り得るパターンフラグの場合の数を15通りのパターンとして4ビットで表現している。4ビットでは16通りまで表現可能なので、1通りまだ記述できる余地があり、パターンフラグに冗長性がある。
そこで、現在処理しているブロックの一つ前のブロックの画素値を記憶しておき、現在のブロックと全画素一致(若しくは減色した際に十分近い)と判断できる場合、そのブロックの画素値(色データ)は出力せず、前ブロックと同じというフラグだけ立てる。このパターンフラグに4ビットの残りの1通りを割り当てることにより、前述した実施形態で説明したパターンフラグのビット数を変化させることなく、データの更なる圧縮が可能になる。
図9は、新たなパターンフラグとして、前のブロックと同じパターンであることを示すフラグ(リピートフラグと称する)を追加した場合のビット数を示す図である。この例では、パターンフラグとして前ブロックと一致(新たに画素値出力しない)を表す“F”を追加している。図9に示すように、パターンフラグFのブロックはパターンフラグの4ビットで表現することが可能となる。即ち、パターンフラグがFのブロックは、前のブロックの画素値(色データ)とパターンフラグとを参照して展開することが可能となるので、画素値(色データ)を格納しなくて済み、圧縮率が向上する。
ここで、第4の実施形態における圧縮処理を、図10を用いて詳細に説明する。まず、ラスタ画像データを入力し(S1001)、そこから2×2画素のブロックを切り出す(S1002)。次に、最初のブロックであれば過去のブロックはないので(S1003でYES)、前述した実施形態と同様に圧縮処理を行う(S1007)。一方、S1003で最初のブロックでないと判定された場合、1つ前に処理し、記憶していたブロックとの差分を算出する(S1004)。この処理は、例えば同じ座標位置での画素値の差の絶対値の和を求めることで可能である。ここで、差分が閾値より小さい場合は、1つ前に記憶した前のブロックと同じデータを使用可能であると判断する(S1005でYES)。そして、前ブロックと同じであることを示すパターンフラグFに特定し(S1006)、画素値(色データ)の出力は省略する。即ち、処理対象のブロックとその前に処理対象となったブロックとの差異が小さいと判断した場合は、当該処理対象ブロックに対しては、前のブロックの繰り返しを示すパターンフラグF(リピートフラグ)を出力する。
また、S1005で差分が閾値より小さくない場合は、前ブロックとの差が大きいため前ブロックのデータの再利用はできないと判断し、前述した実施形態と同様に通常の圧縮処理を行う(S1007)。その後、そのデータの展開を行い(S1008)、その展開された2×2画素のブロックを前のブロックのデータとして記憶更新しておく(S1009)。なお、本実施例では、S1007で圧縮処理を行った後に、S1008〜S1009で前ブロックのデータを更新するようにしているが、これに限るものではない。例えば、S1007で圧縮処理を行う前に、当該処理対象のブロックの画素値を用いて前ブロックのデータを更新するようにしても構わない。
次に、記憶ブロックとの差分が閾値より小さくないブロックに対してはS1007で通常の圧縮処理を行った結果のパターンフラグと色データとを出力し、また小さいブロックに対しては、パターンフラグFのみ出力する(S1010)。この処理を最後のブロックまで繰り返すことで(S1011でYES)、画像全体の圧縮処理を終了する。
パターンフラグのビット数が4ビットと増えていないので、前述した実施形態に比べて確実に圧縮率を向上させることが可能であるが、第1色の画像サイズも、第2、3、4色データと同様に不定(画像によって異なる)になってしまう。
従って、図11に示すように、第1色データと連続したメモリ空間に第2、3、4色のデータを格納することができず、第1色と、第2、3、4色のデータを離散的に持たせる必要がある。前述した図2に示す色処理部212では、メモリ106上の第1色書き込み先頭アドレス以降の画素データをDMAC211経由で読み込み、画素単位で処理を済ませた後にメモリ106上へ書き戻せた。しかしながら、第4の実施形態では、第1色と、第2、3、4色が連続していないので、第1色のアドレスに加えて第2、3、4色の書き込み先頭アドレスも含めて色処理部212のDMAC211に指定する必要がある。
ここでは、1つ左のブロックを前ブロックと定義し、そのブロックとの一致、不一致を状態として保持しているが、これに限るものではない。例えば、上のブロックとの一致やパターンフラグのビット数を拡張することで、より広いエリアとの一致を規定できる。
次に、圧縮処理と対になる展開処理を説明する。展開処理は、前述したようなパターンフラグ、画素データからラスタ画像データに戻す処理である。メモリ106上に図11に示すように配置されている圧縮データのパターンフラグ書き込み先頭アドレス、第1色書き込み先頭アドレス、第2、3、4色書き込み先頭アドレスの3つのアドレスをDMAC221、231へ指定する。パターンフラグを参照して、前ブロックと同じと識別された際は、その注目ブロックの出力は前ブロックの出力そのものを用い、それ以外のフラグの場合は前述した方法で展開が可能である。尚、この際に1ブロック分は次ブロックで利用する可能性があるのでバッファする必要がある。
しかしながら、展開処理で画像サイズを1/2にする場合には、前述したようにメモリ106から第1色データのみ読み込みを行い、画像を構成するだけでは隣接ブロックとの一致データを展開することができない。そのため、第4の実施形態の展開処理では、パターンフラグを参照しながら、第1色のデータに基づいて1/2サイズの画像を復元する。なお、第2、3、4色のデータは使用せずに済む。具体的には、パターンフラグを参照した際、前ブロックと同じと識別された場合は、第1色データ中の前の色データを繰り返し出力することで展開が可能になる。これにより、メモリバスの帯域を節約することが可能になる。
第4の実施形態によれば、隣接ブロック間の類似性に着目することでブロック間の冗長性を少なくでき、圧縮率を高めることが可能となり、前述した実施形態で説明した1画素入力、1画素出力で完結する色処理の実施と同様な効果が得られる。
[第5の実施形態]
次に、図面を参照しながら本発明に係る第5の実施形態を詳細に説明する。第5の実施形態では、前述した実施形態におけるラスタ画像データの圧縮処理を、ランダムアクセス性を高めたものである。尚、第5の実施形態でも、画像処理装置として、第1の実施形態と同様に、MFPを例に説明する。
前述したように、圧縮処理は画像データに依存し、その圧縮データサイズが変わる可変長圧縮処理である。そのため、圧縮データに対してのランダムアクセス性はなく、画像の一部だけ切り出して処理するなどといった目的には向かない。
そこで、これまでの実施形態で説明した方法に対して、よりランダムアクセス性を高めることに着目した圧縮方法を、図12を用いて詳細に説明する。まず、図13に示すページ単位にラスタ画像データを入力する(S1201)。そして、画像データのページ単位に1画素のページ背景画素を設定する(S1202)。これは圧縮処理時の初期記憶ブロックとして用いるための画素データで、通常白(RGB各色8ビット画像であれば255、CMYK画像であれば0)が用いられる。次に、圧縮部の入力となる画像データを所定の大きさのブロックへ分割する(S1203)。第5の実施形態では、32×32画素とする。以下の説明では、これまでの2×2画素のブロックと区別するために、このブロックのことを「タイル」と呼ぶ。1つのタイル中には、2×2画素ブロックが16×16個存在することになる。図13は、ページと32×32画素のタイルと2×2画素のブロックとの関係を示す図である。
次に、タイルに所定の固定長のヘッダ情報を付与する(S1204)。このヘッダ情報は、ページID、タイル座標、色空間、画素データのビット数、タイルのデータサイズ、属性情報の有無、圧縮フラグ等の情報である。ここで、ページIDは、ページ単位に付与されるユニークなID番号である。タイル座標は、このタイルがページ単位のラスタ画像上どの位置にあるかを示す座標情報である。ここには、X座標とY座標の2次元で座標が記述される。色空間は、このタイルが、RGB画像なのかCMYK画像なのかGRAY−SCALE画像なのかを識別するための識別子を示す情報である。画素データのビット数は、タイル内の1画素当たりのビット長を示す情報である。データサイズは、このタイルの第1色のデータサイズと第2、3、4色のデータのデータサイズとを示すバイト単位の情報である。属性情報の有無は、画像データに文字や写真といった属性情報が画素単位で付与されているか否かを示す情報である。圧縮フラグは、このタイルが圧縮されたデータか、非圧縮のデータかを示すフラグの情報である。尚、この圧縮フラグに関しては、更に詳述する。
次に、上述のタイル単位に圧縮処理を適用する(S1205)。この圧縮処理は、前述した実施形態で説明した圧縮処理と同様であり、その説明は割愛する。尚、最初の2×2画素ブロックを圧縮する際には記憶ブロックとして初期記憶ブロックを定義し、背景画素で埋められたブロックを用いる。これにより、タイル単位に最初の2×2画素ブロックの画素データを出力しないで済む可能性があり、その分のデータ量を削減できる。その可能性がもっとも高いのは、通常の原稿画像であれば白であり、背景画素を白に設定したのはそのためである。
次に、圧縮処理されたタイルデータのデータサイズを算出する。これはパターンフラグサイズ、第1色データサイズ、第2、3、4色データサイズの合計になる。パターンフラグを必ず付与するので、必ずしもオリジナルの画像データよりデータサイズが圧縮される保証はない。そのため、もし圧縮後のタイルデータのデータサイズがオリジナルのタイルデータのデータサイズを超えてしまった場合には、オリジナルの画像データを出力する方がトータルとしてメモリ効率が良い。従って、圧縮後のデータサイズとオリジナルのデータサイズとを比較し(S1206)、オリジナルのデータサイズを超えていれば、ヘッダの圧縮フラグを0にセットし(S1207)、超えていなければフラグを1にセットする(S1209)。
そして、上述の比較の結果を受けて圧縮されたタイルデータ若しくはオリジナルのタイルデータを、当該タイルのヘッダ情報と一緒に1つのデータにパッキングする(S1208、S1210)。このパッキングされたデータのデータ構造を図14に示す。これ以降、上述のヘッダを含むデータの単位を「パケット」と呼ぶ。このようなパケットにするには、タイル単位で圧縮処理が終了し、データサイズが確定した後、第1色格納部と第2、3、4色格納部の間を詰めた状態でデータをパッキングする。その後、DMACを経由してメモリ上へ出力する(S1211)。次に、このパケットの座標とサイズとをリストとして列挙し、パケット管理テーブルとして作成する(S1212)。このパケット管理テーブルの一例を図15に示す。上述の処理を最後のタイルまで繰り返すことで(S1213でYES)、ページ単位のラスタ画像の圧縮処理を終了する。
尚、上述のタイル単位でデータをメモリへ書き出すと、図16に示すように、パケット毎にサイズが異なり、それぞれのパケットの先頭アドレスが飛び飛びになる。そのため、図15に示すパケット管理テーブルを用いて任意の座標のパケットの先頭アドレスを探索する。従って、先頭パケットの書き込みアドレスが既知であれば、パケット管理テーブルに記載されている座標までのデータサイズをオフセットとして任意のパケットの先頭アドレスを求めることが可能になる。例えば、図16に示す第3パケットを読み込む場合は、第1、第2パケットのサイズ合計をパケット管理テーブルより求め、先頭パケットのアドレスに対してオフセットをかけることで第3パケットアドレスを算出する。そして、そこからデータを読み込むことで第3パケットのデータを取得することが可能になる。
このように、タイル単位に任意のデータへのアクセスが可能になるので、画像の部分的な処理が可能になる。例えば、画像の一部の領域を抽出して処理したい場合は、当該領域に対応するパケットのデータを取得して処理すればよい。
また、展開処理は、パケット毎にヘッダが付与されているので、各ヘッダに記載されている情報を用いて処理を行う。まず、圧縮フラグが非圧縮を示している場合にはヘッダを取り除いたデータを出力し、そうでない場合には展開処理を行う。展開処理では、ヘッダよりパターンフラグ格納位置、第1色のデータ格納位置、及び第2、3、4色格納位置を求め、後は順次前述した実施形態と同様に、タイルの画像データへ展開する。
例えば、パターンフラグの位置は固定長のヘッダなので、オフセットすることで求めることができる。第1色のデータは、タイルのサイズが32×32画素であれば、パターンフラグのサイズが32×32ビットで固定になり、パターンフラグ位置からオフセットを掛けることで求める。最後に、第2、3、4色のデータは第1色のデータが不定長なので、ヘッダに記載されている第1色サイズを参照し、第1色のデータ位置からオフセットを掛けることで求める。
第5の実施形態によれば、画像データに依存して、その圧縮データサイズが変わる可変長圧縮処理でも、圧縮データに対してのランダムアクセス性を高め、タイル単位で画像の一部だけ切り出して処理することが可能になる。
[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (12)

  1. 画像データを予め定められた画素数のブロック毎に分割し、当該分割された各ブロックを順に処理対象にして処理する画像処理装置であって、
    処理対象のブロック内の各画素の色データを比較することにより、当該ブロックに含まれる色データの配置パターンに対応するパターンフラグを特定する特定手段と、
    前記特定手段で特定されたパターンフラグと、当該ブロックに含まれる色数分の色データとを出力する出力手段と、
    前記出力手段で出力される色データのうち前記ブロックにおける予め定義された位置の画素に対応する色データを第1色の色データとして、前記分割された各ブロックについて前記出力手段で出力されるパターンフラグと前記第1色の色データとそれ以外の色データとを、それぞれ異なるメモリ領域にまとめて格納する格納手段と、
    を有することを特徴とする画像処理装置。
  2. 前記処理対象のブロックに対して減色処理を行う減色手段を更に有し、
    前記減色手段で減色処理を行った後に、前記特定手段は、当該処理対象のブロック内の各画素の色データを比較することにより、当該ブロックに含まれる色データの配置パターンに対応するパターンフラグを特定することを特徴とする請求項1に記載の画像処理装置。
  3. 前記減色手段で同色と見なして減色するか否か判断する際に用いる閾値を設定するためのユーザインターフェースを提供する設定手段を更に有することを特徴とする請求項2に記載の画像処理装置。
  4. 前に処理対象となったブロックの色データを記憶しておく記憶手段を更に有し、
    前記出力手段は、処理対象のブロックの色データと、前記記憶手段で記憶された色データとの差異が小さい場合は、前記前に処理対象となったブロックの繰り返しを示すパターンフラグを出力し、当該処理対象のブロックの色データは出力しないことを特徴とする請求項1に記載の画像処理装置。
  5. 前記ブロック内の各画素に対して属性を示す属性データが付与されている場合に、前記出力手段は当該属性データを加えて出力することを特徴とする請求項1に記載の画像処理装置。
  6. ページ単位の画像を、前記ブロックよりも多い画素数のタイルに分割し、当該分割されたタイルを前記画像データとして、予め定められた画素数のブロック毎に分割し、当該分割された各ブロックを順に処理対象にして処理することを特徴とする請求項1に記載の画像処理装置。
  7. 前記ブロックは、2×2画素のサイズのブロックであることを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
  8. 前記第1色の色データは、前記予め定義された位置として、前記2×2画素のサイズのブロックのうちの何れかの位置を予め定義することを特徴とする請求項7に記載の画像処理装置。
  9. 画像データを2×2画素のサイズのブロック毎に分割し、当該分割された各ブロックを順に処理対象にして処理する画像処理装置であって、
    処理対象のブロック内の各画素の色データを比較することにより、当該ブロックに含まれる色データの配置パターンと色数とを示すパターンフラグを特定する特定手段と、
    前記2×2画素のサイズのブロックの予め定義された位置の画素に対応する色データを第1色の色データとして抽出し、更に、前記特定されたパターンフラグにより示される色数が2〜4のいずれかであると判断した場合は、当該特定されたパターンフラグに定義された配置パターンに基づいて第2〜4色の色データを抽出する抽出手段と、
    前記特定手段で特定された各ブロックのパターンフラグと、前記抽出手段で抽出された各ブロックの前記第1色の色データと、前記抽出手段で抽出された各ブロックの第2〜4色の色データとを、それぞれ異なるメモリ領域にまとめて格納する格納手段と、
    を有することを特徴とする画像処理装置の処理方法。
  10. コンピュータを、請求項1乃至9の何れか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
  11. 画像データを予め定められた画素数のブロック毎に分割し、当該分割された各ブロックを順に処理対象にして処理する画像処理装置が実行する処理方法であって、
    特定手段が、処理対象のブロック内の各画素の色データを比較することにより、当該ブロックに含まれる色データの配置パターンに対応するパターンフラグを特定する特定工程と、
    出力手段が、前記特定工程で特定されたパターンフラグと、当該ブロックに含まれる色数分の色データとを出力する出力工程と、
    格納手段が、前記出力工程で出力される色データのうち前記ブロックにおける予め定義された位置の画素に対応する色データを第1色の色データとして、前記分割された各ブロックについて前記出力工程で出力されるパターンフラグと前記第1色の色データとそれ以外の色データとを、それぞれ異なるメモリ領域にまとめて格納する格納工程と、
    を有することを特徴とする処理方法。
  12. 画像データを2×2画素のサイズのブロック毎に分割し、当該分割された各ブロックを順に処理対象にして処理する画像処理装置が実行する処理方法であって、
    特定手段が、処理対象のブロック内の各画素の色データを比較することにより、当該ブロックに含まれる色データの配置パターンと色数とを示すパターンフラグを特定する特定工程と、
    抽出手段が、前記2×2画素のサイズのブロックの予め定義された位置の画素に対応する色データを第1色の色データとして抽出し、更に、前記特定されたパターンフラグにより示される色数が2〜4のいずれかであると判断した場合は、当該特定されたパターンフラグに定義された配置パターンに基づいて第2〜4色の色データを抽出する抽出工程と、
    格納手段が、前記特定工程で特定された各ブロックのパターンフラグと、前記抽出工程で抽出された各ブロックの前記第1色の色データと、前記抽出工程で抽出された各ブロックの第2〜4色の色データとを、それぞれ異なるメモリ領域にまとめて格納する格納工程と、
    を有することを特徴とする処理方法。
JP2009221444A 2009-09-25 2009-09-25 画像処理装置及びその処理方法 Expired - Fee Related JP5558767B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2009221444A JP5558767B2 (ja) 2009-09-25 2009-09-25 画像処理装置及びその処理方法
KR1020127009193A KR101490215B1 (ko) 2009-09-25 2010-09-01 화상처리장치 및 그 처리 방법
PCT/JP2010/065359 WO2011037009A1 (en) 2009-09-25 2010-09-01 Image processing apparatus and processing method therefor
CN201080042848.0A CN102577345B (zh) 2009-09-25 2010-09-01 图像处理设备及其处理方法
EP10818685.9A EP2481206B1 (en) 2009-09-25 2010-09-01 Image processing apparatus and processing method therefor
US12/936,507 US8660347B2 (en) 2009-09-25 2010-09-01 Image processing apparatus and processing method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009221444A JP5558767B2 (ja) 2009-09-25 2009-09-25 画像処理装置及びその処理方法

Publications (2)

Publication Number Publication Date
JP2011071767A true JP2011071767A (ja) 2011-04-07
JP5558767B2 JP5558767B2 (ja) 2014-07-23

Family

ID=43795761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009221444A Expired - Fee Related JP5558767B2 (ja) 2009-09-25 2009-09-25 画像処理装置及びその処理方法

Country Status (6)

Country Link
US (1) US8660347B2 (ja)
EP (1) EP2481206B1 (ja)
JP (1) JP5558767B2 (ja)
KR (1) KR101490215B1 (ja)
CN (1) CN102577345B (ja)
WO (1) WO2011037009A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011193279A (ja) * 2010-03-15 2011-09-29 Canon Inc 画像処理装置、画像処理方法、及びプログラム
US8406517B2 (en) 2010-06-03 2013-03-26 Canon Kabushiki Kaisha Image processing apparatus and image processing method
US8452083B2 (en) 2010-06-09 2013-05-28 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and computer-readable medium
US8509532B2 (en) 2010-04-28 2013-08-13 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and computer-readable medium
US8553301B2 (en) 2010-04-08 2013-10-08 Canon Kabushiki Kaisha Image processing apparatus, method, and program product to perform color-reduction processing for a block
US8659793B2 (en) 2010-08-26 2014-02-25 Canon Kabushiki Kaisha Image processing apparatus and image processing method
US8804840B2 (en) 2010-05-27 2014-08-12 Canon Kabushiki Kaisha Image processing apparatus, image processing method and program
US8849021B2 (en) 2010-07-13 2014-09-30 Canon Kabushiki Kaisha Image processing apparatus, method, and storage medium for high speed compression processing
JP2018075773A (ja) * 2016-11-09 2018-05-17 キヤノン株式会社 画像形成装置、画像形成方法およびプログラム

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9530189B2 (en) * 2009-12-31 2016-12-27 Nvidia Corporation Alternate reduction ratios and threshold mechanisms for framebuffer compression
KR101868435B1 (ko) * 2011-12-05 2018-06-19 삼성전자주식회사 영상 압축 장치 및 이를 포함하는 영상 처리 장치
CN103729375A (zh) * 2012-10-16 2014-04-16 中兴通讯股份有限公司 一种终端相片处理方法和装置
US10043234B2 (en) 2012-12-31 2018-08-07 Nvidia Corporation System and method for frame buffer decompression and/or compression
US9607407B2 (en) 2012-12-31 2017-03-28 Nvidia Corporation Variable-width differential memory compression
US9591309B2 (en) 2012-12-31 2017-03-07 Nvidia Corporation Progressive lossy memory compression
JP6001010B2 (ja) 2014-06-11 2016-10-05 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US9947071B2 (en) 2014-06-27 2018-04-17 Samsung Electronics Co., Ltd. Texture pipeline with online variable rate dictionary compression
US10115177B2 (en) 2014-06-27 2018-10-30 Samsung Electronics Co., Ltd. Online texture compression and decompression in hardware
US9832388B2 (en) 2014-08-04 2017-11-28 Nvidia Corporation Deinterleaving interleaved high dynamic range image by using YUV interpolation
KR20170102806A (ko) * 2016-03-02 2017-09-12 한국전자통신연구원 비디오 신호 부호화/복호화 방법 및 이를 위한 장치
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
US10909700B2 (en) * 2019-04-02 2021-02-02 Samsung Electronics Co., Ltd. Display apparatus and image processing method thereof
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
GB2593708C (en) * 2020-03-30 2022-08-31 Imagination Tech Ltd Methods and decompression units for decompressing image data compressed using pattern-based compression
CN113473121A (zh) * 2020-03-30 2021-10-01 畅想科技有限公司 基于图案的图像数据压缩
GB2593706B (en) * 2020-03-30 2022-07-20 Imagination Tech Ltd Pattern-based image data compression
CN114359029B (zh) * 2022-03-21 2022-06-21 广州匠芯创科技有限公司 图像处理方法及其装置、系统、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0983809A (ja) * 1995-09-20 1997-03-28 Hitachi Ltd カラー画像信号の圧縮方法、画像符号化復号化装置および画像処理システム
JPH1051642A (ja) * 1996-07-31 1998-02-20 Fuji Xerox Co Ltd 画像処理装置
JPH10136179A (ja) * 1996-11-01 1998-05-22 Hitachi Ltd データ処理装置
JP2004153751A (ja) * 2002-11-01 2004-05-27 Ricoh Co Ltd 画像処理装置及び画像処理方法
JP2005303606A (ja) * 2004-04-09 2005-10-27 Ricoh Co Ltd 画像処理装置、画像処理方法およびプリンタドライバ

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05316360A (ja) * 1992-05-14 1993-11-26 Fuji Xerox Co Ltd 画像信号の符号化復号装置
JP3436958B2 (ja) * 1993-12-08 2003-08-18 株式会社東芝 画像入力装置
JPH09244832A (ja) * 1996-03-08 1997-09-19 Hitachi Ltd 画像処理システム
US6731400B1 (en) * 1996-11-01 2004-05-04 Hitachi, Ltd. Color image processing apparatus which performs different image processings depending on region of color image
JPH10257488A (ja) * 1997-03-12 1998-09-25 Oki Data:Kk 画像符号化装置および画像復号化装置
JP4124910B2 (ja) * 1999-05-18 2008-07-23 キヤノン株式会社 画像データの復号化方法及びその装置
JP3629243B2 (ja) * 2002-02-13 2005-03-16 Necマイクロシステム株式会社 モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
JP3790728B2 (ja) 2002-09-11 2006-06-28 株式会社東芝 画像符号化装置、画像復号化装置及びそれらの方法
WO2004068844A1 (ja) * 2003-01-30 2004-08-12 Fujitsu Limited 画像圧縮方法、画像復元方法、プログラム及び装置
JP4285127B2 (ja) * 2003-07-30 2009-06-24 セイコーエプソン株式会社 減色処理装置及び減色処理方法
JP2008301373A (ja) 2007-06-01 2008-12-11 Canon Inc 画像符号化装置及び画像復号装置及びそれらの制御方法
US8213727B2 (en) * 2007-06-20 2012-07-03 Canon Kabushiki Kaisha Image encoding apparatus and image decoding apparatus, and control method thereof
JP2009100026A (ja) * 2007-10-12 2009-05-07 Canon Inc 画像処理装置
JP4510069B2 (ja) * 2007-12-10 2010-07-21 シャープ株式会社 画像処理装置、画像表示装置、画像形成装置、画像処理方法、コンピュータプログラム及び記憶媒体
JP5241311B2 (ja) * 2008-05-08 2013-07-17 キヤノン株式会社 画像形成装置、画像形成方法およびプログラム
US8274710B2 (en) * 2008-06-25 2012-09-25 Canon Kabushiki Kaisha Image processing using count variation
US20100123721A1 (en) * 2008-11-18 2010-05-20 Hon Wah Wong Image device and data processing system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0983809A (ja) * 1995-09-20 1997-03-28 Hitachi Ltd カラー画像信号の圧縮方法、画像符号化復号化装置および画像処理システム
JPH1051642A (ja) * 1996-07-31 1998-02-20 Fuji Xerox Co Ltd 画像処理装置
JPH10136179A (ja) * 1996-11-01 1998-05-22 Hitachi Ltd データ処理装置
JP2004153751A (ja) * 2002-11-01 2004-05-27 Ricoh Co Ltd 画像処理装置及び画像処理方法
JP2005303606A (ja) * 2004-04-09 2005-10-27 Ricoh Co Ltd 画像処理装置、画像処理方法およびプリンタドライバ

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011193279A (ja) * 2010-03-15 2011-09-29 Canon Inc 画像処理装置、画像処理方法、及びプログラム
US8553301B2 (en) 2010-04-08 2013-10-08 Canon Kabushiki Kaisha Image processing apparatus, method, and program product to perform color-reduction processing for a block
US8509532B2 (en) 2010-04-28 2013-08-13 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and computer-readable medium
US8804840B2 (en) 2010-05-27 2014-08-12 Canon Kabushiki Kaisha Image processing apparatus, image processing method and program
US8406517B2 (en) 2010-06-03 2013-03-26 Canon Kabushiki Kaisha Image processing apparatus and image processing method
US8452083B2 (en) 2010-06-09 2013-05-28 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and computer-readable medium
US8849021B2 (en) 2010-07-13 2014-09-30 Canon Kabushiki Kaisha Image processing apparatus, method, and storage medium for high speed compression processing
US8659793B2 (en) 2010-08-26 2014-02-25 Canon Kabushiki Kaisha Image processing apparatus and image processing method
JP2018075773A (ja) * 2016-11-09 2018-05-17 キヤノン株式会社 画像形成装置、画像形成方法およびプログラム

Also Published As

Publication number Publication date
KR20120065394A (ko) 2012-06-20
EP2481206B1 (en) 2018-04-18
US8660347B2 (en) 2014-02-25
EP2481206A4 (en) 2013-09-04
US20110188750A1 (en) 2011-08-04
CN102577345A (zh) 2012-07-11
WO2011037009A1 (en) 2011-03-31
EP2481206A1 (en) 2012-08-01
CN102577345B (zh) 2015-03-11
KR101490215B1 (ko) 2015-02-05
JP5558767B2 (ja) 2014-07-23

Similar Documents

Publication Publication Date Title
JP5558767B2 (ja) 画像処理装置及びその処理方法
JP5393574B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP5595151B2 (ja) 画像処理装置、画像処理装置における圧縮方法、および、プログラム
JP5132517B2 (ja) 画像処理装置および画像処理方法
US8452083B2 (en) Image processing apparatus, image processing method, and computer-readable medium
US8953220B2 (en) Image processing for rotation of compressed image data
US8401287B2 (en) Image processing apparatus and processing method thereof
JP2011193394A (ja) 画像処理装置、画像処理方法、及びプログラム
US8406517B2 (en) Image processing apparatus and image processing method
US8494261B2 (en) Image processing apparatus, image processing method, and computer-readable medium
JP5441676B2 (ja) 画像処理装置及びその処理方法
JP3346051B2 (ja) 画像処理装置
JP5595142B2 (ja) 画像処理装置及び画像処理方法
JP5606223B2 (ja) 画像処理装置及びその処理方法
JP2012095227A (ja) 画像処理装置、画像処理方法、及びプログラム
JP5643578B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP2012074897A (ja) 画像処理装置、画像処理方法、およびプログラム
JP2010220131A (ja) 画像符号化装置、及び、画像符号化方法
JP2008187514A (ja) 画像処理装置及び画像処理方法
JP2003036445A (ja) 画像処理装置
JP2013085173A (ja) 画像処理装置及びその処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140213

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: 20140509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140605

R151 Written notification of patent or utility model registration

Ref document number: 5558767

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees