JP2012054786A - Image processor, image processing method, and program - Google Patents
Image processor, image processing method, and program Download PDFInfo
- Publication number
- JP2012054786A JP2012054786A JP2010196094A JP2010196094A JP2012054786A JP 2012054786 A JP2012054786 A JP 2012054786A JP 2010196094 A JP2010196094 A JP 2010196094A JP 2010196094 A JP2010196094 A JP 2010196094A JP 2012054786 A JP2012054786 A JP 2012054786A
- Authority
- JP
- Japan
- Prior art keywords
- color
- data
- block
- image
- processing
- 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
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明は、画像を所定のブロック単位に圧縮する画像データ圧縮装置、及びそれらブロック単位に圧縮されたデータへの画像処理及び画像データへ復元処理するための画像処理装置に関する。 The present invention relates to an image data compression apparatus that compresses an image in units of predetermined blocks, and an image processing apparatus that performs image processing on data compressed in units of blocks and restoration processing on image data.
従来のカラー静止画像の圧縮方式には、離散コサイン変換を利用したJPEG方式や、Wavelet変換を利用した方式が多く使われている。この種の符号化方式は、一般的に画像を所定のブロック毎(例えば8x8や16x16画素単位)に符号化し、離散コサイン変換、量子化およびエントロピー符号化を行うことで高い圧縮効率を示している。この種の符号化方式は、可変長符号化方式であるので、符号化対象の画像ブロック毎に符号量が変化する。そのため、複数のブロックからなる符号化画像の一部に対してのみ復号化を行う場合、まず、CPUはメモリに格納されている全ブロックの符号量情報を取得する必要がある。その上で、CPUはブロック復号化処理を行う前に、各復号対象ブロックの符号化データが格納されているメモリ上のアドレス情報を算出してから符号化データへアクセスを行う。JPEGでの離散コサイン変換は、ブロックサイズとして通常8x8画素を必要としている。このブロック単位での離散コサイン変換処理を高速に行う場合には、高速演算器もしくは専用ハードウェア、及びバッファ用のメモリが必要となる。 As conventional color still image compression methods, a JPEG method using discrete cosine transform and a method using Wavelet transform are often used. This type of encoding method generally shows high compression efficiency by encoding an image for each predetermined block (for example, 8 × 8 or 16 × 16 pixel unit), and performing discrete cosine transform, quantization, and entropy encoding. . Since this type of encoding method is a variable-length encoding method, the code amount changes for each image block to be encoded. Therefore, when decoding only a part of an encoded image composed of a plurality of blocks, first, the CPU needs to acquire the code amount information of all the blocks stored in the memory. In addition, before performing the block decoding process, the CPU calculates the address information on the memory in which the encoded data of each decoding target block is stored, and then accesses the encoded data. Discrete cosine transform in JPEG normally requires 8x8 pixels as the block size. In order to perform discrete cosine transform processing in units of blocks at a high speed, a high-speed arithmetic unit or dedicated hardware and a buffer memory are required.
上記に述べたような符号化データに対するランダムアクセス性や処理の複雑度の課題に対するアプローチとして、特許文献1ではブロックサイズが小さい圧縮率固定の画像圧縮技術が開示されている。また、高解像度化が進むにつれて画像処理を必要とする画素数が飛躍的に増えその処理負荷が増大しているという課題もある。また、前述した画像圧縮を用いた場合はその画素データを参照し、その画素データに対して色変換などの処理を行う場合、圧縮データの復号処理が必要になる。つまり圧縮データのままで画像処理を行う事は出来ず、必ず復号処理が必要になり、処理時間の増大をまねく。
As an approach to the problems of random accessibility to the encoded data and processing complexity as described above,
画素データの輝度や濃度値情報を変換せずに圧縮処理を行う技術として、画素データとその連続数を記憶するランレングス圧縮方式や、ブロック単位でエッジを検出し、そのエッジの持つ2色を記憶することで圧縮する技術(特許文献2)などが開示されている。 As a technique for performing compression processing without converting luminance and density value information of pixel data, a run-length compression method that stores pixel data and its continuous number, or an edge is detected in units of blocks, and the two colors that the edge has A technique of compressing by storing (Patent Document 2) is disclosed.
上述したように、離散コサイン変換を利用したJPEG方式やWavelet変換を用いた方式の場合、対象ブロックのブロックサイズが大きいと、ブロック毎に必要とされる計算量が多く、処理ハードウェアが高価になってしまうといった問題がある。また、画像データの用途次第では高解像度データが必ずしも必要では無く、それら高解像度データから低解像度データを作成する際にも必ず復号処理および別途縮小処理が必要になってしまう。 As described above, in the case of a JPEG method using discrete cosine transform or a method using Wavelet transform, if the block size of the target block is large, a large amount of calculation is required for each block, and processing hardware becomes expensive. There is a problem of becoming. Further, depending on the application of the image data, high resolution data is not always necessary, and decoding processing and separate reduction processing are always required when creating low resolution data from the high resolution data.
本発明は、このような問題を鑑みてなされたもので、その目的を以下に示す。処理コストを抑えつつ、高解像度画像データに対して高い圧縮率によって符号化を実現する。符号化された高解像度画像データから簡単に低解像度データを取得する。特に、後段の処理での必要性に応じて、低解像度データを容易に得られるようにする。 The present invention has been made in view of such a problem, and its purpose is described below. Encoding is realized with a high compression rate for high-resolution image data while suppressing processing costs. Low-resolution data is easily acquired from the encoded high-resolution image data. In particular, low-resolution data can be easily obtained in accordance with the necessity for subsequent processing.
上記課題を解決するために、本発明の画像処理装置は、画像データを所定サイズのブロックごとに分割し、当該分割されるブロックを順に処理対象にする分割手段と、前記分割手段で分割された処理対象のブロック内の色の配置が、1つ前に処理対象になったブロック内の色の配置と同じであるか否か判定する判定手段と、前記処理対象のブロック内の各画素の色を比較することにより、当該処理対象のブロックに含まれる色の配置パターンを示すパターンフラグを特定する特定手段と、前記処理対象のブロック内の予め定義された位置の画素の色を第1色の色データとして抽出し、更に、当該ブロックに含まれる前記第1色の色データ以外の色データを抽出する抽出手段と、前記パターンフラグ、及び、前記色データのうち少なくとも一方を出力する出力手段とを有し、前記出力手段は、前記第1判定手段で同じでないと判定された場合は、前記特定手段で特定された当該処理対象のブロックに含まれる色の配置パターンを示すパターンフラグと、前記抽出手段で抽出された前記処理対象のブロック内の前記第1色の色データと、前記処理対象のブロック内の前記第1色の色データ以外の色データとを出力し、前記判定手段で同じであると判定され、且つ、後段の処理で前記処理対象のブロックの前記第1色の色データを用いた処理が行われる場合は、当該処理対象のブロック内の色の配置が1つ前に処理対象になったブロック内の色の配置と同じであることを示すパターンフラグと、前記処理対象のブロックの前記第1色の色データとを出力し、前記判定手段で同じであると判定され、且つ、後段の処理で前記処理対象のブロックの前記第1色の色データを用いた処理が行われない場合は、当該処理対象のブロック内の色の配置が1つ前に処理対象になったブロック内の色の配置と同じであることを示すパターンフラグを出力する。 In order to solve the above-described problem, an image processing apparatus according to the present invention divides image data into blocks each having a predetermined size, and sequentially divides the divided blocks by the division unit. Determining means for determining whether the color arrangement in the processing target block is the same as the color arrangement in the previous processing target block; and the color of each pixel in the processing target block By specifying a pattern flag indicating a color arrangement pattern included in the block to be processed, and the color of the pixel at a predefined position in the block to be processed is the first color. Extracting means for extracting color data other than the color data of the first color included in the block, at least one of the pattern flag and the color data Output means for outputting, and when the first determining means determines that they are not the same, the output means indicates an arrangement pattern of the color included in the processing target block specified by the specifying means Outputting a pattern flag, color data of the first color in the block to be processed extracted by the extraction means, and color data other than the color data of the first color in the block to be processed; When it is determined by the determination means that the same is performed, and processing using the first color data of the block to be processed is performed in subsequent processing, the arrangement of colors in the block to be processed Output a pattern flag indicating that the color arrangement is the same as the color arrangement in the previous block to be processed and the color data of the first color of the block to be processed. It is If the processing using the first color data of the processing target block is not performed in the subsequent processing, the color arrangement in the processing target block is set to the processing target one before. A pattern flag indicating that the color arrangement in the block is the same is output.
処理コストを抑えつつ、高解像度画像データに対して高い圧縮率によって符号化を実現することができる。また、後段の処理で、低解像度画像データを必要とする場合は、前のブロックと同じ色配置のブロックについても、同じ色配置であることを示すパターンフラグとともに、第1色の色データを出力することにより、簡単に低解像度画像データを得ることができる。 Encoding can be realized with a high compression rate for high-resolution image data while suppressing processing costs. If low resolution image data is required in the subsequent processing, the first color data is output together with the pattern flag indicating that the same color arrangement is used for the block having the same color arrangement as the previous block. By doing so, low-resolution image data can be obtained easily.
<第一実施形態>
以下、本発明を実施するための形態について図面を用いて説明する。図1に、本発明の実施の形態のスキャン、プリント、コピーを行うデジタル複合機システム(以降MFPと称する)の全体構成図を示す。コントローラ101は、画像入力デバイスであるスキャナ102や画像出力デバイスであるプリンタ103と接続する。一方、LANや公衆回線(WAN)等のネットワーク104と接続することで、画像情報やデバイス情報の入出力、PDLデータのイメージ展開を行うためのコントローラである。CPU105はシステム全体を制御するプロセッサである。メモリ106は、CPU105が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。HDD記憶部107はハードディスクドライブで、システムソフトウェア、画像データを格納する。
<First embodiment>
Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. FIG. 1 shows an overall configuration diagram of a digital multi-function peripheral system (hereinafter referred to as MFP) that performs scanning, printing, and copying according to an embodiment of the present invention. The
図2を用いて、図1のコントローラ101の動作に関して詳細に説明する。スキャンデータを読み込む場合を説明する。コントローラ101は、スキャナ102からRGB(RED、GREEN、BLUE)の3色の読み取り画像データを受け取る。次に、スキャナ用画像処理部201にてシェーディング処理やフィルタ処理等の画像処理を行い、圧縮部202にて画像圧縮処理を行う。その圧縮データをDMAC(DIRECT MEMORY ACCESS CONTROLLER)203を介してメモリ106へ格納する。
The operation of the
スキャンデータをプリントする場合は、メモリ106に格納されている圧縮データをDMAC211を介して色処理部213へ入力しCMYK(CYAN、MAGENTA、YELLOW、BLACK)色空間へ変換する。その後、それらCMYKの値に対して濃度調整、プリンタガンマ補正等の調整の色処理を行った後、DMAC211を介して再度メモリ106へ格納する。その後プリント用の画像処理を行うために、DMAC221を介して、メモリ106に格納されている圧縮データを読み込み、展開部222にてラスタ画像データへ展開する。ラスタのCMYK画像データをプリント用画像処理部223に入力し、そこでディザ法や誤差拡散法による面積階調処理を行い、プリンタ103へ出力する。
When printing the scan data, the compressed data stored in the
スキャンデータをネットワーク104へ送信する場合には、メモリ106に格納されている圧縮データをDMAC211を介して展開部/圧縮部212へ入力し展開処理を行った後、色処理部213へ入力し色変換を行う。具体的には、ディスプレイガンマ調整や用紙地色調整等を行った後にYCbCr(輝度、BLUE色差、RED色差)色空間へ変換する。その後再度、DMAC211を介してメモリ106へ格納する。その後、送信用の画像処理を行うために、DMAC231を介して、メモリ106に格納されている圧縮データを読み込み、展開部232にてラスタ画像データへ展開する。ラスタのYCbCr画像データに対して送信処理部233ではカラー画像送信であればJPEG圧縮処理を行い、モノクロ2値画像送信であればYデータに対して2値化を行う。そして、送信処理部233は、JBIG圧縮等を行い、ネットワーク104へ出力する。
When transmitting the scan data to the
スキャンデータを保存する場合には、メモリ106に格納されている圧縮データをDMAC241を介してディスクスプール242へ入力する。ディスクスプール242では、HDDの書き込みスピードがメモリに比べて遅いため、さらに高圧縮のJPEG圧縮を施す。その後、ディスクアクセスコントローラ243を介してHDD記憶部107へJPEG圧縮データを保存する。保存されているデータを再度メモリ106に展開する場合はその逆の処理を行う。
When storing the scan data, the compressed data stored in the
PDLのデータをメモリ106へ書き込む場合を説明する。CPU105は、ネットワーク104から送られてきたPDLデータをインタープリットし、メモリ106へディスプレイリストを出力する。その後、レンダリング部251は、メモリ106に格納されているディスプレイリストを読み出して、ラスタ画像データへレンダリングを行う。レンダリング部251は、ラスタ画像データを一定画素数(例えば、64x64画素)のブロック単位(タイル単位)で、圧縮部252へ転送することが可能である。以下の本実施形態では、圧縮部252へ転送されるサイズ(例えば64x64画素)をタイルと呼び、そのタイルサイズの画像をタイル画像と呼ぶこととする。圧縮部252は、レンダリング部251から転送されたタイル単位で画像圧縮処理を行い、圧縮されたデータをDMAC253に転送する。DMAC253が圧縮部252から転送された圧縮データをメモリ106へ格納する。
A case where PDL data is written to the
[圧縮部]
続いて、図3に本発明の特徴となる圧縮部252の構成を示す。圧縮部252は、入力バッファ330、第一圧縮部300、第二圧縮部301、バッファ311、パケット情報生成部312からなる。入力バッファ330は、レンダリング部251がレンダリングした後のタイル画像データ(例えば、64x64画素サイズの画像など)を格納する。圧縮処理を行うブロックは、本発明の方法によって圧縮処理を行う第一圧縮部300と、画像圧縮されたデータをJPEGなどに代表される圧縮方式によって符号化する第二圧縮部301からなる。なお、本実施形態において、第一圧縮部300を第一の符号化部、第二圧縮部301を第二の符号化部とも表記する。
[Compression section]
Next, FIG. 3 shows a configuration of the
第一圧縮部300は、さらに画像圧縮部1(302)、画像バッファ1(320)、画像圧縮部2(303)、画像バッファ2(304)からなる。画像圧縮部1(302)と画像圧縮部2(303)は共に、後述する圧縮処理フローに従って、画像圧縮を行う。画像圧縮部1および2(302、303)は、後述する処理フローによって、入力データをパターンフラグ、第1色データ、第2/3/4色データと呼ばれる3つのデータに変換する。ここでの第2/3/4色データは、第1色の色データ以外の色データを意味する。画像圧縮部1(302)は、パターンフラグをパターンフラグ格納部1(350)、第1色データを画像バッファ1(320)、第2/3/4色データを第2/3/4色格納部1(351)に格納する。なお、第1色データは、2×2画素サイズのブロック内の予め定義された位置の画素(例えば2×2画素ブロック内の左上画素)の画素値を指し、第2/3/4色データは、当該2×2画素ブロックに含まれる第1色データ以外の画素値を示している。なお、2×2画素のブロックにおいて、第1色(代表色)を除く他の色は0〜3色存在しうるので、第2/3/4色データの色数は0〜3色のいずれかである。第1色データを代表色、第2/3/4色データを他色とも記載する。ここで、画像バッファ1(320)に格納されるデータは、入力バッファ330の画像データ(例えば64×64画素サイズのタイル画像)を、2x2画素サイズのブロックごとに分割し、各ブロックの所定位置の画素から1画素分の情報量を生成したデータである。従って、元のブロックにおける解像度を半分に変換したデータに相当する(2x2画素→1x1画素)。すなわち、入力バッファ330の画像データが64×64画素サイズであった場合、画像バッファ1(320)に格納される画像データは32×32画素サイズとなる。
The
画像圧縮部2(303)は、画像バッファ1(320)に格納されたデータを処理する。画像圧縮部2(303)は、パターンフラグをパターンフラグ格納部2(352)、第1色データを画像バッファ2(304)、第2/3/4色データを第2/3/4色格納部2(353)に格納する。画像バッファ2(304)に格納されるデータは、画像バッファ1(320)のデータ(例えば32×32画素サイズの画像)を2x2画素サイズのブロックごとに分割し、各ブロックの所定位置の画素から1画素分の情報量を生成したデータである。このデータは、解像度を半分に変換したデータに相当する。すなわち、画像バッファ1(320)のデータが32×32画素サイズであった場合、画像バッファ2(304)に格納される画像データは16×16画素サイズとなる。 The image compression unit 2 (303) processes the data stored in the image buffer 1 (320). The image compression unit 2 (303) stores the pattern flag in the pattern flag storage unit 2 (352), the first color data in the image buffer 2 (304), and the 2/3/4 color data in the 2/3/4 color. Stored in part 2 (353). The data stored in the image buffer 2 (304) is obtained by dividing the data of the image buffer 1 (320) (for example, an image having a size of 32 × 32 pixels) into blocks each having a 2 × 2 pixel size, and starting from a pixel at a predetermined position of each block. This is data in which an information amount for one pixel is generated. This data corresponds to data obtained by converting the resolution into half. That is, when the data in the image buffer 1 (320) has a 32 × 32 pixel size, the image data stored in the image buffer 2 (304) has a 16 × 16 pixel size.
このように、画像圧縮部1および2(302、303)は、入力された画像の解像度を半分に変換することが可能な圧縮器である。つまり、図3に示すように同一の処理を行う圧縮器を2つ配置することで、第一圧縮部300に入力された画像の解像度を4分の1相当に変換することが可能となる。例えば、1200dpiでプリントされた画像を第一圧縮部300に入力することで、300dpiに圧縮された画像を得ることが可能になる。また、画像圧縮部2(303)の処理を省略することで、入力画像の解像度を半分にする処理も可能であり、例えば1200dpiの入力画像から600dpi画像を得ることも可能となる。
As described above, the
第二圧縮部301は、第二圧縮方式判定部308と、符号化方式選択回路309、310と、非可逆符号化部305と、可逆符号化部306とからなる。また、第一圧縮部300による画像圧縮データをそのまま出力するためのパス307を有する。非可逆符号化部305は、JPEG−DCTに代表される画像符号化方式を用いて非可逆符号化を行い、可逆符号化部306は、JPEG−LSなどに代表される画像符号化方式を用いて可逆符号化を行う。
The
第二圧縮方式判定部308は、画像バッファ2(304)及びバッファ311から出力される各データ量を元にした制御情報315、316に基づいて第二圧縮方式を決定する。第二圧縮方式判定部308は決定された第二圧縮方式によって、符号化方式選択回路309、310を動作させる。画像バッファ2(304)に格納された画素データ群は、第二圧縮方式判定部308で決定される非可逆符号化部305あるいは可逆符号化部306における圧縮方式で処理され、処理後のデータがバッファ311の第1色or符号化画像バッファ354に格納される。圧縮処理を行わない場合には、画像バッファ2(304)に格納されたデータは、第二圧縮部301で何も処理されずに(307)、バッファ311の第1色or符号化画像バッファ354に転送される。
The second compression
バッファ311に格納された圧縮データは、パケット情報生成部312で、図13を用いて後述するような圧縮方法、色情報、画像位置情報などからなるパケット情報を付加されることにより、パケット化される。パケット化された圧縮データは、DMAC253を介してメモリ106に格納される。レジスタ部313は、CPU105から制御情報を受け、制御信号314に変換して、第一圧縮部300及び第二圧縮部301、パケット情報生成部312へ制御情報を通知する。
The compressed data stored in the
[画像圧縮部]
次に、ラスタ画像データの第一圧縮部300の画像圧縮部1および2(302、303)の詳細な圧縮方法に関して図4および図5を用いて説明を行う。画像圧縮部1(302)と画像圧縮部2(303)は、処理対象にするラスタ画像のサイズが異なるだけで、その他は同様の手法で処理を行う。ここでは、ラスタ画像400を処理対象画像として説明を行う。まず、ラスタ画像400を2x2画素単位のブロック401ごとに分割し、そのブロック単位でデータの圧縮を行う。処理の説明の前に、2x2画素(1つのブロック)の4画素における色数の組み合わせを考える。4画素それぞれが異なる色を表す場合に、ブロック内で最大4色が存在する。従って、ブロック内で存在する色数は、1〜4色となる。
[Image compression section]
Next, a detailed compression method of the
図4のテーブル402は、色数が1色〜4色のそれぞれの場合において、考えられるブロック内の色の配置パターンを示す図である。まずブロック内を構成する色数が1色の場合、4画素が同色で構成されている事になるので、その配置パターンは1通りである。次に、ブロック内を構成する色数が2色の場合を考える(各色を第1色と第2色と呼ぶこととする)。2色が4画素内へレイアウトされる場合の数は、所定位置の画素(本実施例では左上の画素とする)の色を第1色として考えると、左上画素以外の残りの3画素へ第1色もしくは第2色が入るので、4画素同色の場合を除くと、全部で7通りの組み合わせが考えられる。 A table 402 in FIG. 4 is a diagram showing an arrangement pattern of colors in a possible block in the case where the number of colors is 1 to 4, respectively. First, when the number of colors constituting the block is one, four pixels are composed of the same color, so there is one arrangement pattern. Next, consider a case where the number of colors constituting the block is two (each color is referred to as a first color and a second color). When two colors are laid out in four pixels, the color of a pixel at a predetermined position (in this embodiment, the upper left pixel) is considered as the first color, and the remaining three pixels other than the upper left pixel are Since one color or the second color is included, a total of seven combinations are possible except for the case of four pixels having the same color.
次に、ブロック内を構成する色数が3色(第1色〜第3色)で構成される場合を考える。3色が4画素内へレイアウトされる場合の数は、3色のうち1色だけ2度使われる場合の数と言い換える事ができるので、4画素の座標のうち、2画素が同じ色になる場合の数を求めればよい。つまり3色の場合の数は、4つの画素から2つの画素を取る組み合わせとなり、全部で6通りとなる。また、ブロック内を構成する色数が4色(第1色〜第4色)で構成される場合は、1パターンしか存在しない。したがって、ブロック内の色数が1〜4色のすべての場合の数を合計すると全部で15通りのパターンが考えられる。これらすべてのパターンを識別するためにフラグ(識別子)を付与する事を考えると、データ量としては4bit必要となる(フラグ0〜E)。この15通りの配置パターンとフラグとの対応を図5に示すように定義する。以降このフラグをパターンフラグ500と呼ぶ。
Next, consider a case where the number of colors constituting the block is composed of three colors (first to third colors). Since the number of three colors laid out in four pixels can be paraphrased as the number of only one of the three colors used twice, two of the four pixel coordinates have the same color. Find the number of cases. That is, the number in the case of three colors is a combination of taking two pixels from four pixels, for a total of six. When the number of colors constituting the block is composed of four colors (first to fourth colors), there is only one pattern. Therefore, a total of 15 patterns can be considered when the numbers in all cases where the number of colors in the block is 1 to 4 are totaled. Considering that a flag (identifier) is added to identify all these patterns, the data amount requires 4 bits (
[画像圧縮処理フロー]
上記のように2x2画素の取りうる組み合わせを踏まえて、図6を用いて画像圧縮部1・2(302、303)にて行われる処理フローを説明する。1画素あたりのデータは、例えばRGBそれぞれ8bit(すなわち256階調)の24bit画像として説明を行う。
[Image compression processing flow]
Based on the possible combinations of 2 × 2 pixels as described above, a processing flow performed in the
まず、2x2画素のブロックを入力し(S601)、そのブロック内全ての2画素の組み合わせに対して24bitのコンペア(比較)を取る(S602)。このコンペアを取った結果、全ビット一致していた場合には1を、不一致の場合には0を出力する。ここで、図7に示すように、2x2画素内の左上から右上、左下、右下の画素の位置順に、座標1、2、3、4とする。2画素の組み合わせの座標は、1−2、1−3、1−4、2−3、2−4、3−4の全部で6通りあるので、6回コンペアを取る必要があり、結果は6bit出力される。これにより、ブロック内の色数決定が行われる。 First, a 2 × 2 pixel block is input (S601), and a 24-bit compare (comparison) is taken for all combinations of two pixels in the block (S602). As a result of this comparison, 1 is output if all bits match, and 0 is output if they do not match. Here, as shown in FIG. 7, the coordinates are 1, 2, 3, and 4 in the order of the positions of the pixels from the upper left to the upper right, the lower left, and the lower right in the 2 × 2 pixels. Since there are 6 coordinates of the combination of 2 pixels, 1-2, 1-3, 1-4, 2-3, 2-4, 3-4, it is necessary to take 6 comparisons, and the result is 6 bits are output. As a result, the number of colors in the block is determined.
例えば全画素同色の場合には、全てのコンペア結果が1を出力し、逆に4画素全てバラバラの画素値を持っている場合には、全てのコンペア結果が0を出力する。前述の通り、4画素で色の一致から出現しうるパターン数は15通りなので、その6bitのコンペア結果を4bitのパターンフラグへ変換する(S603)。これにより、ブロック内の色の配置に対する配置決定を実現する。4bitのパターンフラグへ変換したら続いて、4画素内で出現した色数および色データを抽出する(S604)。図7に示したように、4ビットのパターンフラグ(または6ビットのコンペア結果)に対して、ブロック内での各色の配置を示す各パターンが対応づけられているので、各ブロックにおける色数と色データを特定することができる。なお、本実施形態の図7では、全てのパターンにおいて、左上の画素の色(画素値)が第1色(1番目の色データ)となるように予め定義している。パターンフラグが0の場合は、色数1で、左上の画素の色(画素値)を第1色として抽出する。また、パターンフラグが1〜7の場合は、色数2で、左上の画素の色(画素値)を第1色として抽出し、更に、各パターンフラグに応じて定義されている第2色(2番目の色データ)が存在する位置の画素の色(画素値)を抽出する。
For example, when all the pixels have the same color, all the comparison results
例えば、パターンフラグが1の場合は、右上の画素の色を第2色として抽出する。また、パターンフラグが8〜Dの場合は、色数3で、左上の画素の色(画素値)を第1色として抽出し、更に、各パターンフラグに応じて定義されている第2色(2番目の色データ)および第3色(3番目の色データ)が存在する位置の画素の色(画素値)を抽出する。例えば、パターンフラグが8の場合は、右上の画素の色(画素値)を第2色として抽出し、右下の画素の色(画素値)を第3色として抽出する。また、パターンフラグがEの場合は、左上の画素の色を第1色、右上の画素の色を第2色、左下の画素の色を第3色、右下の画素の色を第4色として抽出する。このように、パターンフラグ(またはコンペア結果)に基づいて、ブロックの色数が特定され(S605、S607、S609)、それぞれに応じたパターンフラグと色データとを出力する(S606、S608、S610、S611)。 For example, when the pattern flag is 1, the color of the upper right pixel is extracted as the second color. When the pattern flag is 8 to D, the number of colors is 3 and the color (pixel value) of the upper left pixel is extracted as the first color, and further, the second color defined according to each pattern flag ( The color (pixel value) of the pixel at the position where the second color data) and the third color (third color data) are present is extracted. For example, when the pattern flag is 8, the color (pixel value) of the upper right pixel is extracted as the second color, and the color (pixel value) of the lower right pixel is extracted as the third color. When the pattern flag is E, the color of the upper left pixel is the first color, the color of the upper right pixel is the second color, the color of the lower left pixel is the third color, and the color of the lower right pixel is the fourth color. Extract as In this way, the number of colors of the block is specified based on the pattern flag (or the comparison result) (S605, S607, S609), and the pattern flag and color data corresponding to each are output (S606, S608, S610, S611).
なお、本実施形態において、第1色(代表色)の位置をブロック内の左上の画素の値としているが、これに限定するものではなく、他の位置の画素を第1色(代表色)としても良い。これに伴って、第2/3/4色(他色)の位置やその配置パターンの割当も変更しても構わない。 In the present embodiment, the position of the first color (representative color) is the value of the upper left pixel in the block. However, the present invention is not limited to this, and pixels at other positions are the first color (representative color). It is also good. Along with this, the position of the 2/3/4 color (other colors) and the allocation of the arrangement pattern may be changed.
S606、S608、S610、S611で出力されるデータを、図8を用いて説明する。例えばパターンフラグが0(すなわち4画素内が1色で構成されている)の場合には、2色目以降は存在しないので、パターンフラグ4bitと1色目の画素値(24bit分の色データ)とを出力する(S606)。また、パターンフラグが1〜7(4画素内が2色で構成されている)の場合(S607でYES)には、2色目が存在する画素の座標をパターンフラグより算出して当該画素の画素値(色データ)を得る。そして、パターンフラグ4bitと2色分の画素値(48bit分の色データ)とを出力する(S608)。また、パターンフラグが8〜D(すなわち3色)の場合(S609でYES)、パターンフラグの4ビットと3色分の画素値(72ビット分の色データ)とを出力する(S610)。そして、パターンフラグがE(すなわち4色)の場合(S609でNO)、パターンフラグの4ビットと4色分の画素値(96ビット分の色データ)とを出力する(S611)。言い換えると、各ブロックから出力される色データは、ブロック内の座標(左上から右上、左下、右下の順に1、2、3、4)順に走査した場合に、出現していなかった色データが第1色から順に出力されることに相当する。
The data output in S606, S608, S610, and S611 will be described with reference to FIG. For example, when the pattern flag is 0 (that is, the four pixels are composed of one color), the second and subsequent colors do not exist, so the
このように、2x2画素のブロックにおける4色(96bit)の入力データを、4bitのパターンフラグと、各ブロック内に存在する色数分の画素値とを出力することで、比較的簡単な処理で出力データ量を削減することが可能になる。特に、2×2画素のブロック内で同色の画素が存在するブロック(すなわち各ブロック内の色数が少ないブロック)が多いラスタ画像の場合は、出力されるデータ量の圧縮率も高くなる。またパターンフラグを参照することで、そのブロック内の色数を特定することが可能になる。 As described above, the input data of 4 colors (96 bits) in a 2 × 2 pixel block is output by outputting a 4-bit pattern flag and pixel values corresponding to the number of colors existing in each block. It becomes possible to reduce the amount of output data. In particular, in the case of a raster image having a large number of blocks having the same color pixel in a 2 × 2 pixel block (that is, a block having a small number of colors in each block), the compression rate of the output data amount is also high. In addition, by referring to the pattern flag, the number of colors in the block can be specified.
この処理を、処理対象のラスタ画像から抽出される2×2画素ブロック全てに対して行うことで、画像全面のデータ圧縮が可能になる。この時、第一圧縮部300の画像圧縮部1(302)が生成した第2/3/4色データは、第2/3/4色格納部1(351)へ、パターンフラグはパターンフラグ格納部1(350)へ格納する。また、第一圧縮部300の画像圧縮部2(303)による処理後、第1色のデータを画像バッファ2(304)へ、第2/3/4色データを第2/3/4色格納部2(353)へ、パターンフラグをパターンフラグ格納部2(352)へ格納する。
By performing this process on all 2 × 2 pixel blocks extracted from the raster image to be processed, data compression of the entire image becomes possible. At this time, the 2/3/4 color data generated by the image compression unit 1 (302) of the
ここで、第1色格納部以外のメモリ領域に関しては、画素値がピクセル単位で量子化や符号化されることなく格納されている。そこで、第二圧縮部301で圧縮符号化処理を実行しなければ、画像バッファ2(304)に格納されている第1色のデータを、そのまま第1色or符号化画像バッファ354に格納することが可能となる。そのため、第二圧縮部301の符号化部305や306による圧縮符号化を行わずに色データを書き出した場合は、画素の色データがそのままのビット数で格納される。したがって、圧縮データをデコードしてラスタ画像に戻さなくても、各画素の色データ(画素値)を特定することができる。よって、1画素入力/1画素出力で完結する色処理(例えばLUTによる色変換やガンマ補正処理、行列演算を用いた色空間変換処理等)を行う場合は、元のラスタ画像に戻す必要はなく、格納されている色データに対して直接処理を行うことができる。
Here, with respect to the memory area other than the first color storage unit, pixel values are stored without being quantized or encoded in units of pixels. Therefore, if the
第二圧縮部301での圧縮符号化処理を省略した場合、DMAC211が、パケット情報を読み込み、メモリ106上の第1色書き込み先頭アドレス(図13)以降の画素データを色処理部に転送し、画素単位での処理を済ませた後にメモリ106上へ書き戻す。この時なんらかの画素単位処理によって画素のビット数が変わらない場合には、メモリ106上の同じ場所へ上書きすることでメモリの節約も可能である。
When the compression encoding process in the
このような圧縮データを直接用いることで、メモリバス上の転送効率が向上し、かつオリジナルの画像に比べ、少ない画素数の色データに対して処理することになるので、高速処理が可能になる。また、後述の図14のように、画像データを、パターンフラグと第1色とその他の色とに分類し、離散的にメモリ上へ格納している。したがって、第1色格納部には、画像を2x2画素のブロックに分割して各ブロックにおける左上の座標の画素をサンプリングする処理を画像圧縮部302と303で2回行った場合の画素値(色データ)がメモリ上に連続して存在することになる。
By directly using such compressed data, transfer efficiency on the memory bus is improved, and color data having a smaller number of pixels than that of the original image is processed, so that high-speed processing is possible. . Further, as shown in FIG. 14 described later, the image data is classified into a pattern flag, a first color, and other colors, and is discretely stored in the memory. Therefore, in the first color storage unit, pixel values (colors) when the
ここで説明しているMFPにおいては、蓄積したPDL画像データやスキャンの画像データのプレビュー表示や、前述したネットワーク送信などの機能も有している。例えばプリント解像度が1200dpiであったとしてもプレビューや送信時にそこまでの解像度は通常必要とされず、300dpiやそれ以下で十分な場合が多い。こういった縮小データを得る必要がある場合は、第1色格納部に格納されている第1色の色データをまとめて抽出することで、簡単に1/4の解像度のラスタ画像を得る事が出来る。 The MFP described here has functions such as preview display of accumulated PDL image data and scanned image data, and network transmission described above. For example, even if the print resolution is 1200 dpi, the resolution up to that is usually not required at the time of preview or transmission, and 300 dpi or less is often sufficient. When it is necessary to obtain such reduced data, a raster image having a resolution of 1/4 can be easily obtained by extracting the color data of the first color stored in the first color storage unit collectively. I can do it.
[展開処理]
次に、展開部/圧縮部212における展開処理に関して説明する。展開部/圧縮部212では前述したようなパターンフラグと色データとを用いて、元のラスタ画像データへ戻す処理の事を指す。メモリ106上に後述する図13のように配置されているパケット情報の先頭アドレス、圧縮データのパターンフラグ書き込み先頭アドレス、第1色書き込み先頭アドレス、および第2/3/4色書き込み先頭アドレスの4つのアドレスをDMAC211へ指定する。DMAC211はその3つのアドレスからデータを読み出し、展開部/圧縮部212へ入力する。
[Deployment processing]
Next, the expansion process in the expansion unit /
展開部/圧縮部212ではまず4bitのパターンフラグを解釈し、そのブロック内の色数を算出する。第1色データに加え、色数に応じて第2/3/4色データを読み出し、各パターンフラグに対して予め定義されている色データの配置パターン(図5)にしたがって、第1色ならびに第2〜4色の色データを再配置する。これにより、2x2画素ブロックを展開、復号する。また、展開部/圧縮部212で画像サイズを1/4として処理を行う場合には、前述したように、パターンフラグと2、3、4色データを必要としないので、DMAC211には第1色書き込み先頭アドレスのみ指定し、メモリからは第1色データのみ読み込みを行う。こうすることでメモリバスの帯域を節約することが可能になる。
The decompressing /
[圧縮方法]
前述した画像圧縮方法で高圧縮になることが期待される画像は、画像内で隣接画素値が同色ないし減色を行い同じとみなせるだけ十分近いレベルしか違わないような領域が多い画像である。そういった画像領域に着目すると、2x2画素のブロック内部だけでなく隣接する2x2画素のブロックも含めて同色ないし十分同色とみなせるだけ差が小さい場合が多い。そこでこれまでに述べたブロック内で閉じた圧縮方法に加え、隣接ブロックの類似性も含めて圧縮処理を行う別の圧縮方法に関して説明する。この別の圧縮方法は、第1圧縮部300の画像圧縮部1,2で実行されるものとする。
[Compression method]
An image that is expected to be highly compressed by the above-described image compression method is an image in which there are many regions in which adjacent pixel values are different from each other only by a level close enough to be regarded as the same by performing the same color or color reduction. Focusing on such an image area, there are many cases where the difference is small enough to be regarded as the same color or sufficiently the same color including not only the 2 × 2 pixel block but also the adjacent 2 × 2 pixel block. Therefore, in addition to the compression method closed in the block described so far, another compression method for performing compression processing including the similarity of adjacent blocks will be described. This other compression method is executed by the
図7に2x2のブロックがとりうるパターンフラグの場合の数を記述したが、15通りのパターンを4bitで表現している。4bitのパターンフラグでは16通りまで表現可能なので、1通りまだ利用出来る余地がある。そこで、現在処理しているブロックの一つ前のブロックに対して処理を行った際に、その画素値を記憶しておく。そして、現在のブロックと全画素一致(もしくは減色した際十分近い)と判断出来る場合にはそのブロック内の画素値(色データ)を第1色および第2/3/4色データとして出力せず、前ブロックと同じというフラグだけを立てる。このフラグに4bitの残りの1通りを割り当てることで、前述したパターンフラグのビット数を変化させることなく、データのさらなる圧縮が可能になる。例えば、図7に示すように、パターンフラグ0〜Eまでが配置パターンとして割り当てられているため、“F”を、前ブロックと一致であること(すなわち、繰り返し)を示すパターンフラグとして追加する。 FIG. 7 describes the number of pattern flags that a 2 × 2 block can take, but 15 patterns are represented by 4 bits. Since the 4-bit pattern flag can represent up to 16 patterns, there is still room for use. Therefore, when processing is performed on the block immediately before the currently processed block, the pixel value is stored. If it can be determined that all pixels coincide with the current block (or close enough when color is reduced), the pixel values (color data) in the block are not output as the first color and 2/3/4 color data. Only flag the same as the previous block. By assigning the remaining 4 bits to this flag, it is possible to further compress the data without changing the number of bits of the pattern flag described above. For example, as shown in FIG. 7, since pattern flags 0 to E are assigned as arrangement patterns, “F” is added as a pattern flag indicating that it matches (that is, repeats) with the previous block.
こうして新たなパターンフラグを追加した入出力の関係を図9に示す。図9では、新たなパターンフラグとして、前のブロックと同じパターンであることを示すパターンフラグ“F”(以下、リピートフラグと称する)を追加した場合のビット数を示す図である。パターンフラグがFのブロックは、前のブロックの画素値(色データ)とパターンフラグとを参照して展開することが可能となるので、画素値(色データ)を格納しなくて済み、圧縮率が向上する。ただし、後段で第1色の色データを用いて圧縮処理が行われる場合は、前のブロックと同じ色配置のブロックに対しては、リピートフラグとともに第1色の色データを出力するものとする。 FIG. 9 shows the input / output relationship in which a new pattern flag is added. FIG. 9 is a diagram showing the number of bits when a pattern flag “F” (hereinafter referred to as a repeat flag) indicating the same pattern as the previous block is added as a new pattern flag. Since the block with the pattern flag F can be expanded with reference to the pixel value (color data) and the pattern flag of the previous block, it is not necessary to store the pixel value (color data), and the compression rate Will improve. However, when compression processing is performed using the color data of the first color in the subsequent stage, the color data of the first color is output together with the repeat flag for the block having the same color arrangement as the previous block. .
例えば、第一圧縮部300の画像圧縮部1(302)における処理の場合は、第1色の色データを用いて後段の画像圧縮部2(303)での圧縮処理が行われる(つまり、第一圧縮部300での最終処理でない)。したがって、前のブロックと同じ色配置のブロックに対しては、リピートフラグと第1色の色データとが出力される。なお、前のブロックと異なる色配置のブロックに対しては、色データの配置パターンを示すパターンフラグと第1色の色データと第2〜4色の色データとが出力されることになる。
For example, in the case of processing in the image compression unit 1 (302) of the
また、第一圧縮部300の画像圧縮部2(303)における処理の場合は、後段の第二圧縮部301で圧縮符号化が行われるように設定されているか否かに応じて処理が切り替わる。すなわち、第二圧縮部301で圧縮符号化が行われるように設定されている場合は、前のブロックと同じ色配置のブロックに対しては、リピートフラグと第1色の色データとが出力される。一方、第二圧縮部301で圧縮符号化が行われないように設定されている場合は、前のブロックと同じ色配置のブロックに対しては、リピートフラグのみが出力される。
In the case of processing in the image compression unit 2 (303) of the
[圧縮処理フロー]
第一圧縮部300の画像圧縮部1および2(302、303)において、リピートフラグを出力する場合(つまり、前のブロックと同じ色配置のブロックの場合)に、第1色の色データを一緒に出力するか否かを切り替える処理フローを図10に示す。まず、DMACなどのデータ転送部は、ラスタ画像データを入力し、圧縮処理を開始する。画像圧縮部は、入力された画像データから2x2画素のブロックを切り出す(S1001)。2x2画素のブロックを順に処理対象として、以降の処理を行う。そして、処理対象のブロックが最初のブロックであれば(S1002にてYES)、このブロック以前に処理されたブロックはないので、前述した図8と同様の圧縮処理を行う(S1005)。一方,処理対象のブロックが最初のブロックでない場合(S1002にてNO)、1つ前に処理し、記憶していたブロックとの差分算出を行う(S1003)。この処理は例えば、同じ座標位置での画素値の差の絶対値の和を求める事で可能である。
[Compression processing flow]
In the
前ブロックとの差が閾値以上の場合には(S1004にてNO)、前ブロックとの差が大きいため前ブロックのデータの再利用は出来ないと判断し、前述した図8と同様の圧縮処理を行う(S1005)。ここでの差異の基準となる閾値は、予め定義されているものとする。なお、画像データの特性等によって変更されても良い。その後、画像圧縮部は、そのブロックの第1色および第2/3/4色データの展開を行い(S1006)、展開ブロックを前のブロックのデータとして記憶更新しておく(S1007)。そして、当該処理対象のブロックのパターンフラグと第1色の色データおよび第2/3/4色の色データとを、それぞれのバッファに出力する(S1008)。 If the difference from the previous block is equal to or greater than the threshold (NO in S1004), it is determined that the data in the previous block cannot be reused because the difference from the previous block is large, and the same compression process as in FIG. (S1005). It is assumed that the threshold value serving as a reference for the difference here is defined in advance. It may be changed depending on the characteristics of the image data. Thereafter, the image compression unit expands the first color and 2/3/4 color data of the block (S1006), and stores and updates the expanded block as data of the previous block (S1007). Then, the pattern flag of the block to be processed, the color data of the first color, and the color data of the 2/3/4 color are output to the respective buffers (S1008).
一方、前ブロックとの差が閾値より小さければ(S1004にてYES)、1つ前に処理をして記憶した記憶ブロックと現在処理対象のブロックとの画素値が近いと判断し、S1009へ進む。そして、現在実行している画像圧縮が、第一圧縮部300における最終の画像圧縮処理であるか否かを判断する(S1009)。第一圧縮部300における最終処理でない(すなわち、第一圧縮部300の画像圧縮部1(302)の処理であって、画像圧縮部2(303)の処理が次に行われる)と判断した場合は、S1010に進む。一方、第一圧縮部300における最終処理である(すなわち、画像圧縮部2(303)による処理である)と判断した場合は、S1011に進む。
On the other hand, if the difference from the previous block is smaller than the threshold value (YES in S1004), it is determined that the pixel values of the storage block processed and stored immediately before and the current processing target block are close, and the process proceeds to S1009. . Then, it is determined whether or not the currently executed image compression is the final image compression process in the first compression unit 300 (S1009). When it is determined that the processing is not final processing in the first compression unit 300 (that is, processing of the image compression unit 1 (302) of the
最終の画像圧縮処理であるか否かの判断は、レジスタ部313の情報から画像圧縮部1および2(302、303)が判断する。レジスタ部313は、入力データの解像度情報(圧縮前の解像度)と出力データの解像度情報(圧縮後の解像度)の設定情報を保持可能な構成である。また、画像圧縮部1および2(302、303)は各々入力データを何回圧縮処理したかを検出可能な構成である。上記の構成にすることで、圧縮部252は、画像圧縮処理した実行回数と入出力の解像度情報から、第一圧縮部300における最終の画像圧縮処理であるか否かの判断(目的とする解像度に圧縮されたか否か)が可能となる。
Whether or not the image compression processing is final is determined by the
第一圧縮部300における最終処理であれば、第二圧縮部301における圧縮処理が設定されているか否かを判断する(S1011)。つまり、第一圧縮部300の圧縮処理の後に第二圧縮部301による圧縮処理の有無によって生成する情報を変更する。
If it is the final process in the
S1009において第一圧縮部300における最終処理でないと判定した場合、あるいは、S1011において、第一圧縮部300による画像圧縮処理よりも後に第二圧縮部301において圧縮処理が設定されていると判定した場合、「第1色生成オンモード」として、第1色の色データとパターンフラグとを作成する(S1010)。このとき、当該処理対象ブロックの第2/3/4色の色データは、前のブロックと同じであるので出力されない。なお、第1色の色データも前のブロックと同じであるが、後段の処理で第1色の色データが必要になるので、第1色の色データも出力されてバッファに格納される。
When it is determined in S1009 that it is not the final processing in the
一方、圧縮部202全体として最終の圧縮処理である(すなわち、第一圧縮部300の画像圧縮部303の処理であって、且つ第二圧縮部301での圧縮処理が設定されていない)と判断できる場合は(S1011にてNO)、「第1色生成オフモード」として、パターンフラグFの生成のみを行い、第1色の色データは出力しない(S1012)。そして、着目ブロックが最後のブロックかを判定し(S1013)、最後のブロックとなるまで繰り返す(S1013にてYES)ことで、画像全体を圧縮する。
On the other hand, it is determined that the
[モード切替]
前述した「第1色生成オンモード」と「第1色生成オフモード」を切り替えることで、第一圧縮部300を実行した時のデータ生成例を図11に示す。図11は、入力されたラスタ画像が64x64画素のタイル画像であるとして、入力されたラスタ画像を2x2画素のブロックに分割し、各ブロックをラスタ画像の主走査方向順に処理するものとする。
[Mode switching]
FIG. 11 shows an example of data generation when the
例えば、タイル画像における画素位置を(0,0)から(63、63)で示すものとして、以下に図11の2×2画素ブロックそれぞれの画素位置を説明する。ここで、図11の「第m−nブロック」とは、「画像圧縮部m」によって処理される「第n番目の2×2画素ブロック」という意味である。すなわち、図11の第1−1ブロックに含まれる各画素の座標位置は、(x、y)=(0,0)/(0,1)/(1、0)/(1,1)となる。また、第1−33ブロックに含まれる各画素の座標位置は、座標(2,0)/(2,1)/(3,0)/(3,1)である。図11の画像圧縮部1(1100)、画像圧縮部2(1101)には、各ブロックにおいて判定されたパターンフラグと出力される色データの例を示している。 For example, assuming that the pixel positions in the tile image are indicated by (0, 0) to (63, 63), the pixel positions of each 2 × 2 pixel block in FIG. 11 will be described below. Here, “mnth block” in FIG. 11 means “nth 2 × 2 pixel block” processed by “image compression unit m”. That is, the coordinate position of each pixel included in the 1-1 block of FIG. 11 is (x, y) = (0, 0) / (0, 1) / (1, 0) / (1, 1). Become. The coordinate position of each pixel included in the 1-33 block is coordinates (2, 0) / (2, 1) / (3, 0) / (3, 1). The image compression unit 1 (1100) and the image compression unit 2 (1101) in FIG. 11 show examples of pattern flags determined in each block and output color data.
また、画像圧縮部1(1100)と画像圧縮部2(1101)の間の画像バッファ1(1102)に、画像圧縮部1(1101)の第1色データが格納される状態を示している。画像圧縮部1(302)は、レジスタ部313の情報に基づき、第一圧縮部における最終処理でない(すなわち、画像圧縮部2(303)による画像圧縮が後で実行される)ことを判断される。したがって、第1−2ブロックに対しては、その前のブロック(第1−1ブロック)と同じ画素配置であった場合、判定されたパターンフラグFと第1色の色データとを出力し、第2/3/4色の色データは出力しない。
In addition, the first color data of the image compression unit 1 (1101) is stored in the image buffer 1 (1102) between the image compression unit 1 (1100) and the image compression unit 2 (1101). Based on the information in the
すなわち、画像圧縮部1(302)は、第1−2ブロックに対するパターンフラグとして、同一情報(前のブロックと同じ配置及び色情報の繰り返し)を示す0xFを生成するとともに、第1色の色データを出力する。また、画像圧縮部1(302)は、第1−33ブロックに対して、4色とも異なる色であると判定して、パターンフラグ0xEを生成する(なお、前ラインと同一ブロックが連続すれば連続とすることも可能である)。画像圧縮部1(302)は、続く第1−34ブロックが第1−33ブロックと同じ配置である場合、パターンフラグ0xFと第1色の色データとを出力する。 That is, the image compression unit 1 (302) generates 0xF indicating the same information (same arrangement and repetition of color information as the previous block) as the pattern flag for the 1-2 block, and the color data of the first color Is output. In addition, the image compression unit 1 (302) determines that the four colors are different from the first to 33rd blocks, and generates a pattern flag 0xE (if the same block as the previous line continues) It can also be continuous). The image compression unit 1 (302) outputs the pattern flag 0xF and the color data of the first color when the subsequent 1-34 block has the same arrangement as the 1-33 block.
次に、画像圧縮部1(302)を実行した結果について説明する。画像圧縮部1(1100)の各ブロックから出力される第1色の色データは元の画像の半分の解像度の画像を示しており、この半分の解像度の画像を2×2画素ごとに分割したブロックが、画像バッファ1(1102)に格納される。第2−1ブロックは、第1−1、1−2、1−33、1−34ブロックから生成された第1色の色データからなる。第2−2ブロックは、第1−3、1−4、1−35、1−36ブロックから生成された第1色の色データからなる。図11の例では、画像圧縮部2(303)は、第2−1、2−2ブロックとも1色データで、かつ、同一ブロックが連続していると判定したものとする。ここでは、第2−2ブロックに対する処理結果は、2通り考えられる。レジスタ部313の第二圧縮部301から取得した実行制御情報から、画像圧縮部2(303)が、第二圧縮部301において符号化処理を実行するように設定されていると判定した場合、画像圧縮部2(1101)では第1色の色データを出力する。したがって、第2−2ブロックに対して画像圧縮部2で処理した結果は、第2−2ブロック1104に示すように、パターンフラグFと第1色の色データとを出力する。そして、パターンフラグと第1色の色データとを記憶領域であるメモリ106に格納する。これは、図10のS1011にてYESである場合を意味し、第1色生成オンモードとなる。
Next, the result of executing the image compression unit 1 (302) will be described. The color data of the first color output from each block of the image compression unit 1 (1100) indicates an image with half the resolution of the original image, and this half-resolution image is divided into 2 × 2 pixels. The block is stored in the image buffer 1 (1102). The 2-1 block is composed of color data of the first color generated from the 1-1, 1-2, 1-33, and 1-34 blocks. The 2-2 block includes color data of the first color generated from the 1-3, 1-4, 1-35, and 1-36 blocks. In the example of FIG. 11, it is assumed that the image compression unit 2 (303) determines that both the 2-1 and 2-2 blocks are one-color data and the same block is continuous. Here, there are two possible processing results for the 2-2 block. When it is determined from the execution control information acquired from the
一方、画像圧縮部2(303)が、第二圧縮部301において圧縮符号化を実行しないように設定されていると判定した場合、画像圧縮部2(1101)では、第2−2ブロック1103に示すように、パターンフラグFのみ出力し、色データは出力しない。従って、パターンフラグのみを記憶領域であるメモリ106に格納する。これは、図10のS1011にてNOである場合を意味し、第1色生成オフモードとなる。
On the other hand, if the image compression unit 2 (303) determines that the
このように、画像圧縮処理が最終処理であるか否かの制御情報に基づいて、前のブロックと同じ色配置のブロックに対して、リピートフラグとともに第1色情報を生成するか否かの切り替え制御を行う。本発明では、これらの制御情報は、レジスタ部313から出力される制御信号314を有するものとしているが、後述するパケットのヘッダ部1303に記述されていても良い。
In this way, based on the control information indicating whether or not the image compression process is the final process, whether or not to generate the first color information together with the repeat flag for the block having the same color arrangement as the previous block. Take control. In the present invention, the control information includes the
[データ処理方法]
続いて、図12〜図14を用いて、文書1ページのラスタ画像1200を、所定サイズ(例えば64×64画素)のタイル画像1201に分割し、タイル画像単位で第一圧縮部300および第二圧縮部301による処理を実行した場合のデータ処理方法について説明する。なお、タイル画像1201は、複数の2×2画素ブロックから構成されているものとする。第一圧縮部300では、タイル画像1201を2x2画素のブロック1202単位に、上述した圧縮処理を行い、バッファ311に格納する。パケット情報生成部312は、図13に示すように、パケット化処理を行う。
[Data processing method]
Subsequently, using FIG. 12 to FIG. 14, the
パケット情報は、圧縮データ部1302とヘッダ部1303とからなる。さらに、ヘッダ部1303には、対象タイルの画像圧縮結果に関する情報1304が記載されている。ページIDとは、現在処理を実行しているページ情報を示すものである。タイル座標とは、ラスタ画像1200に示されているように各タイルに対して、主走査方向順に番号を振ったものである。色空間は圧縮時における元画像の色空間である。画素データのビット数は、1画素1色あたりのビット数である。
The packet information includes a
データサイズは、第1色または符号化データ部のデータサイズおよび、第2/3/4色のデータサイズ情報である。属性情報は、各画素データの特性を示すものであり、写真や文字情報などの情報を画素データと共に保持しているかいないかを示すフラグ情報である。圧縮フラグとは、第一圧縮部300による処理を実行する際に、周辺ブロック情報を参照して、色情報の圧縮処理を行い、データサイズの圧縮を行ったか否かを示すフラグ情報である。圧縮データ種別とは、第一圧縮部300における処理のみか、第二圧縮部301までの処理を実行したかを示すフラグ情報である。なお、ヘッダ部1303に含まれる情報は上記に限定されるものではなく、必要に応じて追加しても良い。
The data size is the data size of the first color or the encoded data portion and the data size information of the 2/3/4 color. The attribute information indicates the characteristics of each pixel data, and is flag information indicating whether information such as photographs and text information is held together with the pixel data. The compression flag is flag information indicating whether or not the color information is compressed by referring to the peripheral block information when the processing by the
このように第一圧縮部300、第二圧縮部301、パケット情報生成部312によって生成されたデータがメモリ空間上に書き込まれる情報を図14に示す。パケット情報アドレス部には、各タイルのタイル座標と、各パケットのサイズ情報が書き込まれている。また、先頭パケットアドレスから各タイルを圧縮したデータが順に書かれている。CPU105は、メモリ106に書き込まれたパケット情報の先頭アドレスと、先頭パケットアドレス情報をDMACに指示する。
FIG. 14 shows information in which data generated by the
DMACは、パケット情報アドレス部から、各タイルのデータサイズを読み出す。続いて、ヘッダ部1303から、前述した情報を読み出し、パターンフラグ、第1色または符号化データ、第2/3/4色情報を各々読み出し、色処理部213などの画像処理部にデータを転送する。
The DMAC reads the data size of each tile from the packet information address part. Subsequently, the above-described information is read out from the
このような画像処理システムにおける本発明の圧縮方法について、後述する実施形態に用いて説明する。 The compression method of the present invention in such an image processing system will be described using an embodiment described later.
[プリント処理]
第一実施形態における、実行するジョブの種類、つまり、画像のデータパスに応じて、パターンフラグと第1色情報の生成方法が変わることを説明する。図15にプリント処理を実行する場合のデータパスを示す。PCが出力したPDLデータは、CPU105によってインタープリットされ、ディスプレイリストとしてメモリ106に格納される。続いて、レンダリング部251は、メモリからディスプレイリストを読み出し、レンダリングを行う。レンダリング部251は、ラスタ展開した画像を圧縮部252に転送する。
[Print processing]
In the first embodiment, it will be described that the generation method of the pattern flag and the first color information changes according to the type of job to be executed, that is, the data path of the image. FIG. 15 shows a data path for executing the printing process. The PDL data output from the PC is interpreted by the
プリント処理の場合、圧縮部252は、第一圧縮部300、および第二圧縮部301で圧縮処理を行い、第1色の色データに対してJPEG符号化を行って圧縮率を向上させるように設定する。そのため、第一圧縮部300の画像圧縮部1および2(302、303)は、同一ブロックが連続して出現する場合、パターンフラグとして繰り返しを示す0xFを出力するとともに、第1色の色データも出力する。そして、第二圧縮部301は当該出力された第1色の色データに対してJPEG符号化を行う。圧縮部252は、圧縮データをDMAC253に転送し、DMAC253はメモリ106に第一圧縮部300および第二圧縮部301により実行されたパケット(以下、「第二圧縮パケット」と呼ぶ)を書き込む。
In the case of print processing, the
CPU105は、さらにDMAC241の書き込み動作とDMAC253の読み出し動作が連動するように制御情報を入力する。例えば、レンダリング部251が一定のライン数分のラスタ画像を生成し、第二圧縮パケットがメモリ106に格納されると、DMAC241が読み出しを開始する制御を行うことが可能である。DMAC241は、メモリ106に格納された第二圧縮パケットを順次、ディスクスプール242に転送し、ディスクアクセスコントローラ243を介して、HDD記憶部107に第二圧縮パケットを格納する。
The
CPU105は、プリントする1ページ分の第二圧縮パケットがHDD記憶部107に格納されていることを検知してプリンタ103からのプリント要求があると、HDD記憶部107からメモリ106へデータを転送する指示を行う。CPU105は、読み出しDMAC221にメモリ106からデータを読み出す制御を行う。DMAC221は、展開部222にデータを転送し、展開部222は圧縮データをラスタ情報に復元する。ここでは、第二復号化部でJPEG部分を復号化し、更に、第一復号化部でパターンフラグと第1色の色データと第2/3/4色の色データとに基づいて、ラスタ画像に復号化し、プリント用画像処理部223に転送する。プリント用画像処理部223のプリンタ103への転送部は、プリンタへデータを転送する。
When the
次に、別のプリント処理のジョブについて説明する。図16を用いて、1200dpiでレンダリング後に、300dpi相当の画像に圧縮処理を行い、色処理部213による色処理を実行してからプリントする場合のデータパスについて説明する。色処理部213は、第一圧縮部300の圧縮処理データ、つまりは、第1色および第2/3/4色データを参照して、直接色処理を実行できるようにするため、第二圧縮部301による圧縮処理を行わないように設定する。第二圧縮部301の処理を行わないように設定することで、圧縮および復号化処理の負荷も軽減できる。この時、CPU105は、レンダリングの後にメモリ106へ格納した後、圧縮部252は、第二圧縮部301による圧縮を行わない制御を行う。
Next, another print processing job will be described. With reference to FIG. 16, a description will be given of a data path in a case where after rendering at 1200 dpi, compression processing is performed on an image corresponding to 300 dpi, color processing by the
このとき、圧縮部252の第一圧縮部300の画像圧縮部1(302)は、画像圧縮部2(303)の処理を実行する制御情報を取得しているため、前のブロックと同じ色配置のブロックに対して、パターンフラグ(0xF)と第1色の色データ(第1色情報)とを生成する。一方、画像圧縮部2(303)は、第二圧縮部301による圧縮を行わない制御情報を取得しているため、同じ色配置のブロックに対しては、パターンフラグ(0xF)のみ生成し、第1色情報を生成しない。上記の制御情報は、CPU105がレジスタ部313にその処理内容を指定する。パケット情報生成部312は、CPU105がレジスタ部313に指定した情報から、ヘッダ部1303の圧縮データ種別に「第一圧縮パケット」情報であることを付加することで、展開部/圧縮部212が動作可能となる。
At this time, since the image compression unit 1 (302) of the
展開部/圧縮部212は、DMAC211から転送されたデータを解析するパケット情報解析部(不図示)がヘッダ部1303に含まれる情報を解析し、第二復号化部の処理を行わない制御を行う。第一復号化部の画像展開部2(不図示)は、同一ブロックに対して第1色データが削除されていると判断して動作する。画像展開部1(不図示)は、同一ブロックに対してもデータが生成されていると判断して動作する。色処理部213の処理が実行された後のプリント画像パスは、レンダリング後の圧縮後のデータパスと同様である。
The decompressing /
[処理フロー]
上述した図15および図16のような各動作における圧縮部の動作フローを図17に示す。処理が開始されると、画像圧縮部1および2(302、303)、パケット情報生成部312は、CPU105がレジスタ部313に指示した制御情報を受信する(S1701)。画像圧縮部1および2(302、303)は、受信情報から第一圧縮部300のみ実行するモードか否かを判断する(S1702)。第一圧縮部300の処理のみ実行する場合(S1702にてYES)、画像圧縮部1(302)は、後段に画像圧縮部2(303)処理があると判断し、前のブロックと同一の色配置のブロックに対しては、パターンフラグと第1色の色データ(第1色情報)とを生成する制御を行う(S1703)。なお、前述したように、前のブロックと同一の色配置でないブロックに対しては、パターンフラグと第1色の色データと第2/3/4色の色データとが生成される。また、画像圧縮部2(303)は、第二圧縮部301の処理を行わないように設定されていると判断し、前のブロックと同一の色配置のブロックに対しては、パターンフラグ“F”のみを生成し、第1色情報を生成しない(S1704)。
[Processing flow]
FIG. 17 shows an operation flow of the compression unit in each operation as shown in FIGS. 15 and 16 described above. When the processing is started, the
一方、第二圧縮部301の処理を実行するように設定されている場合(S1702にてNO)、画像圧縮部1および2(302、303)は、前のブロックと同一の色配置のブロックに対してはパターンフラグと第1色の色データとを生成する(S1705、S1706)。なお、前述したように、前のブロックと同一の色配置でないブロックに対しては、パターンフラグと第1色の色データと第2/3/4色の色データとが生成される。第二圧縮部301の第二圧縮方式判定部308は、第一圧縮部300における処理が終了した情報を受信すると、第2/3/4色情報のデータ量を判断する(S1707)。ここでのデータ量の判断は、所定の閾値に基づき、その閾値に対する大小で判断する。なお、閾値は予め定義されているものとし、その値は画像の特性に合せて変更されても良い。第2/3/4色情報のデータ量が多ければ(S1707にてYES)、非可逆符号化方式を選択し、非可逆符号化部305において、画像バッファ2(304)のデータの非可逆符号化処理を行う(S1708)。一方、第2/3/4色情報のデータ量が少なければ(S1707にてNO)、可逆符号化方式を選択し、可逆符号化部306において、画像バッファ2(304)のデータの可逆符号化処理を行う(S1709)。S1704、S1708、S1709の処理の後、パケット情報生成部312が第一圧縮部300及び第二圧縮部301の処理が終了したことを判断して、パケット情報を生成する(S1710)。以上により、本処理フローを終了する。
On the other hand, when the processing of the
以上、本発明により、処理コストを抑えつつ、高解像度画像データに対して高い圧縮率によって符号化を実現することができる。また、符号化後に、その圧縮データのまま画像処理を容易に行うことが可能になる。 As described above, according to the present invention, it is possible to realize encoding with high compression rate for high resolution image data while suppressing processing cost. In addition, it is possible to easily perform image processing with the compressed data after encoding.
<第二実施形態>
第一実施形態にて述べた図3に示した第一圧縮部300の構成の場合、画像圧縮は、2段階までしか対応できないことになる。例えば、1200dpi→600dpi→300dpiなどである。しかし、解像度の異なる複数の文書データ(高解像度のデータと中解像度のデータ)を一様に300dpiに揃えて、製本のための画像処理などを行えるようにするため、第二実施形態の装置では図18に示す構成を追加する。一つは、図18のバッファ311から画像圧縮部1(302)に対するデータパス1801である。もう一つは、画像圧縮部1(302)の出力データである画像バッファ1(320)および、画像圧縮部2(303)の出力データである画像バッファ2(304)の出力を画像圧縮部1(302)へフィードバックするデータパス1802である。さらに、画像圧縮部1および2(302、303)に画像圧縮処理を省略する制御も追加する。そうすることで3段階(2400dpi→300dpiなど)以上の画像の解像度圧縮処理が可能となる。
<Second embodiment>
In the case of the configuration of the
[圧縮処理]
メモリ106とHDD記憶部107上に格納されている2つの異なる解像度のデータを同解像度に揃えて一つのデータに統合(製本)処理を行う処理について説明する。図19は、2400dpiでレンダリングされた第二圧縮パケットと、1200dpiでJPEGイメージを圧縮した第二圧縮パケットを一つのデータに変換する例である。まず、DMAC211は、メモリ106に格納されたレンダリング後の第二圧縮パケットデータを読み出し、展開部/圧縮部212へ転送する。展開部/圧縮部212は、色処理部213による処理後、画像圧縮処理を行う。この時、第一圧縮部300は、2400dpiで生成されたデータを画像圧縮部1→画像圧縮部1→画像圧縮部2の順で合計3回の圧縮処理を実行し、第二圧縮部301は、圧縮処理を行わず、第一圧縮パケットのままメモリ106へ転送する。画像圧縮部1および2の処理回数の配分は上記に述べた以外も可能である。
[Compression processing]
A process of integrating (binding) the data of two different resolutions stored in the
一方、HDD記憶部107に格納されたJPEGイメージの第二圧縮パケットデータは、展開処理、および色処理が実行された後、第一圧縮部300が、画像圧縮部1→画像圧縮部2の順で、第一実施形態と同様に圧縮処理を行い、メモリ106へ格納する。その結果、300dpiに画像圧縮された第一圧縮パケットが、メモリ106上に格納される。そして、CPU105が、図14で前述したパケット情報を書き換えることでデータが統合される。
On the other hand, the second compressed packet data of the JPEG image stored in the
本実施形態のように、第一圧縮部300に対して、圧縮後の最終解像度情報を制御情報として使用する場合の圧縮部の処理フローについて図20を用いて説明する。なお、図17の処理フローと同一の箇所については説明を省略し、差分のみを説明する。まず、第一圧縮部300の処理のみ実行する場合、画像圧縮部1(302)は、最終圧縮解像度処理であるかを判定する(S2001)。最終画像圧縮処理の場合は(S2001にてYES)、画像圧縮部1(302)は処理を行わず、画像圧縮部2(303)が圧縮処理を実行する。最終画像圧縮処理でない場合(S2001にてNO)、画像圧縮部1(302)での処理を行った後(S1703)、画像圧縮部2(303)が、画像圧縮部2(303)の次の画像圧縮が最終処理であるか否かを判定する(S2002)。最終処理でない場合(S2002でNo)は、画像圧縮部1(302)での処理を繰り返し行う。第二圧縮部301で圧縮符号化を行わないので、S1704においては、前のブロックと同一の色配置のブロックに対しては、第1色の色データを出力せずに、パターンフラグのみ出力する。
A processing flow of the compression unit when the final resolution information after compression is used as control information for the
一方、第二圧縮部301での圧縮符号化処理を実行する場合においても、同様に最終圧縮解像度であるか否かの判定を行う(S2003、S2004)。この場合、第二圧縮部301で第1色の圧縮符号化処理を行うため、S1706においては、前のブロックと同一の色配置のブロックに対しても第1色情報は生成する。
On the other hand, even when the compression encoding process is performed in the
最終解像度であるか否かの判定は、画像圧縮部1(302)の処理を何度実行するかの制御として用いられる。つまり、最終圧縮解像度になるまでは、画像圧縮部1(302)により繰り返し圧縮処理が実施される(S1703もしくはS1705)。 The determination of whether or not the resolution is the final resolution is used as a control of how many times the processing of the image compression unit 1 (302) is executed. That is, until the final compression resolution is reached, the image compression unit 1 (302) repeatedly performs compression processing (S1703 or S1705).
第一実施形態の効果に加え、高解像度画像データに対して更に高い圧縮率によって符号化を実現することができる。また、符号化後に、その圧縮データのまま画像処理を容易に行うことが可能になる。 In addition to the effect of the first embodiment, encoding can be realized with higher compression rate for high-resolution image data. In addition, it is possible to easily perform image processing with the compressed data after encoding.
<第三実施形態>
第一実施形態及び第二実施形態では、動作モードに基づいて、第二圧縮部301による処理を行うか否かを分けていた。しかし、図21および図22において示すように、CPU105が第二圧縮部301による処理を行うように制御をする場合においても、第二圧縮部301の処理を行わずに、第一圧縮部300による処理結果のままメモリ106へ格納した方が良いケースがある。第一及び第二実施形態では、第二圧縮パケットを生成する場合、図13の第1色格納部or符号化データ格納部は、第二圧縮部301で圧縮符号化後のデータを格納する符号化データ格納部として機能していた。それに対し、第三実施形態では、第二圧縮部301による処理を行うように設定されていたとしても、タイルの特性により第二圧縮部301で圧縮符号化を行っていないデータを格納する第1色格納部として機能する場合があることを意味している。
<Third embodiment>
In the first embodiment and the second embodiment, whether to perform processing by the
図21は、単色のタイル2101(例えば、64x64画素が白一色のタイル)の場合における各圧縮処理を行った後のデータ量を示している。例えば、第一圧縮部300の画像圧縮部1(302)の後は、全ブロックが同一であるにも関わらず、画像圧縮部2(303)の処理があるため、第1色部は3072byteとなる。続いて、画像圧縮部2(303)処理を実行すると、第1色部は128byteとなり、第二圧縮部301を実行することで、符号化データ部は30byteまで圧縮される。
FIG. 21 shows the amount of data after performing each compression process in the case of a single color tile 2101 (for example, a tile of 64 × 64 pixels of one white color). For example, after the image compression unit 1 (302) of the
一方、図22のような制御を追加することで、第1色部(と符号化データ部との兼用格納部)のデータ量はさらに削減できることを示す。画像圧縮部1(302)にカウンタ部2201を追加し、同一ブロックが連続した回数をカウントする機能を持たせる。そこで、画像圧縮部2(303)は、圧縮処理実行前にカウンタ情報2202を読み出す。画像圧縮部2(303)は、連続したブロックの数が、予め設定された閾値よりも大きいブロック数を示す場合は、第二圧縮部301の処理を実行するように指定されていても、画像圧縮部2(303)は、自身を最終圧縮とするように変更する。すると、画像圧縮部2(303)は、第1色生成オフモードに設定するため、第1色部を3byteまで圧縮(2203)することが可能である。この場合は、第二圧縮部301にて処理を行わずにデータを生成(2204)し、第一圧縮部300の処理モード情報をパケットのヘッダ部に付加し、第1色部情報としてDMAC203へ転送する。この時は、第一および二圧縮パケットが、1ページの中に混在してメモリ106に格納される。なお、連続するブロック数に対する閾値については、画像の特性に合せて定義されても良いし、固定値を用いても良い。
On the other hand, it is shown that by adding the control as shown in FIG. 22, the data amount of the first color portion (and the combined storage portion for the encoded data portion) can be further reduced. A
図23において、さらに圧縮方法の制御情報を変更するケースを追加したフローを示す。なお、図20と重複する部分については説明を省略し、差異のみを述べる。画像圧縮部2(303)は、次の画像圧縮が最終処理と判断される場合、画像圧縮部1(302)における同一ブロックの連続数を判定する(S2301)。ここでは、同一ブロックの連続数が所定の閾値以上であるか否かを判定する。連続数が所定の値より小さければ、S1706へ進む。画像圧縮部2(302)は、予め設定された以上の連続数であれば(S2301にてYES)、圧縮制御情報を変更する(S2302)。この場合、第1色生成オフモードで動作する。 FIG. 23 shows a flow in which a case of changing the control information of the compression method is further added. In addition, description is abbreviate | omitted about the part which overlaps with FIG. 20, and only a difference is described. When it is determined that the next image compression is the final process, the image compression unit 2 (303) determines the number of consecutive identical blocks in the image compression unit 1 (302) (S2301). Here, it is determined whether or not the number of consecutive identical blocks is greater than or equal to a predetermined threshold. If the continuous number is smaller than the predetermined value, the process proceeds to S1706. The image compression unit 2 (302) changes the compression control information (S2302) if the number of continuous values is greater than or equal to the preset number (YES in S2301). In this case, the first color generation off mode is operated.
なお、1段階の画像圧縮を行う場合は、画像圧縮部1(302)の動作にカウントモードを追加する。カウントモードとは、1回目の画像圧縮が最終処理である場合(S2003にてYES)、画像圧縮部1(302)が連続する同一ブロックをカウントする機能のみを動作させ、データ自体を処理しないことで、同一ブロックの連続数を判定する(S2303)。また、図示していないが、カウントモードを画像圧縮部2(303)に設けることも可能である。 When performing one-stage image compression, a count mode is added to the operation of the image compression unit 1 (302). In the count mode, when the first image compression is the final processing (YES in S2003), the image compression unit 1 (302) operates only the function of counting the same continuous block and does not process the data itself. Thus, the number of consecutive identical blocks is determined (S2303). Although not shown, it is also possible to provide a count mode in the image compression unit 2 (303).
以上、第一および第二実施形態の効果に加え、高解像度画像データに対して更に高い圧縮率によって符号化を実現することができる。 As described above, in addition to the effects of the first and second embodiments, encoding can be realized with higher compression rate for high-resolution image data.
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
<Other embodiments>
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
Claims (9)
前記分割手段で分割された処理対象のブロック内の色の配置が、1つ前に処理対象になったブロック内の色の配置と同じであるか否か判定する判定手段と、
前記処理対象のブロック内の各画素の色を比較することにより、当該処理対象のブロックに含まれる色の配置パターンを示すパターンフラグを特定する特定手段と、
前記処理対象のブロック内の予め定義された位置の画素の色を第1色の色データとして抽出し、更に、当該ブロックに含まれる前記第1色の色データ以外の色データを抽出する抽出手段と、
前記パターンフラグ、及び、前記色データのうち少なくとも一方を出力する出力手段と
を有し、
前記出力手段は、
前記判定手段で同じでないと判定された場合は、前記特定手段で特定された当該処理対象のブロックに含まれる色の配置パターンを示すパターンフラグと、前記抽出手段で抽出された前記処理対象のブロック内の前記第1色の色データと、前記処理対象のブロック内の前記第1色の色データ以外の色データとを出力し、
前記判定手段で同じであると判定され、且つ、後段の処理で前記処理対象のブロックの前記第1色の色データを用いた処理が行われる場合は、当該処理対象のブロック内の色の配置が1つ前に処理対象になったブロック内の色の配置と同じであることを示すパターンフラグと、前記処理対象のブロックの前記第1色の色データとを出力し、
前記判定手段で同じであると判定され、且つ、後段の処理で前記処理対象のブロックの前記第1色の色データを用いた処理が行われない場合は、当該処理対象のブロック内の色の配置が1つ前に処理対象になったブロック内の色の配置と同じであることを示すパターンフラグを出力する
ことを特徴とする画像処理装置。 A dividing unit that divides image data into blocks of a predetermined size, and sequentially processes the divided blocks;
Determining means for determining whether the color arrangement in the processing target block divided by the dividing means is the same as the color arrangement in the previous processing target block;
A specifying unit for specifying a pattern flag indicating an arrangement pattern of a color included in the processing target block by comparing the color of each pixel in the processing target block;
Extraction means for extracting the color of a pixel at a predefined position in the processing target block as color data of the first color, and further extracting color data other than the color data of the first color included in the block When,
An output means for outputting at least one of the pattern flag and the color data;
The output means includes
If it is determined by the determining means that they are not the same, a pattern flag indicating an arrangement pattern of colors included in the processing target block specified by the specifying means, and the processing target block extracted by the extracting means Output color data other than the color data of the first color in the block to be processed;
When it is determined by the determination means that the same is performed, and processing using the first color data of the block to be processed is performed in subsequent processing, the arrangement of colors in the block to be processed Output a pattern flag indicating that the color arrangement in the block to be processed is the same as the previous one, and the color data of the first color of the block to be processed,
When it is determined by the determination means that the same is performed, and the process using the color data of the first color of the block to be processed is not performed in the subsequent process, the color of the block in the block to be processed An image processing apparatus that outputs a pattern flag indicating that an arrangement is the same as an arrangement of colors in a block that has been processed immediately before.
前記カウント手段によりカウントされた前記連続数が所定の閾値以上である場合、前記後段の処理で、前記可逆符号化処理あるいは非可逆符号化処理を実行しないように設定を変更する変更手段と
を更に有することを特徴とする請求項3に記載の画像処理装置。 In the subsequent processing, the lossless encoding process or the lossy encoding process is set to be performed on the image composed of the color data of the first color output from each of the divided blocks. A counting unit that counts a continuous number of consecutive blocks having the same color arrangement as the previous processing target block;
A changing means for changing the setting so that the lossless encoding process or the lossy encoding process is not executed in the subsequent processing when the number of consecutive values counted by the counting means is equal to or greater than a predetermined threshold value. The image processing apparatus according to claim 3, further comprising:
判定手段が、前記分割工程で分割された処理対象のブロック内の色の配置が、1つ前に処理対象になったブロック内の色の配置と同じであるか否か判定する判定工程と、
特定手段が、前記処理対象のブロック内の各画素の色を比較することにより、当該処理対象のブロックに含まれる色の配置パターンを示すパターンフラグを特定する特定工程と、
抽出手段が、前記処理対象のブロック内の予め定義された位置の画素の色を第1色の色データとして抽出し、更に、当該ブロックに含まれる前記第1色の色データ以外の色データを抽出する抽出工程と、
出力手段が、前記パターンフラグ、及び、前記色データのうち少なくとも一方を出力する出力工程と
を有し、
前記出力工程において、
前記判定工程で同じでないと判定された場合は、前記特定工程で特定された当該処理対象のブロックに含まれる色の配置パターンを示すパターンフラグと、前記抽出工程で抽出された前記処理対象のブロック内の前記第1色の色データと、前記処理対象のブロック内の前記第1色の色データ以外の色データとを出力し、
前記判定工程で同じであると判定され、且つ、後段の処理で前記処理対象のブロックの前記第1色の色データを用いた処理が行われる場合は、当該処理対象のブロック内の色の配置が1つ前に処理対象になったブロック内の色の配置と同じであることを示すパターンフラグと、前記処理対象のブロックの前記第1色の色データとを出力し、
前記判定工程で同じであると判定され、且つ、後段の処理で前記処理対象のブロックの前記第1色の色データを用いた処理が行われない場合は、当該処理対象のブロック内の色の配置が1つ前に処理対象になったブロック内の色の配置と同じであることを示すパターンフラグを出力する
ことを特徴とする画像処理方法。 A dividing unit that divides the image data into blocks of a predetermined size and sequentially processes the divided blocks;
A determining step for determining whether or not the color arrangement in the block to be processed divided in the dividing step is the same as the color arrangement in the block to be processed immediately before;
A specifying step for specifying a pattern flag indicating an arrangement pattern of colors included in the processing target block by comparing the color of each pixel in the processing target block;
The extracting means extracts the color of a pixel at a predefined position in the processing target block as color data of the first color, and further extracts color data other than the color data of the first color included in the block. An extraction process to extract;
An output unit includes an output step of outputting at least one of the pattern flag and the color data;
In the output step,
If it is determined in the determination step that they are not the same, a pattern flag indicating a color arrangement pattern included in the processing target block specified in the specifying step, and the processing target block extracted in the extraction step Output color data other than the color data of the first color in the block to be processed;
When it is determined that the same in the determination step and processing using the color data of the first color of the processing target block is performed in the subsequent processing, the arrangement of colors in the processing target block Output a pattern flag indicating that the color arrangement in the block to be processed is the same as the previous one, and the color data of the first color of the block to be processed,
When it is determined that the same in the determination step and the process using the color data of the first color of the block to be processed is not performed in the subsequent process, the color of the block in the process target block An image processing method, comprising: outputting a pattern flag indicating that an arrangement is the same as an arrangement of colors in a block to be processed immediately before.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010196094A JP5643578B2 (en) | 2010-09-01 | 2010-09-01 | Image processing apparatus, image processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010196094A JP5643578B2 (en) | 2010-09-01 | 2010-09-01 | Image processing apparatus, image processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012054786A true JP2012054786A (en) | 2012-03-15 |
JP5643578B2 JP5643578B2 (en) | 2014-12-17 |
Family
ID=45907657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010196094A Expired - Fee Related JP5643578B2 (en) | 2010-09-01 | 2010-09-01 | Image processing apparatus, image processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5643578B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5408542A (en) * | 1992-05-12 | 1995-04-18 | Apple Computer, Inc. | Method and apparatus for real-time lossless compression and decompression of image data |
US5787192A (en) * | 1994-09-27 | 1998-07-28 | Kabushikaisha Equos Research | Image data compression apparatus and image data communication system |
JP2006238291A (en) * | 2005-02-28 | 2006-09-07 | Ricoh Printing Systems Ltd | Coding processing method of color image information, decoding processing method and printer using the same |
JP2010118760A (en) * | 2008-11-11 | 2010-05-27 | Canon Inc | Image processing apparatus |
JP2010141533A (en) * | 2008-12-10 | 2010-06-24 | Canon Inc | Image encoding apparatus and control method thereof |
-
2010
- 2010-09-01 JP JP2010196094A patent/JP5643578B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5408542A (en) * | 1992-05-12 | 1995-04-18 | Apple Computer, Inc. | Method and apparatus for real-time lossless compression and decompression of image data |
US5787192A (en) * | 1994-09-27 | 1998-07-28 | Kabushikaisha Equos Research | Image data compression apparatus and image data communication system |
JP2006238291A (en) * | 2005-02-28 | 2006-09-07 | Ricoh Printing Systems Ltd | Coding processing method of color image information, decoding processing method and printer using the same |
JP2010118760A (en) * | 2008-11-11 | 2010-05-27 | Canon Inc | Image processing apparatus |
JP2010141533A (en) * | 2008-12-10 | 2010-06-24 | Canon Inc | Image encoding apparatus and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP5643578B2 (en) | 2014-12-17 |
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 | |
JP5595151B2 (en) | Image processing apparatus, compression method in image processing apparatus, and program | |
US8452083B2 (en) | Image processing apparatus, image processing method, and computer-readable medium | |
US8953220B2 (en) | Image processing for rotation of compressed image data | |
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 | |
JP2000295113A (en) | Huffman coded data compressor | |
JP2008104164A (en) | Image processor, and image processing method | |
JP2006101010A (en) | Image processing apparatus, image processing method, and program, and storage medium | |
JP2008042685A (en) | Image processor and processing method, computer program and computer readable storage medium | |
JP5643578B2 (en) | Image processing apparatus, image processing method, and program | |
US8494261B2 (en) | Image processing apparatus, image processing method, and computer-readable medium | |
JP2008078826A (en) | Image processor and its control method | |
JP5595142B2 (en) | Image processing apparatus and image processing method | |
US20110205565A1 (en) | Image processing apparatus and method that perform multiple image processes, and storage medium | |
JP5606223B2 (en) | Image processing apparatus and processing method thereof | |
JP2012095227A (en) | Image processing system, image processing method, and program | |
JP2013085173A (en) | Image processing device and control method therefor | |
JP2014099742A (en) | Color/monochromatic determination | |
JP2013121154A (en) | Image processing device | |
JP2012074897A (en) | Image processing device, image processing method, and program | |
JP2004159069A (en) | Control method for image processor | |
JP2012054789A (en) | Image processor, image processing method, and program | |
JP2007166404A (en) | Image processor, image processing method, computer program, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140718 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140911 |
|
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: 20141003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141031 |
|
LAPS | Cancellation because of no payment of annual fees |